JP2021122899A - 軌道生成装置、多リンクシステム、及び軌道生成方法 - Google Patents

軌道生成装置、多リンクシステム、及び軌道生成方法 Download PDF

Info

Publication number
JP2021122899A
JP2021122899A JP2020018237A JP2020018237A JP2021122899A JP 2021122899 A JP2021122899 A JP 2021122899A JP 2020018237 A JP2020018237 A JP 2020018237A JP 2020018237 A JP2020018237 A JP 2020018237A JP 2021122899 A JP2021122899 A JP 2021122899A
Authority
JP
Japan
Prior art keywords
joint state
link mechanism
unit
end position
target
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.)
Granted
Application number
JP2020018237A
Other languages
English (en)
Other versions
JP7375587B2 (ja
Inventor
顕一 蓑谷
Kenichi Minoya
顕一 蓑谷
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2020018237A priority Critical patent/JP7375587B2/ja
Priority to CN202110142172.2A priority patent/CN113290553A/zh
Priority to US17/166,817 priority patent/US11673271B2/en
Publication of JP2021122899A publication Critical patent/JP2021122899A/ja
Application granted granted Critical
Publication of JP7375587B2 publication Critical patent/JP7375587B2/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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • B25J13/089Determining the position of the robot with reference to its environment
    • 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/1607Calculation of inertia, jacobian matrixes and inverses
    • 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
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40371Control trajectory to avoid joint limit as well as obstacle collision

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

【課題】多リンク機構の軌道の生成をより容易且つより短時間に行うことを可能にしつつ、解の完全性と最適性とをより両立させることを可能にする。【解決手段】ロボットアームの動作空間に存在する障害物の位置座標を取得する情報取得部100と、機械学習を行った学習結果を用いて、情報取得部100で取得した障害物の位置座標、ロボットアームの第1時刻における対象関節状態、及びロボットアームの目標関節状態に基づいて、第1時刻の次の時刻である第2時刻における手先位置を推定する手先位置推定部110と、手先位置推定部110によって推定した手先位置を制約として、第2時刻におけるロボットアームと障害物とが干渉しないロボットアームの非干渉関節状態を探索する制約付き探索部130とを備える。【選択図】図2

Description

本開示は、多リンク機構の軌道を生成する軌道生成装置、多リンクシステム、及び軌道生成方法に関するものである。
ロボットアームといった多リンク機構の軌道を生成する技術が知られている。特許文献1には、ディープニューラルネットワーク(以下、DNN)の学習を行うことで、障害物を回避して目標位置へ到達するロボットの手先の行動系列を学習する技術が開示されている。機械学習による学習結果を用いて多リンク機構の軌道を生成する手法を、以下では学習ベース手法と呼ぶ。また、多リンク機構の軌道を生成する技術として、RRT(Rapidly exploring random tree)といった、多リンク機構の動作制約を考慮しながらランダムに軌道を探索して生成する技術も知られている。多リンク機構の動作制約を考慮しながらランダムに軌道を探索して生成する手法を、以下では探索ベース手法と呼ぶ。
特開2019−5834号公報
探索ベース手法は、探索に時間をかけることでより適切な軌道を生成することが可能になる一方、短時間で適切な軌道を生成することが難しい。一方、学習ベース手法は、短時間でより適切な軌道を生成することが可能である一方、適切な軌道を生成できる学習結果を学習させることが困難である。これは、多リンク機構の行動出力が連続値であることに加え、多リンク機構が複数の軸を有するために多次元状態空間を扱う必要があることから、学習させる動作パターンが膨大になることが要因として考えられる。
ここで、複雑な問題を複数のサブ問題に分ける階層化によって、学習で扱う状態数を減らすことが考えられる。しかしながら、階層化には、上位階層で問題分割の粒度が大きいと必要な情報が排除されてしまい、解の完全性及び最適性が損なわれる問題が生じる。例えば、解の完全性の問題としては、上位の階層で生成したゴールが、多リンク機能の関節の構造上、下位の階層では到達不可能である問題が考えられる。また、解の最適性の問題としては、上位の階層で生成したゴールが、多リンク機能の関節の構造上、下位の階層では最短経路に対して遠回りを多く必要としてしまう問題が考えられる。
この開示のひとつの目的は、多リンク機構の軌道の生成をより容易且つより短時間に行うことを可能にしつつ、解の完全性と最適性とをより両立させることを可能にする軌道生成装置、多リンクシステム、及び軌道生成方法を提供することにある。
上記目的は独立請求項に記載の特徴の組み合わせにより達成され、また、下位請求項は、開示の更なる有利な具体例を規定する。特許請求の範囲に記載した括弧内の符号は、ひとつの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
上記目的を達成するために、本開示の軌道生成装置は、複数のリンクを可動部分である関節によって接続した機械機構である多リンク機構(20)の動作空間におけるこの多リンク機構の軌道を生成する軌道生成装置であって、多リンク機構の動作空間に存在する障害物の位置に関する障害物情報を取得する情報取得部(100)と、多リンク機構のスタートの関節状態、多リンク機構のゴールの関節状態、及び障害物情報を入力とし、多リンク機構のエンドエフェクタの位置であるエンド位置を出力とする機械学習を行った学習結果を用いて、情報取得部で取得した障害物情報、多リンク機構のある時刻である第1時刻における対象関節状態、及び多リンク機構の目標関節状態に基づいて、第1時刻の次の時刻である第2時刻におけるエンド位置である次エンド位置を推定するエンド位置推定部(110)と、エンド位置推定部によって推定した次エンド位置を制約として、第2時刻における多リンク機構と障害物とが干渉しない多リンク機構の非干渉関節状態を探索する制約付き探索部(130,130a,130b)とを備える。
上記目的を達成するために、本開示の軌道生成方法は、少なくとも1つのプロセッサにより実行される、複数のリンクを可動部分である関節によって接続した機械機構である多リンク機構(20)の動作空間におけるこの多リンク機構の軌道を生成する軌道生成方法であって、多リンク機構の動作空間に存在する障害物の位置に関する障害物情報を取得する位置情報取得工程(S1,S21)と、多リンク機構のスタートの関節状態、多リンク機構のゴールの関節状態、及び障害物情報を入力とし、多リンク機構のエンドエフェクタの位置であるエンド位置を出力とする機械学習を行った学習結果を用いて、位置情報取得工程で取得した障害物情報、多リンク機構のある時刻である第1時刻における対象関節状態、及び多リンク機構の目標関節状態に基づいて、第1時刻の次の時刻である第2時刻におけるエンド位置である次エンド位置を推定するエンド位置推定工程(S2,S22)と、エンド位置推定工程によって推定した次エンド位置を制約として、第2時刻における多リンク機構と障害物とが干渉しない多リンク機構の非干渉関節状態を探索する制約付き探索工程(S3〜S7,S23〜S34)とを含む。
以上の構成によれば、多リンク機構のスタートの関節状態、多リンク機構のゴールの関節状態、及び障害物情報を入力とし、多リンク機構のエンドエフェクタの位置であるエンド位置を出力とする機械学習は、多リンク機構の関節状態よりも状態数の少ないエンド位置を出力とする。よって、多リンク機構の関節状態を出力とする場合に対して、エンド位置を中間状態とした階層化が行われることになる。よって、階層化を行わない、多リンク機構の関節状態を出力とする場合よりも容易に学習を収束させることができる。このような機械学習の結果を用いるので、多リンク機構の関節状態を出力とする機械学習の結果を用いるよりも容易に実現が可能となる。また、機械学習の学習結果によって次エンド位置まで推定し、この次エンド位置を制約として次の時刻における関節状態を探索するので、この次エンド位置及び関節状態を多リンク機構の軌道として生成することが可能になる。さらに、機械学習の学習結果によって次エンド位置までは推定するので、機械学習を利用せずに探索のみによって軌道を生成する場合に比べ、より短時間でより最適性を満たしやすい軌道を生成することが可能になる。
また、エンド位置は、多リンク機構の全関節の影響を受けるため、多リンク機構の軌道を生成する上での重要な情報が縮約されていると言える。よって、エンド位置を中間状態として階層化を行ったとしても、解の完全性及び最適性を満たすための情報が排除されにくく、解の完全性及び最適性を満たしやすくなる。さらに、次エンド位置を制約として、第2時刻における多リンク機構と障害物とが干渉しない多リンク機構の非干渉関節状態を探索することで多リンク機構の軌道を生成するので、探索によって解の完全性を満たすことが可能になる。その結果、多リンク機構の軌道の生成をより容易且つより短時間に行うことを可能にしつつ、解の完全性と最適性とをより両立させることが可能になる。
上記目的を達成するために、本開示の多リンクシステムは、前述の軌道生成装置(10,10a,10b)と、軌道生成装置で生成される軌道に沿って動作するように制御される、複数のリンクを可動部分である関節によって接続した機械機構である多リンク機構(20)とを含む。
これによれば、前述の軌道生成装置を含むので、多リンク機構の軌道の生成をより容易且つより短時間に行うことを可能にしつつ、解の完全性と最適性とをより両立させることが可能になる。
ロボットアームシステム1の概略的な構成の一例を示す図である。 軌道生成装置10の概略的な構成の一例を示す図である。 情報取得部100の概略的な構成の一例を示す図である。 第2時刻の手先姿勢αt+1を算出するための式の一例を示す図である。 軌道生成装置10での軌道生成関連処理の流れの一例を示すフローチャートである。 機械学習モデルのみによって関節状態を求める例について説明するための図である。 機械学習モデルと探索とを組み合わせて関節状態を求める例について説明するための図である。 軌道生成装置10aの概略的な構成の一例を示す図である。 軌道生成装置10aでの軌道生成関連処理の流れの一例を示すフローチャートである。 軌道生成装置10bの概略的な構成の一例を示す図である。
図面を参照しながら、開示のための複数の実施形態を説明する。なお、説明の便宜上、複数の実施形態の間において、それまでの説明に用いた図に示した部分と同一の機能を有する部分については、同一の符号を付し、その説明を省略する場合がある。同一の符号を付した部分については、他の実施形態における説明を参照することができる。
(実施形態1)
<ロボットアームシステム1の概略構成>
以下、本実施形態について図面を用いて説明する。まず、図1を用いて、ロボットアームシステム1の説明を行う。ロボットアームシステム1は、図1に示すように、軌道生成装置10及びロボットアーム20を含む。ロボットアームシステム1が多リンクシステムに相当する。
ロボットアーム20は、複数のリンクを可動部分である関節によって接続した機械機構である。ロボットアーム20は、軌道生成装置10による軌道生成の対象である。ロボットアーム20の関節の形式としては、回転関節,直動関節,球関節等を採用することができる。なお、本実施形態では、ロボットアーム20の関節は回転関節である場合を例に挙げて説明を行う。
ロボットアーム20は、4つの関節(図1のJo1,Jo2,Jo3,Jo4)を備える。ロボットアーム20の関節は、関節ごとに設けられたモータ等のアクチュエータによって動作するものとすればよい。ロボットアーム20は、3つのリンク(図1のLi1,Li2,Li3)を備える。リンクは軸と言い換えることもできる。ロボットアーム20のリンクは剛体とすればよい。ロボットアーム20は、1つの手先201を備える。手先201はエンドエフェクタと言い換えることもできる。以上のように、ロボットアーム20は、複数の関節及びリンクを備える多リンク機構である。なお、図1で示すロボットアーム20は、あくまで一例である。ロボットアーム20は、多リンク機構であれば、関節及びリンクの数が図1に示す例と異なっていてもよい。例えば、ロボットアーム20は、6軸垂直多関節型のロボットアームであってもよい。
ロボットアーム20の台座部分とリンクLi1とは関節Jo1によって結合されている。リンクLi1とリンクLi2とは関節Jo2によって結合されている。リンクLi2とリンクLi3とは関節Jo3によって結合されている。リンクLi3と手先201とは関節Jo4によって結合されている。ロボットアーム20は、各関節を動作させて関節角度を変化させることで、手先201の位置及び姿勢を変化させる。
関節Jo1についての関節角度は、台座部分に対するリンクLi1の角度である。関節Jo2についての関節角度は、リンクLin1に対するリンクLin2の角度である。関節Jo3についての関節角度は、リンクLin2に対するリンクLin3の角度である。関節Jo4についての関節角度は、リンクLin3に対する手先201の角度である。リンクLin3に対する手先201の角度は、手先201の姿勢にあたる。以降では、各関節Jo1〜Jo4の関節角度をまとめて関節状態と呼ぶものとする。ロボットアームの軌道とは、関節状態の系列とすればよい。なお、ロボットアームの軌道は、関節状態をもとに特定できる、ロボットアームの動作の軌跡を表す物理量であれば、関節状態の系列以外であってもよい。例えば、各関節に設けられたアクチュエータの出力値の系列等としてもよい。
軌道生成装置10は、例えばプロセッサ、メモリ、I/O、これらを接続するバスを備え、メモリに記憶された制御プログラムを実行することで各種の処理を実行する。ここで言うところのメモリは、コンピュータによって読み取り可能なプログラム及びデータを非一時的に格納する非遷移的実体的記憶媒体(non-transitory tangible storage medium)である。また、非遷移的実体的記憶媒体は、半導体メモリ又は磁気ディスクなどによって実現される。
軌道生成装置10は、ロボットアーム20の軌道の生成に関する処理(以下、軌道生成関連処理)を実行する。軌道生成装置10は、ロボットアーム20のある関節状態から、ロボットアーム20の動作空間に存在する障害物(図1のOb)を把持するための目標関節状態に到達するまでの軌道を生成する。そして、軌道生成装置10は、生成した軌道に沿ってロボットアーム20を動作させる。なお、軌道生成装置10の詳細については、以下で述べる。動作空間とは、ロボットアーム20が作業を行う空間を指す。
<軌道生成装置10の概略構成>
続いて、図2を用いて、軌道生成装置10の概略構成を説明する。図2に示すように、軌道生成装置10は、情報取得部100、手先位置推定部110、乱数発生部120、制約付き探索部130、及び移動指令部140を機能ブロックとして備えている。なお、軌道生成装置10が実行する機能の一部又は全部を、1つ或いは複数のIC等によりハードウェア的に構成してもよい。また、軌道生成装置10が備える機能ブロックの一部又は全部は、プロセッサによるソフトウェアの実行とハードウェア部材の組み合わせによって実現されてもよい。なお、軌道生成装置10では、実際のロボットアーム20及び障害物を対象とする代わりにロボットアーム20及び障害物の3Dモデルを対象として軌道の生成を行ってもよい。
情報取得部100は、障害物及びロボットアーム20の関節状態に関する情報を取得する。情報取得部100は、図3に示すように、位置情報取得部101、関節状態取得部104、及び次元変換部105を備えている。
位置情報取得部101は、ロボットアーム20の動作空間に存在する障害物の位置に関する障害物情報を取得する。ロボットアーム20の動作空間に存在する障害物を、以降では単に障害物と呼ぶ。位置情報取得部101は、図3に示すように、環境情報取得部102及び抽象化部103を備えている。
環境情報取得部102は、障害物情報として、三次元空間上の障害物の位置を示す位置座標を取得する。つまり、環境情報取得部102は、障害物の位置の情報として、三次元空間の直交座標系で表される位置座標を取得する。この直交座標系の原点は、ロボットアーム20の例えば台座部分の固定点等とすればよい。環境情報取得部102は、例えばカメラ等のセンサによって実物の障害物を検出することで障害物の位置座標を取得してもよいし、3Dモデルの障害物を用いたシミュレーション上の障害物の位置座標を取得してもよい。環境情報取得部102は、三次元点群データの形式の障害物の位置座標を取得する構成とすればよい。
抽象化部103は、環境情報取得部102で取得した三次元点群データの形式の障害物の位置座標を、より情報量の少ない三次元グリッドデータに変換する。具体的には、三次元点群データの形式の障害物の位置座標を、この位置座標の最小の位よりも大きい位の単位間隔の区分あたり1点にまとめることで情報量を減らす。
関節状態取得部104は、ロボットアーム20の関節状態を取得する。関節状態取得部104は、各関節Jo1〜Jo4の関節角度を取得すればよい。関節状態取得部104は時刻ごとのロボットアーム20の関節状態(以下、対象関節状態)を取得する。この対象関節状態については、例えば時刻が現在の場合は、関節を動作させるアクチュエータの現在の駆動状態から特定すればよい。関節状態取得部104は、実物のロボットアーム20の関節状態を取得してもよいし、3Dモデルのロボットアーム20を用いたシミュレーション上の関節状態を取得してもよい。また、現在の時刻よりも未来の時刻の場合は、その未来の時刻についての後述する制約付き探索部130で探索した関節状態を対象関節状態として取得すればよい。関節状態取得部104は、ロボットアーム20の最終的な目標関節状態も取得する。目標関節状態は、例えばオペレータ等が入力することで与える等すればよい。
次元変換部105は、関節状態取得部104で取得したロボットアーム20の関節状態を、抽象化部103で変換する三次元グリッドデータと同じ形式の三次元グリッドデータに変換する。次元変換部105は、DNN(Deep Neural Networks)等の機械学習の学習結果を用いて、関節状態取得部104で取得したロボットアーム20の関節状態をこの三次元グリッドデータに変換すればよい。これにより、障害物の位置座標とロボットアーム20の関節状態とは、同じ三次元グリッドデータの形式に統一される。次元変換部105では、ロボットアーム20の関節状態を入力とし、三次元グリッドデータを出力とする機械学習の学習結果を用いればよい。機械学習では、複数の異なるサンプルについて学習を行わせる。以降の機械学習についても同様である。学習結果とは、学習が行われた機械学習モデルである。例えば、学習結果は、学習が行われた識別器とすればよい。以降についても同様である。
情報取得部100は、抽象化部103で変換した、障害物の位置座標の三次元グリッドデータ、及び次元変換部105で変換した、ロボットアーム20の関節状態の三次元グリッドデータを後述の手先位置推定部110に出力する。つまり、障害物の位置座標とロボットアーム20の関節状態とを三次元グリッドデータの形式に統一して手先位置推定部111に出力する。
図2に戻って、手先位置推定部110は、ロボットアーム20の手先201の位置(以下、手先位置)を推定する。手先位置はエンド位置に相当する。手先位置推定部110がエンド位置推定部に相当する。手先位置推定部110は、DNN等の機械学習を行った学習結果を用いて、情報取得部100から入力される障害物の位置座標、ある時刻(以下、第1時刻)における対象関節状態、及び目標関節状態に基づいて、次の時刻(以下、第2時刻)における手先位置を推定する。第1時刻及び第2時刻にあたる時刻は、対象とする時刻が進むのに合わせて変化する。第1時刻がtの場合は、第2時刻として時刻t+1における手先位置を推定する。また、第1時刻がt+1の場合は、第2時刻として時刻t+2における手先位置を推定する。この第2時刻における手先位置が次エンド位置に相当する。
手先位置推定部110では、障害物の位置座標、ロボットアーム20のスタートの関節状態、及びロボットアーム20のゴールの関節状態を入力とし、ロボットアーム20の手先位置を出力とする機械学習の学習結果を用いればよい。この機械学習の一例としては、数千個の異なるレイアウトそれぞれに対し、スタートとゴールとが異なる数十種類の環境を用意すればよい。レイアウトは、サイズが等しい立方体数個をロボットアーム20と重ならないよう動作空間上にランダムに配置すればよい。スタートとゴールとは、障害物と非干渉のポーズを取ることができる関節状態をランダムに生成すればよい。
この機械学習に用いる障害物の位置座標、ロボットアーム20のスタートの関節状態、及びロボットアーム20のゴールの関節状態は、同じ三次元グリッドデータの形式に統一するものとする。多リンク機構では、障害物と多リンク機構との座標系が異なる場合、障害物の座標系である三次元直交座標系からロボットアーム20の座標系である関節座標系への難解な座標変換規則を学習させなければならない問題が生じる。この問題によって、学習を収束させることが困難になる。これに対して、以上の構成によれば、座標系を統一することで座標系が異なる場合よりも学習収束性を向上させることが可能になる。また、グリッドデータの形式とすることで扱うデータの数を抑えて学習収束性を向上させることが可能になる。
また、手先位置推定部110で用いる機械学習の学習結果は、障害物と干渉せずにゴールの関節状態に到達できた探索による探索結果を教師データとして機械学習を行った、教師あり学習の学習結果とすることが好ましい。干渉とは障害物とロボットアーム20とが接触することを指す。探索としては、例えばRRT(Rapidly‐Exploring Random Tree)等のパスプランニングの手法を用いて行う構成とすればよい。一例として、障害物と干渉せずにゴールの関節状態に到達できたロボットアーム20の軌道のうちの、タイムステップごとの障害物位置及び関節状態を教師データとして用いればよい。
以上の構成によれば、機械学習において、到達と接触回避とを満たすロボットアーム20の関節状態を非明示的に覚えさせることが可能になる。よって、ロボットアーム20の関節状態を出力とする場合に対して、手先位置を中間状態とした階層化を行いながらも、解の完全性をより満たし易くすることが可能になる。
乱数発生部120は、手先位置推定部110で手先位置を推定するのに用いる障害物の位置座標、対象関節状態、及び目標関節状態の少なくともいずれかに乱数をノイズとして加える。つまり、手先位置推定部110の入力にノイズを加える。乱数は例えば正規分布の乱数とすればよい。以上の構成によれば、手先位置推定部110の入力にノイズを加えることによるランダムネスの効果によって、学習結果を用いた手先位置の推定において、局所解をより早く脱出することを可能にする。その結果、手先位置推定部110での手先位置の推定にかかる処理時間をより短くすることが可能になる。
なお、乱数発生部120は、手先位置推定部110の入力にノイズを加える構成に限らず、手先位置推定部110の出力にノイズを加える構成としてもよい。この場合、乱数発生部120は、手先位置推定部110で推定する手先位置に乱数をノイズとして加える構成とすればよい。これによれば、手先位置推定部110の出力にノイズを加えることによるランダムネスの効果によって、学習結果を用いた手先位置の推定において、局所解をより早く脱出することを可能にする。その結果、手先位置推定部110での手先位置の推定にかかる処理時間をより短くすることが可能になる。
制約付き探索部130は、手先位置推定部110によって推定した手先位置を制約として、第2時刻における非干渉関節状態を探索する。非干渉関節状態とは、ロボットアーム20と障害物とが干渉しないロボットアーム20の関節状態である。なお、手先位置推定部110によって推定した手先位置とは、乱数発生部120が手先位置推定部110の出力にノイズを加える構成を採用する場合、このノイズが加わった手先位置とする。以降についても同様とする。制約付き探索部130は、図2に示すように、手先姿勢生成部131、逆運動学演算部132、干渉判定部133、目標到達判定部134、記憶/修正部135、及び探索打切判定部136を備えている。
手先姿勢生成部131は、手先位置推定部110で推定したエンド位置を取るための第2時刻における手先201の姿勢(以下、手先姿勢)を生成する。手先姿勢はエンド姿勢に相当する。手先姿勢生成部131がエンド姿勢生成部に相当する。手先姿勢生成部131は、手先位置推定部110で推定した手先位置を取るための手先姿勢として、その手先位置に対応する第2時刻の前回の時刻である第1時刻における手先姿勢から姿勢の変化が所定範囲内の近辺におさまる姿勢を生成することが好ましい。一例としては、第1時刻の手先姿勢をαtとした場合、図4に示す式によって第2時刻の手先姿勢αt+1を算出し、第2時刻の手先姿勢を生成する。ここで、図4のθは−β<θ<βを満たす乱数であるものとする。βは任意に設定可能な値とする。これによれば、ロボットアーム20の動作の連続性の制約を入れることが可能になるため、非干渉関節状態を探索する範囲を現実的な探索範囲に限定させることが可能になる。
なお、手先姿勢生成部131は、第1時刻における手先姿勢から姿勢の変化が所定範囲内の近辺におさまる姿勢を第2時刻における手先姿勢として生成する構成に限らない。例えば、手先姿勢として選択可能な手先姿勢のうちのいずれかをランダムに選択して第2時刻における手先姿勢を生成する構成としてもよい。
逆運動学演算部132は、手先位置推定部110で推定した手先位置と、手先姿勢生成部131で生成した手先姿勢とから、逆運動学演算(inverse kinematics)によって、その手先位置及びその手先姿勢を満たすロボットアーム20の関節状態を求める。つまり、逆運動学演算によって、手先位置推定部110で推定した第2時刻における手先位置と、手先姿勢生成部131で生成した第2時刻における手先姿勢とを満たす、第2時刻におけるロボットアームの関節状態を求める。一例として、逆運転学演算としては、ヤコビアン行列を用いた手法を用いる等すればよい。この逆運動学演算部132が関節状態導出部に相当する。
干渉判定部133は、逆運動学演算部132で求めた関節状態を取るロボットアーム20と障害物との干渉の有無を判定する。干渉判定部133は、ロボットアーム20と障害物との干渉の有無は、例えばシミュレーション上でロボットアーム20と障害物とが接触するか否かで判定すればよい。
干渉判定部133で干渉ありと判定した場合であって、同一時刻についての手先姿勢の生成し直しの回数(以下、探索回数)が規定数U以下の場合には、手先姿勢生成部131で手先姿勢を生成し直す。この場合、逆運動学演算部132が、手先位置推定部110で推定した手先位置と、手先姿勢生成部131で生成し直した手先姿勢とから、逆運動学演算によって、その手先位置及びその手先姿勢を満たすロボットアーム20の関節状態を求める。そして、干渉判定部133が、逆運動学演算部132で求めた関節状態を取るロボットアーム20と障害物との干渉の有無を判定し直す。つまり、非干渉関節状態の探索を継続する。この場合、手先姿勢生成部131は、例えば前述のθの値を−β<θ<βを満たす範囲内で変更して第2時刻の手先姿勢αt+1を算出し直し、第2時刻の手先姿勢を生成し直せばよい。探索回数については、制約付き探索部130がカウントする構成とすればよい。探索回数がエンド姿勢生成回数に相当する。ここで言うところの規定数Uは、任意に設定可能な値である。
目標到達判定部134は、干渉判定部133で干渉なしと判定した場合に、制約付き探索部130で探索する非干渉関節状態が目標関節状態に達したか否かを判定する。目標到達判定部134は、干渉判定部133で干渉なしと判定した関節状態と目標関節状態とが一致する場合に、非干渉関節状態が目標関節状態に達したと判定すればよい。一方、干渉判定部133で干渉なしと判定した関節状態と目標関節状態とが一致しない場合には、非干渉関節状態が目標関節状態に達していないと判定すればよい。
記憶/修正部135は、干渉判定部133で干渉なしと判定した場合に、干渉判定部133で干渉なしと判定した関節状態を軌道情報として軌道生成装置10のメモリに記憶する。また、記憶/修正部135は、ロボットアーム20のスタートにあたる初期の関節状態からゴールにあたる目標関節状態までの軌道情報を記憶した場合に、スタートからゴールに至るまでの各時刻の関節状態を必要に応じて入れ替えるショートカット等の軌道修正を加えることが好ましい。ここで言うところのショートカットとは、スタートからゴールに至るまでの経路をより短くすることを指す。これにより、解の最適性をより向上させることが可能になる。
探索打切判定部136は、干渉判定部133で干渉ありと判定した場合であって、前述の探索回数が規定数Uを超えた場合には、非干渉関節状態の探索を打ち切る。この場合、手先位置推定部110で第2時刻における手先位置を異なる手先位置に推定し直した上で、非干渉関節状態の探索をやり直す。手先位置推定部110で第2時刻における手先位置を推定し直す場合には、入力は同じまま機械学習の学習結果から異なる手先位置が推定されるまで手先位置を推定し直してもよい。また、乱数発生部120で入力又は出力に加えるノイズを変更し、手先位置推定部110で第2時刻における手先位置を異なる手先位置に推定し直す構成としてもよい。これによれば、手先姿勢を何回生成し直しても非干渉関節状態の探索が完了しない状態となった場合であっても、探索回数が規定数Uを越えた場合に探索を打ち切ることが可能になる。よって、手先姿勢を何回生成し直しても非干渉関節状態の探索が完了しない状態に嵌まり込まずに済む。
以上のように、制約付き探索部130では、干渉判定部133で干渉なしと判定した場合に、非干渉関節状態の探索を終了する。また、制約付き探索部130では、干渉判定部133で干渉ありと判定した場合には、手先姿勢生成部131での手先姿勢の生成し直しの回数である探索回数が規定数U未満の場合に、手先姿勢生成部131で手先姿勢を異なる手先姿勢に生成し直して非干渉関節状態の探索を継続する。一方、制約付き探索部130では、探索回数が規定数Uを越える場合には、非干渉関節状態の探索を打ち切って手先位置推定部110で異なる手先位置に推定し直した上で非干渉関節状態の探索をやり直す。制約付き探索部130で各時刻の非干渉関節状態を探索して記憶することが、ロボットアーム20の軌道を生成することにあたる。
移動指令部140は、制約付き探索部130によって生成したロボットアーム20の軌道に沿った動作を実現するために、ロボットアーム20の各関節Jo1〜Jo4に設けられるアクチュエータへ動作制御信号を送る。これにより、ロボットアーム20は、軌道生成装置10で生成される軌道に沿って動作するように制御される。
<軌道生成装置10での軌道生成関連処理>
続いて、図5のフローチャートを用いて、軌道生成装置10での軌道生成関連処理の流れの一例について説明を行う。プロセッサによって軌道生成関連処理に含まれるステップが実行されることが、軌道生成方法が実行されることに相当する。図5のフローチャートは、例えばオペレータ等によって軌道生成を開始させるための操作入力が行われた場合に開始する構成とすればよい。
まず、ステップS1では、情報取得部100が、障害物の位置座標、第1時刻における対象関節状態、及び目標関節状態を取得する。S1の工程が、位置情報取得工程に相当する。ステップS2では、手先位置推定部110が、機械学習を行った学習結果を用いて、S1で取得した障害物の位置座標、第1時刻における対象関節状態、及び目標関節状態に基づいて、次の時刻である第2時刻における手先位置を推定する。S2の工程が、エンド位置推定工程に相当する。
S1〜S2では、フローが繰り返されてS1に処理が戻ってくるごとに、対象とする時刻を追加していく。例えば、第1時刻がt1,第2時刻がt+1であった場合には、第1時刻をt+1,第2時刻をt+2と進めていく。なお、S1では、フローが繰り返されてS1に処理が戻ってくるごとに、第1時刻における対象関節状態といった、時刻によって変化する情報に絞って取得し直す構成としてもよい。また、S1では、乱数発生部120が、手先位置推定部110の入力又は出力にノイズを加える。
ステップS3では、手先姿勢生成部131が、第2時刻における手先姿勢を生成する。ステップS4では、逆運動学演算部132が、S2で推定した手先位置と、S3で生成した手先姿勢とから、逆運動学演算によって、その手先位置及びその手先姿勢を満たすロボットアーム20の関節状態を求める。
ステップS5では、干渉判定部133が、S4で求めた関節状態を取るロボットアーム20と障害物との干渉の有無を判定する。ステップS6では、干渉判定部133が干渉なしと判定した場合(S6でYES)には、ステップS9に移る。一方、干渉判定部133が干渉ありと判定した場合(S6でNO)には、ステップS7に移る。
ステップS7では、同一時刻についての手先姿勢の生成し直しの回数である探索回数が規定数Uを超えた場合(S7でYES)には、ステップS8に移る。一方、探索回数が規定数U以下の場合(S7でNO)には、S3に戻って手先姿勢を異なる手先姿勢に生成し直して、非干渉関節状態の探索を継続する。ステップS8では、探索打切判定部136が、非干渉関節状態の探索を打ち切る。そして、S1に戻って手先位置を異なる手先位置に推定し直した上で、非干渉関節状態の探索をやり直す。
ステップS9では、記憶/修正部135が、S5で干渉なしと判定した関節状態を軌道情報として軌道生成装置10のメモリに記憶する。S5で干渉なしと判定した関節状態が、制約付き探索部130で探索できた非干渉関節状態にあたる。ステップS10では、目標到達判定部134が、制約付き探索部130で探索した非干渉関節状態が目標関節状態に達したか否かを判定する。
ステップS11では、目標到達判定部134が、非干渉関節状態が目標関節状態に達したと判定した場合(S11でYES)には、軌道生成関連処理を終了する。なお、非干渉関節状態が目標関節状態に達したと判定した場合に、記憶/修正部135が、記憶したロボットアーム20の初期関節状態から目標関節状態に至るまでの各時刻の関節状態を、必要に応じて入れ替えるショートカット等の軌道修正を加えてもよい。一方、目標到達判定部134が、非干渉関節状態が目標関節状態に達していないと判定した場合(S11でNO)には、ステップS12に移る。ステップS12では、時刻を次の時刻に進めてS1に戻り、処理を繰り返す。例えば、時刻がtであった場合には、時刻をt+1に進めてS1に戻り、処理を繰り返す。S3〜S12の処理の少なくとも一部の工程が制約付き探索工程に相当する。
<実施形態1のまとめ>
実施形態1の構成による効果について、図6,図7を用いて説明を行う。図6は、機械学習モデルのみによって関節状態を求める例について説明するための図である。図7は、機械学習モデルと探索とを組み合わせて関節状態を求める例について説明するための図である。
図6の例は、目標関節状態と第1時刻における関節状態とを入力として第2時刻における関節状態を出力とする機械学習モデルのみによってロボットアーム20の関節状態を求める例である。機械学習モデルは、学習を収束させることができれば、短時間でより適切な軌道を生成することが可能になる。しかしながら、図6に示す機械学習モデルでは、入力も出力も多リンク機構であるロボットアーム20の関節状態となっている。よって、学習させる動作パターンが膨大になってしまい、学習を収束させることが難しい。
これに対して、実施形態1の構成では、図7に示すような、上位階層では機械学習モデルによってロボットアーム20の関節状態でなく手先位置を求め、下位階層で手先位置を制約として残りの関節状態を探索する階層構造を導入している。実施形態1の構成によれば、上位階層では、目標関節状態と第1時刻における関節状態とを入力として第2時刻における手先位置を出力とする機械学習モデルを用いる。つまり、ロボットアーム20の関節状態を出力とする場合に対して、手先位置を中間状態とした階層化が行われることになる。実施形態1の構成では、関節状態よりも状態数の少ない手先位置を出力とすることで、関節状態を出力とする場合よりも容易に学習を収束させることが可能になる。実施形態1の構成では、このような機械学習モデルを用いるので、図6に示すような関節状態を出力とする機械学習モデルを用いるよりも容易に実現が可能となる。
実施形態1の構成によれば、機械学習によって第2時刻における手先位置までは推定するので、機械学習を利用せずに探索のみによってロボットアーム20の軌道を生成する場合に比べ、より短時間でより最適性を満たしやすい軌道を生成することが可能になる。
また、手先位置は、ロボットアーム20の全関節の影響を受けるため、ロボットアーム20の軌道を生成する上での重要な情報が縮約されていると言える。よって、手先位置を中間状態として階層化を行ったとしても、解の完全性及び最適性を満たすための情報が排除されにくく、解の完全性及び最適性を満たしやすくなる。
情報が縮約された手先位置との相対関係のみを記憶すればよい上位階層に比べ、ロボットアーム20の関節状態全体を考慮する必要がある下位階層の学習は難易度が高い。これに対して、実施形態1の構成では、学習難易度の高い下位階層の関節状態については、上位階層で求めた手先位置を制約とした探索によって求める。この探索では、第2時刻におけるロボットアーム20と障害物とが干渉しないロボットアーム20の非干渉関節状態を探索して、ロボットアーム20の軌道を生成する。よって、探索によって解の完全性を満たすことが可能になる。その結果、ロボットアーム20の軌道の生成をより容易且つより短時間に行うことを可能にしつつ、解の完全性と最適性とをより両立させることが可能になる。
(実施形態2)
実施形態1では、目標関節状態として、最終的な目標関節状態のみを用いる構成を示したが、必ずしもこれに限らない。例えば、目標関節状態として、最終的な目標関節状態に達するまでのサブゴールとしての目標関節状態(以下、サブ目標状態)を用いる構成(以下、実施形態2)としてもよい。例えば、サブ目標状態は、初期関節状態から最終的な目標関節状態までを順に区分するものであって、最後の区分のサブ目標状態が最終的な目標関節状態にあたるものとすればよい。なお、最終的な目標関節状態をサブ目標状態と区別する構成としても構わないが、本実施形態では、最終的な目標関節状態とサブ目標状態と区別しない場合を例に挙げて説明を行う。
以下では、実施形態2の一例について図を用いて説明する。実施形態2のロボットアームシステム1は、軌道生成装置10の代わりに軌道生成装置10aを含むことを除けば、実施形態1のロボットアームシステム1と同様である。実施形態2のロボットアームシステム1も多リンクシステムに相当する。
ここで、図8を用いて、軌道生成装置10aの概略的な構成の一例について説明を行う。図8に示すように、軌道生成装置10aは、情報取得部100a、手先位置推定部110、乱数発生部120、制約付き探索部130a、移動指令部140、及びサブ目標推定部150を機能ブロックとして備えている。軌道生成装置10aは、情報取得部100及び制約付き探索部130の代わりに情報取得部100a及び制約付き探索部130aを備える点と、サブ目標推定部150を備える点とを除けば、実施形態1の軌道生成装置10と同様である。
サブ目標推定部150は、ロボットアーム20のスタートの関節状態、ロボットアームのゴールの関節状態、及び障害物の位置座標を入力とし、任意時刻におけるロボットアーム20の関節状態の確率分布を出力とする機械学習を行った学習結果を用いて、情報取得部100で取得する障害物の位置座標、ロボットアーム20の初期関節状態、及びロボットアーム20の最終的な目標関節状態に基づいて、任意時刻のロボットアーム20の関節状態の確率分布を求める。一例としては、ここでの機械学習としては、CVAE(Conditional Variational Autoencoder)を用いればよい。また、確率分布を出力とするには、正規分布の乱数(0〜1)を入力に加えればよい。
さらに、サブ目標推定部150は、求めた任意時刻のロボットアーム20の関節状態の確率分布に対してクラスタリングを行う。クラスタリングとしては、例えばK−means法を用いればよい。そして、サブ目標推定部150は、このクラスタリングによって、ロボットアーム20の最終的な目標関節状態に達するまでのサブゴールとしての目標関節状態であるサブ目標状態を推定する。
情報取得部100aは、目標関節状態として、サブ目標推定部150で推定したサブ目標状態を取得する。手先位置推定部110は、目標関節状態として、サブ目標状態を用いて、第2時刻における手先位置を推定することになる。なお、手先位置推定部110は、後述する目標到達判定部134aでサブ目標状態に達したと判定されるごとに、推定に用いるサブ目標状態を次のサブ目標状態に切り替えて、第2時刻における手先位置を推定すればよい。ここで言うところの次のサブ目標状態とは、ロボットアーム20の初期関節状態から最終的な目標関節状態に至るまでに順に並んだサブ目標状態の並び順における次のサブ目標状態である。並び順の最後にあたるサブ目標状態が、最終的な目標関節状態にあたる。
制約付き探索部130aは、図8に示すように、手先姿勢生成部131、逆運動学演算部132、干渉判定部133、目標到達判定部134a、記憶/修正部135、及び探索打切判定部136を備えている。制約付き探索部130aは、目標到達判定部134の代わりに目標到達判定部134aを備える点を除けば、実施形態1の制約付き探索部130と同様である。目標到達判定部134aは、干渉判定部133で干渉なしと判定した場合に、制約付き探索部130aで探索する非干渉関節状態が、サブ目標状態に達したか否かを判定する。
軌道生成装置10aでは、手先位置推定部110での手先位置の推定と制約付き探索部130aでの非干渉関節状態の探索との一連の処理を、サブ目標推定部150で推定するサブ目標状態を、対象とする目標関節状態とし、最終的な目標関節状態に到達するまでサブ目標状態を順次切り替えて行う。
ここで、図9のフローチャートを用いて、軌道生成装置10aでの軌道生成関連処理の流れの一例について説明を行う。プロセッサによってこの軌道生成関連処理に含まれるステップが実行されることも、軌道生成方法が実行されることに相当する。図9のフローチャートも、例えばオペレータ等によって軌道生成を開始させるための操作入力が行われた場合に開始する構成とすればよい。
まず、ステップS21では、情報取得部100aが、障害物の位置座標、第1時刻における対象関節状態、及び目標関節状態を取得する。S21の工程も、位置情報取得工程に相当する。ステップS22では、S2と同様にして、手先位置推定部110が、機械学習を行った学習結果を用いて、S21で取得した障害物の位置座標、第1時刻における対象関節状態St、及び目標関節状態に基づいて、次の時刻である第2時刻における手先位置を推定する。S22の工程も、エンド位置推定工程に相当する。
S21〜S22では、フローが繰り返されてS21に処理が戻ってくるごとに、対象とする時刻を追加していく。S21では、フローが繰り返されてS21に処理が戻ってくるごとに、第1時刻における対象関節状態Stといった、時刻によって変化する情報に絞って取得し直す構成としてもよい。さらに、S21では、探索した非干渉関節状態が最終的な目標関節状態にあたるサブ目標状態以外のサブ目標状態に達してS21に処理が戻ってくるごとに、目標関節状態として次のサブ目標状態を取得し直す構成としてもよい。また、S21でも、乱数発生部120が、手先位置推定部110の入力又は出力にノイズを加えることが好ましい。
ステップS23〜S29では、S3〜S9と同様の処理を行う。ステップS30では、目標到達判定部134aが、制約付き探索部130aで探索した非干渉関節状態がサブ目標状態に達したか否かを判定する。
ステップS31では、目標到達判定部134aが、非干渉関節状態がサブ目標状態に達したと判定した場合(S31でYES)には、ステップS33に移る。一方、目標到達判定部134aが、非干渉関節状態がサブ目標状態に達していないと判定した場合(S31でNO)には、ステップS32に移る。ステップS32では、時刻を次の時刻に進めてS21に戻り、処理を繰り返す。
ステップS33では、探索した非干渉関節状態が達したと判定したサブ目標状態が最終的な目標関節状態であった場合(S33でYES)には、軌道生成関連処理を終了する。一方、探索した非干渉関節状態が達したと判定したサブ目標状態が最終的な目標関節状態でなかった場合(S33でNO)には、ステップS34に移る。ステップS34では、目標関節状態とするサブ目標状態を、探索が完了したサブ目標状態の次の目標状態に変更させ、S21に戻り、処理を繰り返す。S23〜S34の処理の少なくとも一部の工程が制約付き探索工程に相当する。
実施形態2の構成によれば、目標関節状態を複数のサブゴールに分けて処理を行う点を除けば実施形態1の構成と同様であるので、実施形態1と同様に、ロボットアーム20の軌道の生成をより容易且つより短時間に行うことを可能にしつつ、解の完全性と最適性とをより両立させることが可能になる。
さらに、実施形態3の構成によれば、ロボットアーム20の軌跡の生成の処理時間の数十パーセントを占める逆運動学演算を機械学習の学習結果によって近似することで、この処理時間を削減することが可能になる。その結果、さらに現実的な時間内で軌道を生成することがより容易となる。
以上の構成によれば、目標関節状態を複数のサブゴールに分けて処理を行うことで、解の最適性をより高めつつ、ロボットアーム20の軌道の生成に要する処理時間をより低減することが可能になる。特に、ロボットアーム20の初期目標状態から最終的な目標状態までの距離が遠いケースでこの効果が顕著となる。
(実施形態3)
実施形態1では、手先位置推定部110で推定した手先位置と、手先姿勢生成部131で生成した手先姿勢とから、逆運動学演算によって、その手先位置及びその手先姿勢を満たすロボットアーム20の関節状態を求める構成を示したが、必ずしもこれに限らない。例えば、逆運動学演算の変わりに、この逆運動学演算を近似した機械学習の学習結果を用いる構成(以下、実施形態3)としてもよい。
以下では、実施形態3の一例について図を用いて説明する。実施形態3のロボットアームシステム1は、軌道生成装置10の代わりに軌道生成装置10bを含むことを除けば、実施形態1のロボットアームシステム1と同様である。実施形態3のロボットアームシステム1も多リンクシステムに相当する。
ここで、図10を用いて、軌道生成装置10bの概略的な構成の一例について説明を行う。図10に示すように、軌道生成装置10bは、情報取得部100、手先位置推定部110、乱数発生部120、制約付き探索部130b、及び移動指令部140を機能ブロックとして備えている。軌道生成装置10bは、制約付き探索部130の代わりに制約付き探索部130bを備える点を除けば、実施形態1の軌道生成装置10と同様である。
制約付き探索部130bは、図10に示すように、手先姿勢生成部131、逆運動学演算近似部132b、干渉判定部133、目標到達判定部134、記憶/修正部135、及び探索打切判定部136を備えている。制約付き探索部130bは、逆運動学演算部132の代わりに逆運動学演算近似部132bを備える点を除けば、実施形態1の制約付き探索部130と同様である。
逆運動学演算近似部132bは、手先201が取り得る手先位置及び手先姿勢の組み合わせを入力とし、ロボットアーム20の関節状態を出力とする機械学習を行った学習結果を用いて、手先位置推定部110で推定した第2時刻における手先位置と、手先姿勢生成部131で生成した第2時刻における手先姿勢とから、その手先位置及びその手先姿勢を満たすロボットアーム20の関節状態を求める。ここでの機械学習としては、DNN等を用いる構成とすればよい。この逆運動学演算近似部132bも関節状態導出部に相当する。なお、干渉判定部133は、逆運動学演算近似部132bで求めた関節状態を取るロボットアーム20と障害物との干渉の有無を判定する。
実施形態3の構成によれば、逆運動学演算の変わりに、この逆運動学演算を近似した機械学習の学習結果を用いる点を除けば実施形態1の構成と同様であるので、実施形態1と同様に、ロボットアーム20の軌道の生成をより容易且つより短時間に行うことを可能にしつつ、解の完全性と最適性とをより両立させることが可能になる。
さらに、実施形態3の構成によれば、ロボットアーム20の軌跡の生成の処理時間の数十パーセントを占める逆運動学演算を機械学習の学習結果によって近似することで、この処理時間を削減することが可能になる。その結果、より現実的な時間内でロボットアーム20の軌道を生成することがより容易となる。
(実施形態4)
前述の実施形態では、乱数発生部120が、手先位置推定部110の入力又は出力にノイズを加える構成を示したが、必ずしもこれに限らない。例えば、軌道生成装置10,10a,10bに乱数発生部120を備えずに、手先位置推定部110の入力及び出力にノイズを加えない構成としてもよい。
(実施形態5)
前述の実施形態では、同一時刻についての手先姿勢の生成し直しの回数である探索回数が規定数Uを超えた場合に、探索打切判定部136が、非干渉関節状態の探索を打ち切る構成を示したが、必ずしもこれに限らない。例えば、軌道生成装置10,10a,10bに探索打切判定部136を備えずに、探索回数による非干渉関節状態の探索の打ち切りを行わない構成としてもよい。この場合、制約付き探索部130,130a,130bが探索回数をカウントしない構成としてもよい。
(実施形態6)
前述の実施形態では、障害物の座標系の障害物の位置座標とロボットアーム20の座標系の関節状態とを同じ三次元グリッドデータの形式に統一する構成を示したが、必ずしもこれに限らない。例えば、障害物の位置座標とロボットアーム20の関節状態とを同じ三次元グリッドデータの形式に統一しない構成としてもよい。この場合、情報取得部100に抽象化部103及び次元変換部105を備えない構成とすればよい。障害物の位置座標とロボットアーム20の関節状態とを同じ三次元グリッドデータの形式に統一しない場合であっても、障害物の座標系からロボットアーム20の座標系への座標変換規則を学習させることで、手先位置推定部110での手先位置の推定を行うことは可能となる。
(実施形態7)
前述の実施形態では、軌道生成装置10,10a,10bに移動指令部140を備える構成を示したが、必ずしもこれに限らない。例えば、軌道生成装置10,10a,10bに移動指令部140を備えない構成としてもよい。この場合、軌道生成装置10,10a,10bと異なる装置が、移動指令部140の機能を担う構成とすればよい。
(実施形態8)
前述の実施形態では、軌道生成装置10,10a,10bがロボットアーム20の軌道を生成する構成を示したが、必ずしもこれに限らない。例えば、軌道生成装置10,10a,10bがロボットアーム20以外の多リンク機構の軌道を生成する構成としてもよい。
なお、本開示は、上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本開示の技術的範囲に含まれる。また、本開示に記載の制御部及びその手法は、コンピュータプログラムにより具体化された1つ乃至は複数の機能を実行するようにプログラムされたプロセッサを構成する専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の装置及びその手法は、専用ハードウェア論理回路により、実現されてもよい。もしくは、本開示に記載の装置及びその手法は、コンピュータプログラムを実行するプロセッサと1つ以上のハードウェア論理回路との組み合わせにより構成された1つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。
1 ロボットアームシステム(多リンクシステム)、10,10a,10b 軌道生成装置、20 ロボットアーム(多リンク機構)、101 位置情報取得部、105 次元変換部、110 手先位置推定部(エンド位置推定部)、120 乱数発生部、130 制約付き探索部、131 手先姿勢生成部(エンド姿勢生成部)、132 逆運動学演算部(関節状態導出部)、132b 逆運動学演算近似部(関節状態導出部)、133 干渉判定部、134,134a 目標到達判定部、150 サブ目標推定部

Claims (11)

  1. 複数のリンクを可動部分である関節によって接続した機械機構である多リンク機構(20)の動作空間におけるこの多リンク機構の軌道を生成する軌道生成装置であって、
    前記多リンク機構の動作空間に存在する障害物の位置に関する障害物情報を取得する情報取得部(100)と、
    前記多リンク機構のスタートの関節状態、前記多リンク機構のゴールの関節状態、及び前記障害物情報を入力とし、前記多リンク機構のエンドエフェクタの位置であるエンド位置を出力とする機械学習を行った学習結果を用いて、前記情報取得部で取得した前記障害物情報、前記多リンク機構のある時刻である第1時刻における対象関節状態、及び前記多リンク機構の目標関節状態に基づいて、前記第1時刻の次の時刻である第2時刻における前記エンド位置である次エンド位置を推定するエンド位置推定部(110)と、
    前記エンド位置推定部によって推定した前記次エンド位置を制約として、前記第2時刻における前記多リンク機構と前記障害物とが干渉しない前記多リンク機構の非干渉関節状態を探索する制約付き探索部(130,130a,130b)とを備える軌道生成装置。
  2. 前記制約付き探索部で探索する前記非干渉関節状態が前記目標関節状態に達したか否かを判定する目標到達判定部(134,134a)を備え、
    前記制約付き探索部で探索する前記非干渉関節状態が、前記目標到達判定部で前記目標関節状態に達したと判定されるまで、対象とする時刻を順次進めつつ、前記エンド位置推定部での前記次エンド位置の推定と前記制約付き探索部での前記非干渉関節状態の探索との一連の処理を繰り返す請求項1に記載の軌道生成装置。
  3. 前記制約付き探索部は、
    前記エンド位置推定部で推定した前記次エンド位置を取るための前記エンドエフェクタの姿勢であるエンド姿勢を生成するエンド姿勢生成部(131)と、
    前記エンド位置推定部で推定した前記次エンド位置と、前記エンド姿勢生成部で生成した前記エンド姿勢とから、その次エンド位置及びそのエンド姿勢を満たす前記多リンク機構の関節状態を求める関節状態導出部(132,132b)と、
    前記関節状態導出部で求めた前記関節状態を取る前記多リンク機構と前記障害物との干渉の有無を判定する干渉判定部(133)とを有し、
    前記干渉判定部で干渉なしと判定した場合に、前記非干渉関節状態の探索を終了し、前記干渉判定部で干渉ありと判定した場合には、前記エンド姿勢生成部での前記エンド姿勢の生成し直しの回数であるエンド姿勢生成回数が規定数以下の場合に、前記エンド姿勢生成部で前記エンド姿勢を異なる前記エンド姿勢に生成し直して前記探索を継続する一方、前記エンド姿勢生成回数が規定数を超えた場合には、前記探索を打ち切って前記エンド位置推定部で異なる前記エンド位置に推定し直した上で前記探索をやり直す請求項1又は2に記載の軌道生成装置。
  4. 前記エンド姿勢生成部は、前記エンド位置推定部で推定した前記次エンド位置を取るための前記エンド姿勢として、その次エンド位置に対応する前記第2時刻の前回の時刻である前記第1時刻における前記エンドエフェクタの姿勢から姿勢の変化が所定範囲内の近辺におさまる姿勢を生成する請求項3に記載の軌道生成装置。
  5. 前記エンド位置推定部で前記エンド位置を推定するのに用いる前記障害物情報、前記対象関節状態、及び前記目標関節状態の少なくともいずれか、又は前記エンド位置推定部で推定する前記エンド位置に乱数をノイズとして加える乱数発生部(120)を備える請求項3又は4に記載の軌道生成装置。
  6. 前記関節状態導出部(132)は、前記エンド位置推定部で推定した前記次エンド位置と、前記エンド姿勢生成部で生成した前記エンド姿勢とから、逆運動学演算によって、その次エンド位置及びそのエンド姿勢を満たす前記多リンク機構の関節状態を求める請求項3〜5のいずれか1項に記載の軌道生成装置。
  7. 前記関節状態導出部(132b)は、前記エンドエフェクタが取り得る位置及び姿勢の組み合わせを入力とし、前記多リンク機構の関節状態を出力とする機械学習を行った学習結果を用いて、前記エンド位置推定部で推定した前記次エンド位置と、前記エンド姿勢生成部で生成した前記エンド姿勢とから、その次エンド位置及びそのエンド姿勢を満たす前記多リンク機構の関節状態を求める請求項3〜5のいずれか1項に記載の軌道生成装置。
  8. 前記多リンク機構のスタートの関節状態、前記多リンク機構のゴールの関節状態、及び前記障害物の前記障害物情報を入力とし、任意時刻における前記多リンク機構の関節状態の確率分布を出力とする機械学習を行った学習結果を用いて、前記情報取得部で取得する前記障害物情報、前記多リンク機構の初期関節状態、及び前記多リンク機構の最終的な目標関節状態に基づいて求められる任意時刻の前記多リンク機構の関節状態の確率分布に対するクラスタリングによって、前記多リンク機構の最終的な目標関節状態に達するまでのサブゴールとしての目標関節状態であるサブ目標状態を推定するサブ目標推定部(150)を備え、
    前記エンド位置推定部での前記次エンド位置の推定と前記制約付き探索部(130a)での前記非干渉関節状態の探索との一連の処理を、前記サブ目標推定部で推定する前記サブ目標状態を、対象とする前記目標関節状態とし、前記最終的な目標関節状態に到達するまで前記サブ目標状態を順次切り替えて行う請求項1〜7のいずれか1項に記載の軌道生成装置。
  9. 前記情報取得部は、
    前記障害物の位置の座標を三次元グリッドデータの形式に変換した前記障害物情報を取得する位置情報取得部(101)と、
    前記多リンク機構の関節状態を前記三次元グリッドデータの形式に変換する次元変換部(105)とを備え、
    前記エンド位置推定部は、前記三次元グリッドデータの形式に統一した前記多リンク機構のスタートの関節状態、前記多リンク機構のゴールの関節状態、及び前記障害物情報を入力とし、前記多リンク機構のエンドエフェクタの位置であるエンド位置を出力とする機械学習を行った学習結果を用いて、前記位置情報取得部で前記三次元グリッドデータの形式に変換して取得した前記障害物情報と、前記次元変換部で前記三次元グリッドデータの形式に変換した、前記第1時刻における前記対象関節状態及び前記目標関節状態とに基づいて、前記次エンド位置を推定する請求項1〜8のいずれか1項に記載の軌道生成装置。
  10. 請求項1〜9のいずれか1項に記載の軌道生成装置(10,10a,10b)と、
    前記軌道生成装置で生成される軌道に沿って動作するように制御される、複数のリンクを可動部分である関節によって接続した機械機構である多リンク機構(20)とを含む多リンクシステム。
  11. 少なくとも1つのプロセッサにより実行される、
    複数のリンクを可動部分である関節によって接続した機械機構である多リンク機構(20)の動作空間におけるこの多リンク機構の軌道を生成する軌道生成方法であって、
    前記多リンク機構の動作空間に存在する障害物の位置に関する障害物情報を取得する位置情報取得工程(S1,S21)と、
    前記多リンク機構のスタートの関節状態、前記多リンク機構のゴールの関節状態、及び前記障害物情報を入力とし、前記多リンク機構のエンドエフェクタの位置であるエンド位置を出力とする機械学習を行った学習結果を用いて、前記位置情報取得工程で取得した前記障害物情報、前記多リンク機構のある時刻である第1時刻における対象関節状態、及び前記多リンク機構の目標関節状態に基づいて、前記第1時刻の次の時刻である第2時刻における前記エンド位置である次エンド位置を推定するエンド位置推定工程(S2,S22)と、
    前記エンド位置推定工程によって推定した前記次エンド位置を制約として、前記第2時刻における前記多リンク機構と前記障害物とが干渉しない前記多リンク機構の非干渉関節状態を探索する制約付き探索工程(S3〜S7,S23〜S34)とを含む軌道生成方法。
JP2020018237A 2020-02-05 2020-02-05 軌道生成装置、多リンクシステム、及び軌道生成方法 Active JP7375587B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020018237A JP7375587B2 (ja) 2020-02-05 2020-02-05 軌道生成装置、多リンクシステム、及び軌道生成方法
CN202110142172.2A CN113290553A (zh) 2020-02-05 2021-02-02 轨迹生成装置、多连杆系统以及轨迹生成方法
US17/166,817 US11673271B2 (en) 2020-02-05 2021-02-03 Trajectory generation apparatus, multi-link system, and trajectory generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020018237A JP7375587B2 (ja) 2020-02-05 2020-02-05 軌道生成装置、多リンクシステム、及び軌道生成方法

Publications (2)

Publication Number Publication Date
JP2021122899A true JP2021122899A (ja) 2021-08-30
JP7375587B2 JP7375587B2 (ja) 2023-11-08

Family

ID=77061620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020018237A Active JP7375587B2 (ja) 2020-02-05 2020-02-05 軌道生成装置、多リンクシステム、及び軌道生成方法

Country Status (3)

Country Link
US (1) US11673271B2 (ja)
JP (1) JP7375587B2 (ja)
CN (1) CN113290553A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11679500B2 (en) * 2020-12-14 2023-06-20 Honda Motor Co., Ltd. Target object retrieval
CN113954073B (zh) * 2021-11-08 2024-03-22 北京华航唯实机器人科技股份有限公司 机器人活动部件的轨迹分析方法及装置、机器人设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0253582A (ja) * 1988-08-19 1990-02-22 Nippon Telegr & Teleph Corp <Ntt> マニピュレータ学習制御方法
WO2018092860A1 (ja) * 2016-11-16 2018-05-24 三菱電機株式会社 干渉回避装置
WO2018143003A1 (ja) * 2017-01-31 2018-08-09 株式会社安川電機 ロボットパス生成装置及びロボットシステム
US20190184561A1 (en) * 2017-12-15 2019-06-20 The Regents Of The University Of California Machine Learning based Fixed-Time Optimal Path Generation
JP2019159767A (ja) * 2018-03-13 2019-09-19 オムロン株式会社 演算装置、演算方法、及びそのプログラム

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5347459A (en) * 1993-03-17 1994-09-13 National Research Council Of Canada Real time collision detection
US9144904B2 (en) * 2008-05-21 2015-09-29 Fanuc Robotics America Corporation Method and system for automatically preventing deadlock in multi-robot systems
CN107595392B (zh) * 2012-06-01 2020-11-27 直观外科手术操作公司 使用零空间回避操纵器臂与患者碰撞
DE102015204641B4 (de) * 2014-06-03 2021-03-25 ArtiMinds Robotics GmbH Verfahren und System zur Programmierung eines Roboters
JP6416560B2 (ja) * 2014-09-11 2018-10-31 株式会社デンソー 位置決め制御装置
US10350756B2 (en) * 2014-12-25 2019-07-16 Kawasaki Jukogyo Kabushiki Kaisha Method of automatically avoiding obstacle for arm robot and control device
US10272573B2 (en) * 2015-12-18 2019-04-30 Ge Global Sourcing Llc Control system and method for applying force to grasp a brake lever
JP6576255B2 (ja) * 2016-01-25 2019-09-18 キヤノン株式会社 ロボット軌道生成方法、ロボット軌道生成装置、および製造方法
CN105710881B (zh) * 2016-03-16 2017-10-31 杭州娃哈哈精密机械有限公司 一种机器人末端连续轨迹规划过渡方法
JP7045139B2 (ja) * 2017-06-05 2022-03-31 株式会社日立製作所 機械学習装置、機械学習方法、および機械学習プログラム
JP2019005834A (ja) 2017-06-22 2019-01-17 株式会社デンソー 学習システム及び学習方法
WO2019021401A1 (ja) 2017-07-26 2019-01-31 日本電気株式会社 強化学習装置、強化学習方法、および強化学習プログラム記録媒体
JP7013766B2 (ja) * 2017-09-22 2022-02-01 セイコーエプソン株式会社 ロボット制御装置、ロボットシステム、及び制御方法
US11458626B2 (en) * 2018-02-05 2022-10-04 Canon Kabushiki Kaisha Trajectory generating method, and trajectory generating apparatus
JP6857145B2 (ja) * 2018-03-09 2021-04-14 株式会社日立製作所 軌道計画装置、軌道計画方法、及び生産システム
US11084169B2 (en) * 2018-05-23 2021-08-10 General Electric Company System and method for controlling a robotic arm
JP6833777B2 (ja) * 2018-09-10 2021-02-24 株式会社東芝 物体ハンドリング装置及びプログラム
US11161244B2 (en) * 2019-01-22 2021-11-02 Mitsubishi Electric Research Laboratories, Inc. System and method for automatic error recovery in robotic assembly
CN111476257A (zh) * 2019-01-24 2020-07-31 富士通株式会社 信息处理方法和信息处理装置
EP3922418A4 (en) * 2019-02-08 2022-03-02 NEC Corporation CONTROL DEVICE, CONTROL METHOD AND RECORDING MEDIA
US20200254616A1 (en) * 2019-02-13 2020-08-13 AI Incorporated Robotic Cooking Device
JP7222803B2 (ja) * 2019-04-25 2023-02-15 株式会社日立製作所 軌道計画装置、軌道計画方法及びプログラム
JP6792230B1 (ja) * 2019-12-12 2020-11-25 株式会社エクサウィザーズ 情報処理装置、方法およびプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0253582A (ja) * 1988-08-19 1990-02-22 Nippon Telegr & Teleph Corp <Ntt> マニピュレータ学習制御方法
WO2018092860A1 (ja) * 2016-11-16 2018-05-24 三菱電機株式会社 干渉回避装置
WO2018143003A1 (ja) * 2017-01-31 2018-08-09 株式会社安川電機 ロボットパス生成装置及びロボットシステム
US20190184561A1 (en) * 2017-12-15 2019-06-20 The Regents Of The University Of California Machine Learning based Fixed-Time Optimal Path Generation
JP2019159767A (ja) * 2018-03-13 2019-09-19 オムロン株式会社 演算装置、演算方法、及びそのプログラム

Also Published As

Publication number Publication date
JP7375587B2 (ja) 2023-11-08
CN113290553A (zh) 2021-08-24
US11673271B2 (en) 2023-06-13
US20210237270A1 (en) 2021-08-05

Similar Documents

Publication Publication Date Title
Das et al. Learning-based proxy collision detection for robot motion planning applications
Lee et al. Making sense of vision and touch: Self-supervised learning of multimodal representations for contact-rich tasks
Qureshi et al. Motion planning networks
Jiang et al. State-of-the-Art control strategies for robotic PiH assembly
CN109483534B (zh) 一种物体抓取方法、装置和系统
JP7387920B2 (ja) ロボットを制御するための方法及びロボットコントローラ
Chamzas et al. Learning sampling distributions using local 3d workspace decompositions for motion planning in high dimensions
Zhang et al. Sim2real learning of obstacle avoidance for robotic manipulators in uncertain environments
Ottenhaus et al. Visuo-haptic grasping of unknown objects based on gaussian process implicit surfaces and deep learning
WO2021033486A1 (ja) モデル生成装置、モデル生成方法、制御装置及び制御方法
US11673271B2 (en) Trajectory generation apparatus, multi-link system, and trajectory generation method
CN114516060A (zh) 用于控制机器人装置的设备和方法
Fan et al. Real-time grasp planning for multi-fingered hands by finger splitting
CN114474106A (zh) 用于控制机器人装置的方法和机器人控制装置
Hauser et al. Global redundancy resolution via continuous pseudoinversion of the forward kinematic map
Krishnan et al. SWIRL: A SequentialWindowed Inverse Reinforcement Learning Algorithm for Robot Tasks With Delayed Rewards
Huo et al. Keypoint-based bimanual shaping of deformable linear objects under environmental constraints using hierarchical action planning
WO2021033471A1 (ja) 制御装置、制御方法、及び制御プログラム
Zieliński et al. Specification of a multi-agent robot-based reconfigurable fixture control system
JP7263987B2 (ja) 制御装置、制御方法、及び制御プログラム
Claassens An RRT-based path planner for use in trajectory imitation
CN116533229A (zh) 用于控制机器人设备的方法
Mustafa et al. Inverse kinematics evaluation for robotic manipulator using support vector regression and Kohonen self organizing map
Hu et al. Hybrid kinematic and dynamic simulation of running machines
WO2021033472A1 (ja) 制御装置、制御方法、及び制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220519

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230605

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: 20230926

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231009

R151 Written notification of patent or utility model registration

Ref document number: 7375587

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151