WO2004033159A1 - ロボット制御アルゴリズム構築装置、ロボット制御アルゴリズム構築プログラム、ロボット制御装置、ロボット制御プログラム、およびロボット - Google Patents

ロボット制御アルゴリズム構築装置、ロボット制御アルゴリズム構築プログラム、ロボット制御装置、ロボット制御プログラム、およびロボット Download PDF

Info

Publication number
WO2004033159A1
WO2004033159A1 PCT/JP2002/010622 JP0210622W WO2004033159A1 WO 2004033159 A1 WO2004033159 A1 WO 2004033159A1 JP 0210622 W JP0210622 W JP 0210622W WO 2004033159 A1 WO2004033159 A1 WO 2004033159A1
Authority
WO
WIPO (PCT)
Prior art keywords
control algorithm
neuron
robot
unit
definition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2002/010622
Other languages
English (en)
French (fr)
Inventor
Fumio Nagashima
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004542801A priority Critical patent/JPWO2004033159A1/ja
Priority to PCT/JP2002/010622 priority patent/WO2004033159A1/ja
Priority to EP02775338A priority patent/EP1552908A4/en
Publication of WO2004033159A1 publication Critical patent/WO2004033159A1/ja
Priority to US11/028,311 priority patent/US7072741B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1602Program controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33025Recurrent artificial neural network
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39313Ann for joint control, ann for trajectory optimization

