The present invention relates to an action transfer device, an action transfer method, and a program. For example, the present invention relates to a technique for transferring an action from a transfer source robot by using a small number of learning samples acquired by a transfer destination robot.
Currently, the use of robots has been expanding in human society including in the home. At present, an intellectual development mechanism for robots is still being developed, and thus actions that can be executed by robots and things that can be understood by robots are limited. On the other hand, various types of robots having different body characteristics have been developed. Assuming that such robots having the above limitations are introduced into the standard home, it would be inefficient to cause each of these robots to learn actions and the like independently.
Accordingly, there is a need for a mechanism for sharing the knowledge learned by each robot, in particular, action information, among other robots. The technique for obtaining an action by sharing action information among robots is referred to as “action transfer”. In other words, the action transfer is a technique in which a transfer destination (target domain) robot efficiently learns an action by using action information obtained by a transfer source (source domain) robot.
Information (action information) based on which a robot acts can be considered as, for example, being information obtained by accumulating correspondence relations between a joint angle (joint value) and coordinates (end effector) of a leading end of an arm of a robot having certain physical properties (e.g., the length of an arm, or the number of joints). The use of such action information enables the robot to act. Accordingly, the physical properties have an important effect on the robot action transfer. However, it is difficult to identify the physical properties of a robot among various types of robots. Therefore, a mechanism for adapting action information obtained from another robot to the physical properties of the robot is important in the action transfer.
As the above mechanism, a technique in which physical properties of a transfer destination robot are obtained and then action information about a transfer destination robot is processed to be adapted to the physical properties of the transfer source robot is generally employed. However, in this technique, some advance preparation such as measurement of physical properties of the transfer destination robot is required. Further, if the physical properties of the transfer destination robot are changed, or if an error occurs in the measurement thereof, it is difficult to perform an action accurately. Furthermore, humans and animals can learn actions without obtaining information about their own physical properties in advance. Considering this, it seems to be a more realistic approach to achieve an action transfer based on experiences of a real robot, without obtaining information about the physical properties of the transfer destination robot in advance.
In this regard, Non Patent Literature 1 proposes a technique for transferring action samples of a transfer source robot to a transfer destination robot by using the respective numbers of action samples acquired from both the transfer source robot and the transfer destination robot that are the same as each other even when some of the physical properties of the transfer destination robot are unknown. Note that in this case, the transfer is achieved by fitting using a matrix calculation.
However, Non Patent Literature 1 fails to describe details regarding the number of data samples required for the action transfer. It is considered that it is necessary to acquire the respective numbers of action samples from both the transfer source robot and the transfer destination robot that are the same as each other. Specifically, the technique needs to acquire a large number of learning samples not only in the transfer source but also in the transfer destination. This causes a problem that it takes a large amount of time for the technique to perform action transfer, it takes a large number of man-hours, cost, and the like, and it is difficult to achieve the action transfer rapidly and accurately.
In general, the use of a real robot on a simulator or in an experiment facility, or the like as a transfer source robot makes it relatively easy to acquire a large number of action samples. However, it is assumed that the transfer destination robot is a real robot provided for an actual operation at home or the like. Under such a situation, it is considered that it is difficult to acquire a number of learning samples the same as that of the transfer source robot. Accordingly, in the transfer destination robot, a mechanism for achieving the action transfer with high efficiency without the step of acquiring a large number of learning samples is required.
The present invention has been made to solve the above-mentioned problems, and an object of the present invention is to provide an action transfer device, an action transfer method, and a program which are capable of performing an action transfer from a transfer source robot by using a small number of learning samples acquired by a transfer destination robot.
An action transfer device according to the present invention includes: a transfer source action information acquisition unit configured to acquire a plurality of pieces of action information about a transfer source robot; a transfer destination action information acquisition unit configured to acquire a plurality of pieces of first action information about a transfer destination robot; and a correction unit configured to generate a plurality of pieces of second action information about the transfer destination robot by correcting the action information about the transfer source robot by a prescribed update formula using the first action information about the transfer destination robot. The number of the pieces of the first action information about the transfer destination robot is smaller than the number of the pieces of the action information about the transfer source robot, and the number of the pieces of the second action information about the transfer destination robot is larger than the number of the pieces of the first action information about the transfer destination robot.
An action transfer method according to the present invention includes: a transfer source action information acquisition step of acquiring a plurality of pieces of action information about a transfer source robot; a transfer destination action information acquisition step of acquiring a plurality of pieces of first action information about a transfer destination robot; and a correction step of generating a plurality of pieces of second action information about the transfer destination robot by correcting the action information about the transfer source robot by a prescribed update formula using the first action information about the transfer destination robot. The number of the pieces of the first action information about the transfer destination robot is smaller than the number of the pieces of the action information about the transfer source robot, and the number of the pieces of the second action information about the transfer destination robot is larger than the number of the pieces of the first action information about the transfer destination robot.
A program according to the present invention is a program for causing a computer to execute the action transfer method described above.
In the present invention, the action transfer device modifies a large number of data sets about the transfer source robot (action information about the transfer source robot) by using a small number of action samples (first action information about the transfer destination robot) acquired by the transfer destination robot, thereby generating a large number of data sets (second action information about the transfer destination robot) that are optimized by the transfer destination robot. Thus, the action of the transfer source robot can be transferred to the transfer destination robot without obtaining a large number of action samples in the transfer destination robot.
According to the present invention, it is possible to provide an action transfer device, an action transfer method, and a program which are capable of performing an action transfer from a transfer source robot by using a small number of learning samples acquired by a transfer destination robot.
Prior to the description of the invention, conditions under which an action transfer method according to the present invention is implemented will be described.
The present invention proposes a technique for implementing an action transfer between robots under the following conditions (
Condition 1: The number of joints of a transfer source robot and the number of joints of a transfer destination robot are known and equal to each other.
Condition 2: Physical properties (e.g., the length of an arm) other than the number of joints are unknown.
Condition 3: The transfer source robot can extract a large number of action samples. The transfer source robot is typically a robot that is present on a simulator or in an experiment facility.
Condition 4: The transfer destination robot can extract only a small number of action samples. The transfer destination robot is typically a real robot
In the technique according to the present invention, an action is transferred to the transfer destination robot from the transfer source robot that satisfies the above-mentioned restrictive conditions. The action transfer indicates that an experiment database
corresponding to a work space for the transfer destination robot is created from an action experiment database Dsrc created on the transfer source robot. At this time,
is created by first causing the transfer destination robot to perform a small number of actions to create an experiment data set Dtgt and then correcting Dsrc by Dtgt. In this case, the size of Dtgt is smaller than the size of Dsrc, and the size of
is the same as the size of Dsrc. Thus, according to this technique, learning can be achieved using a smaller number of data sets than when data sets are generated by causing the transfer destination robot to actually perform a large number of actions. Further, the accuracy is improved as compared with a case where Dsrc is copied to create
Note that the experiment database, such as Dsrc, may be a simple set of pairs of joint values and coordinate values. In addition to a simple database (a database recording information about a simple set of pairs of joint values and coordinate values), for example, a database obtained by compressing information using SOM (Self Organizing Maps) by competitive learning, SOINN (Self Organizing Incremental Neural Network) which is a technique for online unsupervised learning capable of additional learning by modifying the SOM, or the like.
Note that the SOM and the COINN are described in the following Reference 1 and Reference 2, and thus detailed descriptions thereof are omitted.
A method for creating an experiment database D for actions on robots will now be described. This method can be applied to the creation of Dsrc and Dtgt. In general, when the physical properties of robots are known, the use of a well-known technique of Inverse Kinematics (IK) makes it possible to control the end effector of the arm to be moved to an arbitrary location. However, the physical properties are unknown in the current assumption. Accordingly, in the technique according to the present invention, IK based on experiences is carried out to thereby move the end effector. Data to be acquired by the robot so as to execute the IK based on experiences and a method for executing the IK using the data are disclosed below.
First, the following joint value set which is data indicating joint angles of all joints of the target robot J={{right arrow over (J)}1, {right arrow over (J)}2, . . . , {right arrow over (J)}n|{right arrow over (J)}ieach joint value} is generated. For example, in the case of an m-axis robot, i.e., a robot having m joints, the following joint value
is represented by an m-dimensional vector.
Further, the robot is caused to actually act using the joint values included in J, and absolute coordinate values (hereinafter referred to simply as coordinate values) of the end effector of the arm are obtained by various sensor information (e.g., visual information) about the robot. When the physical properties of the robot on the simulator or the like are known, the use of Forward Kinetics makes it possible to reduce a time required to acquire the coordinate values. Further, the following data set indicating the calculated coordinate values is generated.
X={{right arrow over (x)}1, {right arrow over (x)}1, . . . , {right arrow over (x)}n}({right arrow over (x)}i IS XY-PLANE OR XYZ SPACE)
At this time, the coordinate values of the end effector are uniquely determined from the joint values of the robot. In other words, there is a functional relation between the joint values and the coordinate values.
The joint values and the coordinate values which are acquired from these experiences, or actual actions, are represented by a data set D (Formulas (1) and (2)).
D=
J,X
{right arrow over (J)}
i
,{right arrow over (x)}
i
(1)
each {right arrow over (x)}i=f({right arrow over (J)}i) (2)
In this case, on the basis of the acquired data set D, a method for obtaining the following joint value
for moving the end effector of the arm to the coordinate value
{right arrow over (x)}goal
which is randomly designated is described. In this case, k pieces of coordinate value data in the vicinity of the designated coordinate value
{right arrow over (x)}goal
are searched from the data set D, and
inverse distance weighted average of the joint values
respectively corresponding to the k coordinate values is calculated to thereby obtain
In this case, a plurality of joint values that allow the end effector to move to the designated coordinate value may be present. This event is more likely to occur as the number of joints increases. Accordingly, even when the coordinate values are similar values, the joint values for reaching the respective coordinate values may greatly differ from each other. In this case, if an average value is calculated using only the coordinate value space, the average of the joint values that greatly differ from each other is used, which results in an increase in positional error. Accordingly, in this technique,
is calculated referring to the distance between the joint values in the joint value space.
Specifically, first, in the coordinate value space,
{right arrow over (x)}one
which is located closest to the designated coordinate value, and a peripheral coordinate value sample Xknn thereof are searched. Then, joint values
({right arrow over (J)}one,Jknn)
which respectively correspond to the searched coordinate values are obtained. Further, data Jselected which is closer to
is searched among the joint values Jknn. Then, inverse distance weighted average for the values is represented by
This algorithm is shown in
Subsequently, the embodiment of the present invention discloses two types of methods for correcting Dsrc, which is acquired by the transfer source robot, to thereby obtain
that is, a data set to be adapted to the work space for the transfer destination robot. First, Transfer by SOM-algorithm is disclosed as a first embodiment. Next, Transfer by Error propagation is disclosed as a second embodiment.
Transfer by SOM-algorithm according to the first embodiment is a method for acquiring a small number of action samples Dtgt in the transfer destination robot and modifying a coordinate value space Xsrc for the transfer source robot by using data Xtgt of the coordinate value space in Dtgt and an update formula created with reference to the SOM.
Transfer by SOM-algorithm is an algorithm conceived from the update formula with reference to the conventionally known SOM (Self Organizing Maps). The SOM indicates self organizing maps devised by Kohonen et al. as a technique for changing a network structure (topology) according to an input. The SOM is one type of artificial neural networks and has a mechanism for modifying a topology of neurons according to an input. The SOM learning method is competitive learning, and neurons in the vicinity of the input are updated.
On the other hand, since setting of a target problem in the conventional SOM differs from setting of a target problem in the Transfer by SOM-algorithm, a new finding is added to the method of changing an update ratio in the Transfer by SOM-algorithm. In the conventional SOM, a node in one space is updated and the update ratio is determined using the distance between the input and a neighboring node of the input in the space. On the other hand, Transfer by SOM-algorithm is based on the premise that two spaces, i.e., a joint value space and an end effector coordinate space, are present. In this method, the coordinate value space is appropriate as the space in which updating is performed depending on input data. However, as described above, since constant restrictive conditions are present between the coordinate values and the joint values, it is important to consider the distance between the joint values in the joint value space. Therefore, in this method, a mechanism in which the distance between the joint values in the joint value space can be reflected in the update ratio of the coordinate value space is provided.
A detailed method for obtaining
using Transfer by SOM-algorithm is disclosed below.
Referring first to
The action transfer device 100 is an information processing device which is typically a server computer, a personal computer (PC), or the like. The typical action transfer device 100 includes an arithmetic processing unit, a volatile or non-volatile storage device, and an input/output device. The arithmetic processing unit executes various controls based on programs stored in the storage device, thereby logically implementing each processing unit to be described later. The action transfer device 100 is not necessarily a physically single device, but instead may be implemented by dispersion processing using a plurality of information processing devices. Further, the action transfer device 100 may be incorporated in, for example, the transfer destination robot, or may be separated from the transfer destination robot.
A transfer source action information acquisition unit 101 acquires the data set Dsrc for causing the transfer source robot to act. Dsrc includes a joint value group Jsrc and a coordinate value group Xsrc of the end effector. Typically, Dsrc is generated by causing the transfer source robot to act several times on the simulator or in the experiment facility and acquiring a large number of pairs of the end effector and the joint value corresponding to the end effector. Assume in this embodiment that Dsrc is generated in advance and the transfer source action information acquisition unit 101 acquires Dsrc from the input device or the storage device.
A transfer destination action information acquisition unit 102 acquires the data set Dtgt obtained when the transfer destination robot is caused to perform a test action. Dtgt includes a joint value group Jtgt and a coordinate value group Xtgt of the end effector. Typically, Dtgt can be generated by causing the transfer source robot to act several times randomly and acquiring some pairs of coordinate value of the end effector and the joint value corresponding to the coordinate value. In this case, the size of Dtgt may be extremely smaller than the size of Dsrc. In other words, the number of action trials of the transfer destination robot may be smaller than the number of action trials of the transfer source robot.
Assume in this embodiment that Dtgt is generated in advance and the transfer destination action information acquisition unit 102 acquires Dtgt from the input device or the storage device.
A correction unit 103 performs processing for modifying Dsrc into
by using Dtgt. In this embodiment, the correction unit 103 performs modification processing using Transfer by SOM-algorithm.
An output unit 104 outputs
which is generated by the correction unit 103 to the outside. The transfer destination robot acquires
which is output from the output unit 104, and acts based on this value, thereby making it possible to acquire an action similar to that of the transfer source robot.
Subsequently, an action of the action transfer device 100 according to the first embodiment of the present invention will be described with reference to the flowchart of
The transfer source action information acquisition unit 101 acquires the data set Dsrc for the transfer source.
The correction unit 103 generates
as the transfer destination data set. In this case, a value that is the same as Dsrc is set as an initial value (
The transfer destination action information acquisition unit 102 acquires the action sample Dtgt for the transfer destination robot.
The correction unit 103 repeatedly executes the processing of S103 and subsequent steps for each pair of the joint value Jtgt and the coordinate value Xtgt which are included in Dtgt.
The correction unit 103 searches the coordinate value
{right arrow over (x)}nearest
which is nearest the coordinate value
{right arrow over (x)}tgt
which is included in the action sample Dtgt of the transfer destination robot, from the data set
of the transfer destination, and calculates a distance dnearest between the both coordinate values (
More specifically, the correction unit 103 first searches, from the joint value group
Ĵtgt
in the data set of the transfer destination, the coordinate value
which is nearest
which is included in the action sample Dtgt of the transfer destination robot (
{right arrow over (x)}nearest
which is a pair of
from the data set
of the transfer destination (
{right arrow over (x)}tgt and
{right arrow over (x)}nearest
(
In this case, the correction unit 103 may set a parameter relating to modification processing for
(
The correction unit 103 performs processing for modifying the data set
of the transfer destination. Specifically, all coordinate values
{right arrow over (x)}i
which are included in
are corrected to thereby optimize mapping of the joint value
and the coordinate values for the transfer destination robot (
More specifically, the correction unit 103 first calculates a distance dj between the joint value
which is included in
and
(
Δ{right arrow over (x)}i
between
{right arrow over (x)}i
and
{right arrow over (x)}tgt
(
{right arrow over (x)}i
by the following update formula using
dj,Δ{right arrow over (x)}i
and the distance dnearest calculated in S103 (
{right arrow over (x)}
i
={right arrow over (x)}
i+4sgm(a,−dj)sgm(b,−dnearest)Δ{right arrow over (x)}i
It should be noted herein that in the above-mentioned update formula, information about the joint value space is added when the coordinate value space is updated on the basis of the SOM update formula of the related art. This is because, unlike the SOM of the related art, the present invention need to handle a plurality of spaces such as the joint value space and the coordinate value space.
In this embodiment, the action transfer device 100 modifies the data set for the transfer source robot using Transfer by SOM-algorithm, thereby generating a data set optimized for the transfer destination robot. In this modification processing, action samples that are acquired in the transfer destination robot and are less than the action samples included in the data set are used. Thus, the transfer destination robot can acquire the action of the transfer source robot even if a large number of action samples are not obtained in the transfer destination robot. In other words, an equivalent action can be implemented and the action is transferred.
Further, in this embodiment, the update formula obtained by modifying the SOM of the related art and two spaces with different properties are taken into consideration at the same time is introduced. Consequently, the embodiment provides a method appropriate for problem setting or a problem to be solved, i.e., action transfer between robots.
Further, according to this embodiment, the action transfer can be achieved with a smaller amount of calculation than that of the related art. In particular, since the number of learning samples in the transfer destination robot is smaller than that in the related art, the amount of calculation can be remarkably reduced.
Transfer by error propagation according to the second embodiment is a method for calculating an error between Dsrc and Dtgt and modifying the coordinate value space Xsrc for the transfer source robot by using the error value. In other words, the error value calculated using a small number of action samples is propagated to peripheral data in Dsrc, thereby performing modification. Specifically, for each sample in the action sample data Dtgt obtained in the transfer destination robot, similar actions are searched in the data set Dsrc for the transfer source robot. Further, an error in the coordinate values of the end effector corresponding to the both actions is calculated. Furthermore, the error is propagated to the data in Dsrc having a similar joint value, thereby modifying the coordinate value space.
A detailed method for obtaining
using Transfer by Error propagation is disclosed below.
The configuration of the action transfer device 100 according to the second embodiment is similar to that of the first embodiment, and thus the description thereof is omitted.
Subsequently, the action of the action transfer device 100 according to the second embodiment of the present invention will be described with reference to the flowchart of
Like in the first embodiment, the transfer source action information acquisition unit 101 acquires the data set data set Dsrc for the transfer source. Further, the correction unit 103 generates
as the transfer destination data set. In this case, a value that is the same as Dsrc is set as an initial value (
Like in the first embodiment, the transfer destination action information acquisition unit 102 acquires the action sample Dtgt for the transfer destination robot. The correction unit 103 repeatedly executes the processing of S203 and subsequent steps on each pair of the joint value Jtgt and the coordinate value Xtgt included in Dtgt.
The correction unit 103 searches, from the data set
of the transfer destination, the nearest coordinate value
{right arrow over (x)}nearest
of the coordinate value
{right arrow over (x)}tgt
which is included in the action sample Dtgt of the transfer destination robot, and calculates the error
Δ{right arrow over (x)}nearest
between the both values (
More specifically, the correction unit 103 first searches, from the joint value group
Ĵtgt
in the data set of the transfer destination,
the nearest joint value
in the joint value space of the joint value
which is included in the action sample Dtgt for the transfer destination robot (
{right arrow over (x)}nearest
of
from the data set
of the transfer destination (
Δ{right arrow over (x)}nearest
between the current input
{right arrow over (x)}tgt
and
{right arrow over (x)}nearest
(
In this case, the correction unit 103 may set a parameter relating to modification processing for
(
The correction unit 103 performs processing for modifying the data set
of the transfer destination. Specifically, all coordinate values
{right arrow over (x)}i which are included in
are corrected to thereby optimize mapping of the joint value
and the coordinate values for the transfer destination robot (
More specifically, the correction unit 103 first calculates the distance dj between the joint value
which is included in
and
(
{right arrow over (x)}i
by the following update formula using dj and the displacement
Δ{right arrow over (x)}nearest
which is calculated in S103 (
{right arrow over (x)}
i
={right arrow over (x)}
i+2sgm(a,−dj)Δ{right arrow over (x)}nearest
In this case, the above-mentioned update formula is obtained by modifying the update formula of the first embodiment. As will be described in detail later, in Transfer by SOM-algorithm of the first embodiment, modification processing is performed in such a manner coordinate values other than
approach the input coordinate values (the coordinate value group Xtgt of the action sample Dtgt of the transfer destination). On the other hand, in Transfer by Error propagation of the second embodiment, an error between the input coordinate value and the corresponding coordinate value in
is also propagated to other coordinate values, and modification is performed so as to move based on the error. In view of the problem setting, i.e., the action transfer of robots, in the present invention, modification of the data set by the update formula of the second embodiment is more efficient.
According to this embodiment, the action transfer device 100 can achieve the action transfer more appropriately and more efficiently as compared with the first embodiment.
In order to verify the advantageous effects of the action transfer methods according to the first and second embodiments, the inventor conducted two types of experiments. One of the experiments uses a two-axis robot with an end effector acting on a two-dimensional plane, and the other one of the experiments uses a six-axis real robot with an end effect acting in a three-dimensional space. A quantitative evaluation is mainly conducted using the former robot, i.e., the two-axis robot, and an effectiveness evaluation is conducted using the latter robot, i.e., the six-axis robot.
Experiment environment: A two-axis one-arm robot is created on a simulator and an action is transferred on the simulator. After that a quantitative evaluation of a positional error of the end effector is conducted. Accordingly, four types of robots with different arm lengths were prepared.
In this experiment, the action transfer to robots A, B, and C is carried out using a robot Src as the transfer source robot. Further, the absolute value
err=∥ftgt({right arrow over (J)}ik)−{right arrow over (x)}goal∥
of the positional error at that time is measured. In this case,
{right arrow over (x)}goal
is a coordinate value designated as a target, and
ftgt({right arrow over (J)}ik)
is a coordinate value of the end effector where the robot has actually reached.
The data set Dsrc for the transfer source robot includes data of the joint values on a grid that are obtained by gradually moving the value of each joint of the robot Src by 0.0314≈π/100[rad], and the absolute coordinate value (XY-plane) of the end effector obtained from each of the joint values. As for the number of pieces of data, 10000 samples were used when the joint value has a limit, and 40000 samples were used when the joint value has no limit.
The action sample Dtgt for the transfer destination robot includes the joint values which are randomly set in the robots A, B, and C, and the coordinate values obtained from the respective joint values. The number of pieces of data is set to 50 samples, regardless of whether or not the joint value has a limit.
The evaluation in this experiment was carried out by conducting the experiment for moving the arm 200 times toward random targets 100 times and recording a positional error between the target and the end effector at that time. Parameters of as=1 and ae=0.1 were used. These values are a variety of values optimum for the respective parameters that are obtained by preliminarily carrying out the transfer, which is likely to be most difficult, at a small scale. In this experiment, the following six pieces of experimental data were compared.
STgt: when a small amount of sample data Dtgt is simply used as a data set for the transfer destination
Lsrc: when data Dsrc is simply copied and used as a data set for the transfer destination robot
TSom: when transfer is performed using Transfer by SOM-algorithm
TErr: when transfer is performed using Transfer by Error propagation
LTgt: when a large number of action samples are obtained in the transfer destination (theoretical minimum error)
Experimental result:
As seen from
Incidentally, even when Transfer by Error propagation is used, a certain number of positional errors are still present. This experiment is not sufficient to prove that the technique according to the present invention is actually effective as a robot action transfer method. Therefore, the effectiveness of the present invention in a real robot is verified as follows.
Experiment environment: In this experiment, a real robot shown in
Details regarding the data used during experiments will be described. The data set Dsrc acquired by the transfer source robot on the simulator is obtained by moving each joint by 0.0157≈π/200[rad], and the number of pieces of data is about 700,000 samples. A small number of action samples Dtgt acquired by the real transfer destination robot were obtained by randomly moving the real robot, and 100 samples were obtained.
In this case, two types of experiments, i.e., a quantitative evaluation using a six-axis robot and a demonstration experiment using a real robot, were conducted. The former experimental method is similar to the experiment using the two-axis robot described above. In the latter experiment, the real robot is caused to carry the end effector to an arbitrary target position and to grip an object that is placed at the location in advance. At this time, the absolute coordinates of the object position can be specified using a camera and a depth sensor which are mounted on the robot.
Also in this experiment, six pieces of experimental data of STgt, Lsrc, TSom, TErr, and LTgt were compared.
Experimental result:
Next, an experiment for causing the real six-axis robot to grip an object placed at an arbitrary location by using information transferred from the robot β was conducted. As a result, it was confirmed that the robot can actually grip the object. Therefore, the technique according to the present invention can be evaluated as effective for the action transfer in the real environments.
According to the above experimental results, when the action transfer is performed by Transfer by SOM-algorithm according to the first embodiment, a positional error is relatively large. On the other hand, according to Transfer by Error propagation of the second embodiment, a positional error is extremely small.
Referring to
which is obtained after the transfer. Each line segment indicates a locus of movement of coordinate values (correction modification for a data sets) by the action transfer. Each point C (represented by a small black circle) indicates a coordinate value assuming that a large number of samples can be acquired by the transfer destination robot. In this case, a state where the point B and the point C overlap each other indicates that the transfer method can sufficiently suppress errors in the transfer source robot, or can suppress errors in the same manner as in the case where the robot has learned about a number of samples the same as that of samples learned by the transfer source robot.
As is seen from
On the other hand, as seen from
That is, to solve the problem of transferring learned data from a certain environment to an environment similar to the environment, Transfer by Error propagation is suitably used and the use of Transfer by Error propagation makes it possible to achieve the transfer with less errors.
Note that the present invention is not limited to the embodiments described above and can be modified as appropriate without departing from the scope of the invention. For example, in the above embodiments, the Sigmoid function is employed for mapping of coordinate values of the transfer source and coordinate values of the transfer destination. However, instead of the Sigmoid function, any function, such as an arc tangent (arctan), may be employed.
Further, the above embodiments disclose methods for transferring action information on the premise that two spaces, i.e., the joint value space and the coordinate value space, are present. However, an arbitrary number N of spaces may be provided. In this case, the above-mentioned update formula can be arbitrarily extended depending on the number of spaces. For example, coordinate values may be defined as the functions of joint values and coordinate values by adding a sensor value space. Sensor values may be, for example, data indicating an arm state (e.g., a broken or bent arm). This enables the robot to act in consideration of the sensor values. Thus, it is considered that actions can be selected and generated depending on the robot itself and the peripheral state of the robot.
While the above embodiments have been described assuming that the present invention is mainly composed of hardware, the present invention is not limited to this. Any processing can be implemented by causing a CPU (Central Processing Unit) to execute a computer program. In this case, the computer program can be stored and provided to a computer using any type of non-transitory computer readable media. Non-transitory computer readable media include any type of tangible storage media. Examples of non-transitory computer readable media include magnetic storage media (such as floppy disks, magnetic tapes, hard disk drives, etc.), optical magnetic storage media (e.g. magneto-optical disks), CD-ROM (Read Only Memory), CD-R, CD-R/W, and semiconductor memories (such as mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (random access memory), etc.). The program may be provided to a computer using any type of transitory computer readable media. Examples of transitory computer readable media include electric signals, optical signals, and electromagnetic waves. Transitory computer readable media can provide the program to a computer via a wired communication line, such as an electric wire and an optical fiber, or a wireless communication line.
This application is based upon and claims the benefit of priority from Japanese patent application No. 2014-243740, filed on Dec. 2, 2014, the disclosure of which is incorporated herein in its entirety by reference.
Number | Date | Country | Kind |
---|---|---|---|
2014-243740 | Dec 2014 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2015/005981 | 12/2/2015 | WO | 00 |