JP6518982B2 - 動作転移装置、動作転移方法及び動作転移プログラムが格納された非一時的なコンピュータ可読媒体 - Google Patents

動作転移装置、動作転移方法及び動作転移プログラムが格納された非一時的なコンピュータ可読媒体

Info

Publication number
JP6518982B2
JP6518982B2 JP2018549028A JP2018549028A JP6518982B2 JP 6518982 B2 JP6518982 B2 JP 6518982B2 JP 2018549028 A JP2018549028 A JP 2018549028A JP 2018549028 A JP2018549028 A JP 2018549028A JP 6518982 B2 JP6518982 B2 JP 6518982B2
Authority
JP
Japan
Prior art keywords
motion information
transfer
robot
joint
error
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.)
Active
Application number
JP2018549028A
Other languages
English (en)
Other versions
JPWO2018084164A1 (ja
Inventor
昇平 榎本
昇平 榎本
長谷川 修
修 長谷川
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.)
SOINN INC.
Original Assignee
SOINN INC.
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 SOINN INC. filed Critical SOINN INC.
Publication of JPWO2018084164A1 publication Critical patent/JPWO2018084164A1/ja
Application granted granted Critical
Publication of JP6518982B2 publication Critical patent/JP6518982B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • 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/33029ANNS artificial neural network with sigmoid function
    • 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/33045Selforganizing 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/39296Learn inverse and forward model together

Landscapes

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

Description

