(57)【特許請求の範囲】
【請求項１】
複数の駆動部を有するロボットの始点から終点に至る動作経路である軌道を制御するロボット軌道制御装置であって、
始点、少なくとも一つの経由点、終点を含む複数の軌道座標を規定した軌道位置情報に基づき、前記複数の軌道座標間における前記複数の駆動部の動作である複数の補間動作の内容を規定した動作指令値を出力するロボット制御手段を備え、前記複数の軌道座標はそれぞれ前記複数の駆動部の動作内容によって規定され、
前記動作指令値に基づき、前記ロボットを動作させた際に実現される前記複数の駆動部それぞれの状態を示す駆動部情報と、前記ロボットと周辺環境との位置関係を規定する周辺情報とを含む動作情報を収集する動作情報収集手段と、
前記動作情報収集手段で収集された前記動作情報に基づき、前記動作指令値で前記ロボットが動作可能か判定する動作実行可能判定手段と、
前記動作実行可能判定手段により前記ロボットが動作可能と判定された際に、前記少なくとも一つの経由点のうち一の経由点を選択経由点とし、かつ、前記複数の補間動作のうち前記選択経由点を含む一の補間動作を選択補間動作とし、該選択補間動作において前記複数の駆動部のうち実行速度に最も影響を与えると判断した駆動部をボトルネック駆動部とし、前記動作情報に基づき、ロボット全体の実行時間が短縮される範囲で前記ボトルネック駆動部における前記選択経由点の座標を変更して第１の経由点候補を算出し、該第１の経由点候補を規定した第１の経由点候補情報を出力する経由点候補決定手段と、
前記動作実行可能判定手段により前記ロボットが動作不可能と判定された際に、前記動作情報に基づき、ロボット全体の実行時間が短縮される範囲で前記複数の駆動部のうち前記ボトルネック駆動部以外の駆動部における第２の経由点候補を算出し、該第２の経由点候補を規定した第２の経由点候補情報を出力する動作可能経由点候補探索手段と、
前記第２の経由点候補情報が規定する前記第２の経由点候補が存在すれば該第２の経由点候補を変更経由点として決定し、前記第２の経由点候補が存在せず前記第１の経由点候補情報が規定する前記第１の経由点候補が存在すれば該第１の経由点候補を前記変更経由点として決定し、前記複数の軌道座標のうち前記選択経由点を前記変更経由点に置き換えた情報を新たな前記軌道位置情報として前記ロボット制御手段に与える経由点変更手段とをさらに備える、
ロボットの軌道制御装置。
【請求項２】
請求項１記載のロボット軌道制御装置であって、
始点、少なくとも一つの初期経由点、終点の座標を規定した教示点データを受け、前記教示データを変換初期情報に変換する軌道定義変換手段をさらに備え、前記変換初期情報は、始点、前記少なくとも一つの初期経由点から選択された所定数の変換経由点、終点を含む複数の軌道座標を規定し、前記変換初期情報に基づき前記ロボット制御手段によって前記ロボットが動作し、前記動作情報収集手段より得られる前記動作情報に基づき、前記ロボットの動作実行可能の有無が前記動作実行可能判定手段より判断され、
前記軌道定義変換手段は、前記動作実行可能判定手段が動作不能と判断すると、前記少なくとも一つの初期経由点のいずれかを前記所定数の変換経由点として追加選択して新たな前記変換初期情報を順次出力し、前記動作実行可能判定手段が動作可能と判断した時点における前記変換初期情報を前記軌道位置情報とする、
ロボット軌道制御装置。
【請求項３】
複数の駆動部を有するロボットにおける始点から終点に至る動作経路である軌道を制御するロボット軌道制御方法であって、
(a) 始点、少なくとも一つの経由点、終点を含む複数の軌道座標を規定した軌道位置情報を取得するステップを備え、前記複数の軌道座標はそれぞれ前記複数の駆動部の動作内容によって規定され、
(b) 前記少なくとも一つの経由点のうち一の経由点を選択経由点とし、かつ、前記複数の軌道座標間における前記複数の駆動部の動作である複数の補間動作のうち前記選択経由点を含む一の補間動作を選択補間動作とし、該選択補間動作において前記複数の駆動部のうち実行速度に最も影響を与えると判断した駆動部をボトルネック駆動部とし、ロボット全体の実行時間が短縮される範囲で前記ボトルネック駆動部における前記選択経由点の座標を変更して第１の経由点候補を算出するステップと、
(c) 前記複数の軌道座標のうち、前記ステップ(b) で得た前記第１の経由点候補を前記選択経由点から置き換えた情報を前記軌道位置情報で動作させた際に前記ロボットが動作不能の場合に実行され、ロボット全体の実行時間が短縮される範囲で前記複数の駆動部のうち前記ボトルネック駆動部以外の駆動部における第２の経由点候補を算出するステップと、
(d) 前記第２の経由点候補が存在すれば該第２の経由点候補を変更経由点として決定し、前記第２の経由点候補が存在せず前記第１の経由点候補が存在すれば該第１の経由点候補を前記変更経由点として決定し、前記複数の軌道座標のうち前記選択経由点を前記変更経由点に置き換えた情報を新たな前記軌道位置情報とするステップとをさらに備え、
前記第１及び第２の経由点候補の算出が共に不可能になるまで、前記ステップ(a) 〜(d) を繰り返す、
ロボット軌道制御方法。
【請求項４】
請求項３記載のロボット軌道制御方法であって、
(e) 始点、少なくとも一つの初期経由点、終点の座標を規定した教示点データを受けるステップと、
(f) 前記教示データを変換初期情報に変換するステップとを備え、前記変換初期情報は、始点、前記少なくとも一つの初期経由点から選択された所定数の変換経由点、終点を含む複数の軌道座標を規定し、
(g) 前記ステップ(f) で得た前記変換初期情報で動作させた際に前記ロボットが動作不能の場合に、前記少なくとも一つの初期経由点のいずれかを前記所定数の変換経由点として追加選択して新たな前記変換初期情報とするステップとを備え、
前記ステップ(g) は、前記新たな変換初期情報で動作させた際に前記ロボットが動作可能と判断されるまで繰り返され、
前記ステップ(e) 〜(g) は、前記ステップ(a) 〜(d) に先がけて実行され、最終的な前記変換初期情報が前記軌道位置情報となる、
ロボット軌道制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの始点から終点に至る動作経路である軌道を自動的に制御するロボット軌道制御装置及びロボット軌道制御方法に関する。
【背景技術】
【０００２】
一般に、産業用のロボットの始点から終点に至る動作経路である軌道を決定する場合には、ロボットと周辺環境との干渉を回避するために、目的地点である始点及び終点以外に経由点を設計する場面がある。ここで、経由点の取り方によっては作業時時間が不必要に伸びるため、適切な経由点の設計が求められる。しかし適切な経由点を設計するためには時間が掛かるといった問題や、経由点を設計するために作業者が拘束されるといった問題がある。
【０００３】
上記問題の解決を目的とした従来の技術としては、例えば、特許文献１に開示されているように、干渉物（障害物）を含む領域を所定間隔で分割しその分割点を経由点候補として、移動時に干渉物と干渉が発生しない経由点候補のうち移動時間が最短となる経由点を採用する中間点教示データ作成方法がある。
【０００４】
また、他の従来技術として、例えば、特許文献２に開示されているように、外部から与えられる作業目標とロボットの動作とを比較して経由点の変更を行い、目的とする作業を達成するように学習する技術を採用したロボットの作業学習装置も、上記問題の解決を図っている。
【０００５】
【特許文献１】特許第３１３４６５３号公報
【特許文献２】特開平８−３１４５２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１で開示された上記中間点教示データ作成方法は、現在見つかっている干渉が発生しない経由点候補を用いた場合の移動時間よりも、移動時間が長くなる経由点候補も干渉が発生しないかを調査することになり、不必要な調査が増えて計算手数が多く掛かるという問題点があった。
【０００７】
また、特許文献２で開示された上記ロボットの作業学習装置も、周辺環境との干渉を回避する実行時間が最短の軌道を事前に求めるのは困難であるため、学習の最初で作業目標を与えることはできず、学習の過程で何度も外部から作業目標を与える必要があり自動的に改善することができないという問題点があった。
【０００８】
この発明は上記問題点を解決するためになされたもので、少ない計算手数で自動的にロボットの動作経路を改善することができる、ロボット軌道制御装置及びロボット軌道制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
この発明に係る請求項１記載のロボット軌道制御装置は、複数の駆動部を有するロボットの始点から終点に至る動作経路である軌道を制御するロボット軌道制御装置であって、始点、少なくとも一つの経由点、終点を含む複数の軌道座標を規定した軌道位置情報に基づき、前記複数の軌道座標間における前記複数の駆動部の動作である複数の補間動作の内容を規定した動作指令値を出力するロボット制御手段を備え、前記複数の軌道座標はそれぞれ前記複数の駆動部の動作内容によって規定され、前記動作指令値に基づき、前記ロボットを動作させた際に実現される前記複数の駆動部それぞれの状態を示す駆動部情報と、前記ロボットと周辺環境との位置関係を規定する周辺情報とを含む動作情報を収集する動作情報収集手段と、前記動作情報収集手段で収集された前記動作情報に基づき、前記動作指令値で前記ロボットが動作可能か判定する動作実行可能判定手段と、前記動作実行可能判定手段により前記ロボットが動作可能と判定された際に、前記少なくとも一つの経由点のうち一の経由点を選択経由点とし、かつ、前記複数の補間動作のうち前記選択経由点を含む一の補間動作を選択補間動作とし、該選択補間動作において前記複数の駆動部のうち実行速度に最も影響を与えると判断した駆動部をボトルネック駆動部とし、前記動作情報に基づき、ロボット全体の実行時間が短縮される範囲で前記ボトルネック駆動部における前記選択経由点の座標を変更して第１の経由点候補を算出し、該第１の経由点候補を規定した第１の経由点候補情報を出力する経由点候補決定手段と、前記動作実行可能判定手段により前記ロボットが動作不可能と判定された際に、前記動作情報に基づき、ロボット全体の実行時間が短縮される範囲で前記複数の駆動部のうち前記ボトルネック駆動部以外の駆動部における第２の経由点候補を算出し、該第２の経由点候補を規定した第２の経由点候補情報を出力する動作可能経由点候補探索手段と、記第２の経由点候補情報が規定する前記第２の経由点候補が存在すれば該第２の経由点候補を変更経由点として決定し、前記第２の経由点候補が存在せず前記第１の経由点候補情報が規定する前記第１の経由点候補が存在すれば該第１の経由点候補を前記変更経由点として決定し、前記複数の軌道座標のうち前記選択経由点を前記変更経由点に置き換えた情報を新たな前記軌道位置情報として前記ロボット制御手段に与える経由点変更手段とをさらに備える。
【００１０】
この発明に係る請求項３記載のロボット軌道制御方法は、複数の駆動部を有するロボットにおける始点から終点に至る動作経路である軌道を制御するロボット軌道制御方法であって、(a) 始点、少なくとも一つの経由点、終点を含む複数の軌道座標を規定した軌道位置情報を取得するステップを備え、前記複数の軌道座標はそれぞれ前記複数の駆動部の動作内容によって規定され、(b) 前記少なくとも一つの経由点のうち一の経由点を選択経由点とし、かつ、前記複数の軌道座標間における前記複数の駆動部の動作である複数の補間動作のうち前記選択経由点を含む一の補間動作を選択補間動作とし、該選択補間動作において前記複数の駆動部のうち実行速度に最も影響を与えると判断した駆動部をボトルネック駆動部とし、ロボット全体の実行時間が短縮される範囲で前記ボトルネック駆動部における前記選択経由点の座標を変更して第１の経由点候補を算出するステップと、(c) 前記複数の軌道座標のうち、前記ステップ(b) で得た前記第１の経由点候補を前記選択経由点から置き換えた情報を前記軌道位置情報で動作させた際に前記ロボットが動作不能の場合に実行され、ロボット全体の実行時間が短縮される範囲で前記複数の駆動部のうち前記ボトルネック駆動部以外の駆動部における第２の経由点候補を算出するステップと、(d) 前記第２の経由点候補が存在すれば該第２の経由点候補を変更経由点として決定し、前記第２の経由点候補が存在せず前記第１の経由点候補が存在すれば該第１の経由点候補を前記変更経由点として決定し、前記複数の軌道座標のうち前記選択経由点を前記変更経由点に置き換えた情報を新たな前記軌道位置情報とするステップとをさらに備え、前記第１及び第２の経由点候補の算出が共に不可能になるまで、前記ステップ(a) 〜(d) を繰り返す。
【発明の効果】
【００１１】
この発明に係る請求項１記載のロボット軌道制御装置は、ロボットを実際に動作させながら、動作情報収集手段より得られる動作情報に基づき経由点候補決定手段あるいは動作可能経由点候補探索手段により、実行時間が短縮される範囲で第１あるいは第２の経由点候補を得ている。そして、経由点変更手段が上記第１あるいは第２の経由点候補を変更経由点として決定している。
【００１２】
したがって、請求項１記載のロボット軌道制御装置は、経由点変更手段によって決定された変更経由点を選択経由点に置き換えた情報を新たな軌道位置情報として自動的に順次得ることにより、少ない計算手順で周辺環境との干渉を発生させることなく、ロボットの軌道を改善することができる。
【００１３】
この発明に係る請求項３記載のロボット軌道制御方法は、ロボットを実際に動作させながら、ステップ(b) 及びステップ(c) の実行により、実行時間が短縮される第１あるいは第２の経由点候補を得ている。そして、ステップ(d) によって上記第１あるいは第２の経由点候補を変更経由点として決定している。
【００１４】
したがって、請求項３記載のロボット軌道制御方法は、ステップ(d) の実行によって、複数の軌道座標のうち選択経由点を変更経由点に置き換えた情報を新たな軌道位置情報として自動的に順次得ることにより、少ない計算手順で周辺環境との干渉を発生させることなく、ロボットの軌道を改善することができる。
【発明を実施するための最良の形態】
【００１５】
＜実施の形態１＞
（構成）
図１はこの発明の実施の形態１であるロボット軌道制御装置の構成を示すブロック図である。
【００１６】
同図に示すように、ロボット制御手段１は始点座標、少なくとも一つの初期経由点座標、終点座標を含む複数の軌道座標を規定した軌道位置情報である初期情報Ｉ１を受ける。これら複数の軌道座標はロボット装置２の複数の駆動部の動作状況によって規定される。
【００１７】
そして、ロボット制御手段１は、初期情報Ｉ１に基づき、複数の軌道座標間における複数の補間動作の内容を規定した動作指令値Ｃ１をロボット装置２に出力する。複数の補間動作の内容は予め定めた補間動作種別によって決定される。
【００１８】
ロボット装置２はロボット制御手段１が出力する動作指令値Ｃ１に従って動作し、付加軸等を含むロボット装置の駆動部の状態を示す駆動部情報を検出する内部センサや、ロボットと周辺環境との位置関係を規定する周辺情報を検出する外部センサを備えている。内部センサとはロボット装置２の各駆動部に備えられているエンコーダやモータの電流値を検知するセンサ等を指し、外部センサとは視覚センサや距離センサ、触覚センサ等を指す。なお、付加軸として例えばロボットを搭載するレール等が考えられる。
【００１９】
なお、上記外部センサは、障害物の位置及び大きさを全て正確に認識する必要は無く、ロボットと障害物が一定距離以上あること、若しくはロボット本体が障害物に接触して損傷することを未然に防げる程度で十分である。
【００２０】
例えば、触覚センサの場合は（最低限）どのロボットの姿勢で接触があったか分かればよく、ロボットのどの部位で接触があったかの情報は必要ではない。また、視覚センサや距離センサの場合は，予めマージンを設定し（センサ誤差などから決まる）、そのマージンであればロボットと障害物が意図しない接触を回避できる程度の正確さが必要となる。
【００２１】
動作情報収集手段３は上述したロボット装置２に備えられた内部センサより検出された駆動部情報と外部センサの出力である周辺情報とを含む動作情報Ｉ３を時系列に沿って収集する。
【００２２】
動作実行可能判定手段４は上述した動作情報収集手段３によって収集された動作情報Ｉ３に基づき、動作指令値Ｃ１でロボット装置２が動作可能であるか否かを判定し、判定結果である動作可能情報Ｉ４を出力する。
【００２３】
動作実行可能判定手段４による判定手法として、既知である内部センサを用いた衝突検知判定や過速度判定、過トルク判定、特異点判定、稼動限界範囲判定等が考えられる。また距離センサやビジョンセンサ、触覚センサ，接触センサといった外部センサを用いてロボットと周辺環境との距離が一定以上に保たれているかを判定の材料としても良い。また距離センサやビジョンセンサ等の認識作業時に認識範囲内にロボットが位置して認識作業を妨害しているか等、外部センサの認識作業をロボットが妨害しているかを判定の材料としても良い。
【００２４】
経由点候補決定手段５は、動作可能情報Ｉ４が動作可能を指示する場合、動作情報収集手段３より得た動作情報Ｉ３を入力し、動作情報Ｉ３に基づき実行時間が短縮される経由点候補を決定する。この際、複数の経由点からなる軌道であれば座標を変更する経由点の選択も行い、軌道の改善が見込める経由点が存在するかの終了判定も行う。
【００２５】
経由点候補決定手段５は軌道の改善が見込める経由点を見いだし場合、改善可能を指示する改善情報Ｉ５０と実行時間が短縮される経由点候補（第１の経由点候補）の座標を規定した経由点候補情報Ｉ５１（第１の経由点候補情報）を出力し、改善の見込みが無いと判断した場合、改善不（可）能を指示する改善情報Ｉ５０を出力する。
【００２６】
動作可能経由点候補探索手段６は、動作可能情報Ｉ４を受け、動作可能情報Ｉ４が動作不能を指示するとき、動作状態となる。動作可能経由点候補探索手段６の目的は動作不能時に経由点の座標を変更することにより、経由点候補決定手段５で短縮された実行時間内で動作可能な他の経由点候補（第２の経由点候補）を見つけることである。
【００２７】
また、動作可能経由点候補探索手段６は、第２の経由点候補を見つけられない場合は、軌道改善を試みることを指示するボトルネック座標変更指令Ｃ６を経由点候補決定手段５に与える。
【００２８】
経由点候補決定手段５は動作可能経由点候補探索手段６よりボトルネック座標変更指令Ｃ６を受けた場合、直近に経由点候補情報Ｉ５１で指示した第１の経由点候補を破棄し、新たな第１の経由点候補を決定する処理を行う。
【００２９】
なお、経由点候補決定手段５は、後に詳述するが、経由点の一つを選択経由点とし、選択経由点を含む選択補間動作におけるボトルネック駆動部に関し実行時間が短縮される範囲で経由点候補を決定する動作を行う。一方、動作可能経由点候補探索手段６は、上記ボトルネック駆動部以外の駆動部に関し実行時間が短縮される範囲でロボット装置２が動作可能な第２の経由点候補を決定する動作を行う。
【００３０】
経由点変更手段７は、経由点候補決定手段５から得た改善情報Ｉ５０及び経由点候補情報Ｉ５１に加え、動作可能経由点候補探索手段６からの経由点候補情報Ｉ５２を入力する。
【００３１】
そして、経由点変更手段７は、改善情報Ｉ５０が改善可能を指示する場合、経由点候補情報Ｉ５１の指示する第１の経由点候補を変更経由点として決定し、選択経由点の座標を当該変更経由点の座標に置き換えた複数の軌道座標からなる情報を変更軌道位置情報Ｉ７（新たな軌道位置情報）としてロボット制御手段１に出力する。すると、ロボット制御手段１は変更軌道位置情報Ｉ７に基づく動作指令値Ｃ１をロボット装置２に出力する。
【００３２】
ただし、経由点変更手段７は、経由点候補情報Ｉ５２が指示する第２の経由点候補が存在する場合、第２経由点候補を上記変更経由点として決定し、選択経由点の座標を当該変更経由点の座標に置き換えた複数の軌道座標からなる情報を変更軌道位置情報Ｉ７としてロボット制御手段１に出力する。なぜならば、経由点候補情報Ｉ５２が指示する第２の経由点候補が存在する場合、経由点候補情報Ｉ５１が指示する第１の経由点候補はロボット装置２が実行不能と動作実行可能判定手段４によって判定されたからである。
【００３３】
一方、経由点変更手段７は、改善情報Ｉ５０が改善不能を指示する場合、過去に経由点候補情報Ｉ５１及び経由点候補情報Ｉ５２で指示された第１及び第２経由点候補を含む過去に出力した変更軌道位置情報Ｉ７のうち、動作実行可能判定手段４によって動作可能と判定され、かつ、実行時間が最短である複数の軌道座標を規定した変更軌道位置情報Ｉ７を最終決定する。
【００３４】
その後、経由点変更手段７は最終決定した変更軌道位置情報Ｉ７に基づきロボット装置２の軌道制御がなされることなる。
【００３５】
図２は実施の形態１のロボット軌道制御装置を実現する具体的な装置構成（第１の装置構成）を示す説明図である。同図に示すように、ロボット制御手段１としてロボット制御装置２２が用いられ、ロボット制御装置２２が出力する動作指令値に従って、ロボット装置２に相当するロボット２１が動作する。ロボット２１の各駆動部の状態を示す駆動部情報や実行時間といった内部センサの出力はロボット制御装置２２を介して電子計算機２４に出力される。ロボット２１に備えられた外部センサの出力（周辺情報）はセンサ用ケーブル２５を介してロボット２１から電子計算機２４に出力される。
【００３６】
電子計算機２４は軌道改善するための経由点候補を決定するための計算を行うものであり、具体的には、図１で示した動作情報収集手段３、動作実行可能判定手段４、経由点候補決定手段５、動作可能経由点候補探索手段６、及び経由点変更手段７の機能を実装したものである。
【００３７】
ティーチングボックス２３は、作業者がロボット制御装置２２に初期情報Ｉ１を与える装置である。すなわち、ティーチングボックス２３は、始点座標、終点座標、初期経由点座標を含む初期情報Ｉ１を教示する際や、ロボット２１動作時の緊急停止等に用いられる。なお、教示データを電子計算機２４から入力する構成にしても当然構わない。
【００３８】
図３はロボット２１の具体例を示す説明図である。同図に示すロボット２１が、始点標、少なくとも一つの経由点及び終点の座標である軌道座標間の複数の補間動作内容を規定した命令を含むロボット制御装置２２からの動作指令値によって動作するロボットに相当する。
【００３９】
同図に示すように、ロボット２１は駆動部Ｄ１〜Ｄ６と基体部Ｋ０、関節部Ｋ１〜Ｋ５及び把持部Ｋ６から構成される。駆動部Ｄ１〜Ｄ５による駆動（回転等）によって関節部Ｋ１〜Ｋ５の位置が変動し、駆動部Ｄ６によって把持部Ｋ６が把持動作を行う。なお、説明の都合上、基体部Ｋ０、把持部Ｋ６を含めて単に関節部Ｋ０〜Ｋ６と呼ぶ場合がある。
【００４０】
以降の説明では、ロボット２１の位置姿勢、教示データは駆動部Ｄ１〜Ｄ６それぞれの位置で表記する。例えば、図３のような６軸垂直多関節型ロボットの場合には、駆動部Ｄｉ（ｉ＝１〜６のいずれか）の位置をＪｉと表記してロボットの位置姿勢、教示データの座標（軌道座標）は、 (Ｊ１，Ｊ２，Ｊ３，Ｊ４，Ｊ５，Ｊ６）で表されるものとする。
【００４１】
各教示データを繋ぐ補間動作内容を指示する補間命令としては駆動部Ｄ１〜Ｄ６単位で補間を行う命令の例を考える。具体的には、各駆動部Ｄｉが同時に動き出し、動作中はできるだけ等速に動き、各駆動部Ｄｉが同時に動作を終了する補間動作種別がある。また、ロボット２１は経由点で一時停止するのではなく、経由点を挟んだ２つの補間動作（始点〜経由点における補間動作、経由点〜終点における補間動作）を滑らかに繋ぐ動作をするものとする。これら２つ補間動作に関する動作命令である補間命令は、特に軌道の改善が求められる場面や、軌道改善の余地が大きい場面で頻繁に利用されるものである。
【００４２】
（動作）
図４は実施の形態１のロボット軌道制御装置におけるロボット軌道制御方法の処理内容を示すフローチャートである。以下、同図を参照して、実施の形態１のロボット軌道制御装置によるロボット軌道制御方法を説明する。
【００４３】
まず、ステップＳ１１に示すように、始点座標、終点座標及び少なくとも一つの初期経由点座標を含む複数の軌道座標を規定した初期情報Ｉ１がロボット制御手段１に入力される。
【００４４】
ロボット制御手段１は、初期情報Ｉ１に基づき、複数の軌道座標間の補間動作の内容を規定した動作指令値Ｃ１をロボット装置２に出力し、ロボット装置２を駆動制御する。なお、初期設定される複数の軌道座標は動作実行可能なものであればよく経由点の数はいくつでもよい。
【００４５】
ロボット装置２が動作実行すると、動作情報収集手段３がロボット装置２の駆動部情報及び周辺情報を含む動作情報を時系列に沿って収集し、動作情報Ｉ３として出力する。
【００４６】
動作実行可能判定手段４は、動作情報Ｉ３に基づき動作実行可能かを判定して動作可能情報Ｉ４を出力する。なお、ロボット装置２の動作実行中に動作実行不可能と判定された場合には、ロボット装置２の損傷を防ぐために、動作実行を中断した上で動作を逆に辿る等して動作開始の状況に戻す。一方、ロボット装置２の損傷の危険が無いようであれば、動作実行を停止する必要は特に無い。当然この動作の中断は、ロボット制御装置２２が既知の技術を用いて行ってもよい。
【００４７】
動作実行可能判定手段４により動作実行可能と判定された場合（動作可能情報Ｉ４が動作可能を指示する場合）、経由点候補決定手段５は、動作情報収集手段３によって収集された各駆動部Ｄｉの動作情報Ｉ３（駆動部情報）に基づき実行時間が短縮される経由点候補を決定する経由点候補決定処理を実行する。
【００４８】
以下、経由点候補決定手段５は経由点候補決定処理について説明する。経由点候補決定処理は図４のステップＳ１４〜Ｓ１７の処理に該当する。
【００４９】
まず、ステップＳ１４の前提となる考え方について説明する。上述した複数の補間動作において、各補間動作の実行時間は各駆動部Ｄｉを単独で動かした際に最も時間が掛かる駆動部の実行時間によって決定される。
【００５０】
そこで、ロボットの補間動作の実行時間を決定するこの駆動部をこの補間動作におけるボトルネックと定義し「ボトルネック駆動部ＢＤ」と表記する。経由点候補決定手段５は、各補間動作における各ボトルネック駆動部ＢＤの実行時間を減らすことにより、始点から終点に至るの実行時間を短縮する働きを有してる。このとき、１つの補間動作にボトルネック駆動部ＢＤに該当する駆動部が複数同時に存在する場合には、適宜１つがボトルネック駆動部ＢＤとして選ばれるものとする。
【００５１】
以上の前提となる考え方に基づき、経由点候補決定手段５は、ステップＳ１４において、変更を行う経由点（選択経由点）と注目する補間動作（選択補間動作）を適宜選択する。
【００５２】
その後、ステップＳ１５において、経由点候補決定手段５は、動作実行時の各駆動部Ｄｉの動作情報から選択補間動作におけるボトルネックとなる駆動部ボトルネック駆動部ＢＤを選ぶと共に、動作情報Ｉ３に基づき、ボトルネック駆動部ＢＤに関し、実行時間が短縮される範囲で第１の経由点候補を決定する経由点候補決定処理を実行する。ここでは各駆動部Ｄｉの速度情報をもとにボトルネック駆動部ＢＤを決定する例について説明する。
【００５３】
図５は経由点候補決定手段５によるボトルネック駆動部ＢＤの選択方法を示すフローチャートである。以下、同図を参照してボトルネック駆動部ＢＤの選択処理内容を説明する。
【００５４】
まず、ステップＳ１において、補間動作中において駆動部Ｄｉが到達した最高速度である到達速度Ｖｉを駆動部Ｄｉ毎に求める。
【００５５】
続いて、ステップＳ２において、到達速度Ｖｉをロボットに予め定められている各駆動部Ｄｉの最高速度である定格速度ＶＭｉで除した係数値Ｐｉを駆動部Ｄｉ毎に求める。
【００５６】
最後に、ステップＳ３において、各駆動部Ｄｉの係数値Ｐｉを比較して、係数値Ｐｉが最も大きい駆動部をこの補間動作におけるボトルネック駆動部ＢＤとする。
【００５７】
経由点候補決定手段５は、ボトルネック駆動部ＢＤを決定後、ボトルネック駆動部ＢＤの速度変化パターンから実行時間が短縮される第１の経由点候補を決定する。
【００５８】
図４に戻って、ステップＳ１６において、経由点候補決定手段５は、選択経由点を挟んだ２つの補間動作のいずれかである選択補間動作におけるボトルネック駆動部ＢＤの速度変化パターンをケースＡ〜ケースＣで分類する。
【００５９】
以下、ケースＡ〜ケースＣについて例を挙げて説明する。始点→経由点（×1（経由点数が“１”））→終点の一連の移動において、「始点→経由点」を選択補間動作した場合にボトルネック駆動部ＢＤとなる駆動部（以下、説明の都合上、「前半ボトルネック駆動部ＢＤＦ」と略記する場合あり）の速度変化パターンを次の３つ場合で分類する。
【００６０】
ケースＡ ：２つの補間動作「始点→経由点」及び「経由点→終点」での移動が同一方向であり、かつ「経由点→終点」の補間動作においても、前半ボトルネック駆動部ＢＤＦがそのままボトルネックとなる場合。
【００６１】
ケースＢ ：２つの補間動作「始点→経由点」及び「経由点→終点」での移動が同一方向(停止も含む)であり、かつ「経由点→終点」の補間動作においては、前半ボトルネック駆動部ＢＤＦと異なる他の駆動部がボトルネックとなる場合。
【００６２】
ケースＣ ：２つの補間動作「始点→経由点」及び「経由点→終点」との間で、前半ボトルネック駆動部ＢＤＦの移動方向が異なる場合。
【００６３】
同様にして、「経由点→終点」の補間動作においてボトルネック駆動部ＢＤとなる駆動部（以下、説明の都合上、「後半ボトルネック駆動部ＢＤＲ」と略記する場合あり）の速度変化パターンを考える。
【００６４】
この場合、ケースＢと等価なケース（以下、仮に「ケースＢ′」と呼ぶ。）として、「始点→経由点」と「経由点→終点」での移動が同一方向(停止も含む)であり、かつ「始点→経由点」の補間動作においては、後半ボトルネック駆動部ＢＤＲと異なる他の駆動部がボトルネックとなる場合が考えられる。なお、後半ボトルネック駆動部ＢＤＲについて、ケースＡ，ケースＣは、前半ボトルネック駆動部ＢＤＦの場合と実質同様であるので説明を省略する。
【００６５】
図６は上述した前半ボトルネック駆動部ＢＤＦについてのケースＡ〜ケースＣに該当する特徴的な速度変化パターンをそれぞれ表した説明図である。
【００６６】
同図(a) に示すように、「始点→終点」の移動で単一の駆動部が一方向に最高速度で動作しているため、ケースＡに該当する。したがって、経由点Ｇ１０の座標を変化させても「始点→終点」の実行時間をこれ以上短縮することはできない。よって、経由点候補決定手段５は、ケースＡの際、今回動作させた経由点は最適であると判断し新たな経由点候補を出力せず、改善不能を指示する改善情報Ｉ５０を出力する。
【００６７】
同図(b) に示すように、注目している前半ボトルネック駆動部ＢＤＦの「始点→終点」における全体の移動量が「始点→経由点」の移動側に偏っているため、ケースＢに該当する。したがって、経由点候補決定手段５は、経由点座標Ｇ２０における前半ボトルネック駆動部ＢＤＦの座標部分（例：前半ボトルネック駆動部ＢＤＦが駆動部Ｄ３の場合、Ｊ１〜Ｊ６のうちのＪ３が該当）を、始点座標における前半ボトルネック駆動部ＢＤＦの座標に近づけた経由点座標を新たな経由点候補に決定する。この際、経由点候補決定手段５は、改善可能を指示する改善情報Ｉ５０と、上記新たな経由点候補を指示する経由点候補情報Ｉ５１とを出力する。
【００６８】
なお、注目しているのが後半ボトルネック駆動部ＢＤＲの際、同図(b) とは経由点座標Ｇ２０を中心に左右逆にした速度変化パターンであれば、「経由点→終点」における全体の移動量が「経由点→終点」の移動側に偏っており、ケースＢ′に該当する。ケースＢ′の場合、経由点候補決定手段５は、経由点座標Ｇ２０における後半ボトルネック駆動部ＢＤＲの座標部分を、終点座標における後半ボトルネック駆動部の座標に近づけた経由点座標を新たな経由点候補に決定することになる。
【００６９】
同図(c) に示すように、前半ボトルネック駆動部ＢＤＦは、経由点Ｇ３０で移動方向を変化させて遠回りの迂回動作をしており、ケースＣに該当する。よって経由点座標における前半ボトルネック駆動部ＢＤＦの座標を始点座標における前半ボトルネック駆動部ＢＤＦの座標に近づけた経由点座標を新たな経由点候補に決定する。このとき、終点座標における前半ボトルネック駆動部ＢＤＦの座標に近づけても、同等な効果を得ることができる。
【００７０】
図４に戻って、ステップＳ１７において、経由点候補決定手段５はステップＳ１６で分類したケースＡ〜ケースＣに基づき、選択経由点に替わる経由点候補の最終決定を行う。
【００７１】
すなわち、経由点候補決定手段５は、ステップＳ１６の分類パターンがケースＡの場合は改善不能を指示する改善情報Ｉ５０を出力し、上記分類パターンがケースＢまたはケースＣの場合は、改善可能を指示する改善情報Ｉ５０と、上述したように決定される第１の経由点候補を指示する経由点候補情報Ｉ５１とを出力する。
【００７２】
このように、経由点候補決定手段５は、ケースＢやケースＣの場合には、補間動作の実行時間を決定する前半ボトルネック駆動部ＢＤＦの偏った移動や無駄な移動を排除した座標を第１の経由点候補とする。これによって、ロボット装置２の「始点→終点」の動作に際し、その実行時間を短縮することができる。
【００７３】
ここで、ステップＳ１４における変更対象の選択経由点と選択補間動作の選び方としてランダムに選ぶ方法が取れる。この場合、改善を複数回行い最良のものを選択することで平均的な改善効果の向上が見込める。
【００７４】
また、経由点の変更回数が(実行時間の短縮が見込めない場合を除いて)均一になるように選んでもよい。この場合、平均的に最適化が進むので改善が完了するまでの変更回数が少なくなることが見込める。また実行時間が長い補間動作やケースＣの補間動作をケースＢの補間動作より優先する等、全体の実行時間に影響が大きい補間動作から選んでもよい。この場合、経由点を変更する余地が実行時間の短縮が大きく見込めるものへ優先されるため、改善効果の向上が見込める。
【００７５】
経由点候補決定手段５により第１の経由点候補を指示した経由点候補情報Ｉ５１が出力されると、経由点変更手段７により経由点候補情報Ｉ５１の指示する第１の経由点候補を変更経由点として決定し、選択経由点の座標を変更経由点の座標に置き換えた新たな複数の軌道座標からなる変更軌道位置情報Ｉ７をロボット制御手段１に出力する。
【００７６】
その結果、ロボット制御手段１が変更軌道位置情報Ｉ７に基づく動作指令値Ｃ１をロボット装置２に与え、ロボット装置２の軌道を制御する。この際のロボット装置２の動作状況が動作情報収集手段３で収集され動作情報Ｉ３として出力されることになる。
【００７７】
その結果、ステップＳ１８において、動作実行可能判定手段４は、経由点候補情報Ｉ５１で指示する経由点候補（第１の経由点候補）で動作可能か否かを判定して動作可能情報Ｉ４を出力する。動作可能情報Ｉ４が動作可能を指示する場合、ステップＳ１２に戻る。
【００７８】
ステップＳ１２において、経由点候補決定手段５によって全ての経由点及び補間動作で実行時間の短縮が見込めないと判断されると（ＹＥＳ）とステップＳ１３に移行する。例えば、全ての経由点及び補間動作においてステップＳ１６の分類速度変化パターンがケースＡを示した場合、ステップＳ１２でＹＥＳとなる。
【００７９】
ステップＳ１３において、学習を終了し、経由点変更手段７は、過去に出力された変更軌道位置情報Ｉ７のうち、動作可能と判定された中で実行時間が最短であった変更軌道位置情報Ｉ７を最終決定する。
【００８０】
その後、経由点変更手段７は最終決定した経由点を軌道座標とした変更軌道位置情報Ｉ７をロボット制御手段１に出力すればよく、以降、変更軌道位置情報Ｉ７の内容を変化させる必要はない。このようにして、実施の形態１のロボット軌道制御装置による軌道改善処理は終了する。ただし、運転状態を監視し続けて、経年劣化等でロボットの速度パターンが変化した場合に再度学習を行うようにしても良い。
【００８１】
ステップＳ１２において、さらに、経由点及び補間動作で実行時間の短縮が見込める可能性があると判断されると（ＮＯ）、ステップＳ１３〜Ｓ１７の経由点候補決定処理が再び行われる。なお、経由点候補決定手段５による経由点候補決定処理が一度も行われていない、初期情報Ｉ１の入力直後の場合、ステップＳ１２の判断はＮＯとなる可能性が高い。
【００８２】
次に、ステップＳ１８で動作実行不能と判断された場合（ＮＯ）の動作可能経由点候補探索手段６による探索処理について説明する。
【００８３】
動作可能経由点候補探索手段６による探索処理は、動作情報収集手段３によって収集された動作情報Ｉ３に基づき、各駆動部Ｄｉの動作情報を用いて実行時間が短縮される範囲で干渉を回避する経由点候補を決定することにより行われる。
【００８４】
経由点候補決定手段５が実行時間を短縮するために経由点候補を変更した際には、動作情報収集手段３より得られる動作情報Ｉ３に基づき各駆動部Ｄｉの動作情報から実行時間がどれだけ短縮されるかは算出できる。同様に、経由点の他の駆動部に対応する座標を変更した際の実行時間の変化も動作情報Ｉ３に基づき算出できる。したがって、動作可能経由点候補探索手段６は、これらの算出結果から実行時間が短縮される範囲を導出し、その範囲内で干渉を回避する第２の経由点候補を決定することができる。以下、図４に沿って、動作可能経由点候補探索手段６の探索処理を詳述する。
【００８５】
まず、ステップＳ３３で、直近のステップＳ１５で算出されたボトルネック駆動部ＢＤ以外の駆動部を他の選択駆動部ＥＤとして選ぶ。
【００８６】
そして、ステップＳ３４において、実行時間が延長されない範囲で、他の選択駆動部ＥＤに関し、次の(1)〜(3)の手法を用いて得られた第２の経由点候補を、選択経由点（経由点候補決定手段５によりされた第１の経由点候補の内容反映）に替わる経由点候補として導出し、当該第２の経由点候補を規定した経由点候補情報Ｉ５２を出力する。
【００８７】
(1) 他の選択駆動部ＥＤが経由点前後のどちらの補間動作においてもボトルネック駆動部ＢＤに該当しないときには、変更する方向は問わずボトルネック駆動部ＢＤにならない範囲の量だけ、選択経由点における他の選択駆動部ＥＤの座標部分を変更する。
【００８８】
(2) 他の選択駆動部ＥＤが経由点前後の少なくともどちらかの補間動作でボトルネック駆動部ＢＤに該当するときには、経由点候補決定手段５による経由点候補決定処理と同様に経由点の他の選択駆動部ＥＤの座標を変更する。
【００８９】
(3) 上記(1)，(2)の２つの変更でも動作実行可能と判定されない場合には、ボトルネック駆動部ＢＤの変更によって短縮される実行時間よりも、延長される実行時間が短い範囲で経由点の他の選択駆動部ＥＤの座標を変化させる。
【００９０】
動作可能経由点候補探索手段６により第２の経由点候補を指示する経由点候補情報Ｉ５２が出力されると、経由点変更手段７により経由点候補情報Ｉ５２の指示する経由点候補が変更経由点として決定され、選択経由点の座標を変更経由点の座標に置き換えた新たな複数の軌道座標からなる変更軌道位置情報Ｉ７をロボット制御手段１に出力する。
【００９１】
ロボット制御手段１は変更軌道位置情報Ｉ７に基づき動作指令値Ｃ１をロボット装置２に与えることにより、ロボット装置２の軌道を制御する。ロボット装置２の動作状況が動作情報収集手段３で収集され動作情報Ｉ３として出力されることになる。
【００９２】
その結果、ステップＳ３５において、動作実行可能判定手段４は、経由点候補情報Ｉ５２で指示された経由点候補で動作可能（干渉していない等）か否かを判定して動作可能情報Ｉ４を出力する。動作可能情報Ｉ４が動作可能を指示する場合（ＹＥＳ）、ステップＳ１２に戻る。
【００９３】
一方、動作実行可能判定手段４で動作不能を判定した場合（ステップＳ３５でＮＯ）、ステップＳ３６で、経由点候補情報Ｉ５２の指示する第２の経由点候補を破棄し、ステップＳ３１に戻る。
【００９４】
ステップＳ３１において、ボトルネック駆動部ＢＤ以外の全ての駆動部Ｄｉを変更しても、実行時間の短縮が見込めないと判断されると（ＹＥＳ）と、ステップＳ３２で経由点候補情報Ｉ５１で指示された第１の経由点候補を破棄し、ステップＳ１２に戻る。すなわち、ステップＳ３２において、動作可能経由点候補探索手段６は経由点候補決定手段５により他の経由点候補の決定を指示するボトルネック座標変更指令Ｃ６を出力する。
【００９５】
ステップＳ３１において、ボトルネック駆動部ＢＤ以外のいずれかの駆動部Ｄｉを変更すれば実行時間の短縮が見込めると判断されると（ＮＯ）、ステップＳ３３〜Ｓ３４の動作可能経由点候補探索手段６による探索処理をさらに行う。なお、動作可能経由点候補探索手段６による探索処理が一度も行われていない場合等は、ステップＳ３１の判断はＮＯとなる可能性が高い。
【００９６】
その後、再び、ステップＳ３３〜Ｓ３４において、まだ試していない駆動部を他の選択駆動部ＥＤとして、探索処理を行う。
【００９７】
上述したように、実施の形態１のロボット軌道制御装置は、ロボット装置２を実際に動作させながら、動作情報収集手段３より得られる動作情報Ｉ３に基づき経由点候補決定手段５（ステップＳ１２〜Ｓ１４）あるいは動作可能経由点候補探索手段６（ステップＳ３３，Ｓ３４）により、実行時間が短縮される範囲で第１あるいは第２の経由点候補を得ている。そして、経由点変更手段７が上記第１あるいは第２の経由点候補を変更経由点として決定している。
【００９８】
したがって、実施の形態１のロボット軌道制御装置は、経由点変更手段７によって決定された変更経由点を選択経由点に置き換えた情報を変更軌道位置情報Ｉ７として自動的に順次得ることにより、少ない計算手順で周辺環境との干渉を発生させることなく、ロボットの軌道を改善することができる。
【００９９】
ここで、経由点候補を決定する際（ステップＳ１７，ステップＳ３４）における経由点座標の変更量であるが、所定の値で変更する場合には作業を行う場面に合わせて調整することにより、改善に掛かる時間と改善効果を適宜調整することができる。また、経由点候補決定処理の際、駆動部のケースＡ〜ケースＣで表される速度変化パターンの場合には、速度変化パターンがちょうど他のケースに変化するように経由点座標の変化量を調整するようにしてもよい。この場合、同じ速度変化パターン内で２つの経由点座標を交互に経由点候補とし続けることを防ぐ効果がある。また、障害物との干渉があまり発生しない場合には変更量を大きく、干渉が多発する場合には変更量を小さくすることで、計算手数を抑えつつ改善効果を大きくする効果が期待できる。
【０１００】
（経由点候補決定処理の第１例）
図７〜図１６は経由点候補決定手段５による経由点候補決定処理の第１例を示す図である。図７，図９，図１１，図１３，図１５は２つの経由点を含む始点から終点へのハンド位置変化を模式的に示す説明図であり、図８，図１０，図１２，図１４，図１６は、図７，図９，図１１，図１３，図１５のハンドの移動における、ｘ軸方向及びｙ軸方向に平行に動く２つの駆動部の速度変化を示すグラフである。
【０１０１】
経由点候補決定処理の説明を間単にするために、ｘ軸及びｙ軸それぞれに平行に動く２つの駆動部が存在するものとしている。また、ｘ軸方向に平行に動く駆動部及びｙ軸方向に平行に動く駆動部は共に同程度の定格速度ＶＭｉを有しているとする。この点は以降で述べる第２例〜第４例においても同様である。
【０１０２】
図７，図９，図１１，図１３，図１５において始点座標であるハンド位置Ｐ１１は経由点ＶＰ１であるハンド位置Ｐ１２及び経由点ＶＰ２であるハンド位置Ｐ１３を経由して、終点座標であるハンド位置Ｐ１４に移動することを示している。すなわち、ロボット装置２のハンドはＰ１１→Ｐ１２→Ｐ１３→Ｐ１４の順に移動する。ハンドによる移動対象物がワークＷ１であり、ハンド位置Ｐ１１〜Ｐ１４間には障害物Ｅ１が存在している。
【０１０３】
以下、まず、初期情報Ｉ１によって図７及び図８に示す初期軌道が与えられた場合における経由点候補決定手段５による経由点候補決定処理を図４で示したフローチャートと対応づけて説明する。
【０１０４】
図７及び図８に示す初期軌道において、経由点ＶＰ１（ハンド位置Ｐ１２）及び始点（ハンド位置Ｐ１１）→経由点ＶＰ１の補間動作に注目する（図４のステップＳ１４）。すなわち、ＶＰ１が選択経由点、「始点→経由点ＶＰ１」が選択補間動作となる。初期軌道についての図８で示す動作情報（速度変化）に基づき、上記選択補間動作においてボトルネック駆動部ＢＤとなっているのはｙ軸方向の駆動部であることを認識する（図４のステップＳ１５）。
【０１０５】
ここで、ｙ軸方向の駆動部の始点→経由点ＶＰ１→経由点ＶＰ２における速度変化パターンは上述したケースＢに該当する（図４のステップＳ１６）。したがって、経由点ＶＰ１のｙ軸座標を始点座標方向に変更して（図４のステップＳ１７）、変更後の軌道として図９及び図１０で示す第２軌道を得る。
【０１０６】
この第２軌道は障害物Ｅ１と干渉しないため、図４のステップＳ１８でＹＥＳとなる。また、第２軌道から軌道改善の可能性が存在するため、ステップＳ１２でＮＯとなり、図４のステップＳ１４に戻る。
【０１０７】
第２軌道が得られると、経由点ＶＰ１及び経由点ＶＰ１→経由点ＶＰ２（ハンド位置Ｐ１３）の補間動作に注目する（図４のステップＳ１４）。すなわち、経由点ＶＰ１が選択経由点、「経由点ＶＰ１→経由点ＶＰ２」が選択補間動作となる。第２軌道についての図１０で示す動作情報に基づき、上記選択補間動作でボトルネック駆動部ＢＤとなっているのはｘ軸方向の駆動部であることを認識する（図４のステップＳ１５）。
【０１０８】
ここで、ｘ軸方向の駆動部の始点→経由点ＶＰ１→経由点ＶＰ２における速度変化パターンはケースＢ′に該当する（図４のステップＳ１６）。したがって、経由点ＶＰ１のｘ軸座標を経由点ＶＰ２の座標方向に変更して（図４のステップＳ１７）、変更後の軌道として図１１及び図１２で示す第３軌道を得る。
【０１０９】
この第３軌道は障害物Ｅ１と干渉しないため、図４のステップＳ１８でＹＥＳとなる。また、第３軌道から軌道改善の可能性が存在するため、ステップＳ１２でＮＯとなり、図４のステップＳ１４に戻る。以降、図４との対応についての同様な説明は適宜省略する。
【０１１０】
第３軌道が得られると、経由点ＶＰ２及び経由点ＶＰ２→終点（ハンド位置Ｐ１４）の補間動作に注目する。すなわち、経由点ＶＰ２が選択経由点、「経由点ＶＰ２→終点」が選択補間動作となる。第３軌道についての図１２の動作情報に基づき、上記選択補間動作でボトルネック駆動部ＢＤとなっているのはｙ軸方向の駆動部であることを認識する。
【０１１１】
ｙ軸方向の駆動部の経由点ＶＰ１→経由点ＶＰ２→終点における速度変化パターンはケースＣに該当する。したがって、経由点ＶＰ２のｙ軸座標を経由点ＶＰ１の座標方向に変更して、図１３及び図１４で示す第４軌道を得る。
【０１１２】
第４軌道が得られると、経由点ＶＰ２及び経由点ＶＰ１→経由点ＶＰ２の補間動作に注目する。すなわち、経由点ＶＰ２が選択経由点、「経由点ＶＰ１→経由点ＶＰ２」が選択補間動作となる。第４軌道についての図１４の動作情報に基づき、上記選択補間動作でボトルネック駆動部ＢＤとなっているのはｘ軸方向の駆動部であることを認識する。
【０１１３】
ｘ軸方向の駆動部の経由点ＶＰ１→経由点ＶＰ２→終点における速度変化パターンは、ケースＢに該当する。したがって、経由点ＶＰ２のｘ軸座標を経由点ＶＰ１の座標方向に変更して、図１５及び図１６で示す第５軌道となる。
【０１１４】
この第５軌道は障害物Ｅ１と干渉しないため、図４のステップＳ１８でＹＥＳとなり、ステップＳ１２に以降する。
【０１１５】
図１６で示す動作情報から始点→経由点ＶＰ１→経由点ＶＰ２→終点の全ての補間動作でボトルネック駆動部ＢＤとなっているのはｘ軸方向の駆動部であり、その速度変化パターンはケースＡであるため、これ以上の実行時間の短縮は見込めないため改善は終了する（図４のステップＳ１２でＹＥＳ）。
【０１１６】
その結果、ロボット装置２の軌道改善の学習を終了し、経由点変更手段７は、過去の教示データ（変更軌道位置情報Ｉ７として採用した軌道座標）のうち、動作可能と判定された中で実行時間が最短であった経由点候補の座標に変更する。（図４のステップＳ１３）。
【０１１７】
（経由点候補決定処理の第２例）
図１７〜図２０は経由点候補決定手段５による経由点候補決定処理の第２例を示す図である。図１７，図１９は２つの経由点を含む始点から終点へのハンド位置変化を模式的に示す説明図であり、図１８，図２０は、図１７，図１９のハンドの移動における、ｘ軸方向及びｙ軸方向に平行に動く２つの駆動部の速度変化を示すグラフである。
【０１１８】
図１７，図１９において始点座標であるハンド位置Ｐ２１は経由点ＶＰ１であるハンド位置Ｐ２２及び経由点ＶＰ２であるハンド位置Ｐ２３を経由して、終点座標であるハンド位置Ｐ２４に移動することを示している。すなわち、ロボット装置２のハンドはＰ２１→Ｐ２２→Ｐ２３→Ｐ２４の順に移動する。ハンドによる移動対象物がワークＷ２であり、ハンド位置Ｐ２１〜Ｐ２４間には障害物Ｅ２が存在している。
【０１１９】
図３７は第２例及び第３例に対応する、実施の形態１のロボット軌道制御装置におけるロボット軌道制御方法の処理内容を示すフローチャートである。
【０１２０】
同図に示すように、ステップＳ１８でＹＥＳ後及びステップＳ３５でＹＥＳ後に実行されるステップＳ２１の経由点削除処理を追加している。すなわち、ステップＳ２１において、経由点候補決定手段５は、軌道変更後の経由点の座標が、その経由点前後の教示点座標を補間動作で繋いだ軌道上にある場合、軌道変更後の経由点を削除する。このステップＳ２１の実行後にステップＳ１２に移行する。なお、ステップＳ２１は、ステップＳ３２の実行後にも実行されるが、通常はステップＳ２１の条件に該当することは無い。他の処理は図４で示したフローチャートと同様であるため、説明を省略する。
【０１２１】
以下、初期情報Ｉ１によって図１７及び図１８に示す初期軌道が与えられた場合における経由点候補決定手段５による経由点候補決定処理を図３７で示したフローチャートと適宜対応づけて説明する。
【０１２２】
図１７及び図１８に示す初期軌道が与えられた場合、経由点候補決定手段５は第１例と同様に経由点候補決定処理を行い、図１９及び図２０で示す改善軌道を得る。すなわち、経由点候補決定手段５は、「経由点ＶＰ１（ハンド位置Ｐ２２）及び経由点ＶＰ１→経由点ＶＰ２（ハンド位置Ｐ２３）の補間動作に注目」して経由点候補決定処理を行い、さらに、「経由点ＶＰ２及び経由点ＶＰ１→経由点ＶＰ２の補間動作に注目」して経由点候補決定処理を行って上記改善軌道を得る。
【０１２３】
上記改善軌道が得られると、経由点ＶＰ１及び始点→経由点ＶＰ１の補間動作に注目する（図３７のステップＳ１４）。すなわち、経由点ＶＰ１が選択経由点、「始点→経由点ＶＰ１」が選択補間動作となる。図２０で示す動作情報に基づき上記選択補間動作でボトルネック駆動部ＢＤとなっているのはｙ軸方向の駆動部であることを認識する（図３７のステップＳ１５）。
【０１２４】
ｙ軸方向の駆動部の始点→経由点ＶＰ１→経由点ＶＰ２における速度変化パターンは、ケースＢに該当する（図３７のステップＳ１６）。したがって、経由点ＶＰ１のｙ軸座標を始点方向に変更して（図３７のステップＳ１７）、変更改善軌道を得る。
【０１２５】
しかし、上記変更改善軌道は、障害物Ｅ２と干渉してしまうため、動作実行不能となる（図３７のステップＳ１８でＮＯ）。
【０１２６】
そこで、動作可能経由点候補探索手段６により探索処理を行い、干渉を回避するためにボトルネック駆動部ＢＤ以外の駆動部（他の選択駆動部ＥＤ）であるｘ軸方向の駆動部の経由点ＶＰ１における座標を変更しようとする（図３７のステップＳ３３）。
【０１２７】
ここで、ｘ軸方向の駆動部は経由点ＶＰ１→経由点ＶＰ２の補間動作でボトルネック駆動部ＢＤとなっており、始点→経由点ＶＰ１→経由点ＶＰ２の速度変化パターンはケースＢに該当する。したがって、経由点ＶＰ１におけるｘ軸方向の駆動部の座標は経由点ＶＰ２の方向に変更して、探索後改善軌道を得る（図３７のステップＳ３４）。しかし、この探索後の改善軌道では、干渉を回避することが出来ない（ステップＳ３５でＮＯ）。他の経由点及び他の補間動作に注目しても同様であり、これ以上の実行時間の短縮は出来ないため改善は終了する（図３７のステップＳ３１でＹＥＳ→ステップＳ３２→ステップＳ１２でＮＯ→Ｓ１３）。
【０１２８】
なお、改善の過程である経由点の座標が、その経由点前後の教示点座標を補間動作で繋いだ軌道上にあるとき、その経由点座標を削除する。すなわち、ステップＳ１８でＹＥＳ後、あるいはステップＳ３５でＹＥＳ後における変更後の座標点について、図３７のステップＳ２１を実行し、上記条件を満足する場合、変更後の経由点を削除する。その後、ステップＳ１２に戻る。
【０１２９】
このように、ステップＳ２１の処理を実行することにより、変更後の経由点座標がその経由点前後の教示点座標を補間動作で繋いだ軌道上にあるとき、その経由点座標を削除することにより、計算手数を少なくする効果を奏する。
【０１３０】
（経由点候補決定処理の第３例）
図２１〜図２８は経由点候補決定手段５による経由点候補決定処理の第３例を示す図である。図２１，図２３，図２５，図２７は２つの経由点を含む始点から終点へのハンド位置変化を模式的に示す説明図であり、図２２，図２４，図２６，図２８は、図２１，図２３，図２５，図２７のハンドの移動における、ｘ軸方向及びｙ軸方向に平行に動く２つの駆動部の速度変化を示すグラフである。
【０１３１】
図２１，図２３，図２５，図２７において始点座標であるハンド位置Ｐ３１は経由点ＶＰ１であるハンド位置Ｐ３２及び経由点ＶＰ２であるハンド位置Ｐ３３を経由して、終点座標であるハンド位置Ｐ３４に移動することを示している。すなわち、ロボット装置２のハンドはＰ３１→Ｐ３２→Ｐ３３→Ｐ３４の順に移動する。ハンドによる移動対象物がワークＷ３であり、ハンド位置Ｐ３１〜Ｐ３４間には障害物Ｅ３が存在している。
【０１３２】
以下、初期情報Ｉ１によって図２１及び図２２に示す初期軌道が与えられた場合における経由点候補決定手段５による経由点候補決定処理を図３７で示したフローチャートと適宜対応づけて説明する。
【０１３３】
図２１及び図２２で示す初期軌道において、経由点ＶＰ１（ハンド位置Ｐ３２）及び経由点ＶＰ１→経由点ＶＰ２（ハンド位置Ｐ３３）の補間動作に注目する（図３７のステップＳ１４）。すなわち、経由点ＶＰ１が選択経由点、「経由点ＶＰ１→経由点ＶＰ２」が選択補間動作となる。初期軌道についての図２２で示す動作情報に基づき、上記選択補間動作でボトルネック駆動部ＢＤとなっているのはｘ軸方向の駆動部であることを認識する（図３７のステップＳ１５）。
【０１３４】
ここで、ｘ軸方向の駆動部の始点→経由点ＶＰ１→経由点ＶＰ２における速度変化パターンはケースＢ′に該当する（図３７のステップＳ１６）。したがって、経由点ＶＰ１のｘ軸座標を経由点ＶＰ２の座標方向に変更して（図３７のステップＳ１７）、変更後の軌道として図２３及び図２４で示す第２軌道を得る。
【０１３５】
この第２軌道は障害物Ｅ３と干渉しないため、図３７のステップＳ１８でＹＥＳとなる。そして、ステップＳ２１で経由点削除されることなくステップＳ１２に戻る。第２軌道から軌道改善の可能性が存在するため、ステップＳ１２でＮＯとなり、図３７のステップＳ１４に戻る。以降、図３７との対応についての同様な説明は適宜省略する。
【０１３６】
第２軌道が得られると、経由点ＶＰ２及び経由点ＶＰ１→経由点ＶＰ２の補間動作に注目する。すなわち、経由点ＶＰ２が選択経由点、「経由点ＶＰ１→経由点ＶＰ２」が選択補間動作となる。第２軌道について図２４で示す動作情報に基づき、上記選択補間動作でボトルネック駆動部ＢＤとなっているのはｘ軸方向の駆動部であることを認識する。
【０１３７】
ここで、ｘ軸方向の駆動部の経由点ＶＰ１→経由点ＶＰ２→終点（ハンド位置Ｐ３４）における速度変化パターンはケースＢに該当する。したがって、経由点ＶＰ２のｘ軸座標を経由点ＶＰ１の座標方向に変更して、変更後の軌道として図２５及び図２６で示す第３軌道を得る。
【０１３８】
この第３軌道は障害物Ｅ３と干渉しないため、図３７のステップＳ１８でＹＥＳとなる。
【０１３９】
そして、ステップＳ２１において、経由点ＶＰ１及び経由点ＶＰ２が重なる、すなわち、経由点前後の軌道座標である始点〜経由点ＶＰ２の座標を補間動作で繋いだ軌道上に経由点ＶＰ２が存在するため、第３軌道における経由点ＶＰ２（ハンド位置Ｐ３３）を削除し、第３軌道を修正する。その後、ステップＳ１２に戻る。第３軌道から軌道改善の可能性が存在するため、ステップＳ１２でＮＯとなり、図３７のステップＳ１４に戻る。
【０１４０】
ステップＳ２１で修正後の第３軌道が得られると、経由点ＶＰ１及び始点→経由点ＶＰ１の補間動作に注目する。すなわち、経由点ＶＰ１が選択経由点、「始点→経由点ＶＰ１」が選択補間動作となる。第３軌道について図２６で示す動作情報に基づき、上記選択補間動作でボトルネック駆動部ＢＤとなっているのはｙ軸方向の駆動部であることを認識する。
【０１４１】
ここで、ｙ軸方向の駆動部の始点→経由点ＶＰ１→終点における速度変化パターンはケースＣに該当する。経由点ＶＰ１のｙ軸座標を始点座標方向に変更して、変更後の軌道として図２７及び図２８で示す第４軌道を得る。
【０１４２】
第４軌道が得られると、図２８で示す動作情報に基づき、始点→経由点ＶＰ１→終点の全ての補間動作でボトルネック駆動部ＢＤとなっているのはｘ軸方向の駆動部であり、その速度変化パターンはケースＡに該当するため、これ以上の実行時間の短縮は見込めないため改善は終了する（図３７のステップＳ１２でＮＯ）。その結果、ロボット装置２の軌道改善の学習を終了する（図３７のステップＳ１３）。
【０１４３】
このように、ステップＳ２１の処理を実行することにより、変更後の経由点座標がその経由点前後の教示点座標を補間動作で繋いだ軌道上にあるとき、その経由点座標を削除することができ、計算手数を少なくする効果を奏する。
【０１４４】
（経由点候補決定処理の第４例）
図２９〜図３６は経由点候補決定手段５による経由点候補決定処理の第４例を示す図である。図２９，図３１，図３３，図３５は２つの経由点を含む始点から終点へのハンド位置変化を模式的に示す説明図であり、図３０，図３２，図３４，図３６は、図２９，図３１，図３３，図３５のハンドの移動における、ｘ軸方向及びｙ軸方向に平行に動く２つの駆動部の速度変化を示すグラフである。
【０１４５】
図２９，図３１，図３３，図３５において始点座標であるハンド位置Ｐ４１は経由点ＶＰ１であるハンド位置Ｐ４２を経由して、終点座標であるハンド位置Ｐ４４に移動することを示している。すなわち、ロボット装置２のハンドはＰ４１→Ｐ４２→Ｐ４４の順に移動する。ハンドによる移動対象物がワークＷ４であり、ハンド位置Ｐ４１〜Ｐ４４間には障害物Ｅ４が存在している。
【０１４６】
図３８は第４例に対応する、実施の形態１のロボット軌道制御装置におけるロボット軌道制御方法の処理内容を示すフローチャートである。
【０１４７】
同図に示すように、ステップＳ３２後に実行されるステップＳ２２の経由点追加処理を追加している。すなわち、ステップＳ２２において、経由点候補決定手段５は、速度変化パターンがケースＣに該当するが、障害物との干渉で改善が見込めない場合、経由点を追加する処理を行う。
【０１４８】
このステップＳ２２の実行後にステップＳ１２に移行する。なお、ステップＳ２２は、ステップＳ１８でＹＥＳ後、ステップＳ３５でＹＥＳの実行後にも実行されるが、ステップＳ２２の条件を満足することはないため、実質的にはステップＳ２２はスルーされることになる。なお、他の処理は図４で示したフローチャートと同様であるため、説明を省略する。
【０１４９】
以下、初期情報Ｉ１によって図２９及び図３０に示す初期軌道が与えられた場合における経由点候補決定手段５による経由点候補決定処理を図３８で示したフローチャートと適宜対応づけて説明する。
【０１５０】
図２９及び図３０で示す初期軌道において、経由点ＶＰ１及び始点→経由点ＶＰ１の補間動作に注目する（図３８のステップＳ１４）。すなわち、経由点ＶＰ１が選択経由点、「始点→経由点ＶＰ１」が選択補間動作となる。図３０の動作情報に基づき、上記選択補間動作でボトルネック駆動部ＢＤとなっているのはｙ軸方向の駆動部であることを認識する（図３８のステップＳ１５）。
【０１５１】
ここで、ｙ軸方向の駆動部の始点→経由点ＶＰ１→終点における速度変化パターンはケースＣに該当する（図３８のステップＳ１６）。したがって、経由点ＶＰ１のｙ軸座標を始点座標方向に変更して、変更後軌道として第２軌道を得る。
【０１５２】
しかし、第２軌道では、障害物Ｅ４と干渉するため（ステップＳ１８でＮＯ）、このままでは実行時間の短縮が見込めず改善が終了してしまう（最終的にステップＳ３１でＹＥＳ，ステップＳ３２の実行）。そこで、ステップＳ３２の実行後にステップＳ２２の処理を実行する。
【０１５３】
ステップＳ２２において、速度変化パターンがケースＣに該当し、障害物Ｅ４との干渉で改善が見込めなかったため、経由点を追加して、図３１及び図３２で示す修正第２軌道を得る。図３１及び図３２に示すように、ハンド位置Ｐ４２〜Ｐ４４間に経由点ＶＰ２としてハンド位置Ｐ４３が追加される。
【０１５４】
その後、ステップＳ１２に戻る。修正第２軌道から軌道改善の可能性が存在するため、ステップＳ１２でＮＯとなり、図３８のステップＳ１４に戻る。以降、図３８との対応についての同様な説明は適宜省略する。
【０１５５】
図３１及び図３２で示す修正第２軌道において、経由点ＶＰ１及び始点→経由点ＶＰ１の補間動作に注目する。すなわち、経由点ＶＰ１が選択経由点、「始点→経由点ＶＰ１」が選択補間動作となる。図３２で示す動作情報に基づき、上記選択補間動作でボトルネック駆動部ＢＤとなっているのはｙ軸方向の駆動部であることを認識する。
【０１５６】
ここで、ｙ軸方向の駆動部の始点→経由点ＶＰ１→経由点ＶＰ２における速度変化パターンはケースＣに該当する。したがって、経由点ＶＰ１のｙ軸座標を始点座標方向に変更して、変更後軌道として第３軌道を得る。
【０１５７】
しかし、ｙ軸座標のみ変更した第３軌道では、障害物Ｅ４と干渉するため（図３８のステップＳ１８でＮＯ）、干渉を回避するため経由点ＶＰ１のｘ軸座標も始点座標よりに変更して（図３８のステップＳ３３及びＳ３４）、図３３及び図３４で示す修正第３軌道を得る。
【０１５８】
以降は、同様に改善が進み、最終的に図３５及び図３６で示す第４軌道を得た後、改善は終了する。
【０１５９】
このように、ステップＳ２２を実行して、変更後の経由点座標により干渉が回避できず、速度変化パターンがケースＣに該当するとき、経由点座標を追加することにより、実行時間をさらに短縮した軌道改善を図ることができる。
【０１６０】
（ロボットの具体例）
図３９〜図４３は軌道改善対象となるロボットの具体的姿勢を示す説明図である。図３９〜図４１及び図４３において、(a) は正面図であり、(b) は側面図である。また、図４２において、(a) は上面図、(b) は側面図、(c) は正面図である。なお、図３との対応関係を明瞭にすべく、図３９〜図４３において、駆動部Ｄ１〜Ｄ６の位置等を適宜示している。
【０１６１】
図３９ロボット２１の姿勢で表される初期座標、図４０のロボット３１の姿勢で表される終点座標、図４１のロボット２１の姿勢で表される初期の経由点座標を示している。図４２で示すような障害物Ｅ１の配置に対して、実施の形態１の経由点候補決定処理を適用した結果が図４３のロボット２１の姿勢で表される経由点座標である。
【０１６２】
始点座標，終点座標，経由点座標といった教示点データは，ロボットの駆動部の角度で表現した場合にはロボットの位置姿勢と一致する。図３９〜図４１及び図４３では、各座標を駆動部の角度ではなく，そのとき実現されるロボットの位置姿勢外観で表現している。
【０１６３】
上述した第１例〜第４例では、説明の簡略化上，２次元で考え，各座標を把持部Ｋ６のハンド位置で表現し，障害物Ｅ１との干渉もハンド部分だけで考慮している。実際には、ロボット全体と障害物との干渉を避ける必要があるため、図３９〜図４３ではロボットの外観で表現している。
【０１６４】
図３９〜図４２の例では，始点座標から終点座標まで経由点を取らずに動作させた場合，腕を伸ばすようにして移動するため，ロボットのアームが障害物Ｅ１と干渉してしまう。そこで、障害物Ｅ１との干渉を回避して，始点座標から終点座標に移動するためには，ロボットのハンド位置が障害物Ｅ１の手前側（ロボット側）か，障害物Ｅ１の上側を通る必要がある。
【０１６５】
図４４はロボット装置２（ロボット２１）の動作回数と実行時間との関係を示すグラフである。同図において、動作実行時間は初期軌道の動作実行時間を“１”として正規化している。また、障害物とロボットが干渉すると判断した際は動作実行不可能と判定をして実行時間は“０”としている。
【０１６６】
図４１で示す初期経由点座標は障害物から十分に離れた位置にあるため、始点→経由点→終点の移動で障害物と干渉が発生しない反面、実行時間が長くなっている（図４３の１回目に相当）。
【０１６７】
そこで、実施の形態１のロボット軌道制御装置によって、経由点（図３９〜図４３の例では経由点は１つ）を変更する軌道制御を行う。すると、実施の形態１にロボット軌道制御装置は、６０回目の動作実行後に軌道改善制御を終了する。すなわち、６０回目の実行後に、実行時間を短縮し、かつ障害物と干渉しない経由点候補は見いだせないと判断し、最も実行時間が短かった５５回目に施行した座標（図４３）を最終的な経由点座標と決定することにより学習を終了する。
【０１６８】
その結果、図４１で示す初期のロボット姿勢から、図４３で示すロボット姿勢に経由点を変更することにより、障害物Ｅ１と干渉することなく、始点〜終点間の実行時間を最短にすることができる。
【０１６９】
図４４に示すように、実施の形態１のロボット軌道制御装置は最終的に初期軌道から実行時間を４割弱に改善した軌道を得ることができる。また、実施の形態１のロボット軌道制御装置は、動作実行時間が短縮される経由点座標のみ候補としているため、少ない計算手数で軌道の改善を行うことができる。
【０１７０】
このように、実施の形態１のロボット軌道制御装置は、実際のロボット装置２の動作情報Ｉ３を用いて軌道の改善を行うため、ロボット装置や周辺環境のモデル化誤差の影響が無く、高精度の軌道改善が実現される効果を奏する。すなわち、実施の形態１のロボット軌道制御装置は、少ない計算手数で自動的にロボットの軌道を改善することができる効果を奏する。
【０１７１】
（ボトルネック駆動部ＢＤの算出方法の補足）
（第１のケース）
一つの補間動作中においては一つの駆動部が最短時間で変位しようとし続けているが，必ずしも各駆動部が同時に動き出し同時に動作を終了するとは限らない補間動作で軌道が定義されている場合がある。なお、第１のケースにおいて、一つの駆動部がボトルネックであり続け，かつその駆動部の速度パターンが台形若しくは三角形であることを想定している。なお、台形とは最高速度による安定期間が存在する速度パターンであり、三角形とは最高速度に到達すると直ちに速度低下する速度パターンを意味する。
【０１７２】
経由点候補決定手段５はまず、ある時刻ｔでボトルネックとなっている駆動部を次のように算出する（第１の算法）。ロボット装置２の動作情報Ｉ３から得られる時刻ｔでの駆動部Ｄｉの速度をＶｉｔ，加速度をＡｉｔとする。
【０１７３】
また，ロボット装置２に予め定められている駆動部Ｄｉの最高速度(定格速度)をＶＭｉ、最高加速度（定格加速度）をＡＭｉとする．速度ＶｉｔをＶＭｉで除した値の絶対値を係数Ｐｉｔ，加速度Ａｉｔを加速度ＡＭｉで除した値の絶対値を係数Ｑｉｔとし，駆動部毎に係数Ｐｉｔと係数Ｑｉｔの1/2乗を比較して大きいほうを係数Ｒｉｔとする．全駆動部の中で係数Ｒｉｔが最も大きい駆動部を時刻ｔでのボトルネック駆動部ＢＤとする。
【０１７４】
上述のように、各時刻でボトルネックとなっている駆動部が分かるため、これから補間動作中で常にボトルネックとなっている駆動部が算出でき、この駆動部をこの補間動作におけるボトルネックとする。以降の軌道改善は図４等で説明した処理内容と同様に行う。
【０１７５】
このように、一つの補間動作中においては一つの駆動部が最短時間で変位しようとし続けているが、必ずしも各駆動部が同時に動き出し同時に動作を終了するとは限らない補間動作で軌道が定義されている第１のケースにおいても、第１の算法を採用することにより実施の形態１のロボット軌道制御装置は、自動で軌道の改善を行うことができる。
【０１７６】
また、第１のケースの別の方法（第２の算法）として、何れかの駆動部の加速度が変化する時点によって補間動作を区分けし、区分けされた区間の中間時刻でのボトルネックを代表的に算出する方法が考える。この第２の算法によって、一定間隔ごとにボトルネックを求めるのに比べて、計算手数を減らす効果がある。
【０１７７】
さらに、第１のケースの別のボトルネックの算出方法として次のような方法（第３の算法）もある。一つの補間動作において、駆動部Ｄｉの変位量をΔＨｉとする。ただし補間動作中で駆動部Ｄｉの移動方向が変化する場合は変位量ΔＨｉを“０”とする。変位量ΔＨｉを速度ＶＭｉで除した係数値を駆動部毎に比較し、当該計数値が最も大きい駆動部をこの補間動作におけるボトルネックとする。
【０１７８】
この第３の算法によっても、補間動作中の幾つかの時刻でのボトルネックを算出する方法に比べて、計算手数を減らす効果がある。
【０１７９】
（第２のケース）
重量物を把持したときなど幾つかの駆動部に負荷が掛かり過ぎるため、その駆動部の速度やトルクに特別な制限が掛けられる場合がある。このとき実際に制限が掛けられた駆動部が全体の実行時間を決定する駆動部となるが、速度パターンは一つの駆動部が最短時間で変位しようとし続けているパターンとは乖離することがある。すなわち、第２のケースは、一つの駆動部がボトルネックであり続けるが，その駆動部の速度パターンが台形若しくは三角形以外となる場合や、上述第１〜第３の算法では他の駆動部をボトルネックと判断してしまう場合を想定している。
【０１８０】
動作情報収集手段３は上述した制限により駆動部の動作が制限された結果の動作であるかも動作情報Ｉ３として収集する。そして、駆動部の動作が実際に制限されていた場合、経由点候補決定手段５は実際に制限が加えられた駆動部をボトルネックとして判定して、次の経由点候補を決定する。
【０１８１】
このように、重量物を把持したときなど幾つかの駆動部に負荷が掛かりすぎるのを防ぐために速度やトルクに制限が加えられた第２のケースにおいても、実施の形態１のロボット軌道制御装置は軌道改善を行うことができる。
【０１８２】
（第３のケース）
ハンド位置（手先部分）の軌道が作業空間上直線やある曲線を描くようにする補間動作がある。このような補間動作の場合、一つの補間動作中においてボトルネックとなる駆動部が変更される場合がある。
【０１８３】
始点→経由点（×1）→終点を上述した補間動作で動作したとし、「始点→経由点」の補間動作を選択補間動作とした場合、経由点候補決定手段５は「始点→経由点」の補間動作中の経由点に直近部分でボトルネックとなっている駆動部を、この補間動作のボトルネックとみなす。このときのボトルネックの算出方法は、第１のケースに記述した第１〜第３の算法と同様である。そして、経由点前後の直近部分の速度変化パターンに基づき、上述した経由点候補決定処理と同様にして経由点候補を決定する。
【０１８４】
このように、ハンド位置が作業空間上直線やある曲線を描くようにする補間動作によって定義された軌道が存在する第３のケースにおいても、実施の形態１のロボット軌道制御装置は自動的に軌道改善を行うことができる。
【０１８５】
（第４のケース）
実施の形態１のロボット軌道制御装置において、経由点候補決定処理を改良し、一つの補間動作中においてボトルネックとなる駆動部が変更される場合に、経由点を追加する方法がある。注目している補間動作において、第１のケースとして記述したように各時点でのボトルネックを算出し、ボトルネックが変更される座標に新たな経由点を追加することが考えられる。このようにして、軌道改善の効果を向上させることもできる。
【０１８６】
上述した第１〜第４のケースに対応して、ボトルネック駆動部ＢＤの選択内容を適宜変更することにより、少なくとも実施の形態１のロボット軌道制御装置による正常動作を維持することができる。
【０１８７】
図４５は第４のケースに対応すべく経由点追加処理を用いた場合の実施の形態１のロボット軌道制御装置におけるロボット軌道制御方法の処理内容を示すフローチャートである。
【０１８８】
同図に示すように、ステップＳ１８でＹＥＳ後に実行されるステップＳ２３の経由点追加処理を追加している。すなわち、ステップＳ２３において、選択補間動作において、ボトルネックが変更される座標に経由点を追加する。このステップＳ２３の実行後にステップＳ１２に移行する。なお、ステップＳ２３は、ステップＳ３５でＹＥＳ後、ステップＳ３２の実行後にも実行される。なお、他の処理は図４で示したフローチャートと同様であるため、説明を省略する。
【０１８９】
（第２の装置構成）
図４６はこの発明の実施の形態１であるロボット軌道制御装置の具体的な装置構成（第２の装置構成）を示す説明図である。同図に示すように、電子計算機２６上にロボットの仮想動作させるシミュレーションが実装されている。すなわち、図１で示したロボット制御手段１、ロボット装置２、動作情報収集手段３、動作実行可能判定手段４、経由点候補決定手段５、動作可能経由点候補探索手段６及び経由点変更手段７を電子計算機２６で実装されるソフトウェア処理上において実現している。
【０１９０】
第２の装置構成では、ロボットの動作自体をシミュレーションで実現する具体的な装置構成である。ここで用いるシミュレーションとは、既知の技術であるロボット制御装置２２や、動力学特性を考慮したロボットモデルや周辺環境モデルを電子計算機２６上で再現し、利用者に視覚的に表示するものである。電子計算機２６で実行されるシミュレーション上において、ロボットの内部センサ出力や外部センサ出力も再現でき、ロボットと周辺環境との干渉等も再現することができる。
【０１９１】
第２の装置構成では、ロボット制御手段１とロボット装置２も電子計算機２６に実装され、図２で示した第１の装置構成で必要であった、ロボット２１、ロボット制御装置２２、ティーチングボックス２３、及びセンサ用ケーブル２５は不要となる。
【０１９２】
第２の装置構成の場合には、電子計算機２６に実装されたシミュレーション上でロボットを動作させており実際のロボットを動作させる必要が無いため、第１の装置構成と比較して、軌道改善中に、干渉が発生するなどして、ロボットが損傷する危険が無いという効果を奏する。また、外部センサを軌道改善のために用意する必要も無くなり本発明の適用が容易となるという効果を奏する。
【０１９３】
（第３の装置構成）
図４７はこの発明の実施の形態１のロボット軌道制御装置の具体的な装置構成（第３の装置構成）を示す説明図である。
【０１９４】
同図に示すように、ロボット制御手段１を含むロボット制御装置３２が用いられ、ロボット制御装置３２が出力する指令値に従って、ロボット装置２に相当するロボット３１が動作する。ロボット３１の各駆動部の動作状況や実行時間といった内部センサの出力はロボット制御装置３２に出力される。ロボット３１に備えられた外部センサの出力はセンサ用ケーブル３５を介してロボット制御装置３２に出力される。
【０１９５】
ロボット制御装置３２は軌道改善するための経由点候補を決定するための計算をも行うものであり、具体的には、図１で示した動作情報収集手段３、動作実行可能判定手段４、経由点候補決定手段５、動作可能経由点候補探索手段６、及び経由点変更手段７の機能を実装するものである。
【０１９６】
ティーチングボックス３３は、図２で示した第１の装置構成のティーチングボックス２３と同様、作業者がロボット制御装置３２に初期情報Ｉ１を与える装置である。
【０１９７】
本発明を適用するための経由点候補決定処理等の計算処理の負荷は低く、専用の電子計算機と比較して数値計算処理能力で見劣りするロボット制御装置でも処理可能なものであるため、ロボット３１の制御が主目的のロボット制御装置３２自体に経由点候補決定処理等の機能を備えさせることは十分可能である。
【０１９８】
第３の装置構成では、動作情報収集手段３、動作実行可能判定手段４、経由点候補決定手段５、動作可能経由点候補探索手段６、経由点変更手段７もロボット制御装置３２に実装される分、第１及び第２の装置構成の電子計算機２４及び２６に相当する構成が不要となり、装置構成の簡略化を図ることができる。
【０１９９】
また、センサ用ケーブル３５がロボット制御装置３２に繋がれた構成となるため、ロボット軌道制御を行う際、第１の装置構成のように電子計算機へのセンサ用ケーブルの付け替え等の処理が不要となる。したがって、第３の装置構成は、多数のロボットが存在する大規模な生産設備で本発明を適用する際に、労力を抑えることができるという効果を奏する。
【０２００】
＜実施の形態２＞
図４８はこの発明の実施の形態２であるロボット軌道制御装置の構成を示すブロック図である。同図に示すように、図１で示した実施の形態１と比較した場合、軌道定義変換手段８が加えられ、外部からの入力である教示点データＩ１０が軌道定義変換手段８に付与される点が異なる。
【０２０１】
教示点データＩ１０の順列はＸ=｛ｘ０，ｘ１，ｘ２，…，ｘｎ｝で表記されるもので、７ｍｓｅｃといった単位時間ごとに各教示点をロボット装置２が順番に移動していくように軌道が定義される。このような軌道の定義方法は既知の技術である。なお、入力される教示点データＩ１０の順列は、必ずロボットが動作可能な軌道位置となる。
【０２０２】
なお、教示点データＩ１０の順列Ｘにおいて、初期座標ｘ０から終点座標ｘｎに到達することが最終目的であり、中間の経由点座標（ｘ１〜ｘ（ｎ−１））（少なくとも一つの初期経由点）を通過する必要性はない。
【０２０３】
軌道定義変換手段８には教示点データＩ１０の順列Ｘが入力され、教示点データＩ１０に基づき、始点座標、所定数の変換経由点、終点座標からなる複数の軌道座標を規定した変換初期情報Ｉ８を出力する。変換初期情報Ｉ８内に複数の軌道座標間を繋ぐ補間動作の種別を含ませても良い。
【０２０４】
ロボット制御手段１は変換初期情報Ｉ８に基づきロボット装置２を動作させる。そして、動作情報収集手段３より得られる動作情報Ｉ３に基づき、動作実行可能判定手段４は動作実行可能であったか判断し、判断結果を示す動作可能情報Ｉ４を出力する。
【０２０５】
変換初期情報Ｉ８に基づきロボット制御手段１が動作指令値Ｃ１を出力することよってロボット装置２を実行させた際に、動作可能情報Ｉ４が初期状態の動作実行可能を指示する場合、以降、変換初期情報Ｉ８を初期情報Ｉ１とした場合の実施の形態１と同様に軌道の改善が行われる。
【０２０６】
一方、ロボット装置２を変換初期情報Ｉ８に基づきロボット制御手段１によって実行させた際に、動作可能情報Ｉ４が初期状態の動作実行不能を指示する場合、動作不能を指示する動作可能情報Ｉ４が軌道定義変換手段８に出力される。
【０２０７】
軌道定義変換手段８は、動作可能情報Ｉ４が変換初期情報Ｉ８に基づくロボット装置２の動作実行不能を指示する場合、教示点データＩ１０で規定した順列Ｘにおける経由点座標から（ｘ１〜ｘ（ｎ−１））一の経由点座標を、新たに変換経由点として追加して新たな変換初期情報Ｉ８を出力し直す。そして、変換初期情報Ｉ８に基づくロボット装置２が動作実行可能になるまで変換初期情報Ｉ８は変更される。
【０２０８】
そして、最終的に動作実行可能判定手段４によって動作実行可能と判断された変換初期情報Ｉ８が、実施の形態１の初期情報Ｉ１と同様に扱われ、実施の形態１と同様に動作実行可能判定手段４及び経由点候補決定手段５による軌道改善処理が行われる。
【０２０９】
以下、実施の形態２のロボット軌道制御装置における軌道定義変換手段８の具体的な動作について説明する。
【０２１０】
軌道定義変換手段８は入力された教示点データＩ１０の順列Ｘから、始点座標、初期経由点、終点座標及び必要に応じてそれらを繋ぐ補間動作種別を規定した変換初期情報Ｉ８を出力する。
【０２１１】
以下、軌道定義変換手段８が当初出力する変換初期情報Ｉ８について述べる。まず、教示点データＩ１０の順列Ｘの最初のデータｘ０を始点座標に、教示点データの順列の最後のデータｘｎを終点座標に設定する。
【０２１２】
次に、各教示点間ｘｉ→ｘ（i＋１）の移動において各駆動部は等速で動くものと仮定して、ｘ０からｘｎまでロボット装置２が動作するときの速度変化パターンを算出する。そして速度変化パターンから、実施の形態１の第１のケースの場合で示した係数Ｒｉｔを算出して、各時点でのボトルネック駆動部ＢＤを決定する。
【０２１３】
時系列に沿ってボトルネックとなる駆動部を見ていき、ボトルネック駆動部が変更される教示点データをそれぞれ変換経由点とし採用する。
【０２１４】
最後に、軌道定義変換手段８は、必要に怖じて、各点を繋ぐ補間動作種別を規定する。補間動作種別として、既知の技術で教示点データＩ１０の順列Ｘが与えられたときにロボット制御手段１が用いる補間動作種別、例えば駆動部Ｄｉが同時に動き出し、動作中はできるだけ等速に動き、各駆動部Ｄｉが同時に動作を終了するような補間動作種別が考えられる。当然他の補間動作種別であってもかまわない。これによって、実施の形態１の初期情報Ｉ１と同型のデータを変換初期情報Ｉ８としてロボット制御手段１に出力することができる。
【０２１５】
軌道定義変換手段８が出力した変換初期情報Ｉ８に基づく軌道が、動作実行可能判定手段４によって動作実行不可能と判定された場合には、軌道定義変換手段８は次のように、教示点データＩ１０で規定した初期経由点から選択した一の経由点を新たな変換経由点として追加し、追加した変化経由点を含む情報を新たな変換初期情報Ｉ８として再決定する。
【０２１６】
動作実行不可能と判定された位置の直前の経由点がｘｉ、直後の経由点がｘｊであったとする。このとき 「ｊ＞ｉ＋１」が成立する。なぜならば、「ｊ＝ｉ＋１」であった場合、ｘｉ→ｘｊの部分の軌道は入力された教示点データの順列Ｘで定義される軌道と一致しているため、必ず動作実行可能だからである。そこで、軌道定義変換手段８は、ｘｉとｘｊの中間にある教示点データｘ[（ｉ＋ｊ）／２]（初期経由点）を選択し、変化経由点として追加する。なお、[ｋ]はｋ以上の最小の整数を意味する。
【０２１７】
以降、変換初期情報Ｉ８に基づくロボット装置２が、動作実行可能判定手段４によって動作実行可能と判定されるまで、軌道定義変換手段８により変換経由点を追加していく。最終的には入力された教示点データの順列Ｘによる座標と変換初期情報Ｉ８で指示する座標とが同等になるので、必ず動作実行可能となる。
【０２１８】
軌道定義変換手段８による別の軌道変換法として次のような方法（第２の方法）がある。
【０２１９】
まず、教示点データＩ１０の順列Ｘの最初のデータｘ０を始点座標に、教示点データＩ１０の順列Ｘの最後のデータｘｎを終点座標に設定する。
【０２２０】
次に当初の変換経由点として、ｘ０とｘｎの中間の教示データｘ[ｎ／２]を初期経由点とする。補間動作種別に関しては実施の形態１と同様に行う。
【０２２１】
軌道定義変換手段８が出力した変換初期情報Ｉ８に基づくロボット装置２の軌道が、動作実行可能判定手段４によって動作実行不可能と判定された場合には、軌道定義変換手段８は次のように新たな経由点を追加して初期経由点を決定する。
【０２２２】
動作実行不可能と判定された位置の直前の経由点がｘｉ、直後の経由点がｘｊであったとする。そこで、軌道定義変換手段８は、ｘｉとｘｊの中間の教示点データｘ[（ｉ＋ｊ）／２]を変換経由点としてに追加する。以降、動作実行可能と判定されるまで軌道定義変換手段８は変換経由点を追加していく。
【０２２３】
上述した実施の形態のロボット軌道制御装置による軌道定義変換手段８による変換初期情報Ｉ８の変換内容をまとめると以下のようになる。
【０２２４】
第１ステップ：始点（ｘ０）、少なくとも一つの初期経由点（ｘ１〜ｘ（ｎ−１））、終点（ｘｎ）の座標を規定した教示点データＩ１０を受ける。
【０２２５】
第２ステップ：教示点データＩ１０を変換初期情報Ｉ８に変換する。
【０２２６】
第３ステップ：第２ステップで得た軌道定義変換手段８で動作させた際にロボット装置２が動作不能の場合に、上記少なくとも一つの初期経由点のいずれかを変換経由点として追加選択して新たな変換初期情報Ｉ８とする。
【０２２７】
この第３ステップは、新たな変換初期情報Ｉ８で動作させた際に前記ロボットが動作可能と判断されるまで繰り返される。
【０２２８】
例えばロボットをマスタースレーブで動作させてその動作を軌道とする場面や、人間が行った動作をビジョンセンサなどで観測し、ロボットに見真似動作をさせる場面、空間を分割してポテンシャル法等でロボットの軌道を定義する場面が考えられる。
【０２２９】
実施の形態２のロボット軌道制御装置は、上述の種々の場面のように、教示点データＩ１０が外部より付与され一定時間ごと（数msec）の教示点データの順列によって軌道が定義されていても、教示点データＩ１０の経由点の数を動作可能な数に減少させた後の変換初期情報Ｉ８に予め変換することができる。
【０２３０】
このように、実施の形態２のロボット軌道制御装置は、経由由点候補決定手段５及び動作可能経由点候補探索手段６による軌道改善処理が行われる前段階において、教示点データＩ１０の改善を図った変換初期情報Ｉ８を自動で作成することができる効果がある。
【０２３１】
なお、実施の形態２のロボット軌道制御装置を実現する具体的な装置構成としては、図２で示した第１の装置構成（軌道定義変換手段８はロボット制御装置２２あるいは電子計算機２４内に実装）が考えられる。また、図４６で示した第２の装置構成（軌道定義変換手段８は電子計算機２６内に実装）、あるいは図４７で示した第３の装置構成（軌道定義変換手段８はロボット制御装置３２内に実装）を、実施の形態２のロボット軌道制御装置の具体的な装置構成としても良い。
【図面の簡単な説明】
【０２３２】
【図１】この発明の実施の形態１であるロボット軌道制御装置の構成を示すブロック図である。
【図２】実施の形態１のロボット軌道制御装置を実現する具体的な装置構成（第１の装置構成）を示す説明図である。
【図３】図２で示したロボットの具体例を示す説明図である。
【図４】実施の形態１のロボット軌道制御装置におけるロボット軌道制御方法の処理内容を示すフローチャートである。
【図５】図１で示した経由点候補決定手段によるボトルネック駆動部の選択方法を示すフローチャートである。
【図６】ボトルネック駆動部についての特徴的な速度変化パターンで表した説明図である。
【図７】図１で示した経由点候補決定手段による経由点候補決定処理の第１例を示す図である。
【図８】図１で示した経由点候補決定手段による経由点候補決定処理の第１例を示す図である。
【図９】図１で示した経由点候補決定手段による経由点候補決定処理の第１例を示す図である。
【図１０】図１で示した経由点候補決定手段による経由点候補決定処理の第１例を示す図である。
【図１１】図１で示した経由点候補決定手段による経由点候補決定処理の第１例を示す図である。
【図１２】図１で示した経由点候補決定手段による経由点候補決定処理の第１例を示す図である。
【図１３】図１で示した経由点候補決定手段による経由点候補決定処理の第１例を示す図である。
【図１４】図１で示した経由点候補決定手段による経由点候補決定処理の第１例を示す図である。
【図１５】図１で示した経由点候補決定手段による経由点候補決定処理の第１例を示す図である。
【図１６】図１で示した経由点候補決定手段による経由点候補決定処理の第１例を示す図である。
【図１７】図１で示した経由点候補決定手段による経由点候補決定処理の第２例を示す図である。
【図１８】図１で示した経由点候補決定手段による経由点候補決定処理の第２例を示す図である。
【図１９】図１で示した経由点候補決定手段による経由点候補決定処理の第２例を示す図である。
【図２０】図１で示した経由点候補決定手段による経由点候補決定処理の第２例を示す図である。
【図２１】図１で示した経由点候補決定手段による経由点候補決定処理の第３例を示す図である。
【図２２】図１で示した経由点候補決定手段による経由点候補決定処理の第３例を示す図である。
【図２３】図１で示した経由点候補決定手段による経由点候補決定処理の第３例を示す図である。
【図２４】図１で示した経由点候補決定手段による経由点候補決定処理の第３例を示す図である。
【図２５】図１で示した経由点候補決定手段による経由点候補決定処理の第３例を示す図である。
【図２６】図１で示した経由点候補決定手段による経由点候補決定処理の第３例を示す図である。
【図２７】図１で示した経由点候補決定手段による経由点候補決定処理の第３例を示す図である。
【図２８】図１で示した経由点候補決定手段による経由点候補決定処理の第３例を示す図である。
【図２９】図１で示した経由点候補決定手段による経由点候補決定処理の第４例を示す図である。
【図３０】図１で示した経由点候補決定手段による経由点候補決定処理の第４例を示す図である。
【図３１】図１で示した経由点候補決定手段による経由点候補決定処理の第４例を示す図である。
【図３２】図１で示した経由点候補決定手段による経由点候補決定処理の第４例を示す図である。
【図３３】図１で示した経由点候補決定手段による経由点候補決定処理の第４例を示す図である。
【図３４】図１で示した経由点候補決定手段による経由点候補決定処理の第４例を示す図である。
【図３５】図１で示した経由点候補決定手段による経由点候補決定処理の第４例を示す図である。
【図３６】図１で示した経由点候補決定手段による経由点候補決定処理の第４例を示す図である。
【図３７】経由点候補決定処理の第２例及び第３例に対応する、実施の形態１のロボット軌道制御装置におけるロボット軌道制御方法の処理内容を示すフローチャートである。
【図３８】経由点候補決定処理の第４例に対応する、実施の形態１のロボット軌道制御装置におけるロボット軌道制御方法の処理内容を示すフローチャートである。
【図３９】軌道改善対象となるロボットの具体的姿勢を示す説明図である。
【図４０】軌道改善対象となるロボットの具体的姿勢を示す説明図である。
【図４１】軌道改善対象となるロボットの具体的姿勢を示す説明図である。
【図４２】軌道改善対象となるロボットの具体的姿勢を示す説明図である。
【図４３】軌道改善対象となるロボットの具体的姿勢を示す説明図である。
【図４４】ロボット装置の動作回数と実行時間との関係を示すグラフである。
【図４５】経由点追加処理を用いた場合の実施の形態１のロボット軌道制御装置におけるロボット軌道制御方法の処理内容を示すフローチャートである。
【図４６】実施の形態１のロボット軌道制御装置の具体的な装置構成（第２の装置構成）を示す説明図である。
【図４７】実施の形態１のロボット軌道制御装置の具体的な装置構成（第３の装置構成）を示す説明図である。
【図４８】この発明の実施の形態２であるロボット軌道制御装置の構成を示すブロック図である。
【符号の説明】
【０２３３】
１  ロボット制御手段、２  ロボット装置、３  動作情報収集手段、４  動作実行可能判定手段、５  経由点候補決定手段、６  動作可能経由点候補探索手段、７  経由点変更手段、８  軌道定義変換装置、２１，３１  ロボット、２２，３２  ロボット制御装置、２３，３３  ティーチングボックス、２４，２６  電子計算機、２５，３５  センサ用ケーブル、Ｉ１  初期情報、Ｉ８  変換初期情報、Ｉ１０  教示点データ。
【図１】
0004942672.tif 000002
【図２】
0004942672.tif 000003
【図３】
0004942672.tif 000004
【図４】
0004942672.tif 000005
【図５】
0004942672.tif 000006
【図６】
0004942672.tif 000007
【図７】
0004942672.tif 000008
【図８】
0004942672.tif 000009
【図９】
0004942672.tif 000010
【図１０】
0004942672.tif 000011
【図１１】
0004942672.tif 000012
【図１２】
0004942672.tif 000013
【図１３】
0004942672.tif 000014
【図１４】
0004942672.tif 000015
【図１５】
0004942672.tif 000016
【図１６】
0004942672.tif 000017
【図１７】
0004942672.tif 000018
【図１８】
0004942672.tif 000019
【図１９】
0004942672.tif 000020
【図２０】
0004942672.tif 000021
【図２１】
0004942672.tif 000022
【図２２】
0004942672.tif 000023
【図２３】
0004942672.tif 000024
【図２４】
0004942672.tif 000025
【図２５】
0004942672.tif 000026
【図２６】
0004942672.tif 000027
【図２７】
0004942672.tif 000028
【図２８】
0004942672.tif 000029
【図２９】
0004942672.tif 000030
【図３０】
0004942672.tif 000031
【図３１】
0004942672.tif 000032
【図３２】
0004942672.tif 000033
【図３３】
0004942672.tif 000034
【図３４】
0004942672.tif 000035
【図３５】
0004942672.tif 000036
【図３６】
0004942672.tif 000037
【図３７】
0004942672.tif 000038
【図３８】
0004942672.tif 000039
【図３９】
0004942672.tif 000040
【図４０】
0004942672.tif 000041
【図４１】
0004942672.tif 000042
【図４２】
0004942672.tif 000043
【図４３】
0004942672.tif 000044
【図４４】
0004942672.tif 000045
【図４５】
0004942672.tif 000046
【図４６】
0004942672.tif 000047
【図４７】
0004942672.tif 000048
【図４８】
0004942672.tif 000049