<実施の形態1>
(構成)
図1はこの発明の実施の形態1であるロボット軌道制御装置の構成を示すブロック図である。
同図に示すように、ロボット制御手段1は始点座標、少なくとも一つの初期経由点座標、終点座標を含む複数の軌道座標を規定した軌道位置情報である初期情報I1を受ける。これら複数の軌道座標はロボット装置2の複数の駆動部の動作状況によって規定される。
そして、ロボット制御手段1は、初期情報I1に基づき、複数の軌道座標間における複数の補間動作の内容を規定した動作指令値C1をロボット装置2に出力する。複数の補間動作の内容は予め定めた補間動作種別によって決定される。
ロボット装置2はロボット制御手段1が出力する動作指令値C1に従って動作し、付加軸等を含むロボット装置の駆動部の状態を示す駆動部情報を検出する内部センサや、ロボットと周辺環境との位置関係を規定する周辺情報を検出する外部センサを備えている。内部センサとはロボット装置2の各駆動部に備えられているエンコーダやモータの電流値を検知するセンサ等を指し、外部センサとは視覚センサや距離センサ、触覚センサ等を指す。なお、付加軸として例えばロボットを搭載するレール等が考えられる。
なお、上記外部センサは、障害物の位置及び大きさを全て正確に認識する必要は無く、ロボットと障害物が一定距離以上あること、若しくはロボット本体が障害物に接触して損傷することを未然に防げる程度で十分である。
例えば、触覚センサの場合は(最低限)どのロボットの姿勢で接触があったか分かればよく、ロボットのどの部位で接触があったかの情報は必要ではない。また、視覚センサや距離センサの場合は,予めマージンを設定し(センサ誤差などから決まる)、そのマージンであればロボットと障害物が意図しない接触を回避できる程度の正確さが必要となる。
動作情報収集手段3は上述したロボット装置2に備えられた内部センサより検出された駆動部情報と外部センサの出力である周辺情報とを含む動作情報I3を時系列に沿って収集する。
動作実行可能判定手段4は上述した動作情報収集手段3によって収集された動作情報I3に基づき、動作指令値C1でロボット装置2が動作可能であるか否かを判定し、判定結果である動作可能情報I4を出力する。
動作実行可能判定手段4による判定手法として、既知である内部センサを用いた衝突検知判定や過速度判定、過トルク判定、特異点判定、稼動限界範囲判定等が考えられる。また距離センサやビジョンセンサ、触覚センサ,接触センサといった外部センサを用いてロボットと周辺環境との距離が一定以上に保たれているかを判定の材料としても良い。また距離センサやビジョンセンサ等の認識作業時に認識範囲内にロボットが位置して認識作業を妨害しているか等、外部センサの認識作業をロボットが妨害しているかを判定の材料としても良い。
経由点候補決定手段5は、動作可能情報I4が動作可能を指示する場合、動作情報収集手段3より得た動作情報I3を入力し、動作情報I3に基づき実行時間が短縮される経由点候補を決定する。この際、複数の経由点からなる軌道であれば座標を変更する経由点の選択も行い、軌道の改善が見込める経由点が存在するかの終了判定も行う。
経由点候補決定手段5は軌道の改善が見込める経由点を見いだし場合、改善可能を指示する改善情報I50と実行時間が短縮される経由点候補(第1の経由点候補)の座標を規定した経由点候補情報I51(第1の経由点候補情報)を出力し、改善の見込みが無いと判断した場合、改善不(可)能を指示する改善情報I50を出力する。
動作可能経由点候補探索手段6は、動作可能情報I4を受け、動作可能情報I4が動作不能を指示するとき、動作状態となる。動作可能経由点候補探索手段6の目的は動作不能時に経由点の座標を変更することにより、経由点候補決定手段5で短縮された実行時間内で動作可能な他の経由点候補(第2の経由点候補)を見つけることである。
また、動作可能経由点候補探索手段6は、第2の経由点候補を見つけられない場合は、軌道改善を試みることを指示するボトルネック座標変更指令C6を経由点候補決定手段5に与える。
経由点候補決定手段5は動作可能経由点候補探索手段6よりボトルネック座標変更指令C6を受けた場合、直近に経由点候補情報I51で指示した第1の経由点候補を破棄し、新たな第1の経由点候補を決定する処理を行う。
なお、経由点候補決定手段5は、後に詳述するが、経由点の一つを選択経由点とし、選択経由点を含む選択補間動作におけるボトルネック駆動部に関し実行時間が短縮される範囲で経由点候補を決定する動作を行う。一方、動作可能経由点候補探索手段6は、上記ボトルネック駆動部以外の駆動部に関し実行時間が短縮される範囲でロボット装置2が動作可能な第2の経由点候補を決定する動作を行う。
経由点変更手段7は、経由点候補決定手段5から得た改善情報I50及び経由点候補情報I51に加え、動作可能経由点候補探索手段6からの経由点候補情報I52を入力する。
そして、経由点変更手段7は、改善情報I50が改善可能を指示する場合、経由点候補情報I51の指示する第1の経由点候補を変更経由点として決定し、選択経由点の座標を当該変更経由点の座標に置き換えた複数の軌道座標からなる情報を変更軌道位置情報I7(新たな軌道位置情報)としてロボット制御手段1に出力する。すると、ロボット制御手段1は変更軌道位置情報I7に基づく動作指令値C1をロボット装置2に出力する。
ただし、経由点変更手段7は、経由点候補情報I52が指示する第2の経由点候補が存在する場合、第2経由点候補を上記変更経由点として決定し、選択経由点の座標を当該変更経由点の座標に置き換えた複数の軌道座標からなる情報を変更軌道位置情報I7としてロボット制御手段1に出力する。なぜならば、経由点候補情報I52が指示する第2の経由点候補が存在する場合、経由点候補情報I51が指示する第1の経由点候補はロボット装置2が実行不能と動作実行可能判定手段4によって判定されたからである。
一方、経由点変更手段7は、改善情報I50が改善不能を指示する場合、過去に経由点候補情報I51及び経由点候補情報I52で指示された第1及び第2経由点候補を含む過去に出力した変更軌道位置情報I7のうち、動作実行可能判定手段4によって動作可能と判定され、かつ、実行時間が最短である複数の軌道座標を規定した変更軌道位置情報I7を最終決定する。
その後、経由点変更手段7は最終決定した変更軌道位置情報I7に基づきロボット装置2の軌道制御がなされることなる。
図2は実施の形態1のロボット軌道制御装置を実現する具体的な装置構成(第1の装置構成)を示す説明図である。同図に示すように、ロボット制御手段1としてロボット制御装置22が用いられ、ロボット制御装置22が出力する動作指令値に従って、ロボット装置2に相当するロボット21が動作する。ロボット21の各駆動部の状態を示す駆動部情報や実行時間といった内部センサの出力はロボット制御装置22を介して電子計算機24に出力される。ロボット21に備えられた外部センサの出力(周辺情報)はセンサ用ケーブル25を介してロボット21から電子計算機24に出力される。
電子計算機24は軌道改善するための経由点候補を決定するための計算を行うものであり、具体的には、図1で示した動作情報収集手段3、動作実行可能判定手段4、経由点候補決定手段5、動作可能経由点候補探索手段6、及び経由点変更手段7の機能を実装したものである。
ティーチングボックス23は、作業者がロボット制御装置22に初期情報I1を与える装置である。すなわち、ティーチングボックス23は、始点座標、終点座標、初期経由点座標を含む初期情報I1を教示する際や、ロボット21動作時の緊急停止等に用いられる。なお、教示データを電子計算機24から入力する構成にしても当然構わない。
図3はロボット21の具体例を示す説明図である。同図に示すロボット21が、始点標、少なくとも一つの経由点及び終点の座標である軌道座標間の複数の補間動作内容を規定した命令を含むロボット制御装置22からの動作指令値によって動作するロボットに相当する。
同図に示すように、ロボット21は駆動部D1〜D6と基体部K0、関節部K1〜K5及び把持部K6から構成される。駆動部D1〜D5による駆動(回転等)によって関節部K1〜K5の位置が変動し、駆動部D6によって把持部K6が把持動作を行う。なお、説明の都合上、基体部K0、把持部K6を含めて単に関節部K0〜K6と呼ぶ場合がある。
以降の説明では、ロボット21の位置姿勢、教示データは駆動部D1〜D6それぞれの位置で表記する。例えば、図3のような6軸垂直多関節型ロボットの場合には、駆動部Di(i=1〜6のいずれか)の位置をJiと表記してロボットの位置姿勢、教示データの座標(軌道座標)は、 (J1,J2,J3,J4,J5,J6)で表されるものとする。
各教示データを繋ぐ補間動作内容を指示する補間命令としては駆動部D1〜D6単位で補間を行う命令の例を考える。具体的には、各駆動部Diが同時に動き出し、動作中はできるだけ等速に動き、各駆動部Diが同時に動作を終了する補間動作種別がある。また、ロボット21は経由点で一時停止するのではなく、経由点を挟んだ2つの補間動作(始点〜経由点における補間動作、経由点〜終点における補間動作)を滑らかに繋ぐ動作をするものとする。これら2つ補間動作に関する動作命令である補間命令は、特に軌道の改善が求められる場面や、軌道改善の余地が大きい場面で頻繁に利用されるものである。
(動作)
図4は実施の形態1のロボット軌道制御装置におけるロボット軌道制御方法の処理内容を示すフローチャートである。以下、同図を参照して、実施の形態1のロボット軌道制御装置によるロボット軌道制御方法を説明する。
まず、ステップS11に示すように、始点座標、終点座標及び少なくとも一つの初期経由点座標を含む複数の軌道座標を規定した初期情報I1がロボット制御手段1に入力される。
ロボット制御手段1は、初期情報I1に基づき、複数の軌道座標間の補間動作の内容を規定した動作指令値C1をロボット装置2に出力し、ロボット装置2を駆動制御する。なお、初期設定される複数の軌道座標は動作実行可能なものであればよく経由点の数はいくつでもよい。
ロボット装置2が動作実行すると、動作情報収集手段3がロボット装置2の駆動部情報及び周辺情報を含む動作情報を時系列に沿って収集し、動作情報I3として出力する。
動作実行可能判定手段4は、動作情報I3に基づき動作実行可能かを判定して動作可能情報I4を出力する。なお、ロボット装置2の動作実行中に動作実行不可能と判定された場合には、ロボット装置2の損傷を防ぐために、動作実行を中断した上で動作を逆に辿る等して動作開始の状況に戻す。一方、ロボット装置2の損傷の危険が無いようであれば、動作実行を停止する必要は特に無い。当然この動作の中断は、ロボット制御装置22が既知の技術を用いて行ってもよい。
動作実行可能判定手段4により動作実行可能と判定された場合(動作可能情報I4が動作可能を指示する場合)、経由点候補決定手段5は、動作情報収集手段3によって収集された各駆動部Diの動作情報I3(駆動部情報)に基づき実行時間が短縮される経由点候補を決定する経由点候補決定処理を実行する。
以下、経由点候補決定手段5は経由点候補決定処理について説明する。経由点候補決定処理は図4のステップS14〜S17の処理に該当する。
まず、ステップS14の前提となる考え方について説明する。上述した複数の補間動作において、各補間動作の実行時間は各駆動部Diを単独で動かした際に最も時間が掛かる駆動部の実行時間によって決定される。
そこで、ロボットの補間動作の実行時間を決定するこの駆動部をこの補間動作におけるボトルネックと定義し「ボトルネック駆動部BD」と表記する。経由点候補決定手段5は、各補間動作における各ボトルネック駆動部BDの実行時間を減らすことにより、始点から終点に至るの実行時間を短縮する働きを有してる。このとき、1つの補間動作にボトルネック駆動部BDに該当する駆動部が複数同時に存在する場合には、適宜1つがボトルネック駆動部BDとして選ばれるものとする。
以上の前提となる考え方に基づき、経由点候補決定手段5は、ステップS14において、変更を行う経由点(選択経由点)と注目する補間動作(選択補間動作)を適宜選択する。
その後、ステップS15において、経由点候補決定手段5は、動作実行時の各駆動部Diの動作情報から選択補間動作におけるボトルネックとなる駆動部ボトルネック駆動部BDを選ぶと共に、動作情報I3に基づき、ボトルネック駆動部BDに関し、実行時間が短縮される範囲で第1の経由点候補を決定する経由点候補決定処理を実行する。ここでは各駆動部Diの速度情報をもとにボトルネック駆動部BDを決定する例について説明する。
図5は経由点候補決定手段5によるボトルネック駆動部BDの選択方法を示すフローチャートである。以下、同図を参照してボトルネック駆動部BDの選択処理内容を説明する。
まず、ステップS1において、補間動作中において駆動部Diが到達した最高速度である到達速度Viを駆動部Di毎に求める。
続いて、ステップS2において、到達速度Viをロボットに予め定められている各駆動部Diの最高速度である定格速度VMiで除した係数値Piを駆動部Di毎に求める。
最後に、ステップS3において、各駆動部Diの係数値Piを比較して、係数値Piが最も大きい駆動部をこの補間動作におけるボトルネック駆動部BDとする。
経由点候補決定手段5は、ボトルネック駆動部BDを決定後、ボトルネック駆動部BDの速度変化パターンから実行時間が短縮される第1の経由点候補を決定する。
図4に戻って、ステップS16において、経由点候補決定手段5は、選択経由点を挟んだ2つの補間動作のいずれかである選択補間動作におけるボトルネック駆動部BDの速度変化パターンをケースA〜ケースCで分類する。
以下、ケースA〜ケースCについて例を挙げて説明する。始点→経由点(×1(経由点数が“1”))→終点の一連の移動において、「始点→経由点」を選択補間動作した場合にボトルネック駆動部BDとなる駆動部(以下、説明の都合上、「前半ボトルネック駆動部BDF」と略記する場合あり)の速度変化パターンを次の3つ場合で分類する。
ケースA :2つの補間動作「始点→経由点」及び「経由点→終点」での移動が同一方向であり、かつ「経由点→終点」の補間動作においても、前半ボトルネック駆動部BDFがそのままボトルネックとなる場合。
ケースB :2つの補間動作「始点→経由点」及び「経由点→終点」での移動が同一方向(停止も含む)であり、かつ「経由点→終点」の補間動作においては、前半ボトルネック駆動部BDFと異なる他の駆動部がボトルネックとなる場合。
ケースC :2つの補間動作「始点→経由点」及び「経由点→終点」との間で、前半ボトルネック駆動部BDFの移動方向が異なる場合。
同様にして、「経由点→終点」の補間動作においてボトルネック駆動部BDとなる駆動部(以下、説明の都合上、「後半ボトルネック駆動部BDR」と略記する場合あり)の速度変化パターンを考える。
この場合、ケースBと等価なケース(以下、仮に「ケースB′」と呼ぶ。)として、「始点→経由点」と「経由点→終点」での移動が同一方向(停止も含む)であり、かつ「始点→経由点」の補間動作においては、後半ボトルネック駆動部BDRと異なる他の駆動部がボトルネックとなる場合が考えられる。なお、後半ボトルネック駆動部BDRについて、ケースA,ケースCは、前半ボトルネック駆動部BDFの場合と実質同様であるので説明を省略する。
図6は上述した前半ボトルネック駆動部BDFについてのケースA〜ケースCに該当する特徴的な速度変化パターンをそれぞれ表した説明図である。
同図(a) に示すように、「始点→終点」の移動で単一の駆動部が一方向に最高速度で動作しているため、ケースAに該当する。したがって、経由点G10の座標を変化させても「始点→終点」の実行時間をこれ以上短縮することはできない。よって、経由点候補決定手段5は、ケースAの際、今回動作させた経由点は最適であると判断し新たな経由点候補を出力せず、改善不能を指示する改善情報I50を出力する。
同図(b) に示すように、注目している前半ボトルネック駆動部BDFの「始点→終点」における全体の移動量が「始点→経由点」の移動側に偏っているため、ケースBに該当する。したがって、経由点候補決定手段5は、経由点座標G20における前半ボトルネック駆動部BDFの座標部分(例:前半ボトルネック駆動部BDFが駆動部D3の場合、J1〜J6のうちのJ3が該当)を、始点座標における前半ボトルネック駆動部BDFの座標に近づけた経由点座標を新たな経由点候補に決定する。この際、経由点候補決定手段5は、改善可能を指示する改善情報I50と、上記新たな経由点候補を指示する経由点候補情報I51とを出力する。
なお、注目しているのが後半ボトルネック駆動部BDRの際、同図(b) とは経由点座標G20を中心に左右逆にした速度変化パターンであれば、「経由点→終点」における全体の移動量が「経由点→終点」の移動側に偏っており、ケースB′に該当する。ケースB′の場合、経由点候補決定手段5は、経由点座標G20における後半ボトルネック駆動部BDRの座標部分を、終点座標における後半ボトルネック駆動部の座標に近づけた経由点座標を新たな経由点候補に決定することになる。
同図(c) に示すように、前半ボトルネック駆動部BDFは、経由点G30で移動方向を変化させて遠回りの迂回動作をしており、ケースCに該当する。よって経由点座標における前半ボトルネック駆動部BDFの座標を始点座標における前半ボトルネック駆動部BDFの座標に近づけた経由点座標を新たな経由点候補に決定する。このとき、終点座標における前半ボトルネック駆動部BDFの座標に近づけても、同等な効果を得ることができる。
図4に戻って、ステップS17において、経由点候補決定手段5はステップS16で分類したケースA〜ケースCに基づき、選択経由点に替わる経由点候補の最終決定を行う。
すなわち、経由点候補決定手段5は、ステップS16の分類パターンがケースAの場合は改善不能を指示する改善情報I50を出力し、上記分類パターンがケースBまたはケースCの場合は、改善可能を指示する改善情報I50と、上述したように決定される第1の経由点候補を指示する経由点候補情報I51とを出力する。
このように、経由点候補決定手段5は、ケースBやケースCの場合には、補間動作の実行時間を決定する前半ボトルネック駆動部BDFの偏った移動や無駄な移動を排除した座標を第1の経由点候補とする。これによって、ロボット装置2の「始点→終点」の動作に際し、その実行時間を短縮することができる。
ここで、ステップS14における変更対象の選択経由点と選択補間動作の選び方としてランダムに選ぶ方法が取れる。この場合、改善を複数回行い最良のものを選択することで平均的な改善効果の向上が見込める。
また、経由点の変更回数が(実行時間の短縮が見込めない場合を除いて)均一になるように選んでもよい。この場合、平均的に最適化が進むので改善が完了するまでの変更回数が少なくなることが見込める。また実行時間が長い補間動作やケースCの補間動作をケースBの補間動作より優先する等、全体の実行時間に影響が大きい補間動作から選んでもよい。この場合、経由点を変更する余地が実行時間の短縮が大きく見込めるものへ優先されるため、改善効果の向上が見込める。
経由点候補決定手段5により第1の経由点候補を指示した経由点候補情報I51が出力されると、経由点変更手段7により経由点候補情報I51の指示する第1の経由点候補を変更経由点として決定し、選択経由点の座標を変更経由点の座標に置き換えた新たな複数の軌道座標からなる変更軌道位置情報I7をロボット制御手段1に出力する。
その結果、ロボット制御手段1が変更軌道位置情報I7に基づく動作指令値C1をロボット装置2に与え、ロボット装置2の軌道を制御する。この際のロボット装置2の動作状況が動作情報収集手段3で収集され動作情報I3として出力されることになる。
その結果、ステップS18において、動作実行可能判定手段4は、経由点候補情報I51で指示する経由点候補(第1の経由点候補)で動作可能か否かを判定して動作可能情報I4を出力する。動作可能情報I4が動作可能を指示する場合、ステップS12に戻る。
ステップS12において、経由点候補決定手段5によって全ての経由点及び補間動作で実行時間の短縮が見込めないと判断されると(YES)とステップS13に移行する。例えば、全ての経由点及び補間動作においてステップS16の分類速度変化パターンがケースAを示した場合、ステップS12でYESとなる。
ステップS13において、学習を終了し、経由点変更手段7は、過去に出力された変更軌道位置情報I7のうち、動作可能と判定された中で実行時間が最短であった変更軌道位置情報I7を最終決定する。
その後、経由点変更手段7は最終決定した経由点を軌道座標とした変更軌道位置情報I7をロボット制御手段1に出力すればよく、以降、変更軌道位置情報I7の内容を変化させる必要はない。このようにして、実施の形態1のロボット軌道制御装置による軌道改善処理は終了する。ただし、運転状態を監視し続けて、経年劣化等でロボットの速度パターンが変化した場合に再度学習を行うようにしても良い。
ステップS12において、さらに、経由点及び補間動作で実行時間の短縮が見込める可能性があると判断されると(NO)、ステップS13〜S17の経由点候補決定処理が再び行われる。なお、経由点候補決定手段5による経由点候補決定処理が一度も行われていない、初期情報I1の入力直後の場合、ステップS12の判断はNOとなる可能性が高い。
次に、ステップS18で動作実行不能と判断された場合(NO)の動作可能経由点候補探索手段6による探索処理について説明する。
動作可能経由点候補探索手段6による探索処理は、動作情報収集手段3によって収集された動作情報I3に基づき、各駆動部Diの動作情報を用いて実行時間が短縮される範囲で干渉を回避する経由点候補を決定することにより行われる。
経由点候補決定手段5が実行時間を短縮するために経由点候補を変更した際には、動作情報収集手段3より得られる動作情報I3に基づき各駆動部Diの動作情報から実行時間がどれだけ短縮されるかは算出できる。同様に、経由点の他の駆動部に対応する座標を変更した際の実行時間の変化も動作情報I3に基づき算出できる。したがって、動作可能経由点候補探索手段6は、これらの算出結果から実行時間が短縮される範囲を導出し、その範囲内で干渉を回避する第2の経由点候補を決定することができる。以下、図4に沿って、動作可能経由点候補探索手段6の探索処理を詳述する。
まず、ステップS33で、直近のステップS15で算出されたボトルネック駆動部BD以外の駆動部を他の選択駆動部EDとして選ぶ。
そして、ステップS34において、実行時間が延長されない範囲で、他の選択駆動部EDに関し、次の(1)〜(3)の手法を用いて得られた第2の経由点候補を、選択経由点(経由点候補決定手段5によりされた第1の経由点候補の内容反映)に替わる経由点候補として導出し、当該第2の経由点候補を規定した経由点候補情報I52を出力する。
(1) 他の選択駆動部EDが経由点前後のどちらの補間動作においてもボトルネック駆動部BDに該当しないときには、変更する方向は問わずボトルネック駆動部BDにならない範囲の量だけ、選択経由点における他の選択駆動部EDの座標部分を変更する。
(2) 他の選択駆動部EDが経由点前後の少なくともどちらかの補間動作でボトルネック駆動部BDに該当するときには、経由点候補決定手段5による経由点候補決定処理と同様に経由点の他の選択駆動部EDの座標を変更する。
(3) 上記(1),(2)の2つの変更でも動作実行可能と判定されない場合には、ボトルネック駆動部BDの変更によって短縮される実行時間よりも、延長される実行時間が短い範囲で経由点の他の選択駆動部EDの座標を変化させる。
動作可能経由点候補探索手段6により第2の経由点候補を指示する経由点候補情報I52が出力されると、経由点変更手段7により経由点候補情報I52の指示する経由点候補が変更経由点として決定され、選択経由点の座標を変更経由点の座標に置き換えた新たな複数の軌道座標からなる変更軌道位置情報I7をロボット制御手段1に出力する。
ロボット制御手段1は変更軌道位置情報I7に基づき動作指令値C1をロボット装置2に与えることにより、ロボット装置2の軌道を制御する。ロボット装置2の動作状況が動作情報収集手段3で収集され動作情報I3として出力されることになる。
その結果、ステップS35において、動作実行可能判定手段4は、経由点候補情報I52で指示された経由点候補で動作可能(干渉していない等)か否かを判定して動作可能情報I4を出力する。動作可能情報I4が動作可能を指示する場合(YES)、ステップS12に戻る。
一方、動作実行可能判定手段4で動作不能を判定した場合(ステップS35でNO)、ステップS36で、経由点候補情報I52の指示する第2の経由点候補を破棄し、ステップS31に戻る。
ステップS31において、ボトルネック駆動部BD以外の全ての駆動部Diを変更しても、実行時間の短縮が見込めないと判断されると(YES)と、ステップS32で経由点候補情報I51で指示された第1の経由点候補を破棄し、ステップS12に戻る。すなわち、ステップS32において、動作可能経由点候補探索手段6は経由点候補決定手段5により他の経由点候補の決定を指示するボトルネック座標変更指令C6を出力する。
ステップS31において、ボトルネック駆動部BD以外のいずれかの駆動部Diを変更すれば実行時間の短縮が見込めると判断されると(NO)、ステップS33〜S34の動作可能経由点候補探索手段6による探索処理をさらに行う。なお、動作可能経由点候補探索手段6による探索処理が一度も行われていない場合等は、ステップS31の判断はNOとなる可能性が高い。
その後、再び、ステップS33〜S34において、まだ試していない駆動部を他の選択駆動部EDとして、探索処理を行う。
上述したように、実施の形態1のロボット軌道制御装置は、ロボット装置2を実際に動作させながら、動作情報収集手段3より得られる動作情報I3に基づき経由点候補決定手段5(ステップS12〜S14)あるいは動作可能経由点候補探索手段6(ステップS33,S34)により、実行時間が短縮される範囲で第1あるいは第2の経由点候補を得ている。そして、経由点変更手段7が上記第1あるいは第2の経由点候補を変更経由点として決定している。
したがって、実施の形態1のロボット軌道制御装置は、経由点変更手段7によって決定された変更経由点を選択経由点に置き換えた情報を変更軌道位置情報I7として自動的に順次得ることにより、少ない計算手順で周辺環境との干渉を発生させることなく、ロボットの軌道を改善することができる。
ここで、経由点候補を決定する際(ステップS17,ステップS34)における経由点座標の変更量であるが、所定の値で変更する場合には作業を行う場面に合わせて調整することにより、改善に掛かる時間と改善効果を適宜調整することができる。また、経由点候補決定処理の際、駆動部のケースA〜ケースCで表される速度変化パターンの場合には、速度変化パターンがちょうど他のケースに変化するように経由点座標の変化量を調整するようにしてもよい。この場合、同じ速度変化パターン内で2つの経由点座標を交互に経由点候補とし続けることを防ぐ効果がある。また、障害物との干渉があまり発生しない場合には変更量を大きく、干渉が多発する場合には変更量を小さくすることで、計算手数を抑えつつ改善効果を大きくする効果が期待できる。
(経由点候補決定処理の第1例)
図7〜図16は経由点候補決定手段5による経由点候補決定処理の第1例を示す図である。図7,図9,図11,図13,図15は2つの経由点を含む始点から終点へのハンド位置変化を模式的に示す説明図であり、図8,図10,図12,図14,図16は、図7,図9,図11,図13,図15のハンドの移動における、x軸方向及びy軸方向に平行に動く2つの駆動部の速度変化を示すグラフである。
経由点候補決定処理の説明を間単にするために、x軸及びy軸それぞれに平行に動く2つの駆動部が存在するものとしている。また、x軸方向に平行に動く駆動部及びy軸方向に平行に動く駆動部は共に同程度の定格速度VMiを有しているとする。この点は以降で述べる第2例〜第4例においても同様である。
図7,図9,図11,図13,図15において始点座標であるハンド位置P11は経由点VP1であるハンド位置P12及び経由点VP2であるハンド位置P13を経由して、終点座標であるハンド位置P14に移動することを示している。すなわち、ロボット装置2のハンドはP11→P12→P13→P14の順に移動する。ハンドによる移動対象物がワークW1であり、ハンド位置P11〜P14間には障害物E1が存在している。
以下、まず、初期情報I1によって図7及び図8に示す初期軌道が与えられた場合における経由点候補決定手段5による経由点候補決定処理を図4で示したフローチャートと対応づけて説明する。
図7及び図8に示す初期軌道において、経由点VP1(ハンド位置P12)及び始点(ハンド位置P11)→経由点VP1の補間動作に注目する(図4のステップS14)。すなわち、VP1が選択経由点、「始点→経由点VP1」が選択補間動作となる。初期軌道についての図8で示す動作情報(速度変化)に基づき、上記選択補間動作においてボトルネック駆動部BDとなっているのはy軸方向の駆動部であることを認識する(図4のステップS15)。
ここで、y軸方向の駆動部の始点→経由点VP1→経由点VP2における速度変化パターンは上述したケースBに該当する(図4のステップS16)。したがって、経由点VP1のy軸座標を始点座標方向に変更して(図4のステップS17)、変更後の軌道として図9及び図10で示す第2軌道を得る。
この第2軌道は障害物E1と干渉しないため、図4のステップS18でYESとなる。また、第2軌道から軌道改善の可能性が存在するため、ステップS12でNOとなり、図4のステップS14に戻る。
第2軌道が得られると、経由点VP1及び経由点VP1→経由点VP2(ハンド位置P13)の補間動作に注目する(図4のステップS14)。すなわち、経由点VP1が選択経由点、「経由点VP1→経由点VP2」が選択補間動作となる。第2軌道についての図10で示す動作情報に基づき、上記選択補間動作でボトルネック駆動部BDとなっているのはx軸方向の駆動部であることを認識する(図4のステップS15)。
ここで、x軸方向の駆動部の始点→経由点VP1→経由点VP2における速度変化パターンはケースB′に該当する(図4のステップS16)。したがって、経由点VP1のx軸座標を経由点VP2の座標方向に変更して(図4のステップS17)、変更後の軌道として図11及び図12で示す第3軌道を得る。
この第3軌道は障害物E1と干渉しないため、図4のステップS18でYESとなる。また、第3軌道から軌道改善の可能性が存在するため、ステップS12でNOとなり、図4のステップS14に戻る。以降、図4との対応についての同様な説明は適宜省略する。
第3軌道が得られると、経由点VP2及び経由点VP2→終点(ハンド位置P14)の補間動作に注目する。すなわち、経由点VP2が選択経由点、「経由点VP2→終点」が選択補間動作となる。第3軌道についての図12の動作情報に基づき、上記選択補間動作でボトルネック駆動部BDとなっているのはy軸方向の駆動部であることを認識する。
y軸方向の駆動部の経由点VP1→経由点VP2→終点における速度変化パターンはケースCに該当する。したがって、経由点VP2のy軸座標を経由点VP1の座標方向に変更して、図13及び図14で示す第4軌道を得る。
第4軌道が得られると、経由点VP2及び経由点VP1→経由点VP2の補間動作に注目する。すなわち、経由点VP2が選択経由点、「経由点VP1→経由点VP2」が選択補間動作となる。第4軌道についての図14の動作情報に基づき、上記選択補間動作でボトルネック駆動部BDとなっているのはx軸方向の駆動部であることを認識する。
x軸方向の駆動部の経由点VP1→経由点VP2→終点における速度変化パターンは、ケースBに該当する。したがって、経由点VP2のx軸座標を経由点VP1の座標方向に変更して、図15及び図16で示す第5軌道となる。
この第5軌道は障害物E1と干渉しないため、図4のステップS18でYESとなり、ステップS12に以降する。
図16で示す動作情報から始点→経由点VP1→経由点VP2→終点の全ての補間動作でボトルネック駆動部BDとなっているのはx軸方向の駆動部であり、その速度変化パターンはケースAであるため、これ以上の実行時間の短縮は見込めないため改善は終了する(図4のステップS12でYES)。
その結果、ロボット装置2の軌道改善の学習を終了し、経由点変更手段7は、過去の教示データ(変更軌道位置情報I7として採用した軌道座標)のうち、動作可能と判定された中で実行時間が最短であった経由点候補の座標に変更する。(図4のステップS13)。
(経由点候補決定処理の第2例)
図17〜図20は経由点候補決定手段5による経由点候補決定処理の第2例を示す図である。図17,図19は2つの経由点を含む始点から終点へのハンド位置変化を模式的に示す説明図であり、図18,図20は、図17,図19のハンドの移動における、x軸方向及びy軸方向に平行に動く2つの駆動部の速度変化を示すグラフである。
図17,図19において始点座標であるハンド位置P21は経由点VP1であるハンド位置P22及び経由点VP2であるハンド位置P23を経由して、終点座標であるハンド位置P24に移動することを示している。すなわち、ロボット装置2のハンドはP21→P22→P23→P24の順に移動する。ハンドによる移動対象物がワークW2であり、ハンド位置P21〜P24間には障害物E2が存在している。
図37は第2例及び第3例に対応する、実施の形態1のロボット軌道制御装置におけるロボット軌道制御方法の処理内容を示すフローチャートである。
同図に示すように、ステップS18でYES後及びステップS35でYES後に実行されるステップS21の経由点削除処理を追加している。すなわち、ステップS21において、経由点候補決定手段5は、軌道変更後の経由点の座標が、その経由点前後の教示点座標を補間動作で繋いだ軌道上にある場合、軌道変更後の経由点を削除する。このステップS21の実行後にステップS12に移行する。なお、ステップS21は、ステップS32の実行後にも実行されるが、通常はステップS21の条件に該当することは無い。他の処理は図4で示したフローチャートと同様であるため、説明を省略する。
以下、初期情報I1によって図17及び図18に示す初期軌道が与えられた場合における経由点候補決定手段5による経由点候補決定処理を図37で示したフローチャートと適宜対応づけて説明する。
図17及び図18に示す初期軌道が与えられた場合、経由点候補決定手段5は第1例と同様に経由点候補決定処理を行い、図19及び図20で示す改善軌道を得る。すなわち、経由点候補決定手段5は、「経由点VP1(ハンド位置P22)及び経由点VP1→経由点VP2(ハンド位置P23)の補間動作に注目」して経由点候補決定処理を行い、さらに、「経由点VP2及び経由点VP1→経由点VP2の補間動作に注目」して経由点候補決定処理を行って上記改善軌道を得る。
上記改善軌道が得られると、経由点VP1及び始点→経由点VP1の補間動作に注目する(図37のステップS14)。すなわち、経由点VP1が選択経由点、「始点→経由点VP1」が選択補間動作となる。図20で示す動作情報に基づき上記選択補間動作でボトルネック駆動部BDとなっているのはy軸方向の駆動部であることを認識する(図37のステップS15)。
y軸方向の駆動部の始点→経由点VP1→経由点VP2における速度変化パターンは、ケースBに該当する(図37のステップS16)。したがって、経由点VP1のy軸座標を始点方向に変更して(図37のステップS17)、変更改善軌道を得る。
しかし、上記変更改善軌道は、障害物E2と干渉してしまうため、動作実行不能となる(図37のステップS18でNO)。
そこで、動作可能経由点候補探索手段6により探索処理を行い、干渉を回避するためにボトルネック駆動部BD以外の駆動部(他の選択駆動部ED)であるx軸方向の駆動部の経由点VP1における座標を変更しようとする(図37のステップS33)。
ここで、x軸方向の駆動部は経由点VP1→経由点VP2の補間動作でボトルネック駆動部BDとなっており、始点→経由点VP1→経由点VP2の速度変化パターンはケースBに該当する。したがって、経由点VP1におけるx軸方向の駆動部の座標は経由点VP2の方向に変更して、探索後改善軌道を得る(図37のステップS34)。しかし、この探索後の改善軌道では、干渉を回避することが出来ない(ステップS35でNO)。他の経由点及び他の補間動作に注目しても同様であり、これ以上の実行時間の短縮は出来ないため改善は終了する(図37のステップS31でYES→ステップS32→ステップS12でNO→S13)。
なお、改善の過程である経由点の座標が、その経由点前後の教示点座標を補間動作で繋いだ軌道上にあるとき、その経由点座標を削除する。すなわち、ステップS18でYES後、あるいはステップS35でYES後における変更後の座標点について、図37のステップS21を実行し、上記条件を満足する場合、変更後の経由点を削除する。その後、ステップS12に戻る。
このように、ステップS21の処理を実行することにより、変更後の経由点座標がその経由点前後の教示点座標を補間動作で繋いだ軌道上にあるとき、その経由点座標を削除することにより、計算手数を少なくする効果を奏する。
(経由点候補決定処理の第3例)
図21〜図28は経由点候補決定手段5による経由点候補決定処理の第3例を示す図である。図21,図23,図25,図27は2つの経由点を含む始点から終点へのハンド位置変化を模式的に示す説明図であり、図22,図24,図26,図28は、図21,図23,図25,図27のハンドの移動における、x軸方向及びy軸方向に平行に動く2つの駆動部の速度変化を示すグラフである。
図21,図23,図25,図27において始点座標であるハンド位置P31は経由点VP1であるハンド位置P32及び経由点VP2であるハンド位置P33を経由して、終点座標であるハンド位置P34に移動することを示している。すなわち、ロボット装置2のハンドはP31→P32→P33→P34の順に移動する。ハンドによる移動対象物がワークW3であり、ハンド位置P31〜P34間には障害物E3が存在している。
以下、初期情報I1によって図21及び図22に示す初期軌道が与えられた場合における経由点候補決定手段5による経由点候補決定処理を図37で示したフローチャートと適宜対応づけて説明する。
図21及び図22で示す初期軌道において、経由点VP1(ハンド位置P32)及び経由点VP1→経由点VP2(ハンド位置P33)の補間動作に注目する(図37のステップS14)。すなわち、経由点VP1が選択経由点、「経由点VP1→経由点VP2」が選択補間動作となる。初期軌道についての図22で示す動作情報に基づき、上記選択補間動作でボトルネック駆動部BDとなっているのはx軸方向の駆動部であることを認識する(図37のステップS15)。
ここで、x軸方向の駆動部の始点→経由点VP1→経由点VP2における速度変化パターンはケースB′に該当する(図37のステップS16)。したがって、経由点VP1のx軸座標を経由点VP2の座標方向に変更して(図37のステップS17)、変更後の軌道として図23及び図24で示す第2軌道を得る。
この第2軌道は障害物E3と干渉しないため、図37のステップS18でYESとなる。そして、ステップS21で経由点削除されることなくステップS12に戻る。第2軌道から軌道改善の可能性が存在するため、ステップS12でNOとなり、図37のステップS14に戻る。以降、図37との対応についての同様な説明は適宜省略する。
第2軌道が得られると、経由点VP2及び経由点VP1→経由点VP2の補間動作に注目する。すなわち、経由点VP2が選択経由点、「経由点VP1→経由点VP2」が選択補間動作となる。第2軌道について図24で示す動作情報に基づき、上記選択補間動作でボトルネック駆動部BDとなっているのはx軸方向の駆動部であることを認識する。
ここで、x軸方向の駆動部の経由点VP1→経由点VP2→終点(ハンド位置P34)における速度変化パターンはケースBに該当する。したがって、経由点VP2のx軸座標を経由点VP1の座標方向に変更して、変更後の軌道として図25及び図26で示す第3軌道を得る。
この第3軌道は障害物E3と干渉しないため、図37のステップS18でYESとなる。
そして、ステップS21において、経由点VP1及び経由点VP2が重なる、すなわち、経由点前後の軌道座標である始点〜経由点VP2の座標を補間動作で繋いだ軌道上に経由点VP2が存在するため、第3軌道における経由点VP2(ハンド位置P33)を削除し、第3軌道を修正する。その後、ステップS12に戻る。第3軌道から軌道改善の可能性が存在するため、ステップS12でNOとなり、図37のステップS14に戻る。
ステップS21で修正後の第3軌道が得られると、経由点VP1及び始点→経由点VP1の補間動作に注目する。すなわち、経由点VP1が選択経由点、「始点→経由点VP1」が選択補間動作となる。第3軌道について図26で示す動作情報に基づき、上記選択補間動作でボトルネック駆動部BDとなっているのはy軸方向の駆動部であることを認識する。
ここで、y軸方向の駆動部の始点→経由点VP1→終点における速度変化パターンはケースCに該当する。経由点VP1のy軸座標を始点座標方向に変更して、変更後の軌道として図27及び図28で示す第4軌道を得る。
第4軌道が得られると、図28で示す動作情報に基づき、始点→経由点VP1→終点の全ての補間動作でボトルネック駆動部BDとなっているのはx軸方向の駆動部であり、その速度変化パターンはケースAに該当するため、これ以上の実行時間の短縮は見込めないため改善は終了する(図37のステップS12でNO)。その結果、ロボット装置2の軌道改善の学習を終了する(図37のステップS13)。
このように、ステップS21の処理を実行することにより、変更後の経由点座標がその経由点前後の教示点座標を補間動作で繋いだ軌道上にあるとき、その経由点座標を削除することができ、計算手数を少なくする効果を奏する。
(経由点候補決定処理の第4例)
図29〜図36は経由点候補決定手段5による経由点候補決定処理の第4例を示す図である。図29,図31,図33,図35は2つの経由点を含む始点から終点へのハンド位置変化を模式的に示す説明図であり、図30,図32,図34,図36は、図29,図31,図33,図35のハンドの移動における、x軸方向及びy軸方向に平行に動く2つの駆動部の速度変化を示すグラフである。
図29,図31,図33,図35において始点座標であるハンド位置P41は経由点VP1であるハンド位置P42を経由して、終点座標であるハンド位置P44に移動することを示している。すなわち、ロボット装置2のハンドはP41→P42→P44の順に移動する。ハンドによる移動対象物がワークW4であり、ハンド位置P41〜P44間には障害物E4が存在している。
図38は第4例に対応する、実施の形態1のロボット軌道制御装置におけるロボット軌道制御方法の処理内容を示すフローチャートである。
同図に示すように、ステップS32後に実行されるステップS22の経由点追加処理を追加している。すなわち、ステップS22において、経由点候補決定手段5は、速度変化パターンがケースCに該当するが、障害物との干渉で改善が見込めない場合、経由点を追加する処理を行う。
このステップS22の実行後にステップS12に移行する。なお、ステップS22は、ステップS18でYES後、ステップS35でYESの実行後にも実行されるが、ステップS22の条件を満足することはないため、実質的にはステップS22はスルーされることになる。なお、他の処理は図4で示したフローチャートと同様であるため、説明を省略する。
以下、初期情報I1によって図29及び図30に示す初期軌道が与えられた場合における経由点候補決定手段5による経由点候補決定処理を図38で示したフローチャートと適宜対応づけて説明する。
図29及び図30で示す初期軌道において、経由点VP1及び始点→経由点VP1の補間動作に注目する(図38のステップS14)。すなわち、経由点VP1が選択経由点、「始点→経由点VP1」が選択補間動作となる。図30の動作情報に基づき、上記選択補間動作でボトルネック駆動部BDとなっているのはy軸方向の駆動部であることを認識する(図38のステップS15)。
ここで、y軸方向の駆動部の始点→経由点VP1→終点における速度変化パターンはケースCに該当する(図38のステップS16)。したがって、経由点VP1のy軸座標を始点座標方向に変更して、変更後軌道として第2軌道を得る。
しかし、第2軌道では、障害物E4と干渉するため(ステップS18でNO)、このままでは実行時間の短縮が見込めず改善が終了してしまう(最終的にステップS31でYES,ステップS32の実行)。そこで、ステップS32の実行後にステップS22の処理を実行する。
ステップS22において、速度変化パターンがケースCに該当し、障害物E4との干渉で改善が見込めなかったため、経由点を追加して、図31及び図32で示す修正第2軌道を得る。図31及び図32に示すように、ハンド位置P42〜P44間に経由点VP2としてハンド位置P43が追加される。
その後、ステップS12に戻る。修正第2軌道から軌道改善の可能性が存在するため、ステップS12でNOとなり、図38のステップS14に戻る。以降、図38との対応についての同様な説明は適宜省略する。
図31及び図32で示す修正第2軌道において、経由点VP1及び始点→経由点VP1の補間動作に注目する。すなわち、経由点VP1が選択経由点、「始点→経由点VP1」が選択補間動作となる。図32で示す動作情報に基づき、上記選択補間動作でボトルネック駆動部BDとなっているのはy軸方向の駆動部であることを認識する。
ここで、y軸方向の駆動部の始点→経由点VP1→経由点VP2における速度変化パターンはケースCに該当する。したがって、経由点VP1のy軸座標を始点座標方向に変更して、変更後軌道として第3軌道を得る。
しかし、y軸座標のみ変更した第3軌道では、障害物E4と干渉するため(図38のステップS18でNO)、干渉を回避するため経由点VP1のx軸座標も始点座標よりに変更して(図38のステップS33及びS34)、図33及び図34で示す修正第3軌道を得る。
以降は、同様に改善が進み、最終的に図35及び図36で示す第4軌道を得た後、改善は終了する。
このように、ステップS22を実行して、変更後の経由点座標により干渉が回避できず、速度変化パターンがケースCに該当するとき、経由点座標を追加することにより、実行時間をさらに短縮した軌道改善を図ることができる。
(ロボットの具体例)
図39〜図43は軌道改善対象となるロボットの具体的姿勢を示す説明図である。図39〜図41及び図43において、(a) は正面図であり、(b) は側面図である。また、図42において、(a) は上面図、(b) は側面図、(c) は正面図である。なお、図3との対応関係を明瞭にすべく、図39〜図43において、駆動部D1〜D6の位置等を適宜示している。
図39ロボット21の姿勢で表される初期座標、図40のロボット31の姿勢で表される終点座標、図41のロボット21の姿勢で表される初期の経由点座標を示している。図42で示すような障害物E1の配置に対して、実施の形態1の経由点候補決定処理を適用した結果が図43のロボット21の姿勢で表される経由点座標である。
始点座標,終点座標,経由点座標といった教示点データは,ロボットの駆動部の角度で表現した場合にはロボットの位置姿勢と一致する。図39〜図41及び図43では、各座標を駆動部の角度ではなく,そのとき実現されるロボットの位置姿勢外観で表現している。
上述した第1例〜第4例では、説明の簡略化上,2次元で考え,各座標を把持部K6のハンド位置で表現し,障害物E1との干渉もハンド部分だけで考慮している。実際には、ロボット全体と障害物との干渉を避ける必要があるため、図39〜図43ではロボットの外観で表現している。
図39〜図42の例では,始点座標から終点座標まで経由点を取らずに動作させた場合,腕を伸ばすようにして移動するため,ロボットのアームが障害物E1と干渉してしまう。そこで、障害物E1との干渉を回避して,始点座標から終点座標に移動するためには,ロボットのハンド位置が障害物E1の手前側(ロボット側)か,障害物E1の上側を通る必要がある。
図44はロボット装置2(ロボット21)の動作回数と実行時間との関係を示すグラフである。同図において、動作実行時間は初期軌道の動作実行時間を“1”として正規化している。また、障害物とロボットが干渉すると判断した際は動作実行不可能と判定をして実行時間は“0”としている。
図41で示す初期経由点座標は障害物から十分に離れた位置にあるため、始点→経由点→終点の移動で障害物と干渉が発生しない反面、実行時間が長くなっている(図43の1回目に相当)。
そこで、実施の形態1のロボット軌道制御装置によって、経由点(図39〜図43の例では経由点は1つ)を変更する軌道制御を行う。すると、実施の形態1にロボット軌道制御装置は、60回目の動作実行後に軌道改善制御を終了する。すなわち、60回目の実行後に、実行時間を短縮し、かつ障害物と干渉しない経由点候補は見いだせないと判断し、最も実行時間が短かった55回目に施行した座標(図43)を最終的な経由点座標と決定することにより学習を終了する。
その結果、図41で示す初期のロボット姿勢から、図43で示すロボット姿勢に経由点を変更することにより、障害物E1と干渉することなく、始点〜終点間の実行時間を最短にすることができる。
図44に示すように、実施の形態1のロボット軌道制御装置は最終的に初期軌道から実行時間を4割弱に改善した軌道を得ることができる。また、実施の形態1のロボット軌道制御装置は、動作実行時間が短縮される経由点座標のみ候補としているため、少ない計算手数で軌道の改善を行うことができる。
このように、実施の形態1のロボット軌道制御装置は、実際のロボット装置2の動作情報I3を用いて軌道の改善を行うため、ロボット装置や周辺環境のモデル化誤差の影響が無く、高精度の軌道改善が実現される効果を奏する。すなわち、実施の形態1のロボット軌道制御装置は、少ない計算手数で自動的にロボットの軌道を改善することができる効果を奏する。
(ボトルネック駆動部BDの算出方法の補足)
(第1のケース)
一つの補間動作中においては一つの駆動部が最短時間で変位しようとし続けているが,必ずしも各駆動部が同時に動き出し同時に動作を終了するとは限らない補間動作で軌道が定義されている場合がある。なお、第1のケースにおいて、一つの駆動部がボトルネックであり続け,かつその駆動部の速度パターンが台形若しくは三角形であることを想定している。なお、台形とは最高速度による安定期間が存在する速度パターンであり、三角形とは最高速度に到達すると直ちに速度低下する速度パターンを意味する。
経由点候補決定手段5はまず、ある時刻tでボトルネックとなっている駆動部を次のように算出する(第1の算法)。ロボット装置2の動作情報I3から得られる時刻tでの駆動部Diの速度をVit,加速度をAitとする。
また,ロボット装置2に予め定められている駆動部Diの最高速度(定格速度)をVMi、最高加速度(定格加速度)をAMiとする.速度VitをVMiで除した値の絶対値を係数Pit,加速度Aitを加速度AMiで除した値の絶対値を係数Qitとし,駆動部毎に係数Pitと係数Qitの1/2乗を比較して大きいほうを係数Ritとする.全駆動部の中で係数Ritが最も大きい駆動部を時刻tでのボトルネック駆動部BDとする。
上述のように、各時刻でボトルネックとなっている駆動部が分かるため、これから補間動作中で常にボトルネックとなっている駆動部が算出でき、この駆動部をこの補間動作におけるボトルネックとする。以降の軌道改善は図4等で説明した処理内容と同様に行う。
このように、一つの補間動作中においては一つの駆動部が最短時間で変位しようとし続けているが、必ずしも各駆動部が同時に動き出し同時に動作を終了するとは限らない補間動作で軌道が定義されている第1のケースにおいても、第1の算法を採用することにより実施の形態1のロボット軌道制御装置は、自動で軌道の改善を行うことができる。
また、第1のケースの別の方法(第2の算法)として、何れかの駆動部の加速度が変化する時点によって補間動作を区分けし、区分けされた区間の中間時刻でのボトルネックを代表的に算出する方法が考える。この第2の算法によって、一定間隔ごとにボトルネックを求めるのに比べて、計算手数を減らす効果がある。
さらに、第1のケースの別のボトルネックの算出方法として次のような方法(第3の算法)もある。一つの補間動作において、駆動部Diの変位量をΔHiとする。ただし補間動作中で駆動部Diの移動方向が変化する場合は変位量ΔHiを“0”とする。変位量ΔHiを速度VMiで除した係数値を駆動部毎に比較し、当該計数値が最も大きい駆動部をこの補間動作におけるボトルネックとする。
この第3の算法によっても、補間動作中の幾つかの時刻でのボトルネックを算出する方法に比べて、計算手数を減らす効果がある。
(第2のケース)
重量物を把持したときなど幾つかの駆動部に負荷が掛かり過ぎるため、その駆動部の速度やトルクに特別な制限が掛けられる場合がある。このとき実際に制限が掛けられた駆動部が全体の実行時間を決定する駆動部となるが、速度パターンは一つの駆動部が最短時間で変位しようとし続けているパターンとは乖離することがある。すなわち、第2のケースは、一つの駆動部がボトルネックであり続けるが,その駆動部の速度パターンが台形若しくは三角形以外となる場合や、上述第1〜第3の算法では他の駆動部をボトルネックと判断してしまう場合を想定している。
動作情報収集手段3は上述した制限により駆動部の動作が制限された結果の動作であるかも動作情報I3として収集する。そして、駆動部の動作が実際に制限されていた場合、経由点候補決定手段5は実際に制限が加えられた駆動部をボトルネックとして判定して、次の経由点候補を決定する。
このように、重量物を把持したときなど幾つかの駆動部に負荷が掛かりすぎるのを防ぐために速度やトルクに制限が加えられた第2のケースにおいても、実施の形態1のロボット軌道制御装置は軌道改善を行うことができる。
(第3のケース)
ハンド位置(手先部分)の軌道が作業空間上直線やある曲線を描くようにする補間動作がある。このような補間動作の場合、一つの補間動作中においてボトルネックとなる駆動部が変更される場合がある。
始点→経由点(×1)→終点を上述した補間動作で動作したとし、「始点→経由点」の補間動作を選択補間動作とした場合、経由点候補決定手段5は「始点→経由点」の補間動作中の経由点に直近部分でボトルネックとなっている駆動部を、この補間動作のボトルネックとみなす。このときのボトルネックの算出方法は、第1のケースに記述した第1〜第3の算法と同様である。そして、経由点前後の直近部分の速度変化パターンに基づき、上述した経由点候補決定処理と同様にして経由点候補を決定する。
このように、ハンド位置が作業空間上直線やある曲線を描くようにする補間動作によって定義された軌道が存在する第3のケースにおいても、実施の形態1のロボット軌道制御装置は自動的に軌道改善を行うことができる。
(第4のケース)
実施の形態1のロボット軌道制御装置において、経由点候補決定処理を改良し、一つの補間動作中においてボトルネックとなる駆動部が変更される場合に、経由点を追加する方法がある。注目している補間動作において、第1のケースとして記述したように各時点でのボトルネックを算出し、ボトルネックが変更される座標に新たな経由点を追加することが考えられる。このようにして、軌道改善の効果を向上させることもできる。
上述した第1〜第4のケースに対応して、ボトルネック駆動部BDの選択内容を適宜変更することにより、少なくとも実施の形態1のロボット軌道制御装置による正常動作を維持することができる。
図45は第4のケースに対応すべく経由点追加処理を用いた場合の実施の形態1のロボット軌道制御装置におけるロボット軌道制御方法の処理内容を示すフローチャートである。
同図に示すように、ステップS18でYES後に実行されるステップS23の経由点追加処理を追加している。すなわち、ステップS23において、選択補間動作において、ボトルネックが変更される座標に経由点を追加する。このステップS23の実行後にステップS12に移行する。なお、ステップS23は、ステップS35でYES後、ステップS32の実行後にも実行される。なお、他の処理は図4で示したフローチャートと同様であるため、説明を省略する。
(第2の装置構成)
図46はこの発明の実施の形態1であるロボット軌道制御装置の具体的な装置構成(第2の装置構成)を示す説明図である。同図に示すように、電子計算機26上にロボットの仮想動作させるシミュレーションが実装されている。すなわち、図1で示したロボット制御手段1、ロボット装置2、動作情報収集手段3、動作実行可能判定手段4、経由点候補決定手段5、動作可能経由点候補探索手段6及び経由点変更手段7を電子計算機26で実装されるソフトウェア処理上において実現している。
第2の装置構成では、ロボットの動作自体をシミュレーションで実現する具体的な装置構成である。ここで用いるシミュレーションとは、既知の技術であるロボット制御装置22や、動力学特性を考慮したロボットモデルや周辺環境モデルを電子計算機26上で再現し、利用者に視覚的に表示するものである。電子計算機26で実行されるシミュレーション上において、ロボットの内部センサ出力や外部センサ出力も再現でき、ロボットと周辺環境との干渉等も再現することができる。
第2の装置構成では、ロボット制御手段1とロボット装置2も電子計算機26に実装され、図2で示した第1の装置構成で必要であった、ロボット21、ロボット制御装置22、ティーチングボックス23、及びセンサ用ケーブル25は不要となる。
第2の装置構成の場合には、電子計算機26に実装されたシミュレーション上でロボットを動作させており実際のロボットを動作させる必要が無いため、第1の装置構成と比較して、軌道改善中に、干渉が発生するなどして、ロボットが損傷する危険が無いという効果を奏する。また、外部センサを軌道改善のために用意する必要も無くなり本発明の適用が容易となるという効果を奏する。
(第3の装置構成)
図47はこの発明の実施の形態1のロボット軌道制御装置の具体的な装置構成(第3の装置構成)を示す説明図である。
同図に示すように、ロボット制御手段1を含むロボット制御装置32が用いられ、ロボット制御装置32が出力する指令値に従って、ロボット装置2に相当するロボット31が動作する。ロボット31の各駆動部の動作状況や実行時間といった内部センサの出力はロボット制御装置32に出力される。ロボット31に備えられた外部センサの出力はセンサ用ケーブル35を介してロボット制御装置32に出力される。
ロボット制御装置32は軌道改善するための経由点候補を決定するための計算をも行うものであり、具体的には、図1で示した動作情報収集手段3、動作実行可能判定手段4、経由点候補決定手段5、動作可能経由点候補探索手段6、及び経由点変更手段7の機能を実装するものである。
ティーチングボックス33は、図2で示した第1の装置構成のティーチングボックス23と同様、作業者がロボット制御装置32に初期情報I1を与える装置である。
本発明を適用するための経由点候補決定処理等の計算処理の負荷は低く、専用の電子計算機と比較して数値計算処理能力で見劣りするロボット制御装置でも処理可能なものであるため、ロボット31の制御が主目的のロボット制御装置32自体に経由点候補決定処理等の機能を備えさせることは十分可能である。
第3の装置構成では、動作情報収集手段3、動作実行可能判定手段4、経由点候補決定手段5、動作可能経由点候補探索手段6、経由点変更手段7もロボット制御装置32に実装される分、第1及び第2の装置構成の電子計算機24及び26に相当する構成が不要となり、装置構成の簡略化を図ることができる。
また、センサ用ケーブル35がロボット制御装置32に繋がれた構成となるため、ロボット軌道制御を行う際、第1の装置構成のように電子計算機へのセンサ用ケーブルの付け替え等の処理が不要となる。したがって、第3の装置構成は、多数のロボットが存在する大規模な生産設備で本発明を適用する際に、労力を抑えることができるという効果を奏する。
<実施の形態2>
図48はこの発明の実施の形態2であるロボット軌道制御装置の構成を示すブロック図である。同図に示すように、図1で示した実施の形態1と比較した場合、軌道定義変換手段8が加えられ、外部からの入力である教示点データI10が軌道定義変換手段8に付与される点が異なる。
教示点データI10の順列はX={x0,x1,x2,…,xn}で表記されるもので、7msecといった単位時間ごとに各教示点をロボット装置2が順番に移動していくように軌道が定義される。このような軌道の定義方法は既知の技術である。なお、入力される教示点データI10の順列は、必ずロボットが動作可能な軌道位置となる。
なお、教示点データI10の順列Xにおいて、初期座標x0から終点座標xnに到達することが最終目的であり、中間の経由点座標(x1〜x(n−1))(少なくとも一つの初期経由点)を通過する必要性はない。
軌道定義変換手段8には教示点データI10の順列Xが入力され、教示点データI10に基づき、始点座標、所定数の変換経由点、終点座標からなる複数の軌道座標を規定した変換初期情報I8を出力する。変換初期情報I8内に複数の軌道座標間を繋ぐ補間動作の種別を含ませても良い。
ロボット制御手段1は変換初期情報I8に基づきロボット装置2を動作させる。そして、動作情報収集手段3より得られる動作情報I3に基づき、動作実行可能判定手段4は動作実行可能であったか判断し、判断結果を示す動作可能情報I4を出力する。
変換初期情報I8に基づきロボット制御手段1が動作指令値C1を出力することよってロボット装置2を実行させた際に、動作可能情報I4が初期状態の動作実行可能を指示する場合、以降、変換初期情報I8を初期情報I1とした場合の実施の形態1と同様に軌道の改善が行われる。
一方、ロボット装置2を変換初期情報I8に基づきロボット制御手段1によって実行させた際に、動作可能情報I4が初期状態の動作実行不能を指示する場合、動作不能を指示する動作可能情報I4が軌道定義変換手段8に出力される。
軌道定義変換手段8は、動作可能情報I4が変換初期情報I8に基づくロボット装置2の動作実行不能を指示する場合、教示点データI10で規定した順列Xにおける経由点座標から(x1〜x(n−1))一の経由点座標を、新たに変換経由点として追加して新たな変換初期情報I8を出力し直す。そして、変換初期情報I8に基づくロボット装置2が動作実行可能になるまで変換初期情報I8は変更される。
そして、最終的に動作実行可能判定手段4によって動作実行可能と判断された変換初期情報I8が、実施の形態1の初期情報I1と同様に扱われ、実施の形態1と同様に動作実行可能判定手段4及び経由点候補決定手段5による軌道改善処理が行われる。
以下、実施の形態2のロボット軌道制御装置における軌道定義変換手段8の具体的な動作について説明する。
軌道定義変換手段8は入力された教示点データI10の順列Xから、始点座標、初期経由点、終点座標及び必要に応じてそれらを繋ぐ補間動作種別を規定した変換初期情報I8を出力する。
以下、軌道定義変換手段8が当初出力する変換初期情報I8について述べる。まず、教示点データI10の順列Xの最初のデータx0を始点座標に、教示点データの順列の最後のデータxnを終点座標に設定する。
次に、各教示点間xi→x(i+1)の移動において各駆動部は等速で動くものと仮定して、x0からxnまでロボット装置2が動作するときの速度変化パターンを算出する。そして速度変化パターンから、実施の形態1の第1のケースの場合で示した係数Ritを算出して、各時点でのボトルネック駆動部BDを決定する。
時系列に沿ってボトルネックとなる駆動部を見ていき、ボトルネック駆動部が変更される教示点データをそれぞれ変換経由点とし採用する。
最後に、軌道定義変換手段8は、必要に怖じて、各点を繋ぐ補間動作種別を規定する。補間動作種別として、既知の技術で教示点データI10の順列Xが与えられたときにロボット制御手段1が用いる補間動作種別、例えば駆動部Diが同時に動き出し、動作中はできるだけ等速に動き、各駆動部Diが同時に動作を終了するような補間動作種別が考えられる。当然他の補間動作種別であってもかまわない。これによって、実施の形態1の初期情報I1と同型のデータを変換初期情報I8としてロボット制御手段1に出力することができる。
軌道定義変換手段8が出力した変換初期情報I8に基づく軌道が、動作実行可能判定手段4によって動作実行不可能と判定された場合には、軌道定義変換手段8は次のように、教示点データI10で規定した初期経由点から選択した一の経由点を新たな変換経由点として追加し、追加した変化経由点を含む情報を新たな変換初期情報I8として再決定する。
動作実行不可能と判定された位置の直前の経由点がxi、直後の経由点がxjであったとする。このとき 「j>i+1」が成立する。なぜならば、「j=i+1」であった場合、xi→xjの部分の軌道は入力された教示点データの順列Xで定義される軌道と一致しているため、必ず動作実行可能だからである。そこで、軌道定義変換手段8は、xiとxjの中間にある教示点データx[(i+j)/2](初期経由点)を選択し、変化経由点として追加する。なお、[k]はk以上の最小の整数を意味する。
以降、変換初期情報I8に基づくロボット装置2が、動作実行可能判定手段4によって動作実行可能と判定されるまで、軌道定義変換手段8により変換経由点を追加していく。最終的には入力された教示点データの順列Xによる座標と変換初期情報I8で指示する座標とが同等になるので、必ず動作実行可能となる。
軌道定義変換手段8による別の軌道変換法として次のような方法(第2の方法)がある。
まず、教示点データI10の順列Xの最初のデータx0を始点座標に、教示点データI10の順列Xの最後のデータxnを終点座標に設定する。
次に当初の変換経由点として、x0とxnの中間の教示データx[n/2]を初期経由点とする。補間動作種別に関しては実施の形態1と同様に行う。
軌道定義変換手段8が出力した変換初期情報I8に基づくロボット装置2の軌道が、動作実行可能判定手段4によって動作実行不可能と判定された場合には、軌道定義変換手段8は次のように新たな経由点を追加して初期経由点を決定する。
動作実行不可能と判定された位置の直前の経由点がxi、直後の経由点がxjであったとする。そこで、軌道定義変換手段8は、xiとxjの中間の教示点データx[(i+j)/2]を変換経由点としてに追加する。以降、動作実行可能と判定されるまで軌道定義変換手段8は変換経由点を追加していく。
上述した実施の形態のロボット軌道制御装置による軌道定義変換手段8による変換初期情報I8の変換内容をまとめると以下のようになる。
第1ステップ:始点(x0)、少なくとも一つの初期経由点(x1〜x(n−1))、終点(xn)の座標を規定した教示点データI10を受ける。
第2ステップ:教示点データI10を変換初期情報I8に変換する。
第3ステップ:第2ステップで得た軌道定義変換手段8で動作させた際にロボット装置2が動作不能の場合に、上記少なくとも一つの初期経由点のいずれかを変換経由点として追加選択して新たな変換初期情報I8とする。
この第3ステップは、新たな変換初期情報I8で動作させた際に前記ロボットが動作可能と判断されるまで繰り返される。
例えばロボットをマスタースレーブで動作させてその動作を軌道とする場面や、人間が行った動作をビジョンセンサなどで観測し、ロボットに見真似動作をさせる場面、空間を分割してポテンシャル法等でロボットの軌道を定義する場面が考えられる。
実施の形態2のロボット軌道制御装置は、上述の種々の場面のように、教示点データI10が外部より付与され一定時間ごと(数msec)の教示点データの順列によって軌道が定義されていても、教示点データI10の経由点の数を動作可能な数に減少させた後の変換初期情報I8に予め変換することができる。
このように、実施の形態2のロボット軌道制御装置は、経由由点候補決定手段5及び動作可能経由点候補探索手段6による軌道改善処理が行われる前段階において、教示点データI10の改善を図った変換初期情報I8を自動で作成することができる効果がある。
なお、実施の形態2のロボット軌道制御装置を実現する具体的な装置構成としては、図2で示した第1の装置構成(軌道定義変換手段8はロボット制御装置22あるいは電子計算機24内に実装)が考えられる。また、図46で示した第2の装置構成(軌道定義変換手段8は電子計算機26内に実装)、あるいは図47で示した第3の装置構成(軌道定義変換手段8はロボット制御装置32内に実装)を、実施の形態2のロボット軌道制御装置の具体的な装置構成としても良い。
1 ロボット制御手段、2 ロボット装置、3 動作情報収集手段、4 動作実行可能判定手段、5 経由点候補決定手段、6 動作可能経由点候補探索手段、7 経由点変更手段、8 軌道定義変換装置、21,31 ロボット、22,32 ロボット制御装置、23,33 ティーチングボックス、24,26 電子計算機、25,35 センサ用ケーブル、I1 初期情報、I8 変換初期情報、I10 教示点データ。