本発明は動作転移装置、動作転移方法及び動作転移プログラムに関し、例えば転移先ロボットで取得した少量の学習サンプルを用いて、転移元ロボットからの動作転移を行う技術に関する。
現在、ロボットが家庭をはじめとする人間社会に急速に進出している。現在のところ、ロボットのための知的発達機構は未だ発展途上であり、実行できる動作や理解できる事柄は限られている。一方、機体の特性がそれぞれ異なる多種多様なロボットが開発され、それらが一般家庭へ導入されることを想定すると、それらのロボット1つ1つに独立に動作等を学習させることは非効率的である。
そこで、ロボットが学習した知識、特に動作情報をロボット同士で共有できる手法が必要となる。このように、ロボット同士が動作情報の共有によって動作を獲得することを、動作の転移(動作転移)という。換言すれば、動作転移とは、転移元(ソースドメイン)のロボット上で獲得した動作情報を利用して、転移先(ターゲットドメイン)のロボットが動作を効率的に学習することである。
ロボットの動作の基となる情報(動作情報)は、例えばある物理特性(例えば腕の長さ、関節の数等)を有するロボットについて、関節角(関節値)と、腕の先端部分の座標(エンドエフェクタ)と、の対応関係を集積した情報として考えることができる。このような動作情報を用いることで、ロボットは動作を行うことができる。したがって、ロボットの動作転移においては、物理特性が重要な意味を有する。しかし、ロボットの物理特性を、多種多様なロボット間で統一することは、一般的に困難である。そのため、動作転移においては、他のロボットから得た動作情報を、自らの物理特性に合わせる処理が重要となる。
このような手法としては、転移先ロボットの物理特性を得たうえで、移転元ロボットの動作情報を、移転先ロボットの物理特性に適合するよう加工する手法が一般的である。しかし、この手法では、事前に移転先ロボットの物理特性を測定するなどの準備が必要となる。また、移転先ロボットの物理特性が変更された場合や、測定に誤差が生じていた場合には、正確な動作ができないという問題もある。さらに、人や動物は、事前に自己の体の物理特性を得ることなく、動作を学習できている。これらより、移転先ロボットの物理特性を事前に想定せず、実機における経験ベースで動作転移を実現することが、より現実的に則したアプローチと考えられる。
この点、非特許文献1は、転移先ロボットの物理特性が一部未知であっても、転移元ロボットと転移先ロボットとの双方から取得した同数の動作サンプルを利用して、転移元ロボットの動作サンプルを転移先に転移する手法を提案している。なお、ここでの動作転移は、行列計算によるフィッティングで実現されている。
Botond Bocsi外2名,"Alignment−based Transfer Learning for Robot Models",[online],2013年,[2014年10月6日検索],URL:http://www.cs.ubbcluj.ro/〜bboti/pubs/ijcnn_2013.pdf
しかしながら、非特許文献1は、動作転移において必要となるデータサンプルの量への言及が少なく、転移元ロボットと転移先ロボットとの双方で同数のデータサンプルを取得することが必要と考えられる。すなわち、同手法では転移元のみならず転移先においても大量の学習サンプルを取得する必要がある。そのため、動作転移に大量の時間、工数及び費用等を要し、迅速かつ正確な動作転移ができないという問題があった。
一般に、転移元ロボットについては、シミュレータや実験施設内の実機等を用いることにより、大量の動作サンプルを取得することが比較的容易である。しかし、転移先ロボットは、家庭内などで現実の稼働に供される実機であることが想定され、このような状況のもとでは移転元ロボットと同量の学習サンプルを取得することは困難と考えられる。したがって、転移先ロボットにおいては大量の学習サンプルを取得する工程を要せず、高い効率で動作転移を実現する手法が望まれる。
本発明は、このような問題点を解決するためになされたものであり、転移先ロボットで取得した少量の学習サンプルを用いて、転移元ロボットからの動作転移を実現することを目的とする。
本発明の第1の態様である動作転移装置は、転移元ロボットの複数の動作を示すデータを含む第1の動作情報を取得する転移元動作情報取得部と、転移先ロボットの複数の動作を示すデータを含む第2の動作情報を取得する転移先動作情報取得部と、前記第2の動作情報を用いて所定の更新式により前記第1の動作情報を補正することにより、前記転移元ロボットの動作を前記転移先ロボットに転移するための第3の動作情報を生成する補正部と、を有し、前記第2の動作情報が含むデータ数は、前記第1の動作情報が含むデータ数よりも少なく、前記第1〜第3の動作情報は、ロボットの1以上の関節値を示すデータ群と、ロボットの特定部位の座標値を示すデータ群と、を含み、前記補正部は、前記第2の動作情報に含まれる関節値と同一の関節値を、前記第1の動作情報に含まれる関節値から探し出し、探し出された関節値に対応する前記第1の動作情報に含まれる座標値と前記第2の動作情報に含まれる座標値との間の誤差を算出し、算出した座標値の誤差から、最大値である最大誤差を選択し、前記最大誤差に対応する前記第2の動作情報に含まれる関節値を選択し、前記第1の動作情報に含まれる座標値のそれぞれに対応する関節値と前記最大誤差に対応する関節値との間の誤差をパラメータとして含む前記更新式を用いて、前記第1の動作情報に含まれる座標値のそれぞれに前記最大誤差を伝搬させて、前記第3の動作情報を生成する、ものである。
本発明の第2の態様である動作転移装置は、上述の動作転移装置であって、前記補正部は、前記最大誤差が設定された閾値よりも小さくなるまで、前記更新式を用いた誤差の伝搬を繰り返し行う、ことが望ましい。
本発明の第3の態様である動作転移装置は、上述の動作転移装置であって、座標値をx、前記最大誤差をΔx、sgm(a,d)をゲインa及び変数dのシグモイド関数、dを前記更新式に含まれる前記パラメータとして含まれる関節値の誤差として、前記更新式は、x=x+2sgm(a,d)×Δxで表される、ことが望ましい。
本発明の第4の態様である動作転移装置は、上述の動作転移装置であって、前記第1の動作情報に含まれる座標値は、前記転移元ロボットを動作させて得られた複数の座標値を前記複数の座標値のうちの最大値で除算した値であり、前記第2の動作情報に含まれる座標値は、前記転移先ロボットを動作させて得られた複数の座標値を前記複数の座標値のうちの最大値で除算した値であり、前記更新式のパラメータdは、前記第1の動作情報に含まれる座標値のそれぞれに対応する関節値と前記最大誤差に対応する関節値との間の前記誤差を、前記誤差の内の最大値で除算した値である、ことが望ましい。
本発明の第5の態様である動作転移方法は、転移元ロボットの複数の動作を示すデータを含む第1の動作情報を取得し、転移先ロボットの複数の動作を示すデータを含む第2の動作情報を取得し、前記第2の動作情報を用いて所定の更新式により前記第1の動作情報を補正することにより、前記転移元ロボットの動作を前記転移先ロボットに転移するための第3の動作情報を生成し、前記第2の動作情報が含むデータ数は、前記第1の動作情報が含むデータ数よりも少なく、前記第1〜第3の動作情報は、ロボットの1以上の関節値を示すデータ群と、ロボットの特定部位の座標値を示すデータ群と、を含み、前記第2の動作情報に含まれる関節値と同一の関節値を、前記第1の動作情報に含まれる関節値から探し出し、探し出された関節値に対応する前記第1の動作情報に含まれる座標値と前記第2の動作情報に含まれる座標値との間の誤差を算出し、算出した座標値の誤差から、最大値である最大誤差を選択し、前記最大誤差に対応する前記第2の動作情報に含まれる関節値を選択し、前記第1の動作情報に含まれる座標値のそれぞれに対応する関節値と前記最大誤差に対応する関節値との間の誤差をパラメータとして含む前記更新式を用いて、前記第1の動作情報に含まれる座標値のそれぞれに前記最大誤差を伝搬させて、前記第3の動作情報を生成する、ものである。
本発明の第6の態様である動作転移プログラムは、転移元ロボットの複数の動作を示すデータを含む第1の動作情報を取得する処理と、転移先ロボットの複数の動作を示すデータを含む第2の動作情報を取得する処理と、前記第2の動作情報を用いて所定の更新式により前記第1の動作情報を補正することにより、前記転移元ロボットの動作を前記転移先ロボットに転移するための第3の動作情報を生成する処理と、をコンピュータに実行させ、前記第2の動作情報が含むデータ数は、前記第1の動作情報が含むデータ数よりも少なく、前記第1〜第3の動作情報は、ロボットの1以上の関節値を示すデータ群と、ロボットの特定部位の座標値を示すデータ群と、を含み、前記第3の動作情報を生成する処理では、前記第2の動作情報に含まれる関節値と同一の関節値を、前記第1の動作情報に含まれる関節値から探し出し、探し出された関節値に対応する前記第1の動作情報に含まれる座標値と前記第2の動作情報に含まれる座標値との間の誤差を算出し、算出した座標値の誤差から、最大値である最大誤差を選択し、前記最大誤差に対応する前記第2の動作情報に含まれる関節値を選択し、前記第1の動作情報に含まれる座標値のそれぞれに対応する関節値と前記最大誤差に対応する関節値との間の誤差をパラメータとして含む前記更新式を用いて、前記第1の動作情報に含まれる座標値のそれぞれに前記最大誤差を伝搬させて、前記第3の動作情報を生成する、ものである。
本発明によれば、転移先ロボットで取得した少量の学習サンプルを用いて、転移元ロボットからの動作転移を実現することができる。
実施の形態1にかかる動作転移装置の構成を模式的に示すブロック図である。 実施の形態1にかかる動作転移装置の動作を示すフローチャートである。フローチャートが示す処理の一実装例である。 実施の形態1にかかる動作転移装置の動作アルゴリズムの一例を示す図である。 2自由度のロボットアームの概略構成を示す図である。 2自由度のロボットアームの2次元平面(X−Y平面)における作業空間を示す図である。 2自由度のロボットアームにおける動作転移誤差を示す図である。 2自由度のロボットアームにおいて動作転移に要する時間を示す図である。 実施の形態1にかかる動作転移手法によって動作転移を行った場合の転移誤差と転移先ロボットアームの腕の長さとの関係を示す図である。 従来の動作転移手法によって動作転移を行った場合の転移誤差と転移先ロボットアームの腕の長さとの関係を示す図である。比較実験の結果を示す図である。 実施の形態1にかかる動作転移手法により生成した転移データ用いた場合の制御性能を示す図である。 従来の動作転移手法により生成した転移データ用いた場合の制御性能を示す図である。 3自由度のロボットアームの概略構成を示す図である。 3自由度のロボットアームにおける転移誤差を示す図である。 3自由度のロボットアームにおける動作転移に要する時間を示す図である。 3自由度のロボットアームの制御性能を示す図である。 6自由度のロボットアームの概略構成を示す図である。 6自由度のロボットアームにおける転移誤差を示す図である。 6自由度のロボットアームにおける動作転移に要する時間を示す図である。 6自由度のロボットアームの制御性能を示す図である。 本発明にかかる動作転移の概念を示す図である。
はじめに、本発明にかかる動作転移の前提となる諸条件について説明する。本発明は、以下の条件の下に、あるロボット間で動作転移を実施する手法を提案するものである(図20)。後述する本発明の実施の形態も、以下の条件に従うものとする。なお、ここでロボットの動作とは、腕のエンドエフェクタ(人間の手先にあたる、腕の先端部分)などのロボットの特定の部分を任意の場所(座標値)へ移動させることを指す。
条件1:転移元及び転移先ロボットはいずれも、関節数が既知であり、かつ等しいものとする。
条件2:関節数以外の物理特性(例えば腕の長さ等)は未知であるものとする。
条件3:転移元ロボットは、大量の動作サンプルが抽出可能であるものとする。典型的にはシミュレータ上又は実験施設内に存在するロボットである。
条件4:転移先ロボットは、少量の動作サンプルのみが抽出可能であるものとする。典型的には実機のロボットである。
本発明にかかる動作転移手法は、上述の制約条件を満たす転移元ロボットから、転移先ロボットに動作を転移させるものである。動作転移とは、転移元ロボット上で作成された動作の経験データベースである転移元データセットDsrcから、転移先ロボットの作業空間に合わせた経験データベースである転移データDtransを作成することを意味している。このとき、転移データDtransは、まず転移先ロボットにて少量の動作を行って転移先サンプルデータセットDtgtを作成し、次に転移先サンプルデータセットDtgtを用いて転移元データセットDsrcを補正することで作成される。ここで、転移先サンプルデータセットDtgtのサイズは、転移元データセットDsrcよりも小さく、転移データDtransのサイズは転移元データセットDsrcと同等である。
したがって、本手法によれば、転移先ロボットを実際に大量に動作させてデータセットを生成する場合に比べ、少ないデータセットでの学習(すなわち、動作転移)が可能である。また、転移元データセットDsrcをそのままコピーして転移データDtransを生成する場合に比べ、動作転移の精度を向上させることができる。
転移元データセットDsrc等の経験データベースは、単に関節値と座標値とのペアの集合であってもよい。また、転移元データセットDsrc等の経験データベースは、単純なデータベース(単純なペアの情報を記録したデータベース)の他にも、例えば、競合学習を用いた自己組織化マップSOM(Self Organizing Maps)や、SOMを改良した追加学習可能なオンライン教師なし学習手法であるSOINN(Self Organizing Incremental Neural Network)等を用いて情報を圧縮したものであってもよい。SOM及びSOINNについては下記参考文献1及び参考文献2に説明されているため、ここでは詳細な説明を省略する。
(参考文献1)Kohonen T.,“Self−organized formation of topologically correct feature maps”,Biological Cybernetics Vol.43,pp.59−69,1982年
(参考文献2)Shen F.,Hasegawa O.,“A Fast Nearest Neighbor Classifier Based on Self−organizing Incremental Neural Network”,Neural Networks,2008年
以下、ロボット上で動作の経験データベースDを作成する方法について説明する。この方法は、転移元データセットDsrc及び転移先サンプルデータセットDtgtの作成に適用できる。一般に、ロボットの物理特性が既知の場合は、公知技術であるInverse Kinematics(IK)を用いることにより、腕のエンドエフェクタを任意の場所に移動させる制御が可能である。ところが、今回の仮定ではその物理特性が未知である。したがって、本発明の手法では、経験ベースのIKを実施することによりエンドエフェクタの移動を行う。以下、経験ベースのIKを実行するためにロボットが獲得すべきデータと、そのデータを用いたIKの実行方法について説明する。
まず、対象とするロボットが持つ全ての関節の関節角を示すデータである関節値セットJを生成する。関節値セットJは、以下の通りに表現できる。ここで、iは1以上n以下の整数であり(ここで、nは少なくとも2以上の整数)、関節値をサンプリングしたロボットの姿勢を表す指標である。
Figure 0006518982
なお、関節値セットJの成分である関節値
Figure 0006518982
は、関節数分の成分からなるベクトル量であり、例えばm軸のロボット、すなわちm個の関節を持つロボットの場合には、m次元ベクトルとなる。
そして、関節値セットJに含まれる関節値のそれぞれを用いて実際にロボットを動作させ、ロボットの各種センサ情報(例えば視覚情報等)により腕のエンドエフェクタの絶対座標値(以下、単に座標値という)を求める。シミュレータ上のロボットなど、物理特性が既知の場合には、Forward Kinematicsを用いることで、座標値取得の所要時間を短縮できる。そして、計算された座標値をまとめたデータセットである座標値セットXを生成する。座標値セットは、以下の通りに表現できる。
Figure 0006518982
なお、座標値セットXの成分である座標値
Figure 0006518982
は、平面上の座標を示す2次元ベクトル又は3次元空間における座標を示す3次元ベクトルとして定義される。ロボットの関節値からエンドエフェクタの座標値は一意に決定されるので、関節値と座標値との間には関数の関係がある。
これらの経験、すなわち実際の動作から獲得される関節値セット及び座標値セットからなるデータセットをデータセットDとする。データセットDは、以下の式で表される。
Figure 0006518982
実施の形態1
実施の形態1にかかる動作n転移では、転移先ロボットにおいて少量の動作サンプルである転移先サンプルデータセットDtgtを取得し、転移先サンプルデータセットDtgtの座標値セットXtgtを用いて、かつ、SOMを参考に作成した更新式により、転移元ロボットの転移元データデットの座標値セットXsrcを補正して、転移データDtransを生成するものである。
SOM変形法は、いわゆるSOM(Self Organizing Maps)の更新式から着想されたアルゴリズムである。SOMは、ネットワーク構造(トポロジー)を入力に合わせて変化させる手法としてKohonenらによって考案された自己組織化マップである。SOMは人工ニューラルネットワークの一種であり、入力に従ってニューロンのトポロジーを変形させる機構を持つ。SOMの学習方式は競合学習であり、入力に対する近傍ニューロンに対して更新を行う。
一方、従来のSOMとSOM変形法とでは対象とする問題設定が異なるため、SOM変形法では、更新率の変動方法に新たな知見を加えている。従来のSOMは、1つの空間内におけるノードの更新を行うものであり、当該空間内における、入力と、入力の近傍ノードと、の距離を用いて更新率の決定を行っている。一方、SOM変形法は、関節値空間(関節値セット)及びエンドエフェクタの座標値空間(座標値セット)という2つの空間が存在することを前提としている。本手法においては、入力されたデータに応じて更新が行われる空間は、座標値空間が適当と考えられる。但し、上述のように座標値と関節値との間には一定の制約条件が存在することから、関節値空間における関節値の距離も考慮することが重要である。そこで、本手法では、関節値空間における関節値の距離を、座標値空間の更新に反映させることで、動作転移の精度を向上させている。
以下、SOM変形法により転移データDtransを求める手法を具体的に説明する。まず、実施の形態1にかかる動作転移装置100の構成について説明する。図1は、実施の形態1にかかる動作転移装置100の構成を模式的に示すブロック図である。
動作転移装置100は、典型的にはサーバコンピュータ、パーソナルコンピュータ(PC)等の情報処理装置である。典型的な動作転移装置100は、演算処理装置、揮発性又は不揮発性の記憶装置、及び入出力装置を有する。演算処理装置は、記憶装置に格納されたプログラムに基づいて各種制御を実行することにより、後述の各処理部を論理的に実現する。動作転移装置100は、物理的に単一である必要はなく、複数の情報処理装置による分散処理により実現されてもよい。また、動作転移装置100は、例えば転移先ロボットに内蔵されてもよく、又は、転移先ロボットとは分離されていてもよい。
図1に示すように、動作転移装置100は、転移元動作情報取得部101、転移先動作情報取得部102、補正部103及び出力部104を有する。
転移元動作情報取得部101は、転移元ロボットを動作させるための転移元データセットDsrcを取得する。転移元データセットDsrcは、関節値セットJsrc及びエンドエフェクタの座標値セットXsrcを含む(すなわち、Dsrc=<Jsrc, Xsrc>)。典型的には、転移元データセットDsrcは、シミュレータ上及び実験施設内等において転移元ロボットを幾度にもわたり動作させ、エンドエフェクタと、それに対応する関節値と、のペアを多数取得することにより生成できる。本実施の形態では、転移元データセットDsrcは予め生成済みであるものとし、転移元動作情報取得部101は、入力装置又は記憶装置から転移元データセットDsrcを取得するものとする。
転移先動作情報取得部102は、転移先ロボットを試験動作させた際に得られたデータセットである転移先サンプルデータセットDtgtを取得する。転移先サンプルデータセットDtgtは、関節値セットJtgt及びエンドエフェクタの座標値セットXtgtを含む(すなわち、Dtgt=<Jtgt, Xtgt>)。典型的には、転移先サンプルデータセットDtgtは、転移元ロボットを何度かランダムに動作させ、エンドエフェクタの座標値と、それに対応する関節値と、のペアを幾つか取得することにより生成できる。ここで、転移先サンプルデータセットDtgtの大きさは、転移元データセットDsrcよりも極めて小さくてよい。すなわち、転移元ロボットの動作試行回数に比べて、転移先ロボットの動作試行回数は少なくてもよい。本実施の形態では、転移先サンプルデータセットDtgtは予め生成済みであるものとし、転移先動作情報取得部102は、入力装置又は記憶装置から転移先サンプルデータセットDtgtを取得するものとする。
補正部103は、転移先サンプルデータセットDtgtを利用して、転移元データセットDsrcを転移データDtransに変形する処理を行う。本実施の形態では、補正部103はSOM変形法を用いた変形処理を行う。
出力部104は、補正部103が生成した転移データDtransを外部に出力する。転移先ロボットは、出力部104が出力した転移データDtrans取得し、これに基づいた動作を行うことで、転移元ロボット同様の動作を獲得できる。
つづいて、図2のフローチャートを用いて、本発明の実施の形態1にかかる動作転移装置100の動作について説明する。なお、図3のアルゴリズムは、上記フローチャートが示す処理の一実装例である。図3のアルゴリズムにおいては、Aをある集合として、num(A)は、集合Aに含まれる要素の数を表すものとする。sgm(a,x)は、ゲインaのシグモイド関数を表すものとする。aは、ゲインaを決定するためのパラメータである。eは、以下で説明する誤差が満たすべき閾値を示す。
ステップS11:パラメータtの初期設定
まず、補正部103は、繰り返し処理の指標となるパラメータtの初期値として、「1」を設定する(図3、第1行)。以下では、tは、例えば1≦t≦num(Dtgt)を満たす整数が設定される。
ステップS12:データセットの正規化
転移元動作情報取得部101は、転移元データセットDsrcを取得する。次いで、転移元動作情報取得部101は、転移元データセットDsrcに含まれる座標値セットXsrc内の要素のうちの最大値(max|Xsrc|)を選択し、選択した最大値で座標値セットXsrc内の各要素を除算したものを、新たな座標値セットXsrcとして設定する(図3、第2行)。これにより、転移元データセットDsrcに含まれる座標値セットXsrcが正規化される。
転移先動作情報取得部102は、転移先サンプルデータセットDtgtを取得する。次いで、転移先動作情報取得部102は、転移先サンプルデータセットDtgtに含まれる座標値セットXtgt内の要素のうちの最大値(max|Xtgt|)を選択し、選択した最大値で座標値セットXtgt内の各要素を除算したものを、新たな座標値セットXtgtとして設定する(図3、第3行)。これにより、転移先サンプルデータセットDtgtに含まれる座標値セットXtgtが正規化される。
ステップS13:転移データの初期設定
補正部103は、転移元ロボットから転移先ロボットに動作を転移するための転移データDtransを生成する。この際、転移データDtransの初期値として、ステップS12にて座標値セットが正規化された転移元データセットDsrcと同じ値を、転移データDtransとして設定する(図3、第4行)。
ステップS14:座標値の誤差算出
補正部103は、転移先サンプルデータセットDtgtの関節値セットJtgtに含まれる関節値
Figure 0006518982
のそれぞれについて、転移データDtransの関節値セットJtransから同じ関節値
Figure 0006518982
を探し出す。
次いで、補正部103は、関節値
Figure 0006518982
のそれぞれに対応する座標値
Figure 0006518982
を、転移データDtransの座標値セットXtransから探し出す。そして、同じ関節値に対応している座標値
Figure 0006518982
と座標値
Figure 0006518982
との間の誤差Δxを算出する。この距離算出を転移先サンプルデータセットDtgtの座標値セットXtgtに含まれるすべて誤差算出をすべての関節値について行うことで、算出した誤差を要素とする誤差データセットΔXが生成される(図3、第5行)。
ステップS15:誤差の最大値の決定
補正部103は、誤差データセットΔXに含まれる距離のうち、最大値max(|ΔX|)を決定する(図3、第6行)。
ステップS16:誤差の最大値の評価
補正部103は、最大値max(|ΔX|)が所定の閾値e以上であるかを判定する(図3、第7行)。
ステップS17:ゲインa算出
最大値max(|ΔX|)が所定の閾値e以上である場合、補正部103は、以下の式に基づいてシグモイド関数のゲインaを算出する(図3、第8行)。
Figure 0006518982
ここで補正部103は、転移先サンプルデータセットDtgtの変形処理にかかるパラメータaを適宜設定してもよい(図3、第8行)。つまり、変形処理に用いるシグモイド関数の特性を設定するためのパラメータaを設定することができる。シグモイド関数の特性を変更することで、変形処理(学習処理)のスピードを調整することが可能である。なお、このパラメータは任意に設定して構わない。
ステップS18:関節値の偏差算出
次いで、補正部103は、最大値max(|ΔX|)に対応する転移先サンプルデータセットDtgtに含まれる関節値を
Figure 0006518982
とすると、関節値
Figure 0006518982
と転移データDtransの各関節値
Figure 0006518982
との間の偏差dを計算する。
Figure 0006518982
そして、算出した偏差の最大値で偏差にそれぞれを除算することで、各偏差を正規化する(図3、第9〜11行)。
Figure 0006518982
ステップS19:誤差伝搬
補正部103は、シグモイド関数を用いて、転移データDtransに含まれる座標値に誤差を、以下に示す更新式(18)によって、伝搬させる(図3、第12、13行)。
Figure 0006518982
ステップS20:パラメータtのインクリメント
誤差伝搬の後、補正部103は、パラメータtをインクリメントする(tに1を加算する。すなわち、t=t+1)(図3、第16行)。
ステップS21:繰り返し処理回数の検証
補正部103は、パラメータtが、num(Dtgt)よりも小さいかを判定する。
パラメータtがnum(Dtgt)よりも小さい場合には、処理をステップS14に返す。これにより、誤算伝搬により更新された転移データDtransを用いた誤差伝搬が繰り返し行われることとなる(図3、第14、15行、及び第7行以降)。
ステップS22
繰り返し処理が進むにつれて(繰り返し処理の回数が増えるにつれて)、上記の誤差は縮小してゆくので、算出される誤差の最大値が小さくなってゆくこととなる。そして、繰り返し処理の結果、誤差の最大値が閾値eよりも小さくなった場合には、以下の式に基づいて、正規化された座標値を元の座標値に戻し、処理を終了する。
Figure 0006518982
誤差の最大値が閾値eよりも小さくならない場合でも、パラメータtがnum(Dtgt)と等しくなったときには、処理の発散を避けるため、処理を終了する。
本実施の形態では、関節値空間の計算を、座標値空間の計算に先立って行っている。これは、ある座標値に対応する関節値が複数存在する場合があるためである。このような場合に座標値空間の計算を行うと、座標値に対応する関節値を探し出すことができないからである。
ここで、上記更新式(18)は、従来のSOMの更新式を基としながら、座標値空間の更新を行うに際し、関節値空間の情報も加味している点に留意されたい。これは、従来のSOMとは異なり、本発明では関節値空間及び座標値空間という複数の空間を扱う必要があることに起因している。
本実施の形態においては、動作転移装置100は、SOM変形法を用いて、転移元ロボットのデータセットを変形し、転移先ロボットに最適化されたデータセットを生成する。この変形処理においては、転移先ロボットにおいて取得された、上記データセットに含まれるよりも少ない数の動作サンプルが用いられる。これにより、たとえ転移先ロボット上で大量の動作サンプルを得ていなくても、転移元ロボットの動作を、転移先ロボットにて獲得することができる。すなわち、同等の動作を実施できることとなり、動作が転移される。
さらに、本実施の形態によれば、従来技術に比較して少量の計算量で動作転移を実現できる。特に、転移先ロボットにおける学習サンプルが従来よりも少なくて済むことから、計算量を大幅に削減することが可能である。
[実験]
以下、実施の形態1にかかる動作転移手法の効果を検証するため、発明者は2自由度、3自由度、6自由度のロボットにおける3つの実験を実施した。
[2自由度のロボットによる実験]
この実験では、2次元上で動作する2自由度のロボットアームをシミュレータ上に作製した。図4は、2自由度のロボットアーム1の概略構成を示す図である。2自由度のロボットアーム1は、第1の関節J11、第2の関節J12、第1の腕ARM1及び第2の腕ARM2を有する。第1の関節J11及び第2の関節J12は、X軸及びY軸に対して垂直なZ軸を回転軸として回転可能に構成される。ロボットアームの保持部10と第1の腕ARM1との間は、第1の関節J11により連結される。第1の腕ARM1と第2の腕ARM2との間は、第2の関節J12により連結される。第2の腕ARM2の先端にはエンドエフェクタ11が取り付けられる。すなわち、第1の関節J11は肩関節、第1の腕ARM1は上腕、第2の関節J12は肘関節、第2の腕ARM2は前腕に対応する。
本実験では第1の関節J11及び第2の関節J11の可動範囲を0°〜180°に制限している。転移元ロボットアームの第1の腕ARM1の長さを0.300m、第2の腕ARM2の長さを0.250mとした。転移先ロボットアームの第1の腕ARM1の長さを0.600m、第2の腕ARM2の長さを0.200mとした。図5に、2自由度のロボットアームの2次元平面(X−Y平面)における作業空間を示す。
本実験では、転移元ロボットアームの関節をそれぞれ1.80°ずつ動かしたときに得られる関節値と、そのときのロボットアーム先端のエンドエフェクタの座標値(X−Y平面での座標値)とにより、転移元データセットを構成した。つまり、1回の学習で得られる学習データは、2次元の関節値と2次元の座標値との合計4次元である。この例では、データ数は約10000とした。
転移先サンプルデータセットについては、転移元データセットから無作為に選択された関節値と、選択された関節値を転移先ロボットアームに適用した場合に得られる、転移先ロボットアームのエンドエフェクタの座標値と、により構成した。
まず、転移先サンプルデータセットのデータと転移誤差との関係について調査した。以下では、転移誤差をRMSE(Root Mean Squared Error)を用いて評価する。転移誤差を示すRMSEは、以下の式で表される。
Figure 0006518982
ここで、Nは転移元データセットの学習データ数である。Xtransは転移データDtransセットのデータの座標値である。Xltgtは転移元データセットの関節値と同量かつ同じ関節値を有する転移先サンプルデータセットの座標値である。
図6に、2自由度のロボットアームにおける動作転移誤差を示す。本実験では、動作転移を行わなかった場合、すなわち転移元データセットをそのまま転移先ロボットアームに適用した場合、転移誤差(RMSE)は0.215[m]であった。図6に示すように、一般的な手法(ここでは、LPAを用いた動作転移手法)と比べて、転移誤差(RMSE)を低減できることが理解できる。
次いで、動作転移に要する処理時間について調査した。以下では、ここでは、3.50[GHz]のパーソナルコンピュータ上でシミュレータを動作させ、動作転移が完了するまでに要する時間と、転移先サンプルデータセットのデータ数との関係について評価した。図7に、2自由度のロボットアームにおいて動作転移に要する時間を示す。一般的な手法(LPA)では、転移先サンプルデータセットのデータ数に対して概ね単調に処理時間が増加する。これに対し、実施の形態1にかかる動作転移手法では、概ね転移先サンプルデータセットのデータ数が200以上の領域では、処理時間が4秒前後で飽和した。
以上説明した通り、実施の形態1にかかる動作転移手法によれば、転移先サンプルデータセットのデータ数に対して、転移誤差(RMSE)を急速に減少させ、かつ、処理時間は転移先サンプルデータセットのデータ数が200程度でほぼ収束する。このことから、転移先サンプルデータセットのデータ数が200程度得られれば、十分な精度の動作転移が実現されたと考えることができる。
次いで、転移先ロボットアームの腕の長さと転移誤差の関係について調査した。ここでは、2本のアームのそれぞれの長さを、0.100[m]から10.1[m]まで0.5[m]ピッチで変化させた。図8は、実施の形態1にかかる動作転移手法によって動作転移を行った場合の転移誤差と転移先ロボットアームの腕の長さとの関係を示す図である。図9は、従来の動作転移手法によって動作転移を行った場合の転移誤差と転移先ロボットアームの腕の長さとの関係を示す図である。図8及び9では、横軸は転移先ロボットアームの一方の腕ARM1の長さを示し、縦軸は転移先ロボットアームの他方の腕ARM2の長さを示す。図8及び9では、パターンが濃いほど転移誤差(RMSE)が小さいことを示す。
次いで、動作転移の制御性能について調査した。ここでは、転移先ロボットアームにおける目標地点(座標値)を無作為に生成し、生成した目標地点に向けて各腕を動かすための関節値を、転移データを用いたIDW(Inverse distance weighting)によって予測した。IDWについては、「D. Shepard, “A two-dimensional interpolation function for irregularly-spaced data”, Proceedings of the 1968 23rd ACM national conference, 1968.」に詳細が開示されている。そして、予測された関節値を用いて各腕を動かし、そのときの到達地点と目標地点とのRMSEを測定した。この例では、合計で200ステップの評価を実施した。
図10は、実施の形態1にかかる動作転移手法により生成した転移データ用いた場合の制御性能を示す図である。図11は、従来の動作転移手法により生成した転移データ用いた場合の制御性能を示す図である。図10及び11では、横軸は転移先ロボットアームの一方の腕ARM1の長さを示し、縦軸は転移先ロボットアームの他方の腕ARM2の長さを示す。図10及び11では、パターンが濃いほどRMSEが小さいことを示す。図10及び11に示すように、実施の形態1にかかる動作転移手法によれば、RMSEを低減し、制御性能が向上していることが理解できる。
[3自由度のロボットによる実験]
次いで、3次元上で動作する3自由度のロボットアームをシミュレータ上に作製し、更に実験を行った。図12は、3自由度のロボットアーム2の概略構成を示す図である。3自由度のロボットアーム2は、第1の関節J21、第2の関節J22、第1の腕ARM1及び第2の腕ARM2を有する。第1の関節J21は2自由度の関節であり、第2の関節J22は、1自由度の関節である。ロボットアームの保持部10と第1の腕ARM1との間は、第1の関節J21により連結される。第1の腕ARM1と第2の腕ARM2との間は、第2の関節J22により連結される。第2の腕ARM2の先端にはエンドエフェクタ11が取り付けられる。すなわち、第1の関節J21は肩関節、第1の腕ARM1は上腕、第2の関節J22は肘関節、第2の腕ARM2は前腕に対応する。
本実験では、転移元ロボットアームの第1の腕ARM1の長さを0.300m、第2の腕ARM2の長さを0.250mとした。転移先ロボットアームの第1の腕ARM1の長さを0.600m、第2の腕ARM2の長さを0.200mとした。また、第1の関節J21のヨー方向(水平面内)の可動範囲を−180°〜180°とし、ピッチ方向(鉛直面内)での可動範囲を0°〜180°とした。第2の関節J22のピッチ方向(鉛直面内)の可動範囲を0°〜180°とした。
本実験では、転移元ロボットアームの関節を無作為に動かしたときに得られる関節値と、そのときのロボットアーム先端のエンドエフェクタの座標値(X−Y平面での座標値)とにより、転移元データセットを構成した。つまり、1回の学習で得られる学習データは、3次元の関節値と3次元の座標値との合計6次元である。この例では、データ数は約100,000とした。
転移先サンプルデータセットについては、転移元データセットから無作為に選択された関節値と、選択された関節値を転移先ロボットアームに適用した場合に得られる、転移先ロボットアームのエンドエフェクタの座標値と、により構成した。
まず、転移先サンプルデータセットのデータと転移誤差との関係について調査した。図13に、3自由度のロボットアームにおける転移誤差を示す。本実験では、動作転移を行わなかった場合、すなわち転移元データセットをそのまま転移先ロボットアームに適用した場合、転移誤差(RMSE)は0.156[m]であった。図13に示すように、一般的な手法(ここでは、LPAを用いた動作転移手法)と比べて、転移誤差(RMSE)を低減できることが理解できる。
次いで、動作転移に要する処理時間について調査した。図14に、3自由度のロボットアームにおける動作転移に要する時間を示す。この例では、データ数が5000までは、実施の形態1にかかる動作転移手法での処理時間は、一般的な手法(LPA)と比べて長くなることが判明した。これはデータの実施の次元数が大きくなったため、処理負荷が大きくなったためと考えられる。しかし、データ数が5000程度となると、十分なデータ数が得られ、その結果処理時間が収束したと考えられる。
次いで、2自由度のロボットアームの場合と同様に、動作転移の制御性能について調査した。この例では、合計で200ステップの評価を実施した。図15に、3自由度のロボットアームの制御性能を示す。図15に示すように、データ数が500までは実施の形態1にかかる手法が良好な制御性能を示したが、データ数が5000以降ではLPAと実施の形態1にかかる手法とはほぼ同様の制御性能となった。
[6自由度のロボットによる実験]
次いで、3次元上で動作する6自由度のロボットアームをシミュレータ上に作製し、更に実験を行った。図16は、6自由度のロボットアーム2の概略構成を示す図である。6自由度のロボットアーム2は、第1の関節J31、第2の関節J32、第1の腕ARM1、第2の腕ARM2、手首部LISTを有する。第1の関節J31は2自由度の関節であり、第2の関節J32は、1自由度の関節である。手首部LISTの自由度は3であり、いわゆるユニバーサルジョイントとして構成される。ロボットアームの保持部10と第1の腕ARM1との間は、第1の関節J31により連結される。第1の腕ARM1と第2の腕ARM2との間は、第2の関節J32により連結される。第2の腕ARM2の先端は、手首部LISTによりエンドエフェクタ11と連結される。すなわち、第1の関節J21は肩関節、第1の腕ARM1は上腕、第2の関節J22は肘関節、第2の腕ARM2は前腕に対応する。
本実験では、転移元ロボットアームの第1の腕ARM1の長さを0.300m、第2の腕ARM2の長さを0.250mとし、手首部LISTの長さを0.15mとした。転移先ロボットアームの第1の腕ARM1の長さを0.600m、第2の腕ARM2の長さを0.200mとし、手首部LISTの長さを0.09mとした。第1の関節J31のヨー方向(水平面内)の可動範囲を−85°〜85°とし、ピッチ方向(鉛直面内)での可動範囲を−175°〜115°とした。第2の関節J32のピッチ方向(鉛直面内)の可動範囲を−155°〜0°とした。手首部LISTのロール方向の可動範囲を−125°〜125°、ピッチ方向の可動範囲を−95°〜95°、ヨー方向の可動範囲を−130°〜190°とした。
本実験では、転移元ロボットアームの関節を無作為に動かしたときに得られる関節値と、そのときのロボットアーム先端のエンドエフェクタの座標値(X−Y平面での座標値)とにより、転移元データセットを構成した。つまり、1回の学習で得られる学習データは、6次元の関節値と3次元の座標値との合計9次元である。この例では、データ数は500,000とした。
転移先サンプルデータセットについては、転移元データセットから無作為に選択された関節値と、選択された関節値を転移先ロボットアームに適用した場合に得られる、転移先ロボットアームのエンドエフェクタの座標値と、により構成した。
まず、転移先サンプルデータセットのデータと転移誤差との関係について調査した。図17に、6自由度のロボットアームにおける転移誤差を示す。ここでは、動作転移を5回行い、これらの転移誤差の平均値で評価する。本実験では、動作転移を行わなかった場合、すなわち転移元データセットをそのまま転移先ロボットアームに適用した場合、転移誤差(RMSE)は0.206[m]であった。図17に示すように、一般的な手法(ここでは、LPAを用いた動作転移手法)と比べて、転移誤差(RMSE)を低減できることが理解できる。また、転移先サンプルデータセットのデータ数の場合、LPAでは単位誤差が増加してしまったのに対し、実施の形態1にかかる動作転移手法では増加することなく当初誤差の約半分にまで転移誤差を低減させることができた。
次いで、動作転移に要する処理時間について調査した。図18に、6自由度のロボットアームにおける動作転移に要する時間を示す。この例では、一般的な手法(LPA)と比べ、実施の形態1にかかる動作転移手法での処理時間が長くなることが判明した。これはデータの実施の次元数がより大きくなったため、処理負荷が更に大きくなったためと考えられる。
次いで、2自由度のロボットアームの場合と同様に、動作転移の制御性能について調査した。この例では、合計で200ステップの評価を実施した。図19に、6自由度のロボットアームの制御性能を示す。図19に示すように、データ数にかかわらず、実施の形態1にかかる手法が良好な制御性能を示した。
<その他の実施の形態>
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述の実施の形態では、転移元の座標値と転移先の座標値とのマッピングにシグモイド関数を採用した。しかし、シグモイド関数に代えて、アークタンジェント(arctan)をはじめとする任意の関数を採用しても良い。
また、上述の実施の形態では、関節値空間、座標値空間の2空間の存在を前提として動作情報の転移を行う手法を開示した。しかしながら、空間数は任意のNであって良い。この場合、上述の更新式は空間数に応じ任意に拡張することができる。例えば、センサ値の空間を追加し、関節値及び座標値の関数として座標値を定義することが考えられる。センサ値は、例えば腕の状態(折れや曲がり等)を示すデータであって良い。これにより、センサ値を考慮しながら動作を行うことができるので、ロボット自身やその周辺の状態に応じた動作の選択、動作の生成が行うことができると考えられる。
また、上述の実施の形態では、本発明を主にハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non−transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
この出願は、2016年11月7日に出願された日本出願特願2016−217353を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1〜3 ロボットアーム
10 保持部
11 エンドエフェクタ
100 動作転移装置
101 転移元動作情報取得部
102 転移先動作情報取得部
103 補正部
104 出力部
J11、J21、J31 第1の関節
J12、J22、J32 第2の関節
ARM1 第1の腕
ARM2 第2の腕
LIST 手首部

