(57)【特許請求の範囲】
【請求項１】
突起部を有する産業用ロボットに作業者が接近したことを検知する接近検知部と、
前記産業用ロボットが作業を行う作業対象の位置を入力する作業対象位置入力部と、
前記産業用ロボットに取付けた突起部の設定位置および方向を入力する形状入力部と、
前記突起部を作業対象へ向ける時の許容方向範囲を入力する許容方向範囲入力部とを備え、
前記接近検知部によって、運転中の前記産業用ロボットに作業者が接近したと検知された場合には、予め入力された、前記作業対象の位置と、前記突起部の設定位置及び方向と、前記許容方向範囲とから、前記突起部の方向を変更し、前記突起部の方向が前記作業対象の位置に対して前記許容方向範囲内となるように回避軌道を生成することを特徴とする回避軌道生成装置。
【請求項２】
前記作業対象の位置と、前記突起部の設定位置及び方向と、前記許容方向範囲とを、それぞれ前記産業用ロボットの自動運転中のプログラムで変更可能であることを特徴とする請求項１に記載の回避軌道生成装置。
【請求項３】
運転中の前記産業用ロボットに作業者が接近したと検知された時に、前記突起部の方向が前記作業対象の位置に対して前記許容方向範囲に入っており、前記突起部が前記許容方向範囲に収まったまま、前記産業用ロボットが作業を継続できる場合には、前記作業を継続することを特徴とする、請求項１または２に記載の回避軌道生成装置。
【請求項４】
運転中の前記産業用ロボットに作業者が接近したと検知された時に、前記産業用ロボットが作業をする軌道を、前記突起部の方向が前記作業対象の位置に対して前記許容方向範囲に入る方向に変更して前記産業用ロボットが前記作業を継続することを特徴とする、請求項１から３のいずれか１項に記載の回避軌道生成装置。
【請求項５】
産業用ロボットに作業者が接近したことを検知する接近検知工程と、
前記産業用ロボットが作業を行う作業対象の位置を入力する作業対象位置入力工程と、
前記産業用ロボットに取付けた突起部の設定位置および方向を入力する形状入力工程と、
前記突起部を作業対象へ向ける時の許容方向範囲を入力する許容方向範囲入力工程と、
前記接近検知工程によって、運転中の前記産業用ロボットに作業者が接近したと検知された場合には、前記作業対象位置入力工程で予め入力された、前記作業対象の位置と、前記突起部の設定位置及び方向と、前記許容方向範囲入力工程で入力された前記許容方向範囲とから、前記突起部の方向を変更し、前記突起部の方向が前記作業対象の位置に対して前記許容方向範囲内となるように回避軌道を生成することを特徴とする回避軌道生成方法。
【請求項６】
前記作業対象の位置と、前記突起部の設定位置及び方向と、前記許容方向範囲とを、それぞれ前記産業用ロボットの自動運転中のプログラムで変更可能であることを特徴とする請求項５に記載の回避軌道生成方法。
【請求項７】
運転中の前記産業用ロボットに作業者が接近したと検知された時に、前記突起部の方向が前記作業対象の位置に対して前記許容方向範囲に入っており、前記許容方向範囲に収まったまま前記産業用ロボットが作業を継続できる場合には、前記作業を継続することを特徴とする、請求項５または６に記載の回避軌道生成方法。
【請求項８】
運転中の前記産業用ロボットに作業者が接近したと検知された時に、前記産業用ロボットが作業を行う軌道を、前記突起部の方向が前記作業対象の位置に対して前記許容方向範囲に入る方向に変更して前記作業を継続することを特徴とする、請求項５から７のいずれか１項に記載の回避軌道生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用ロボットの回避軌道生成装置および回避軌道生成方法に係り、特に、作業者と産業用ロボットが接触しそうになった場合に、産業用ロボットの回避軌道を生成する装置に関する。
【背景技術】
【０００２】
従来、産業用ロボットの作業領域を安全柵で隔離することで、産業用ロボットが自動運転中に作業者と接触して危害を加えることを防止していた。しかし、近年では、安全柵による隔離ではなく、各種センサあるいは産業用ロボットの制御機能を利用して作業者の安全を確保する方法が提案されている。その安全を確保する方法として、作業者を各種センサで検知し、ロボットの手先位置と作業者が一定距離以内に近づいた場合にはロボットを停止させる技術が開示されている。また、ロボットを停止させる以外にも、特許文献１では、ロボットの手先位置と作業者の距離を一定以上に保つようにロボットを動作させる技術が開示されている。
【０００３】
また特許文献２では、画像認識によって人間の位置及び形状を特定し、人間の急所等に接触することを避ける動作を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２４３４２７号公報
【特許文献２】特開２００８−１３７１２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の、産業用ロボットと作業者が一定距離以内に近づいた場合にロボットを停止する技術は、作業者が不用意にロボットに接近した際に、運転中の産業用ロボットが作業者に衝突して、打撲等の危害が出ることを防止する効果がある。これは、停止中のロボットに作業者から接触しても、打撲等の危害は出ないからである。
【０００６】
しかしながら、上記従来の技術によれば、ロボットハンドに突起部がある場合、手先位置を停止するだけでは、作業者が不用意にその突起部に接触して、刺傷するなどの損傷を受けるという危害を防止することはできないという問題があった。
【０００７】
また、ロボットの手先位置と作業者の距離を一定以上に保つには、不用意に接近する作業者の移動を許容できるように、ロボットの動作可能範囲を設定する必要がある。複数のロボットを並べて設置する場合には、ロボット同士の衝突を防ぐために、お互いの動作可能範囲を排他的に設定するのが一般的である。よって、ロボットの設置間隔を広くする必要があり、密集してロボットを設置することができないという問題があった。更に、治具あるいはセンサといった様々な付帯設備がある領域は動作可能範囲には設定できないため、ロボットの作業エリアに付帯設備を設置できないという問題があった。
【０００８】
また、特許文献２のように、画像認識によって人間の位置及び形状を特定し、人間の急所に接触することを避ける動作を行うには、人間の位置及び形状を特定することが必要であり、計算負荷が大きいという問題がある。あわせて、人間の急所ごとに危険条件の判定を行い、危険条件を全て回避するような軌道を生成するのも、計算負荷が大きいという問題がある。
【０００９】
本発明は、上記に鑑みてなされたもので、産業用ロボットの突起部により作業者が損傷を受けるのを防ぐための回避動作を、狭い動作可能範囲で実現し、かつ計算負荷が小さい回避軌道生成装置を得ることを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明に係る回避軌道生成装置は、突起部を有する産業用ロボットに作業者が接近したことを検知する接近検知部と、産業用ロボットが作業を行う作業対象の位置を入力する作業対象位置入力部と、産業用ロボットに取り付けた突起部の設定位置および方向を入力する形状入力部と、突起部を作業対象へ向ける時の許容方向範囲を入力する許容方向範囲入力部とを備える。そして、接近検知部によって、運転中の産業用ロボットに作業者が接近したと検知された場合には、予め入力された、作業対象の位置と、突起部の設定位置及び方向と、許容方向範囲から、突起部の方向が作業対象の位置に対して許容方向範囲に入るように、突起部の方向を変更する回避軌道を生成する。
【発明の効果】
【００１１】
本発明によれば、突起部による作業者の損傷を防ぐための回避動作を、狭い動作可能範囲で実現し、かつ計算負荷が小さい軌道生成装置を得ることができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１の回避軌道生成装置を用いたロボット制御装置を示す説明図
【図２】実施の形態１の回避軌道生成装置を用いて回避軌道が生成される作業環境を示す図
【図３】実施の形態１の回避軌道生成装置を用いて回避軌道が生成される作業環境を示す図
【図４】実施の形態１の回避軌道生成装置を用いて回避軌道が生成される際に作業対象の位置が変更される作業環境を示す図
【図５】実施の形態１の回避軌道生成装置を用いた回避軌道生成方法において回避軌道の目標位置を算出する方法を説明する図
【図６】実施の形態１の回避軌道生成装置を用いた回避軌道生成方法において回避軌道の目標位置を算出する方法を説明する図
【図７】実施の形態１の回避軌道生成装置を用いた回避軌道生成方法のフローチャートを示す図
【図８】実施の形態２の回避軌道生成装置を用いた回避軌道生成方法において突起部の設定位置及び方向が変わる例を説明する図
【図９】実施の形態３の回避軌道生成装置を用いた回避軌道生成方法のフローチャートを示す図
【発明を実施するための形態】
【００１３】
以下に、本発明の実施の形態に係る産業用ロボットの回避軌道生成装置および回避軌道生成方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１４】
実施の形態１．
図１は、本発明の実施の形態１に係る産業用ロボットの回避軌道生成装置のロボット制御装置を示す説明図である。図２および３は、実施の形態１の回避軌道生成装置を用いて回避軌道が生成される作業環境を示す図、図４は、実施の形態１の回避軌道生成装置を用いて回避軌道が生成される際に作業対象の位置が変更される作業環境を示す図、図５は、実施の形態１の回避軌道生成装置を用いた回避軌道生成方法において回避軌道の目標位置を算出する方法を説明する図、図６は、実施の形態１の回避軌道生成装置を用いた回避軌道生成方法において回避軌道の目標位置を算出する方法を説明する図、図７は、実施の形態１の回避軌道生成装置を用いた回避軌道生成方法のフローチャートを示す図である。
【００１５】
本実施の形態の回避軌道生成装置１１は、図１に示すように、産業用ロボット２０に作業者４０が接近したことを検知する接近検知部１２と、産業用ロボット２０が作業を行う作業対象５０の位置を入力する作業対象位置入力部１３と、産業用ロボット２０に取り付けた突起部２２の設定位置および方向を入力する形状入力部１４と、突起部２２を作業対象５０へ向ける時の許容範囲である許容方向範囲を入力する許容方向範囲入力部１５とを備える。そして接近検知部１２によって、図２から図４に示すように、運転中の産業用ロボット２０に作業者４０が接近したと検知された場合には、予め入力された、作業対象５０の位置と、産業用ロボット２０の突起部２２の設定位置及び方向と、許容方向範囲から、突起部２２の方向が作業対象５０の位置に対して許容方向範囲に入るように、突起部２２の方向を変更する回避軌道を生成する。例えば接近検知部１２については後述するが、図２において破線で示す範囲から産業用ロボット２０側に作業者４０が侵入した時、接近検知信号を発するなどの設定をすればよい。
【００１６】
図１は、実施の形態１の回避軌道生成装置を備えたロボット制御装置を示す図である。ロボット制御装置１０は、産業用ロボット２０に接続され、外部入出力部３０から入力された指令により産業用ロボット２０を駆動し、産業用ロボット２０の作業を制御する。産業用ロボット２０の先端には、突起部２２が配設されている。本実施の形態では、突起部２２は、産業用ロボット２０の先端部である手首部に取り付けたロボットハンドである場合について説明するが、先端部以外の肘等の部分に取り付けた場合にも、同様に適用可能である。突起部２２の位置及び方向は、各関節から伸びる各区間のベクトルのベクトル和をとることにより、制御可能である。
【００１７】
また、産業用ロボット２０は、複数の関節を備えており、各関節は夫々図示しないサーボモータによって駆動される。また、各サーボモータは各関節の角度を検出する角度検出機能を備え、サーボモータは角度検出信号を出力する。ロボット制御装置１０は、産業用ロボット２０に対し、各サーボモータを駆動する駆動電流を供給する。また、ロボット制御装置１０は、各サーボモータが出力する角度検出信号を産業用ロボット２０から取得する。角度検出信号は、各関節の関節角度の検出値を示す。
【００１８】
ロボット制御装置１０は、回避軌道生成装置１１と、産業用ロボット２０を駆動するためのロボットプログラム１６Ｐを格納するプログラム記憶部１６と、外部入出力部３０からの入力データに基づき選択されたロボットプログラム１６Ｐを実行するプログラム実行部１７と、プログラム実行部１７で生成された移動指令と、回避軌道生成装置１１で得られた回避軌道データを受領し軌道を生成する軌道生成部１８と、軌道生成部１８で生成された軌道データに基づき、産業用ロボット２０の各関節を駆動するサーボモータを制御するサーボ制御部１９とを備えており、サーボ制御部１９からの指令信号に基づき、産業用ロボット２０を駆動制御する。
【００１９】
接近検知部１２によって、運転中の産業用ロボット２０に作業者４０が接近したと検知された場合には、回避軌道生成装置１１は、予め設定された、作業対象５０の位置と、突起部２２の設定位置及び方向と、許容方向範囲から、突起部２２の方向が作業対象５０の位置に対して許容方向範囲に入るように、突起部２２の方向を変更する回避軌道を生成する。作業対象５０の位置は、作業対象位置入力部１３によって設定される。突起部２２の設定位置及び方向は、形状入力部１４によって入力される。また、許容方向範囲は許容方向範囲入力部１５によって入力される。そして回避軌道生成装置１１における判断および回避軌道の生成は演算部ＣＣで実行される。
【００２０】
接近検知部１２は、作業者４０が産業用ロボット２０に接近したことを検知する検知機能を備える。検知機能としては、ライトカーテンが用いられる。ライトカーテンは、人が機械との接触事故などに巻き込まれないように安全のために設置する多光軸光電センサである。ライトカーテンでは、投光部と受光部とによって構成され、投光部および受光部の間に人あるいはものの進入を検出するための赤外線をカーテン状に照射し、受光状態を検出することで対象物の位置を検出する。なお、検知機能としてはライトカーテンのほか、レーザスキャナ、ビジョンセンサ等などの検知機能が適用可能である。レーザスキャナは、スキャナから照射されたレーザ光によって対象物の空間位置情報を取得するものである。ビジョンセンサは、物体の位置あるいは形状を検出するものである。本実施の形態では、接近したという情報が検知できれば、接近検知部１２の実現方法は問わない。
【００２１】
産業用ロボット２０が運転中であるとは、教示装置３３におけるティーチング等の調整作業で作業者４０の手動操作によって産業用ロボット２０が動作している状態ではなく、予め入力されたロボットプログラム１６Ｐに従って産業用ロボット２０が自動運転している状態を表す。
【００２２】
作業対象位置入力部１３において、位置の入力データ形式は、ロボットベース２１に固定された直交座標系の位置変数（Ｘ,Ｙ,Ｚ）が用いられる。位置の入力データ形式は、ロボットコントローラが処理できる位置情報であれば、どのような形式でもよい。入力データの保存方法としては、ロボット固有のパラメータとして設定する方法を用いる。入力手段としては、パソコンで動作する産業用ロボット２０の設定ソフトを用いる。なお、入力手段としては、設定ソフトのほか、ティーチングボックス等の、産業用ロボット２０のパラメータを設定する一般的な手段であれば、どのような手段でもよい。
【００２３】
形状入力部１４における突起部２２の設定位置及び方向について説明する。設定位置及び方向の入力データ形式は、デフォルトの制御点である産業用ロボット２０の突起部２２から、制御点の位置と方向を変更するツールのデータと同じである。このデータは、デフォルトの制御点に固定されたツール座標系の基で、位置（Ｘ,Ｙ,Ｚ）と、方向を表す、各軸周りの回転角度からなる。入力データの保存方法としては、ロボット固有のパラメータとして設定する方法がある。入力手段としては、パソコンで動作するロボットの設定ソフトあるいはティーチングボックス等の産業用ロボット２０のパラメータを設定する一般的な手段であり、どのような手段でもよい。
【００２４】
許容方向範囲入力部１５における許容方向範囲とは、作業対象５０の位置Ｏと突起部２２の位置Ｔとを繋いだベクトルＶ１と、突起部２２の方向ベクトルＶ２とし、２つのベクトルＶ１とＶ２の成す角度の許容範囲を表す。ここで、突起部２２の位置とは、産業用ロボット２０のロボットベース２１の位置を基準とした突起部２２の位置であり、産業用ロボット２０の手首部からの位置を表す突起部２２の設定位置とは異なる。突起部２２の設定位置が産業用ロボット２０の制御点からの位置で設定されている場合には、産業用ロボット２０の制御点の位置に突起部２２の設定位置を加算したものが突起部２２の位置である。ベクトルＶ１とＶ２は同じ座標系の基で表現される。例えば、産業用ロボット２０のベース座標系あるいはツール座標系であり、同じ座標系であれば、どの座標系でもよい。入力データ形式としては、角度などを用いるが、突起部２２による作業者４０の損傷を防止することを目的とするものであるため、産業用ロボット２０の手先位置の高さが作業者４０の胸より上で、例えば６０°といった角度でもよいが、作業者４０の胸より下であれば、１５°以下といった角度の制限が必要となる。この許容範囲は、作業状況と、リスクをどの程度まで抑えるかによって決まるもので、上記範囲に限定されるものではない。許容方向範囲入力部１５における入力データの保存方法としては、例えば、ロボット固有のパラメータとして設定する方法がある。許容方向範囲入力部１５における入力手段としては、他の入力部と同様、パソコンで動作するロボットの設定ソフトあるいはティーチングボックス等のロボットのパラメータを設定する一般的な手段であり、どのような手段でもよい。また、許容方向範囲として０を設定し、突起部２２の方向を作業対象５０に対して直接向けるようにしてもよい。
【００２５】
プログラム記憶部１６は、ロボットプログラム１６Ｐを予め記憶する。ロボットプログラム１６Ｐは、作業に必要な手順が記述されたユーザプログラムである。特に、ロボットプログラム１６Ｐは、産業用ロボット２０の軌道を離散データで指令する記述を含んでいる。軌道を指令する各離散データすなわち移動指令データは、例えば、少なくとも終点を含む、複数の産業用ロボット２０の制御点の位置を示すデータと姿勢を示すデータ、および、現在の産業用ロボット位置とその位置姿勢間を繋ぐ補間方法とを含む。また、ロボットプログラム１６Ｐは、例えば生産ラインにおいて産業用ロボット２０と、図示しない他の外部機器とを同期させながら動かす場合において、外部機器に対して同期のためのデータを送信する指令または外部機器から同期のためのデータの受信を待機する指令が記述されてもよい。
【００２６】
プログラム実行部１７は、ロボットプログラム１６Ｐをプログラム記憶部１６から読み出し、解釈する。そして、プログラム実行部１７は、ロボットプログラム１６Ｐに記述されている手順にしたがって、各移動指令を軌道生成部１８に逐次供給する。例えば、プログラム実行部１７は、実行中の移動指令を認識しており、その移動指令の実行が完了した時、次の移動指令を軌道生成部１８に供給する。
【００２７】
また、プログラム実行部１７は、外部機器とのデータの送受信を、外部入出力部３０を介して実行することができる。
【００２８】
軌道生成部１８は、産業用ロボット２０の制御点がプログラム実行部１７から供給される移動指令が示す位置に至るまでの軌道を補間によって演算し、演算した軌道に沿って制御点が移動するように演算周期毎の角度指令値を生成する。角度指令値が生成される時間的および空間的な間隔は、各移動指令間の間隔よりも小さい。なお、軌道生成部１８は、通常は角度指令値を産業用ロボット２０の軸毎すなわち関節毎に生成する。そして回避軌道生成装置１１からの出力がある時は、当該出力を考慮して再度軌道生成を実現する。以降、角度指令値と表記した場合には、関節毎の角度指令値を指すものとする。軌道生成部１８は、演算周期毎に生成した角度指令値を、逐次、サーボ制御部１９に供給する。
【００２９】
サーボ制御部１９は、例えばサーボアンプである。サーボ制御部１９は、外部入出力部３０から角度検出信号を取得し、各関節の角度センサ信号が示す関節角度が軌道生成部１８から供給される角度指令値に追従するように関節毎の駆動電流を生成し、出力する。
【００３０】
外部入出力部３０は、操作盤３１すなわちオペレーティングパネル、外部ＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）装置３２及び教示装置３３すなわちティーチングペンダントが信号線で接続されており、外部機器からの入力を受け付けたり、外部機器にデータを出力したりする。これら操作盤３１、外部ＰＬＣ装置３２及び教示装置３３から、ロボット制御装置１０に対して、プログラム実行開始、中断停止、退避点復帰などの命令ができる。
【００３１】
次に、実施の形態１のロボット制御装置１０を用いて、軌道生成部１８に入力する回避軌道の生成方法について説明する。図７は、回避軌道の生成方法を示すフローチャートである。回避軌道の生成に際しては、開始ステップＳ１００は、産業用ロボット２０の調整作業時のロボットプログラム１６Ｐ作成に加えて実施され、まず、作業対象位置入力ステップＳ１０１で、作業対象位置入力部１３は、産業用ロボット２０が部品搭載などの作業を行う作業対象５０の位置の入力を行う。
【００３２】
そして、形状入力ステップＳ１０２で、形状入力部１４は、産業用ロボット２０に取り付けた突起部２２の設定位置および方向の入力を行う。
【００３３】
続いて、許容方向範囲入力ステップＳ１０３で、許容方向範囲入力部１５は、作業対象５０を突起部２２へ向ける時の許容範囲を入力する。
【００３４】
以上の調整作業が完了後、産業用ロボット２０の作業開始スイッチが押下されると、産業用ロボット２０は自動運転を開始する。回避軌道の生成に際しては、作業者４０の接近監視を開始するために、作業者４０が接近したか否かをステップＳ１０４で、接近検知部１２が検知する。
【００３５】
産業用ロボット２０に作業者４０が接近したことが検知されると、産業用ロボット２０に取り付けた突起部２２の設定位置および方向が許容範囲内であるか否かの判断を行う判断ステップＳ１０５に進む。
【００３６】
そして、判断ステップＳ１０５で作業対象位置入力ステップＳ１０１で予め入力された、作業対象５０の位置と、形状入力ステップＳ１０２で入力された産業用ロボット２０に取り付けた突起部２２の設定位置および方向と、許容方向範囲入力ステップＳ１０３で入力された作業対象５０を突起部２２へ向ける時の許容範囲とから、突起部２２の方向が作業対象５０の位置に対して許容方向範囲内であるか否かの判断を行う。
【００３７】
そして判断ステップＳ１０５で許容範囲内でないと判断されると、ステップＳ１０６で回避軌道が算出され、軌道生成部１８に出力される。判断ステップＳ１０５における判断およびステップＳ１０６における回避軌道の算出は演算部ＣＣで実行され、回避軌道生成装置１１の出力として回避軌道が出力される。そしてステップＳ１０８で終了する。
【００３８】
一方判断ステップＳ１０５で許容範囲内であると判断されると、ステップＳ１０７に進み、回避軌道の生成は実行せず現在位置で停止する。そしてステップＳ１０８で終了する。
【００３９】
また、判断ステップＳ１０４で作業者４０が接近していないと判断されると、ステップＳ１０４に再度戻って、作業者４０の接近監視を継続する。
【００４０】
なお、ここで回避軌道生成装置１１からの出力がない場合は、回避軌道生成装置１１から軌道生成部１８への出力はなく、そのまま軌道生成部１８から出力が生成されるものとする。
【００４１】
以下回避軌道の生成について詳細に説明する。予め設定された作業対象５０の位置をＯ、接近検知部１２が接近を検知した時の突起部２２の位置をＴ、突起部２２の方向ベクトルをＶ２、ＴからＯへのベクトルをＶ１とする。ベクトルＶ１とＶ２の成す角度が予め設定された許容方向範囲Δより大きい場合には、ベクトルＶ１と突起部２２の方向ベクトルＶ２との成す角度が許容方向範囲Δより小さくなる産業用ロボット２０の位置姿勢Ｐを計算し、産業用ロボット２０の現在位置から、位置姿勢Ｐへの補間軌道を計算することで、回避軌道を生成する。もし、ベクトルＶ１とＶ２の成す角度が予め設定された許容方向範囲Δより小さい場合には、回避軌道の生成は実行せず現在位置で停止する。
【００４２】
位置姿勢Ｐは、例えば、次のような方法で算出できる。図５は、突起部２２の位置Ｔと、作業対象５０の位置Ｏ、及びベクトルＶ２が収まる適当な平面で関係を表現したものである。ベクトルＶ３はこの平面に垂直な、紙面の奥から手前方向のベクトルである。ベクトルＶ４は、ベクトルＶ１とベクトルＶ３のそれぞれに垂直なベクトルである。ベクトルＶ３を回転軸として、ベクトルＶ１を角度Δだけ回転したものがベクトルＶ５である。
【００４３】
図６は全てのベクトルの長さを１に正規化したものである。区別のために記号を大文字のＶから小文字のｖに変更している。ベクトルｖ３は、ベクトルｖ１とベクトルｖ２の外積によって導出されるベクトルの長さを１に正規化することで計算できる。ベクトルｖ４はベクトルｖ３とベクトルｖ１の外積によって計算できる。そして、ベクトルｖ５は下記式で計算できる。
【００４４】
【数１】
0006478771.tif 000002
【００４５】
突起部２２の位置Ｔを中心に、突起部２２の方向ｖ２がｖ５になるように産業用ロボット２０の姿勢を変更したものが位置姿勢Ｐである。指定された位置を中心に姿勢を変更させる技術は、産業用ロボット２０の制御として広く知られているので、説明は省略する。また、産業用ロボット２０を、現在の位置姿勢Ｐから、指定された位置姿勢へ補間する軌道の生成方法も、産業用ロボット２０の制御として広く知られているので、説明は省略する。
【００４６】
位置姿勢Ｐの算出方法を含め、突起部２２の方向を作業対象５０に向ける回避軌道の生成方法は、ここで説明した方法に限定されるものではない。例えば、突起部２２の方向を作業対象５０の位置に直接向ける軌道を生成し、その軌道での動作中に、突起部２２の方向が許容方向範囲になったら停止するような方法を用いてもよい。
【００４７】
回避軌道が生成された後は、特許文献１にも記載されているように、作業者４０の安全性に考慮しながら、回避軌道での動作を行う。ここで作業者４０の安全性に考慮するとは、衝突によって作業者４０が負傷しない程度の速度で動作する、一定以上のトルクが発生しないように動作するといった、安全方策として広く知られたものである。
【００４８】
回避軌道での動作を実行した後、あるいは、接近検知部１２が接近を検知した時に、ベクトルＶ１とベクトルＶ２との成す角度がΔ以下であり現在位置で停止した後は、作業者４０の接近が解除されたことを確認できるまでは、他の動作を実行せずに停止を続ける。
【００４９】
接近検知部１２が接近を検知した時に、アラームあるいは信号灯などで作業者４０に接近していることを知らせる機能、あるいは、作業者４０の安全が確保されたら中断した運転を再開する等の停止後の動作復帰に関する機能は、様々な方法が広く知られており、それらと組み合わせて利用してもよい。
【００５０】
本実施の形態によれば、作業者４０の接近を検知した際に、突起部２２の方向を作業対象５０に向ける回避軌道を取ることで、作業者４０が産業用ロボット２０の突起部２２で刺傷などの損傷を受けることを防ぐという効果がある。特に、突起部２２の方向を変更するだけで十分であるため、回避軌道のために作業可能領域を広げる必要が無く、産業用ロボット２０を密集して配置できるという効果がある。合わせて、突起部２２を作業対象５０の位置の方向に向けるだけの軌道を生成すれば十分であるため、小さい計算負荷で回避軌道を生成できるという効果がある。
【００５１】
また、許容方向範囲を設定したことで、例えば、部品の組付け作業などで、作業対象５０に突起部２２の方向を向けながら接触を伴う作業を行っている時に、回避動作を実行して作業対象５０を損傷することを防ぐ効果がある。
【００５２】
以上のように本実施の形態の軌道生成装置は作業対象５０の損傷を防ぐのにきわめて有用な装置であり、必要性が高い。その理由について述べる。先ず、突起部２２による損傷を防ぐために、狭い動作可能範囲で実現可能で、計算負荷が小さい回避軌道を生成する装置の必要性について説明する。従来の、安全柵によって産業用ロボット２０を作業者４０から隔離する安全防護策は、作業者４０の安全を保つことが容易である。しかし、安全柵を設置すると設備面積は増加し、費用面でも負担が強いられる。また、産業用ロボット２０を含む生産装置のメンテナンス作業の妨げになるという欠点もあった。そこで、産業用ロボット２０を作業者４０から隔離する以外の安全防護策が求められている。隔離によって防護していた産業用ロボット２０の危険源は、主に、衝突、巻き込み、あるいは突起部２２による刺傷などの損傷である。衝突による危険に対しては、衝突する前に産業用ロボット２０を停止させる方法、あるいは、衝突する危険性がある場合には、衝突しても安全な速度に運転速度を制限して運転する方法が提案されている。また、ロボット本体については、巻き込みを防止する本体、あるいは、突起部２２のない本体設計が提案されている。しかし、突起部２２はロボット本体以外に、ロボットハンド等にも存在する。そして、突起部２２による刺傷は失明等の重傷にも至るため、その対策は必須である。不用意に作業者４０が接近した場合には、産業用ロボット２０を停止しても、突起部２２による刺傷などの損傷を防ぐことはできないため、何らかの回避行動が必要となる。
【００５３】
一方で、生産現場では、設備費用を抑えるために、生産設備の設置面積を小さくすることが求められる。また、産業用ロボット２０が稼働する生産設備では、産業用ロボット２０以外に様々な付帯設備が設置されている。よって、産業用ロボット２０はできるだけ狭い動作可能範囲で運転できることが望ましい。合わせて、安全を確保するために振り分けられる計算リソースは限られるため、回避軌道を生成するための計算負荷は小さいことが求められる。
【００５４】
これらの理由から、狭い動作可能範囲で実現可能で、計算量が少ない回避軌道を生成する技術が求められている。特に、図３に示したように、生産ラインにおいて、産業用ロボット２０を複数並べて設置する場合、あるいは、作業者４０と産業用ロボット２０が並んで作業する場合において有効である。
【００５５】
本実施の形態の回避軌道生成装置によれば、作業者４０が不用意に産業用ロボット２０に接近した際に、許容範囲に入れるべく突起部２２の方向を作業対象５０に向ける回避軌道を取ることで、作業者４０が産業用ロボット２０の突起部２２で刺傷するなどの損傷を受けることを防ぐ効果がある。これは、予め設定した作業対象５０の位置が、産業用ロボット２０が占有的に作業する領域であることは、作業者４０にとって明らかであるため、その領域に作業者４０が不用意に近づくことは無いからである。また、作業対象位置に突起部２２を向けることは予測し易いため、作業者４０にとって予想外の動きを産業用ロボット２０が行い、作業者４０が損傷を受けるのを防ぐ効果がある。この回避軌道を実現するには、突起部２２の方向を変更するだけで十分であるため、回避軌道のために産業用ロボット２０の動作可能範囲を広げる必要が無いという効果がある。従ってロボットを密集して配置することが可能になる。また、突起部２２を作業対象５０の位置の方向に向けるだけの軌道を生成すれば十分であるため、小さい計算負荷で回避軌道を生成できるという効果がある。
【００５６】
実施の形態２.
作業対象５０の位置と、ロボットハンド等の突起部２２の設定位置及び方向と、許容方向範囲とは、それぞれ運転中に切換えてもよい。実施の形態１では、それぞれの設定は、例えば、ロボットの固有パラメータとして保存するとしていた。これに対し、複数のパラメータ値を設定しておき、自動運転中にプログラムによって参照するパラメータを切換えてもよい。また、運転中のプログラムでパラメータの値を変更してもよい。
【００５７】
例えば、複数のエリアに分かれて産業用ロボット２０の作業が行われる場合には、エリアごとに作業対象５０の位置を変更する方法をとることができる。例えば、組立作業を行う産業用ロボット２０の動作は、組付ける部品を把持する動作と、部品を組付ける動作に分けることができる。図４は、実施の形態１の回避軌道生成装置を用いて回避軌道が生成される際に作業対象の位置が変更される作業環境を示す図であるが、コンベア５１を流れる作業対象５０である製品に、部品供給エリア５２の部品５３を組付けるロボットシステムの鳥瞰図として示している。部品５３を把持する動作を実行している時は、部品供給エリア５２を作業対象５０の位置とし、コンベア５１を流れる製品に組付ける動作をしている時は、コンベア５１を作業対象５０の位置として設定するように、運転中のロボットプログラム１６Ｐで切換える。設定の切換えは各動作が開始する直前に行う事が望ましい。すなわち、産業用ロボット２０が作業エリアを移動中に回避動作を取る場合には、移動の開始元の方向に突起部２２を向けることになる。これは、作業者４０が不用意に近づくエリアは、産業用ロボット２０の作業エリアとして認識していない場所であるため、回避軌道としては、産業用ロボット２０の作業エリアとして認識している直前の作業エリアに突起部２２を向けることが好ましいからである。各作業エリアで設定する作業対象５０の位置は、予めロボットのパラメータとして設定しておく。
【００５８】
作業対象５０の位置は、作業者４０が不用意に近づかない位置が望ましいため、実際に作業を行う位置でもよいし、作業エリアの中で産業用ロボット２０のベースに近い位置あるいは産業用ロボット２０のベースの位置等の、実際の作業対象５０の位置とは異なる位置を設定してもよい。
【００５９】
また、作業対象５０の位置は、点では無く、面あるいは立体等の範囲を持った領域で設定してもよい。この場合には、突起部２２の方向が、領域内の何れかの点に対して、許容方向範囲に入る位置姿勢に向けて回避軌道を生成する。
【００６０】
突起部２２の位置及び方向に関しては、例えば、部品を把持した場合等に切換える。例えば、図８のように、搭載用部品２４を把持することで、ロボットハンドの爪の方向とは垂直の方向に搭載用部品２４の突出部が向く場合、回避軌道を生成する際に考慮すべき突起部２２は、搭載用部品２４を把持していない状況ではロボットハンドの爪先であるが、搭載用部品２４を把持した状況では搭載用部品２４の先端２４Ｐとなる。これについても、予めロボットパラメータとして複数設定しておき、産業用ロボット２０の運転状況に合わせて、ロボットプログラム１６Ｐ上でパラメータを切換えて使用する。
【００６１】
許容方向範囲についても同様に、予めロボットパラメータとして複数設定しておき、産業用ロボット２０の運転状況に合わせて、ロボットプログラム１６Ｐ上でパラメータを切換えてもよい。産業用ロボット２０の運転状況によって、許容すべき方向範囲は異なる。例えば、図３のシステムにおいて、作業エリア間を移動している時には、許容方向範囲は狭くてもよいが、実際に組付け動作をしている場合には許容方向範囲は広い方がよい。これは、作業エリア間を移動している時は、許容方向範囲を狭くしても、産業用ロボット２０あるいは部品同士の接触が無いため部品の破損は無いが、組付け動作をしている時は、部品の破損を防ぐために、許容方向範囲を広げる必要がある。
【００６２】
また、作業対象５０の位置は、産業用ロボット２０が占有して作業するエリアであり、作業者４０が不用意に近づく場所では無い。つまり、作業対象５０の位置に近い場所で産業用ロボット２０が作業している時には、作業者４０のアクセス頻度が低いため、許容方向範囲を広げても、全体のリスクを抑えることができる。
【００６３】
これらの設定値は予め設定しておくのではなく、運転中のプログラムで設定値を変更してもよい。例えば、作業対象５０の位置については、運転中にビジョンセンサで作業対象５０を認識して設定値を変更してもよい。突起部２２の位置及び方向、あるいは、許容方向範囲についても同様に、外部センサによる計測結果、あるいは、運転中に算出された値に変更して運用してもよい。これらによって、作業状況が変更するようなシステムにおいても柔軟に対応できる。
【００６４】
また、作業者４０の接近を検知する接近検知部１２の接近情報と組合せて、使用する設定値を切換えてもよい。例えば、複数のライトカーテンを利用して、作業者４０の接近を検知している場合には、どのライトカーテンが作業者４０を検知したかの情報に基づいて、作業対象５０の位置を切換える。接近を検出したライトカーテンの設置方向とは逆方向の作業対象５０の位置を基に回避軌道を生成することによって、突起部２２による損傷のリスクを下げることができる。他にも、ビジョンセンサによる作業者４０の位置情報などを基に、使用する作業対象５０の位置を切換えてもよい。
【００６５】
本実施の形態によれば、作業対象５０の位置と、突起部２２の設定位置及び方向と、許容方向範囲とを、運転中に切換えることによって、産業用ロボット２０の運転状況に応じた回避軌道が生成できるようになり、作業対象５０の位置が変更されるロボットシステムに対して、柔軟に対応できる効果がある。
【００６６】
実施の形態３.
作業者４０の接近を検知した時に、ロボットハンド等の突起部２２の方向が、作業対象５０の位置に対して許容方向範囲に入っている場合には、安全な運転速度で作業を継続してもよい。図９は、実施の形態３の回避軌道生成装置を用いた回避軌道生成方法のフローチャートを示す図である。実施の形態３の回避軌道生成方法は、ステップＳ１０４で、作業者が接近したか否かを判断するまでは実施の形態１と同様である。実施の形態３の図９のフローチャートではステップＳ１０４の後、突起部の設定位置および方向が許容範囲内か否かを判断する判断ステップＳ１０５に入る。そして、ステップＳ１０５の判断ステップで許容範囲内であると判断された時、ステップＳ１１０に示すように、安全運転モードに切り替えて運転を継続する。これは実施の形態１における図７のステップＳ１０５の判断ステップで許容範囲内であると判断された時に相当する。
【００６７】
突起部２２による刺傷などの損傷のリスクが低い場合には、突起部２２による損傷のリスクを抑えるための回避動作あるいは停止動作をしなくてもよい。よって、その他の危険源に対する安全防護策として、例えば、運転速度あるいは許容トルクを抑える等の手段を取る安全運転モードに切り替えることで、作業者４０の安全を確保したまま、産業用ロボット２０の作業を継続できる。
【００６８】
作業を継続した場合に、突起部２２の方向が作業対象５０の位置に対して許容方向範囲から外れる時には、実施の形態１と同様に、接近検知部１２によって作業者４０の安全が検知できるまで、停止する。
【００６９】
なお、安全運転モードで運転中に、作業者４０が産業用ロボット２０から離れたことが確認できた場合には、ステップＳ１０９に示すように、通常運転モードに切り替えて運転を継続する。
【００７０】
本実施の形態によれば、突起部２２による刺傷などの損傷のリスクが低い場合には、産業用ロボット２０の作業を継続することで、ロボットシステムの生産効率を向上させる効果がある。つまり、突起部２２による損傷のリスクを抑えたまま作業が継続できる場合には、作業を継続することによって、生産能力を向上することができる。
【００７１】
実施の形態４.
作業者４０の接近を検知した時に、軌道を変更することで、ロボットハンド等の突起部２２の方向を作業対象５０の位置に対して許容方向範囲に入れながら作業を継続できる場合には、作業軌道を変更して、安全な運転速度で作業を継続してもよい。これは実施の形態１における図７のステップＳ１０５の判断ステップで許容範囲内でないと判断された時に相当する。この時、ステップＳ１０６に示すように回避軌道の生成を行う。
【００７２】
本実施の形態によれば、予めプログラムされた作業軌道では、突起部２２による損傷のリスクを抑えながら作業を継続することができない場合であっても、作業の動作軌道を変更して、安全な運転速度で作業を継続することによって、リスクを抑えながら作業を継続できるようになるため、ロボットシステムの生産効率を向上させる効果がある。
【００７３】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００７４】
１０  ロボット制御装置、１1  回避軌道生成装置、１２  接近検知部、１３  作業対象位置入力部、１４  形状入力部、１５  許容方向範囲入力部、１６  プログラム記憶部、１６Ｐ  ロボットプログラム、１７  プログラム実行部、１８  軌道生成部、１９  サーボ制御部、２０  産業用ロボット、２２  突起部、３０  外部入出力部、３１  操作盤、３２  外部ＰＬＣ装置、３３  教示装置、４０  作業者、５０  作業対象、５１  コンベア、５２  部品供給エリア、５３  部品。
【図１】
0006478771.tif 000003
【図２】
0006478771.tif 000004
【図３】
0006478771.tif 000005
【図４】
0006478771.tif 000006
【図５】
0006478771.tif 000007
【図６】
0006478771.tif 000008
【図７】
0006478771.tif 000009
【図８】
0006478771.tif 000010
【図９】
0006478771.tif 000011