(57)【要約】【課題】搬送装置の速度の変化にかかわらず、搬送装置で搬送される対象物の取り扱い精度が向上するロボット制御装置を提供する。【解決手段】指令値作成部３３は、初期値Ａｉに、差分値Δを加えてロボット１２へ指令する指令値Ａを作成する。時間ｉ＋１においてロボット駆動部３４へ与えられる指令値Ａには、時間ｉ＋１における理想位置Ｐａへロボット１２を移動させるための初期値Ａｉだけでなく、時間ｉにおける差分値Δが加えられている。コンベア１１の速度の変化によって理想位置Ｐａに対するワーク１４の実位置Ｐｐが刻々と変化しても、コンベア１１の速度の変化に応じて差分値Δが算出される。【選択図】図１
2016107372.tif 000002
【特許請求の範囲】
【請求項１】
搬送装置で搬送される対象物を取り扱うロボットを制御するロボット制御装置であって、
前記搬送装置で搬送される前記対象物が前記搬送装置の検知位置を通過してからの経過時間に基づいて、前記対象物の理想的な位置である理想位置を算出する理想位置算出手段と、
前記搬送装置を駆動する駆動部から前記搬送装置の駆動に関する情報を取得して、前記搬送装置で搬送される前記対象物の実際の位置である実位置を検出する実位置検出手段と、
前記搬送装置で搬送される前記対象物とともに前記ロボットを移動させるとき、前記理想位置へ向けて前記ロボットを移動するために生成する初期値に、前記理想位置算出手段で算出した前記理想位置と前記実位置検出手段で検出した前記実位置との差分である差分値を加えて、指令値を作成する指令値作成手段と、
前記指令値作成手段で作成された前記指令値に基づいて、前記ロボットを駆動するロボット駆動手段と、
を備えるロボット制御装置。
【請求項２】
前記ロボットの動作は、前記搬送装置で搬送される前記対象物へ向けて移動する作業動作と、前記搬送装置で搬送される前記対象物に追従する追従動作とに分けられ、
前記指令値作成手段は、前記追従動作における前記理想位置へ前記ロボットを移動するための初期値に、前記差分値を加える請求項１記載のロボット制御装置。
【請求項３】
前記ロボットの動作は、前記搬送装置で搬送される前記対象物へ向けて移動する作業動作と、前記搬送装置で搬送される前記対象物に追従する追従動作とに分けられ、
前記指令値作成手段は、前記作業動作における前記理想位置へ前記ロボットを移動するための前記初期値に、前記差分値を加える請求項１記載のロボット制御装置。
【請求項４】
前記ロボットの動作は、前記搬送装置で搬送される前記対象物へ向けて移動する作業動作と、前記搬送装置で搬送される前記対象物に追従する追従動作に分けられ、
前記指令値作成手段は、前記作業動作および前記追従動作において前記ロボットを前記理想位置へ移動させる動作の初期値を作成した後、作成したこの初期値に前記差分値を加える請求項１記載のロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置に関する。
【背景技術】
【０００２】
ロボットを用いてコンベアなどの搬送装置に搬送されるワークを取り扱う製造設備が公知である。例えば、ロボットは、コンベアで搬送されるワークの把持や載置、あるいはワークへの部品の取り付けなど、ワークに対して各種の処理を行なう。このとき、ロボットは、コンベアで搬送されるワークにあわせて移動および追従し、ワークに対して各種の処理を行なう。従来の場合、コンベアには搬送経路の途中にワークの通過を検知する検知位置が設けられている。ロボットを制御するロボット制御装置は、ワークがこの検知位置を通過してからの経過時間から理想的なワークの位置を算出し、この理想位置に向けてロボットを駆動する。これにより、ロボットは、コンベアによって搬送されるワークに対して追従し、ワークに対して各種の処理を行なう。
【０００３】
しかしながら、コンベアによるワークの搬送速度は一定であるとは限らない。例えばコンベアを駆動する駆動部の特性によっては、検知位置からロボットが各種の処理を実行する地点へワークが到達する間に、コンベアによる搬送速度に変化が生じることがある。コンベアの搬送速度が変化すると、算出されたワークの理想位置とワークの実際の位置である実位置との間に誤差が生じるおそれがある。
【０００４】
また、コンベアおよびロボットを用いる設備の場合、前後の工程設備の稼働状態に応じてコンベアが停止する場合がある。このような場合でも、コンベアの搬送速度に変化が生じる。そのため、算出されたワークの理想位置とワークの実際の位置である実位置との間に誤差が生じるおそれがある。これらの結果、ロボットは、ワークに追従できず、ワークに対する適切な取り扱いが困難になるという問題がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−３５３６７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
そこで、本発明の目的は、搬送装置の速度の変化にかかわらず、搬送装置で搬送される対象物の取り扱い精度が向上するロボット制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
請求項１記載の発明では、指令値作成手段は、差分値を加えてロボットへ指令する指令値を作成する。すなわち、指令値作成手段は、理想位置算出手段で算出された理想位置へ向けてロボットを移動するために初期値を生成する。この初期値に基づいてロボット駆動手段がロボットを駆動するとき、ロボットは理想位置を目標として移動する。この初期値には、対象物を搬送する搬送装置の速度の変化などの要素が含まれていない。そのため、この初期値に基づいてロボットを駆動するとき、搬送装置に速度の変化が生じると、ロボットは算出された理想位置へ移動するものの、対象物はこの理想位置に存在しない可能性がある。そこで、指令値作成手段は、実位置検出手段で検出した対象物の実際の位置である実位置と、この理想位置との差分を求める。実位置検出手段は、搬送装置を駆動する駆動部から取得した情報から実位置を検出する。指令値作成手段は、理想位置へロボットを移動させるための初期値に、算出した実位置と理想位置との差分値を加えることにより、ロボットへ指令する指令値を作成する。これにより、ロボット駆動手段へ与えられる指令値には、理想位置へロボットを移動させるための初期値だけでなく、差分値が加えられている。その結果、搬送装置の速度の変化によって理想位置に対する対象物の位置が刻々と変化しても、搬送装置の速度の変化に応じて差分値が算出され、ロボットの移動量に対応する指令値が更新される。したがって、搬送装置の速度の変化にかかわらず、搬送装置で搬送される対象物の取り扱い精度を向上することができる。
【０００８】
請求項２記載の発明では、ロボットの動作は、搬送装置で搬送される対象物へ向けて移動する作業動作と、搬送装置で搬送される対象物に追従する追従動作とに分けられる。すなわち、ロボット制御装置は、ロボットの動作を、作業動作と追従動作とに分ける。指令値作成手段は、この追従動作における理想位置へロボットを移動するための初期値に差分値を加えて指令値を作成することにより、ロボットを搬送装置で搬送される対象物に接近させる。対象物を取り扱うロボットは、対象物の取り扱い以外にも各種の動作を実行する。そのため、このロボットを制御するための制御プログラムは、煩雑になりがちであり、作成が容易とは言い難い。そこで、ロボットの動作を作業動作と追従動作とに分け、ロボットを対象物に追従させる追従動作に対して理想位置と実位置との差である差分値を加えることにより、搬送装置で搬送される対象物に対するロボットの動作は一つの制御として構築される。その結果、制御プログラムは簡略化される。したがって、制御プログラムの設計者による当該プログラムの構築を容易にすることができる。また、長期的にロボットを利用する場合、制御プログラムを取り扱う作業者は、ロボットの利用期間中であっても変更されることがある。このように制御プログラムを取り扱う作業者がロボットの利用期間中に変更される場合でも、簡便な制御プログラムを構築できることにより、引き継ぎが容易になり、当該プログラムの理解も容易にすることができる。
【０００９】
請求項３記載の発明では、上述のように、ロボット制御装置は、ロボットの動作を、作業動作と追従動作とに分ける。指令値作成手段は、この作業動作における理想位置へロボットを移動するための初期値に差分値を加えて指令値を作成することにより、ロボットを搬送装置で搬送される対象物に接近させる。これにより、万が一、ロボットの動作に予期しない動作が生じ、ロボットの動作の確認が必要となる場合でも、搬送装置で搬送される対象物の理想位置と、差分値を加えた作業動作の初期値とが比較される。このような比較によって、予期しないロボットの動作が差分値の加算によるものか否かが容易に把握される。したがって、ロボットの動作確認時における作業の支援を容易にし、原因の発見を容易にすることができる。
【００１０】
請求項４記載の発明では、上述のように、ロボット制御装置は、ロボットの動作を、作業動作と追従動作とに分ける。指令値作成手段は、まず作業動作および追従動作によって理想位置へロボットを移動するための初期値を作成した後、この初期値に差分値を加えて指令値を作成する。ロボット駆動手段は、この指令値作成手段で作成された指令値に基づいてロボットを対象物へ接近させる。このような流れを用いることにより、既に設備に設けられている既存のロボットの場合でも、制御プログラムの書き換えはほとんど必要ない。したがって、制御プログラムの変更を容易にすることができ、既存の設備でも簡単な処理によって、搬送装置で搬送される対象物の取り扱い精度を向上することができる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態によるロボット制御装置を示すブロック図
【図２】一実施形態によるロボット制御装置を適用したロボットシステムを示す模式図
【図３】一実施形態によるロボット制御装置を適用したロボットシステムにおける作業動作を示す模式図
【図４】一実施形態によるロボット制御装置を適用したロボットシステムにおける追従動作を示す模式図
【図５】一実施形態によるロボット制御装置を適用したロボットシステムにおいて、差分値ΔがΔ＜０となる例を示す模式図
【図６】一実施形態によるロボット制御装置を適用したロボットシステムにおいて、差分値ΔがΔ＞０となる例を示す模式図
【図７】一実施形態によるロボット制御装置による作動の流れを示す概略図
【図８】ワークの位置の時間的な変化を示す概略図であって、一実施形態によるロボット制御装置による補正の有無による影響を示す図
【図９】他の実施形態によるロボット制御装置による作動の流れを示す概略図
【発明を実施するための形態】
【００１２】
以下、ロボット制御装置の一実施形態を図面に基づいて説明する。
まず、図２に示すロボットシステム１０について説明する。ロボットシステム１０は、搬送装置としてのコンベア１１、ロボット１２およびロボット制御装置１３を備えている。コンベア１１は、対象物であるワーク１４を搬送する。本実施形態の場合、コンベア１１は、ワーク１４を直線状に搬送する。コンベア１１は、ベルト１５、駆動部１６および検知部１７を有している。ベルト１５は、ワーク１４を搭載しつつ移動する。駆動部１６は、モータ１８などを有しており、このベルト１５を直線状に駆動する。モータ１８の回転角度は、エンコーダ１９によって検出される。検知部１７は、例えばカメラやセンサなどの検出機器２１を有している。検知部１７は、予め設定された検知位置Ｘに設置され、ベルト１５とともに運搬されるワーク１４を検知する。本実施形態の場合、検知部１７の検出機器２１は、カメラであり、このカメラでベルト１５に搭載されて運搬されるワーク１４を撮影する。これにより、検知部１７は、コンベア１１によって運搬されるワーク１４が検知位置Ｘを通過した通過時期、およびベルト１５の幅方向におけるワーク１４の位置を特定する。
【００１３】
ロボット１２は、コンベア１１の検知部１７から予め設定された距離の位置に設けられている。ロボット１２は、例えば多軸の産業用ロボットであり、コンベア１１によって搬送されるワーク１４を取り扱う。ロボット１２は、先端に手先部２２を有している。これにより、ロボット１２は、例えばコンベア１１によって搬送されるワーク１４を把持して所定の容器に収容したり、搬送されるワーク１４に部品を取り付けるなどの処理を行なう。これらのロボット１２によるワーク１４の取り扱いは一例であり、上記の他にも、ロボット１２は、ワーク１４を撮影したり、清掃したり、任意の取り扱いを行なう。ロボット１２は、図示しないサーボモータなどを有しており、ロボット制御装置１３からの指令によって所定の動作を実行する。
【００１４】
次に、ロボット制御装置１３について説明する。
ロボット制御装置１３は、図１に示すように制御部３０、理想位置算出部３１、実位置検出部３２、指令値作成部３３およびロボット駆動部３４を備えている。制御部３０は、図示しない演算部、入力部、記憶部および表示部などを有するコンピュータで構成されており、記憶部に記憶されているコンピュータプログラムを演算部で実行することにより、ロボット１２を制御する。図示しない記憶部は、例えば光学的および磁気的な記憶装置、並びに半導体による不揮発性の記憶素子などで構成されている。これら、理想位置算出部３１、実位置検出部３２、指令値作成部３３およびロボット駆動部３４は、コンピュータプログラムを実行することによりソフトウェア的に実現されている。なお、これら理想位置算出部３１、実位置検出部３２、指令値作成部３３およびロボット駆動部３４は、ソフトウェアに限らず、ハードウェアまたはソフトウェアとハードウェアとの協働によって実現する構成としてもよい。制御部３０は、コンベア１１の駆動部１６を構成するエンコーダ１９と電気的に接続している。エンコーダ１９は、モータ１８の回転角度を検出し、制御部３０へ出力する。このエンコーダ１９の出力側には、図示しないローパスフィルタが設けられている。ローパスフィルタは、エンコーダ１９から出力される電気信号に含まれるサージなどのノイズ成分を除去する。
【００１５】
理想位置算出部３１は、ワーク１４の理想位置Ｐａを算出する。具体的には、理想位置算出部３１は、検知部１７からワーク１４が検知位置Ｘを通過した通過時期Ｔｐを取得する。そして、理想位置算出部３１は、取得した通過時期Ｔｐから、ワーク１４が検知位置Ｘを通過してからの経過時間Ｔを計測する。さらに、理想位置算出部３１は、計測した経過時間Ｔに基づいて、ワーク１４の理想的な位置である理想位置Ｐａを算出する。すなわち、コンベア１１の搬送速度Ｖａが一定であれば、ワーク１４の理想位置Ｐａは、検知位置Ｘを通過してからの経過時間Ｔに相関する。そのため、理想位置算出部３１は、ワーク１４が検知位置Ｘを通過してからの経過時間Ｔと、予め設定されているコンベア１１の搬送速度Ｖａとから理想位置Ｐａを算出する。
【００１６】
実位置検出部３２は、ワーク１４の実位置Ｐｐを検出する。具体的には、実位置検出部３２は、コンベア１１を駆動する駆動部１６からコンベア１１の駆動に関する情報を取得する。本実施形態の場合、実位置検出部３２は、コンベア１１の駆動に関する情報として、駆動部１６のエンコーダ１９からモータ１８の回転角度を取得する。すなわち、実位置検出部３２は、ワーク１４が検知位置Ｘを通過してから、コンベア１１を駆動する駆動部１６のモータ１８がどの程度回転したかを示す総回転角度を、エンコーダ１９から取得する。これにより、実位置検出部３２は、ワーク１４が検知位置Ｘを通過してから、コンベア１１によって搬送された距離を検出する。実位置検出部３２は、この検出した距離を実位置Ｐｐとする。
【００１７】
指令値作成部３３は、ロボット駆動部３４へ出力する指令値Ａを作成する。指令値作成部３３は、指令値Ａの作成に先立って、理想位置算出部３１で算出された理想位置Ｐａへ向けてロボット１２の手先部２２を移動させるために初期値Ａｉを生成する。この初期値Ａｉは、ワーク１４が理想位置Ｐａにあることを前提としてロボット１２へ指令する値である。指令値作成部３３は、この初期値Ａｉを補正することにより、最終的な指令値Ａを作成する。また、本実施形態の場合、指令値作成部３３は、予め設定された時間間隔で指令値Ａを作成する。すなわち、指令値作成部３３は、時間ｉ、時間ｉ＋１、時間ｉ＋２、・・・という一定の時間間隔で初期値Ａｉ、およびこの初期値Ａｉを補正した指令値Ａを作成する。
【００１８】
ところで、コンベア１１で搬送されるワーク１４を取り扱うロボット１２は、手先部２２がワーク１４へ追いつき、かつワーク１４とともに移動するために、作業動作および追従動作を含んでいる。作業動作は、図３に示すようにロボット１２の手先部２２が予め設定されている待機場所である初期位置からコンベア１１で搬送されるワーク１４に向けて移動する動作である。一方、追従動作は、図４に示すように作業動作でワーク１４へ向けて移動したロボット１２の手先部２２がコンベア１１で搬送されるワーク１４に追従する動作である。
【００１９】
このように、ロボット１２の動作は、作業動作および追従動作を含んでいる。そこで、指令値作成部３３は、上記のように作業動作および追従動作を含むロボット１２において、作業動作で理想位置Ｐａへロボット１２の手先部２２を移動させるための初期値Ａｉｗと、追従動作で理想位置Ｐａへロボット１２の手先部２２を移動させるための初期値Ａｉｆとをそれぞれ設定する。そして、指令値作成部３３は、これら初期値Ａｉｗと初期値Ａｉｆとを合成することにより、ロボット駆動部３４へ出力する指令の初期値Ａｉを設定する。本実施形態の場合、これら作業動作の初期値Ａｉｗおよび追従動作の初期値Ａｉｆは、いずれもベクトルである。
【００２０】
例えば、ワーク１４の搬送中にコンベア１１の搬送速度に変化が生じると、初期値Ａｉに基づいてロボット１２を駆動するとき、ワーク１４はロボット１２の手先部２２が移動する理想位置Ｐａに存在しない可能性がある。そこで、指令値作成部３３は、理想位置算出部３１で算出された理想位置Ｐａと、実位置検出部３２で検出された実位置Ｐｐとから、差分値ΔをΔ＝Ｐｐ−Ｐａとして算出する。本実施形態の場合、この差分値Δは、ベクトルである。
【００２１】
ここで、差分値ΔがΔ＜０であれば、図５に示すように実位置Ｐｐは理想位置Ｐａよりも小さいことを意味する。すなわち、ワーク１４の実位置Ｐｐは、理想位置Ｐａへ到達していないことを意味する。そのため、コンベア１１の搬送速度は、予め設定されている搬送速度Ｖａよりも小さくなる側へ変化したことを意味する。一方、差分値ΔがΔ＞０であれば、図５に示すように実位置Ｐｐは理想位置Ｐａよりも大きいことを意味する。すなわち、ワーク１４の実位置Ｐｐは、理想位置Ｐａを過ぎていることを意味する。そのため、コンベア１１の搬送速度は、予め設定されている搬送速度Ｖａよりも大きくなる側へ変化したことを意味する。
【００２２】
指令値作成部３３は、指令の初期値Ａｉに算出した差分値Δを加えることにより、初期値Ａｉを補正してロボット駆動部３４へ出力する指令値Ａを作成する。すなわち、指令値作成部３３が作成する指令値Ａは、初期値Ａｉに算出した差分値Δを加えることにより、Ａ＝Ａｉ＋Δとして算出される。これにより、ワーク１４の実位置Ｐｐが理想位置Ｐａへ到達していないΔ＜０のとき、指令値Ａは初期値Ａｉから差分値Δに相当する値が減じられる。これにより、ロボット１２は、理想位置Ｐａよりも検知位置Ｘ側に位置する実位置Ｐｐへ向けて移動量が減じられる。一方、ワーク１４の実位置Ｐｐが理想位置Ｐａを過ぎているΔ＞０のとき、指令値Ａは初期値Ａｉに差分値Δに相当する値が加えられる。これにより、ロボット１２は、理想位置Ｐａよりも検知位置Ｘから遠い側に位置する実位置Ｐｐへ向けて移動量が加えられる。
【００２３】
ここで、本実施形態の場合、指令値作成部３３は、上述のように初期値Ａｉを構成する初期値Ａｉｗおよび初期値Ａｉｆのうち、追従動作における理想位置Ｐａへロボット１２を移動するための初期値Ａｉｆに差分値Δを加える。この追従動作における理想位置Ｐａへロボット１２を移動するための初期値Ａｉｆに差分値Δを加えて指令値Ａを作成することにより、ロボット１２はワーク１４を取り扱う期間のうち、中期以降の段階でコンベア１１に搬送されるワーク１４への位置が補正される。そのため、作業動作において差分値Δを用いて位置を補正する場合と比較して、差分値Δが小さくなり、コンベア１１の速度の変化に応じたロボット１２の移動量も小さくなる。その結果、ロボット１２の機械的な部分に加わる負荷が低減される。これにより、ロボット１２の設計上の制限を変更することなく、コンベア１１で搬送される対象物の取り扱い精度が向上される。
【００２４】
指令値作成部３３は、差分値Δが加えられた初期値Ａｉｆと、初期値Ａｉｗとを合成して、ロボット１２へ指令する最終的な指令値Ａを作成する。指令値作成部３３は、作成した指令値Ａをロボット駆動部３４へ出力する。ロボット駆動部３４は、ロボット１２の図示しないモータなどに接続している。ロボット駆動部３４は、指令値作成部３３で作成された指令値Ａに基づいて、ロボット１２を駆動する。これにより、ロボット１２は、差分値Δを含む目標位置へ移動する。
【００２５】
次に、上記の構成によるロボット制御装置１３の作動の流れについて図７に基づいて説明する。
ロボット制御装置１３は、予め設定された時間間隔ごとに図７に示す処理を繰り返す。すなわち、ロボット制御装置１３は、ワーク１４が検知部１７の検知位置Ｘを通過すると、サンプリング時間（例えば、時間ｉ、時間ｉ＋１、時間ｉ＋２、・・・）ごとに定期的にロボット１２を駆動するための指令値Ａを設定する。本実施形態の場合、サンプリング時間の時間間隔は、ロボット１２の性能やコンベア１１の搬送速度などに応じて任意に設定することができる。
【００２６】
理想位置算出部３１は、時間ｉにおけるワーク１４の理想位置Ｐａ１を算出する（Ｓ１０１）。理想位置算出部３１は、コンベア１１に設定されている搬送速度Ｖａと、ワーク１４が検知部１７の検知位置Ｘを通過してから時間ｉまでの経過時間Ｔ１とに基づいて、コンベア１１で搬送されるワーク１４の理想位置Ｐａ１を算出する。また、実位置検出部３２は、時間ｉにおけるワーク１４の実位置Ｐｐ１を検出する（Ｓ１０２）。実位置検出部３２は、エンコーダ１９から取得したモータ１８の回転角度に基づいて、ワーク１４が検知位置Ｘを通過してから時間ｉまでにコンベア１１によって搬送された距離を実位置Ｐｐ１として検出する。
【００２７】
指令値作成部３３は、時間ｉにおける差分値Δを算出する（Ｓ１０３）。すなわち、指令値作成部３３は、Ｓ１０１で算出した理想位置Ｐａ１と、Ｓ１０２で検出した実位置Ｐｐ１とから、差分値ΔをΔ＝Ｐｐ１−Ｐａ１として算出する。このように、指令値作成部３３は、時間ｉにおける理想位置Ｐａ１および実位置Ｐｐ１から、時間ｉにおける差分値Δを算出する。
【００２８】
指令値作成部３３は、時間ｉから一周期進んだ時間ｉ＋１におけるワーク１４の理想位置Ｐａ２を算出する（Ｓ１０４）。指令値作成部３３は、Ｓ１０１と同様に、コンベア１１に設定されている搬送速度Ｖａと、ワーク１４が検知部１７の検知位置Ｘを通過してから時間ｉ＋１までの経過時間Ｔ２とに基づいて、コンベア１１で搬送されるワーク１４の理想位置Ｐａ２を算出する。
【００２９】
指令値作成部３３は、Ｓ１０４で算出した時間ｉ＋１における理想位置Ｐａ２に基づいて、作業動作における初期値Ａｉｗを設定するとともに（Ｓ１０５）、追従動作における初期値Ａｉｆを設定する（Ｓ１０６）。すなわち、指令値作成部３３は、時間ｉ＋１におけるワーク１４の理想位置Ｐａ２に基づいて、初期値Ａｉを設定する。この初期値Ａｉは、作業動作における初期値Ａｉｗと、追従動作における初期値Ａｉｆとを含んでいる。そのため、指令値作成部３３は、これら初期値Ａｉｗおよび初期値Ａｉｆをそれぞれ設定する。
【００３０】
指令値作成部３３は、Ｓ１０６で設定した初期値Ａｉｆに差分値Δを加える（Ｓ１０７）。すなわち、指令値作成部３３は、時間ｉ＋１での追従動作における初期値Ａｉｆに、時間ｉにおける差分値Δを加える。このように、時間ｉで算出した差分値Δは、一周期後の時間ｉ＋１での追従動作における初期値Ａｉｆに加えられる。
【００３１】
指令値作成部３３は、差分値Δが加えられた初期値Ａｉｆに、初期値Ａｉｗを合成して、最終的な指令値Ａを作成する（Ｓ１０８）。すなわち、指令値作成部３３は、Ｓ１０７において差分値Δが加えられた初期値Ａｉｆに、初期値Ａｉｗを合成する。これにより、指令値作成部３３は、時間ｉにおける差分値Δが加えられた時間ｉ＋１における初期値Ａｉｆを反映した最終的な指令値Ａを作成する。つまり、時間ｉにおける理想位置Ｐａ１と実位置Ｐｐ１との誤差に相当する差分値Δは、次の周期である時間ｉ＋１における指令値Ａの補正に用いられる。このように、時間ｉ＋１における指令値Ａは、コンベア１１の速度変化にともなう時間ｉにおける理想位置Ｐａ１と実位置Ｐｐ１とのずれを差分値Δを用いて補正される。
【００３２】
指令値作成部３３は、作成した指令値Ａをロボット駆動部３４へ出力する（Ｓ１０９）。ロボット駆動部３４は、指令値作成部３３で作成された指令値Ａを用いて時間ｉ＋１においてロボット１２を駆動する（Ｓ１１０）。これにより、ロボット１２は、時間ｉ＋１において、理想位置Ｐａに対して時間ｉにおける差分値Δを含んで補正された位置まで駆動される。
【００３３】
このように、理想位置Ｐａ１と実位置Ｐｐ１との差分値Δを加えて指令値Ａを作成することにより、図８に示すようにロボット１２の手先部２２が移動目標とする位置とワーク１４の位置との間の誤差はほとんど生じない。すなわち、図８の破線に示すように、差分値Δを考慮した補正を加えていない場合、図８の細い実線で示すワーク１４の実際の位置とロボット１２の手先部２２が移動目標とする位置との誤差は大きくなりやすい。これに対し、本実施形態のように差分値Δを考慮した補正を加えた場合、図８の細い実線で示すワーク１４の位置と、図８の太い実線で示すロボット１２の手先部２２が移動目標とする位置との誤差はほとんど生じない。このことからも、本実施形態のように理想位置Ｐａと実位置Ｐｐとの差分値Δを用いた指令値Ａの補正は、ロボット１２の手先部２２とワーク１４との位置を合わせるのに有効であることがわかる。
【００３４】
以上説明したように、本実施形態では、指令値作成部３３は、差分値Δを加えてロボット１２へ指令する指令値Ａを作成する。これにより、時間ｉ＋１においてロボット駆動部３４へ与えられる指令値Ａには、時間ｉ＋１における理想位置Ｐａへロボット１２を移動させるための初期値Ａｉだけでなく、時間ｉにおける差分値Δが加えられている。その結果、コンベア１１の速度の変化によって理想位置Ｐａに対するワーク１４の実位置Ｐｐが刻々と変化しても、コンベア１１の速度の変化に応じて差分値Δが算出される。そして、ロボット１２の移動量を示す指令値Ａは、刻々と変化するコンベア１１の速度に応じて更新される。したがって、コンベア１１の速度の変化にかかわらず、コンベア１１で搬送されるワーク１４の取り扱い精度を向上することができる。
【００３５】
また、本実施形態では、指令値作成部３３は、ロボット１２の時間ｉ＋１における追従動作のための初期値Ａｉｆに、時間ｉにおける差分値Δを加えて指令値Ａを作成する。時間ｉ＋１における追従動作のための初期値Ａｉｆに時間ｉでの差分値Δを加えて指令値Ａを作成することにより、ロボット１２はワーク１４を取り扱う期間の中期以降の段階でコンベア１１で搬送されるワーク１４に接近する。ワーク１４を取り扱うロボット１２は、ワーク１４の取り扱い以外にも各種の動作を実行する。そのため、このロボット１２を制御するためのロボット制御装置１３に記憶されている制御プログラムは、煩雑になりがちであり、作成が容易とは言い難い。そこで、ロボット１２の動作を作業動作と追従動作とに分け、ロボット１２をワーク１４に追従させる追従動作に対して理想位置Ｐａと実位置Ｐｐとの差である差分値Δを加えることにより、コンベア１１で搬送されるワーク１４に対するロボット１１の動作は一つの制御として構築される。その結果、ロボット１２の動作を制御するための制御プログラムは簡略化される。したがって、制御プログラムの設計者による当該プログラムの構築を容易にすることができる。また、長期的にロボット１２を利用する場合、制御プログラムを取り扱う作業者は、ロボットの利用期間中であっても交代することがある。このように制御プログラムを取り扱う作業者がロボット１２の利用期間中に交代する場合でも、簡便な制御プログラムを構築できることにより、引き継ぎが容易になり、当該プログラムの理解も容易にすることができる。その結果、ロボット１２の取り扱いを容易にし、安全性を高めることができる。
【００３６】
以上説明した本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。
上述の一実施形態では、ロボット１２の追従動作における初期値Ａｉｆに差分値Δを加えて指令値Ａを作成する例について説明した。しかし、指令値作成部３３は、作業動作において理想位置Ｐａへロボット１２を移動するための初期値Ａｉｗに差分値Δを加える構成としてもよい。この場合、図７におけるＳ１０７は、初期値Ａｉｗに差分値Δを加える処理となる。これにより、万が一、ロボット１２の動作に予期しない動作が生じ、ロボット１２の動作の確認が必要となる場合でも、コンベア１１で搬送されるワーク１４の理想位置Ｐａと、差分値Δを加えた作業動作の初期値Ａｉｗとの比較が可能になる。このように理想位置Ｐａと差分値Δを加えた初期値Ａｉｗとの比較によって、予期しないロボット１２の動作が差分値Δの加算によるものか否かが容易に把握される。したがって、ロボット１２の動作確認時における作業の支援を容易にし、原因の発見を容易にすることができる。
【００３７】
また、他の実施形態として、指令値作成部３３は、まず作業動作の初期値Ａｉｗおよび追従動作の初期値Ａｉｆを用いて初期指令値Ａｉを作成した後、初期指令値Ａｉに差分値Δを合成して、指令値Ａを作成する構成としてもよい。すなわち、図９に示すように、指令値作成部３３は、図７におけるＳ１０１からＳ１０６までの処理を行なった後、作業動作の初期値Ａｉｗおよび追従動作の初期値Ａｉｆから初期値指令値Ａｉを作成する（Ｓ２０１）。そして、指令値作成部３３は、Ｓ２０１で作成した初期指令値Ａｉに差分値Δを加えて、指令値Ａを作成する（Ｓ２０２）。指令値作成部３３はこのＳ２０２で作成された指令値Ａをロボット駆動部３４へ出力し（Ｓ１０９）、ロボット駆動部３４はこの指令値Ａに基づいてロボット１２を駆動する。
【００３８】
この図９に示す他の実施形態の処理を用いることにより、既に設備に設けられている既存のロボット１２の場合でも、ロボット制御装置１３に記憶されている制御プログラムの書き換えはほとんど必要ない。したがって、制御プログラムの変更を容易にすることができ、既存の設備でも簡単な処理によって、コンベア１１で搬送されるワーク１４の取り扱い精度を向上することができる。
【符号の説明】
【００３９】
図面中、１１はコンベア（搬送装置）、１２はロボット、１３はロボット制御装置、１４はワーク（対象物）、１６は駆動部、３１は理想位置算出部（理想位置算出手段）、３２は実位置検出部（実位置検出手段）、３３は指令値作成部（指令値作成手段）、３４はロボット駆動部（ロボット駆動手段）を示す。
【図１】
2016107372.tif 000003
【図２】
2016107372.tif 000004
【図３】
2016107372.tif 000005
【図４】
2016107372.tif 000006
【図５】
2016107372.tif 000007
【図６】
2016107372.tif 000008
【図７】
2016107372.tif 000009
【図８】
2016107372.tif 000010
【図９】
2016107372.tif 000011