Claims (6)

  1. 転移元ロボットの複数の動作を示すデータを含む第1の動作情報を取得する転移元動作情報取得部と、
    転移先ロボットの複数の動作を示すデータを含む第2の動作情報を取得する転移先動作情報取得部と、
    前記第2の動作情報を用いて所定の更新式により前記第1の動作情報を補正することにより、前記転移元ロボットの動作を前記転移先ロボットに転移するための第3の動作情報を生成する補正部と、を備え、
    前記第2の動作情報が含むデータ数は、前記第1の動作情報が含むデータ数よりも少なく、
    前記第1〜第3の動作情報は、ロボットの1以上の関節値を示すデータ群と、ロボットの特定部位の座標値を示すデータ群と、を含み、
    前記補正部は、
    前記第2の動作情報に含まれる関節値と同一の関節値を、前記第1の動作情報に含まれる関節値から探し出し、
    探し出された関節値に対応する前記第1の動作情報に含まれる座標値と前記第2の動作情報に含まれる座標値との間の誤差を算出し、
    算出した座標値の誤差から、最大値である最大誤差を選択し、
    前記最大誤差に対応する前記第2の動作情報に含まれる関節値を選択し、
    前記第1の動作情報に含まれる座標値のそれぞれに対応する関節値と前記最大誤差に対応する関節値との間の誤差をパラメータとして含む前記更新式を用いて、前記第1の動作情報に含まれる座標値のそれぞれに前記最大誤差を伝搬させて、前記第3の動作情報を生成する、
    動作転移装置。
  2. 前記補正部は、前記最大誤差が設定された閾値よりも小さくなるまで、前記更新式を用いた誤差の伝搬を繰り返し行う、
    請求項1に記載の動作転移装置。
  3. 座標値をx、前記最大誤差をΔx、sgm(a,d)をゲインa及び変数dのシグモイド関数、dを前記更新式に含まれる前記パラメータとして含まれる関節値の誤差として、前記更新式は、x=x+2sgm(a,d)×Δxで表される、
    請求項1又は2に記載の動作転移装置。
  4. 前記第1の動作情報に含まれる座標値は、前記転移元ロボットを動作させて得られた複数の座標値を前記複数の座標値のうちの最大値で除算した値であり、
    前記第2の動作情報に含まれる座標値は、前記転移先ロボットを動作させて得られた複数の座標値を前記複数の座標値のうちの最大値で除算した値であり、
    前記更新式のパラメータdは、前記第1の動作情報に含まれる座標値のそれぞれに対応する関節値と前記最大誤差に対応する関節値との間の前記誤差を、前記誤差の内の最大値で除算した値である、
    請求項3に記載の動作転移装置。
  5. 転移元ロボットの複数の動作を示すデータを含む第1の動作情報を取得し、
    転移先ロボットの複数の動作を示すデータを含む第2の動作情報を取得し、
    前記第2の動作情報を用いて所定の更新式により前記第1の動作情報を補正することにより、前記転移元ロボットの動作を前記転移先ロボットに転移するための第3の動作情報を生成し、
    前記第2の動作情報が含むデータ数は、前記第1の動作情報が含むデータ数よりも少なく、
    前記第1〜第3の動作情報は、ロボットの1以上の関節値を示すデータ群と、ロボットの特定部位の座標値を示すデータ群と、を含み、
    前記第2の動作情報に含まれる関節値と同一の関節値を、前記第1の動作情報に含まれる関節値から探し出し、
    探し出された関節値に対応する前記第1の動作情報に含まれる座標値と前記第2の動作情報に含まれる座標値との間の誤差を算出し、
    算出した座標値の誤差から、最大値である最大誤差を選択し、
    前記最大誤差に対応する前記第2の動作情報に含まれる関節値を選択し、
    前記第1の動作情報に含まれる座標値のそれぞれに対応する関節値と前記最大誤差に対応する関節値との間の誤差をパラメータとして含む前記更新式を用いて、前記第1の動作情報に含まれる座標値のそれぞれに前記最大誤差を伝搬させて、前記第3の動作情報を生成する、
    動作転移方法。
  6. 転移元ロボットの複数の動作を示すデータを含む第1の動作情報を取得する処理と、
    転移先ロボットの複数の動作を示すデータを含む第2の動作情報を取得する処理と、
    前記第2の動作情報を用いて所定の更新式により前記第1の動作情報を補正することにより、前記転移元ロボットの動作を前記転移先ロボットに転移するための第3の動作情報を生成する処理と、をコンピュータに実行させ、
    前記第2の動作情報が含むデータ数は、前記第1の動作情報が含むデータ数よりも少なく、
    前記第1〜第3の動作情報は、ロボットの1以上の関節値を示すデータ群と、ロボットの特定部位の座標値を示すデータ群と、を含み、
    前記第3の動作情報を生成する処理では、
    前記第2の動作情報に含まれる関節値と同一の関節値を、前記第1の動作情報に含まれる関節値から探し出し、
    探し出された関節値に対応する前記第1の動作情報に含まれる座標値と前記第2の動作情報に含まれる座標値との間の誤差を算出し、
    算出した座標値の誤差から、最大値である最大誤差を選択し、
    前記最大誤差に対応する前記第2の動作情報に含まれる関節値を選択し、
    前記第1の動作情報に含まれる座標値のそれぞれに対応する関節値と前記最大誤差に対応する関節値との間の誤差をパラメータとして含む前記更新式を用いて、前記第1の動作情報に含まれる座標値のそれぞれに前記最大誤差を伝搬させて、前記第3の動作情報を生成する、
    動作転移プログラムが格納された非一時的なコンピュータ可読媒体。
