特許第6705977号(P6705977)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社安川電機の特許一覧

特許6705977ロボットパス生成装置及びロボットシステム
<>
  • 特許6705977-ロボットパス生成装置及びロボットシステム 図000002
  • 特許6705977-ロボットパス生成装置及びロボットシステム 図000003
  • 特許6705977-ロボットパス生成装置及びロボットシステム 図000004
  • 特許6705977-ロボットパス生成装置及びロボットシステム 図000005
  • 特許6705977-ロボットパス生成装置及びロボットシステム 図000006
  • 特許6705977-ロボットパス生成装置及びロボットシステム 図000007
  • 特許6705977-ロボットパス生成装置及びロボットシステム 図000008
  • 特許6705977-ロボットパス生成装置及びロボットシステム 図000009
  • 特許6705977-ロボットパス生成装置及びロボットシステム 図000010
  • 特許6705977-ロボットパス生成装置及びロボットシステム 図000011
  • 特許6705977-ロボットパス生成装置及びロボットシステム 図000012
  • 特許6705977-ロボットパス生成装置及びロボットシステム 図000013
  • 特許6705977-ロボットパス生成装置及びロボットシステム 図000014
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6705977
(24)【登録日】2020年5月19日
(45)【発行日】2020年6月3日
(54)【発明の名称】ロボットパス生成装置及びロボットシステム
(51)【国際特許分類】
   B25J 9/22 20060101AFI20200525BHJP
【FI】
   B25J9/22 A