Definitions

  • Robot control algorithm construction device Robot control algorithm construction program Robot control device, mouth pot control program, and robot Technical field
  • the present invention relates to a robot control algorithm construction device for constructing a control algorithm for controlling the operation of a robot, a robot control algorithm construction program for operating an information processing device such as a computer as a robot control algorithm construction device, and a robot operation.
  • the present invention relates to a robot control device that controls a robot, a robot control program that causes an information processing device such as a computer to operate as a robot control device, and a robot. Background art
  • Non-Patent Documents 1 and 2 studies on mouth pots that coexist with humans have been actively conducted (for example, see Non-Patent Documents 1 and 2). In the near future, it will be easier to imagine a landscape where robots have entered the city and are working to help humans. And we can imagine that each of those robots is doing a completely different task.
  • biped walking robots which have been developed in recent years, are configured to operate using a control algorithm called the ZMP method (ZoroMomentumPointmethod).
  • FIG. 1 is a diagram illustrating the principle of the ZMP method.
  • the lopot When the lopot is stationary, it can be kept standing by raising the upper body so that the center of gravity of the lopot is just above the sole. On the other hand, if the mouth pot tries to move forward, for example, and the center of gravity is directly above the soles, it will fall back.
  • the ZMP dynamic center of gravity
  • a restoring force acts on it, and also consider the reaction force from the floor and the center of gravity of the robot, and set the target point To The degree of inclination of the upper body is adjusted so that Z MP is positioned. In this way, by controlling the ZPM (dynamic center of gravity) to be always at the target position, the bipedal walking robot can move forward.
  • the control algorithm based on the MZP method is a control algorithm that requires extremely complicated mechanical and mathematical operations, and its development requires a great deal of cost and time. Also, when this ZMP method is adopted, it is a way of walking for a completed Noh actor, and even one way of walking tends to have a slightly different impression from 'humanness'.
  • a neural network is known as a typical example of a learning system that learns by itself.
  • FIG. 2 is a diagram showing a model of a layered neural network (LNN: Layered Neural1 Network).
  • neurons are arranged in the input layer, hidden layer, and output layer. All inputs to this LNN are received by neurons in the input layer, and the output of each neuron in the input layer is output from each neuron in the hidden layer. The output from each neuron in the hidden layer is transmitted to the neurons in the output layer, and the output from the neuron in the output layer becomes the output of this LNN.
  • FIG. 3 is a diagram showing a model of each neuron constituting the LNN shown in FIG. 2, and FIG. 4 is a diagram showing a sigmoid function defining the input / output relationship of the neuron.
  • X 2 have a plurality of inputs X from the first-stage, X 3, if ..., there is, Let W 2 , W 3 ,..., Wi be the strength of each connection.
  • the BP method Back Propagation method
  • various learning methods such as so-called supervised and unsupervised learning.
  • This LNN basically filters the input and outputs it. It is not possible to appropriately determine the filter coefficients (the above-mentioned coupling coefficients W 2 , W 3 ,..., W,) by the BP method. Although it is possible, this LNN cannot generate an output corresponding to, for example, periodic motion or aperiodic motion, and is essentially unsuitable for controlling the motion of a robot.
  • a network (RNN: Record Neural Ne two rk) is known.
  • FIG. 5 is a diagram showing an RNN model.
  • this RNN has been actively studied, for example, as in the above-mentioned LNN and BP methods, it has been used as a method of combining neurons (deciding the route of signal propagation) and learning (deciding the value of a coefficient). No definitive method has been found so far.
  • Non-Patent Document 1 Janang Shan, Fumi o Nag ash ima: Biol og ica 11 y Inspired Spin in omo motio on Contro 11 erfor Human oid Robot, 19th Annual Meeting of the Robotics Society of Japan, P. 517-518 (2001)
  • the present invention provides a lopot control algorithm constructing apparatus and a lopot control algorithm constructing program capable of greatly reducing the cost and time required for creating a control algorithm as compared with a conventional method for solving a dynamic equation such as the MZP method. It is an object of the present invention to provide a low-cost, low-cost mouth pot control device, a robot control program, and a low cost pot.
  • the robot control algorithm construction device of the present invention that achieves the above object achieves the operation of a robot provided with at least one joint that variably changes the relative position or posture of two members and connects the two members.
  • a robot control algorithm construction device that constructs a control algorithm for control
  • a definition storage unit that stores a definition of a new unit that generates an output with an analog delay including zero delay based on the input;
  • definitions stored in the definition storage unit include at least one delay neuron that has a plurality of neurons and generates an output with an analog delay excluding zero delay among the plurality of neurons.
  • a control algorithm generation unit configured to generate a control algorithm including a coefficient whose value is undetermined, constructed by a recurrent neural network having a signal flow loop,
  • a coefficient value determining unit that determines a value of a coefficient of the control algorithm generated by the control algorithm generating unit.
  • the above “robot” may be any as long as it has “at least one joint that connects the two members variably with respect to the relative position or posture of the two members”.
  • a manipulator, etc., that performs this operation also corresponds to the “port” described here.
  • analog delay refers to a delay accompanied by a phenomenon that an output value changes smoothly with a delay with respect to a change in an input value.
  • the robot control algorithm construction device of the present invention constructs a control algorithm employing a recurrent neural network having a signal loop, which has been described with reference to FIG.
  • a delay neuron that generates an output with an analog delay in the above definition based on the input, for example, a triangular function with various periods can be realized to generate an arbitrary waveform.
  • a periodic signal can be generated, or a non-periodic signal with various waveforms can be generated by realizing a polynomial.
  • the control algorithm generating section may determine the control algorithm according to the operation of the operator.
  • a generation algorithm for generating the control algorithm may be determined in advance, such as sequentially and automatically generating partial networks corresponding to higher-order terms, and the control algorithm may be automatically generated. .
  • the coefficient value determining unit may determine the value of the coefficient according to an operation of the operation, or evaluate the operation of the mouth pot to be controlled based on the value of the coefficient. It may be determined based on an evaluation function to be performed, or a combination thereof.
  • V is input.
  • the output is V lag and the delay is £ l , basically
  • the neuron here is basically expressed, for example, as in the above equation (3), but it is preferable to include some modifications as described below.
  • the definition stored in the definition storage unit includes a definition of a neuron that receives a plurality of inputs and generates an output with an analog delay including zero delay based on the sum of the plurality of inputs. It is preferable that the control algorithm generation unit is capable of freely generating a control algorithm including neurons according to the definition.
  • the definition stored in the definition storage unit includes the definition of Neuron that weights the input and generates an output with an analog delay including zero delay based on the weighted input. It is preferable that the control algorithm generation unit is capable of freely generating a control algorithm including neurons according to the definition.
  • the definition stored in the definition storage unit includes the definition of the neuron that weights the input
  • the definition stored in the definition storage unit includes the weight in the output of another two euron.
  • the control algorithm generator includes a neuron that weights the input and can generate a control algorithm that includes another neuron that changes the weight. Is more preferred.
  • the definition stored in the definition storage unit includes a definition that changes the delay of a neuron according to the output of another neuron. Including and by the output of that other neuron It is preferable that a control algorithm including a neuron that generates an output with a changed delay is freely generated.
  • the definition stored in the definition storage unit includes a definition of a neuron that adopts a threshold instead of an input when the input exceeds the threshold, and the control algorithm generator includes a neuron according to the definition. It is preferable that the control algorithm can be freely generated.
  • “when the input exceeds the threshold” has a plurality of modes.
  • the input is valid when the input is smaller than the threshold, and the threshold is valid when the input exceeds the threshold from a smaller value to a larger value.
  • the input is valid, and when the input exceeds the threshold from a larger value to a smaller value, the threshold is valid.
  • the definition stored in the definition storage unit includes a definition of a switch that disconnects a connection between two neurons in accordance with an output of another neuron
  • the control algorithm generation unit includes: It is possible to freely generate a control algorithm that includes the other neuron and two neurons whose connection is defined by a switch that is disconnected according to the output of the other neuron.
  • the control algorithm generation unit is capable of freely generating a control algorithm including a partial network that realizes a periodic function and outputs a periodic signal.
  • the periodic function is composed of a combination of a plurality of unit periodic functions having mutually different periods
  • the control algorithm In generating the partial network, the system generating unit generates a partial network consisting of a plurality of unit networks that realize a plurality of unit periodic functions and output a plurality of unit periodic signals having mutually different periods. It is preferred that
  • the coefficient value determiner determines the partial network 200
  • the value of the coefficient of each unit network is sequentially determined, for example, one unit network at a time.
  • the control algorithm When a control algorithm for controlling a somewhat complicated robot is constructed, the control algorithm includes a very large number of coefficients.To complete the control algorithm, all of these very large numbers of coefficients are required. The value needs to be determined.
  • the BP method can be adopted. However, this BP method is applicable only to the LNN, and the R NN used in the present invention is used. (Recurrent neural network) is not applicable.
  • the bisection method operates by substituting a value located approximately at the center of the first range that can be taken as a value of the coefficient, so that the optimum value of the coefficient is larger than the substituted value. Is evaluated whether it is a small value or a small value, and the coefficient has a large value (or a small value) obtained by the evaluation. This is a method of substituting and evaluating the value located in the approximate center of the range of 2, and repeating this to narrow the range and finally determine the value of the coefficient.
  • the coefficient values are sequentially determined from the unit network that realizes the long-period unit periodic function to the unit network that realizes the short-period unit periodic function, one unit network is obtained.
  • the movement of the robot to be controlled can be made closer to the desired smooth movement, and the accuracy of the movement of the robot can be sequentially improved to the desired accuracy.
  • the control algorithm generation unit is capable of freely generating a control algorithm including a partial network for realizing an aperiodic function represented by a polynomial and outputting an aperiodic signal.
  • the control algorithm generation unit in generating the partial network, the control algorithm generation unit generates a unit signal of a polynomial and outputs a unit signal corresponding to each item by combining a plurality of unit networks. It is preferable to generate a partial network.
  • the coefficient value determining unit determines a coefficient value of the partial network by using a plurality of constituent networks constituting the partial network. From the unit network that outputs the unit signal corresponding to the lower-order term of the unit network, sequentially to the unit network that outputs the unit signal corresponding to the higher-order term, It is preferable to determine the value of the coefficient.
  • the above description of the periodic function (periodic motion of the mouth pot) also holds for the non-periodic function (non-periodic motion of the robot) represented by a polynomial.
  • the coefficient value of each unit network is determined in order from the unit network corresponding to the lower-order term to the unit network corresponding to the higher-order term.
  • the Lopot control algorithm construction program of the present invention that achieves the above object is executed in an information processing device that executes the program, and the information processing device is configured to variably change the relative position or orientation of two members.
  • a robot control algorithm construction program that operates as a robot control algorithm construction device that constructs a control algorithm for controlling the operation of a robot equipped with at least one joint connecting two members,
  • a definition storage unit that stores a definition of a new unit that generates an output with an analog delay including zero delay based on the input;
  • Using the definition stored in the definition storage unit include a plurality of neurons, and include at least one delay neuron that generates an output with an analog delay other than zero delay in the plurality of neurons and a signal.
  • a control algorithm generation unit configured to generate a control algorithm including a coefficient whose value is undetermined, constructed by a recurrent neural network having a flow loop of
  • the present invention is characterized in that it operates as a robot control algorithm construction device including a coefficient value determining unit that determines a coefficient value of the control algorithm generated by the control algorithm generating unit.
  • the robot control algorithm construction program of the present invention causes an information processing device such as a computer to operate as the robot control algorithm construction device of the present invention. This is realized as an embodiment of the robot control algorithm construction program of the present invention to be realized.
  • control algorithm generation unit may determine the control algorithm in accordance with an operation of an operator. For example, as described in an embodiment described later.
  • a generation algorithm for generating the control algorithm may be determined in advance, such as automatically generating partial networks corresponding to higher-order terms sequentially, and the control algorithm may be automatically generated.
  • the coefficient value determining unit determines the value of the coefficient according to an operation of an operator. Alternatively, the coefficient value determination unit may determine the value of the coefficient based on an evaluation function for evaluating the operation of the robot to be controlled. Alternatively, a combination thereof may be used.
  • V is input.
  • the output is v 1 and the delay is £ l , basically , +. & ( 3)
  • the definition stored in the definition storage unit includes a definition of a neuron that receives a plurality of inputs and generates an output with an analog delay including zero delay based on the sum of the plurality of inputs.
  • the control algorithm generator is capable of freely generating a control algorithm including neurons according to the definition.
  • the definition stored in the definition storage unit includes the definition of Neuron that weights the input and generates an output with an analog delay including zero delay based on the weighted input. It is preferable that the control algorithm generation unit is capable of freely generating a control algorithm including neurons according to the definition.
  • the definition stored in the definition storage unit includes the above-described definition of two euros for weighting the input
  • the definition stored in the definition storage unit includes the weight in another definition.
  • the control algorithm generator includes a definition that changes according to the output of the neuron, and the control algorithm generator generates a control algorithm that includes a neuron that weights the input and another neuron that changes the weight. It is preferred that it be flexible.
  • the definition stored in the definition storage unit includes a definition that changes the delay of a neuron according to the output of another neuron.
  • a control algorithm including a neuron that generates an output with a delay that is changed by the output of the other neuron is preferably included.
  • the definition stored in the definition storage unit includes a definition of a neuron that adopts a threshold instead of an input when the input exceeds the threshold, and the control algorithm generator includes a neuron according to the definition. It is preferable that the control algorithm can be freely generated.
  • the definition stored in the definition storage unit includes a definition of a switch that disconnects a connection between two neurons according to the output of another neuron
  • the control algorithm generation unit includes: It is also preferable that a control algorithm including two neurons including the other neuron and having a connection defined by a switch that is closed and closed according to the output of the another neuron can be freely generated. It is.
  • the control algorithm generation unit is capable of generating a control algorithm including a partial network that realizes a periodic function and outputs a periodic signal.
  • the periodic function is composed of a combination of a plurality of unit periodic functions having mutually different periods, and the control algorithm generation unit realizes a plurality of unit periodic functions and generates It is preferable to generate a partial network composed of a plurality of unit networks that output a plurality of unit period signals having different periods.
  • the coefficient value determining unit is configured to generate a plurality of partial networks by the control algorithm generating unit.
  • the control algorithm generating unit may be a polynomial. It is possible to freely generate a control algorithm including a partial network that realizes the expressed aperiodic function and outputs an aperiodic signal.
  • the control algorithm generator generates A plurality of polynomials that realize each term and output each unit signal corresponding to each term It is preferable to generate a partial network composed of unit networks.
  • the coefficient value determination unit further generates a partial network peak composed of a plurality of unit networks by the control algorithm generating unit.
  • the value of the coefficient of the partial network is calculated from the unit network that outputs the unit signal corresponding to the lower-order term of the unit networks constituting the partial network. It is preferable to sequentially determine the value of the coefficient of each unit network toward a unit network that outputs a unit signal corresponding to the unit network.
  • the mouth pot control device of the present invention is a mouth pot control device that controls the operation of a pot having at least one joint that variably changes the relative position or posture of the two members and connects the two members.
  • a control algorithm storage unit for storing a control algorithm constructed by a recurrent neural network including one and having a signal flow loop;
  • a robot control unit that controls the robot to be controlled using a control signal generated based on the control algorithm stored in the control algorithm storage unit.
  • the robot control apparatus of the present invention stores a control algorithm constructed using, for example, the robot control algorithm construction apparatus of the present invention, that is, a control algorithm constructed by an RNN having a delay neuron in the above-described definition.
  • the robot to be controlled is controlled by using a control signal generated based on the stored control algorithm. Since the control algorithm can be supplied at low cost, the robot control device can also be configured at low cost.
  • the neuron constituting the recurrent neural network has V input.
  • V delay basically, ⁇
  • the recurrent neural network includes a definition of two euron that receives a plurality of inputs and generates an output with an analog delay including zero delay based on the sum of the plurality of inputs, and includes a control algorithm storage.
  • the unit stores a control algorithm that includes neurons according to its definition.
  • the recurrent neural network includes a definition of a neuron that weights an input and generates an output with an analog delay including zero delay based on the weighted input. It is also a preferred embodiment that the unit stores a control algorithm including a neuron according to the definition.
  • the recurrent neural network includes a definition for changing the weight according to the output of another neuron. It is preferable to store a control algorithm that includes a neuron that weights the input and another neuron that changes the weight.
  • the recurrent neural network includes a definition for changing a delay of a neuron according to an output of another neuron, and the control algorithm storage unit stores the another neuron.
  • the recurrent neural network stores a control algorithm including a neuron that generates an output with a delay that is changed by the output of the other neuron.
  • the control algorithm storage unit preferably stores a control algorithm including a neuron according to the definition.
  • the recurrent neural network includes a switch that disconnects the connection between two neurons according to the output of another neuron.
  • the algorithm storage unit stores a control algorithm including the other neuron and two neurons whose connection is defined by a switch that is disconnected according to the output of the another neuron. This is also a preferred embodiment.
  • the control algorithm storage unit may store a control algorithm including a partial network that realizes a periodic function and outputs a periodic signal.
  • the function is composed of a combination of a plurality of unit periodic functions having different periods
  • the control algorithm storage unit stores a control including a partial network composed of a plurality of unit networks realizing the plurality of unit periodic functions.
  • An algorithm may be stored.
  • the control algorithm storage unit may store a control algorithm including a partial network that realizes an aperiodic function represented by a polynomial and outputs an aperiodic signal
  • the control algorithm storage unit may store a control algorithm including a partial network formed by connecting a plurality of unit networks that realize each term of the polynomial.
  • the robot control device may control a robot as an algorithm implemented in a robot simulation device that simulates the operation of the mouth pot.
  • the mouth pot control device may be Alternatively, the control target may be a real robot manufactured in hardware.
  • the robot control program of the present invention for achieving the above object is executed in an information processing device that executes the program, and the information processing device is configured to variably change the relative position or posture of two members.
  • a robot control program that operates as a robot controller that controls the operation of a robot that has at least one joint to be connected,
  • a control algorithm constructed by a recurrent neural network that includes a signal flow loop A control algorithm storage unit for storing the algorithm,
  • the robot is operated as a robot control device including a robot control unit that controls a robot to be controlled using a control signal generated based on a control algorithm stored in a control algorithm storage unit.
  • the robot control program according to the present invention causes an information processing apparatus such as a computer to operate as the robot control apparatus according to the present invention.
  • an information processing apparatus such as a computer
  • Various aspects of the robot control apparatus according to the present invention realize the various aspects. This is established as an aspect of the control program.
  • the neurons constituting the recurrent neural network have V inputs.
  • the output is V V and the delay is £ ⁇ , basically ising (3)
  • the recurrent neural network includes a definition of two euron that receives a plurality of inputs and generates an output with an analog delay including zero delay based on the sum of the plurality of inputs, and includes a control algorithm storage.
  • the unit stores a control algorithm that includes neurons according to its definition.
  • the recurrent neural network includes a definition of a neuron that weights an input and generates an output with an analog delay including zero delay based on the weighted input. It is also a preferred embodiment that the unit stores a control algorithm including two euron according to the definition.
  • the recurrent neural network when the input includes a neuron that weights, the recurrent neural network includes a definition for changing the weight according to the output of another neuron. It is preferable to store a control algorithm that includes a neuron that weights the input and another neuron that changes the weight.
  • the recurrent neural network includes a definition for changing a delay of a neuron in accordance with an output of another neuron.
  • a control algorithm that includes a neuron that produces an output with a delay that is modified by the output of that other neuron.
  • the recurrent neural network includes a definition of a neuron that adopts a threshold instead of an input when the input exceeds a threshold.
  • the control algorithm storage unit stores a control algorithm including neurons according to the definition. It is preferable that
  • the recurrent neural network includes a definition of a switch that cuts off a connection between two neurons according to the output of another neuron, and the control algorithm storage unit includes the other neuron and the other. It is also a preferable mode that the control algorithm includes two neurons in which the connection that is disconnected by a switch that is disconnected in accordance with the output of the neuron is defined.
  • the control algorithm storage unit may store a control algorithm including a partial network that implements a periodic function and outputs a periodic signal, and in that case, the periodic functions are different from each other.
  • control algorithm storage unit comprises: It may store a control algorithm including a partial network composed of a plurality of unit networks that realize the plurality of unit periodic functions.
  • the control algorithm storage unit may include: A control algorithm including a partial network that realizes a non-periodic function represented by a polynomial and outputs a non-periodic signal may be stored.In this case, the control algorithm storage unit stores each term of the polynomial. It may store a control algorithm including a partial network composed of a plurality of unit networks to be realized.
  • the mouth pot control program operates the information processing apparatus as a robot control apparatus that controls a robot as an algorithm implemented in a robot simulation apparatus that simulates the operation of the robot.
  • the robot control program may cause the information processing device to operate as a robot control device that controls a real robot manufactured as hardware.
  • the robot of the present invention that achieves the above object is a robot having at least one joint that variably changes the relative position or posture of two members and connects the two members,
  • a robot control device for controlling the operation of the robot
  • the report control device is
  • a control algorithm storage unit for storing a control algorithm constructed by a recurrent neural network including one and having a signal flow loop;
  • a robot control unit that controls the operation of the robot using a control signal generated based on a control algorithm stored in a control algorithm storage unit.
  • the robot of the present invention has a configuration in which the robot controller of the present invention is incorporated in a robot to be controlled by the robot controller.
  • the robot of the present invention includes the robot controller of the present invention.
  • Various aspects of the apparatus are included as they are.
  • the recurrent neural network receives multiple inputs and receives the multiple inputs. Based on the sum of the forces, it includes a definition of two euros that produces an output with an analog delay including zero delay, and the control algorithm section includes a control algorithm including neurons according to the definition. It is preferable to memorize it.
  • the recurrent neural network includes a definition of a neuron that weights an input and generates an output with an analog delay including zero delay based on the weighted input. It is also a preferred embodiment that the unit stores a control algorithm including two euron according to the definition.
  • the recurrent neural network includes a definition for changing the weight according to the output of another neuron. It is preferable to store a control algorithm that includes a neuron that weights the input and another neuron that changes the weight.
  • the recurrent neural network includes a definition for changing a delay of a neuron according to an output of another neuron.
  • the control algorithm storage unit includes the other neuron and includes the other neuron.
  • it stores a control algorithm that includes a neuron that produces an output with a delay that is modified by the output of another neuron.
  • the recurrent neural network includes a definition of a neuron that adopts a threshold instead of an input when the input exceeds a threshold.
  • the control algorithm storage unit stores a control algorithm including neurons according to the definition. It is preferable that
  • the recurrent neural network includes a definition of a switch that cuts off a connection between two neurons according to the output of another neuron
  • the control algorithm storage unit includes the other neuron and the other. It is also preferable to store a control algorithm including two neurons in which a connection to be disconnected by a switch that is disconnected in accordance with the output of the neuron is defined.
  • the control algorithm storage unit includes It may store a control algorithm including a partial network that realizes a number and outputs a periodic signal.
  • the periodic function includes a combination of a plurality of unit periodic functions having mutually different periods.
  • the control algorithm storage unit may store a control algorithm including a partial network composed of a plurality of unit networks that realize the plurality of unit periodic functions.
  • control algorithm storage unit may store a control algorithm including a partial network that realizes a non-periodic function represented by a polynomial and outputs a non-periodic signal.
  • control algorithm storage unit may store a control algorithm including a partial network formed by connecting a plurality of unit networks for realizing each term of the polynomial.
  • FIG. 1 is a diagram illustrating the principle of the ZMP method.
  • FIG. 2 is a diagram showing a model of a layered neural network ′ (LNN: Layer ned Neura 1 Network).
  • FIG. 3 is a diagram showing a model of each neuron constituting the LNN shown in FIG.
  • Fig. 4 is a diagram showing a sigmoid function that defines the input / output relationship of the neuron.
  • FIG. 5 is a diagram showing an RNN model.
  • Figure 6 is an external view of a computer and a mouth pot that communicates with the computer.
  • FIG. 7 is a hardware configuration diagram of the computer shown in FIG.
  • FIG. 8 is a schematic diagram showing an outline of an embodiment of the robot control algorithm construction program of the present invention.
  • FIG. 9 is a block diagram showing one embodiment of the robot control algorithm construction device of the present invention.
  • FIG. 10 is a diagram showing the notation of a neuron.
  • FIG. 11 is a diagram showing the notation of connections between neurons.
  • FIG. 12 shows a neuron without a time delay.
  • FIG. 13 is a diagram showing a temporal change in input and output of a neuron without a time delay.
  • FIG. 14 is a diagram showing a neuron having a delay ⁇ of ⁇ .
  • FIG. 15 is a diagram showing a temporal change in input and output of a neuron having a delay ⁇ of ⁇ .
  • FIG. 16 is a diagram showing a multi-input neuron.
  • FIG. 17 is a diagram showing a neuron having an upper threshold.
  • FIG. 18 shows a neuron having a lower threshold.
  • FIG. 19 is a diagram showing a general neuron that includes both the weighting described with reference to FIG. 16 and the thresholds shown with reference to FIGS. 17 and 18.
  • FIG. 20 is a diagram showing a switch.
  • FIG. 21 is a diagram showing a change in delay by a neuron.
  • FIG. 22 is a diagram showing a change in connection weight by a neuron.
  • FIG. 23 is a diagram illustrating an example of a combination of two neurons.
  • FIG. 24 is a diagram showing input / output of two neurons in the combination shown in FIG.
  • FIG. 25 is a diagram illustrating an example of a trigonometric function generator.
  • FIG. 26 is a diagram showing a partial network in which a plurality of trigonometric function generators shown in FIG. 25 are combined.
  • FIG. 27 is a diagram illustrating another example of the trigonometric function generator.
  • FIG. 28 is a diagram illustrating an n-th order polynomial generator.
  • Fig. 29 is a diagram showing the combination of neurons when switching between movements.
  • Fig. 30 is an R NN (see Fig. 25) consisting of two neurons to obtain a sine wave output, and only one joint. It is a figure which shows the mouth pot.
  • FIG. 31 is a diagram showing a configuration in which the arm of the mouth pot performs an arbitrary periodic motion.
  • FIG. 32 is a diagram illustrating a configuration in which the arm of the robot performs an aperiodic motion.
  • FIG. 33 is a diagram illustrating an example of PD control excluding integration (power).
  • FIG. 34 is a diagram illustrating an example of the PID control.
  • FIG. 35 is a diagram showing another example of PID control.
  • FIG. 36 is a conceptual diagram of the entire system including a robot and a control algorithm for controlling the robot.
  • Figure 37 is a schematic diagram of the legs of a biped robot and the RNN that controls the movement of the legs.
  • FIG. 38 is a diagram showing an outline of a robot motion learning system.
  • FIG. 39 is a flowchart summarizing the above learning process.
  • FIG. 40 is a schematic diagram showing an outline of an embodiment of the robot control program of the present invention.
  • FIG. 41 is a block diagram showing an embodiment of the robot control device of the present invention.
  • FIG. 42 is an external view of an embodiment of the mouth pot of the present invention.
  • FIG. 43 is a block diagram showing a configuration of the robot 500 of FIG. BEST MODE FOR CARRYING OUT THE INVENTION
  • a robot control algorithm construction device and a robot control device according to each embodiment of the present invention described below are a single computer and a robot control algorithm according to each embodiment of the present invention that operates in the computer. It is composed of a combination of a construction program and a robot control program.
  • a computer constituting a robot control algorithm construction device and a robot control device as an embodiment of the present invention will be described.
  • Figure 6 is an external view of a computer and a mouth pot that communicates with the computer.
  • Main unit 101 with built-in CPU (Central Processing Unit), RAM (random access memory), hard disk, communication board, etc., and image on display screen 102a according to instructions from main unit 101
  • the display device 102 that displays characters and character strings, the keyboard 103 for inputting operator's instructions to the computer 100, and the display screen 102a
  • the icon displayed at that position when specified A mouse 104 for inputting an instruction corresponding to a robot or the like, and an antenna 105 for communicating with the robot 200.
  • the main body 101 further has an FD loading slot 101a and a CD-ROM loading slot 101b into which a flexible disk (not shown) and a CD-ROM 300 are loaded, respectively. Also has a built-in floppy disk (FD) or CD-ROM drive that drives and accesses the flexible disk (FD) or CD-ROM 300 loaded from the loading slots 101a, 101.
  • FD floppy disk
  • CD-ROM CD-ROM
  • the robot 200 has a shape that resembles a human body, has a joint that can freely adjust the angle between two members at a portion corresponding to the joint of a human bowl, and furthermore, corresponds to the human eye.
  • the robot is equipped with various sensors, such as a camera in the part that touches, a microphone in the part corresponding to the human ear, and a contact sensor in the part corresponding to the human hand.
  • this robot has built-in communication equipment, communicates with the computer 100, transmits information of various sensors to the computer 100, receives control signals from the computer 100, and receives control signals from the computer 100. It is configured to perform an operation such as bipedal walking based on the control signal.
  • the computer 100 has a built-in mouth pot corresponding to the robot 200, which is constructed on the algorithm.
  • the control algorithm for controlling the operation of the robot 200 constructed using the computer 100 is immediately Rather than using it to control the operation of the robot 200, first, an operation simulation is performed by operating a mouth pot as an algorithm built in the computer 100 with the control algorithm, and as intended. After it is confirmed that the above operation is performed, the control algorithm is applied to the robot 200 manufactured in hardware.
  • FIG. 7 is a configuration diagram of the hardware of the computer shown in FIG.
  • CPU 1 1 1, RAMI 12, hard disk controller 113, FD drive 114, CD-ROM drive 1 15, mouse controller 1 16, keyboard controller 1 17, display controller 1 18, and a communication board 119 for communicating with a robot 200 (see FIG. 6) are shown, which are interconnected by a bus 110.
  • the FD drive 114 and the CD-ROM drive 115 access the FD 310 and the CD-ROM 300 loaded from the FD loading port 101a and the CD-ROM loading port 101, respectively. Things.
  • the communication port 119 communicates with the robot 200 via the antenna 105.
  • FIG. 7 also shows a hard disk 120 accessed by a hard disk controller 113, a mouse 104 controlled by a mouse controller 116, a keyboard 103 controlled by a keyboard controller 117, and a display controller 118 controlled by a display controller 118.
  • FIG. 8 is a schematic diagram showing an outline of an embodiment of the lopot control algorithm construction program of the present invention.
  • the robot control algorithm construction program 400 is stored in the CD-ROM 300, and the CD-ROM 300 is loaded from the CD-ROM mounting slot 101b shown in FIG. 6 and the CD-ROM drive shown in FIG. Accessed by 115, the mouth pot control algorithm construction program 400 stored in the CD-ROM 300 is installed in the computer 100 shown in FIGS.
  • the computer 100 operates as one embodiment of the robot control algorithm construction device of the present invention.
  • the robot control algorithm construction program 400 is described here as being stored in the CD-ROM 300, it need not be stored in the CD-ROM, and may be stored in another portable storage medium such as an FD. It may be stored and installed on the computer 100, or may be installed on the computer 100 from another device or the like via a communication network (not shown). 7) may be stored from the beginning, or may be stored or stored as long as it can be finally executed by a computer.
  • the operation of each section 401 to 403 of the robot control algorithm construction program 400 will be described together with the description of FIG.
  • FIG. 9 is a block diagram showing one embodiment of the robot control algorithm construction device of the present invention.
  • the mouth pot control algorithm constructing apparatus 410 executes the lopot control algorithm constructing program 400 shown in FIG. 8 in the computer 100 shown in FIGS. This is realized in the computer 100 shown in FIG.
  • the mouth pot control algorithm construction device 410 of FIG. 9 includes a definition storage unit 411, a control algorithm generation unit 412, and a coefficient value determination unit 413.
  • the definition storage unit 411, the control algorithm generation unit 4 12, and the coefficient value determination unit 4 13 are respectively provided in the definition storage unit 401, the control storage unit 401, of the robot control algorithm construction program 400 shown in FIG.
  • OS operating system
  • the robot control algorithm construction program 400 of each of the parts 401 to 403 constituting the mouth pot control algorithm construction program 400 shown in FIG. 8 is included in the combination of FIG. 6 and FIG.
  • the operation when executed is the operation itself of each part 4 11 to 4 13 constituting the robot control algorithm construction device 4 10 shown in FIG. 9.
  • the robot control algorithm construction device 4 10 shown in FIG. 9 will be described.
  • the robot control algorithm construction device 4 10 shown in FIG. This device constructs a control algorithm for controlling the operation of a robot having at least one joint that variably changes the position or posture of the two members.
  • the mouth pot 200 shown in FIG. 6 is a humanoid-type pot having a structure resembling the structure of a human pot, and has a plurality of joints at portions corresponding to human limbs and the like.
  • the output is generated according to the following equation.
  • Equation (3) is obtained by integrating equation (3).
  • This neuron is composed of program components described so as to satisfy the above equation (3) (or equation (4), which is equivalent to equation (3)).
  • the definition storage unit 4111 may store not only a neuron as the program component but also a mark representing the neuron. Other definitions of the neuron stored in the definition storage unit 411 and other definitions for configuring RNN other than the neuron will be described later.
  • the control algorithm generator 4 12 constituting the robot control algorithm construction apparatus 4 10 of FIG. 9 uses the definitions stored in the definition storage 4 11, and uses, for example, the computer 1 shown in FIG. 6 and FIG.
  • a control algorithm for controlling the mouth pot 200 (see FIG. 6) is constructed according to the operation of the keyboard 103 and the mouse 104 of 00.
  • an algorithm for generating the control algorithm may be determined in advance, and the control algorithm may be automatically generated based on the generated algorithm without waiting for the operation of the operator.
  • This control algorithm is based on a recurrent neural network (RNN) that has a plurality of neurons, including a delayed neuron with a finite non-zero value of ⁇ t in Eq. (3), and a signal flow loop. It is built.
  • the control algorithm constructed by the control algorithm generation unit 412 includes various coefficients (for example, delays l and integration constants C in the above equations (3) and (4)) as variables. The values of these coefficients are in an undetermined state.
  • a coefficient value determination unit 413 included in the robot control algorithm construction device 410 shown in FIG. 9 the value of the coefficient of the control algorithm generated by the control algorithm generation unit 412 is determined.
  • the coefficient value determining unit 413 may determine the value of the coefficient solely according to the operation of the operator.
  • an evaluation function for evaluating the operation of the robot is used. The evaluation value when the robot is operated while changing the value of the coefficient calculated based on is input, and the coefficient is determined so that the evaluation value becomes the highest value.
  • the evaluation function is composed of one or more items that take into account the characteristics of the mouth pot such as “minimum energy”, “stability of the mouth pot body”, and “high speed”. Details of the coefficient determination process will be described later.
  • the definition stored in the definition storage unit 41 1 is basically a neuron according to the above equation (3) (or the equivalent equation (4)), but the definition stored in the definition storage unit 41 1 Includes other definitions of neurons that have transformed or derived from the neurons, and definitions that are attached to those neurons. That is, in the definition storage unit 41 1,
  • control algorithm generation unit 412 stores the definition in the definition storage unit 411.
  • control algorithm generating unit 412 uses the definitions stored in the definition storing unit 411 to generate an output having an analog delay excluding zero delay among a plurality of neurons having a plurality of neurons.
  • the control algorithm generation unit generates a control algorithm including coefficients whose values are undetermined, which is constructed by a recurrent neural network (RNN) including at least one delay neuron and having a signal flow loop.
  • RNN recurrent neural network
  • (b 2) A neuron according to the definition of a neuron that receives multiple inputs and generates an output with an analog delay including zero delay based on the sum of the multiple inputs
  • a neuron according to the definition of a neuron that uses a threshold instead of an input when the input exceeds the threshold (b7) Two neurons whose connection is cut by the switch and another neuron that cuts the switch
  • control algorithm generation unit 4112 generates a control algorithm including a partial network that realizes a periodic function and outputs a periodic signal by connecting neurons according to the definition stored in the definition storage unit 4111.
  • the control algorithm generating unit 4 12 A partial network is generated by combining a plurality of unit networks that realize a plurality of unit periodic functions and output a plurality of unit periodic signals having mutually different periods.
  • the coefficient determining unit 413 calculates the coefficient value of the partial network composed of the connection of the plurality of unit networks generated by the control algorithm generating unit 4122, among the plurality of unit networks constituting the subnetwork.
  • one unit network is sequentially turned on. Determine the value of the coefficient.
  • control algorithm generation unit 4 1 2 realizes a non-periodic function represented by a polynomial by connecting neurons according to the definitions stored in the definition storage unit 4 A control algorithm including a partial network that outputs a signal can be generated.
  • control algorithm generation unit 412 realizes each term of a polynomial in generating the partial network, and It generates a partial network consisting of a combination of a plurality of unit networks that output each unit signal corresponding to each term, and the coefficient value determination unit 4 13 is generated by the control algorithm generation unit 4 1 2
  • the value of the coefficient of the partial network consisting of the connection of multiple unit networks is calculated using the A unit network that outputs a unit signal corresponding to a higher-order term from a unit network that outputs a unit signal corresponding to a lower-order term
  • the coefficient value of each unit network is sequentially determined one by one in this embodiment.
  • FIG. 10 is a diagram showing the notation of a neuron.
  • FIGS. 10 (A) to 10 (E) show neurons, and FIG. 10 (A) shows a circle and a double circle. All of them simply indicate that there is a neuron there. A neuron may have a delay and an initial value defined, but the notation in Fig. 10 (A) does not include those definitions.
  • Figure 10 (B) shows neurons with V in the outer circle (outside the inner circle) and ⁇ in the inner circle of the double circle. Indicates that the neuron has a delay ⁇ and an initial value V.
  • Figure 10 (C) shows neurons with a V in the circle and neurons with a V in the outer circle and outside the inner circle. It has been. All of these notations indicate that the neuron has an initial value of V. Here the delay is not defined.
  • Figure 10 (D) shows a neuron with ⁇ in the inner circle of the double circles. This neuron is a neuron with a delay of ⁇ . No initial value is defined.
  • Figure 10 ( ⁇ ) shows a neuron with zero delay as a special case of Figure 10 (D).
  • a neuron with a delay of zero becomes a neuron that calculates the sum of the multiple inputs. Therefore, instead of the symbol that inserts the number zero in the circle inside the double circle, a circle is used. In some cases, a symbol with a '+' indicating addition is used in the mark.
  • FIG. 11 is a diagram showing notation of connections between neurons.
  • Figure 11 ( ⁇ ) shows that the signal flows from the left neuron to the right neuron, and the output of the left neuron becomes the input of the right neuron as it is. I do.
  • Fig. 11 (B) is the same as the neuron in Fig. 11 (A) in that the output of the left neuron is the input of the right neuron, but the neuron in the right of Fig. 11 (B) is The weight C is assigned to the input, and the calculation according to the above equation (3) (or the equation (4)) is performed based on the weighted input.
  • Figure 11 (C) shows that the right side neuron receives the multiple outputs of the left side neurons and is weighted by weights C1, C2, C3, ..., respectively, and also receives its own output again and outputs the weights.
  • the neuron on the right side, weighted by CO indicates that the operation according to the above equation (3) (or equation (4)) is performed based on the sum of the weighted multiple inputs.
  • FIG. 12 shows a neuron without a time delay
  • FIG. 13 shows a time change of input and output of the neuron without the time delay.
  • FIG. 14 is a diagram showing a neuron having a delay ⁇ i of ⁇
  • FIG. 15 is a diagram showing a time change of input and output of the neuron having the delay ⁇ .
  • Equation (4) is shown again here.
  • the first term in the above equation (4) indicates that the output gradually changes with time delay as shown in FIG.
  • FIG. 16 is a diagram showing a multi-input neuron.
  • FIG. 17 shows a neuron with an upper threshold.
  • the output of neuron 1 is less than threshold 0, the output of neuron 1 is directly input to neuron 2, and when the input of neuron 1 is larger than threshold 0, the output of neuron 1 is output by neuron 2. Instead of, the threshold 0 is treated as an input.
  • the threshold 0 is treated as an input according to the output value of neuron 1, and the calculation according to the above equation (3) (or equation (4)) is performed.
  • the threshold value is generally expressed as 0, which is generally used when expressing an angle, because it is often the case that the angle of the joint of the mouth pot is controlled in controlling the operation of the mouth pot. It depends on it.
  • Figure 18 shows a neuron with a lower threshold.
  • neuron 1 when the output is greater than threshold 0, When the output is directly input to neuron 2, and the output of neuron 1 is smaller than the threshold, neuron 2 treats threshold 6> as the input.
  • neuron 2 is similar to the basic neuron except that the threshold is treated as an input in accordance with the output value of neuron 1, and the above-mentioned equation (3) (or (4 ) Perform the operation according to the formula).
  • FIG. 19 is a diagram showing a general neuron including both the weighting described with reference to FIG. 16 and the threshold described with reference to FIG. 17 and FIG.
  • C u is the weight corresponding to the connection towards the neuron i from neuron j
  • theta ma Is the threshold value that determines the maximum value corresponding to the connection from neuron j to neuron i
  • 0 min j is the threshold value that determines the minimum value that corresponds to the connection from neuron j to neuron i
  • min (X, y) is A function that takes the smaller value of x and y
  • max (X, y) is a function that takes the larger value of x and y.
  • Neuron i may be a neuron of any one of neuron 1 to neuron N (in this case, as shown in FIG. 11 (c), the output of neuron i returns to the same neuron i).
  • the neuron i may be a neuron different from any of the neurons 1 to N.
  • FIG. 20 is a diagram showing a switch.
  • Neuron 1 and neuron 2 are connected via a switch, and disconnection (connection and disconnection) of the switch is performed according to the output of another neuron 3.
  • a switch is connected and the output of neuron 1 becomes the input of neuron 2, and the threshold is 0 or more, including when the output of neuron 3 is almost equal to threshold 0.
  • the switch is disconnected and the output of neuron 1 is not input to neuron 2.
  • the symbol of “” is shown in Fig. 20, but if this is changed to, when the output of neuron 3 is exactly equal to the threshold value of 0, it means that the switch is connected. are doing. Also, if the symbol of “g0” in Fig.
  • FIG. 21 is a diagram showing a change in delay by a neuron.
  • Figures 21 (A) and 2 (B) are only drawn in different orientations, both of which mean the same thing.
  • an arrow is drawn from neuron 1 to the inner circle of the double circle representing neuron 2, and the output of neuron 1 becomes the delay ⁇ of neuron 2 as it is (by neuron 1 (The delay of neuron 2 is set or changed.)
  • a neuron is defined here such that the delay of one neuron (neuron 2 in the example of FIG. 21) can be changed by the output of another neuron (neuron 1 in the example of FIG. 21). I have.
  • FIG. 22 is a diagram showing a change in connection weight by a neuron.
  • FIG. 22 ( ⁇ ) and FIG. 22 ( ⁇ ) are drawn only in different directions, and both have the same meaning.
  • the output of neuron 1 is input to neuron 2 and the input is weighted, but the output of neuron 3 is used as the weight.
  • a neuron is defined so that the weight of the output of a certain neuron (here, neuron 3) can be changed.
  • the definition storage unit 4 constituting the robot control algorithm construction device 4 10 shown in FIG. Basically, the definitions of various neurons and the like described so far are stored as program parts that describe the input / output relations of the neurons and the like. A control algorithm based on RNN is constructed by combining these program components.
  • the definition storage unit 411 stores the definitions of neurons and the like described so far.
  • the combination of a plurality of frequently used neurons, as described below, is stored as one program component, and the control algorithm generation unit 4 12 A program component as a combination of the above may be used.
  • the control algorithm generation unit 4 12 may be configured to construct the control algorithm by inputting a program language for assembling the program components stored in the definition storage unit 4 11 1.
  • the control algorithm generator 4 12 displays the neuron symbols on the display screen 102 a of the computer 100 shown in FIG. 6 and connects the displayed neurons.
  • a control algorithm corresponding to the displayed neurons and connections may be constructed behind the operation of Pele.
  • FIG. 23 is a diagram illustrating an example of a combination of two neurons.
  • Vf C exp (Z 3 ⁇ 4 + C 2 exp ()
  • FIG. 24 is a diagram showing input / output of two neurons in the combination shown in FIG.
  • FIG. 25 is a diagram illustrating an example of a trigonometric function generator.
  • V 1 c x cos ⁇ + s 1 sin cot
  • the above equation (13) or (14) represents a trigonometric function of the angular frequency ⁇ , and a sinusoidally changing output is obtained.
  • Equations (13) and (14) the angular frequency of the sine wave output can be changed by changing the values of the weight C and the delay ⁇ , and that the weight C, the delay ⁇ , and the initial When the values V 10 and V 20 are changed, the coefficient c or S i in the equation (14) changes, and this makes it possible to change the phase and amplitude of the sine wave.
  • FIG. 26 is a diagram showing a partial network in which a plurality of trigonometric function generators shown in FIG. 25 are combined.
  • Fig. 26 The only one neuron shown on the rightmost side of Fig. 26 is a neuron that keeps outputting its initial value (here, c in correspondence with the following equation (15)).
  • Equation (15) represents a Fourier series.
  • An arbitrary periodic function can be expanded into a Fourier series. Therefore, an arbitrary periodic function can be constructed by combining two neurons combined as shown in FIG. 25 as shown in FIG.
  • FIG. 27 is a diagram showing another example of the trigonometric function generator.
  • the output generated by the combination of three neurons shown in FIG. 27 can be expressed as follows: ⁇ 33 ⁇ ++ ⁇ yy ((33--CC 22 ))-dt 3 dt 2 ⁇ dt
  • C 2 and C 3 are integration constants determined by the initial values (not shown) of the neurons.
  • the first term is a rapidly decaying term
  • the second and third terms are sine oscillation terms.
  • the combination of neurons in FIG. 27 is obtained, for example, by moving a joint that has been stationary at a certain position or posture to a position or posture (angle) different from the rest position or static posture, and then moving the joint or position after the movement. It can be used as a control signal for the initial transitional position or attitude movement when sinusoidally oscillating about the attitude and subsequent sine oscillation.
  • FIG. 28 is a diagram illustrating an n-th order polynomial generator.
  • FIG. 28 shows n + 1 neurons (a unit network composed of one neuron each) that generate each term of the n-th order polynomial connected as shown in FIG. 28, and their outputs.
  • a total of n + 2 neurons are shown, with the addition neuron for weighted addition (zero-delay neuron; see Fig. 10 (E)).
  • V 1 C 0 + C 1 t + C 2 t 2 +-+ C n t n
  • a periodic signal As shown in Fig. 26, by combining a plurality of trigonometric function generators of, it is possible to generate an arbitrary periodic signal and cause Lopot to perform a periodic motion.
  • a signal can be generated, and the mouth pot is subjected to aperiodic movements (for example, a transition from a standing position to a sitting position on a chair). Can be made.
  • Fig. 29 is a diagram showing the combination of neurons when switching between motors.
  • the motor neurons 1 and 2 are both shown as one neuron here, but behind them, for example.
  • the motor neuron 1 and the motor neuron 2 perform different movements (for example, the motor neuron 1 moves up while sitting on a chair, and the motor neuron performs a bipedal movement performed while standing up).
  • a switch neuron has a sensor and a sequence program for causing the mouth pot to perform a series of operations behind the switch neuron, and the output changes at the timing of switching the movement.
  • one of the output of the motor neuron 1 and the output of the motor neuron 2 is always input to the delay neuron according to the output of the switch neuron.
  • the delay neuron is a neuron that delays its input in an analog manner and outputs it in accordance with the above-mentioned equation (3) (or equation (4)).
  • Figure 30 shows an R N N (see Figure 25) that consists of two neurons and obtains a sinusoidal output, and a robot with only one joint.
  • This robot comprises a horizontally extending base and an arm which rotates by receiving a driving force from a joint motor.
  • the joint between the platform and the arm is a joint.
  • the arm of the robot can be sinusoidally moved right and left periodically.
  • FIG. 31 is a diagram showing a configuration in which the robot arm performs an arbitrary periodic motion.
  • the arm By supplying this periodic signal to the joint motor of the robot, the arm can be made to perform a periodic motion according to the periodic signal.
  • FIG. 32 is a diagram illustrating a configuration in which the robot arm performs an aperiodic motion.
  • FIG. 32 shows an RNN having the same configuration as that shown in FIG. 28, and a mouth pot having only one joint.
  • aperiodic function represented by an arbitrary dimension (n-dimensional) polynomial, and by driving the mouth pot of Fig. 32 with its output, The arm of the bird can be made to perform the aperiodic motion realized by the polynomial.
  • PID control is feedback control that combines proportional (P), integral (I), and derivative (D), and is a control method that has been more widely used than before.
  • FIG. 33 is a diagram illustrating an example of the PD control except for the integration (I).
  • FIG. 33 also shows the robot having only one joint, which is also shown in FIGS.
  • a sensor for measuring the position (angle) of the joint and a sensor for measuring the speed (angular velocity) of the movement of the joint are provided.
  • velocity (angular velocity) information may be obtained by differentiating the output of the position (angle) sensor.
  • FIG. 34 is a diagram showing an example of PID control.
  • FIG. 35 is a diagram showing another example of PID control.
  • the target position is shown as a fixed value, but in FIG. 35, the target position is periodically changed.
  • the joint motor is driven by the ⁇ ID feedback control so as to follow the periodically changing target value.
  • PID control can be realized by RNN.
  • FIG. 36 is a conceptual diagram of an entire system including a control pot and a control algorithm for controlling the mouth pot.
  • the CPG in FIG. 36 is an abbreviation of “Central pal Pat tern gen er a t r r o, and in this case, indicates a partial network based on an RNN.
  • a large number of CPGs are assembled to form a control algorithm for controlling the robot.
  • Each of the multiple CPGs (subnetworks) that make up this control algorithm is responsible for a certain movement of the mouth pot to be controlled. A specific example will be described later with reference to FIG.
  • each neuron In deciding various undetermined coefficients (delay ⁇ , weight (:, initial value, etc.) of each neuron) of the CPG, the operation of the robot is evaluated, and the evaluation value is transmitted to a learning system. Each coefficient value is determined by the method of determining the coefficient value.
  • the operation of the robot is measured by a sensor system and transmitted to a control algorithm.
  • the control algorithm controls the robot so that the mouth pot performs a desired operation based on information from the sensor system.
  • Figure 37 is a schematic diagram of the legs of a biped locomotive and an RNN that controls the movement of the legs.
  • the joint of the mouth pot is shown as a cylinder, and the RNN that controls the movement of the right foot of both the left and right feet is shown.
  • CPGs a roll CPG, a lift CPG, and a pitch CPG necessary for causing the bipedal walk pot to perform a forward walking operation are shown as CPGs.
  • the roll CPG is a partial network that generates control signals for controlling the movement for the weight shift.
  • the lift CPG shown in Fig. 37 is a partial network for moving the right foot up and down.
  • the vertical movement of the foot is also a periodic movement, so the lift CPG is also configured to generate periodic signals.
  • the pitch CPG shown in FIG. 37 is a partial network for moving the right foot forward.
  • the forward motion of the foot once is an aperiodic motion, and thus the pitch C P G is configured as a partial network that generates an aperiodic signal based on a polynomial.
  • the output of the lift C PG is switch-controlled by the output of the roll C PG. This is done, for example, so that the weight (center of gravity) must be sufficiently transferred to the left foot before the right foot can be lifted.
  • the output of the pitch CPG is also switch-controlled by the output of the roll CPG. This is also to ensure that, for example, the weight (center of gravity) has been sufficiently transferred to the left foot before the right foot can be advanced.
  • the output of the lift CPG and the output of the pitch CPG are subjected to threshold processing. This means that, for example, after the right foot is advanced and the sole touches the floor, the right foot will stop extending or moving forward, and the state of the right foot when the right foot touches the floor will be maintained. It is a measure to do. In this way, by combining CPG for performing periodic motion and CPG for performing aperiodic motion, a complex motion can be realized as a whole.
  • the premise of the idea is that the motion, that is, the change over time of the position and angle of the joint is a solution of a nonlinear equation. Take. There is also a method to use a new nonlinear equation to solve this nonlinear equation.
  • a processing system such as a higher-order judgment function to control as desired because a nonlinear element exists in the solution generation mechanism itself. Therefore, here we consider solving the motion by the successive approximation method.
  • the perturbation method is known as a method for approximately solving nonlinear equations.
  • the perturbation method is a method of obtaining an approximate solution by solving a linear solvable differential equation as a first approximate solution when solving a nonlinear equation in astronomical mechanics and the like.
  • the term required for correction is called the perturbation term.
  • calculations based on the Tiller expansion are performed.
  • the successively obtained solutions are obtained by directly substituting the developed solution into the equations to be solved and solving for each order. The solution gradually approaches the true solution by increasing the degree of approximation and approximation of the ordinary perturbation method.
  • y i is the eigenfunction, ⁇ , is its coefficient, and i is the order.
  • NP Physical Perturbation on method
  • CPGZNP Exercise learning system
  • the CPG model can generate trigonometric functions and polynomials, which are basic functions, and can generate several kinds of orthogonal functions, although the description is omitted. Using these basic functions, we find the solution of the unknown nonlinear equation representing the motion.
  • cj, S j, a are coefficients related to the delay, weight, and initial value of the neuron (see equations (13) to (15) and (19)).
  • the first term in the right side is the constant term c.
  • the second term is a term of a periodic function and the third term is a term of a non-periodic function.
  • the term with a low j value (the second term on the right side of equation (23) has a low angular frequency j ⁇ (the term with a long period, the third term on the right side of equation (23) has a low
  • the coefficients are determined sequentially as described above.
  • FIG. 9 is a diagram showing the outline of the robot's motor learning system.
  • the basic exercise type means that the CPG whose coefficient is to be determined this time is a periodic exercise type CPG but an aperiodic exercise type CPG. If it is indicated that the CPG is a periodic motion CPG, only the first and second terms on the right side of Eq. (23) are valid, and the third term is unnecessary. On the other hand, if it is indicated that the CPG is an aperiodic CPG, the first and third terms on the right side of Eq. (23) become valid, and the second term becomes unnecessary.
  • “Advice” in FIG. 38 is an evaluation function.
  • the evaluation function is a function for determining whether or not the operation is satisfactory.
  • there are multiple evaluation functions such as “minimum energy”, “stability of robot body”, and “high speed”.
  • the evaluation function E is a weighted linear sum of a plurality of evaluation functions as described below in order to obtain a minimum problem.
  • Ei is a non-negative number given in quadratic form, and C i is the weight of the evaluation function Ei.
  • the evaluation function E is called advice.
  • E ⁇ C.E : (24)
  • an operator specifies a basic motion type and initial values of coefficients.
  • the initial position (initial angle) c of the function k. Is specified. This c. Is the initial position or angle of the joint when the joint is at rest (before starting the movement) or in the initial state taken over from the previous movement.
  • the basic exercise type is the periodic exercise type.
  • the operator gives the basic period (angular frequency ⁇ ) of the periodic motion and the initial values of the respective coefficients C l and S i.
  • the coefficient value determining unit 413 of the robot control algorithm construction device 410 in FIG. The delay, weight, and initial value of each neuron that constructs the basic network are temporarily determined by these ⁇ , C l , and si.
  • Coefficients c,, s i are determined so that the coefficient value is corrected little by little according to the evaluation and the highest evaluation in the order of the order is obtained.
  • the evaluation of the movement of the mouth pot may be visually performed by an operator, and the coefficient value may be determined by the operator.
  • the decision may be made semi-automatically, including opinions.
  • the control algorithm generation unit 412 in FIG. 9 reads (or generates) a basic network that realizes the next order term from the definition storage unit 411, and couples the basic network to a low order partial network.
  • ⁇ , ' c 0 + (cos cot + s 1 cos ⁇ ) + 1 c 2 cos m cot + s 2 sm 2 ⁇
  • the control algorithm generator 4 1 2 in FIG. 9 reads (or generates) a basic network that realizes the next order term from the definition storage unit 4 1 1. , And is connected to the sub-network that has been evaluated (coefficients have been determined).
  • ⁇ ,. C 0 + (cos ⁇ + s l sin ⁇ + (c 2 cos 2wt + s 2 sm 2 ⁇ )
  • the periodic function has been described as an example, but the process of determining the coefficient of the non-periodic function is the same.
  • the generation of the partial network All processes up to the determination of the coefficients of the partial network may be automated. Alternatively, it may be realized as a semi-automatic device, such as entrusting some of the operations to the operation overnight, or presenting the results of automatic generation to the operator and receiving approval.
  • the output of the partial network for which the initial value has just been given to the coefficient has been described as being immediately applied to the mouth pot. It is preferable to try to simulate the motion by giving it to the robot as an algorithm built in the computer shown in (1) and confirm that it operates with sufficient accuracy before moving the actual mouth pot.
  • Figure 39 is a flowchart summarizing the above learning process.
  • the coefficients of the initial motion starting from the initial values are determined using some kind of coefficient determination algorithm such as GA (Genetic Algorithm) or dichotomy (step S2), and higher-order terms are added according to the motion type. Then, an initial value is given to the coefficient of the added term (step S3), and the coefficient of the higher-order term is determined using a GA, a dichotomy, or the like (step S4). If the accuracy of the motion of the mouth pot to be controlled is still insufficient (step S5), a higher-order term is added according to the motion type, and an initial value is given to the coefficient of the added higher-order term (step S5). S 3) Then, the coefficient of the higher-order term is determined using a GA, a dichotomy, or the like (step S 4). This is repeated until the mouth pot can operate with sufficient accuracy.
  • GA Genetic Algorithm
  • dichotomy step S2
  • CPGZNP a method for sequentially obtaining the CPG coefficient by the NP method above
  • CPGZGA a method for obtaining the coefficient of ji? 0 at a time using ⁇ 8 (a genetic algorithm)
  • CPGZGA has not yet found a solution equivalent to that obtained with CPGZNP. Furthermore, the CPGZNP method has features that CPGZGA does not have, in that it is easy to reset the evaluation function and to change the number of neurons at each perturbation order.
  • the coefficients can be determined in a very short time at a level that is as astronomical as the conventional method.
  • FIG. 40 is a schematic diagram showing an outline of an embodiment of the robot control program of the present invention.
  • the robot control program 500 is stored in the CD-ROM 300.
  • the CD-ROM 300 is loaded from the CD-ROM loading port 101 shown in FIG. 6 and accessed by the CD-ROM drive 115 shown in FIG. Then, the mouth pot control program 500 stored in the CD-ROM 300 is installed in the computer 100 shown in FIGS.
  • the computer 100 operates as one embodiment of the robot control device of the present invention.
  • the robot control program 500 is described here as being stored in the CD-ROM 300, it is stored in the CD-ROM as in the case of the robot control algorithm construction program (see FIG. 8). It does not need to be installed, and may be stored in another portable storage medium such as an FD and installed in the computer 100, or installed in the computer 100 from another device or the like via a communication network (not shown). Alternatively, the program may be stored from the beginning on the hard disk of the computer 100 (see FIG. 7) or the like. It may be.
  • the robot control program 500 shown in FIG. 40 includes a control algorithm storage unit 501 and a robot control unit 502. The operation of each section 501, 502 constituting the robot control program 500 will be described together with the description of FIG.
  • FIG. 41 is a block diagram showing one embodiment of the robot control device of the present invention.
  • the mouth pot control device 5100 executes the robot control program 500 shown in FIG. 40 in the computer 100 shown in FIGS. 6 and 7, thereby executing the computer 1 shown in FIGS. It is realized within 00.
  • the robot control device 5110 shown in FIG. 41 includes a control algorithm storage unit 5111 and a mouth pot control unit 5122.
  • the control algorithm storage unit 511 and the robot control unit 5112 are respectively stored in the control algorithm storage unit 501 and the robot control unit 502 of the mouth pot control program 500 shown in FIG.
  • each part 5 1 1 and 5 1 2 of the robot controller 5 110 shown in FIG. 41 is composed of the hardware of the computer 100 shown in FIGS. 6 and 7 and the operating system executed in the computer 100.
  • the system (OS) and the various parts of the robot control program 500 shown in Fig. 40, which run on the OS, are composed of the components 501 and 502, while the robot shown in Fig.
  • Each part 501, 502 of the control program 500 is composed of only an application program part of the composite.
  • the action is the action itself of each part 5 11, 5 12 constituting the robot control device 5 10 shown in FIG. 41.
  • each part 5 11, 1 2 of the robot control device 5 10 shown in FIG. By explaining the operation of 512, the operation of each part 501, 502 of the robot control program 500 in FIG. 40 is also described.
  • the robot controller 510 of FIG. 41 is a device that variably changes the relative position or posture of two members and controls the operation of a robot having at least one joint that connects the two members.
  • the robot 200 shown in FIG. 6 is a humanoid robot having a structure similar to the structure of a human bowl, and has a plurality of joints at portions corresponding to human limbs and the like.
  • the control algorithm storage unit 5111 constituting the robot control device 5110 of FIG. 41 generates a plurality of neurons that generate an output with an analog delay including zero delay based on the input.
  • a recurrent neural network (RNN) that includes at least one delay neuron that generates an output with an analog delay other than zero delay among the plurality of neurons and has a signal flow loop ) Is stored.
  • the robot control unit 512 uses the control signal generated based on the control algorithm stored in the control algorithm storage unit 511 to control the port to be controlled. It controls the pot.
  • the control algorithm stored in the control algorithm storage unit 511 is a control algorithm that has been constructed as described above and whose values have been determined for the coefficients. Since the details of the control algorithm stored in the control algorithm storage unit 511 have already been described, a duplicate description will be omitted here.
  • the measured values obtained by various sensors provided in the robot are input to the robot control section 512.
  • the robot control section 512 is based on the control algorithm stored in the control algorithm storage section 511 and receives data from the sensors.
  • the motion of the robot to be controlled is controlled on the basis of the measured values.
  • FIG. 42 is an external view of an embodiment of the mouth pot of the present invention.
  • This robot 600 corresponds to a robot equipped with a robot control device realized by the computer 100 shown in FIG. 6 inside the robot 200 shown in FIG.
  • the robot 600 incorporates a robot control device 6100 that controls the robot itself.
  • FIG. 43 is a block diagram showing a configuration of the robot 600 of FIG.
  • the robot 600 includes a robot control device 610, a joint 620 whose movement is controlled by the robot control device 610, and a sensor 6330 for measuring the motion of the joint.
  • the robot control device 6 10 of the mouth pot 600 includes a control algorithm storage unit 6 11 and a mouth pot control unit 6 12.
  • the robot controller 6100 is the same as the robot controller 5100 shown in FIG. 41 except that the robot controller 6100 is built in the robot 600.
  • the control algorithm storage unit 6 1 1 and the robot control unit 6 1 2 that constitute the 6 10 are the control algorithm storage unit 5 1 1 and the mouth bot control unit 5 that constitute the robot control device 5 10 shown in FIG. 1 and 2 have the same function. Duplicate description is omitted.
  • a robot having a built-in robot controller may be configured.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Robotics (AREA)
  • Automation & Control Theory (AREA)
  • Fuzzy Systems (AREA)
  • Mechanical Engineering (AREA)
  • Feedback Control In General (AREA)
  • Manipulator (AREA)

Abstract

 本発明は、ロボットの運動を制御する制御アルゴリズムを構築する装置やその構築された制御アルゴリズムにしたがってロボットの運動を制御する装置等に関し、従来のMZP法等、力学的な方程式を解く方式と比べ制御アルゴリズム作成のコストや時間を大きく下げることを目的とし、入力に対すアナログ的な時間遅れを伴う出力を生成するニューロンを含むリカレントニューラルネットワーク(RNN)により制御アルゴリズムを構成し、そのRNNの係数を低次の項から高次の項に向かって順次決定していく。

Description

明細書 ロボッ卜制御アルゴリズム構築装置、 ロボット制御アルゴリズム構築プログラム ロボット制御装置、 口ポット制御プログラム、 およびロボット 技術分野
本発明は、 ロボットの動作を制御するための制御アルゴリズムを構築するロボ ット制御アルゴリズム構築装置、 コンピュータ等の情報処理装置をロポット制御 アルゴリズム構築装置として動作させるロボット制御アルゴリズム構築プロダラ ム、 ロボットの動作を制御するロボット制御装置、 コンピュータ等の情報処理装 置をロボット制御装置として動作させるロボット制御プログラム、 および、 ロボ ッ卜に関する。 背景技術
近年、 人間共存型の口ポットの研究が盛んに行なわれている (例えば非特許文 献 1, 2参照) 。 近い将来、 街にロボットが進出し、 人間を助けるために働いて いる風景を想像することが容易になりつつある。 また、 それらのロボットは、 各 々まったく異なる作業をしていることであろうと想像できる。
ここで、 近年開発が進んでいる二足歩行ロボットは、 ZMP法 (Z o r o M omen t um Po i n t me t hod) と呼ばれる制御アルゴリズムで動 作するように構成されている。
図 1は、 ZMP法の原理説明図である。
ロポッ卜が静止しているときは、 そのロポッ卜の重心がちょうど足裏の真上に 来るように上体を起こすことによって立ったままの姿勢を保つことができる。 これに対し、 その口ポットが例えば前進しょうとしたとき、 重心が足裏の真上 にあるままの状態では、 後ろに倒れることになる。
これは、 ZMP (動的重心点) が後ろに位置してしまうためである。 前進する ときに倒れないようにするには、 上体を前方に傾けて上体を加速するとそれに対 し復元力が働き、 また床からの反力やそのロボットの重心点も考慮し、 目標点に Z MPが位置するように、 上体の傾きの程度等が調節される。 このようにして、 ZPM (動的重心点) が常に目標位置に来るように制御することにより、 二足歩 行ロボットは前進することができる。
この MZP法に基づく制御アルゴリズムは、 極めて複雑な力学的、 数学的演算 を必要とする制御アルゴリズムであり、 その開発にも多大のコストと時間を要す る。 また、 この ZMP法を採用すると、 完成されたいわば能役者の歩き方となり 、 歩き方 1つとつても '人間らしさ' とは少し異なる印象の歩き方となりがちで ある。
また、 ZMP法を採用した二足歩行口ポットに限らず、 現在、 大半のロボット は、 手続き型言語によってある特定の作業を行うためのソフトウェアが作られて いる。 そのため、 まったく異なった作業を行うには、 このソフトウェアを取り替 える必要がある。 要するに制御アルゴリズムを組み直すことが必要となる。 作業 に必要なアルゴリズムを作業毎に作っていては、 多数のソフトウエアが必要にな りコス卜が極めて高くつくことが予想される。 ミドルウェアの開発等を行なうこ とによりコストダウンを図ることも 1つの方法ではあるが、 またひとつの方法は 、 ロポットあるいはロポット制御装置が自ら学習して各々の作業を覚えることで ある。
この自ら学習する学習システムの代表例としてニューラルネットワークが知ら れている。
図 2は、 階層化ニューラルネッ卜ワーク (LNN : Laye r ed Ne u r a 1 Ne two r k) のモデルを示した図である。
ここでは、 入力層、 中間層、 出力層の各層にニューロンが配置されており、 こ の LNNへの入力は全て入力層のニューロンで受け取られ、 入力層の各ニューロ ンの出力が中間層の各ニューロンに伝えられ、 中間層の各ニューロンの出力が出 力層のニューロンに伝えられ、 その出力層のニューロンからの出力がこの LNN の出力となる。
図 3は、 図 2に示す LNNを構成する各ニューロンのモデルを示す図、 図 4は 、 そのニューロンの入出力の関係を規定するシグモイド関数を示す図である。 図 3に示すように、 前段側から複数の入力 Xい X2, X3, ···, があると、 各結合強度を Wい W2, W3, ···, Wiとし、 このニューロンは、
^=2 x^ ― (1) を全体としての入力として受け取り、 このニューロンでは、 図 4のシグモイド関 数 (Z) = l + exp(- ) …… (2)
に従う出力 Y= f (X) が生成される。
この LNNに関しては、 結合強度 \¥ぃ W2, W3, …, と呼ばれる各係数の 値を決定する必要がある。 この係数の決定方法として B P法 (Ba c k P r o p ag a t i on法) が知られており、 いわゆる教師付き、 教師なし学習など様 々な学習法が存在する。
この LNNは、 基本的に入力にフィルタをかけて出力するものであり、 BP法 によってフィル夕の係数 (上記の結合係数 W2, W3, …, W,) を適切に定 めることはできるものの、 この LNNは、 例えば周期運動、 非周期運動に相当す る出力を生成することはできず、 ロポッ卜の動作制御には本質的に不向きである ニューラルネットワークのもう 1つのモデルとしてリカレントニューラルネッ トワーク (RNN : Re cu r r e n t Ne u r a l Ne two r k) が知 られている。
図 5は、 RNNのモデルを示す図である。
図 2の LNNは、 入力側から出力側に向かって整然と信号が流れて行くのに対 し、 図 5の RNNは、 入力側のニューロンから出力側のニューロンに向かって信 号が伝えられるだけでなく、 出力側のニューロンから入力側のニューロンに向か つて信号が伝えられることにより、 信号の流れのループが存在する。
この RNNは、 盛んに研究されてはいるが、 例えば上述の LNNや BP法のよ うな、 ニューロンの組合せ方 (信号の伝搬のルートの決め方) や学習の仕方 (係 数の値の決め方) としての決定的な手法は従来見い出されていない。
(非特許文献 1 ) J i ang Sh an, Fumi o Nag a s h ima : B i o l og i c a 1 1 y I n s p i r e d Sp i n a l l o c omo t i on Co n t r o 1 1 e r f o r Human o i d R o b o t, 第 19回日本ロボ ット学会学術講演会, P. 517 - 518 (2001)
(非特許文献 2 )
T a g a G. , M i yake Y. , Yamaguc h i Y. , S h imi z u H. : Gen e r a t i on and Coo r d i n a t i on o f B i p e d a l Loc omo t i on t h r ough G 1 o b a 1 En t r a i nme n t (1991) 発明の開示
本発明は、 上記事情に鑑み、 従来の MZP法等、 力学的な方程式を解く方式と 比べ制御アルゴリズム作成のコス卜や時間を大きく下げることのできるロポッ卜 制御アルゴリズム構築装置およびロポット制御アルゴリズム構築プログラム、 お よびコストの安い口ポット制御装置、 ロボット制御プログラム、 および口ポット を提供することを目的とする。
上記目的を達成する本発明のロボット制御アルゴリズム構築装置は、 2つの部 材の相対的な位置もしくは姿勢を可変にそれら 2つの部材を結合する関節を少な くとも 1つ備えたロボッ卜の動作を制御するための制御アルゴリズムを構築する ロポット制御アルゴリズム構築装置において、
入力に基づいて遅れゼロを含むアナログ的な遅れを伴う出力を生成するニュー 口ンの定義を記憶する定義記憶部と、
定義記憶部に記憶された定義を用い、 複数のニューロンを有しそれら複数の二 ュ一ロンの中に遅れゼロを除くアナログ的な遅れを伴う出力を生成する遅れニュ —ロンを少なくとも 1つ含むとともに信号の流れのループが存在するリカレント ニューラルネットワークにより構築された、 値が未確定の係数を含む制御アルゴ リズムを生成する制御アルゴリズム生成部と、
制御アルゴリズム生成部で生成された制御アルゴリズムの係数の値を決定する 係数値決定部とを備えたことを特徴とする。 ここで、 上記の 「ロボット」 は、 「2つの部材の相対的な位置もしくは姿勢を 可変にそれら 2つの部材を結合する関節を少なくとも 1つ備えた」 ものであれば よく、 例えばこの定義に合致するマニピュレータ等もここでいうロポッ卜に該当 する。
また、 上記の 「アナログ的な遅れ」 とは、 入力の値変化に対して出力の値が滑 らかに遅れて変化するという現象を伴う遅れをいう。
本発明のロボット制御アルゴリズム構築装置は、 図 5を参照して説明した、 信 号のループを有するリカレントニューラルネッ卜ワークを採用した制御アルゴリ ズムを構築するものであるが、 このリカレントニューラルネットワークを構成す るニューロンの中に、 入力に基づいて上記の定義におけるアナログ的な遅れを伴 う出力を生成する遅れニューロンを含ませることにより、 例えば様々な周期の三 角関数を実現して任意の波形の周期信号を生成したり、 多項式を実現して様々な 波形の非周期信号を生成することができ、 上記のように定義されたニューロンを 用いて制御目的に合致したリカレントニューラルネットワークを構築することに より、 例えば Z M P法等、 愿大な力学的演算を行なう従来の制御アルゴリズムと 比べ同等の制御を行なう制御アルゴリズムを極めて容易に構築することができる ここで、 上記制御アルゴリズム生成部は、 上記制御アルゴリズムをオペレータ の操作に応じて決定するものであってもよいが、 例えば後述する実施形態で説明 するように高次の項に対応する部分ネットワークを順次自動生成するなど、 上記 制御アルゴリズムを生成するための生成アルゴリズムをあらかじめ定めておいて 、 上記制御アルゴリズムを自動生成するものであってもよい。
また、 上記係数値決定部は、 上記係数の値を、 ォペレ一夕の操作に応じて決定 するものであってもよく、 あるいは、 上記係数の値を、 制御対象の口ポットの動 作を評価する評価関数に基づいて決定するものであってもよく、 あるいはそれら の組合せであってもよい。
また、 上記定義記憶部は、 入力を V。、 出力を V 遅れを £ lとしたとき、 基 本的に、
Figure imgf000008_0001
の式に従って出力 を生成するというニューロンの定義を記憶するものであるこ とが好ましい。
上記の定義における 「アナログ的な遅れ」 をできるだけ単純な数式で表現する と、 上記 (3 ) 式のように表現することができ、 上記の定義における 「アナログ 的な遅れ」 を表現するにあたり、 上記 (3 ) 式よりも複雑な式を採用する必要性 も見あたらないことから、 「アナログ的な遅れ」 を伴う出力を生成するニューロ ンの定義として上記 (3 ) 式を採用することが好ましい。
ここでのニューロンは、 基本的には例えば上記 (3 ) 式のように表現されるが 、 以下のようないくつかの変形を含ませることが好ましい。
すなわち、 上記定義記憶部に記憶された定義には、 複数の入力を受けそれら複 数の入力の総和に基づいて、 遅れゼロを含むアナログ的な遅れを伴う出力を生成 するというニューロンの定義を含むものであり、 上記制御アルゴリズム生成部は 、 その定義に従うニューロンを含む制御アルゴリズムの生成が自在なものである ことが好ましく、 また、
上記定義記憶部に記憶された定義には、 入力に重みを付し重みを付した入力に 基づいて、 遅れゼロを含むアナログ的な遅れを伴う出力を生成するというニュー ロンの定義を含むものであり、 上記制御アルゴリズム生成部は、 その定義に従う ニューロンを含む制御アルゴリズムの生成が自在なものであることが好ましい。 上記定義記憶部に記憶された定義に、 上記の、 入力に重みを付するニューロン の定義を含む場合に、 その定義記憶部に記憶された定義には、 その重みを別の二 ユーロンの出力に応じて変更する定義を含むものであって、 上記制御アルゴリズ ム生成部は、 入力に重みを付するニューロンを含むとともにその重みを変更する 別のニューロンを含む制御アルゴリズムの生成が自在なものであることが、 さら に好ましい。
また、 上記定義記憶部に記憶された定義には、 ニューロンの遅れを別のニュー ロンの出力に応じて変更する定義を含むものであって、 上記制御アルゴリズム生 成部は、 その別のニューロンを含むとともにその別のニューロンの出力によって 変更される遅れを伴う出力を生成するニューロンを含む制御アルゴリズムの生成 が自在なものであることが好ましく、 また、
上記定義記憶部に記憶された定義には、 入力が閾値を越える場合に入力に代え て閾値を採用するニューロンの定義を含むものであって、 上記制御アルゴリズム 生成部は、 その定義に従うニューロンを含む制御アルゴリズムの生成が自在なも のであることが好ましい。
ここで、 「入力が閾値を越える場合」 には、 複数の態様がある。 すなわち、 こ こには、 入力が閾値よりも小さい値のときに入力が有効となり、 入力が閾値を小 さい値から大きい値の方に越えると閾値が有効になるという、 閾値が上限値とな る態様や、 これとは逆に、 入力が閾値よりも大きい値のときに入力が有効となり 、 入力が閾値を大きい値から小さい値の方に越えると閾値が有効になるという、 閾値が下限値となる態様がある。 ここでは、 これら双方の態様のニューロンを定 義しておくことが好ましい。
さらに、 上記定義記憶部に記憶された定義には、 2つのニューロン間の結合を 別のニューロンの出力に応じて接断するスィッチの定義を含むものであって、 上 記制御アルゴリズム生成部は、 その別のニューロンを含むとともにその別のニュ 一ロンの出力に応じて接断するスィツチにより接断される結合が定義された 2つ のニューロンを含む制御アルゴリズムの生成が自在なものであることが好ましい また、 上記本発明の口ポット制御アルゴリズム構築装置において、 上記制御ァ ルゴリズム生成部は、 周期関数を実現し周期信号を出力する部分ネットワークを 含む制御アルゴリズムの生成が自在なものであり、 この場合に、 その周期関数は 、 相互に異なる周期の複数の単位周期関数の結合からなるものであって、 上記制 御アルゴリズム生成部は、 上記部分ネットワークを生成するにあたり、 複数の単 位周期関数を実現し相互に異なる周期の複数の単位周期信号を出力する複数の単 位ネットワークの結合からなる部分ネットワークを生成するものであることが好 ましい。
上記係数値決定部は、 上記制御アルゴリズム生成部により複数の単位ネットヮ —クの結合からなる部分ネットワークが生成される場合に、 その部分ネットヮ一 200
8 クの係数の値を、 その部分ネットワークを構成する複数の単位ネットワークのう ちの、 より長周期の単位周期信号を出力する単位ネットワークから、 より短周期 の単位周期信号を出力する単位ネットワークに向かって、 例えば 1つの単位ネッ トワークずつなど順次に、 各単位ネットワークの係数の値を決定していくもので あることが好ましい。
ある程度複雑なロポットを制御するための制御アルゴリズムを構築すると、 そ の制御アルゴリズム中には、 非常に多くの係数が含まれ、 制御アルゴリズムを完 成させるには、 それら非常に多数の係数の全てについて値を決定する必要がある 。 係数の値を決定する方法として例えば前述の L N Nの場合は B P法を採用する ことができるが、 この B P法は L NNに限って適用可能なものであり、 本発明で 採用している R NN (リカレントニューラルネットワーク) の場合は適用不能で ある。
係数の値を決定する他の手法として、 例えば二分法や遺伝的アルゴリズム (G A: G e n e t i c A l g o r i t h m) などが知られている。 二分法は、 基 本的には、 係数の値として取り得る第 1の範囲内のほぼ中央に位置する値を代入 して動作させることにより、 その係数の最適な値はその代入した値より大きい値 であるか小さい値であるかを評価し、 その係数に、 今度は、 その評価により得ら れた大きい値 (あるいは小さい値) が存在する、 上記の第 1の範囲の 1 / 2の第 2の範囲内のほぼ中央に位置する値を代入して評価し、 これを繰り返すことによ り範囲を狭めていき、 最終的にその係数の値を決定する方法である。 一方、 遺伝 的アルゴリズムは、 係数に少しずつ異なる値を代入して評価したり、 突然変異の ように全く異なる値を代入して評価したり、 あるいは、 遺伝子が子供に遺伝する かのように、 ある程度良好な評価が得られた 2つの値の中間的な値を代入して評 価したりなど、 生物の遺伝をモデルにして係数の値を様々に変化させて評価し、 最終的に適切な値を決定する手法である。
これら二分法や G Aを適用した場合であっても、 同時に決定すべき係数の数が 多いと、 それらの係数を決めるのに極めて多大の時間を要する結果とする。 これに対し上記のように、 周期の長い単位周期関数を実現する単位ネットヮー クから周期の短い単位周期関数を実現する単位ネットワークへと順次に係数の値 を決定していくことにより、 同時に決定する必要のある係数の数を格段に減らす ことができ、 係数値決定のプロセスを単位ネットワークの数と同数繰り返したと しても、 全ての係数の値を同時に決定しょうとした場合と比べ、 それらの係数の 決定に要する時間は、 後述する例では 1 0 5 7倍程度もの天文学的な数字で表され るほどの差が生じることになる。 また、 このように、 周期の長い単位周期関数を 実現する単位ネットワークから周期の短い単位周期関数を実現する単位ネットヮ ークへと順次に係数の値を決定していくと、 1つの単位ネットワークの係数を決 定していくたびに制御対象のロポッ卜の動きを所望の滑らかな動きに近づかせる ことができ、 ロボッ卜の動きの精度を所望の精度まで順次向上させていくことが できる。
また、 上記本発明の口ポット制御アルゴリズム構築装置において、 上記制御ァ ルゴリズム生成部は、 多項式で表わされる非周期関数を実現し非周期信号を出力 する部分ネットワークを含む制御アルゴリズムの生成が自在なものであり、 この 場合に、 上記制御アルゴリズム生成部は、 上記部分ネットワークを生成するにあ たり、 多項式の各項を実現し各項に対応する各単位信号を出力する複数の単位ネ ットワークの結合からなる部分ネットワークを生成するものであることが好まし い。
上記制御アルゴリズム生成部により上記複数の単位ネットワークの結合からな る部分ネットワークが生成される場合に、 上記係数値決定部は、 その部分ネット ワークの係数の値を、 その部分ネットワークを構成する複数の単位ネットワーク のうちの、 より次数の低い項に対応する単位信号を出力する単位ネットワークか ら、 より次数の高い項に対応する単位信号を出力する単位ネットワークに向かつ て順次に、 各単位ネットワークの係数の値を決定していくものであることが好ま しい。
周期関数 (口ポットの周期的な動作) に関する上述の説明は、 多項式で表現さ れる非周期関数 (ロボットの非周期的な動作) に関しても成り立つ。 多項式の場 合は、 より次数の低い項に対応する単位ネットワークから、 より次数の高い項に 対応する単位ネットワークに向かって順次に、 各単位ネットワークの係数値を決 定していくことになる。 また、 上記目的を達成する本発明のロポット制御アルゴリズム構築プログラム は、 プログラムを実行する情報処理装置内で実行され、 その情報処理装置を、 2 つの部材の相対的な位置もしくは姿勢を可変にそれら 2つの部材を結合する関節 を少なくとも 1つ備えたロポットの動作を制御するための制御アルゴリズムを構 築するロボット制御アルゴリズム構築装置として動作させるロボット制御アルゴ リズム構築プログラムであって、
上記情報処理装置を、
入力に基づいて遅れゼロを含むアナログ的な遅れを伴う出力を生成するニュー 口ンの定義を記憶する定義記憶部と、
定義記憶部に記憶された定義を用い、 複数のニューロンを有しそれら複数の二 ユーロンの中に遅れゼロを除くアナログ的な遅れを伴う出力を生成する遅れニュ —ロンを少なくとも 1つ含むとともに信号の流れのループが存在するリカレント ニューラルネットワークにより構築された、 値が未確定の係数を含む制御アルゴ リズムを生成する制御アルゴリズム生成部と、
制御アルゴリズム生成部で生成された制御アルゴリズムの係数の値を決定する 係数値決定部とを備えたロボット制御アルゴリズム構築装置として動作させるこ とを特徴とする。
本発明のロポット制御アルゴリズム構築プログラムは、 コンピュータ等の情報 処理装置を、 本発明のロポッ卜制御アルゴリズム構築装置として動作させるもの であり、 本発明のロボット制御アルゴリズム構築装置の各種態様は、 その態様を 実現するための、 本発明ロボット制御アルゴリズム構築プログラムの態様として 成立する。
すなわち、 上記本発明のロポット制御アルゴリズム構築プログラムにおいて、 上記制御アルゴリズム生成部は、 上記制御アルゴリズムをオペレータの操作に応 じて決定するものであってもよいが、 例えば後述する実施形態で説明するように 高次の項に対応する部分ネットワークを順次自動生成するなど、 上記制御アルゴ リズムを生成するための生成アルゴリズムをあらかじめ定めておいて、 上記制御 アルゴリズムを自動生成するものであってもよい。
また、 上記係数値決定部は、 上記係数の値を、 オペレータの操作に応じて決定 するものであるものであってもよく、 あるいは、 上記係数値決定部は、 上記係数 の値を、 制御対象のロボッ卜の動作を評価する評価関数に基づいて決定するもの であってもよく、 あるいはそれらの組合せであってもよい。
また、 上記定義記憶部は、 入力を V。、 出力を v 1 遅れを £ lとしたとき、 基 本的に、 + 。 …… (3 )
の式に従って出力 を生成するというニューロンの定義を記憶するものである ことが好ましく、 また、
上記定義記憶部に記憶された定義には、 複数の入力を受けそれら複数の入力の 総和に基づいて、 遅れゼロを含むアナログ的な遅れを伴う出力を生成するという ニューロンの定義を含むものであり、 上記制御アルゴリズム生成部は、 その定義 に従うニューロンを含む制御アルゴリズムの生成が自在なものであることが好ま しく、. また、
上記定義記憶部に記憶された定義には、 入力に重みを付し重みを付した入力に 基づいて、 遅れゼロを含むアナログ的な遅れを伴う出力を生成するというニュー ロンの定義を含むものであり、 上記制御アルゴリズム生成部は、 その定義に従う ニューロンを含む制御アルゴリズムの生成が自在なものであることが好ましい。 ここで、 上記定義記憶部に記憶された定義に、 上記の、 入力に重みを付する二 ユーロンの定義を含む場合に、 その上記定義記憶部に記憶された定義には、 その 重みを別のニューロンの出力に応じて変更する定義を含むものであって、 上記制 御アルゴリズム生成部は、 入力に重みを付するニューロンを含むとともにその重 みを変更する別のニューロンを含む制御アルゴリズムの生成が自在なものである ことが好ましい。
また、 上記定義記憶部に記憶された定義には、 ニューロンの遅れを別のニュー ロンの出力に応じて変更する定義を含むものであって、 上記制御アルゴリズム生 成部は、 その別のニューロンを含むとともにその別のニューロンの出力によって 変更される遅れを伴う出力を生成するニューロンを含む制御アルゴリズムの生成 が自在なものであることが好ましく、 また、 上記定義記憶部に記憶された定義には、 入力が閾値を越える場合に入力に代え て閾値を採用するニューロンの定義を含むものであって、 上記制御アルゴリズム 生成部は、 その定義に従うニューロンを含む制御アルゴリズムの生成が自在なも のであることが好ましく、 さらに、
上記定義記憶部に記憶された定義には、 2つのニューロン間の結合を別のニュ 一ロンの出力に応じて接断するスィツチの定義を含むものであつて、 上記制御ァ ルゴリズム生成部は、 その別のニューロンを含むとともにその別のニューロンの 出力に応じて接断するスィッチにより接断される結合が定義された 2つのニュー ロンを含む制御アルゴリズムの生成が自在なものであることも好ましい形態であ る。
さらに、 上記本発明のロボット制御アルゴリズム構築プログラムにおいて、 上 記制御アルゴリズム生成部は、 周期関数を実現し周期信号を出力する部分ネット ワークを含む制御アルゴリズムの生成が自在なものであり、 この場合にその周期 関数は、 相互に異なる周期の複数の単位周期関数の結合からなるものであって、 上記制御アルゴリズム生成部は、 上記部分ネットワークを生成するにあたり、 複 数の単位周期関数を実現し相互に異なる周期の複数の単位周期信号を出力する複 数の単位ネットワークの結合からなる部分ネットワークを生成するものであるこ とが好ましく、 さらに、 上記係数値決定部は、 上記制御アルゴリズム生成部によ り複数の単位ネットワークの結合からなる部分ネットワークが生成される場合に 、 その部分ネットワークの係数の値を、 その部分ネットワークを構成する複数の 単位ネッ卜ワークのうちの、 より長周期の単位周期信号を出力する単位ネットヮ ークから、 より短周期の単位周期信号を出力する単位ネットワークに向かって順 次に、 各単位ネットワークの係数の値を決定していくものであることが好ましい さらに、 上記本発明のロボット制御アルゴリズム構築プログラムにおいて、 上 記制御アルゴリズム生成部は、 多項式で表わされる非周期関数を実現し非周期信 号を出力する部分ネットワークを含む制御アルゴリズムの生成が自在なものであ り、 この場合に上記制御アルゴリズム生成部は、 上記部分ネットワークを生成す るにあたり、 多項式の各項を実現し各項に対応する各単位信号を出力する複数の 単位ネットワークの結合からなる部分ネットワークを生成するものであることが 好ましく、 この場合にさらに、 上記係数値決定部は、 上記制御アルゴリズム生成 部により複数の単位ネットワークの結合からなる部分ネットヮ一クが生成される 場合に、 その部分ネットワークの係数の値を、 その部分ネットワークを構成する 複数の単位ネットワークのうちの、 より次数の低い項に対応する単位信号を出力 する単位ネットワークから、 より次数の高い項に対応する単位信号を出力する単 位ネットワークに向かって順次に、 各単位ネットワークの係数の値を決定してい くものであることが好ましい。
また、 本発明の口ポット制御装置は、 2つの部材の相対的な位置もしくは姿勢 を可変にそれらの 2つの部材を結合する関節を少なくとも 1つ備えたロポッ卜の 動作を制御するロポット制御装置において、
入力に基づいて遅れゼロを含むアナログ的な遅れを伴う出力を生成する複数の ニューロンを有しそれら複数のニューロンの中に遅れゼロを除くアナログ的な遅 れを伴う出力を生成する遅れニューロンを少なくとも 1つ含むとともに信号の流 れのループが存在するリカレントニューラルネットワークにより構築された制御 アルゴリズムを記憶する制御アルゴリズム記憶部と、
制御アルゴリズム記憶部に記憶された制御アルゴリズムに基づいて生成された 制御信号を用いて制御対象のロボットを制御するロポット制御部とを備えたこと を特徴とする。
本発明のロポット制御装置は、 例えば本発明のロボット制御アルゴリズム構築 装置等を用いて構築した制御アルゴリズム、 すなわち、 上述の定義における遅れ ニューロンを有する R N Nにより構築された制御アルゴリズムを記憶しておき、 その記憶された制御アルゴリズムに基づいて生成された制御信号を用いて制御対 象のロボットを制御するものであり、 制御アルゴリズムが安価に供給できること から、 このロポット制御装置も安価に構成することができる。
ここで、 本発明の口ポット制御装置において、 上記リカレントニューラルネッ トワークを構成するニューロンは、 入力を V。、 出力を V 遅れを £ェとしたと き、 基本的に、 άν, 了,
£i + = v。 ······ ( 3 )
の式に従う出力 を生成するものであることが好ましく、 また、
上記リカレントニューラルネットワークは、 複数の入力を受けそれら複数の入 力の総和に基づいて、 遅れゼロを含むアナログ的な遅れを伴う出力を生成する二 ユーロンの定義を含むものであって、 制御アルゴリズム記憶部は、 その定義に従 うニューロンを含む制御アルゴリズムを記憶するものであることが好ましく、 さ らに、
上記リカレントニューラルネットワークは、 入力に重みを付し、 重みを付した 入力に基づいて、 遅れゼロを含むアナログ的な遅れを伴う出力を生成するニュー ロンの定義を含むものであって、 制御アルゴリズム記憶部は、 その定義に従う二 ュ一ロンを含む制御アルゴリズムを記憶するものであることも好ましい態様であ る。
ここで、 入力に重みを付するニューロンを含む場合に、 上記リカレントニュー ラルネットワークは、 その重みを別のニューロンの出力に応じて変更する定義を 含むものであって、 制御アルゴリズム記憶部は、 入力に重みを付するニューロン を含むとともにその重みを変更する別のニューロンを含む制御アルゴリズムを記 憶するものであることが好ましい。
また、 本発明のロボット制御装置において、 上記リカレントニューラルネット ワークは、 ニューロンの遅れを別のニューロンの出力に応じて変更する定義を含 むものであって、 制御アルゴリズム記憶部は、 その別のニューロンを含むととも にその別のニューロンの出力によって変更される遅れを伴う出力を生成するニュ 一ロンを含む制御アルゴリズムを記憶するものであることが好ましく、 また、 上記リカレントニューラルネットワークは、 入力が閾値を越える場合に入力に 代えて閾値を採用するニューロンの定義を含むものであって、 制御アルゴリズム 記憶部は、 その定義に従うニューロンを含む制御アルゴリズムを記憶するもので あることが好ましく、 さらには、
上記リカレントニューラルネットワークは、 2つのニューロン間の結合を、 別 のニューロンの出力に応じて接断するスィッチの定義を含むものであって、 制御 アルゴリズム記憶部は、 その別のニューロンを含むとともにその別のニューロン の出力に応じて接断するスィッチにより接断される結合が定義された 2つのニュ 一ロンを含む制御アルゴリズムを記憶するものであるこも好ましい形態である。 さらに、 本発明のロボット制御装置において、 上記制御アルゴリズム記憶部は 、 周期関数を実現し周期信号を出力する部分ネットワークを含む制御アルゴリズ ムを記憶するものであってもよく、 その場合に、 その周期関数は相互に異なる周 期の複数の単位周期関数の結合からなるものであって、 制御アルゴリズム記憶部 は、 上記複数の単位周期関数を実現する複数の単位ネットワークの結合からなる 部分ネットワークを含む制御アルゴリズムを記憶するものであってもよい。 また、 本発明の口ポット制御装置において、 上記制御アルゴリズム記憶部は、 多項式で表わされる非周期関数を実現し非周期信号を出力する部分ネットワーク を含む制御アルゴリズムを記憶するものであってもよく、 その場合に、 上記制御 アルゴリズム記憶部は、 多項式の各項を実現する複数の単位ネットワークの結合 からなる部分ネットワークを含む制御アルゴリズムを記憶するものであってもよ い。
尚、 このロボット制御装置は、 口ポットの動作シミュレーションを行なうロボ ットシミュレーシヨン装置内に実現されたアルゴリズムとしてのロポットを制御 対象とするものであってもよく、 あるいは、 この口ポット制御装置は、 ハードウ エア的に製作された現実のロボットを制御対象とするものであってもよい。 また、 上記目的を達成する本発明のロボット制御プログラムは、 プログラムを 実行する情報処理装置内で実行され、 その情報処理装置を、 2つの部材の相対的 な位置もしくは姿勢を可変にそれらの部材を結合する関節を少なくとも 1つ備え たロポットの動作を制御するロボット制御装置として動作させるロポット制御プ ログラムであって、
上記情報処理装置を、
入力に基づいて遅れゼロを含むアナログ的な遅れを伴う出力を生成する複数の ニューロンを有しそれらのニューロンの中に遅れゼロを除くアナログ的な遅れを 伴う出力を生成する遅れニューロンを少なくとも 1つ含むとともに信号の流れの ループが存在するリカレントニューラルネットワークにより構築された制御アル ゴリズムを記憶する制御アルゴリズム記憶部と、
制御アルゴリズム記憶部に記憶された制御アルゴリズムに基づいて生成された 制御信号を用いて制御対象のロボットを制御するロボット制御部とを備えたロボ ット制御装置として動作させることを特徴とする。
本発明のロボット制御プログラムは、 コンピュータ等の情報処理装置を本発明 のロポット制御装置として動作させるものであり、 本発明のロボット制御装置の 各種態様は、 その各種態様を実現する、 本発明のロボット制御プログラムの態様 として成立する。
すなわち、 本発明の口ポット制御プログラムにおいて、 上記リカレントニュー ラルネットワークを構成するニューロンは、 入力を V。、 出力を V 遅れを £丄 としたとき、 基本的に、 …… (3 )
Figure imgf000018_0001
の式に従う出力 ェを生成するものであることが好ましく、 また、
上記リカレントニューラルネットワークは、 複数の入力を受けそれら複数の入 力の総和に基づいて、 遅れゼロを含むアナログ的な遅れを伴う出力を生成する二 ユーロンの定義を含むものであって、 制御アルゴリズム記憶部は、 その定義に従 うニューロンを含む制御アルゴリズムを記憶するものであることが好ましく、 さ らに、
上記リカレントニューラルネットワークは、 入力に重みを付し、 重みを付した 入力に基づいて、 遅れゼロを含むアナログ的な遅れを伴う出力を生成するニュー ロンの定義を含むものであって、 制御アルゴリズム記憶部は、 その定義に従う二 ユーロンを含む制御アルゴリズムを記憶するものであることも好ましい態様であ る。
ここで、 入力に重みを付するニューロンを含む場合に、 上記リカレントニュー ラルネットワークは、 その重みを別のニューロンの出力に応じて変更する定義を 含むものであって、 制御アルゴリズム記憶部は、 入力に重みを付するニューロン を含むとともにその重みを変更する別のニューロンを含む制御アルゴリズムを記 憶するものであることが好ましい。 また、 本発明のロボット制御プログラムにおいて、 上記リカレントニューラル ネットワークは、 ニューロンの遅れを別のニューロンの出力に応じて変更する定 義を含むものであって、 制御アルゴリズム記億部は、 その別のニューロンを含む とともにその別のニューロンの出力によって変更される遅れを伴う出力を生成す るニューロンを含む制御アルゴリズムを記憶するものであることが好ましく、 ま た、
上記リカレントニューラルネットワークは、 入力が閾値を越える場合に入力に 代えて閾値を採用するニューロンの定義を含むものであって、 制御アルゴリズム 記憶部は、 その定義に従うニューロンを含む制御アルゴリズムを記憶するもので あることが好ましく、 さらには、
上記リカレントニューラルネットワークは、 2つのニューロン間の結合を、 別 のニューロンの出力に応じて接断するスィッチの定義を含むものであって、 制御 アルゴリズム記憶部は、 その別のニューロンを含むとともにその別のニューロン の出力に応じて接断するスィッチにより接断される結合が定義された 2つのニュ —ロンを含む制御アルゴリズムを記憶するものであることも好ましい形態である さらに、 本発明の口ポット制御プログラムにおいて、 上記制御アルゴリズム記 憶部は、 周期関数を実現し周期信号を出力する部分ネットワークを含む制御アル ゴリズムを記憶するものであってもよく、 その場合に、 その周期関数は相互に異 なる周期の複数の単位周期関数の結合からなるものであって、 制御アルゴリズム 記憶部は、 上記複数の単位周期関数を実現する複数の単位ネットワークの結合か らなる部分ネットワークを含む制御アルゴリズムを記憶するものであつてもよい また、 本発明のロボット制御プログラムにおいて、 上記制御アルゴリズム記憶 部は、 多項式で表わされる非周期関数を実現し非周期信号を出力する部分ネット ワークを含む制御アルゴリズムを記憶するものであってもよく、 その場合に、 上 記制御アルゴリズム記憶部は、 多項式の各項を実現する複数の単位ネットワーク の結合からなる部分ネットワークを含む制御アルゴリズムを記憶するものであつ てもよい。 尚、 この口ポット制御プログラムは、 上記情報処理装置を、 ロボットの動作シ ミュレ一シヨンを行なうロポットシミュレーション装置内に実現されたアルゴリ ズムとしてのロボットを制御対象とするロボット制御装置として動作させるもの であってもよく、 あるいは、 このロボット制御プログラムは、 上記情報処理装置 を、 ハードウェア的に製作された現実のロボットを制御対象とするロポット制御 装置として動作させるものであってもよい。
さらに、 上記目的を達成する本発明のロボットは、 2つの部材の相対的な位置 もしくは姿勢を可変にそれら 2つの部材を結合する関節を少なくとも 1つ備えた ロポッ卜において、
このロポッ卜の動作を制御するロポット制御装置を備え、
そのロポッ卜制御装置が、
入力に基づいて遅れゼロを含むアナログ的な遅れを伴う出力を生成する複数の ニューロンを有しそれら複数のニューロンの中に遅れゼロを除くアナログ的な遅 れを伴う出力を生成する遅れニューロンを少なくとも 1つ含むとともに信号の流 れのループが存在するリカレントニューラルネットワークにより構築された制御 アルゴリズムを記憶する制御アルゴリズム記憶部と、
制御アルゴリズム記憶部に記憶された制御アルゴリズムに基づいて生成された 制御信号を用いてこのロボットの動作を制御するロポット制御部とを備えたこと を特徴とする。
本発明のロポットは、 本発明のロボット制御装置がそのロボット制御装置によ り制御される対象のロボッ卜に組み込まれた構成のものであり、 本発明のロポッ 卜には、 本発明のロボット制御装置の各種態様がそのまま含まれる。
すなわち、 本発明の口ポットにおいて、 上記リカレントニューラルネットヮ一 クを構成するニューロンは、 入力を V 0、 出力を 遅れを £ iとしたとき、 基 本的に、
Figure imgf000020_0001
= …… (3 )
の式に従う出力 ェを生成するものであることが好ましく、 また、
上記リカレントニューラルネットワークは、 複数の入力を受けそれら複数の入 力の総和に基づいて、 遅れゼロを含むアナログ的な遅れを伴う出力を生成する二 ユーロンの定義を含むものであって、 制御アルゴリズム記億部は、 その定義に従 うニューロンを含む制御アルゴリズムを記憶するものであることが好ましく、 さ らに、
上記リカレントニューラルネットワークは、 入力に重みを付し、 重みを付した 入力に基づいて、 遅れゼロを含むアナログ的な遅れを伴う出力を生成するニュー ロンの定義を含むものであって、 制御アルゴリズム記憶部は、 その定義に従う二 ユーロンを含む制御アルゴリズムを記憶するものであることも好ましい態様であ る。
ここで、 入力に重みを付するニューロンを含む場合に、 上記リカレントニュー ラルネットワークは、 その重みを別のニューロンの出力に応じて変更する定義を 含むものであって、 制御アルゴリズム記憶部は、 入力に重みを付するニューロン を含むとともにその重みを変更する別のニューロンを含む制御アルゴリズムを記 憶するものであることが好ましい。
また、 本発明のロボットにおいて、 上記リカレントニューラルネットワークは 、 ニューロンの遅れを別のニューロンの出力に応じて変更する定義を含むもので あって、 制御アルゴリズム記憶部は、 その別のニューロンを含むとともにその別 のニューロンの出力によって変更される遅れを伴う出力を生成するニューロンを 含む制御アルゴリズムを記憶するものであることが好ましく、 また、
上記リカレントニューラルネットワークは、 入力が閾値を越える場合に入力に 代えて閾値を採用するニューロンの定義を含むものであって、 制御アルゴリズム 記憶部は、 その定義に従うニューロンを含む制御アルゴリズムを記憶するもので あることが好ましく、 さらには、
上記リカレントニューラルネットワークは、 2つのニューロン間の結合を、 別 のニューロンの出力に応じて接断するスィッチの定義を含むものであって、 制御 アルゴリズム記憶部は、 その別のニューロンを含むとともにその別のニューロン の出力に応じて接断するスィッチにより接断される結合が定義された 2つのニュ 一ロンを含む制御アルゴリズムを記憶するものであるこも好ましい形態である。 さらに、 本発明のロボットにおいて、 上記制御アルゴリズム記憶部は、 周期関 数を実現し周期信号を出力する部分ネットワークを含む制御アルゴリズムを記憶 するものであってもよく、 その場合に、 その周期関数は相互に異なる周期の複数 の単位周期関数の結合からなるものであって、 制御アルゴリズム記憶部は、 上記 複数の単位周期関数を実現する複数の単位ネットワークの結合からなる部分ネッ トワークを含む制御アルゴリズムを記憶するものであってもよい。
また、 本発明のロボットにおいて、 上記制御アルゴリズム記憶部は、 多項式で 表わされる非周期関数を実現し非周期信号を出力する部分ネットワークを含む制 御アルゴリズムを記憶するものであってもよく、 その場合に、 上記制御アルゴリ ズム記憶部は、 多項式の各項を実現する複数の単位ネットワークの結合からなる 部分ネットワークを含む制御アルゴリズムを記憶するものであってもよい。 図面の簡単な説明
図 1は、 Z MP法の原理説明図である。
図 2は、 階層化ニューラルネットワーク '(LNN : L aye r e d Ne u r a 1 Ne two r k) のモデルを示した図である。
図 3は、 図 2に示す LNNを構成する各ニューロンのモデルを示す図である。 図 4は、 そのニューロンの入出力の関係を規定するシグモイド関数を示す図で ある。
図 5は、 RNNのモデルを示す図である。
図 6は、 コンピュータと、 そのコンピュータとの間で通信を行なう口ポットの 外観図である。
図 7は、 図 1に示したコンピュータのハードウエア構成図である。
図 8は、 本発明のロボッ卜制御アルゴリズム構築プログラムの一実施形態の概 要を示す模式図である。
図 9は、 本発明のロボット制御アルゴリズム構築装置の一実施形態を示すプロ ック図である。
図 10は、 ニューロンの表記を示した図である。
図 11は、 ニューロンどうしの接続の表記を示す図である。
図 12は、 時間遅れのないニューロンを示す図である。 図 1 3は、 時間遅れのないニューロンの入出力の時間変化を示す図である。 図 1 4は、 ε の遅れ ε ェを有するニューロンを示す図である。
図 1 5は、 ε の遅れ ε を有するニューロンの入出力の時間変化を示す図 である。
図 1 6は、 複数入力のニューロンを示す図である。
図 1 7は、 上限閾値を持つニューロンを示す図である。
図 1 8は、 下限閾値を持つニューロンを示す図である。
図 1 9は、 図 1 6を参照して説明した重み付けと、 図 1 7 , 図 1 8を参照して 示した閾値との双方を含む一般的なニューロンを示した図である。
図 2 0は、 スィッチを示す図である。
図 2 1は、 ニューロンによる遅れの変更を示す図である。
図 2 2は、 ニューロンによる結線の重みの変更を示す図である。
図 2 3は、 2つのニューロンの組合せの一例を示す図である。
図 2 4は、 図 2 2に示す組合せの 2のニューロンの入出力を示す図である。 図 2 5は、 三角関数生成器の一例を示す図である。
図 2 6は、 図 2 5に示す三角関数生成器を複数組み合わせた部分ネットワーク を示す図である。
図 2 7は、 三角関数生成器のもう 1つの例を示す図である。
図 2 8は、 n次多項式生成器を示す図である。
図 2 9は、 運動の切り換えを行なうときのニューロンの組合せを示す図である 図 3 0は、 2ニューロンからなる、 正弦波出力を得る R NN (図 2 5参照) と 、 関節が 1つだけの口ポットを示す図である。
図 3 1は、 口ポットのアームに任意周期運動を行なわさせる構成を示した図で ある。
図 3 2は、 ロポッ卜のアームに非周期運動を行なわさせる構成を示した図であ る。
図 3 3は、 積分 (乗) を除く P D制御の一例を示す図である。
図 3 4は、 P I D制御の一例を示した図である。 図 3 5は、 P I D制御のもう 1つの例を示した図である。
図 3 6は、 ロボットおよびそのロポットを制御する制御アルゴリズム等を含む 全体システムの概念図である。
図 3 7は、 二足歩行ロボットの足とその足の運動を制御する R NNの模式図で ある。
図 3 8は、 ロボットの運動学習システムの概要を示す図である。
図 3 9は、 以上の学習プロセスをまとめたフローチャートである。
図 4 0は、 本発明のロポット制御プログラムの一実施形態の概要を示す模式図 である。
図 4 1は、 本発明のロボット制御装置の一実施形態を示すブロック図である。 図 4 2は、 本発明の口ポットの一実施形態の外観図である。
図 4 3は、 図 4 2のロボット 5 0 0の構成を示すブロック図である。 発明を実施するための最良の形態
以下、 本発明の実施形態について説明する。
以下に説明する本発明の各実施形態としてのロボット制御アルゴリズム構築装 置およびロボット制御装置は、 共通の一台のコンピュータと、 そのコンピュータ 内で動作する、 本発明の各実施形態としてのロポット制御アルゴリズム構築プロ グラムおよびロボット制御プログラムとの組合せにより構成されたものである。 以下では先ず、 本発明の実施形態としてのロポット制御アルゴリズム構築装置 およびロボット制御装置を構成するコンピュータのハードウェアについて説明す る。
図 6は、 コンピュータと、 そのコンピュータとの間で通信を行なう口ポットの 外観図である。
C P U (中央処理装置) 、 R AM (ランダムアクセスメモリ) 、 ハードデイス ク、 通信ボード等が内蔵された本体部 1 0 1、 本体部 1 0 1からの指示により表 示画面 1 0 2 a上に画像や文字列を表示する表示装置 1 0 2、 コンピュータ 1 0 0に操作者の指示を入力するためのキーボード 1 0 3、 表示画面 1 0 2 a上の任 意の位置を指定することにより、 その指定時にその位置に表示されていたアイコ ン等に応じた指示を入力するマウス 104、 およびロボット 200との間で通信 を行なうためのアンテナ 105を備えている。
本体部 101は、 さらに外観上、 フレキシブルディスク (図示せず) 、 CD— ROM 300がそれぞれ装填される FD装填口 101 a、 CD— ROM装填口 1 01 bを有しており、 それらの内部には、 それらの装填口 101 a, 101 か ら装填されたフレキシブルディスク (FD) や CD— ROM300をドライブし てアクセスする FDドライブや CD— ROMドライブも内蔵されている。
一方、 ロボット 200は、 人体に似せた形状を有し、 人間の鉢の関節に相当す る部分に 2つの部材どうしの間の角度の調節が自在な関節を有し、 さらに人間の 目に対応する部分にカメラ、 人間の耳に対応する部分にマイクロホン、 人間の手 先に相当する部分に接触センサを備えるなど、 このロボッ卜には各種のセンサが 備えられている。 また、 このロボットには通信設備が内蔵されており、 コンビュ 一夕 100との間で通信を行ない、 コンピュータ 100に向けて各種センサの情 報を送信し、 コンピュータ 100からは制御信号を受信してその制御信号に基づ いて二足歩行などの動作を行なうように構成されている。
尚、 このコンピュータ 100には、 ロボット 200に相当する、 アルゴリズム 上で構築した口ポットが内蔵されており、 このコンピュータ 100を用いて構築 されたロポット 200の動作を制御するための制御アルゴリズムは、 直ちにロボ ット 200の動作制御に用いるのではなく、 先ずは、 コンピュータ 100内に構 築されたアルゴリズムとしての口ポットをその制御アルゴリズムで動作させるこ とにより動作シミュレ一ションが行なわれ、 意図した通りの動作を行なうことが 確認された後、 その制御アルゴリズムが、 ハードウェア的に製作されたロボット 200に適用される。
図 7は、 図 6に示したコンピュータのハードゥエァ構成図である。
このハードウェア構成図には、 CPU 1 1 1、 RAMI 12、 ハードディスク コントローラ 113、 FDドライブ 114、 CD— ROMドライブ 1 15、 マウ スコントローラ 1 16、 キ一ボードコントローラ 1 17、 ディスプレイコント口 ーラ 1 18、 およびロボット 200 (図 6参照) との間で通信を行なうための通 信ボード 1 19が示されており、 それらはバス 110で相互に接続されている。 FDドライブ 1 14、 CD— ROMドライブ 1 15は、 図 6を参照して説明し たように、 それぞれ FD装填口 101 aおよび CD— ROM装填口 101 から 装填された FD310、 CD— ROM300をアクセスするものである。 通信ポ ード 119はアンテナ 105を介して、 ロボット 200と通信を行なう。
また、 図 7には、 ハードディスクコントローラ 1 13によりアクセスされる八 ードディスク 120、 マウスコントローラ 1 16により制御されるマウス 104 、 キーボードコントローラ 1 17により制御されるキーボード 103、 およびデ イスプレイコントローラ 1 18により制御される表示装置 102も示されている 図 8は、 本発明のロポット制御アルゴリズム構築プログラムの一実施形態の概 要を示す模式図である。
ここでは、 このロボット制御アルゴリズム構築プログラム 400は CD— R〇 M300に記憶されており、 この CD— ROM 300が図 6に示す C D— R OM 装填口 101 bから装填され図 7の CD— ROMドライブ 115によりアクセス されて、 その CD— ROM 300に記憶されている口ポット制御アルゴリズム構 築プログラム 400が、 図 6, 図 7に示すコンピュータ 100にインストールさ れる。 そのコンピュータ 100内にインストールされたロボット制御アルゴリズ ム構築プログラムがそのコンピュータ 100内で実行されると、 そのコンビュ一 夕 100は、 本発明のロボット制御アルゴリズム構築装置の一実施形態として動 作する。
尚、 このロボット制御アルゴリズム構築プログラム 400は、 ここでは CD— ROM300に記憶されている例を示したが、 CD—ROMに記憶されている必 要はなく、 例えば FD等他の可搬型記憶媒体に記憶されてコンピュータ 100に インストールされてもよく、 あるいは、 他の装置等から通信網 (図示せず) を介 してコンピュータ 100にインストールされてもよく、 あるいは、 そのコンビュ —夕 100のハードディスク (図 7参照) 等にはじめから記憶されていてもよく 、 最終的にコンピュータで実行可能となるものであればどのように保存あるいは 記憶されていてもよい。
図 8に示すロボット制御アルゴリズム構築プログラム 400は、 定義記憶部 4 0 1と、 制御アルゴリズム生成部 4 0 2と、 係数値決定部 4 0 3とからなる。 こ のロボット制御アルゴリズム構築プログラム 4 0 0の各部 4 0 1〜4 0 3の作用 は、 図 9の説明と合わせて説明する。
図 9は、 本発明のロボット制御アルゴリズム構築装置の一実施形態を示すプロ ック図である。
この口ポット制御アルゴリズム構築装置 4 1 0は、 図 6, 図 7に示すコンピュ 一夕 1 0 0内で図 8に示すロポット制御アルゴリズム構築プログラム 4 0 0が実 行されることにより、 図 6 , 図 7に示すコンピュータ 1 0 0内に実現するもので ある。
この図 9の口ポット制御アルゴリズム構築装置 4 1 0は、 定義記憶部 4 1 1、 制御アルゴリズム生成部 4 1 2、 および係数値決定部 4 1 3から構成されている 。 これら定義記憶部 4 1 1、 制御アルゴリズム生成部 4 1 2、 および係数値決定 部 4 1 3は、 それぞれ、 図 8に示すロボット制御アルゴリズム構築プログラム 4 0 0の、 定義記憶部 4 0 1、 制御アルゴリズム生成部 4 0 2、 および係数値決定 部 4 0 3に対応するが、 図 8のロボット制御アルゴリズム構築装置 4 1 0の各部 4 1 1〜4 1 3は図 6, 図 7のコンピュータ 1 0 0のハードウェアおよびそのコ ンピュー夕 1 0 0内で実行されるオペレーティングシステム (O S ) と、 その O S上で動作する、 図 8に示すロポット制御アルゴリズム構築プログラム 4 0 0の 各部 4 0 1〜4 0 3との結合で構成されているのに対し、 図 8に示すロポット制 御アルゴリズム構築プログラム 4 0 0の各部 4 0 1〜4 0 3は、 それらの複合の うちのアプリケーションプログラムの部分のみで構成されている。 図 8に示す口 ポット制御アルゴリズム構築プログラム 4 0 0を構成する各部 4 0 1〜4 0 3の 、 このロボット制御アルゴリズム構築プログラム 4 0 0が図 6 , 図 7のコンビュ 一夕 1 0 0内で実行されたときの作用は、 図 9に示すロポット制御アルゴリズム 構築装置 4 1 0を構成する各部 4 1 1〜4 1 3の作用そのものであり、 以下、 図 9のロポット制御アルゴリズム構築装置 4 1 0の各部 4 1 1〜4 1 3の作用を説 明することで、 図 8のロポット制御アルゴリズム構築プログラム 4 0 0の各部 4 0 1〜4 0 3の作用の説明を兼ねるものとする。
図 9に示すロボット制御アルゴリズム構築装置 4 1 0は、 2つの部材の相対的 な位置もしくは姿勢を可変にそれら 2つの部材を結合する関節を少なくとも 1つ 備えたロボットの動作を制御するための制御アルゴリズムを構築する装置である 。 図 6に示す口ポット 2 0 0は人間の鉢の構造に似せた構造を有するヒユーマノ ィド型のロポットであり、 人間の手足等に対応する部分に複数の関節を有する。 この図 9のロボット制御アルゴリズム構築装置 4 1 0を構成する定義記憶部 4 1 1は、 入力に基づいて遅れゼロを含むアナログ的な遅れを伴う出力を生成する ニューロンの定義を記憶しておくものである。 ここに記憶されているニューロン は、 基本的には、 入力を V 0、 出力を V ,、 遅れを £ lとしたとき、 …… (3 )
Figure imgf000028_0001
の式に従って出力 を生成するものである。
この (3 ) 式は、 この (3 ) 式を積分することにより、
Figure imgf000028_0002
と表現することもできる。
このニューロンは上記 (3 ) 式 (あるいはその (3 ) 式と等価の (4 ) 式) を 満足するように記述されたプログラム部品で構成されている。 この定義記憶部 4 1 1には、 そのプログラム部品としてのニューロンが記憶されていることのほか 、 さらにそのニューロンを表わすマークも記憶されていてもよい。 この定義記憶 部 4 1 1に記憶されたニューロンの他の定義、 およびニューロン以外の、 R N N を構成するための他の定義については後述する。
図 9のロポット制御アルゴリズム構築装置 4 1 0を構成する制御アルゴリズム 生成部 4 1 2では、 定義記憶部 4 1 1に記憶された定義を用い、 例えばオペレー 夕による図 6, 図 7に示すコンピュータ 1 0 0のキーボード 1 0 3やマウス 1 0 4を操作に応じて、 口ポット 2 0 0 (図 6参照) を制御するための制御アルゴリ ズムが構築される。 あるいは、 制御アルゴリズムを生成するアルゴリズムをあら かじめ定めておいて、 オペレータの操作を待つことなく、 その生成アルゴリズム に基づいて制御アルゴリズムを自動的に生成してもよい。 この制御アルゴリズムは、 上記 (3) 式の ε tがゼロではない有限の値を持つ遅 れニューロンを含む複数のニューロンを有し、 さらに信号の流れのループが存在 するリカレントニューラルネットワーク (RNN) により構築されたものである 。 ただし、 この制御アルゴリズム生成部 412で構築される制御アルゴリズムは 、 各種の係数 (例えば上記 (3) , (4) 式中の遅れ £ lや積分定数 Cなど) を変 数のまま含んでおり、 それらの係数の値は未決定の状態にある。
図 9に示すロボット制御アルゴリズム構築装置 410を構成する係数値決定部 413では、 制御アルゴリズム生成部 412で生成された制御アルゴリズムの係 数の値が決定される。
この係数値決定部 413は、 係数の値を、 もっぱらオペレータの操作に応じて 決定するものであってもよいが、 本実施形態では、 図 9に示すように、 ロボット の動作を評価する評価関数に基づいて算定された係数の値を変化させながらロボ ットを動作させたときの評価値が入力され、 その評価値が最高の値になるように 係数が決められる。 評価関数は、 口ポットの動作を、 「エネルギー最小」 、 「口 ポット本体の安定性」 、 「高速性」 等その口ポットの特質等を考慮した 1つある いは複数の項目からなる。 係数の決定プロセスの詳細については後述する。
定義記憶部 41 1に記憶される定義は、 基本的には上記 (3) 式 (あるいはそ れと等価な (4) 式) に従うニューロンであるが、 その定義記憶部 41 1に記憶 される定義には、 この他、 そのニューロンを変形した、 あるいはそのニューロン から派生したいくつかのニューロンの定義や、 それらのニューロンに付随する定 義が含まれている。 すなわち、 この定義記憶部 41 1には、
(a 1) 上記 (3) 式 (あるいは (4) 式) に従う基本的なニューロンの定義 (a 2) 複数の入力を受けそれら複数の入力の総和に基づいて、 遅れゼロを含 むアナログ的な遅れを伴う出力を生成するニューロンの定義
(a 3) 入力に重みを付し重みを付した入力に基づいて、 遅れゼロを含むアナ ログ的な遅れを伴う出力を生成するニューロンの定義
(a 4) 上記の重みを別のニューロンの出力に応じて変更するという定義 (a 5) ニューロンの遅れを別のニューロンの出力に応じて変更するといぅ定 (a 6) 入力が閾値を越える場合に入力に代えて閾値を採用するニューロンの
(a 7) 2つのニューロン間の結合を別のニューロンの出力に応じて接断する スィッチの定義
が記憶されている。
これらの定義は、 (3) 式あるいは (4) 式の定義の際に説明したとおり、 プ ログラム部品の形で記憶されており、 制御アルゴリズム生成部 412では、 その 定義記憶部 411に記憶された (a l) 〜 (a7) の定義に従うプログラム部品 が駆使されて、 それらのプログラム部品が組み合わされた R N Nによる制御アル ゴリズムが構築される。
すなわち、 制御アルゴリズム生成部 412は、 定義記憶部 411に記憶された 定義を用い、 複数のニューロンを有しそれら複数のニュ一ロンの中に遅れゼロを 除くアナログ的な遅れを伴う出力を生成する遅れニューロンを少なくとも 1つ含 むとともに信号の流れのループが存在するリカレントニューラルネットワーク ( RNN) により構築された、 値が未確定の係数を含む制御アルゴリズムを生成す るものであり、 この制御アルゴリズム生成部 412では、
(b 1) 上記 (3) 式 (あるいは (4) 式) に従う基本的なニューロンのほか
(b 2) 複数の入力を受けそれら複数の入力の総和に基づいて、 遅れゼロを含 むアナログ的な遅れを伴う出力を生成するというニューロンの定義に従うニュー ロン
(a 3) 入力に重みを付し重みを付した入力に基づいて、 遅れゼロを含むアナ ログ的な遅れを伴う出力を生成するというニューロンの定義に従うニューロン (a 4) 入力に重みを付するニューロンの、 その重みを変更する別のニューロ ン
(a 5) アナログ的な遅れを伴う出力を生成するニューロンの遅れを変更する 別のニューロン
(a 6) 入力が閾値を越える場合に入力に代えて閾値を採用するニューロンの 定義に従うニューロン ( b 7 ) スィッチにより接断される結合が定義された 2つのニューロンとその スィッチを接断する別のニューロン
を駆使することにより、 制御対象の口ポットの動作制御に適合した、 R N Nから なる制御アルゴリズムが構築される。
さらに、 その制御アルゴリズム生成部 4 1 2は、 定義記憶部 4 1 1に記憶され た定義に従うニューロンを接続することにより、 周期関数を実現し周期信号を出 力する部分ネットワークを含む制御アルゴリズムを生成することができ、 その周 期関数が、 相互に異なる周期の複数の単位周期関数の結合からなるものである場 合に、 制御アルゴリズム生成部 4 1 2は、 上記の部分ネットワークを生成するに あたり、 複数の単位周期関数を実現し相互に異なる周期の複数の単位周期信号を 出力する複数の単位ネットワークの結合からなる部分ネットワークを生成する。 そして、 係数決定部 4 1 3は、 制御アルゴリズム生成部 4 1 2により生成された 複数の単位ネットワークの結合からなる部分ネットワークの係数の値を、 その部 分ネットワークを構成する複数の単位ネットワークのうちの、 より長周期の単位 周期信号を出力する単位ネットワークから、 より短周期の単位周期信号を出力す る単位ネットワークに向かって、 本実施形態では 1つの単位ネットワークずつ順 次に、 各単位ネットワークの係数の値を決定していく。
こうすることにより、 全体の係数の値を短時間に決定することができる。 また、 これと同様に、 その制御アルゴリズム生成部 4 1 2は、 定義記憶部 4 1 1に記憶された定義に従うニューロンを接続することにより、 多項式で表わされ る非周期関数を実現し非周期信号を出力する部分ネットワークを含む制御アルゴ リズムを生成することができ、 その場合に、 その制御アルゴリズム生成部 4 1 2 は、 その部分ネットヮ一クを生成するにあたり、 多項式の各項を実現しそれら各 項に対応する各単位信号を出力する複数の単位ネットワークの結合からなる部分 ネットワークを生成するものであり、 そして係数値決定部 4 1 3は、 制御アルゴ リズム生成部 4 1 2により生成された複数の単位ネットワークの結合からなる部 分ネットワークの係数の値を、 その部分ネットワークを構成する複数の単位ネッ トワークのうちの、 より次数の低い項に対応する単位信号を出力する単位ネット ワークから、 より次数の高い項に対応する単位信号を出力する単位ネットワーク に向かって、 本実施形態では 1つの単位ネットワークずつ順次に、 各単位ネット ワークの係数の値を決定していく。
係数値決定プロセスについての詳細はさらに後で説明する。
ここで、 以下の説明のために、 ニューロンとその結線の図面上の表記について 説明しておく。 '
図 1 0は、 ニューロンの表記を示した図である。
図 1 0 (A) 〜図 1 0 (E) は、 いずれもニューロンを表わしており、 そのう ちの図 1 0 (A) には、 丸印と二重丸印が示されている。 それらは、 いずれも、 単にそこにニューロンが存在することを表わしている。 ニューロンには遅れと初 期値が定義されることがあるが、 図 1 0 (A) の表記にはそれらの定義は含まれ ていない。
図 1 0 ( B) には、 二重丸のうちの外側の丸の中 (内側の丸の外) に V、 内側 の丸の中に εが記入されているニューロンが示されており、 これは、 遅れ ε、 初 期値 Vのニューロンであることを表わしている。
図 1 0 ( C) には、 丸印の中に Vが記入されたニューロン、 および二重丸印で あって、 外側の丸の中かつ内側の丸の外に Vが記入されたニューロンが示されて いる。 これらの表記は、 いずれも、 初期値 Vのニューロンであることを示してい る。 ここでは遅れは定義されていない。
図 1 0 (D) には、 二重丸印のうちの内側の丸の中に εが記入されたニューロ ンが示されている。 このニューロンは、 遅れ εのニューロンであることを表わし ている。 初期値は定義されていない。
図 1 0 ( Ε) は、 図 1 0 (D) の特別な場合として遅れゼロのニューロンを表 わしている。 遅れゼロのニューロンは、 複数の入力があった場合、 それら複数の 入力の総和を求めるニューロンとなり、 このため二重丸印の内側の丸の中に数字 のゼロを記入する記号に代えて、 丸印の中に加算を表わす ' + ' を記入した記号 を用いることもある。
図 1 1は、 ニューロンどうしの接続の表記を示す図である。
図 1 1 (Α) は、 左側のニューロンから右側のニューロンに向かって信号が流 れ、 左側のニューロンの出力がそのまま右側のニューロンの入力となることを表 わしている。
また図 11 (B) は、 左側のニューロンの出力が右側のニューロンの入力とな る点では図 1 1 (A) のニューロンと同じであるが、 図 11 (B) の右側のニュ 一ロンでは、 その入力に重み Cが付され、 その重みが付された入力を基に前述の (3) 式 (あるいは (4) 式) に従う演算が行なわれることを示している。 図 11 (C) は、 右側のニューロンに、 左側の複数のニューロンの複数の出力 が入力されて重み C l, C2, C3, …でそれぞれ重み付けされ、 かつ自分自身 の出力も再度入力されて重み COで重み付けされ、 右側のニューロンは、 それら 重み付けされた複数の入力の総和を基に、 前述の (3) 式 (あるいは (4) 式) に従う演算が行なわれることを示している。
次に、 図 10および図 11に示した表記法を使いながら、 ニューロンの定義と そのニューロンの振舞 (入力と出力との関係、 実現される関数等) について説明 する。
図 12は、 時間遅れのないニューロンを示しており、 図 13は、 その時間遅れ のないニューロンの入出力の時間変化を示している。
前述の (3) 式を再度示すと、
dVx 了, τ/
£i-T + Vi =Vo
dt …… (3) である。
ここで遅れ ε tをゼロとすると、 上記 (3) 式は、
V^Vo - (5)
となる。 すなわち、 遅れ のときは、 図 13に示すように出力 は入力 V 。そのものとなる。
図 14は、 εェ りの遅れ ε iを有するニューロンを示す図、 図 15は、 その遅 れ ε を有するニューロンの入出力の時間変化を示す図である。
この場合、 上記 (3) 式の遅れ ε iを ε として取り扱い、 その (3) 式を 積分すると、 前述の (4) 式となる。 (4) 式をここに再度示しておく。
Figure imgf000034_0001
ここで、 この (4) 式中の積分定数 Cは、 初期値 V10に依存しており、
C = V。- V10 … (6)
の関係にある。
上記 (4) 式の第 1項は、 図 15に示すように出力 が時間的に遅れて徐々に 変化することを示している。
図 16は、 複数入力のニューロンを示す図である。
この場合、 複数の入力 Vj ( j =0, 1, …, n) を各入力に対応する各重み C u (j =0, 1, …, n) で重み付けし、 それらの重み付けされた各入力の総和 が、 上記 (3) 式の入力 V。に相当するものとして取り扱われる。 すなわち、 図 1 6に示す記号を用いて表現すると、
Figure imgf000034_0002
となる。
図 17は、 上限閾値を持つニューロンを示している。
ここではニューロン 1の出力が閾値 0に満たない値のときはそのニューロン 1 の出力がそのままニューロン 2に入力され、 ニューロン 1の入力が閾値 0より大 きいときは、 ニューロン 2では、 ニューロン 1の出力に代えてその閾値 0が入力 として取り扱われる。
ニューロン 2では、 ニューロン 1の出力の値に応じては閾値 0を入力として取 り扱った上で、 上述の (3) 式 (あるいは (4) 式) に従う演算が行なわれる。 尚、 ここで閾値を、 一般に角度を表現するときに用いられる 0で表わしたのは 、 口ポットの動作を制御するにあたっては、 その口ポットの関節の角度を制御す るケースが多いことを念頭に置いたことによる。
図 18は、 下限閾値を持つニューロンを示している。
ここでは、 ニューロン 1の出力が閾値 0より大きいときはそのニューロン 1の 出力がそのままニューロン 2に入力され、 ニューロン 1の出力が閾値 より小さ いときはニューロン 2はその閾値 6>を入力として取り扱う。
ここでも、 図 17の場合と同様、 ニューロン 2は、 ニューロン 1の出力の値に 応じて閾値を入力として取り扱うこと以外は基本のニューロンと同様であり、 上 述の (3) 式 (あるいは (4) 式) に従う演算を行なう。
図 19は、 図 16を参照して説明した重み付けと、 図 17, 図 18を参照して 説明した閾値との双方を含む一般的なニューロンを示した図である。
この図 19に示すニューロン iの入出力の関係を記述する式は、 τ/
, 'min ( , )
dt ノ=丄
+ ax ( mi
Figure imgf000035_0001
…… (8) となる。 ここで、 Vj ( j = 1, 2, ···, n, …, m, …, N) は、 ニューロン j の出力、 Cuはニューロン jからニューロン iに向かう結線に対応する重み、 Θ ma はニューロン jからニューロン iに向かう結線に対応する、 最大値を決める 閾値、 0minjは、 ニューロン jからニューロン iに向かう結線に対応する、 最小 値を決める閾値、 mi n (X, y) は xと yとのうちの小さい方の値をとる関数 、 max (X, y) は xと yとのうちの大きい方の値をとる関数である。
ニューロン iはニューロン 1〜ニューロン Nのうちのいずれか 1つのニューロ ンであってもよく (この場合は、 図 11 (c) に示すように、 ニューロン iの出 力がその同じニューロン iに戻るように記述することもできる) 、 あるいは、 二 ュ一ロン iは、 ニューロン 1〜ニューロン Nのいずれとも異なるニューロンであ つてもよい。
図 20は、 スィッチを示す図である。
ニューロン 1とニューロン 2はスィッチを介して結合されており、 そのスイツ チの接断 (接続および切断) は、 別のニューロン 3の出力に応じて行なわれる。 ここでは、 ニューロン 3の出力が閾値 0未満のときはスイツチが接続されてニュ 一ロン 1の出力がニューロン 2の入力となり、 ニューロン 3の出力がちようど閾 値 0と等しいときを含め閾値 0以上のときはスィッチが切断され、 ニューロン 1 の出力はニューロン 2に入力されない。 ここで、 図 2 0中には 「く 」 の記号が 示されているが、 これを に変更すると、 ニューロン 3の出力がちょうど 閾値 0に等しいときはスィッチが接続された状態にあることを意味している。 また、 図 2 0中の 「ぐ 0」 の記号を 「> 0」 に変更すると、 ニューロン 3の出 力が閾値 0を越えているときにスィッチが接続されており、 ニューロン 3の出力 が閾値 0を含む閾値以下になるとスィツチが切断され、 ニューロン 1の出力が二 ユーロン 2に伝わらなくなる。 記号 「〉0」 を記号 「≥0」 に変更すると、 ニュ —ロン 3の出力が閾値にちようど等しいときはスィツチは接続状態にあることを 意味している。
図 2 1は、 ニューロンによる遅れの変更を示す図である。
図 2 1 (A) と図 2 (B) は、 異なる向きに描かれているだけであって、 いず れも同じことを意味している。 ここでは、 ニューロン 1から、 ニューロン 2を表 わす二重丸のうちの内側の丸に矢印が引かれており、 これは、 ニューロン 1の出 力がそのままニューロン 2の遅れ εとなる (ニューロン 1によってニューロン 2 の遅れが設定、 変更される) ことを表わしている。 このように、 ここでは、 ある ニューロン (図 2 1の例ではニューロン 2 ) の遅れが別のニューロン (図 2 1の 例ではニューロン 1 ) の出力によって変更することができるようにニューロンが 定義されている。
図 2 2は、 ニューロンによる結線の重みの変更を示す図である。
図 2 1の場合と同様、 図 2 2 (Α) と図 2 2 (Β ) は異なる向きに描かれてい るだけであり、 いずれも同じ内容を意味している。 ここでは、 ニューロン 1の出 力がニューロン 2に入力されてその入力に重みが付されるが、 ニューロン 3の出 力をその重みとすることを表わしている。 このように、 ここでは、 あるニューロ ン (ここではニューロン 3 ) の出力を重みとすることにより、 その重みを変化さ せることができるように、 ニューロンが定義されている。
図 9に示すロポット制御アルゴリズム構築装置 4 1 0を構成する定義記憶部 4 1 1には、 基本的には、 これまで説明した様々なニューロン等の定義がそのニュ 一ロン等の入出力の関係を記述したプログラム部品として記憶されており、 制御 アルゴリズム生成部 4 1 2では、 それらのプログラム部品が組み合わされて R N Nによる制御アルゴリズムが構築されるが、 制御アルゴリズムの構築をさらに容 易にするために、 定義記憶部 4 1 1には、 これまで説明してきたニューロン等の 定義を記憶しておくことのほか、 以下に説明するような、 高い頻度で利用される 複数のニューロンの組合せを 1つのプログラム部品として記憶しておき、 制御ァ ルゴリズム生成部 4 1 2では複数のニューロンの組合せとしてのプログラム部品 を利用できるようにしてもよい。 制御アルゴリズム生成部 4 1 2は、 定義記憶部 4 1 1に記憶されたプログラム部品を組み立てるためのプログラム言語の入力に より制御アルゴリズムを構築するように構成してもよいが、 定義記憶部 4 1 1に 、 ニューロンの入出力の関係を記述したプログラム部品だけでなく、 これまで説 明してきたようなニューロンの表記の記号も記憶しておくとともに、 そのニュー ロンの記号とそのニューロンを表わすプログラム部品とを対応づけておき、 制御 アルゴリズム生成部 4 1 2は、 図 6に示すコンピュータ 1 0 0の表示画面 1 0 2 a上にニューロンの記号を表示しその表示されたニューロンを結線するといぅォ ペレ一夕操作の裏でその表示されたニューロンや結線に応じた制御アルゴリズム を構築するようにしてもよい。
以下では、 複数のニューロンを組み合わせたときに生成される関数について説 明する。
図 2 3は、 2つのニューロンの組合せの一例を示す図である。
2つのニューロンを図 2 3のように組み合わせると、 上側のニューロンに関し
£l ^- + Vl = Cu V2 + V0 ...... ( 9 ) が成立し、 下側のニューロンに関しては、
£2 + V2 = C2l Vl ···... ( 1 0 )
Figure imgf000037_0001
が成立する。 但し、 V。は下側のニューロンの出力を表わす。 上記の (9) 式と (10) 式を組み合わせると、
Figure imgf000038_0001
なる 2階線形定係数微分方程式となる。
この 2階線形定係数微分方程式の一般解は、
d2Vr dK
ε,ε' (e1 + s2)- + (l-Cu cly^v,
dt dt
,2
ε,ε^ + {ε + e2)D + (l- 12 C2l)Vx = 0 一(ど i +ど 2) + (ど l + ει)2- 4fif 2(! - C12 C21)
A =
1ε2 一(ど1 + f 2) + +ど 2)24ど 2(1二 C12 C21)
λε2
Vf= C exp(Z¾り + C2 exp( )
(l 2) である。
図 24は、 図 23に示す組合せの 2ニューロンの入出力を示す図である。
入力 V0がステップ関数的に立ち上がったとき、 その出力 は、 1<C12C21 , C12C21=1, 0<C12C21<1, C12C21<0に応じて、 それぞれ、 図 2 4 (a) , (b) , (c) , (d) のように変化する。 ここで注目すべき点は、 入力 V。が定数であっても重み C12, C21の値によっては、 出力 が振動する ( 図 24 (d) 参照) ことと、 ちょうど積分と遅れを重ね合わせた出力が存在する (図 24 (b) 参照) ことである。
図 25は、 三角関数生成器の一例を示す図である。
ここには、 図 23の 2ニューロンの結合と同様に結合された 2ニューロンが示 されているが、 図 23の 2ニューロンの結合と異なる点は、 入力 Voが存在しない ことと、 重み C21, C12が、 絶対値が同一であってかつ正負が異なる C, —じで ある点である。
図 25の出力 ェは、 d2
+ ω ^ =0
dt
c
ω =——
ε
…… (13)
で表わされる。
上記 (13) 式を積分すると、
V1 = cx cos ωί + s1 sin cot
5, = 20
c
…… (14)
となる。
すなわち上記 (13) 式あるいは (14) 式は、 角周波数 ωの三角関数を表わ しており、 正弦的に変化する出力 ェが得られる。
この (13) 式および (14) 式から分かることは、 重み Cや遅れ εの値を変 えるとその正弦波出力 ェの角周波数を変化させることができるとともに、 重み C 、 遅れ ε、 および初期値 V10, V20を変えると (14) 式中の係数 cい S iが変 化し、 これによりその正弦波の位相や振幅変化させることができるという点であ る。
図 26は、 図 25に示す三角関数生成器を複数組み合わせた部分ネットワーク を示す図である。
この図 26の、 一番右側に示された、 1つだけのニューロンは、 その初期値 ( ここでは、 下記の (15) 式との対応で c。とする) を出力し続けるニューロンで ある。
この図 26に示す部分ネットワークにより実現される関数は、 = c。 + cos ωί + Ξλ sin cot
+ c2 cos 2ωΐ + s2 sin 2wt
+ c3 cos 3ωί + s3 sin 3ωί
…… (15)
である。 定数項 c。および cい s !, c2, s 2, ……等は、 図 26を参照して説 明したようにして ( (13) 式および (14) 式参照) 、 各ニューロンの遅れ ε , 重み C, 2 C, 3 C, …, 初期値 (図 26には不図示) により決定される。
(15) 式はフーリエ級数を表わしている。 任意の周期関数はフーリエ級数に 展開することができ、 したがって図 25のように組み合わされた 2ニューロンを 図 26のように複数組み合わせることによって、 任意の周期関数を構築すること ができる。
図 27は、 三角関数発生器のもう 1つの例を示す図である。
この図 27に示す 3ニューロンの組合せにより生成される出力 を式で表わす と、 ε 33εε ++ <<yy((33--CC22))- dt3 dt2~ dt
(16) となる。 ハ 12 -108 + 12 93
C 2/3 …… (17)
12-(-108 + 12V93) のときに、 (16) 式を解くと、 Vx = Cxe + C2 cos(wり + C3 sin(ft>i)
2c
ca
ω = 2 a
ε
_12α _
c =
12-a2
…… (18)
となる。 ここで、 C2, C3はニューロンの初期値 (図示せず) 等により定 まる積分定数である。
この (18) 式中の の式を見ると、 第 1項は急速に減衰する項であり、 第 2 項と第 3項は正弦振動の項である。
したがって、 図 27のニューロンの組合せは、 例えば、 ある位置もしくは姿勢 に静止していた関節を、 その静止位置あるいは静止姿勢とは異なる位置もしくは 姿勢 (角度) に移動させて、 その移動後の位置もしくは姿勢を中心して正弦的に 振動させるときの、 初期の過渡的な位置もしくは姿勢の移動およびその後の正弦 振動を行なわせるための制御信号として利用することができる。
図 28は、 n次多項式生成器を示す図である。
この図 28には、 この図 28に示すように接続された、 n次多項式の各項を生 成する n+ 1個のニューロン (それぞれ 1個のニューロンからなる単位ネットヮ ーク) とそれらの出力を重み付け加算するための加算ニューロン (遅れゼロの二 ュ一ロン;図 10 (E) 参照) との、 合計 n + 2個のニューロンが示されている この加算ニューロンの出力 ェは、
V1 = C0 + C1 t +C2 t 2 + - + Cn tn ·'· (19)
となる。
図 26に示すように、 の三角関数生成器を複数組み合わせると、 任意の周期信 号を作り出してロポットに周期的な運動を行なわさせることができるが、 この図 28の多項式を用いると、 非周期信号を作り出すことができ、 口ポットに非周期 的な運動 (例えば立った姿勢から椅子に腰かけた姿勢への移行など) を行なわさ せることができる。
図 2 9は、 運動の切り換えを行なうときのニューロンの組合せを示す図である 運動ニューロン 1 , 2は、 ここではいずれも 1つのニューロンのように示され ているが、 その背後には、 例えば図 2 6に示す、 周期運動を指示する制御信号生 成器や、 例えば図 2 8に示す多項式生成器により構成された非周期運動を指示す る制御信号生成器が存在する。 運動ニューロン 1と運動ニューロン 2とでは相互 に異なる運動 (例えば運動ニューロン 1は椅子に腰かけた状態から立ち上がる運 動、 運動ニューロンは立った状態で行なう二足歩行運動) を行なわさせるもので ある。
スィッチニューロンは、 その背後に、 センサやその口ポットに一連の動作を行 なわせるためのシーケンスプログラム等が存在し、 運動を切り換えるタイミング で出力が変化するニューロンである。 この図 2 9に示す構成の場合、 スィッチ二 ュ一ロンの出力に応じて、 常に、 運動ニューロン 1の出力と運動ニューロン 2の 出力とのうちのいずれか一方が遅れニュ一ロンに入力される。 遅れニューロンは 、 前述の (3 ) 式 (あるいは (4 ) 式) に従って、 入力をアナログ的に遅らせて 出力するニューロンである。
従来から採用されている力学的な運動方程式を立ててその運動方程式に従って 口ポットを動作させる制御アルゴリズムの場合、 そのロボットに、 ある 1つの運 動から別の 1つの運動に移行させるには、 それら 2つの運動の間をつなぐ別の運 動方程式 (プログラム) を必要とし、 そのプログラムは、 移行前の運動と移行後 の運動との組合せによってそれぞれ異なり、 したがって多数のプログラムを必要 とし、 その開発や動作テスト等にも多大の時間と労力を必要とする。
これに対し、 ここで説明している R N Nを採用すると、 移行可能な運動どうし の間ではどの運動からどの運動に移行するかを問わず、 それら 2つの運動の間に 、 図 2 9に示すようなスィッチニューロンによってスィッチを切り換え、 遅れ二 ユーロンを介して出力する構成を配置すればよく、 この一点をとつても制御アル ゴリズムの開発の時間や労力が極めて大幅に軽減される。
次に、 これまで説明してきたニューロンを用いた R NNからなる制御アルゴリ ズムと、 ロポッ卜との簡単な組み合わせについていくつか説明する。
図 3 0には、 2ニューロンからなる、 正弦波出力を得る R N N (図 2 5参照) と、 関節が 1つだけのロボットが示されている。
このロポットは横に延びる台と、 関節モータからの駆動力を受けて回動するァ ームとからなる。 その台とそのアームとの連結部分が関節である。
図 3 0中の R N Nの出力をロポットの関節を動かす関節モータに供給すると、 そのロボッ卜のアームを左右に正弦的に周期運動させることができる。
尚、 R NNの出力と関節モータとの間には、 様々な回路要素、 例えば R N Nは 実際はプログラムで実現されたものであって、 そのプログラムをコンピュータで 実行するとデジタル出力が得られるが、 これをアナログ信号に変換する DZA変 換器や、 関節モータに電力を供給するためのパワーアンプなどが介在するが、 そ れらの回路要素はここで行なっている説明に関しては本質的ではないので全て省 略している。
図 3 1は、 ロボッ卜のアームに任意周期運動を行なわさせる構成を示した図で ある。
図 2 6を参照して説明した前述のように、 周波数の異なる出力を生成する複数 の三角関数生成器を用いることにより任意周期波形の周期信号を生成することが でさる。
この周期信号をロポッ卜の関節モータに供給することにより、 そのアームにそ の周期信号に応じた周期運動を行なわさせることができる。
図 3 2は、 ロボットのアームに非周期運動を行なわさせる構成を示した図であ る。
この図 3 2には、 図 2 8に示した構成と同じ構成の R N Nと、 関節が 1つだけ の口ポットが示されている。
図 2 8に示した構成を用いると、 任意次元 (n次元) の多項式で表わされる非 周期関数を実現することができ、 その出力で図 3 2の口ポットを駆動することに より、 そのロポッ卜のアームにその多項式で実現された非周期運動を行なわさせ ることができる。
次に、 これまで説明したきたニューロンの組合せからなる R N Nにより、 P I D制御を実現した例について説明する。
P I D制御は、 比例 (P) と積分 (I) と微分 (D) とを組み合わせたフィ一 ドバック制御であり、 従前より広く使われている制御法である。
図 33は、 積分 (I) を除く PD制御の一例を示す図である。
この図 33にも、 図 30〜図 32にも示した、 関節が 1つだけのロボットが示 されている。
ここでは、 この関節の位置 (角度) を測定するセンサと、 その関節の動きの速 度 (角速度) を測定するセンサが備えられている。 速度 (角速度) センサを備え る代わりに位置 (角度) センサの出力を微分することにより速度 (角速度) 情報 を得てもよい。
図 33の RNNを式で表わすと、
電流値 =CPX (目標位置一測定位置) _CVX測定速度 … (20) となる。
この (20) 式の右辺の第 1項は比例項 (P) 、 第 2項は微分項 (D) である 図 34は、 P I D制御の一例を示した図である。
この図 34では、 図 32に示すRNNに、 さらに積分 (I) の構成が追加され ている。 この図 33の RNNを式で表わすと、
電流値 =CPX (目標位置一測定位置) 一 CVX測定速度
+ CSX S (目標位置一測定位置) ·'· (21) となる。 この (21) 式の右辺の第 1項および第 2項は、 図 33を参照して説明 した (20) 式の第 1項、 第 2項と同様、 比例項 (Ρ) および微分項 (D) であ り、 (21) 式の右辺の第 3項は、 積分項 (I) である。
図 35は、 P I D制御のもう 1つの例を示した図である。
上述の図 34の場合、 目標位置は固定値のように示されているが、 図 35では 、 目標位置を周期的に変化させている。 こうすることにより、 関節モー夕は、 Ρ I Dフィードバック制御により、 その周期的に変化する目標値に追随するように 駆動される。
上記図 33〜図 35に示すように、 これまで説明してきたニューロンを使った RNNにより、 P I D制御を実現することもできる。
図 36は、 ロポットおよびその口ポットを制御する制御アルゴリズム等からな る全体システムの概念図である。
この図 36中の CPGは、 Cen t r a l Pa t t e rn Ge ne r a t o rの略であり、 ここでは、 RNNによる部分ネットワークを指している。 多数 の CP Gが集まって、 ロポットを制御するための制御アルゴリズムが構成されて いる。
この制御アルゴリズムを構成する多数の CP G (部分ネットワーク) は、 それ ぞれが、 制御対象の口ポットの、 ある 1つの運動を分担している。 具体例につい ては次の図 37を参照して後に説明する。
CPGの、 未決定の各種係数 (各ニューロンの遅れ ε、 重み (:、 初期値等) を 決定するにあたっては、 ロポッ卜の動作が評価されてその評価値が学習システム に伝えられ、 その学習システムで各係数値が決定される。 係数値の決定手法につ いては、 もう少しあとで説明する。
ロポッ卜の動作は、 センサシステムで計測されて制御アルゴリズムに伝えられ 、 その制御アルゴリズムは、 センサシステムからの情報に基づいて口ポットが所 望の動作を行なうよう、 そのロボットを制御する。
図 37は、 二足歩行ロポッ卜の足とその足の運動を制御する RNNの模式図で ある。
ここには、 口ポットの関節が円柱で示されており、 左右の両足のうちの右足の 動きを制御する RNNが示されている。
ここには、 CPGとして、 この二足歩行口ポットに前進歩行動作を行なわせる ために必要となる、 ロール CP Gと、 リフト CPGと、 ピッチ CP Gが示されて いる。
ロボットを前進歩行させるときには、 左右の足への体重移動が行なわれるが、 ロール C P Gは、 その体重移動のための運動を制御する制御信号を生成する部分 ネッ卜ワークである。
前進歩行時、 左右の足への体重移動は、 交互に周期的に行なわれるため、 その 運動を制御するロール CP Gは周期信号を生成するように構成されている。 また、 口ポットを前進歩行させるときには、 左右の足を交互に上下運動させる 必要がある。 図 3 7に示すリフト C P Gは、 右足を上下運動させるための部分ネ ッ卜ワークである。 足の上下運動も周期運動であり、 したがってリフト C P Gも 周期信号を生成するように構成されている。
また、 口ポットを前進歩行させるには、 左右の足を交互に前進させる必要があ る。 図 3 7に示すピッチ C P Gは、 右足を前進運動させるための部分ネットヮー クである。 足を 1回前進させる運動は非周期の動作であり、 このためピッチ C P Gは、 多項式による非周期信号を生成する部分ネットワークとして構成されてい る。
リフト C P Gの出力は、 ロール C P Gの出力によりスィツチ制御されている。 これは、 例えば体重 (重心) を十分に左足に移してからでないと右足を持ち上げ ることができないようにするためである。 またこれと同様に、 ピッチ C P Gの出 力も、 ロール C P Gの出力によりスィッチ制御されている。 これも同様に、 例え ば体重 (重心) を十分に左足に移してからでないと右足を前進させることができ ないようにするためのものである。 さらに、 リフト C P Gの出力やピッチ C P G の出力は閾値処理がなされている。 これは、 例えば右足を前進させて足裏が床に 接触した後は、 それ以上その右足を伸ばそうとしたり前進させたりするのを止め て、 その右足が床に接触したときの右足の状態を保持するための措置である。 このようにして周期運動を行なわさせるための C P Gや非周期運動を行なわさ せるための C P Gを組み合わせることによって、 全体として複雑な運動を実現す ることができる。
次に、 口ポットの制御アルゴリズム構築の処理の流れについて説明する。 制御 アルゴリズムを構築するには、 これまで説明してきた、 R N Nを組み立てるだけ の処理では足りず、 その R NNに含まれている各種係数 (各ニューロンの遅れ、 重み、 初期値などに関係する係数) を決定する必要がある。 ここでは、 R N Nか らなる制御アルゴリズムを係数値の決定を含めて構築するシステムを、 「学習シ ステム」 と称する (図 3 6参照) 。
ここでは、 R NNの係数の値を決定するにあたり、 考え方の前提として、 運動 、 すなわち関節の位置や角度の時間変化は、 非線形方程式の解であるという立場 をとる。 この非線形方程式の解を求めるために、 新たな非線形方程式を利用する 方法もある。 しかしながら、 非線形方程式を用いる方法は、 解発生機構そのもの に非線形要素が存在するため、 上位判断機能などの処理系が意のままに制御する ことが難しい。 そこで、 ここでは、 運動を逐次近似法で解くことを考える。 天文力学や流体力学においては、 非線形方程式を近似的に解く手法として摂動 法が知られている。 摂動法とは、 天文力学等において、 非線形方程式を解く際に 、 可解な線形微分方程式の解を第 1近似解としそれを逐次修正しながら近似解を 求める手法である。 この摂動法において、 修正に必要な項を摂動項という。 通常 、 ティラー展開に基づく計算を行なう。 天文力学の場合、 解くべき方程式は、 あ らかじめわかっているため、 解くべき方程式に展開した解を直接代入し、 各次数 毎に解くことによって、 逐次解を求める。 通常の摂動法の揚合、 近似度をあげる と解は真の解に逐次近づく。
ここでは、 上記の考えを口ポットの運動の方程式に当てはめて考える。 ロボッ トの運動の非線形方程式は、 歩行等の運動を考えると、 口ポットの質量等の物性 値、 関節粘性、 モータ最大トルク、 床面の摩擦係数や傾斜、 および部屋の形状等 の非常に複雑な関係式となっていることが予想される。 理想的な場合はこのよう な方程式を構築することができ、 理論的に解析できる。 しかしながら、 口ポット が様々な運動を行うことを考えると、 この方程式をすベてあらかじめ知ることは 非常に難しい作業である。
そこで、 ここでは、 解くべき方程式があらかじめわかっている天文力学の場合 とは異なり、 解くべき方程式を構築しないで問題を解くことを考える。 天文力学 等で用いられている摂動法は、 低い次数から順次に解が得られる。 ここでは、 こ れと同様に、 解を以下のようにある固有関数で展開して、 低い次数から逐次、 試 行錯誤によってその係数を数値的に求める。 満足できる運動が得られるまで次数 をあげていく。
y= S Qy0+ d 1y1+ 62y2+ 63y3 + (22)
y iは固有関数、 δ ,はその係数、 iは次数である。
この手法を、 ここでは、 NP法 (Nume r i c a l Pe r t u r b a t i on me t hod) と言うことにし、 ここでは、 C P Gモデルと N P法を併用 した運動学習システム (CPGZNP) を説明する。 CPGモデルは、 前述した ように、 基本的な関数である三角関数や多項式を発生することができ、 その他説 明は省略するが数種の直交関数を発生することができる。 これらの基本的な関数 を用いて、 運動を表現する未知非線形方程式の解を求める。
k番目の関節の運動 (位置あるいは角度) を 0k (t) としたとき、 ここでは、 ある 1つの CPGを、 n n
¾( = c0 + > ( j ' cos j t + Sj - sin j t) + α ί〗 …… (2 3) y≡i i と表現する。
c j, S j, a;.は、 ニューロンの遅れ、 重み、 および初期値に関係する係数で ある ( (13) 式〜 (15) 式、 (19) 式を参照。 ) この (23) 式の右辺中 の第 1項は定数項 c。であり、 第 2項は周期関数の項であり、 第 3項は非周期関数 の項である。 ここでは、 (23) 式の∑による積算をばらばらに分解した各項そ れぞれに対応する各単位ネットワークが生成されているものとする。 ここでは、 jの値の低い項 ( (23) 式の右辺中の第 2項については角周波数 j ωの低い ( 周期の長い項、 (23) 式の右辺中の第 3項については、 低次の項) から順に係 数の値を求め、 ネットワークを構成していく。 ここでは、 先ず、 c。を最初に決め 、 次に (23) 式中の係数 cい s 1; を求める。 このとき、 他の係数 C j, s j, a j ( j = 2 , 3, …, n) を全て 0とおく。 sい 丄が求められると
、 次に c2, s 2, a2を求める。 このとき、 先に求めたじ い s!, は固定して おき、 他の係数 C j, S j, a j ( j = 3 , 4, …, n) は全て 0にしておく。 こ れを C j, s j, a』について繰り返す。
NP法では、 以上のようにして係数を順次決めていく。
図 9に示すロポット制御アルゴリズム構築装置 410の定義記憶部 41 1には 、 上述の (23) 式の各項に相当する単位ネットワークが全てあらかじめ生成さ れて記憶されている。 あるいは、 定義記憶部 41 1には、 それらの単位ネットヮ ーク生成のアルゴリズムが記憶されていて、 制御アルゴリズム制御部 412で必 要な単位アルゴリズムが自動生成されるように構成してもよい。 図 38は、 ロボッ卜の運動学習システムの概要を示す図である。
ここでは、 先ずオペレータにより、 基本運動タイプと初期係数値が与えられる 。 基本運動タイプとは、 今回係数を決定しょうとしている CPGが、 周期運動タ イブの CPGであるが非周期運動タイプの CPGであるということである。 周期 運動の CPGであることが指示されると、 (23) 式の右辺の第 1項と第 2項の みが有効となり第 3項は不要となる。 一方、 非周期運動の CP Gであることが指 示されると (23) 式の右辺の第 1項と第 3項が有効となり、 第 2項は不要とな る。
この図 38中の 「アドバイス」 は評価関数である。 評価関数は、 満足できる運 動かをどうかを決定するための関数である。 複雑な系の場合、 評価関数は、 「ェ ネルギー最小」 、 「ロボット本体の安定性」 、 「高速性」 等複数ある。 極致問題 とするために、 ここでは、 評価関数 Eを以下のように複数の評価関数 の重み付 線形和とする。 Eiは 2次形式で与えられる非負数であり、 C iは評価関数 Eiの 重みである。 ここでは、 評価関数 Eをアドバイスと呼ぶことにする。
E= \ C. E: (24) 図 9に示すロボット制御アルゴリズム構築装置 410の制御アルゴリズム生成 部 412には、 オペレータにより基本運動タイプと係数の初期値が指定される。 先ず、 関数 kの初期位置 (初期角度) c。が指定される。 この c。は、 その関節が 静止状態 (運動を開始する前の状態) にあるとき、 あるいはその直前の運動から 引き継いだ初期状態にあるときの、 その関節の初期位置あるいは初期角度である 。 次に、 例えば基本運動タイプが周期運動タイプであることが指定される。 する と、 図 9の口ポット制御アルゴリズム構築装置 410の制御アルゴリズム生成部 412では、 その指定を受け、 定義記憶部 41 1から
C i C O S C t + S i S i nc t: "' (24)
の基本ネットワークを読み出す (あるいはその時点で生成する) 。 このときの運 動の基本式は、 初期位置 (初期角度) c。を含め、
Θ,.= ο0+ο 1 ο ο 3 ω ί + 5 15 i η ω t … (25) となる。
オペレータからは、 その周期運動の基本的な周期 (角周波数 ω) や、 各係数 C l , S iの初期値が与えられ、 図 9のロボット制御アルゴリズム構築装置 410の係 数値決定部 413は、 これら ω, C l, s iによりその基本ネットワークを構築す る各ニューロンの遅れ、 重み、 および初期値が仮決定される。
このようにして生成された、 初期係数値を持つ基本ネットワークの出力がロボ ットに与えられ、 そのときのロボットの運動が評価される。 その評価に応じて係 数値が少しずつ修正されその次数の段階での最高の評価が得られるように係数 c , , s iが決定される。
口ポットの運動の評価は、 オペレータが目視等により行ない、 そのオペレータ により係数値を決定してもよいが、 上述のァドバイスをあらかじめ決めておき、 そのアドバイスに従って、 係数値を自動で、 あるいはオペレータの意見も含めて 半自動で決定してもよい。
(25) 式における cい S lが決定されると (c。はそれ以前に既に決定され ている) 、 それに応じて、 (24) 式で表わされる基本ネットワークを構成する ニューロンの遅れ、 重み、 および初期値が決定される ( (14) 式参照) 。 図 9 の制御アルゴリズム生成部 412は、 定義記憶部 411から次の次数の項を実現 する基本ネットワークを読み出し (あるいは生成し) これまでの低い次数の部分 ネットワークに結合する。 式で示すと、 θ,' =c0 + ( cos cot + s1 cos ωί) + 1 c2 cos厶 cot + s2 sm 2ωύ
…… (26) となる。 係数 c 0, c l t S iは既に決定済であり、 ここではオペレータにより新 たな係数 c2, s 2の初期値が与えられる。 これらの係数 c2, s 2は、 その次数の 項を実現する単位ネットワークを構成するニューロンの遅れ、 重み、 初期値に対 応づけられている点は、 係数 ^, S iの場合と同様である。 図 9の係数値決定部 413では、 係数 c2, s 2として初期値が与えられたときの (26) 式に相当す る部分ネットワークの出力がロボットに与えられ、 そのときのロボットの運動が 評価され、 その評価がより高まる方向に係数 c 2, s 2の値が調整され、 その次数 における最高の評価が得られるように係数 c 2, s 2が決定される。
係数 c 2, s 2が決定されると、 図 9の制御アルゴリズム生成部 4 1 2は、 定義 記憶部 4 1 1から次の次数の項を実現する基本ネットワークを読み出し (あるい は生成し) 、 これまで評価の済んでいる (係数が決定されている) 部分ネットヮ —クに結合される。 式で示すと、 θ,. = c0 + ( cos ωί + sl sin ω + (c2 cos 2wt + s2 sm 2 ωί)
+ (c3 cos3iyi + s3 sin 3ωί)
…… ( 2 7 ) となる。
新たな係数 c 3, s 3について初期値が与えられ、 上記と同様のプロセスを経る ことによりその係数 c 3, s 3の値が決定される。
このようにして、 ロボットが必要な精度の運動を行なうことができる次数まで 、 順次に係数が決定される。
ここでは周期関数を例に挙げて説明したが、 非周期関数の係数決定プロセスも 同様である。
以上の説明では、 係数の初期値は全てオペレータが与えるものとして説明した が、 例えば係数の値として任意に定めた初期値あるいは、 あらかじめ決められた 固定の初期値を自動で与え、 その自動で与えた初期値から出発して係数値を順次 変化させてその係数の値を決定してもよい。
その初期値の与え方だけでなく、 基本運動タイプの指定、 基本ネットワークの 読み出し (あるいは生成) 、 および口ポットの運動の評価等の全てをあらかじめ プログラムしておくことで、 部分ネットワークの生成からその部分ネットワーク の係数の決定までを全て自動化してもよい。 あるいは、 それらのうちの一部をォ ペレ一夕操作に委ね、 あるいは自動生成の結果をオペレータに提示して承認を受 けるなど半自動の装置として実現してもよい。
また、 上記では、 係数に初期値が与えられたばかりの部分ネットワークの出力 をいきなり口ポットに与えるように説明したが、 その出力を、 先ずは図 6、 図 7 に示すコンピュータ中に構築されているアルゴリズムとしてのロポットに与えて 動作シミユレーションを行ない、 ある程度十分な精度で動作することを確認して から、 実際の口ポットを動かしてみることが好ましい。
図 39は、 以上の学習プロセスをまとめたフローチヤ一トである。
先ず、 基本運動タイプが与えられる。 係数は初期値から出発する (ステップ S
1) 。
その初期値から出発した初期運動の係数を GA (遺伝的アルゴリズム) や二分 法等、 何らかの係数決定アルゴリズムを駆使して決定し (ステップ S 2) 、 運動 タイプに従つてより高次の項を付加してその付加した項の係数に初期値を与え ( ステップ S 3) 、 その高次の項の係数を GAや二分法等を用いて決定する (ステ ップ S4) 。 制御対象の口ポットの運動の精度が未だ不充分のときは (ステップ S 5) 、 その運動タイプに従ってさらに高次の項を付加するとともにその付加し た高次項の係数に初期値を与え (ステップ S 3) 、 その高次項の係数を GAや二 分法等を用いて決定する (ステップ S 4) 。 これを、 口ポットが十分な精度の運 動を行なうことができるようになるまで繰り返す。
次に、 上記の CPGZNP (CPGの係数を上記の NP法で順次求める方法) . と CPGZGA (じ?0の係数を〇八 (遺伝的アルゴリズム) を用いて、 一度に 求める方法) との比較結果を説明する。
CPGZGAでは、 すべての係数が同時に求められる。 そのため、 すべての係 数が相互に関係を持つ。 動きを少しだけ変更したい場合でも、 すべての係数が影 響を受け変更に時間がかかることが予想される。 ここではもつとも差が出ると考 えられる場合として、 解の全サーチを行った場合について簡単に考察する。 ニュ 一口ン値の解像度および結合重みの解像度を共に n、 最終的なニューロン数と二 ユーロン間の結合数の和を mとすると、 全サーチを行った場合の計算量は、 nm回 の試行が必要である。 仮に、 CPGZNPにおいて j次に分割して求めたとする と、 計算量は、 およそ j Xnm/jである。 具体的に n= 16, m=60, j =5 とすると、 nm=l. 15 X 1073, j x nm/J= 1 - 4 X 1016とおよそ 105 7倍程度の差が出る。 実機を用いた実証実験では、 CPGZGAでは、 CPGZN Pで得たものに相当する解を、 現在までに、 まだ見つけることができていない。 さらに、 CPGZNP法では、 CPGZGAにはない特徴として、 各摂動次数の 区切りで評価関数を再設定したり、 ニューロン数を変化することが容易である事 があげられる。
このように、 CPGZNPの場合、 従来法と比べ天文学的な桁数ほど違うレべ ルで極めて短時間に係数を決定することができる。
図 40は、 本発明のロボット制御プログラムの一実施形態の概要を示す模式図 である。
ここでは、 このロボット制御プログラム 500は CD— ROM300に記憶さ れており、 この CD— ROM 300が図 6に示す CD— ROM装填口 101 か ら装填され図 7の CD— ROMドライブ 1 15によりアクセスされて、 その CD 一 ROM300に記憶されている口ポット制御プログラム 500が、 図 6, 図 7 に示すコンピュータ 100にインストールされる。 そのコンピュータ 100内に インス 1 ^一ルされたロポット制御プログラムがそのコンピュータ 100内で実行 されると、 そのコンピュータ 100は、 本発明のロボット制御装置の一実施形態 として動作する。
尚、 このロボット制御プログラム 500は、 ここでは CD— ROM300に記 憶されている例を示したが、 前述のロボット制御アルゴリズム構築プログラム ( 図 8参照) の場合と同様、 CD— ROMに記憶されている必要はなく、 例えば F D等他の可搬型記憶媒体に記憶されてコンピュータ 100にインストールされて もよく、 あるいは、 他の装置等から通信網 (図示せず) を介してコンピュータ 1 00にインストールされてもよく、 あるいは、 そのコンピュータ 100のハード ディスク (図 7参照) 等にはじめから記憶されていてもよく、 最終的にコンビュ 一夕で実行可能となるものであればどのように保存あるいは記憶されていてもよ い。
図 40に示すロボット制御プログラム 500は、 制御アルゴリズム記憶部 50 1とロポット制御部 502とから構成されている。 このロポット制御プログラム 500を構成する各部 501, 502の作用は、 図 41の説明と合わせて説明す る。
図 41は、 本発明のロボット制御装置の一実施形態を示すブロック図である。 この口ポット制御装置 5 1 0は、 図 6 , 図 7に示すコンピュータ 1 0 0内で図 4 0に示すロボット制御プログラム 5 0 0が実行されることにより、 図 6 , 図 7 に示すコンピュータ 1 0 0内に実現するものである。
この図 4 1のロポット制御装置 5 1 0は、 制御アルゴリズム記憶部 5 1 1およ び口ポット制御部 5 1 2で構成されている。 これら制御アルゴリズム記憶部 5 1 1およびロボット制御部 5 1 2は、 それぞれ、 図 4 0に示す口ポット制御プログ ラム 5 0 0の、 制御アルゴリズム記憶部 5 0 1およびロポッ卜制御部 5 0 2に対 するが、 図 4 1のロボット制御装置 5 1 0の各部 5 1 1, 5 1 2は、 図 6、 図 7 のコンピュータ 1 0 0のハードウェアおよびそのコンピュータ 1 0 0内で実行さ れるオペレーティングシステム (O S ) およびその O S上で動作する、 図 4 0に 示すロボット制御プログラム 5 0 0の各部 5 0 1 , 5 0 2との複合で構成されて いるのに対し、 図 4 0に示すロボット制御プログラム 5 0 0の各部 5 0 1, 5 0 2は、 それらの複合のうちのアプリケ一ションプログラム部分のみで構成されて いる。 図 4 0に示すロボット制御プログラム 5 0 0を構成する各部 5 0 1, 5 0 2の、 その口ポット制御プログラム 5 0 0が図 6、 図 7のコンピュータ 1 0 0内 で実行されたときの作用は、 図 4 1に示すロポット制御装置 5 1 0を構成する各 部 5 1 1, 5 1 2の作用そのものであり、 以下、 図 4 1のロボット制御装置 5 1 0の各部 5 1 1, 5 1 2の作用を説明することで、 図 4 0のロボット制御プログ ラム 5 0 0の各部 5 0 1 , 5 0 2の作用の説明を兼ねるものとする。
図 4 1のロボット制御装置 5 1 0は、 2つの部材の相対的な位置もしくは姿勢 を可変にそれら 2つの部材を結合する関節を少なくとも 1つ備えたロボットの動 作を制御する装置である。 前述したように、 図 6に示すロボット 2 0 0は人間の 鉢の構造に似せた構造を有するヒユーマノィド型のロポットであり、 人間の手足 等に対応する部分に複数の関節を有する。
ここで、 この図 4 1のロポット制御装置 5 1 0を構成する制御アルゴリズム記 憶部 5 1 1は、 入力に基づいて遅れゼロを含むアナログ的な遅れを伴う出力を生 成する複数のニューロンを有しそれら複数のニューロンの中に遅れゼロを除くァ ナログ的な遅れを伴う出力を生成する遅れニューロンを少なくとも 1つ含むとと もに信号の流れのループが存在するリカレントニューラルネットワーク (R N N ) により構築された制御アルゴリズムを記憶するものであり、 ロボット制御部 5 1 2は、 制御アルゴリズム記憶部 5 1 1に記憶された制御アルゴリズムに基づい て生成された制御信号を用いて制御対象の口ポットを制御するものである。 制御アルゴリズム記憶部 5 1 1に記憶されている制御アルゴリズムは、 前述の ようにして構築され係数についても値が決定された後の制御アルゴリズムである 。 この制御アルゴリズム記憶部 5 1 1に記憶される制御アルゴリズムの詳細は既 に説明済であるため、 ここでは重複説明は省略する。
ロポット制御部 5 1 2には、 ロボッ卜に備えられた各種センサによる測定値が 入力され、 ロポット制御部 5 1 2は、 制御アルゴリズム記憶部 5 1 1に記憶され た制御アルゴリズムに基づくとともにセンサからの測定値に基づいて制御対象の ロボットの運動を制御する。
図 4 2は、 本発明の口ポットの一実施形態の外観図である。
このロボット 6 0 0は、 図 6のコンピュータ 1 0 0で実現しているロポット制 御装置を図 6に示すロポット 2 0 0自身の内部に備えたものに相当する。
すなわち、 このロボット 6 0 0は、 このロボット自身を制御するロボット制御 装置 6 1 0を内蔵している。
図 4 3は、 図 4 2のロボット 6 0 0の構成を示すブロック図である。
このロボット 6 0 0は、 ロポット制御装置 6 1 0とそのロボット制御装置 6 1 0により運動が制御される関節 6 2 0と、 その関節の動作を計測するセンサ 6 3 0を備えている。
この口ポット 6 0 0のロボット制御装置 6 1 0は、 制御アルゴリズム記憶部 6 1 1と口ポット制御部 6 1 2とからなる。 このロボット制御装置 6 1 0は、 この ロボット制御装置 6 1 0がロポット 6 0 0に内蔵されていることを除き、 図 4 1 に示すロボット制御装置 5 1 0と同一であり、 このロボット制御装置 6 1 0を構 成する制御アルゴリズム記憶部 6 1 1およびロポット制御部 6 1 2は、 図 4 1に 示すロポット制御装置 5 1 0を構成する制御アルゴリズム記憶部 5 1 1および口 ボット制御部 5 1 2とそれぞれ同一の作用を成す。 重複説明は省略する。
このように、 ロボット制御装置を内蔵したロポットを構成してもよい。

Claims

請求の範囲
1 . 2つの部材の相対的な位置もしくは姿勢を可変に該 2つの部材を結合する関 節を少なくとも 1つ備えたロポッ卜の動作を制御するための制御アルゴリズムを 構築するロボット制御アルゴリズム構築装置において、
入力に基づいて遅れゼロを含むアナログ的な遅れを伴う出力を生成するニュー 口ンの定義を記憶する定義記憶部と、
前記定義記憶部に記憶された定義を用い、 複数のニューロンを有し該複数の二 ユーロンの中に遅れゼロを除くアナログ的な遅れを伴う出力を生成する遅れニュ —ロンを少なくとも 1つ含むとともに信号の流れのループが存在するリカレント ニューラルネットワークにより構築された、 値が未確定の係数を含む制御アルゴ リズムを生成する制御アルゴリズム生成部と、
前記制御アルゴリズム生成部で生成された制御アルゴリズムの係数の値を決定 する係数値決定部とを備えたことを特徴とするロボット制御アルゴリズム構築装
2 . 前記定義記憶部は、 入力を 出力を 遅れを £ lとしたとき、 基本的 に、 ど1 dt 1 0
の式に従って出力 を生成するというニューロンの定義を記憶するものであるこ とを特徴とする請求の範囲第 1項記載のロボット制御アルゴリズム構築装置。
3 . 前記定義記憶部に記憶された定義には、 複数の入力を受け該複数の入力の総 和に基づいて、 遅れゼロを含むアナログ的な遅れを伴う出力を生成するという二 ユーロンの定義を含むものであり、 前記制御アルゴリズム生成部は、 該定義に従 うニューロンを含む制御アルゴリズムの生成が自在なものであることを特徵とす る請求の範囲第 1項記載の口ポット制御アルゴリズム構築装置。
4. 前記定義記憶部に記憶された定義には、 入力に重みを付し重みを付した入力 に基づいて、 遅れゼロを含むアナログ的な遅れを伴う出力を生成するというニュ —ロンの定義を含むものであり、 前記制御アルゴリズム生成部は、 該定義に従う ニューロンを含む制御アルゴリズムの生成が自在なものであることを特徴とする 請求の範囲第 1項記載のロボット制御アルゴリズム構築装置。
5 . 前記定義記憶部に記憶された定義には、 前記重みを別のニューロンの出力に 応じて変更する定義を含むものであって、 前記制御アルゴリズム生成部は、 入力 に重みを付するニューロンを含むとともに該重みを変更する別のニューロンを含 む制御アルゴリズムの生成が自在なものであることを特徴とする請求の範囲第 1 項記載のロポット制御アルゴリズム構築装置。
6 . 前記定義記憶部に記憶された定義には、 前記ニューロンの遅れを別のニュー ロンの出力に応じて変更する定義を含むものであって、 前記制御アルゴリズム生 成部は、 該別のニューロンを含むとともに該別のニューロンの出力によって変更 される遅れを伴う出力を生成するニューロンを含む制御アルゴリズムの生成が自 在なものであることを特徴とする請求の範囲第 1項記載のロポット制御アルゴリ ズム構築装置。
7 . 前記定義記憶部に記憶された定義には、 入力が閾値を越える場合に入力に代 えて閾値を採用するニューロンの定義を含むものであって、 前記制御アルゴリズ ム生成部は、 該定義に従うニューロンを含む制御アルゴリズムの生成が自在なも のであることを特徴とする請求の範囲第 1項記載のロポット制御アルゴリズム構
8 . 前記定義記憶部に記憶された定義には、 2つのニューロン間の結合を別の二 ュ一ロンの出力に応じて接断するスィッチの定義を含むものであって、 前記制御 アルゴリズム生成部は、 該別のニューロンを含むとともに該別のニューロンの出 力に応じて接断するスィッチにより接断される結合が定義された 2つのニューロ ンを含む制御アルゴリズムの生成が自在なものであることを特徴とする請求の範 囲第 1項記載のロポット制御アルゴリズム構築装置。
9 . 前記制御アルゴリズム生成部は、 周期関数を実現し周期信号を出力する部分 ネットワークを含む制御アルゴリズムの生成が自在なものであることを特徴とす る請求の範囲第 1項記載のロボット制御アルゴリズム構築装置。
1 0 . 前記周期関数は、 相互に異なる周期の複数の単位周期関数の結合からなる ものであって、 前記制御アルゴリズム生成部は、 前記部分ネットワークを生成す るにあたり、 前記複数の単位周期関数を実現し相互に異なる周期の複数の単位周 期信号を出力する複数の単位ネットワークの結合からなる部分ネットワークを生 成するものであることを特徴とする請求の範囲第 9項記載のロポット制御アルゴ リズム構築装置。
1 1 . 前記係数値決定部は、 前記制御アルゴリズム生成部により前記複数の単位 ネットワークの結合からなる部分ネットワークが生成される場合に、 該部分ネッ トワークの係数の値を、 該部分ネットワークを構成する複数の単位ネットワーク のうちの、 より長周期の単位周期信号を出力する単位ネットワークから、 より短 周期の単位周期信号を出力する単位ネットワークに向かって順次に、 各単位ネッ トワークの係数の値を決定していくものであることを特徴とする請求の範囲第 1 0項記載のロボット制御アルゴリズム構築装置。
1 2 . 前記制御アルゴリズム生成部は、 多項式で表わされる非周期関数を実現し 非周期信号を出力する部分ネットワークを含む制御アルゴリズムの生成が自在な ものであることを特徴とする請求の範囲第 1項記載のロボット制御アルゴリズム
1 3 . 前記制御アルゴリズム生成部は、 前記部分ネットワークを生成するにあた り、 前記多項式の各項を実現し該各項に対応する各単位信号を出力する複数の単 位ネットワークの結合からなる部分ネットワークを生成するものであることを特 徴とする請求の範囲第第 1 2項記載のロポット制御アルゴリズム構築装置。
1 4. 前記係数値決定部は、 前記制御アルゴリズム生成部により前記複数の単位 ネットワークの結合からなる部分ネットワークが生成される場合に、 該部分ネッ トワークの係数の値を、 該部分ネットワークを構成する複数の単位ネットワーク のうちの、 より次数の低い項に対応する単位信号を出力する単位ネットワークか ら、 より次数の高い項に対応する単位信号を出力する単位ネットワークに向かつ て順次に、 各単位ネットワークの係数の値を決定していくものであることを特徴 とする請求の範囲第 1 5項記載のロボッ卜制御アルゴリズム構築装置。
1 5 . プログラムを実行する情報処理装置内で実行され、 該情報処理装置を、 2 つの部材の相対的な位置もしくは姿勢を可変に該 2つの部材を結合する関節を少 なくとも 1つ備えたロポッ卜の動作を制御するための制御アルゴリズムを構築す るロボット制御アルゴリズム構築装置として動作させるロポット制御アルゴリズ ム構築プログラムにおいて、
前記情報処理装置を、
入力に基づいて遅れゼロを含むアナログ的な遅れを伴う出力を生成するニュー ロンの定義を記憶する定義記憶部と、
前記定義記憶部に記憶された定義を用い、 操作に応じて、 複数のニューロンを 有し該複数のニューロンの中に遅れゼロを除くアナログ的な遅れを伴う出力を生 成する遅れニューロンを少なくとも 1つ含むとともに信号の流れのループが存在 するリカレントニューラルネットワークにより構築された、 値が未確定の係数を 含む制御アルゴリズムを生成する制御アルゴリズム生成部と、
前記制御アルゴリズム生成部で生成された制御アルゴリズムの係数の値を決定 する係数値決定部とを備えたロポット制御アルゴリズム構築装置として動作させ ることを特徴とするロボット制御アルゴリズム構築プログラム。
1 6 . 2つの部材の相対的な位置もしくは姿勢を可変に該 2つの部材を結合する 関節を少なくとも 1つ備えたロボッ卜の動作を制御するロボット制御装置におい て、
入力に基づいて遅れゼロを含むアナログ的な遅れを伴う出力を生成する複数の ニューロンを有し該複数のニューロンの中に遅れゼロを除くアナログ的な遅れを 伴う出力を生成する遅れニューロンを少なくとも 1つ含むとともに信号の流れの ル一プが存在するリカレントニューラルネットワークにより構築された制御アル ゴリズムを記憶する制御アルゴリズム記憶部と、
前記制御アルゴリズム記憶部に記憶された制御アルゴリズムに基づいて生成さ れた制御信号を用いて制御対象のロボットを制御するロボット制御部とを備えた ことを特徴とするロポット制御装置。
1 7 . プログラムを実行する情報処理装置内で実行され、 該情報処理装置を、 2 つの部材の相対的な位置もしくは姿勢を可変に該 2つの部材を結合する関節を少 なくとも 1つ備えたロボットの動作を制御するロボット制御装置として動作させ るロポット制御プログラムにおいて、
前記情報処理装置を、
入力に基づいて遅れゼロを含むアナ口グ的な遅れを伴う出力を生成する複数の ニューロンを有し該複数のニューロンの中に遅れゼロを除くアナログ的な遅れを 伴う出力を生成する遅れニューロンを少なくとも 1つ含むとともに信号の流れの ループが存在するリカレントニューラルネットワークにより構築された制御アル ゴリズムを記憶する制御アルゴリズム記憶部と、
前記制御アルゴリズム記億部に記憶された制御アルゴリズムに基づいて生成さ れた制御信号を用いて制御対象のロボットを制御するロボット制御部とを備えた ロポット制御装置として動作させることを特徴とするロボット制御プログラム。
1 8 . 2つの部材の相対的な位置もしくは姿勢を可変に該 2つの部材を結合する 関節を少なくとも 1つ備えたロポッ卜において、
このロボットの動作を制御するロポット制御装置を備え、
該ロボット制御装置が、 入力に基づいて遅れゼロを含むアナログ的な遅れを伴う出力を生成する複数の ニューロンを有し該複数のニューロンの中に遅れゼロを除くアナログ的な遅れを 伴う出力を生成する遅れニューロンを少なくとも 1つ含むとともに信号の流れの ループが存在するリカレントニューラルネットワークにより構築された制御アル ゴリズムを記憶する制御アルゴリズム記憶部と、
前記制御アルゴリズム記憶部に記憶された制御アルゴリズムに基づいて生成さ れた制御信号を用いてこのロボッ卜の動作を制御するロボット制御部とを備えた ことを特徴とするロボット。
PCT/JP2002/010622 2002-10-11 2002-10-11 ロボット制御アルゴリズム構築装置、ロボット制御アルゴリズム構築プログラム、ロボット制御装置、ロボット制御プログラム、およびロボット Ceased WO2004033159A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004542801A JPWO2004033159A1 (ja) 2002-10-11 2002-10-11 ロボット制御アルゴリズム構築装置、ロボット制御アルゴリズム構築プログラムロボット制御装置、ロボット制御プログラム、およびロボット
PCT/JP2002/010622 WO2004033159A1 (ja) 2002-10-11 2002-10-11 ロボット制御アルゴリズム構築装置、ロボット制御アルゴリズム構築プログラム、ロボット制御装置、ロボット制御プログラム、およびロボット
EP02775338A EP1552908A4 (en) 2002-10-11 2002-10-11 DEVICE FOR CREATING A ROBOT CONTROL ALGORITHM, PROGRAM FOR CREATING A ROBOT CONTROL ALGORITHM, ROBOT CONTROL PROGRAM AND ROBOT
US11/028,311 US7072741B2 (en) 2002-10-11 2005-01-04 Robot control algorithm constructing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2002/010622 WO2004033159A1 (ja) 2002-10-11 2002-10-11 ロボット制御アルゴリズム構築装置、ロボット制御アルゴリズム構築プログラム、ロボット制御装置、ロボット制御プログラム、およびロボット

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/028,311 Continuation US7072741B2 (en) 2002-10-11 2005-01-04 Robot control algorithm constructing apparatus

Publications (1)

Publication Number Publication Date
WO2004033159A1 true WO2004033159A1 (ja) 2004-04-22

Family

ID=32089059

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2002/010622 Ceased WO2004033159A1 (ja) 2002-10-11 2002-10-11 ロボット制御アルゴリズム構築装置、ロボット制御アルゴリズム構築プログラム、ロボット制御装置、ロボット制御プログラム、およびロボット

Country Status (4)

Country Link
US (1) US7072741B2 (ja)
EP (1) EP1552908A4 (ja)
JP (1) JPWO2004033159A1 (ja)
WO (1) WO2004033159A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005305615A (ja) * 2004-04-23 2005-11-04 Sony Corp 2足歩行移動装置
WO2007135723A1 (ja) * 2006-05-22 2007-11-29 Fujitsu Limited ニューラルネットワーク学習装置、方法、及びプログラム
CN110355751A (zh) * 2018-03-26 2019-10-22 发那科株式会社 控制装置和机器学习装置
CN111168680A (zh) * 2020-01-09 2020-05-19 中山大学 一种基于神经动力学方法的软体机器人控制方法
JP2022550122A (ja) * 2019-10-24 2022-11-30 ネイバー コーポレーション ユーザ選好による強化学習基盤の自律走行最適化方法およびシステム

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7627540B2 (en) 2005-06-28 2009-12-01 Neurosciences Research Foundation, Inc. Addressing scheme for neural modeling and brain-based devices using special purpose processor
US7533071B2 (en) 2005-06-28 2009-05-12 Neurosciences Research Foundation, Inc. Neural modeling and brain-based devices using special purpose processor
WO2007127376A2 (en) * 2006-04-27 2007-11-08 Massachusetts Institute Of Technology Computer-implemented model of the central nervous system
WO2007022204A2 (en) * 2005-08-15 2007-02-22 Massachusetts Institute Of Technology Computer-implemented model of the central nervous system
US7765029B2 (en) * 2005-09-13 2010-07-27 Neurosciences Research Foundation, Inc. Hybrid control device
JP4818716B2 (ja) * 2005-12-27 2011-11-16 富士通株式会社 ロボット制御装置
JP4286880B2 (ja) * 2007-04-25 2009-07-01 本田技研工業株式会社 制御パラメータを探索するためのプログラム
JP5632609B2 (ja) * 2007-08-21 2014-11-26 富士通株式会社 ロボット制御装置およびロボット制御方法
WO2009040885A1 (ja) * 2007-09-25 2009-04-02 Fujitsu Limited ロボット制御装置、ロボット制御方法およびロボット制御プログラム
US8554370B2 (en) * 2009-05-15 2013-10-08 Honda Motor Co., Ltd Machine learning approach for predicting humanoid robot fall
US9566710B2 (en) 2011-06-02 2017-02-14 Brain Corporation Apparatus and methods for operating robotic devices using selective state space training
US9296102B2 (en) * 2012-01-11 2016-03-29 Technion Research And Development Foundation Ltd. Robot, device and a method for central pattern generator(CPG) based control of a movement of the robot
CN104602873B (zh) * 2012-09-04 2016-07-06 株式会社安川电机 机器人的控制参数调整方法、机器人系统及机器人控制装置
US9764468B2 (en) 2013-03-15 2017-09-19 Brain Corporation Adaptive predictor apparatus and methods
US9242372B2 (en) 2013-05-31 2016-01-26 Brain Corporation Adaptive robotic interface apparatus and methods
US9792546B2 (en) 2013-06-14 2017-10-17 Brain Corporation Hierarchical robotic controller apparatus and methods
US9314924B1 (en) * 2013-06-14 2016-04-19 Brain Corporation Predictive robotic controller apparatus and methods
US9579789B2 (en) 2013-09-27 2017-02-28 Brain Corporation Apparatus and methods for training of robotic control arbitration
KR102146363B1 (ko) * 2013-10-31 2020-08-20 삼성전자주식회사 착용형 로봇 및 그 제어 방법
US9597797B2 (en) 2013-11-01 2017-03-21 Brain Corporation Apparatus and methods for haptic training of robots
US9463571B2 (en) 2013-11-01 2016-10-11 Brian Corporation Apparatus and methods for online training of robots
US9358685B2 (en) 2014-02-03 2016-06-07 Brain Corporation Apparatus and methods for control of robot actions based on corrective user inputs
US9701018B2 (en) 2014-04-01 2017-07-11 Bot & Dolly, Llc Software interface for authoring robotic manufacturing process
US9841749B2 (en) 2014-04-01 2017-12-12 Bot & Dolly, Llc Runtime controller for robotic manufacturing system
US9346167B2 (en) 2014-04-29 2016-05-24 Brain Corporation Trainable convolutional network apparatus and methods for operating a robotic vehicle
US9555545B2 (en) 2014-05-21 2017-01-31 Bot & Dolly, Llc Systems and methods for time-based parallel robotic operation
US9278449B1 (en) 2014-05-21 2016-03-08 Bot & Dolly, Llc Closed-loop control system for robotic operation
US9308647B2 (en) 2014-06-03 2016-04-12 Bot & Dolly, Llc Systems and methods for instructing robotic operation
US9630318B2 (en) 2014-10-02 2017-04-25 Brain Corporation Feature detection apparatus and methods for training of robotic navigation
US9717387B1 (en) 2015-02-26 2017-08-01 Brain Corporation Apparatus and methods for programming and training of robotic household appliances
JP5816771B1 (ja) * 2015-06-08 2015-11-18 株式会社Preferred Networks 学習装置ユニット
TWI676536B (zh) * 2016-01-22 2019-11-11 大陸商鴻富錦精密工業(武漢)有限公司 基於腦電訊號控制之智慧型機器人系統和方法
US9789919B1 (en) * 2016-03-22 2017-10-17 Google Inc. Mitigating sensor noise in legged robots
JP6326167B1 (ja) * 2017-03-31 2018-05-16 株式会社ドワンゴ 学習装置、学習方法、学習プログラム、動画配信装置、活動装置、活動プログラムおよび動画生成装置
CN107662208B (zh) * 2017-08-24 2020-07-31 浙江工业大学 一种基于神经网络的柔性关节机械臂有限时间自适应反步控制方法
CN108803344B (zh) * 2018-07-25 2019-11-22 西北工业大学 一种基于模态切换的机器人双边遥操作对称预测控制方法
CN109765929B (zh) * 2019-01-14 2022-04-05 哈尔滨工程大学 一种基于改进rnn的uuv实时避障规划方法
JP7190919B2 (ja) 2019-01-25 2022-12-16 株式会社ソニー・インタラクティブエンタテインメント 画像解析システム
JP7417356B2 (ja) * 2019-01-25 2024-01-18 株式会社ソニー・インタラクティブエンタテインメント ロボット制御システム
JP7309371B2 (ja) 2019-01-25 2023-07-18 株式会社ソニー・インタラクティブエンタテインメント ロボット制御システム
CN111716357A (zh) * 2020-06-18 2020-09-29 南京邮电大学 一种基于动态神经网络的轨迹生成和调制方法
CN111950204B (zh) * 2020-08-13 2022-04-19 一汽解放汽车有限公司 一种铰链结构的优化方法、装置、计算机设备及存储介质
CN113359461B (zh) * 2021-06-25 2022-12-27 北京理工大学 一种适用于仿生眼系统的运动学标定方法
CN114851198B (zh) * 2022-05-17 2023-05-16 广州大学 一种多单连杆式机械臂的一致跟踪固定时间稳定控制方法
US12403611B2 (en) 2023-04-17 2025-09-02 Figure Ai Inc. Head and neck assembly for a humanoid robot
US12365094B2 (en) * 2023-04-17 2025-07-22 Figure Ai Inc. Head and neck assembly for a humanoid robot
US12539618B1 (en) 2023-04-17 2026-02-03 Figure Ai Inc. Head and neck assembly of a humanoid robot
CN116401623B (zh) * 2023-04-19 2023-11-03 深圳墨影科技有限公司 一种机器人控制算法融合方法
US12605824B2 (en) 2024-02-26 2026-04-21 Figure Ai Inc. Humanoid robot
US12578733B2 (en) 2024-09-04 2026-03-17 Figure Ai Inc. Bipedal action model for humanoid robot

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998033629A1 (en) * 1997-01-31 1998-08-06 Honda Giken Kogyo Kabushiki Kaisha Leg type mobile robot control apparatus
WO1999054095A1 (fr) * 1998-04-20 1999-10-28 Honda Giken Kogyo Kabushiki Kaisha Controleur pour robot mobile muni de jambes
JP3443077B2 (ja) * 1999-09-20 2003-09-02 ソニー株式会社 ロボットの運動パターン生成装置及び運動パターン生成方法、並びにロボット
JP3555107B2 (ja) * 1999-11-24 2004-08-18 ソニー株式会社 脚式移動ロボット及び脚式移動ロボットの動作制御方法
JP2001260063A (ja) * 2000-03-21 2001-09-25 Sony Corp 多関節型ロボット及びその動作制御方法
JP2001277163A (ja) * 2000-04-03 2001-10-09 Sony Corp ロボットの制御装置及び制御方法
JP3634238B2 (ja) * 2000-05-19 2005-03-30 本田技研工業株式会社 脚式移動ロボットの床形状推定装置
JP3726009B2 (ja) * 2000-05-19 2005-12-14 本田技研工業株式会社 脚式移動ロボットの床形状推定装置
JP4491912B2 (ja) * 2000-05-22 2010-06-30 ソニー株式会社 バッテリ駆動の脚式移動ロボット及びその制御方法
KR100637057B1 (ko) * 2000-11-17 2006-10-23 혼다 기켄 고교 가부시키가이샤 레그식 이동 로봇의 보용 생성장치
JP4246638B2 (ja) * 2002-01-18 2009-04-02 本田技研工業株式会社 脚式移動ロボットの制御装置
TW200532523A (en) * 2004-02-27 2005-10-01 Aureon Biosciences Corp Methods and systems for predicting occurrence of an event

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AUDE BILLARD, GILLIAN HAYES: "DRAMA, a connectionist architecture for control and learning in autonomous robots", ADAPTIVE BEHAVIOR, vol. 7, no. 1, 1999, pages 35 - 63, XP002962350 *
HUANG J.-Q., LEWIS F.L., LIU K.: "A neural net predictive control for telerobots with time delay", JOURNAL OF INTELLIGENT AND ROBOTIC SYSTEMS, vol. 29, no. 1, 2000, pages 1 - 25, XP002962349 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005305615A (ja) * 2004-04-23 2005-11-04 Sony Corp 2足歩行移動装置
WO2007135723A1 (ja) * 2006-05-22 2007-11-29 Fujitsu Limited ニューラルネットワーク学習装置、方法、及びプログラム
JPWO2007135723A1 (ja) * 2006-05-22 2009-09-24 富士通株式会社 ニューラルネットワーク学習装置、方法、及びプログラム
US7895140B2 (en) 2006-05-22 2011-02-22 Fujitsu Limited Neural network learning device, method, and program
CN110355751A (zh) * 2018-03-26 2019-10-22 发那科株式会社 控制装置和机器学习装置
CN110355751B (zh) * 2018-03-26 2023-04-28 发那科株式会社 控制装置和机器学习装置
JP2022550122A (ja) * 2019-10-24 2022-11-30 ネイバー コーポレーション ユーザ選好による強化学習基盤の自律走行最適化方法およびシステム
JP7459238B2 (ja) 2019-10-24 2024-04-01 ネイバー コーポレーション ユーザ選好による強化学習基盤の自律走行最適化方法およびシステム
CN111168680A (zh) * 2020-01-09 2020-05-19 中山大学 一种基于神经动力学方法的软体机器人控制方法
CN111168680B (zh) * 2020-01-09 2022-11-15 中山大学 一种基于神经动力学方法的软体机器人控制方法

Also Published As

Publication number Publication date
EP1552908A4 (en) 2008-10-15
US7072741B2 (en) 2006-07-04
US20050119791A1 (en) 2005-06-02
JPWO2004033159A1 (ja) 2006-02-09
EP1552908A1 (en) 2005-07-13

Similar Documents

Publication Publication Date Title
WO2004033159A1 (ja) ロボット制御アルゴリズム構築装置、ロボット制御アルゴリズム構築プログラム、ロボット制御装置、ロボット制御プログラム、およびロボット
Schaal et al. Learning movement primitives
Sartoretti et al. Distributed learning of decentralized control policies for articulated mobile robots
Salmen et al. Echo state networks used for motor control
Schaal et al. Control, planning, learning, and imitation with dynamic movement primitives
Lewis et al. Genetic algorithms for gait synthesis in a hexapod robot
JP3436320B2 (ja) 非線形システムの出力軌道と動特性の制御方法および装置
JP5059939B2 (ja) キャラクタシミュレーション方法およびシステム
Faíña et al. EDHMoR: Evolutionary designer of heterogeneous modular robots
CN119748447B (zh) 运行控制模型训练方法、机器人运行控制方法和系统
Plöger et al. Echo state networks for mobile robot modeling and control
JP2004531400A (ja) 人工多脚動物およびそのモーションコントローラ
JPH09114514A (ja) ロボット制御方法およびその装置
CN119644704B (zh) 双足机器人复杂地形自适应步态规划方法及双足机器人
Toloue et al. Position tracking of a 3-PSP parallel robot using dynamic growing interval type-2 fuzzy neural control
Hu et al. Biped gait optimization using spline function based probability model
CN118809606B (zh) 一种基于位置环预训练的人形机器人力矩控制方法
US20260016809A1 (en) Digital Humanoid Robots with Dynamical Models for Robot Guidance and Control System Design
CN118963147A (zh) 一种机器人仿生神经网络控制方法及系统
JPWO2004104917A1 (ja) センサおよびセンサプログラム
Juang Intelligent locomotion control on sloping surfaces
Rempis et al. An interactively constrained neuro-evolution approach for behavior control of complex robots
Thant et al. Application of cubic spline interpolation to walking patterns of biped robot
Loo et al. A hybrid intelligent active force controller for articulated robot arms using dynamic structure neural network
Gupta et al. Intelligent control of robotic manipulators: experimental study using neural networks

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SK TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 11028311

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2004542801

Country of ref document: JP

REEP Request for entry into the european phase

Ref document number: 2002775338

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2002775338

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2002775338

Country of ref document: EP