JP2018549028A 2016-11-07 2017-11-01 動作転移装置、動作転移方法及び動作転移プログラムが格納された非一時的なコンピュータ可読媒体 Active JP6518982B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016217353 2016-11-07
JP2016217353 2016-11-07
PCT/JP2017/039468 WO2018084164A1 (ja) 2016-11-07 2017-11-01 動作転移装置、動作転移方法及び動作転移プログラムが格納された非一時的なコンピュータ可読媒体

Publications (2)

Publication Number Publication Date
JPWO2018084164A1 JPWO2018084164A1 (ja) 2019-04-11
JP6518982B2 true JP6518982B2 (ja) 2019-05-29

Family

ID=62077024

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018549028A Active JP6518982B2 (ja) 2016-11-07 2017-11-01 動作転移装置、動作転移方法及び動作転移プログラムが格納された非一時的なコンピュータ可読媒体

Country Status (5)

Country Link
US (1) US11207773B2 (ja)
EP (1) EP3536467B1 (ja)
JP (1) JP6518982B2 (ja)
CN (1) CN110114195B (ja)
WO (1) WO2018084164A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6550605B2 (ja) * 2014-12-02 2019-07-31 Soinn株式会社 動作の転移装置、動作の転移方法及びプログラム
JP6828572B2 (ja) * 2017-04-18 2021-02-10 富士通株式会社 ロボット移動時間推定プログラム及びロボット移動時間推定方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06242802A (ja) * 1993-02-19 1994-09-02 Toshiba Corp 神経回路モデルを用いた制御方法
US5566275A (en) 1991-08-14 1996-10-15 Kabushiki Kaisha Toshiba Control method and apparatus using two neural networks
JP2002160185A (ja) * 2000-03-31 2002-06-04 Sony Corp ロボット装置、ロボット装置の行動制御方法、外力検出装置及び外力検出方法
JP4111044B2 (ja) * 2003-04-21 2008-07-02 株式会社安川電機 ロボット制御装置
JP2007280054A (ja) * 2006-04-06 2007-10-25 Sony Corp 学習装置および学習方法、並びにプログラム
JP5499759B2 (ja) * 2010-02-22 2014-05-21 合同会社長谷川研究所 問題解決システム、問題解決支援装置及び問題解決方法
US9473752B2 (en) 2011-11-30 2016-10-18 Qualcomm Incorporated Activation of parameter sets for multiview video coding (MVC) compatible three-dimensional video coding (3DVC)
US9024771B1 (en) * 2012-02-07 2015-05-05 Google Inc. Systems and methods for determining a potential failure or other status of a robotic device
US8525836B1 (en) * 2012-02-07 2013-09-03 Google Inc. Systems and methods for representing information associated with objects in an area
CN103381603B (zh) * 2013-06-29 2015-10-07 湖南大学 高压输电线路除冰巡线机器人的自主越障规划方法
US10112303B2 (en) * 2013-10-25 2018-10-30 Aleksandar Vakanski Image-based trajectory robot programming planning approach
JP5946859B2 (ja) * 2014-04-14 2016-07-06 ファナック株式会社 力に応じて動かすロボットのロボット制御装置およびロボットシステム
US9802309B2 (en) * 2014-07-24 2017-10-31 X Development Llc Methods and systems for generating instructions for a robotic system to carry out a task
JP6550605B2 (ja) 2014-12-02 2019-07-31 Soinn株式会社 動作の転移装置、動作の転移方法及びプログラム
US20160341093A1 (en) 2015-05-21 2016-11-24 General Electric Company System for arranging an emission reducing catalyst in an exhaust duct of a gas turbine engine
CN108028910A (zh) * 2015-09-25 2018-05-11 索尼公司 信息处理设备、信息处理方法与程序

