(57)【要約】【課題】ロボットをより速く動作させ得る軌道を生成する。【解決手段】ロボットの軌道を生成する軌道生成装置であって、前記軌道を生成するための複数のノードから成る軌道探査グラフを生成する軌道探査グラフ生成部と、前記ロボットの現ノードにおける姿勢及び加速方向に基づいて第１加速度上限値を取得する加速度上限値取得部と、取得された前記第１加速度上限値に基づき、前記現ノードから前記現ノードに隣接する次ノードへ移動するときの速度を表す第１速度及び加速度を設定する速度・加速度設定部と、前記現ノードから前記次ノードへのコストとして、設定された前記第１速度及び前記加速度を用いて移動時間を算出するノードコスト算出部と、算出された前記コストに基づき、前記軌道探査グラフにおける前記ノードの経路を前記軌道として探査する軌道探査部と、を備えることを特徴とする。【選択図】図２
2020099977.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの軌道を生成する軌道生成装置であって、
前記軌道を生成するための複数のノードから成る軌道探査グラフを生成する軌道探査グラフ生成部と、
前記ロボットの現ノードにおける姿勢及び加速方向に基づいて第１加速度上限値を取得する加速度上限値取得部と、
取得された前記第１加速度上限値に基づき、前記現ノードから前記現ノードに隣接する次ノードへ移動するときの速度を表す第１速度及び加速度を設定する速度・加速度設定部と、
前記現ノードから前記次ノードへのコストとして、設定された前記第１速度及び前記加速度を用いて移動時間を算出するノードコスト算出部と、
算出された前記コストに基づき、前記軌道探査グラフにおける前記ノードの経路を前記軌道として探査する軌道探査部と、
を備えることを特徴とする軌道生成装置。
【請求項２】
請求項１に記載の軌道生成装置であって、
速度・加速度設定部は、前記現ノードにおける速度を表す第２速度を取得し、前記現ノードと障害物との距離に基づいて前記第１速度を取得し、前記第１速度及び前記第２速度に基づいて前記加速度を算出する
ことを特徴とする軌道生成装置。
【請求項３】
請求項１に記載の軌道生成装置であって、
速度・加速度設定部は、前記加速度の絶対値が前記第１加速度上限値よりも大きい場合、前記第１速度及び前記加速度を修正する
ことを特徴とする軌道生成装置。
【請求項４】
請求項１に記載の軌道生成装置であって、
前記加速度上限値取得部は、予め生成された第１加速度上限値情報を参照し、前記ロボットの現ノードにおける姿勢及び加速方向に基づいて前記第１加速度上限値を取得する
ことを特徴とする軌道生成装置。
【請求項５】
請求項１に記載の軌道生成装置であって、
前記ロボットのハンドによる把持物の把持状態を表す把持情報を取得し、前記把持情報に基づいて第２加速度上限値を取得する把持情報取得部を、
備え、
前記速度・加速度設定部は、取得された前記第１加速度上限値及び前記第２加速度上限値の小さい方に基づき、前記第１速度及び前記加速度を設定する
ことを特徴とする軌道生成装置。
【請求項６】
ロボットの軌道を生成する軌道生成装置による軌道生成方法であって、
前記軌道を生成するための複数のノードから成る軌道探査グラフを生成する軌道探査グラフ生成ステップと、
前記ロボットの現ノードにおける姿勢及び加速方向に基づいて第１加速度上限値を取得する加速度上限値取得ステップと、
取得された前記第１加速度上限値に基づき、前記現ノードから前記現ノードに隣接する次ノードへ移動するときの速度を表す第１速度及び加速度を設定する速度・加速度設定ステップと、
前記現ノードから前記次ノードへのコストとして、設定された前記第１速度及び前記加速度を用いて移動時間を算出するノードコスト算出ステップと、
算出された前記コストに基づき、前記軌道探査グラフにおける前記ノードの経路を前記軌道として探査する軌道探査ステップと、
を含むことを特徴とする軌道生成方法。
【請求項７】
ロボットと、前記ロボットの軌道を生成する軌道生成装置と、生成された前記軌道に基づいて前記ロボットを制御する制御装置と、を備えるロボットシステムであって、
前記軌道生成装置は、
前記軌道を生成するための複数のノードから成る軌道探査グラフを生成する軌道探査グラフ生成部と、
前記ロボットの現ノードにおける姿勢及び加速方向に基づいて第１加速度上限値を取得する加速度上限値取得部と、
取得された前記第１加速度上限値に基づき、前記現ノードから前記現ノードに隣接する次ノードへ移動するときの速度を表す第１速度及び加速度を設定する速度・加速度設定部と、
前記現ノードから前記次ノードへのコストとして、設定された前記第１速度及び前記加速度を用いて移動時間を算出するノードコスト算出部と、
算出された前記コストに基づき、前記軌道探査グラフにおける前記ノードの経路を前記軌道として探査する軌道探査部と、
を備える
ことを特徴とするロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、軌道生成装置、軌道生成方法、及びロボットシステムに関する。
【背景技術】
【０００２】
特許文献１には、「モータによって駆動する複数の回転軸を有する回転アームを備え、予め教示されたプログラムに従って動作する多関節型ロボットの制御装置であって、前記モータの現在位置と目標位置の回転位置情報から算出する該当の回転軸廻りのアームの慣性項と、前記アームを加速する方向情報を加味して算出する重力項とにより前記回転軸の現在位置と目標位置での許容最大加速度を算出する手段を設けたロボットの制御装置」が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１１９９５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般に、先端にハンドを有するアームを備えたロボットは、その姿勢によってハンドを移動させ得る速度が異なる。すなわち、該ロボットは、アームを縮めている状態の方が、アームを伸ばしている状態に比べて、ハンドをより速く移動させる能力を有する。
【０００５】
しかしながら、従来、このようなロボットの軌道を設定する場合、アームを伸ばしている状態の加速度上限値が、全姿勢共通の加速度上限値とされている。このため、ロボットは、例えば、アームを縮めている状態等において本来可能な速度でハンドを移動させることができず、有する能力を活かしきることができない。
【０００６】
特許文献１に記載の制御装置では、現在位置と目標位置（軌道の始点と終点）におけるロボットの姿勢を考慮して許容最大加速度が算出されている。しかしながら、軌道の途中におけるロボットの姿勢は考慮されていないため、よって、特許文献１に記載の制御装置でも、ロボットが有する能力を活かしきれているとは言い難い。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、ロボットをより速く動作させることができる軌道を生成することを目的とする。
【課題を解決するための手段】
【０００８】
本願は、上記課題の少なくとも一部を解決する手段を複数含んでいるが、その例を挙げるならば、以下のとおりである。
【０００９】
上記課題を解決すべく、本発明の一態様に係る軌道生成装置は、ロボットの軌道を生成する軌道生成装置であって、前記軌道を生成するための複数のノードから成る軌道探査グラフを生成する軌道探査グラフ生成部と、前記ロボットの現ノードにおける姿勢及び加速方向に基づいて第１加速度上限値を取得する加速度上限値取得部と、取得された前記第１加速度上限値に基づき、前記現ノードから前記現ノードに隣接する次ノードへ移動するときの速度を表す第１速度及び加速度を設定する速度・加速度設定部と、前記現ノードから前記次ノードへのコストとして、設定された前記第１速度及び前記加速度を用いて移動時間を算出するノードコスト算出部と、算出された前記コストに基づき、前記軌道探査グラフにおいて総コストが最小となる前記ノードの経路を前記軌道として探査する軌道探査部と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明の一態様によれば、ロボットをより速く動作させることができる軌道を生成することが可能となる。
【００１１】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の一実施の形態に係るロボットシステムの構成例を示す図である。
【図２】図２は、軌道生成装置の第１の構成例を示す機能ブロック図である。
【図３】図３は、最大速度情報の一例を示す図である。
【図４】図４は、第１加速度上限値情報の一例を示す図である。
【図５】図５は、軌道生成処理の一例を説明するフローチャートである。
【図６】図６は、軌道探査グラフの一例を示す図である。
【図７】図７は、ノード番号が付与された軌道探査グラフの一例を示す図である。
【図８】図８は、軌道生成装置の第１の構成例によるコスト算出処理の一例を説明するフローチャートである。
【図９】図９は、現ノード、次ノードの位置関係を示す図である。
【図１０】図１０は、コストの一例を示す図である。
【図１１】図１１は、軌道生成装置の第２の構成例を示す機能ブロック図である。
【図１２】図１２は、ハンドによる把持物の把持状態の一例を示す図である。
【図１３】図１３は、第２加速度上限値情報の一例を示す図である。
【図１４】図１４は、軌道生成装置の第２の構成例によるコスト算出処理の一例を説明するフローチャートである。
【図１５】図１５は、出力画面の表示例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施の形態を図面に基づいて説明する。なお、本実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。また、以下の実施の形態において、その構成要素（要素ステップ等も含む）は、特に明示した場合及び原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。また、「Ａからなる」、「Ａより成る」、「Ａを有する」、「Ａを含む」と言うときは、特にその要素のみである旨明示した場合等を除き、それ以外の要素を排除するものでないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合及び原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似又は類似するもの等を含むものとする。
【００１４】
＜本発明の一実施の形態に係るロボットシステム１０の構成例＞
図１は、本発明の一実施の形態に係るロボットシステム１０の構成例を示している。
【００１５】
該ロボットシステム１０は、ロボット１、軌道生成装置１１、作業指示装置１２、撮像装置１３、及び制御装置１４を備える。
【００１６】
ロボット１は、例えば、６軸（６関節）を有する多関節型ロボットであり、複数のアーム２、及びハンド３を備える。ハンド３は、アーム２の先端に取り付けられている。ハンド３は、複数の指（例えば、図１２の指３１〜３４）を有しており、物体（把持物）Ｔを把持することができる。なお、ロボット１の軸数やハンド３の指の数は上記した例に限られない。
【００１７】
本実施の形態において、ハンド３の位置及び姿勢は、ロボットが有する６軸（関節）の回転角（ｊ１，ｊ２，ｊ３，ｊ４，ｊ５，ｊ６）、または、ハンド３の所定の基準点のｘｙｚ座標及びｘｙｚ軸周りの回転角（ｘ，ｙ，ｚ，φ，θ，ψ）を用いて表す。なお、ハンド３の位置及び姿勢は、ロボット１の姿勢と読み替えることができる。
【００１８】
軌道生成装置１１は、作業指示装置１２から通知される軌道の始点及び終点に従い、ハンド３の軌道を生成して制御装置１４に出力する。
【００１９】
作業指示装置１２は、例えば、ユーザからの入力に基づき、ロボット１に作業を行わせる際のハンド３が通過する軌道の始点及び終点を決定して軌道生成装置１１に通知する。また、作業指示装置１２は、撮像装置１３から入力されるロボット１の周辺画像に基づき、軌道の始点、及び終点を決定して軌道生成装置１１に通知するようにしてもよい。
【００２０】
撮像装置１３は、ロボット１を含むその周辺を撮像し、その結果得られる周辺画像を作業指示装置１２に出力する。
【００２１】
制御装置１４は、軌道生成装置１１から入力される軌道情報に基づいてロボット１の動作を制御する。
【００２２】
＜軌道生成装置１１の第１の構成例＞
次に、図２は、軌道生成装置１１の第１の構成例である軌道生成装置１１１を示している。
【００２３】
軌道生成装置１１１は、例えば、ＣＰＵ(Central Processing Unit)、メモリ、ストレージ等を有するＰＣ（パーソナルコンピュータ）からなる。軌道生成装置１１１は、軌道生成部２１、記憶部２２、入力部２３、表示部２４、及び通信部２５を備える。
【００２４】
軌道生成部２１は、軌道探査グラフ生成部２１１、速度・加速度設定部２１２、加速度上限値取得部２１３、ノードコスト算出部２１４、及び軌道探査部２１５の各機能ブロックを有する。軌道生成部２１の各機能ブロックは、ＰＣのＣＰＵが所定のプログラムを実行することによって実現される。
【００２５】
軌道探査グラフ生成部２１１は、軌道生成に用いる軌道探査グラフを生成する。速度・加速度設定部２１２は、軌道生成における現ノードの速度Ｖを取得する。速度Ｖは、本発明の第２速度に相当する。また、速度・加速度設定部２１２は、現ノードと障害物との距離に基づき、最大速度情報２２１を参照し、現ノードから次ノードへの速度Ｖ’を取得する。速度Ｖ’は、本発明の第２速度に相当する。さらに、速度・加速度設定部２１２は、速度Ｖおよび速度Ｖ’に基づき、現ノードから次ノードへの加速度ａを算出する。
【００２６】
加速度上限値取得部２１３は、現ノードにおけるハンド３の位置及び姿勢、並びに加速方向に基づき、第１加速度上限値情報２２２を参照して、加速度上限値ａｍａｘを取得する。加速度上限値ａｍａｘは、本発明の第１加速度上限値に相当する。
【００２７】
ノードコスト算出部２１４は、現ノードから次ノードへ異動する場合のコストを算出する。本実施の形態では、コストとして現ノードから次ノードへの移動時間を算出する。
【００２８】
軌道探査部２１５は、算出されたコストに基づき、総コストが最小となる経路を軌道として探査する。
【００２９】
記憶部２２には、最大速度情報２２１、第１加速度上限値情報２２２、及びロボット情報２２３が予め格納されている。記憶部２２は、例えばＰＣのストレージまたはメモリによって実現される。
【００３０】
図３は、最大速度情報２２１の一例を示している。最大速度情報２２１には、把持物の重量別に、現ノードと障害物との距離に対応付けて最大速度が記録されている。なお、最大速度は、所定の計算や教師有り学習によって予め決められている値である。例えば、ノードと障害物との距離が５０［ｍｍ］未満の場合、最大速度は３０［ｍｍ／ｓ］とされている。また例えば、ノードと障害物との距離が５０以上１００[ｍｍ]未満の場合、最大速度は３００［ｍｍ／ｓ］とされている。
【００３１】
図４は、第１加速度上限値情報２２２の一例を示している。第１加速度上限値情報２２２には、ハンド３の位置及び姿勢、並びにその加速方向に対応付けて加速度上限値ａｍａｘが記録されている。なお、加速度上限値ａｍａｘは、所定の計算や教師有り学習によって予め決められている値である。図４の例では、ハンド３の位置及び姿勢、並びに加速方向は、ロボット１が有する６軸の回転角によって表記されており、この場合、最大加速度は最大角加速度と読み替えればよい。なお、第１加速度上限値情報２２２におけるハンド３の位置及び姿勢、並びにその加速方向の表記は、ハンド３のｘｙｚ座標及びｘｙｚ軸周りの回転角を用いてもよい。
【００３２】
図２に戻る。ロボット情報２２３には、ロボット１が備える複数のアーム２それぞれの長さ、６軸（関節）それぞれの稼働範囲、ハンド３の指の摩擦係数等が記録されている。
【００３３】
入力部２３は、ユーザからの各種の操作を受け付ける。入力部２３は、例えばＰＣが備えるキーボード、マウス等の入力デバイスからなる。
【００３４】
表示部２４は、例えば、出力画面５０（図１５）等を表示する。表示部２４は、例えばＰＣが備えるディスプレイからなる。
【００３５】
通信部２５は、所定のネットワークを介して作業指示装置１２や制御装置１４と通信を行う。通信部２５は、例えばＰＣが備える通信モジュールからなる。
【００３６】
＜軌道生成装置１１１による軌道生成処理＞
次に、図５は、軌道生成装置１１１による軌道生成処理の一例を説明するフローチャートである。
【００３７】
この軌道生成処理は、例えばユーザからの所定の開始操作に応じて開始される。
【００３８】
はじめに、軌道探査グラフ生成部２１１が、作業指示装置１２から軌道の始点及び終点、並びに把持物Ｔの重量を取得する（ステップＳ１）。次に、軌道探査グラフ生成部２１１が、軌道の始点と終点との間に複数のノードを設けた軌道探査グラフを生成する（ステップＳ２）。
【００３９】
図６は、軌道探査グラフ生成部２１１によって生成される軌道探査グラフの一例を示している。図７は、軌道探査グラフの各ノードに付与されたノード番号の一例を示している。本実施の形態の場合、軌道探査グラフは、横軸がハンド３の位置及び姿勢を示し、縦軸がハンド３の速度を示す１２次元空間である。
【００４０】
軌道探査グラフには、始点及び終点が設定され、ロボット１の周辺に存在する障害物の位置がマスクされる。そして、軌道探査グラフにおける各ノード（始点、終点、遷移不可能領域を含む）には、例えば、図７に示すように、ノード番号（Ｎ１，Ｎ２等）が付与される。
【００４１】
図５に戻る。次に、速度・加速度設定部２１２、加速度上限値取得部２１３、及びノードコスト算出部２１４がコスト算出処理を実行する（ステップＳ３）。
【００４２】
図８は、ステップＳ３におけるコスト算出処理の一例を詳述するフローチャートである。図９は、現ノードと次ノードの位置関係の一例を示している。図９におけるＶは現ノードの速度、Ｖ’は現ノードから次ノードへの速度、ａは速度Ｖから速度Ｖ’への加速度、Ｌは現ノードから障害物までの距離、ｓは現ノードと次ノードとの距離である。
【００４３】
まず、ノードコスト算出部２１４が、全てのノードを順次、現ノードに指定し、軌道探査グラフから現ノードの位置及び姿勢を取得して速度・加速度設定部２１２、加速度上限値取得部２１３に通知する。この通知に応じ、速度・加速度設定部２１２が、現ノードの速度Ｖを取得する（ステップＳ１１）。いまの場合、初めに始点Ｎ１が現ノードに指定される。そして、現ノード（始点）Ｎ１における速度Ｖとして０が取得される。
【００４４】
次に、ノードコスト算出部２１４が、現ノードの上下左右に隣接するノード（斜め方向を含む最大８個のノード）を順次、次ノードに指定する。いまの場合、現ノードＮ１に対してノードＮ１１，Ｎ１２，Ｎ２が順次、次ノードに指定される。そして、速度・加速度設定部２１２が、最大速度情報２２１を参照し、現ノードと障害物との距離Ｌに対応する、現ノードから次ノードへの速度Ｖ’を取得する。さらに、速度・加速度設定部２１２が、速度Ｖおよび速度Ｖ’に基づき、次式（１）に従って、現ノードから次ノードへの加速度ａを算出する（ステップＳ１２）。
【００４５】
【数１】
2020099977.tif 000003
【００４６】
次に、加速度上限値取得部２１３が、第１加速度上限値情報２２２を参照して、把持物Ｔの重量、現ノードにおけるハンド３の位置及び姿勢、並びに現ノードから次ノードへの加速度ａの方向に対応する加速度上限値ａｍａｘを取得する（ステップＳ１３）。
【００４７】
次に、速度・加速度設定部２１２が、ステップＳ１２で算出した加速度ａの絶対値が、ステップＳ１３で取得された加速度上限値ａｍａｘよりも大きいか否かを判断する（ステップＳ１４）。ここで、加速度ａの絶対値が加速度上限値ａｍａｘよりも大きいと判断した場合（ステップＳ１４でＹＥＳ）、速度・加速度設定部２１２が、次式（２）に従って、現ノードから次ノードへの速度Ｖ’を修正し、それに伴い加速度ａも修正（再算出）する（ステップＳ１５）。
【００４８】
【数２】
2020099977.tif 000004
【００４９】
なお、式（２）における０．９は速度Ｖ’を減速させるための係数である。この係数は０．９に限らず、１未満の値であればよい。
【００５０】
この後、ステップＳ１４，Ｓ１５が繰り返されて、またはステップＳ１５が実行されずに、加速度ａの絶対値が加速度上限値ａｍａｘよりも大きくない（加速度ａの絶対値が加速度上限値ａｍａｘ以下である）と判断された場合（ステップＳ１４でＮＯ）、ノードコスト算出部２１４が、現ノードから次ノードへのコストとして、その移動時間ｔを、速度Ｖ’、加速度ａ、及び現ノードから次ノードまでの距離ｓを用い、次式（３）に従って算出する（ステップＳ１６）。
【００５１】
【数３】
2020099977.tif 000005
【００５２】
次に、ノードコスト算出部２１４が、現ノードの上下左右に隣接するノードのうち、次ノードに指定していないノードが残っているか否かを判断する（ステップＳ１７）。ここで、ノードコスト算出部２１４が、次ノードに指定していないノードが残っていると判断した場合（ステップＳ１７でＹＥＳ）、処理をステップＳ１２に戻し、新たに次ノードを指定してステップＳ１２〜Ｓ１７が繰り返される。なお、現ノードＮ１に対するノードＮ２は，速度０のままハンド３の位置が変化するような遷移であるため，ノードＮ１からノードＮ２への遷移は不可能である。このように遷移不可能領域のノードを次ノードに指定した場合、ステップＳ１２〜Ｓ１６の処理を省略する。
【００５３】
その後、次ノードに指定していないノードが残っていないと判断した場合（ステップＳ１７でＮＯ）、ノードコスト算出部２１４が、全てのノード（次ノードとしてコストが算出されなかったノード（ステップＳ１２〜Ｓ１６を省略したノード）を除く）のうち、現ノードに指定していないノードが残っているか否かを判断する（ステップＳ１８）。ここで、ノードコスト算出部２１４が、現ノードに指定していないノードが残っていると判断した場合（ステップＳ１８でＹＥＳ）、処理をステップＳ１１に戻し、これまでの現ノードの上下左右に隣接するノードのうち、コストを算出したノードのいずれかを新たな現ノードに指定してステップＳ１１以降が繰り返される。
【００５４】
その後、ノードコスト算出部２１４が、全てのノード（次ノードとしてコストが算出されなかったノード（ステップＳ１２〜Ｓ１６を省略したノード）を除く）のうち、現ノードに指定していないノードが残っていないと判断した場合（ステップＳ１８でＮＯ）、ノード算出処理は終了される。
【００５５】
図１０は、ノード算出処理の結果得られるコストの一例を示している。
【００５６】
例えば、始点ノードＮ１が現ノードに指定されている場合、次ノードＮ１１へのコストは０．５、次ノードＮ１２へのコストは０．６と算出されている。次ノードＮ２へは遷移不可能のためコストが算出されていない。また、例えば、ノードＮ１１が現ノードに指定されている場合、次ノードＮ１，Ｎ２１は、速度が正であるにも拘わらず、位置が変化しないという遷移となるためコストが算出されていない。次ノードＮ１２へのコストは０．６、次ノードＮ２１へのコストは０．４、次ノードＮ２２へのコストは０．５と算出されている。
【００５７】
図５に戻る。次に、軌道探査部２１５が、図１０に示されたようなコスト算出処理の結果に基づき、総コストが最小となる経路を軌道として探査する（ステップＳ４）。具体的には、図１０に太線で示すように、総コストが最少となるノードＮ１，Ｎ１１，Ｎ２３，Ｎ３４、・・・、Ｎ８を通過する経路が探査される。そして、探査された経路と各ノードから次ノードへの速度Ｖ’及び加速度ａを含む軌道情報が軌道生成装置１１１から制御装置１４に出力される。以上で、軌道生成処理の説明を終了する。
【００５８】
以上説明したように、軌道生成装置１１１による軌道生成処理によれば、軌道上の各ノードにおけるハンド３の位置及び姿勢に基づいて加速度上限値ａｍａｘが設定される。よって、ハンドの移動の速度Ｖ’を一定ではなく、ロボット１が有する能力を活かして変化させることができ、より速く移動可能な軌道を生成することが可能となる。
【００５９】
＜軌道生成装置１１の第２の構成例＞
次に、図１１は、軌道生成装置１１の第２の構成例である軌道生成装置１１２を示している。
【００６０】
軌道生成装置１１２は、軌道生成装置１１１（図２）に対して、軌道生成部２１に把持情報取得部２１６を追加するとともに、記憶部２２に第２加速度上限値情報２２４を追加したものである。なお、軌道生成装置１１２の構成要素のうち、軌道生成装置１１１の構成要素と共通するものについては同一の符号を付し、その説明を省略する。
【００６１】
軌道生成装置１１２は、軌道生成装置１１１（図２）と同様、把持物Ｔの重量、各ノードにおけるハンド３の位置及び姿勢に応じて加速度上限値ａｍａｘと設定するとともに、ハンド３による把持物Ｔの把持状態に応じて加速度上限値ａ’ｍａｘを設定し、加速度上限値ａｍａｘと加速度上限値ａ’ｍａｘの小さい方を採用して、現ノードから次ノードまでの速度Ｖ’を決定するようになされている。加速度上限値ａ’ｍａｘは、本発明の第２加速度上限値に相当する。
【００６２】
ここで、ハンド３による把持物Ｔの把持状態について説明する。図１２は、ハンド３による把持物Ｔの把持状態の一例を示している。
【００６３】
同図に示されるように、ハンド３の４本の指３１〜３４が把持物Ｔの長辺を図中の上下方向から力を加えて把持している場合、ハンド３を図中の上下方向に加速して移動させても把持物Ｔは滑り落ちにくいが、ハンド３を図中の左右方向に加速して移動させると把持物Ｔは滑り落ちてしまう可能性が高い。そこで、軌道生成装置１１２では、ハンド３を図中の左右方向に加速して移動させる場合は、図中の上下方向に加速して移動させる場合に比べて、加速度上限値ａ’ｍａｘを低く設定できるようになされている。
【００６４】
図１１に戻る。把持情報取得部２１６は、制御装置１４からハンド３による把持物Ｔの把持状態を表す把持情報を取得する。ここで、把持情報とは、ハンド３が把持物Ｔを把持して移動するときの加速方向、ハンド３の摩擦係数、及び、ハンド３の把持位置（例えば、４本の指３１〜３４の中心）から把持物Ｔの重心までの距離を含む。また、把持情報取得部２１６は、取得した把持情報に基づき、第２加速度上限値情報２２４を参照して加速度上限値ａ’ｍａｘを設定する。
【００６５】
図１３は、第２加速度上限値情報２２４の一例を示している。第２加速度上限値情報２２４には、ハンド３の指３１〜３４における摩擦係数、ハンド３の加速方向、及び、ハンド３の把持位置から把持物Ｔの重心までの距離に対応付けて加速度上限値ａ’ｍａｘが記録されている。なお、加速度上限値ａ’ｍａｘは、所定の計算や教師有り学習によって予め決められている値である。図１３の例では、ハンド３の加速方向が、ｘｙｚ座標及びｘｙｚ軸周りの回転角を用いて表記されているが、ロボット１が有する６軸の回転角によって表記するようにしてもよい。
【００６６】
＜軌道生成装置１１２による軌道生成処理＞
次に、軌道生成装置１１２による軌道生成処理について説明する。軌道生成装置１１２による軌道生成処理は、軌道生成装置１１１による軌道生成処理（図５）と同様であるが、ステップＳ３におけるコスト算出処理が異なる。そこで、軌道生成装置１１２による軌道生成処理の全体の説明は省略し、軌道生成装置１１２によるコスト算出処理について説明する。
【００６７】
図１４は、軌道生成装置１１２によるコスト算出処理の一例を詳述するフローチャートである。
【００６８】
軌道生成装置１１２によるコスト算出処理は、軌道生成装置１１１によるコスト算出処理（図８）に対し、ステップＳ１１とステップＳ１２の間に、ステップＳ２１，Ｓ２２を追加するとともに、ステップＳ１４をＳ２３に置換したものである。
【００６９】
すなわち、軌道生成装置１１２によるコスト算出処理では、ノードコスト算出部２１４が、現ノードに指定し、現ノードの位置及び姿勢を取得する。また、速度・加速度設定部２１２が、現ノードの速度Ｖを取得する（ステップＳ１１）。
【００７０】
次に、把持情報取得部２１６が、制御装置１４からロボット１のハンド３による把持物Ｔの把持状態を表す把持情報を取得する（ステップＳ２１）。次に、把持情報取得部２１６が、取得した把持情報に基づき、第２加速度上限値情報２２４を参照して加速度上限値ａ’ｍａｘを設定する（ステップＳ２２）。
【００７１】
次に、ノードコスト算出部２１４が次ノードを指定し、速度・加速度設定部２１２が、現ノードから次ノードへの速度Ｖ’を取得するとともに、現ノードから次ノードへの加速度ａを算出する（ステップＳ１２）。
【００７２】
次に、加速度上限値取得部２１３が加速度上限値ａｍａｘを取得する（ステップＳ１３）。
【００７３】
次に、速度・加速度設定部２１２が、ステップＳ１２で算出した加速度ａの絶対値が、ステップＳ２２で取得された加速度上限値ａ’ｍａｘとステップＳ１３で取得された加速度上限値ａｍａｘとの小さい方よりも大きいか否かを判断する（ステップＳ２３）。ここで、加速度ａの絶対値の方が、加速度上限値ａ’ｍａｘとａｍａｘの小さい方よりも大きいと判断した場合（ステップＳ２３でＹＥＳ）、速度・加速度設定部２１２が、現ノードから次ノードへの速度Ｖ’を修正し、それに伴い加速度ａも修正（再算出）する（ステップＳ１５）。
【００７４】
この後、ステップＳ２３，Ｓ１５が繰り返されて、または、ステップＳ１５が実行されずに、速度・加速度設定部２１２が、加速度ａの絶対値が加速度上限値ａ’ｍａｘとａｍａｘの小さい方よりも大きくない（加速度ａの絶対値が加速度上限値ａ’ｍａｘとａｍａｘの小さい方以下である）と判断した場合（ステップＳ２３でＮＯ）、ノードコスト算出部２１４が、現ノードから次ノードへのコストとして、その移動時間ｔを算出する（ステップＳ１６）。
【００７５】
次に、ノードコスト算出部２１４が、次ノードに指定していないノードが残っているか否かを判断し（ステップＳ１７）、次ノードに指定していないノードが残っていると判断した場合（ステップＳ１７でＹＥＳ）、処理をステップＳ１２に戻し、新たに次ノードを指定してステップＳ１２〜Ｓ１７が繰り返される。なお、現ノードＮ１に対するノードＮ２のように遷移不可能領域のノードに指定された場合、ステップＳ１２〜Ｓ１６の処理は省略される。
【００７６】
その後、次ノードに指定していないノードが残っていないと判断した場合（ステップＳ１７でＮＯ）、ノードコスト算出部２１４が、現ノードに指定していないノードが残っているか否かを判断し（ステップＳ１８）、現ノードに指定していないノードが残っていると判断した場合（ステップＳ１８でＹＥＳ）、処理をステップＳ１１に戻し、新たな現ノードを指定してステップＳ１１以降が繰り返される。
【００７７】
その後、ノードコスト算出部２１４が、現ノードに指定していないノードが残っていないと判断した場合（ステップＳ１８でＮＯ）、ノード算出処理は終了される。
【００７８】
以上説明したように、軌道生成装置１１２による軌道生成処理によれば、ロボット１のハンド３による把持状態に応じて加速度上限値ａ’ｍａｘが設定され、また、軌道上の各ノードにおけるハンド３の位置及び姿勢に基づいて加速度上限値ａｍａｘが設定され、加速度上限値ａ’ｍａｘとａｍａｘの小さい方が採用される。よって、把持物Ｔを滑り落としてしまうことを抑止しつつ、ハンドの移動の速度Ｖ’を一定ではなく、ロボット１が有する能力を活かして変化させることができ、より速く移動可能な軌道を生成することが可能となる。
【００７９】
＜出力画面５０の表示例＞
次に、図１５は、軌道生成装置１１の表示部２４に表示される出力画面５０の表示例を示している。
【００８０】
出力画面５０には、軌道表示領域５１、速度表示領域５２、及び加速度表示領域５３が設けられる。
【００８１】
軌道表示領域５１には、生成された軌道がロボット１とともに立体的に表示される。該表示によれば、ユーザはロボット１のハンド３が通過する軌道を立体的に把握することができる。
【００８２】
速度表示領域５２には、ハンド３を軌道上で移動させるときの速度の変化を表すグラフが表示される。該グラフの横軸は時間（軌道の始点からの距離でもよい）、縦軸は速度、破線は速度の上限値、実線は制御装置１４から制御される実際の速度である。該グラフによれば、従来、一定であった速度が変化していることがわかり、軌道の全体に亘り、速度を略上限値に近い値で制御できることが分かる。
【００８３】
加速度表示領域５３には、ハンド３を軌道上で移動させるときの加速度の変化を表すグラフが表示される。該グラフの横軸は時間（軌道の始点からの距離でもよい）、縦軸は加速度である。破線は加速度の上限値、実線は制御装置１４から制御される実際の加速度である。該グラフによれば、軌道の途中において加速度を変化させていることが分かり、実際の加速度が上限値にまで達することがあるので、ロボット１が有する能力を活かしていることが分かる。
【００８４】
本発明は、上記した実施形態や変形例に限定されるものではなく、さらに様々な変形例が含まれる。例えば、上記した各実施形態は、本発明を分かりやすく説明するために詳細に説明したものであり、本発明が、必ずしも説明した全ての構成要素を備えるものに限定されるものではない。また、ある実施形態の構成の一部を、他の実施形態の構成に置き換えることが可能であり、ある実施形態の構成に、他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００８５】
本発明は、軌道生成装置、軌道生成方法、及びロボットシステムだけでなく、コンピュータが読み取り可能なプログラム等の様々な態様で提供することができる。
【符号の説明】
【００８６】
１・・・ロボット、２・・・アーム、３・・・ハンド、１０・・・ロボットシステム、１１・・・軌道生成装置、１２・・・作業指示装置、１３・・・撮像装置、１４・・・制御装置、２１・・・軌道生成部、２２・・・記憶部、２３・・・入力部、２４・・・表示部、２５・・・通信部、３１〜３４・・・指、５０・・・出力画面、５１・・・軌道表示領域、５２・・・速度表示領域、５３・・・加速度表示領域、１１１・・・軌道生成装置、１１２・・・軌道生成装置、２１１・・・軌道探査グラフ生成部、２１２・・・速度・加速度設定部、２１３・・・加速度上限値取得部、２１４・・・ノードコスト算出部、２１５・・・軌道探査部、２１６・・・把持情報取得部、２２１・・・最大速度情報、２２２・・・第１加速度上限値情報、２２３・・・ロボット情報、２２４・・・第２加速度上限値情報
【図１】
2020099977.tif 000006
【図２】
2020099977.tif 000007
【図３】
2020099977.tif 000008
【図４】
2020099977.tif 000009
【図５】
2020099977.tif 000010
【図６】
2020099977.tif 000011
【図７】
2020099977.tif 000012
【図８】
2020099977.tif 000013
【図９】
2020099977.tif 000014
【図１０】
2020099977.tif 000015
【図１１】
2020099977.tif 000016
【図１２】
2020099977.tif 000017
【図１３】
2020099977.tif 000018
【図１４】
2020099977.tif 000019
【図１５】
2020099977.tif 000020