【請求項の数】7
【全頁数】18
(21)【出願番号】特願2018-566072(P2018-566072)
(86)(22)【出願日】2018年1月23日
(86)【国際出願番号】JP2018001917
(87)【国際公開番号】WO2018143003
(87)【国際公開日】20180809
【審査請求日】2019年2月5日
(31)【優先権主張番号】特願2017-15408(P2017-15408)
(32)【優先日】2017年1月31日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000006622
【氏名又は名称】株式会社安川電機
(74)【代理人】
【識別番号】100104503
【弁理士】
【氏名又は名称】益田 博文
(74)【代理人】
【識別番号】100191112
【弁理士】
【氏名又は名称】益田 弘之
(72)【発明者】
【氏名】曽我部 光司
(72)【発明者】
【氏名】足立 勝
【審査官】 藤井 浩介
(56)【参考文献】
【文献】 特開2013−193194(JP,A)
【文献】 特開2011−161624(JP,A)
【文献】 特開平05−119823(JP,A)
【文献】 特開2000−010617(JP,A)
【文献】 特開2008−105132(JP,A)
【文献】 特開2002−073130(JP,A)
【文献】 国際公開第2016/103297(WO,A1)
【文献】 特開2009−066692(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00−21/02
G05B 19/18−19/416;19/42−19/427
(57)【特許請求の範囲】
【請求項1】
ロボットの動作拘束条件に基づいて生成された複数のパスデータと、前記パスデータのそれぞれに対応して所定の評価基準における尺度となる評価値データとを対応付けたデータセットを保持するデータセット保持部と、
前記データセットに基づく機械学習プロセスの結果に基いて、任意に設定された設定始点と設定終点との間の複数の経由点を含む前記ロボットのパスを生成するパス生成部と、
を有し、
前記評価基準は、
少なくとも消費電力、動作経路の距離、動作時間、振動評価値、指定軸負荷のいずれか1つを含み、
前記パス生成部は、
前記機械学習プロセスでの学習内容に基づき、前記評価基準が最適となるよう次に経由すべき前記経由点を生成する経由点生成部、
を有し、
前記設定始点から始めて前記設定終点の近傍となるまで前記経由点生成部が生成した前記経由点での分岐探索を繰り返して前記パスを生成することを特徴とするロボットパス生成装置。
【請求項2】
前記パス生成部は、
前記機械学習プロセスでの学習内容に基づき、前記評価基準が最適となるよう通過すべき部分パスを生成する部分パス生成部を有していることを特徴とする請求項1記載のロボットパス生成装置。
【請求項3】
前記パス生成部は、
前記設定始点から前記設定終点の間で前記部分パス生成部が生成した前記部分パスを接続して前記パスを生成することを特徴とする請求項記載のロボットパス生成装置。
【請求項4】
前記動作拘束条件は、
前記ロボットがその周囲の作業環境と干渉接触しない動作領域、
前記ロボットが所定の進入禁止領域に進入しない動作領域、
前記ロボットがハンドリングしている対象物を所定角度以上に傾けない動作領域、
の少なくとも1つ以上を満たす前記ロボットの動作領域に設定されていることを特徴とする請求項1乃至のいずれか1項に記載のロボットパス生成装置。
【請求項5】
前記動作拘束条件を設定する入力装置を有することを特徴とする請求項1乃至のいずれか1項に記載のロボットパス生成装置。
【請求項6】
前記データセット保持部は、
前記パス生成部によって生成された前記ロボットのパスを前記ロボットの動作拘束条件と前記評価値データとに対応付けた新たなデータセットを記憶することを特徴とする請求項1乃至のいずれか1項に記載のロボットパス生成装置。
【請求項7】
ロボットと、
請求項1乃至のいずれか1項に記載のロボットパス生成装置と、
前記ロボットパス生成装置の生成結果に基いて前記ロボットの動作を制御するロボットコントローラと、
を有することを特徴とするロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
開示の実施形態は、ロボットパス生成装置及びロボットシステムに関する。
【背景技術】
【0002】
特許文献1には、コントローラのシミュレーションによりロボットの教示パスと較正パスを生成する手法が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2014−104581号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
操作者によるティーチングの労力や操作者の習熟度によるばらつきを軽減するためには、上記従来技術のようにシミュレーションによってパスを自動生成する手法が好ましいが、実用的な時間でより高品質のパスを生成するためにはまだ改善の余地がある。
【0005】
本発明はこのような問題点に鑑みてなされたものであり、実用的な時間でより適切なパスを生成できるロボットパス生成装置及びロボットシステムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明の一の観点によれば、ロボットの動作拘束条件に基づいて生成された複数のパスデータと、前記パスデータのそれぞれに対応して所定の評価基準における尺度となる評価値データとを対応付けたデータセットを保持するデータセット保持部と、前記データセットに基づく機械学習プロセスの結果に基いて、任意に設定された設定始点と設定終点との間の前記ロボットのパスを生成するパス生成部と、を有するロボットパス生成装置が適用される。
【0007】
また、本発明の一の観点によれば、ロボットと、ロボットパス生成装置と、前記ロボットパス生成装置の生成結果に基いて前記ロボットの動作を制御するロボットコントローラと、を有するロボットシステムが適用される。
【発明の効果】
【0008】
本発明によれば、実用的な時間でより適切なパスを生成できる。
【図面の簡単な説明】
【0009】
図1】実施形態のロボットシステムの概略的なシステムブロック構成の一例を表す図である。
図2】第1実施形態の例の経由点接続によるパスプランニングを説明するための作業環境マップを表す図である。
図3】経由点を接続してパスが生成された作業環境マップを表す図である。
図4】軌道計画部のニューラルネットワークモデル概要構成の一例を表す図である。
図5】多様な設定始点と設定終点に対応した経由点のパスデータを含む軌道計画部学習用データセットを例示する図である。
図6】候補範囲、候補点を探索する場合の作業環境マップを表す図である。
図7】パスプランニングにSBL又はRRTを利用する場合の作業環境マップを表す図である。
図8】第2実施形態の例の部分パス接続によるパスプランニングを説明するための作業環境マップを表す図である。
図9】部分パスを接続してパスが生成された作業環境マップを表す図である。
図10】軌道計画部のニューラルネットワークモデル概要構成の一例を表す図である。
図11】多様な設定始点と設定終点に対応した部分パスのパスデータを含む軌道計画部学習用データセットを例示する図である。
図12】ロボットコントローラのハードウェア構成を表すシステムブロック図である。
図13】作業計画部、軌道計画部、及びデータベースを汎用パーソナルコンピュータに実装した場合のシステムブロック構成の一例を表す図である。
【発明を実施するための形態】
【0010】
以下、第1の実施形態について図面を参照しつつ説明する。
【0011】
<ロボットシステムの概略構成>
図1は、本実施形態のロボットシステムの概略的なシステムブロック構成の一例を表している。図1においてロボットシステム1は、上位制御装置2と、ロボットコントローラ3と、サーボアンプ4と、ロボット5とを有している。なお、本実施形態の例では、自動車のフレームFを対象ワークとして作業を行う場合を示しているが、他の機械構造物等を対象ワークとし、部品組み込み、塗料噴霧、カメラ画像での検査などといった他の作業に適用してもよい。
【0012】
上位制御装置2(入力装置)は、例えば特に図示しないCPU、ROM、RAM、操作部、表示部等を備えた汎用パーソナルコンピュータ等で構成されており、当該ロボットシステム1全体の動作を管理する。具体的には、操作部を介して操作者から入力された各種設定や指令に基づく作業指令、及び対象ワーク(この例のフレームF)やロボット5の三次元構造などの各種仕様を表す3Dモデルデータ(CADデータ、CAMデータなど)をロボットコントローラ3に入力する。
【0013】
ロボットコントローラ3は、上記の上位制御装置2から入力された3Dモデルデータに基づいて、同じく入力された作業指令を実現するための各種処理を行いサーボアンプ4に駆動指令を出力する。このロボットコントローラ3は、作業計画部31、軌道計画部32、逆キネマティクス演算部33とを有している。
【0014】
作業計画部31は、上位制御装置2から入力された3Dモデルデータと作業指令に基づいて、ロボット5に行わせる具体的な作業内容(後述するエンドエフェクタ6の動作位置の移動工程や各位置での動作内容など)を計画し、それにより生成した設定始点、設定終点、及び設定姿勢を軌道計画部32に出力する。この設定始点、設定終点、及び設定姿勢は、ロボット5の作業空間座標XYZ中においてエンドエフェクタ6の基準点を移動させる際の始点、終点、及び当該終点での当該エンドエフェクタ6の姿勢を表す指令である。また一方で、当該作業計画部31は、上位制御装置2から入力されたものと同じ3Dモデルデータを軌道計画部32にも入力する。また作業計画部31は、エンドエフェクタ6に対する動作指令も出力しているが、図中では省略している。
【0015】
軌道計画部32は、上記作業計画部31から入力された設定始点、設定終点、設定姿勢、及び3Dモデルデータに基づいて、ロボット5が対象ワークに干渉接触しないようにエンドエフェクタ6を設定始点から設定終点まで移動させ、設定姿勢に姿勢制御するための適切な経由点と経由姿勢を逆キネマティクス演算部33に出力する。なお本実施形態の例におけるこの軌道計画部32の内部処理は、機械学習プロセスで学習したニューラルネットワークによって行うものであり、その処理内容や手法については後に詳述する。この軌道計画部32が、各請求項記載のパス生成部に相当する。
【0016】
逆キネマティクス演算部33は、その時点のエンドエフェクタ6の位置、姿勢から上記軌道計画部32から入力された経由点及び経由姿勢への移動と姿勢制御を実現するために必要となるロボット5の各駆動軸モータ(図示省略)の目標回転角度を演算し、対応する駆動指令を出力する。
【0017】
なお、上述した作業計画部31、軌道計画部32、逆キネマティクス演算部33等における処理等は、これらの処理の分担の例に限定されるものではなく、例えば、更に少ない数の処理部(例えば1つの処理部)で処理されてもよく、また、更に細分化された処理部により処理されてもよい。また、ロボットコントローラ3は、後述するCPU901(図12参照)が実行するプログラムによりソフトウェア的に実装されてもよいし、その一部又は全部がASICやFPGA、その他の電気回路等(ニューロモーフィックチップ等)の実際の装置によりハードウェア的に実装されてもよい。
【0018】
サーボアンプ4は、上記ロボットコントローラ3の逆キネマティクス演算部33から入力された駆動指令に基づいて、ロボット5の各駆動軸モータ(図示省略)やエンドエフェクタ6を駆動制御する駆動電力の給電制御を行う。
【0019】
ロボット5は、図示する本実施形態の例では6つの関節軸を備えたマニプレータアーム(6軸ロボット)である。そのアーム先端部5aには、この例のエンドエフェクタ6が装着されており、当該ロボット5を基準に設定された作業空間座標XYZ中におけるエンドエフェクタ6の位置制御及び姿勢制御が可能となっている。
【0020】
なお、上記上位制御装置2と上記ロボットコントローラ3が、各請求項記載のロボットパス生成装置に相当する。
【0021】
<本実施形態の特徴>
一般的にロボットは、およそ3軸以上の駆動モータで各関節を駆動して動作する。上記ロボット5をその作業対象である対象ワークに対して所定の作業動作を行わせる際、ロボットコントローラ3はエンドエフェクタ6もしくはアーム先端部5aなどの移動基準点が始点から終点まで通過するパス(経路、軌道:経由点の順序列)を指定して動作させる。このパスは、ロボットと対象ワークが干渉接触しない等の動作拘束条件下で設定することが望ましく、これまではロボットのパスを手動操作によるティーチングやランダムサンプリングを用いたパスプランニングで生成していた。
【0022】
通常では同じ始点と終点を接続するパスは複数通り存在するが、例えば消費電力などの評価基準についてできるだけ適切なパスを設定することが望ましい。そこで上記ティーチングの場合には操作者が経験的に評価基準が適切(消費電力が比較的小さい)となるパスを人為的に設計し、上記パスプランニングの場合にはシミュレーション上でランダムに生成された多数のサンプルパスのうち評価基準が適切(消費電力が比較的小さい)となるパスを選択していた。しかしながら、ティーチングの場合には操作者の経験に頼る部分が多く、また操作者によるバラツキが生じてしまう。また、パスプランニングの場合においても、ランダムに生成されるパスの品質は向上の余地がある。
【0023】
これに対して本実施形態のロボットコントローラ3は、軌道計画部用学習データセットに基づく機械学習プロセスを実行して、任意に設定された設定始点と設定終点との間のロボットのパスを生成する軌道計画部32を有している。軌道計画部用学習データセットでは、3Dモデルデータによるロボット5の動作拘束条件に基づいて生成された複数のパスデータと、パスデータのそれぞれに対応して所定の評価基準における尺度となる評価値データとが、対応付けられている。
【0024】
このように軌道計画部32が、シミュレーション等により動作拘束条件に基づいて生成されたパスデータのデータセットで機械学習しているため、いわゆる強化学習と異なり、ロボット5と対象ワークを含めた作業環境との干渉接触の回避が保証されたデータセットで機械学習できる。また、軌道計画部32が機械学習するデータセットには各パスデータに対応した評価値データも含まれているため、評価基準について適切となるパスを生成できる。以下、上記の手法について順を追って説明する。
【0025】
<第1実施形態の場合の経由点接続によるパスプランニングについて>
図2は、本実施形態の例の経由点接続によるパスプランニングを説明するための作業環境マップを示している。ここで図示する作業環境マップは、上記軌道計画部32が設定するものであり、上述したようにロボット5が備える6軸の駆動軸に対応した6次元の駆動可能空間を、縦方向と横方向の2次元に次元圧縮して表現した平面図である。一般的に6軸での駆動によってエンドエフェクタ6の3次元位置と3次元姿勢の制御が可能であり、つまり当該作業環境マップにおける1点の位置座標はエンドエフェクタ6の3次元位置と3次元姿勢の両方の状態情報を表現している。そしてこの作業環境マップ中においては、上記作業計画部31から入力された3Dモデルデータに基づいて、ロボット5の各部と対象ワークのフレームFとが干渉接触するとして進入が禁止されている複数の進入禁止領域Xが設定されている。なお図中では、図示の煩雑を避けるために、各進入禁止領域Xを3つの単純な幾何図形で簡略的に表している。
【0026】
そして軌道計画部32は、この作業環境マップ上において上記作業計画部31から入力された設定始点Psと設定終点Pe(それぞれ姿勢も含む)を設定し、各進入禁止領域Xへの進入を避けつつその設定始点Psから設定終点Peまでの移動通過経路、つまりパスを生成する。本実施形態の例では、シミュレーションによって分岐探索した多数の経由点間を接続することで上記のパスを生成する。
【0027】
このシミュレーションとして具体的には、まず設定始点Psから所定の離間距離範囲内で、かつ進入禁止領域Xに入らない複数の経由点P1,m(図示する例ではm=1〜3の3つ)をランダムに生成する。そしてこれらの経由点P1,mのそれぞれから、さらに所定の離間距離範囲内で、かつ進入禁止領域Xに入らない複数の経由点P2,mをランダムに生成する。このような経由点Pn,m(設定開始点からn番目に経由するm個の経由点)の生成を繰り返して行い、最終的にいずれかの経由点Pn,mが設定終点Peから所定の離間距離範囲A内に到達するまで継続する。
【0028】
ただし、生成した経由点Pn,mが明らかに設定終点Peから遠ざかる方向にあることや、当該経由点Pn,mへ向かう経路に対応する後述の評価値が明らかに低いことが判明した場合には、当該経由点Pn,mからの新たな経由点Pn+1,mの生成を一旦中断する。また、1つの経由点Pn,mが複数の進入禁止領域Xに挟まれているなどの条件では、そこから経由点Pn+1,1を1つだけ生成してもよい。また、1つの経由点Pn,mが進入禁止領域Xや作業可能領域の限界境界(作業環境マップの縁)に阻まれて設定終点Peに到達できないことが判明した場合には、当該経由点Pn,mからの新たな経由点Pn+1,1の生成を止めて、上記中断していた経由点Pn+1,1からの分岐探索を再開する。
【0029】
そして最終的に設定終点Pe付近に到達した経由点Pn,mを当該設定終点Peに接続することで、図3に示すように、設定始点Psから設定終点Peまで一連して通過可能な経由点Pn,mをそれらの順序列で接続したパスT1が生成される。このようにして、ロボット5のパスT1は複数の経由点の順序列として生成され、軌道計画部32は設定始点Psから設定終点Peまで各経由点P(経由姿勢)を順に逆キネマティクス演算部33に出力することで、当該パスT1に相当する軌道(姿勢)でロボット5の移動動作を制御できる。そしてこのパスT1上の各経由点Pは、いずれも上記作業環境マップ上における進入禁止領域X(周囲の作業環境と干渉接触する領域)に進入しない動作領域(動作拘束条件)上に位置しており、すなわちこのパスT1に相当する軌道上ではロボット5の各部とフレームFとの干渉接触が確実に回避可能となっている。
【0030】
また、上記のシミュレーション上では、パスT1の各節、つまりパスT1上で隣接する2つの経由点間の移動経路ごとに、ロボット5の移動動作で消費される電力W(図示する例ではn=1〜7)を算出できる。本実施形態の例では、この消費電力Wを評価基準とし、できるだけパスT1全体での合計消費電力Wが低くなるパスT1を高く評価する。しかし、上記シミュレーションによるパスプランニングでは、基本的に各経由点Pn,mの位置がランダムに生成されるため、評価基準の観点でパスT1の品質を向上させる余地がある。
【0031】
そこで本実施形態では、上記シミュレーションによって多様な設定始点Psと設定終点Pe(設定姿勢)の組み合わせにそれぞれ対応する経由点P1,mを生成し、またそれぞれに対応する評価値データと併せて多数の学習用データセットを作成してデータベース(データセット保持部)34に保存する。軌道計画部32がこのような多数の学習用データセットを用いて機械学習することで、評価の高い経由点Pn,mを連続的に生成でき、それらを接続して評価の高いパスT1を生成できる。このデータベース34を構成する記憶装置は、本実施形態のようにロボットコントローラ3の内部に備えてもよいし(上記図1中では「DB」と略記)、もしくは軌道計画部32に対し情報送受可能に接続されてロボットコントローラ3の外部に設けられていてもよい。
【0032】
<第1実施形態の場合の軌道計画部の具体的構成について>
軌道計画部32には多様な機械学習手法を適用できるが、以下においては例えば機械学習アルゴリズムに深層学習(ディープラーニング)を適用した場合の例を説明する。図4は、深層学習を適用した場合における軌道計画部32のニューラルネットワークの概略モデル構成の一例を示している。
【0033】
この図4において、軌道計画部32のニューラルネットワークは、その時点で位置している現経由点P(Xp,Yp,Zp)と現経由姿勢V(3次元ベクトルデータとして略記)とともに、上記作業計画部31から入力された設定終点Pe(Xpe,Ype,Zpe)及び設定姿勢Ve(3次元ベクトルデータとして略記)に対して、これら入力データの間の対応関係から次に経由することが適切であると推定される次経由点Pn+1(Xpn+1,Ypn+1,Zpn+1)及び次経由姿勢Vn+1(3次元ベクトルデータとして略記)を出力するよう設計されている。
【0034】
ここで、軌道計画部32の各出力ノードが出力する各値については、それぞれ回帰問題処理による多値出力(連続値)により出力される。そしてこれらの出力値で構成する次経由点Pn+1及び次経由姿勢Vn+1は、上記作業環境マップにおいて現経由点P及び現経由姿勢Vから所定の離間距離範囲内に位置するとともに、いずれの進入禁止領域X内に位置せず、また評価基準(この例における移動消費電力の低さ)の観点でも高い評価が得られる経由点及び経由姿勢となる。そして次には、これら次経由点Pn+1及び次経由姿勢Vn+1を次の現経由点P及び現経由姿勢Vとして、設定終点Pe及び設定姿勢Veとともに軌道計画部32に再入力することで、さらに次の次経由点Pn+1及び次経由姿勢Vn+1を生成することができ、これを繰り返して設定終点Pe付近まで到達させる。なお、設定始点Ps及び始点姿勢Vsから始める場合には、現経由点P及び現経由姿勢Vに設定始点Ps及びその始点姿勢Vsを代入して(つまりn=0として)処理させればよい。
【0035】
以上のような軌道計画部32における次経由点Pn+1及び次経由姿勢Vn+1の生成処理は、当該軌道計画部32の学習フェーズにおける機械学習プロセスでの学習内容に基づくものである。すなわち、この軌道計画部32のニューラルネットワークは、各入力データと各出力データとの間の相関を表す特徴量を学習している。この軌道計画部32の機械学習プロセスについては、上記のように設計された多層ニューラルネットワークがロボットコントローラ3上でソフトウェア的(又はハードウェア的)に実装された後、上記データベース34に保存した多数の軌道計画部学習用データセットを用いていわゆる教師あり学習により軌道計画部32に学習させる。ここで用いる軌道計画部学習用データセットは、例えば図5に示すように、所定の設定始点Psと設定終点Pe(設定姿勢Ve)の組み合わせに対応してシミュレーション上で生成した1つの経由点P及び経由姿勢Vを表すパスデータ(図中では作業環境マップで図示)と、当該パスデータでの移動消費電力(評価値データ)とを対応付けて1つの学習用データセットとして作成する。そしてこのような学習用データセットを多様な設定始点Psと設定終点Pe(設定姿勢Ve)の組み合わせで多数作成して、データベース34に保存する。
【0036】
本実施形態の例における軌道計画部32の学習フェーズでは、現経由点P及び現経由姿勢Vと、設定終点Pe及び設定姿勢Veを入力データとし、次経由点Pn+1及び次経由姿勢Vn+1を出力データとした組み合わせの教師データを用いて、軌道計画部32のニューラルネットワークの入力層と出力層の間の関係性が成立するよう各ノードどうしをつなぐ各エッジの重み係数を調整するいわゆるバックプロパゲーション処理等により学習を行う。このバックプロパゲーション処理では、多数のデータセットのうち特に評価値データの高いデータのみを抽出し、これだけを教師データに用いて各エッジの重み係数を強めるよう調整してもよい。または、全てのデータセットを教師データとし、それぞれの評価値データに応じて各エッジの重み係数を強めたり弱めたりするよう調整してもよい。なお、このようなバックプロパゲーションの他にも、いわゆるオートエンコーダ、制限付きボルツマンマシン、ドロップアウト、ノイズ付加、及びスパース正則化などの公知の多様な学習手法を併用して処理精度を向上させてもよい。
【0037】
また、上記軌道計画部32で生成した次経由点Pn+1及び次経由姿勢Vn+1と、その元となっている現経由点P及び現経由姿勢Vと、設定終点Pe及び設定姿勢Veを全て含んだパスデータ、及びその評価値データを対応づけて、新たな学習用データセットを作成し、データベース34に保存して次の軌道計画部32の学習フェーズで利用してもよい。つまり、いわゆるオンライン学習を実行してもよい。この軌道計画部32の学習フェーズが、各請求項記載の機械学習プロセスに相当し、軌道計画部32のうち上記ニューラルネットワークを構成する処理部分が、各請求項記載の経由点生成部に相当する。
【0038】
なお上述したように、軌道計画部32の機械学習アルゴリズムは、図示した深層学習によるもの以外にも、例えばサポートベクトルマシンやベイジアンネットワーク等を利用した他の機械学習アルゴリズム(特に図示せず)を適用してもよい。その場合でも、入力した設定始点Ps及び設定終点Peに適切に対応する次経由点Pn+1及び次経由姿勢Vn+1を出力するという基本的な構成については同等となる。
【0039】
<第1実施形態による効果>
以上説明したように、第1実施形態のロボットシステム1は、ロボットコントローラ3が、ロボット5の動作拘束条件に基づいて生成された複数のパスデータと、パスデータのそれぞれに対応して所定の評価基準における尺度となる評価値データとを対応付けた軌道計画部学習用データセットに基づく機械学習プロセスを実行して、任意に設定された設定始点Psと設定終点Peとの間のロボット5のパスT1を生成する軌道計画部32を有している。このように軌道計画部32が、シミュレーション等により動作拘束条件に基づいて生成されたパスデータのデータセットで機械学習しているため、いわゆる強化学習と異なり、ロボット5と作業環境との干渉接触の回避が保証されたデータセットで機械学習できる。また、軌道計画部32が機械学習するデータセットには各パスデータに対応した評価値データも含まれているため、評価基準について適切となるパスT1を生成できる。この結果、より適切なパスT1を生成できる。
【0040】
また、本実施形態では特に、軌道計画部32は、機械学習プロセスでの学習内容に基づき、評価基準が最適となるよう次に経由すべき次経由点を生成するニューラルネットワークを有している。これにより、比較的生成が容易な次経由点を利用して効率的にパスT1の生成が可能となる。
【0041】
また、本実施形態では特に、軌道計画部32は、設定始点Psから始めて設定終点Peの近傍となるまでニューラルネットワークが生成した次経由点での分岐探索を繰り返してパスT1を生成する。これにより、次経由点の順序列で接続して効率的に適切なパスT1の生成が可能となる。
【0042】
また、本実施形態では特に、評価基準は少なくとも、消費電力を含むことにより、より高品質なパスT1を生成できる。なお、評価基準については上記の消費電力に限られず、他にも動作経路の距離、動作時間、振動評価値、又は指定軸負荷などの評価基準を含めてもよい。この場合、動作経路の距離については、その移動経路、つまりパス全体の経路長が短いほど高い評価とする。また、動作時間については、移動時間が短い、つまりタクトタイムが短いほど高い評価とする。また、振動評価値については、移動中の振動が小さいほど高い評価とする。この振動評価値については、具体的にアーム先端部5aやエンドエフェクタ6において検出されるいわゆるジャーク値(加速度の微分値)に基づいて評価すればよい。また、指定軸負荷については、ロボット5の中の指定された関節駆動軸における負荷が小さいほど高い評価とする。なお、これらの評価基準については、上記実施形態のようにそれぞれ単独で適用してもよいし、もしくは複数の評価基準を併用して適用してもよい。ここで複数の評価基準を適用する場合には、それらの評価値データそれぞれに適宜任意に設定可能な重み係数を乗算し、全て加算した総合評価値データをデータセットに記録してもよい。
【0043】
また、本実施形態では特に、動作拘束条件は、ロボット5がその周囲の作業環境(対象ワーク、作業台、ツール類等)と干渉接触しない動作領域を満たすロボット5の動作領域に設定されている。これにより、ロボット5がその周囲の作業環境と干渉接触しないことを前提としたパスT1の生成が可能となる。また、他の動作拘束条件として、その他のロボットが例えば保安上の理由や動作性能を確保するための所定の進入禁止領域Xに進入しない動作領域であったり、他のハンドリングロボットがハンドリングしている対象物(水の入ったコップなど)を所定角度以上に傾けない動作領域に設定されてもよい(特に図示せず)。これらの場合には、ロボットの進入禁止領域Xへの進入の回避や、対象物の所定角度以上の傾きの回避を前提としたパスT1の生成が可能となる。
【0044】
また、本実施形態では特に、3Dモデルデータで定義された動作拘束条件をロボットコントローラ3に設定する上位制御装置2を有している。これにより、ユーザの意図に対応した柔軟な動作拘束条件の設定が可能となる。なお、上位制御装置2以外にも例えばプログラミングペンダントなどで動作拘束条件をロボットコントローラ3に入力してもよい。
【0045】
また、本実施形態では特に、データベース34は、軌道計画部32によって生成されたロボット5のパスT1を当該ロボット5の動作拘束条件と評価値データとに対応付けた新たなデータセットを記憶する。これにより、過去に適切であるとして生成したパスT1を含めたパスデータを用いてより適切な機械学習プロセスの実行が可能となり、軌道計画部32の精度を向上できる。
【0046】
<第1実施形態の変形例>
なお、以上説明した第1実施形態は、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。
【0047】
例えば、軌道計画部32は、図6に示すように現経由点P2,1から次経由点を設定し得る範囲を候補範囲Bとして設定し、この候補範囲Bの中からランダムな位置で生成した複数の候補点P3,1,P3,2の中から次経由点を生成してもよい。この場合には、初めから次経由点を全くランダムな位置で生成するよりも、より設定終点Peに向けて適切なパスT1を生成し得ると予想される次経由点を生成できる。
【0048】
また、パスプランニングの基本手法として、公知のSBL(Single−query、Bi−directional、Lazy in Collision checking)又はRRT(Rapidly−Exploring Random Tree)を用いてもよい。この場合には、図7に示すように設定終点Peからも経由点の分岐探索を行い、設定始点Ps側と設定終点Pe側それぞれの現経由点に基づいて軌道計画部32が生成した候補範囲(候補点)を上記のSBL又はRRTのランダムサンプリングに代用すればよい。
【0049】
<第2実施形態>
以下に、部分パス接続によるパスプランニングでパスを生成する第2実施形態について説明する。図8は、上記図2に対応する図であり、部分パス接続によるパスプランニングを説明するための作業環境マップを示している。本実施形態の例では、軌道計画部32は、シミュレーションによって生成した部分パスを設定始点Psと設定終点Peに接続することでロボット5のパスT1を生成する。
【0050】
<第2実施形態の場合の経由点接続によるパスプランニングについて>
このシミュレーションとして具体的には、まず設定始点Psと設定終点Peからそれぞれ適宜の経由点を分岐探索し、それら設定始点Ps側と設定終点Pe側の経由点から所定の離間距離範囲内で略接続可能な配置で、かつ進入禁止領域Xに入らない部分パスT2をランダムに生成する。この部分パスT2は所定の離間距離間隔で連続した配置の経由点を接続して構成され、その両端が設定始点Ps側と設定終点Pe側の経由点を略接続可能となる部分パスT2が生成されるまで繰り返される。
【0051】
そして最終的に適宜の部分パスT2を設定始点Ps側と設定終点Pe側の経由点に接続することで、図9に示すように、設定始点Psから設定終点Peまで一連して通過可能なパスT1が生成される。そしてこのパスT1に相当する軌道上においても、ロボット5の各部とフレームFとの干渉接触が確実に回避可能となっている。なお、本実施形態における軌道計画部32が、各請求項記載の部分パス生成部に相当する。
【0052】
上記のシミュレーション上では、部分パスT2上におけるロボット5の移動動作で消費される電力Wを評価値データとして算出でき、この評価値データを設定始点Ps、設定終点Pe、及び部分パスT2のパスデータと対応付けて1つの軌道計画部学習用データセットを作成できる。そして、多様な設定始点と設定終点Pe(設定姿勢)の組み合わせにそれぞれ対応する部分パスT2を生成し、またそれぞれに対応する評価値データと併せて多数の学習用データセットを作成してデータベース34(データセット保持部)に保存する。軌道計画部32がこのような多数の学習用データセットを用いて機械学習することで、評価の高い部分パスT2を生成でき、それらを接続して評価の高いパスT1を生成できる。
【0053】
<第2実施形態の場合の軌道計画部の具体的構成について>
この第2実施形態においても、軌道計画部32には多様な機械学習手法を適用できるが、以下においては例えば機械学習アルゴリズムに深層学習(ディープラーニング)を適用した場合の例を説明する。図10は上記図4に対応する図であり、深層学習を適用した場合における軌道計画部32のニューラルネットワークの概略モデル構成の一例を示している。
【0054】
この図10において、軌道計画部32のニューラルネットワークは、上記作業計画部31から入力された設定始点Ps(Xps,Yps,Zps)及び始点姿勢Vs(3次元ベクトルデータとして略記)と、設定終点Pe(Xpe,Ype,Zpe)及び設定姿勢Ve(3次元ベクトルデータとして略記)に対して、これら入力データの間の対応関係から接続に適切であると推定される部分パスT2の始点側端点P(Xp,Yp,Zp)及び始点側姿勢V(3次元ベクトルデータとして略記)と各接続経由点(図中では省略)と、終点側端点P(Xp,Yp,Zp)及び終点側姿勢V(3次元ベクトルデータとして略記)を出力するよう設計されている。
【0055】
この軌道計画部32の機械学習プロセスで用いる軌道計画部学習用データセットは、例えば図11に示すように、所定の設定始点Psと設定終点Pe(設定姿勢Ve)の組み合わせに対応してシミュレーション上で生成した1つの部分パスT2を表すパスデータ(図中では作業環境マップで図示)と、当該パスデータでの移動消費電力(評価値データ)とを対応付けて1つの学習用データセットとして作成する。そしてこのような学習用データセットを多様な設定始点Psと設定終点Pe(設定姿勢Ve)の組み合わせで多数作成して、データベース34に保存する。
【0056】
本実施形態の例における軌道計画部32の学習フェーズでは、設定始点Ps及び始点姿勢Vsと、設定終点Pe及び設定姿勢Veを入力データとし、部分パスT2の始点側端点P及び始点側姿勢Vと各接続経由点(図中では省略)と、終点側端点P及び終点側姿勢Vを出力データとした組み合わせの教師データを用いて、評価値データに応じたバックプロパゲーション処理等により学習を行う。またこの場合でも、いわゆるオンライン学習を適用してもよい。
【0057】
なお本実施形態の場合でも、軌道計画部32の機械学習アルゴリズムは、図示した深層学習によるもの以外にも、例えばサポートベクトルマシンやベイジアンネットワーク等を利用した他の機械学習アルゴリズム(特に図示せず)を適用してもよい。その場合でも、入力した設定始点Ps及び設定終点Peに適切に対応する部分パスT2を出力するという基本的な構成については同等となる。
【0058】
<第2実施形態による効果>
以上説明したように、第2実施形態のロボットシステム1は、機械学習プロセスでの学習内容に基づき、評価基準が最適となるよう通過すべき部分パスT2を生成する軌道計画部32を有している。これにより、評価基準が適切であるとして学習した部分パスT2を利用してより適切なパスT1の生成が可能となる。
【0059】
また、本実施形態では特に、軌道計画部32は、設定始点Psから設定終点Peの間で当該軌道計画部32が生成した部分パスT2を接続してパスT1を生成する。これにより、部分パスT2を接続して効率的にパスT1の生成が可能となる。
【0060】
また本実施形態においても、パスプランニングの基本手法として、公知のSBL又はRRTを用いてもよい。この場合には、図7に示すように設定終点Peからも経由点の分岐探索を行い、設定始点Ps側と設定終点Pe側それぞれの現経由点に基づいて軌道計画部32が生成した部分パスT2を上記のSBL又はRRTのランダムサンプリングに代用すればよい(図示省略)。
【0061】
<ロボットコントローラのハードウェア構成例>
次に、図12を参照しつつ、上記で説明したCPU901が実行するプログラムによりソフトウェア的に実装された作業計画部31、軌道計画部32、逆キネマティクス演算部33等による処理を実現するロボットコントローラ3のハードウェア構成例について説明する。
【0062】
図12に示すように、ロボットコントローラ3は、例えば、CPU901と、ROM903と、RAM905と、ASIC又はFPGA等の特定の用途向けに構築された専用集積回路907と、入力装置913と、出力装置915と、記録装置917と、ドライブ919と、接続ポート921と、通信装置923とを有する。これらの構成は、バス909や入出力インターフェース911を介し相互に信号を伝達可能に接続されている。
【0063】
プログラムは、例えば、ROM903やRAM905、記録装置917等に記録しておくことができる。
【0064】
また、プログラムは、例えば、フレキシブルディスクなどの磁気ディスク、各種のCD・MOディスク・DVD等の光ディスク、半導体メモリ等のリムーバブルな記録媒体925に、一時的又は永続的に記録しておくこともできる。このような記録媒体925は、いわゆるパッケージソフトウエアとして提供することもできる。この場合、これらの記録媒体925に記録されたプログラムは、ドライブ919により読み出されて、入出力インターフェース911やバス909等を介し上記記録装置917に記録されてもよい。
【0065】
また、プログラムは、例えば、ダウンロードサイト・他のコンピュータ・他の記録装置等(図示せず)に記録しておくこともできる。この場合、プログラムは、LANやインターネット等のネットワークNWを介し転送され、通信装置923がこのプログラムを受信する。そして、通信装置923が受信したプログラムは、入出力インターフェース911やバス909等を介し上記記録装置917に記録されてもよい。
【0066】
また、プログラムは、例えば、適宜の外部接続機器927に記録しておくこともできる。この場合、プログラムは、適宜の接続ポート921を介し転送され、入出力インターフェース911やバス909等を介し上記記録装置917に記録されてもよい。
【0067】
そして、CPU901が、上記記録装置917に記録されたプログラムに従い各種の処理を実行することにより、上記の作業計画部31、軌道計画部32、逆キネマティクス演算部33等による処理が実現される。この際、CPU901は、例えば、上記記録装置917からプログラムを直接読み出して実行してもよいし、RAM905に一旦ロードした上で実行してもよい。更にCPU901は、例えば、プログラムを通信装置923やドライブ919、接続ポート921を介し受信する場合、受信したプログラムを記録装置917に記録せずに直接実行してもよい。
【0068】
また、CPU901は、必要に応じて、例えばマウス・キーボード・マイク(図示せず)等の入力装置913から入力する信号や情報に基づいて各種の処理を行ってもよい。
【0069】
そして、CPU901は、上記の処理を実行した結果を、例えば表示装置や音声出力装置等の出力装置915から出力してもよく、さらにCPU901は、必要に応じてこの処理結果を通信装置923や接続ポート921を介し送信してもよく、上記記録装置917や記録媒体925に記録させてもよい。
【0070】
<その他変形例>
上述した各実施形態及び各変形例においては、作業計画部31、軌道計画部32、逆キネマティクス演算部33、データベース34を全てロボットコントローラ3に一体にまとめた構成としていたが、これに限られない。他にも、図13に示すように、ロボットコントローラ3が逆キネマティクス演算部33だけを備え、汎用パーソナルコンピュータ2A(図中では「PC」と略記)に作業計画部31、軌道計画部32、及びデータベース34をソフトウェア的に実装してもよい。この場合においても、各種情報や指令の送受関係については同等となる。そして、汎用パーソナルコンピュータ2Aにおいて、データベース34に保存してある学習用データセットを用いて軌道計画部32を機械学習させることにより、上記各実施形態と同等の効果を得ることができる。なお、この場合の汎用パーソナルコンピュータ2Aが、各請求項記載のロボットパス生成装置に相当する。
【0071】
なお、以上の説明において、「垂直」「平行」「平面」等の記載がある場合には、当該記載は厳密な意味ではない。すなわち、それら「垂直」「平行」「平面」とは、設計上、製造上の公差、誤差が許容され、「実質的に垂直」「実質的に平行」「実質的に平面」という意味である。
【0072】
また、以上の説明において、外観上の寸法や大きさ、形状、位置等が「同一」「同じ」「等しい」「異なる」等の記載がある場合は、当該記載は厳密な意味ではない。すなわち、それら「同一」「等しい」「異なる」とは、設計上、製造上の公差、誤差が許容され、「実質的に同一」「実質的に同じ」「実質的に等しい」「実質的に異なる」という意味である。
【0073】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。その他、一々例示はしないが、上記実施形態や各変形例は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【符号の説明】
【0074】
1 ロボットシステム
2 上位制御装置(ロボットパス生成装置)
2A 汎用パーソナルコンピュータ(ロボットパス生成装置)
3 ロボットコントローラ(ロボットパス生成装置)
4 サーボアンプ
5 ロボット
6 エンドエフェクタ
31 作業計画部
32 軌道計画部(パス生成部、経由点生成部、部分パス生成部)
33 逆キネマティクス演算部
34 データベース(データセット保持部)
F フレーム
Ps 設定始点
Pe 設定終点
T1 パス
T2 部分パス
X 進入禁止領域

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13