Also Published As

Publication number Publication date
EP3536467A4 (en) 2020-07-08
EP3536467B1 (en) 2022-07-20
CN110114195A (zh) 2019-08-09
JPWO2018084164A1 (ja) 2019-04-11
US20190283246A1 (en) 2019-09-19
CN110114195B (zh) 2022-05-17
US11207773B2 (en) 2021-12-28
WO2018084164A1 (ja) 2018-05-11
EP3536467A1 (en) 2019-09-11

Similar Documents

Publication Publication Date Title
CN110385720B (zh) 一种基于深度神经网络的机器人定位误差补偿方法
US20190184561A1 (en) Machine Learning based Fixed-Time Optimal Path Generation
JP6550605B2 (ja) 動作の転移装置、動作の転移方法及びプログラム
CN111783250B (zh) 柔性机器人末端抵达控制方法、电子设备和存储介质
JP7295421B2 (ja) 制御装置及び制御方法
CN112947403B (zh) 用于障碍物规避的确定性机器人路径规划
Kouabon et al. A Learning Framework to inverse kinematics of high DOF redundant manipulators
WO2020246482A1 (ja) 制御装置、システム、学習装置および制御方法
JP6518982B2 (ja) 動作転移装置、動作転移方法及び動作転移プログラムが格納された非一時的なコンピュータ可読媒体
CN114943182A (zh) 基于图神经网络的机器人线缆形状控制方法及设备
JP7263987B2 (ja) 制御装置、制御方法、及び制御プログラム
EP2359989B1 (en) Robot control with bootstrapping inverse kinematics
US20240054393A1 (en) Learning Device, Learning Method, Recording Medium Storing Learning Program, Control Program, Control Device, Control Method, and Recording Medium Storing Control Program
CN106875008A (zh) 一种机械手运动学逆解方法及系统
Liu et al. Research on motion planning of seven degree of freedom manipulator based on DDPG
Abainia et al. Bio-inspired approach for inverse kinematics of 6-dof robot manipulator with obstacle avoidance
Chanrungmaneekul et al. Non-Parametric Self-Identification and Model Predictive Control of Dexterous In-Hand Manipulation
CN118163112B (zh) 一种基于扩散模型的机械臂逆解控制方法及装置
KR102687360B1 (ko) 인공신경망에 기반한 행동 모방 로봇 제어 장치 및 방법, 이를 제공하기 위한 컴퓨터 프로그램이 기록된 컴퓨터 판독가능매체
Ji et al. Efficient Real2Sim2Real of Continuum Robots Using Deep Reinforcement Learning with Koopman Operator
Petrič et al. Effect of sequence order on autonomous robotic database expansion
Park et al. Adaptation algorithm of geometric graphs for robot motion planning in dynamic environments
JP2022143969A (ja) データ生成装置、データ生成方法、制御装置、制御方法及びプログラム
Wang et al. Reinforcement Learning based End-to-End Control of Bimanual Robotic Coordination
Singh et al. Adaptive Koopman Embedding for Robust Control of Complex Nonlinear Dynamical Systems

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190117

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190117

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190117

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190315

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190319

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20190327

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20190327

R150 Certificate of patent or registration of utility model

Ref document number: 6518982

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250