説明

ロボット制御装置、ロボット制御方法およびロボットシステム

【課題】ロボットにおける所定の部位があらかじめ定められた位置へ移動したことを示す通知信号の出力を適切に行うこと。
【解決手段】ベクトル算出部が、基準部位置における基準部の移動方向を示す第1のベクトルと、信号出力位置および基準部位置間の相対位置を示す第2のベクトルとを算出するようにロボット制御装置を構成する。また、信号出力判定部が、ベクトル算出部によって算出された第1のベクトルおよび第2のベクトルに基づいて通知信号を出力するか否かを判定するようにロボット制御装置を構成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットを制御するロボット制御装置、ロボット制御方法およびロボットシステムに関する。
【背景技術】
【0002】
従来、あらかじめ登録された指令経路に従ってロボットの基準部を移動させるロボットシステムが知られている。
【0003】
かかるロボットシステムに関し、たとえば、基準部の移動軌跡から予測した予測位置や、ロボットに対する動作指令から推定した推定位置が、所定の信号出力位置と一致したことを条件として通知信号を出力する技術が提案されている(特許文献1および特許文献2参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平9−258812号公報
【特許文献2】特開2006−243926号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記した従来技術には、通知信号の出力が適切に行われないおそれがあるという問題があった。
【0006】
たとえば、ロボットには、応答遅れが存在するので、ロボットの基準部の位置は、動作指令に対応した理想位置からずれてしまう場合がある。すなわち、予測位置や推定位置は、基準部の実際の位置とは異なる場合がある。
【0007】
したがって、予測位置や推定位置が、信号出力位置に一致したことを条件として通知信号を出力しても、通知信号の出力タイミングは適切なものとはなりにくい。たとえば、基準部の実際の位置が予測位置よりも移動経路の先方であれば、通知信号の出力タイミングは理想的なタイミングよりも遅れてしまう。
【0008】
また、予測位置や推定位置が、信号出力位置を通過しない場合には、そもそも、通知信号の出力自体が行われない。
【0009】
開示の技術は、上記に鑑みてなされたものであって、通知信号の出力を適切に行うことができるロボット制御装置、ロボット制御方法およびロボットシステムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本願の開示するロボット制御装置は、所定の信号を出力すべき位置を示す信号出力位置を登録する登録部と、ロボットにおける基準部の位置を示す基準部位置を取得する位置取得部と、前記基準部位置における前記基準部の移動方向を示す第1のベクトルと、前記信号出力位置および前記基準部位置間の相対位置を示す第2のベクトルとを算出するベクトル算出部と、前記ベクトル算出部によって算出された前記第1のベクトルおよび前記第2のベクトルに基づいて前記所定の信号を出力するか否かを判定する判定部とを備える。
【発明の効果】
【0011】
本願の開示するロボット制御装置の一つの態様によれば、ロボットにおける所定の部位があらかじめ定められた位置へ移動したことを示す通知信号の出力を適切に行うことができる。
【図面の簡単な説明】
【0012】
【図1】図1は、実施例1に係る信号出力判定手法の説明図である。
【図2】図2は、実施例1に係るロボットシステムの構成を示す図である。
【図3】図3は、実施例1に係るロボット制御装置の構成を示すブロック図である。
【図4A】図4Aは、ベクトル算出処理における前提の一例を示す図である。
【図4B】図4Bは、ベクトル間の関係(その1)を示す図である。
【図4C】図4Cは、ベクトル間の関係(その2)を示す図である。
【図4D】図4Dは、ベクトル間の関係(その3)を示す図である。
【図5A】図5Aは、ベクトル間の内積値に基づく信号出力判定処理の判定例(その1)を示す図である。
【図5B】図5Bは、ベクトル間の内積値に基づく信号出力判定処理の判定例(その2)を示す図である。
【図5C】図5Cは、ベクトル間の内積値に基づく信号出力判定処理の判定例(その3)を示す図である。
【図6A】図6Aは、ベクトルの大きさに基づく信号出力判定処理の判定例(その1)を示す図である。
【図6B】図6Bは、ベクトルの大きさに基づく信号出力判定処理の判定例(その2)を示す図である。
【図6C】図6Cは、ベクトルの大きさに基づく信号出力判定処理の判定例(その3)を示す図である。
【図7A】図7Aは、ベクトル算出のバリエーション(その1)を示す図である。
【図7B】図7Bは、ベクトル算出のバリエーション(その2)を示す図である。
【図8】図8は、ロボット制御装置によって実行される処理手順を示すフローチャートである。
【図9】図9は、ベクトル算出処理の処理手順を示すフローチャートである。
【図10】図10は、実施例2に係るロボット制御装置の構成を示すブロック図である。
【図11A】図11Aは、双腕ロボットの例を示す図である。
【図11B】図11Bは、双腕ロボットの動作例を示す図である。
【発明を実施するための形態】
【0013】
以下、添付図面を参照して、本願の開示するロボット制御装置、ロボット制御方法およびロボットシステムの実施例を詳細に説明する。なお、以下に示す実施例における例示で本発明が限定されるものではない。
【0014】
また、以下に示す各実施例では、説明を簡略化する観点から、ロボットの移動が、2次元の移動であるとして説明を行うが、かかる説明は、ロボットの移動が3次元の移動である場合にも適用することができる。
【実施例1】
【0015】
まず、実施例1に係る信号出力判定手法について、図1を用いて説明する。図1は、実施例1に係る信号出力判定手法の説明図である。
【0016】
図1に示すように、ロボットの基準部が移動すべき経路(以下、「指令経路」と記載する)は、複数の教示点Sで定められる。なお、以下では、複数の教示点Sそれぞれを区別する場合には、下付きの添字を付加する。たとえば、指令経路の始点となる教示点Sからn番目の教示点Sは教示点S、教示点Sの一つ前の教示点Sは教示点Sn−1のように表記する。
【0017】
図1に示すように、上記した指令経路は、各教示点Sを直線で結んだ経路の集合としてあらわされる。たとえば、図1に示した場合では、教示点Sn−1と教示点Sとを直線で結んだ経路111aと、教示点Sと教示点Sn+1とを直線で結んだ経路111bとが、指令経路に相当する。
【0018】
ここで、図1に示すように、教示点Sには、ロボットが行うべき作業である作業(S)が対応付けられているとする。この場合、一般的には、ロボットの基準部が教示点Sに達してはじめて、作業(S)の開始指示がロボットに対して行われる。
【0019】
しかし、作業(S)を効率よく行うためには、ロボットの基準部が教示点Sに接近した旨を、基準部が教示点Sへ到達する前に検知することが好ましい。このため、図1に示すように、経路111aにおける教示点Sの近傍には信号出力位置Pが設けられる。
【0020】
そして、ロボットの基準部が信号出力位置Pに達した時点で通知信号を出力することとすれば、作業(S)の開始を、出力された通知信号に応じてロボットへ指示することが可能となる。しかし、ロボットの基準部の移動軌跡は、図1に示す軌跡110のように、信号出力位置Pを通過しない場合がある。
【0021】
そこで、実施例1に係る信号出力判定手法では、最新の基準部位置における基準部の移動方向を示すベクトルVrと、最新の基準部位置および信号出力位置P間の相対位置を示すベクトルVpとに基づき、信号出力位置Pに対応する通知信号を出力するタイミングを決定することとした。
【0022】
すなわち、実施例1に係る信号出力判定手法は、上記したベクトルVrとベクトルVpとの関係に基づき、最新の基準部位置が、信号出力位置Pnへ最接近したことを検出する。なお、ベクトルVpは少なくとも「向き」を含んでいれば足り、「大きさ」については単位ベクトルのように1とするか考慮しなくてもよい。
【0023】
具体的には、図1に示す領域112の拡大図に示すように、実施例1に係る信号出力判定手法では、ロボットから取得した基準部位置Rに基づいてベクトルVrを算出する。ここで、基準部位置Rは、所定のサンプリング間隔で取得される。
【0024】
なお、以下では、複数の基準部位置Rを区別する場合には、下付きの添字を付加する。たとえば、最新の基準部位置Rは基準部位置R、基準部位置Rの1つ前に取得された基準部位置Rは基準部位置Rt−1のように表記する。
【0025】
ここで、図1に示すベクトルVrは、基準部位置Rにおける基準部の移動方向であるので、サンプリング間隔が十分に小さい場合、最新の基準部位置Rと、最新の基準部位置Rの1つ前に取得した基準部位置Rt−1とで近似することができる。たとえば、ベクトルVrは、以下に示す式(1)で算出することができる。
Vr=R−Rt−1 ・・・(1)
【0026】
なお、ベクトルVrの算出には、複数のバリエーションが存在するが、この点の詳細については、図7Aおよび図7Bを用いて後述する。
【0027】
また、実施例1に係る信号出力判定手法では、最新の基準部位置Rと、信号出力位置Pとに基づいてベクトルVpを算出する。たとえば、ベクトルVpは、以下に示す式(2)で算出される。
Vp=R−P ・・・(2)
【0028】
そして、実施例1に係る信号出力判定手法では、算出したベクトルVrおよびベクトルVpに基づいて通知信号の出力判定を行う。たとえば、実施例1に係る信号出力判定手法では、ベクトルVrとベクトルVpとの内積の値を示す「内積値」の符号変化を検知した場合に、通知信号を出力すると判定する。
【0029】
具体的には、ベクトルVrの大きさをvr、ベクトルVpの大きさをvp、ベクトルVrとベクトルVpとのなす角度をθ、内積値をIとすると、内積値Iは、以下に示す式(3)であらわされる。
I=vr×vp×cosθ ・・・(3)
【0030】
ここで、基準部位置Rが、信号出力位置Pへ最接近した場合には、上記したベクトルVrとベクトルVpとのなす角度は90°となる。すなわち、この場合、「cos90°=0」であるので、式(3)から、内積値Iは0となる。したがって、内積値Iに着目することで、基準部位置Rが信号出力位置Pへ最接近したことを検出することができる。
【0031】
ところで、ベクトルVrおよびベクトルVpを、それぞれ2次元のxy座標系であらわすと(Vr,Vr)および(Vp、Vp)であるので、内積値Iは、以下に示す式(4)で算出することができる。
I=Vr×Vp+Vr×Vp ・・・(4)
【0032】
すなわち、内積値Iは、式(4)で示す単純な計算で算出することができる。したがって、内積値Iに基づき、基準部位置Rが信号出力位置Pへ最接近したことを検出する手法の処理負荷は非常に低い。なお、式(4)で算出した内積値I、既知の値であるvrおよびvpに基づき、式(3)から、ベクトルVrとベクトルVpとのなす角度θを算出することとしてもよい。
【0033】
なお、ベクトルVrとベクトルVpとの関係に着目した出力判定には、複数のバリエーションが存在するが、この点の詳細については、図5A〜図5Cを用いて後述する。また、実施例1に係る信号出力判定手法では、算出したベクトルVpの大きさに基づく出力判定を併用することもできるが、この点の詳細については、図6A〜図6Cを用いて後述する。
【0034】
このように、実施例1に係る信号出力判定手法では、最新の基準部位置Rにおける基準部の移動方向を示すベクトルVrと、最新の基準部位置Rおよび信号出力位置P間の相対位置を示すベクトルVpという2つのベクトルを通知信号の出力判定に用いることとした。
【0035】
したがって、仮に、ロボットの基準部位置Rが、信号出力位置Pを通過しない場合であっても、基準部位置Rが信号出力位置Pへ最接近するタイミングを精度よく検出できるので、上記した通知信号の出力を適切に行うことができる。
【0036】
すなわち、実施例1に係る信号出力判定手法によれば、通知信号の出力自体が行われない事態や、通知信号の出力タイミングが早すぎたり遅すぎたりする事態を、回避することができる。
【0037】
次に、実施例1に係るロボットシステムの構成について図2を用いて説明する。図2は、実施例1に係るロボットシステムの構成を示す図である。図2に示すように、ロボットシステム1は、ロボット10と、ロボット制御装置20と、外部装置30とを備える。
【0038】
また、図2に示すように、ロボット10、ロボット制御装置20および外部装置30は、通信ネットワーク120で相互に接続される。なお、通信ネットワーク120としては、有線LAN(Local Area Network)や、無線LANといった一般的なネットワークを用いることができる。
【0039】
ロボット10は、ベース部11を介して床面などに固定される。また、ロボット10は、複数のロボットアーム12を有しており、各ロボットアーム12は、サーボモータ13を備えた関節部を介して他のロボットアーム12と接続される。
【0040】
なお、図2に示すサーボモータ13を備えた関節部には、「円」で示したものと、「菱形」で示したものとがあるが、両者は、単に、回転軸の向きの違いをあらわす。たとえば、「円」で示した関節部は、両側のロボットアーム12のなす角を変化させるように回転する。また、「菱形」で示した関節部は、両側のロボットアーム12のなす角を保持したまま回転する。
【0041】
また、サーボモータ13を備えた関節部を介して相互に接続されたロボットアーム12のうち、ベース部11に最も近いロボットアーム12の先端はベース部11に固定され、最も遠いロボットアーム12の先端にはロボットハンド14が接続される。なお、ロボットハンド14上の所定の位置には、ロボット10の基準位置となる基準部15が定義される。
【0042】
また、ここでは、ロボットアーム12の先端に取り付けられるエンドエフェクタとして、ロボットハンドを例にして説明するが、エンドエフェクタはこれに限定されない。たとえば、エンドエフェクタは、溶接機器や塗装機器などであってもよい。
【0043】
ロボット10は、ロボット制御装置20などからの移動指示に従い、各サーボモータ13を個別に任意の角度だけ回転させることで、基準部15を任意の位置へ移動させる。なお、ロボット10は、各サーボモータ13の回転検出器の出力値(以下、「エンコーダ値」と記載する)、たとえば、所定の基準値からの回転角度を、ロボット制御装置20へ通知する。
【0044】
なお、ロボット10からエンコーダ値を受け取ったロボット制御装置20は、受け取ったエンコーダ値および各ロボットアーム12のアーム長に基づき、基準部15の位置を算出することになる。
【0045】
ロボット制御装置20は、ロボット10の動作制御を行うコントローラである。たとえば、このロボット制御装置20は、あらかじめ登録された指令経路に従ってロボット10の基準部15を移動させる制御や、ロボットハンド14の開閉といった制御を行う。
【0046】
ここで、ロボット制御装置20は、各サーボモータ13について、指令経路に従って基準部15を移動させるために必要な動作量を決定し、決定した各動作量をロボット10へ指示する。なお、ロボット制御装置20の構成については、図3を用いて後述する。
【0047】
外部装置30は、ロボット制御装置20のマンマシンインタフェースを担う入出力装置である。たとえば、この外部装置30は、スイッチやボタン、キーといった入力デバイスと、ディスプレイなどの表示デバイスを備える。そして、外部装置30は、操作者からの入力操作に応じてロボット制御装置20へ指令経路の登録を行ったり、ロボット10の動作状態を表示したりする。
【0048】
なお、ロボット制御装置20を複数設けたうえで、外部装置30を、ロボット制御装置20間の信号を中継する中継装置として構成することとしてもよい。この場合、ロボット制御装置20は、通知信号を外部装置30へ出力し、外部装置30は受け取った通知信号を他のロボット制御装置へ送信する。
【0049】
また、図2では、ロボット制御装置20と、外部装置30とを別装置として記載したが、外部装置30の機能をロボット制御装置20に含めることとしてもよい。また、以下では、説明をわかりやすくする観点から、ロボット10と、ロボット制御装置20との間でデータ送受信が完結する、すなわち、外部装置30を介さずにデータ送受信が行われるものとして説明する。
【0050】
次に、実施例1に係るロボット制御装置20の構成について図3を用いて説明する。図3は、実施例1に係るロボット制御装置20の構成を示すブロック図である。図3に示すように、ロボット制御装置20は、通信部21と、制御部22と、記憶部23とを備える。なお、記憶部23は、不揮発性メモリや、ハードディスクドライブといった記憶デバイスで構成される。
【0051】
また、制御部22は、出力位置登録部22aと、位置取得部22bと、ベクトル算出部22cと、信号出力判定部22dと、指示部22eとをさらに備える。そして、記憶部23は、経路情報23aと、出力位置情報23bと、履歴情報23cと、判定条件情報23dとを記憶する。
【0052】
なお、図3では、説明をわかりやすくする観点から、あらかじめ登録された指令経路に従ってロボット10の基準部15を移動させる機能など、一般的なロボットコントローラが備える機能を省略して記載する。
【0053】
通信部21は、ロボット10およびロボット制御装置20間のデータ送受信を行うLANボードなどの通信デバイスである。この通信部21は、ロボット10から受信したデータを制御部22へ渡す処理を行うとともに、制御部22から受け取ったデータをロボット10へ送信する処理を行う。
【0054】
制御部22は、ロボット制御装置20の全体制御を行う制御部である。出力位置登録部22aは、記憶部23から経路情報23aを読み出し、読み出した経路情報23aに基づいて図1に示した信号出力位置Pを算出する処理を行う。ここで、経路情報23aとは、指令経路に含まれる各教示点S(図1参照)の座標や、順序を定義した情報である。
【0055】
また、出力位置登録部22aは、算出した信号出力位置Pを出力位置情報23bとして記憶部23へ登録する処理を併せて行う。なお、信号出力位置Pの具体的な算出例については、図4Aを用いて後述する。
【0056】
位置取得部22bは、通信部21経由でロボット10から受信したデータに基づいて基準部15の実際の位置を示す基準部位置Rを取得する。具体的には、この位置取得部22bは、ロボット10のサーボモータ13(図2参照)から、所定のサンプリング間隔で取得した回転角データなどのエンコーダ値と、各ロボットアーム12(図2参照)のアーム長とを用いて「順変換処理」を行うことで、基準部位置Rを算出する。
【0057】
ここで、「順変換処理」とは、多関節リンク構造における各関節の回転角度から、各リンクの位置や姿勢を求める処理を指す。なお、「逆変換処理」は、各リンクが満たすべき特定の位置や姿勢から、各関節の回転角度を求める処理を指す。
【0058】
このように、位置取得部22bは、基準部位置Rを、ロボット10のサーボモータ13(図2参照)から取得した回転角データに基づいて算出する。したがって、位置取得部22bによって算出される基準部位置Rの精度は、ロボットの移動軌跡から予測した予測位置や、ロボットに対する動作指令から推定した推定位置の精度に比べて高い。
【0059】
ところで、ロボット10から取得したエンコーダ値に基づいて位置取得部22bが基準部位置Rを算出する旨の説明を行ったが、他の手法によって基準部位置Rを取得することとしてもよい。たとえば、ロボット10の基準部15に位置センサを設け、かかる位置センサが検出した位置データを、位置取得部22bが基準部位置Rとして取得することとしてもよい。
【0060】
なお、位置取得部22bは、取得した基準部位置Rを履歴情報23cとして記憶部23へ記憶させる処理を併せて行う。ここで、履歴情報23cは、最新の基準部位置Rの座標と、最新の基準部位置Rの1つ前、すなわち、直前に取得した基準部位置Rt−1の座標とを少なくとも含む。なお、履歴情報23cに含まれる基準部位置Rの個数は2つ以上の任意の数とすることができる。
【0061】
ベクトル算出部22cは、記憶部23の出力位置情報23bおよび履歴情報23cに基づき、図1に示したベクトルVrおよびベクトルVpを算出する処理を行う。なお、ベクトル算出部22cは、算出したベクトルVrおよびベクトルVpを信号出力判定部22dへ渡す処理を併せて行う。
【0062】
信号出力判定部22dは、ベクトル算出部22cから受け取ったベクトルVrおよびベクトルVpと、記憶部23の判定条件情報23dとに基づいて通知信号を出力するか否かを判定する。すなわち、信号出力判定部22dは、通知信号を出力するタイミングを決定する処理を行う。
【0063】
ここで、信号出力判定部22dは、通知信号を出力すると判定した場合には、通知信号を指示部22eに対して出力する。なお、実施例1では、信号出力判定部22dが通知信号を生成し、生成した通知信号を指示部22eに対して出力する場合について説明する。
【0064】
しかしながら、これに限らず、通知信号を出力するタイミングを信号出力判定部22dが判定し、図示しない出力部が、通知信号の出力を行うこととしてもよい。また、通知信号の出力先については、ロボット制御装置20内に限らず、他の装置、たとえば、図2に示した外部装置30としてもよい。なお、ロボット制御装置20を複数設ける場合には、通知信号の出力先を、他のロボット制御装置20としてもよい。
【0065】
なお、判定条件情報23dは、信号出力判定部22dが行う判定処理のバリエーションごとに用意される判定条件を含んだ情報である。かかる判定条件情報23dを変更することで、信号出力判定部22dが行う判定処理の内容を変更することができる。
【0066】
指示部22eは、信号出力判定部22dから通知信号を受け取った場合に、受け取った通知信号に対応する動作を、通信部21経由でロボット10へ指示する処理を行う。たとえば、指示部22eは、信号出力位置Pに対応する教示点Sにあらかじめ関連付けられた作業(S)の開始指示を、ロボット10に対して行う。
【0067】
以下では、実施例1に係るロボット制御装置20が実行する処理内容についてさらに詳細に説明する。
【0068】
まず、ベクトル算出部22cによって算出されるベクトルVrおよびベクトルVpとの関係について、図4A〜図4Dを用いて説明する。なお、図4Aでは、説明の前提となる教示点Sおよび信号出力位置Pの位置関係について説明し、図4B〜図4Dでは、かかる前提のもと、2つのベクトルのなす角(θ)が変化した場合における、基準部位置Rと信号出力位置Pとの位置関係について説明する。
【0069】
図4Aは、ベクトル算出処理における前提の一例を示す図である。ここで、図4Aでは、指令経路の始点が教示点Sn−1、中間点が教示点S、終点が教示点Sn+1であるとする。この場合、教示点Sn−1と教示点Sとの最短経路は経路142aであり、教示点Sと教示点Sn+1との最短経路は経路142bである。
【0070】
出力位置登録部22aは、あらかじめ定められた条件に従い、教示点Sに対応する信号出力位置Pを経路142a上に算出する。たとえば、かかる条件としては、教示点Sまでの距離、教示点Sまでの時間などを用いることができる。
【0071】
ここで、仮に、図4Aに示す経路142aおよび経路142bに沿ってロボット10の基準部15(図2参照)を移動させると、基準部15の向きが教示点Sで急激に変わってしまう。このため、図4Aに示す経路140に沿って基準部15を移動させる制御が一般的に行われる。なお、出力位置登録部22aが、信号出力位置Pを経路140上に算出することとしてもよい。
【0072】
しかしながら、ロボット10には応答遅れが存在するので、基準部15は、実際には、図4Aに示す経路141に沿って移動する場合がある。この場合、基準部15は、教示点Sn−1を始点とし、教示点Sn+1を終点とする経路141上を移動することになる。
【0073】
すなわち、経路141上を移動する基準部15は、徐々に信号出力位置Pへ近づき、最接近したうえで遠ざかっていく。なお、以下に示す図4B〜図4Dは、最新の基準部位置Rが最接近位置よりも手前である場合、最接近位置にある場合、最接近位置を過ぎた場合に、それぞれ対応する。
【0074】
また、以下に示す図4B〜図4Dは、上記した式(1)でベクトルVrを算出した場合についての例である。すなわち、図4B〜図4Dに示すベクトルVrは、基準部位置Rt−1から基準部位置Rへ向かうベクトルであるので、ベクトルVrの始点を基準部Rt−1として記載した。しかしながら、ベクトルVrを平行移動してベクトルVrの始点が基準部Rとなるように記載した場合と意味は同じである。
【0075】
また、以下に示す図4B〜図4Dは、上記した式(2)でベクトルVpを算出した場合についての例である。すなわち、図4B〜図4Dに示すベクトルVpは、信号出力位置Pから最新の基準部位置Rへ向かうベクトルである。
【0076】
図4Bは、ベクトル間の関係(その1)を示す図である。図4Bに示すように、最新の基準部位置Rが、信号出力位置Pへ接近しつつある場合には、ベクトルVrと、ベクトルVpとのなす角θは、90°よりも大きい。したがって、上記した式(3)におけるcosθは負の値であるので、内積値Iも負の値となる。
【0077】
図4Cは、ベクトル間の関係(その2)を示す図である。図4Cに示すように、最新の基準部位置Rが、信号出力位置Pへ最接近した場合には、ベクトルVrと、ベクトルVpとのなす角θは、90°である。したがって、上記した式(3)におけるcosθはゼロであるので、内積値Iもゼロとなる。
【0078】
図4Dは、ベクトル間の関係(その3)を示す図である。図4Dに示すように、最新の基準部位置Rが、信号出力位置Pから遠ざかりつつある場合には、ベクトルVrと、ベクトルVpとのなす角θは、90°よりも小さい。したがって、上記した式(3)におけるcosθは正の値であるので、内積値Iも正の値となる。
【0079】
なお、図4B〜図4Dでは、ロボット10の基準部15が、信号出力位置Pを内回りする経路に沿って接近し、遠ざかる場合について示した。しかしながら、信号出力位置Pを外回りする経路に沿って接近し、遠ざかる場合についても、同様のことがいえる。
【0080】
また、図4B〜図4Dに示したベクトルVpを逆向きとした場合、すなわち、最新の基準部位置Rから信号出力位置Pへ向かうベクトルとした場合には、ベクトルVrとベクトルVpとのなす角は、180°から上記したθを引いた角度となる。
【0081】
したがって、この場合の内積値Iは、最新の基準部位置Rが、信号出力位置Pへ接近しつつある場合は正の値をとり、最接近した場合にはゼロとなり、遠ざかりつつある場合には負の値をとる。つまり、内積値Iの変化は、図4B〜図4Dに示した場合と正負逆になる。
【0082】
次に、図3に示した信号出力判定部22dによって行われる信号出力判定処理の具体例について図5A〜図5Cを用いて説明する。なお、図5A〜図5Cは、図4B〜図4Dに示した向き、すなわち、信号出力位置Pから基準部位置Rへ向かう向きのベクトルVpを用いた場合に対応する例である。また、図5A〜図5Cに示す座標軸は、縦軸が内積値Iであり、横軸が時間である。
【0083】
図5Aは、ベクトル間の内積値Iに基づく信号出力判定処理の判定例(その1)を示す図である。ここで、図5Aに示す判定例は、内積値Iの「符号変化」に基づいた判定例である。
【0084】
図4B〜図4Dを用いて既に説明したように、ベクトルVrとベクトルVpとの内積値Iは、基準部位置Rが信号出力位置Pへ接近して遠ざかる場合、負の値、ゼロ、正の値のように変化する。すなわち、内積値Iの符号は、マイナス(−)からプラス(+)へと変化する。
【0085】
ここで、上記したように、基準部位置Rは、所定のサンプリング間隔で取得されるので、基準部位置Rに基づいて算出される内積値Iは、不連続な値として算出される。したがって、算出される内積値Iはゼロとならない場合がある。
【0086】
たとえば、図5Aに示すように、内積値Iが、点150aでは負の値、点150bでは負の値、点150cでは正の値のように増加したとする。この場合、信号出力判定部22dは、内積値Iがはじめて正の値をとった点150cに対応するタイミングで通知信号を出力すると判定する。
【0087】
すなわち、信号出力判定部22dは、内積値Iの符号が、マイナス(−)から、はじめてプラス(+)へ変化した場合に、通知信号を出力すると判定する。なお、内積値Iがゼロの場合には、符号が存在しないことになるが、かかる場合は符号がプラス(+)とみなせばよい。
【0088】
なお、ベクトルVpの向きを、図4B〜図4Dに示したベクトルVpと逆向きにした場合には、内積値の符号が、プラス(+)から、はじめてマイナス(−)へ変化した場合に、通知信号を出力すればよい。
【0089】
ところで、図5Aでは、内積値Iの「符号変化」に基づいた判定例を示したが、内積値Iを所定の閾値と比較した結果に基づいて通知信号の出力判定を行うこととしてもよい。
【0090】
図5Bは、ベクトル間の内積値に基づく信号出力判定処理の判定例(その2)を示す図である。ここで、図5Bに示す判定例は、内積値Iと所定の閾値Thとの比較結果に基づいた判定例である。なお、図5Bでは、図5Aと同一の点150a、点150bおよび点150cを、それぞれ示している。
【0091】
たとえば、図5Bに示すように、信号出力判定部22dは、内積値Iがはじめて閾値Th以上となった場合に、通知信号を出力すると判定する。すなわち、信号出力判定部22dは、内積値Iがはじめて閾値Th以上となった点150bに対応するタイミングで通知信号を出力すると判定する。
【0092】
なお、図5Bには、負の値の閾値Thを例示したが、正の値の閾値を用いることとしてもよい。また、内積値Iの大きさ、すなわち、内積値Iの絶対値が所定値以下となった場合に、信号出力判定部22dが通知信号を出力すると判定するようにしてもよい。
【0093】
また、ベクトルVpの向きを、図4B〜図4Dに示したベクトルVpと逆向きにした場合には、内積値Iがはじめて閾値Th以下となった場合に、通知信号を出力すればよい。
【0094】
図5Cは、ベクトル間の内積値に基づく信号出力判定処理の判定例(その3)を示す図である。なお、図5Cでは、算出された内積値Iが増加する傾向にあるものの、微少に増減を繰り返す場合を示す。
【0095】
図5Cに示した場合、内積値Iは、点153aで正の値をとるものの、点153bで負の値をとり、点153cで再び正の値をとっている(図5Cに示す曲線152参照)。このような内積値Iの増減は、ノイズの混入などによって発生しうる。
【0096】
ここで、信号出力判定部22dは、算出した内積値Iを平滑化する補正処理を行う。たとえば、信号出力判定部22dは、算出した内積値Iの移動平均をとるなどして内積値Iを平滑化する(図5Cに示す補正値154参照)。なお、内積値Iに対してローパスフィルタをかけるなどの補正処理を、信号出力判定部22dが行うこととしてもよい。
【0097】
図5Cに示すように、内積値Iは、点153aで正の値をとるものの、点153aに対応する時間において補正値154は負の値をとる。これに対し、内積値Iは、点153cで正の値をとり、点153cに対応する時間において補正値154も正の値をとる。
【0098】
この場合、信号出力判定部22dは、点153aではなく点153cに対応するタイミングで通知信号を出力すると判定する。なお、かかるタイミングを、補正値154がはじめて正の値をとるタイミング、すなわち、点153bに対応するタイミングとしてもよい。
【0099】
なお、上記した図5Cの説明では、図5Aのように内積値Iを0と比較する場合に対して補正処理を適用する場合を例示したが、図5Bのように内積値Iを閾値Thと比較する場合にも、かかる補正処理を適用することができる。
【0100】
次に、図3に示した信号出力判定部22dによって行われる信号出力判定処理のバリエーションについて図6A〜図6Cを用いて説明する。
【0101】
図6Aは、ベクトルの大きさに基づく信号出力判定処理の判定例(その1)を示す図である。なお、図6Aには、基準部位置Rが、まっすぐに信号出力位置Pへ近づいてくる場合を示す。
【0102】
この場合、図6Aに示すように、基準部位置Rは、信号出力位置Pを通過する直線160上を移動するので、ベクトルVrとベクトルVpとのなす角θは常に180°である。したがって、このような場合には、図5Aで説明した内積値Iの符号変化は発生しない。
【0103】
そこで、信号出力判定部22dは、ベクトルVpの大きさが所定値以下となった場合に、通知信号の出力を行うと判定する。つまり、図6Aに示すように、信号出力位置Pを中心とする所定の半径の円161内に最新の基準部位置Rが入ったタイミングで、通知信号の出力が行われる。
【0104】
すなわち、図6Aに示す判定を行うことで、ベクトルVrとベクトルVpとの関係からは、基準部位置Rが最接近したか否かを判定出来ない場合であっても、通知信号の出力を行うことができる。
【0105】
図6Bは、ベクトルの大きさに基づく信号出力判定処理の判定例(その2)を示す図である。なお、図6Bには、基準部位置Rが、信号出力位置Pと若干ずれた経路162で近づいてくる場合を示す。
【0106】
このような場合にも、図6Aの場合と同様に、ベクトルVpの大きさに基づく信号出力判定を行ってもよい。図6Bに示すように、円161の内側で基準部位置Rが信号出力位置Pへ最接近する場合、円161の外側では内積値Iの符号変化は発生しない。この場合、円161の内側では、ベクトルVpの大きさに基づく判定処理を行う。
【0107】
図6Cは、ベクトルの大きさに基づく信号出力判定処理の判定例(その3)を示す図である。なお、図6Cには、図6Aや図6Bに示した円161の他に、円161よりも半径が大きい円163を示している。
【0108】
円163は、信号出力判定部22dによる信号出力判定処理の有効範囲を示す。すなわち、信号出力判定部22dは、最新の基準部位置Rが、円163の外側にある場合には判定処理を行わず、円163の内側にある場合には判定処理を行う。
【0109】
また、信号出力判定部22dは、円163の内側では、内積値Iの符号変化に基づく判定処理を行い、円161の内側では、ベクトルVpの大きさに基づく判定処理を行う。なお、ベクトルVpの大きさと比較される閾値、すなわち、円161の半径や、円163の半径は、適宜定めることができる。
【0110】
このように、信号出力判定部22dは、ベクトルVpの大きさを、信号出力判定処理の開始条件や終了条件として用いることができる。このようにすることで、ベクトルVrとベクトルVpとの関係に基づく判定処理を適切な領域でのみ行うことができる。
【0111】
次に、ベクトルVrの算出手順のバリエーションについて図7Aおよび図7Bを用いて説明する。
【0112】
図7Aは、ベクトル算出のバリエーション(その1)を示す図である。なお、図7Aには、基準部位置Rt−3、基準部位置Rt−2、基準部位置Rt−1および基準部位置Rを示しており、これらの位置は、すべて経路170上にあるものとする。すなわち、基準部位置Rは、経路170上を移動するものとする。
【0113】
ここで、図7Aには、上記した式(1)に示したように、最新の基準部位置Rにおける基準部15の移動方向を示すベクトルVrを、最新の基準部位置Rと、基準部位置Rの1つ前に取得した基準部位置Rt−1とで算出する場合を示す(図7Aの円171参照)。
【0114】
このように、基準部位置Rと基準部位置Rt−1とからベクトルVrを算出することとすれば、簡便な処理でベクトルVrを算出することができる。また、基準部位置Rのサンプリング間隔が十分に短ければ、ベクトルVrの精度についても全く問題はない。なお、図7AにおけるベクトルVrは、基準部位置Rt−1と基準部位置Rとを含む直線173上のベクトル172としてあらわされる。
【0115】
図7Bは、ベクトル算出のバリエーション(その2)を示す図である。なお、図7Bでは、図7Aと同一の要素には同一の符号を付している。図7Bに示す場合、ベクトル算出部22cは、最新の基準部位置Rにおける基準部15の移動方向を示すベクトルVrの向きを、経路170にさらに近づけるように算出する。
【0116】
具体的には、ベクトル算出部22cは、基準部位置Rt−1よりも古い基準部位置R(たとえば、基準部位置Rt−2や基準部位置Rt−3など)をさらに用いてベクトルVrを算出する(図7Bの楕円174参照)。
【0117】
たとえば、ベクトル算出部22cは、基準部位置Rt−2、基準部位置Rt−1および基準部位置Rから求めた経路170の曲率に基づき、ベクトルVrを算出する(図7Bに示すベクトル175参照)。
【0118】
なお、基準部位置Rt−3、基準部位置Rt−2および基準部位置Rt−1から経路170の曲率をさらに求め、先に求めた曲率との差を加味してベクトルVrを求めることとしてもよい。また、図7Aにおいていったん算出されたベクトル172を、上記した曲率や曲率の変化に基づいて補正することで、ベクトルVrを求めることとしてもよい。
【0119】
このように、3つ以上の基準部位置Rを用いてベクトルVrを算出することで、ベクトルVrの精度をさらに向上させることができる。
【0120】
次に、図3に示したロボット制御装置20によって実行される処理手順について図8を用いて説明する。図8は、ロボット制御装置20によって実行される処理手順を示すフローチャートである。
【0121】
図8に示すように、出力位置登録部22aは、経路情報23aを取得し(ステップS101)、取得した経路情報23aに基づいて信号出力位置Rを算出する(ステップS102)。そして、出力位置登録部22aは、算出した信号出力位置Rを、出力位置情報23bへ登録する。
【0122】
つづいて、ロボット制御装置20は、ロボット10に対する動作開始指示を行い(ステップS103)、位置取得部22bは、ロボット10の基準部15の位置を取得する(ステップS104)。また、位置取得部22bは、あらたに取得した位置を用いて履歴情報23cを更新する(ステップS105)。
【0123】
そして、ベクトル算出部22cは、出力位置情報23bおよび履歴情報23cに基づいてベクトル算出処理を行う(ステップS106)。なお、このベクトル算出処理の詳細な処理手順については、図9を用いて後述する。
【0124】
つづいて、信号出力判定部22dは、ベクトル算出部22cによって算出されたベクトルVrおよびベクトルVpに基づいて通知信号を出力するか否かを判定する。たとえば、信号出力判定部22dは、ベクトルVrとベクトルVpとの内積値Iが0より大きいか否かを判定する(ステップS107)。なお、ステップS107では、内積値Iが0以上であるか否かを判定することとしてもよい。
【0125】
そして、内積値Iが0より大きい場合には(ステップS107,Yes)、通知信号の出力を行う(ステップS108)。なお、ステップS107の判定条件を満たさない場合には(ステップS107,No)、ステップS104以降の処理を繰り返す。
【0126】
つづいて、信号出力判定部22dから通知信号を受けた指示部22eは、ロボット10に対して所定の作業の実行指示を行う(ステップS109)。また、ロボット制御装置20は、ロボット10の基準部15の位置が終了位置にきたか否かを判定する(ステップS110)。
【0127】
そして、ロボット10の基準部15の位置が終了位置にきた場合には(ステップS110、Yes)、ロボット制御装置20は、ロボット10に対して動作終了指示を行い(ステップS111)、処理を終了する。なお、ステップS110の判定条件を満たさない場合には(ステップS110,No)、ステップS104以降の処理を繰り返す。
【0128】
なお、図8に示すステップS107では、信号出力判定部22dが、図5Aに示した判定処理を行う場合について例示したが、図5B、図5C、図6A、図6Bあるいは図6Cの判定処理を行うこととしてもよい。
【0129】
次に、図8のステップS106に示したベクトル算出処理の詳細な処理手順について図9を用いて説明する。図9は、ベクトル算出処理の処理手順を示すフローチャートである。
【0130】
ベクトル算出部22cは、出力位置情報23bから該当する信号出力位置Pの位置を読み出すとともに(ステップS201)、履歴情報23cを取得する(ステップS202)。なお、ステップS201とステップS202との順序は逆にしてもよく、ステップS201とステップS202とを並列処理してもよい。
【0131】
つづいて、ベクトル算出部22cは、上記した式(1)を用いてベクトルVrを算出するとともに(ステップS203)、上記した式(2)を用いてベクトルVpを算出し(ステップS204)、リターンする。なお、ステップS203とステップS204との順序は逆にしてもよく、ステップS203とステップS204とを並列処理してもよい。
【0132】
上述したように、実施例1では、出力位置登録部が、通知信号を出力すべき位置を示す信号出力位置(P)を登録し、位置取得部が、ロボットにおける基準部の位置を示す基準部位置(R)を取得する。また、実施例1では、ベクトル算出部が、基準部位置(R)における基準部の速度を示す第1のベクトル(Vr)と、信号出力位置(P)および基準部位置(R)間の相対位置を示す第2のベクトル(Vp)とを算出する。
【0133】
そして、実施例1では、信号出力判定部が、ベクトル算出部によって算出された第1のベクトル(Vr)および第2のベクトル(Vp)に基づいて通知信号を出力するか否かを判定する。
【0134】
したがって、実施例1に係るロボット制御装置によれば、仮に、ロボットの基準部位置(R)が、信号出力位置(P)を通過しない場合であっても、通知信号の出力を適切に行うことができる。すなわち、実施例1に係るロボット制御装置によれば、通知信号の出力自体が行われない事態や、通知信号の出力タイミングが早すぎたり遅すぎたりする事態を、回避することができる。
【0135】
ところで、上述した実施例1では、ロボット制御装置が、ロボットから、基準部位置(R)のみを取得する場合について説明したが、ロボットの基準部位置(R)における速度を併せて取得することとしてもよい。そこで、以下に示す実施例2では、ロボット制御装置が、基準部位置(R)における速度を取得する場合ついて説明する。
【実施例2】
【0136】
図10は、実施例2に係るロボット制御装置20aの構成を示すブロック図である。なお、図10では、実施例1に係るロボット制御装置20(図3参照)の構成要素に対応する構成要素には同一の符合を付している。また、以下では、実施例1と重複する説明については省略することとする。
【0137】
図10に示すように、実施例2に係るロボット制御装置20aは、位置取得部22bの代わりに位置・速度取得部22fを備える点で、実施例1に係るロボット制御装置20とは異なる。また、実施例2に係るロボット制御装置20aは、履歴情報23cを記憶部23に記憶しない点でも、実施例1に係るロボット制御装置20とは異なる。
【0138】
具体的には、位置・速度取得部22fは、ロボット10から通信部21経由で、ロボット10の最新の基準部位置Rtと、基準部位置Rtにおける基準部15の速度を取得する。そして、位置・速度取得部22fは、取得した基準部位置Rtおよび速度を、ベクトル算出部22cへ渡す。
【0139】
ベクトル算出部22cは、位置・速度取得部22fから受け取った速度を、ベクトルVrとしてそのまま採用する。なお、ベクトル算出部22cは、位置・速度取得部22fから受け取った基準部位置Rtに基づき、実施例1と同様の手法で、ベクトルVpを算出する。
【0140】
このように、ロボット制御装置20aが、ロボット10から基準部位置Rtにおける速度を取得する場合、ロボット10の基準部15に速度センサを設けることとすればよい。たとえば、かかる速度センサとしては、光や音といった放射波の反射波を検出し、検出した反射波と放射波との周波数の違いから速度を検出するドップラー効果利用型センサなどを用いることができる。
【0141】
そして、実施例2に係るロボット制御装置20aによれば、実施例1よりも簡便な処理で、通知信号の出力タイミングを決定することができる。
【0142】
なお、上記したロボット制御装置は、たとえば、コンピュータで構成することができる。この場合、制御部は、CPU(Central Processing Unit)であり、記憶部は、メモリである。また、制御部の各機能は、あらかじめ作成されたプログラムを制御部へロードして実行させることによって実現することができる。
【0143】
次に、実施例1および実施例2で用いるロボット10の例について、図11Aおよび図11Bを用いて説明する。図11Aは、双腕ロボット10aの例を示す図であり、図11Bは、双腕ロボット10aの動作例を示す図である。なお、以下では、双腕ロボット10aを、人とみたてて説明する。
【0144】
図11Aに示すように、双腕ロボット10aは、旋回する胴部200を備える。この胴部200は、腰まわりに回動する。また、胴部200には、右腕部201Rと、左腕部201Lとが接続される。ここで、右腕部201Rおよび左腕部201Lは、それぞれ、図2に示すロボット10に対応する。
【0145】
すなわち、右腕部201Rおよび左腕部201Lは、肩、肘、手首といった関節を軸として動作する。なお、図11Aに示す双腕ロボット10aでは、右腕部201Rの先端に把持機構を備えるロボットハンド202が接続されており、一方、左腕部201Lの先端には吸着機構を備えるロボットハンド203が接続されている。
【0146】
たとえば、双腕ロボット10aは、右腕部201Rのロボットハンド202で所定の物体を把持し、かかる物体を左腕部201Lのロボットハンド203へ持ち替える作業を行う。
【0147】
具体的には、右腕部201Rのロボットハンド202で所定の物体を把持した状態でロボットハンド202を移動させ、左腕部201Lのロボットハンド203の近傍へ位置付ける。そして、左腕部201Lのロボットハンド203が物体の吸着を完了すると、右腕部201Rのロボットハンド202は、物体を解放する動作を行う。
【0148】
なお、右腕部201Rおよび左腕部201Lを連動して動作させる場合、右腕部201Rと、左腕部201Lとが接触しないように移動制御を行う必要がある。また、このように、複数のロボット10を連動して動作させる場合、ロボット10間の連係をスムーズに行うことが好ましい。
【0149】
たとえば、図11Bに示すように、右腕部201Rのロボットハンド202が、教示点Sn−1から教示点Sへ移動するように制御され、教示点S近傍で待機する左腕部201Lのロボットハンド203が物体300を吸着する場合について説明する。
【0150】
この場合、既に説明したように、教示点Sの手前側(図11Bに示すロボットハンド202側)には、信号出力位置Pが設けられる。しかし、ロボットハンド202の実際の移動経路204は、信号出力位置Pを通過しない場合がある。
【0151】
このような場合であっても、実施例1で説明したロボット制御装置20や、実施例2で説明したロボット制御装置20aを用いることで、ロボットハンド202が、信号出力位置Pへ最接近した時点で、通知信号を出力することが可能となる。そして、かかる通知信号に基づいてロボットハンド203の吸着動作を開始すれば、物体300の受け渡し動作を確実かつスムーズに行うことができる。また、ロボット10同士の接触を確実に防ぐこともできる。
【0152】
このように、各実施例に開示した内容は、種々のロボットシステムに広く適用することができる。また、各実施例では、ロボットの移動が、2次元の移動である場合について説明したが、ロボットの移動が3次元の移動である場合には、xyz座標系で表現した座標を用いてベクトル間の内積値や、ベクトルの大きさを算出すればよい。
【0153】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施例に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【0154】
1 ロボットシステム
10、10a ロボット
11 ベース部
12 ロボットアーム
13 サーボモータ
14 ロボットハンド
15 基準部
20、20a ロボット制御装置
21 通信部
22 制御部
22a 出力位置登録部
22b 位置取得部
22c ベクトル算出部
22d 信号出力判定部
22e 指示部
22f 位置・速度取得部
23 記憶部
23a 経路情報
23b 出力位置情報
23c 履歴情報
23d 判定条件情報
30 外部装置

【特許請求の範囲】
【請求項1】
所定の信号を出力すべき位置を示す信号出力位置を登録する登録部と、
ロボットにおける基準部の位置を示す基準部位置を取得する位置取得部と、
前記基準部位置における前記基準部の移動方向を示す第1のベクトルと、前記信号出力位置および前記基準部位置間の相対位置を示す第2のベクトルとを算出するベクトル算出部と、
前記ベクトル算出部によって算出された前記第1のベクトルおよび前記第2のベクトルに基づいて前記所定の信号を出力するか否かを判定する判定部と
を備えることを特徴とするロボット制御装置。
【請求項2】
前記判定部は、
前記第1のベクトルと前記第2のベクトルとの内積値に基づいて前記所定の信号を出力するか否かを判定することを特徴とする請求項1に記載のロボット制御装置。
【請求項3】
前記判定部は、
前記内積値の符号が変化した場合に、前記所定の信号を出力すると判定することを特徴とする請求項2に記載のロボット制御装置。
【請求項4】
前記判定部は、
前記内積値の絶対値が所定値以下となった場合に、前記所定の信号を出力すると判定することを特徴とする請求項2に記載のロボット制御装置。
【請求項5】
前記位置取得部によって取得された前記基準部位置の履歴を記憶する履歴記憶部
をさらに備え、
前記ベクトル算出部は、
直前の前記基準部位置に対する最新の前記基準部位置の相対位置を前記第1のベクトルとして算出することを特徴とする請求項1〜4のいずれか一つに記載のロボット制御装置。
【請求項6】
前記ベクトル算出部は、
算出した前記第1のベクトルを、前記直前の前記基準部位置よりも古い前記基準部位置に基づいて補正することを特徴とする請求項5に記載のロボット制御装置。
【請求項7】
前記判定部は、
前記第2のベクトルの大きさに基づいて前記所定の信号を出力するか否かを判定することを特徴とする請求項1〜6のいずれか一つに記載のロボット制御装置。
【請求項8】
所定の信号を出力すべき位置を示す信号出力位置を登録する登録工程と、
ロボットにおける基準部の位置を示す基準部位置を取得する位置取得工程と、
前記基準部位置における前記基準部の移動方向を示す第1のベクトルと、前記信号出力位置および前記基準部位置間の相対位置を示す第2のベクトルとを算出するベクトル算出工程と、
前記ベクトル算出工程によって算出された前記第1のベクトルおよび前記第2のベクトルに基づいて前記所定の信号を出力するか否かを判定する判定工程と
を含むことを特徴とするロボット制御方法。
【請求項9】
あらかじめ登録された教示点に基づいて動作するとともに前記教示点にあらかじめ対応付けられた作業を実行する1または複数のロボットと、
所定の信号を出力すべき位置を示す信号出力位置を登録する登録部と、
前記ロボットにおける基準部の位置を示す基準部位置を取得する位置取得部と、
前記基準部位置における前記基準部の移動方向を示す第1のベクトルと、前記信号出力位置および前記基準部位置間の相対位置を示す第2のベクトルとを算出するベクトル算出部と、
前記ベクトル算出部によって算出された前記第1のベクトルおよび前記第2のベクトルに基づいて前記所定の信号を出力するか否かを判定する判定部と、
前記所定の信号が出力された場合に、前記ロボットに対して所定の動作を指示する指示部と
を備えることを特徴とするロボットシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図4C】
image rotate

【図4D】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図5C】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図6C】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11A】
image rotate

【図11B】
image rotate


【公開番号】特開2012−96307(P2012−96307A)
【公開日】平成24年5月24日(2012.5.24)
【国際特許分類】
【出願番号】特願2010−244554(P2010−244554)
【出願日】平成22年10月29日(2010.10.29)
【出願人】(000006622)株式会社安川電機 (2,482)
【Fターム(参考)】