以下、添付図面を参照して本開示の実施形態を説明する。以下の図面において同様の部材には同様の参照符号が付けられている。理解を容易にするために、これら図面は縮尺を適宜変更している。
以下、「力」とは、特に断りがない限り、力の並進方向成分および力のモーメント成分を含むものとする。また、「位置および/または姿勢」とは、位置もしくは姿勢、または、位置および姿勢を表すものとする。
図1は、本開示の一実施形態に係る力制御押付装置を備えたロボットシステム11の構成例を示す概略図である。ロボットシステム11は、ロボット50と、ロボット50の先端部に取りつけられた力制御押付装置51と、ロボットおよび力制御押付装置の制御装置54と、を具備している。力制御押付装置51によって保持される工具52とワーク53との一方を第1の物体とし、工具52とワーク53との他方を第2の物体とする。
ロボット50の先端部には、ロボット50を誘導し移動操作するためのロボット誘導装置55と、力制御押付装置51と、工具52が取りつけられている。また、ワーク53が作業台57の上に設置されている。
ロボットシステム11において、作業者56がロボット誘導装置55を操作することによって、ロボット50を誘導して移動操作する。このとき、ロボット50およびロボット50の先端部に設置された力制御押付装置51によって、工具52およびワーク53との間に作用する力を制御し、工具52とワーク53を互いに相対的に移動させる。
本実施例では、システム基準座標系とは、ロボットシステム11に対して設定され、ロボット50の位置および/または姿勢、力制御押付装置51の機構部の位置および/または姿勢、第1の物体の位置および/または姿勢、第2の物体の位置および/または姿勢、などを表す直交座標系とする。
力制御押付装置51の移動機構部の動作可能範囲における位置および/または姿勢とは、力制御押付装置51の移動機構部の第1の物体を保持する部分の力制御押付装置51に対する位置および/または姿勢とする。また、力制御押付装置51の移動機構部の位置および/または姿勢とは、特に断らない限り、システム基準座標系における力制御押付装置51の移動機構部の位置および/または姿勢、または、力制御押付装置51の移動機構部の動作可能範囲における位置および/または姿勢とする。
ロボット50、力制御押付装置51は、それぞれ移動機構部および移動機構部の駆動部を備え、ロボットおよび力制御押付装置の制御装置54によって、制御周期毎にそれらの駆動部が制御されることによって移動する。
ロボットおよび力制御押付装置の制御装置54は、演算処理装置、ROM、RAMなどを含むハードウェア構成を有していて、後述する種々の機能を実行する。
ロボット50、力制御押付装置51を制御する制御装置は、本実施例のように一体となったものでなく、別々の制御装置で構成されていて、ロボット50の制御装置と、力制御押付装置51の制御装置が通信するように構成してもよい。また、ロボット50の制御装置が、ロボット50と切り離されて設置されてもよいし、またはロボット50に組み込まれていてもよい。また、力制御押付装置51の制御装置は、力制御押付装置51と切り離されて設置されてもよいし、または力制御押付装置51に組み込まれていてもよい。また、ロボットおよび力制御押付装置の制御装置54や、ロボット50、力制御押付装置51を制御する制御装置が別の場合のそれぞれの制御装置は、ネットワークに接続され、ネットワークに接続された別の制御装置と通信し、前記別の制御装置から入力を受け取る制御装置であってもよい。
本実施例では、ロボット50は、六軸構成の垂直多関節型ロボットとする。しかしながら、六軸以外の複数軸構成の垂直多関節型ロボット、水平多関節型ロボット、パラレルリンク型のロボットなど、他の形態を有する任意の公知のロボットでもよい。ロボット50は、ロボット50を駆動する駆動部やロボット50を構成するリンクや関節部などの機構部を有する。
ロボット50の先端部は、ロボット50が設置されたロボットの台座58から見てロボット50の先端側にあり、ロボット50のフランジ部59またはロボット50のフランジ部59に取りつけられている物体が存在する部分である。
作業台57は、ワーク53を設置することが可能であればよく、固定された台、または一乃至複数軸を持つ移動機構部によって移動可能な台であってもよい。作業台57は、例えば、別のロボットや、ポジショナー、AGV(Automatic Guided Vehicle)などのように、位置および/または姿勢を変える移動機構部を備えた機械であり、前記機械にワーク53が設置されるようにしてもよい。
ロボットの台座58は、ロボット50を設置するための台座であり、ロボット50を設置することが可能であればよく、固定された台座、または一乃至複数軸を持つ移動機構部によって移動可能なように構成された台座であってもよい。ロボットの台座58は、例えば、別のロボットや、ポジショナー、AGV(Automatic Guided Vehicle)などのように、位置および/または姿勢を変える移動機構部を備えた機械であり、前記機械にロボット50が設置されるようにしてもよい。なお、ロボット50が大きく位置を変える場合、ロボットおよび力制御押付装置の制御装置54をロボット50と共に移動させることが好ましい。
力制御押付装置51は、工具52とワーク53との一方である第1の物体を保持し、保持する第1の物体を所定の押付方向に所定の目標押付力で押しつけるように、工具52とワーク53との間に作用する力を制御して、力制御押付装置51が保持する第1の物体を移動させる移動機構部を備える。力制御押付装置51の移動機構部は、移動機構部を移動させることによって、力制御押付装置51が保持する第1の物体の位置および/または姿勢を移動させることができるような機構であればどのような機構であってもよい。力制御押付装置51の基準の位置および/または姿勢とは、力制御押付装置51の移動機構部の動作可能範囲の中心とするが、力制御押付装置51の移動機構部の動作可能範囲において基準とする所定の位置および/または姿勢としてもよい。なお、基準の位置および/または姿勢は、力制御押付装置51の動作可能範囲における中心でなくてもよく、第1の物体と第2の物体とが接触した状態となるまでの位置および/または姿勢の対応可能なずれをなるべく大きくすることができる位置および/または姿勢とすることが好ましい。力制御押付装置51の移動機構部は、第1の物体と第2の物体との間に作用する力を制御させる力制御モードと、指令した位置および/または姿勢に移動させる位置制御モードとを有する。力制御押付装置51を力制御モードで動かさないときには位置制御モードとする。第1の物体と第2の物体との間に作用する力を制御せずに、ロボット50を移動させる場合には、力制御押付装置51の移動機構部を位置制御モードとして、力制御押付装置51の移動機構部は動作可能範囲の中心などの基準とする位置および/または姿勢に固定させておくことが好ましい。位置制御モードに設定する場合には、周辺装置との干渉やロボットシステム11の状況に応じて設定する所定の位置および/または姿勢で固定しておくことが好ましい。また、ロボット50よりも応答性や動作性能のよい移動機構部を備えた力制御押付装置51を用いることによって、ロボット50を停止させているときに力制御押付装置51を位置制御モードで移動させたり、ロボット50と共に力制御押付装置51を位置制御モードで移動させるときにロボット50の移動に対して補正をかけるように力制御押付装置51を移動させたりすることによって、第1の物体の位置および/または姿勢、軌跡の精度をよくして、所望の移動を実現することも可能となる。
力制御押付装置51の移動機構部は、電動モータ、空気圧や油圧などの流体圧アクチュエータ、などのアクチュエータによる駆動部によって移動され、1乃至複数の自由度を持つようにすることが好ましい。本実施例においては、電動モータで駆動され、直交する2軸の軸方向に移動する機構部、または直交する2軸の軸方向および前記2軸の各軸回りに移動する機構部を持つとするが、任意のアクチュエータ、任意の自由度を持つ移動機構部であってもよい。力制御押付装置51は、力制御押付装置51が保持する第1の物体と、前記工具52と前記ワーク53との他方である第2の物体との間に作用する力を計測する6軸または制御する方向の力の検出に必要な自由度の力センサが設置されている。また、力制御押付装置51を駆動する電動モータの電流値を計測し、その電量値に基づいて工具52とワーク53との間に作用する力を算出することによって計測するようにしてもよい。また、力制御押付装置51の移動指令と実際の位置との差を計測してその値に基づいて工具52とワーク53との間に作用する力を算出することによって計測してもよい。
力制御押付装置51は、ロボットおよび力制御押付装置の制御装置54によって制御される。または力制御押付装置51の制御装置によって、制御されるようにしてもよい。力制御押付装置51の制御装置が、ロボット50の制御装置と一体でないとき、ロボット50の制御装置から、押付方向、目標押付力、力制御の有効・無効、力制御無効時の位置制御の指令、停止指令などを受け取って、移動機構部を移動させるようにしてもよい。また、力制御押付装置51は、力制御押付装置51の機構部の内部に、力制御押付装置51を制御する制御装置を備えるようにしてもよい。
力制御押付装置51は、工具52が取りつけられることによって工具52を保持する。また、力制御押付装置51は、開閉可能なハンドによって、工具52を保持するようにしてもよい。また、図1に示すロボットシステム11では、力制御押付装置51が工具52を保持し、作業台57に設置されたワーク53に対して、工具52を接触させるように構成されているが、図3に示すロボットシステム11のように、力制御押付装置51がワーク53を保持し、作業台57に工具52が設置されるように構成してもよい。
力制御押付装置51は、ロボット50を構成する部分とは独立し、ロボット50に対して取り外し可能に設置されることが好ましい。これによって、力制御押付装置51の調整、保守、故障などのために交換が必要なときには、力制御押付装置51を取り外して、別の装置に交換して使用することができる。
一般的に力制御押付装置51の移動機構部の、目標押付力への追従性、安定性、制振性能などの力制御性能をロボット50の力制御性能よりもよくすることは容易であり、ロボット50よりも力制御性能がよい力制御押付装置51をロボット50に取りつけることによって、工具52とワーク53との間に作用する力をより適切に制御することが可能となる。これによって、ロボット50の力制御や位置制御の、応答性や動作性能が悪い場合でも、力制御や位置制御の、応答性や動作性能のよい力制御押付装置51を使用することによって、第1の物体と第2の物体との間に作用する力を高速かつ安定的に制御することが可能となる。また、ロボット50に対して力制御押付装置51を簡易に取りつけ・取り外しが可能とすることによって、或るロボットシステム11で必要に応じて力制御押付装置51を使用し、必要がないときには別のロボットシステム11において力制御押付装置51を使用するようにすれば、全体的なロボットシステム11のコストを抑えることができる。また、一般的に、移動機構部を有する機械、装置を高速に移動させる場合、メンテナンスの時間間隔は短くなるが、ロボット50への取りつけ取り外しが可能な力制御押付装置51を使用すれば、定期的に高速で移動させる力制御押付装置51の部分だけを取り外してメンテナンスすればよくなる。また、ロボット50で第1の物体と第2の物体との間に作用する力を制御する場合、ロボット50の全体部分を移動する必要があるが、力制御押付装置51を使用する場合、必要最小限の機構部を移動させればよいので、ロボット50の全体部分を移動させる場合と比べてより高速に移動させることができると共に、移動機構部にかかる負荷も少なくすることができ装置のメンテナンスの時間間隔を長くすることができる。第1の物体の所定の面と第2の物体の所定の面とを合わせる場合などでは、ロボット50を移動させることによって実現しようとすると複数の軸を移動させる必要があり、力制御押付装置51を使用することによって、前述のような効果はより顕著となる。
工具52は例えば、ワーク53に対してバリ取りや面取り、研磨、研削、切り取りなどの加工を行う加工工具である。あるいは、工具52は、ワーク53の輪郭に倣い形状を測定するための回転機構を含むまたは棒などの、ワーク53に接触させるための物体である、測定用の工具であってもよいし、あるいは、ロボット50の教示軌道を生成するために、ワーク53とするガイド部材を倣わせる工具であってもよい。ワーク53は、工具52と所定の目標押付力で接触させるための作業対象物である。ワーク53は、例えば、ワークの上面から見たとき、図6に示されるような形状のワークとし、その内側の形状を工具52で倣わせる。
また、工具52が重い工具である場合、工具52をロボット50の先端部において力制御押付装置51で保持し、ロボット50を移動させることによって、工具52を移動させるようにしてもよい。また、ワーク53が重いワークである場合、ワーク53をロボット50の先端部において力制御押付装置51で保持し、ロボット50を移動させることによって、ワーク53を移動させるようにしてもよい。また、工具52は、ワーク53に倣わせることによって、ワークの形状を取得するために、ワークに接触させることを目的とした物体であってもよい。例えば、或る軌道を教示するために、或る形状を持つまたは形状の変形が容易な型や枠などのガイド部材をワーク53とし、ワーク53に接触させるための物体を工具52として、ワーク53に工具52を倣わせたときのロボット50の先端部、またはロボット50の先端部に取りつけた物体の位置および/または姿勢、または力制御押付装置51の位置および/または姿勢、または工具52とワーク53の接触位置から、ロボット50を移動させるための教示軌道を生成してもよい。
作業者56は、任意の移動操作装置によって、ロボット50を移動させるためのロボット操作入力を与え、ロボット50を移動させる。本実施例では、ロボット50を誘導し移動操作するための装置である、ロボット誘導装置55を用いて、ロボット50を移動させる。ロボット誘導装置55は、作業者56が操作しやすい形状のハンドルであることが好ましく、必要に応じて入力装置や出力装置を備えることが好ましい。ロボット誘導装置55の出力装置は、文字、数値、色、絵、記号、図形、模様などの映像を表示する映像出力装置や表示灯装置、音を出力する音出力装置や、振動を提示出力する振動出力装置、触覚や匂い、風などを作業者56に提示する感覚提示装置などであることが好ましい。
図1に示すように、ロボット誘導装置55をロボット50の先端部に取りつけ、ロボット誘導装置55に対して作業者56が作用させる力を計測することによって、ロボット50を移動操作するためのロボット50の操作入力を計測し、ロボット50を移動操作する。このとき、作業者56が作用させる正味の力を計測するように、他の物体が重力や慣性力などによって及ぼす力を必要に応じて補償しておくことが好ましい。
また、図4に示すロボットシステム11の別の実施形態のように、ロボット誘導装置55は、作業者56とロボット50との間の距離を長くすることによって、作業者56がより安全となるように構成した装置であってもよい。
また、図5に示すロボットシステム11の別の実施形態のように、ロボット誘導装置55を非接触式の入力装置として、非接触式のロボット誘導装置55aによる入力を計測することによって、ロボット50を移動操作するためのロボット50の操作入力を計測し、ロボット50を移動操作してもよい。例えば、ロボット誘導装置55を、加速度センサやジャイロセンサといった慣性センサ、磁気センサなどを用いて入力装置の傾きや移動を計測することによって、また、レーザ、赤外線、カメラを用いて作業者56の動作や入力装置の移動動作を計測することによって、位置、姿勢、移動方向、速度、加速度などを入力する非接触式の入力装置として、ロボット50に接触することなく、ロボット50を移動操作するための操作入力を計測し、ロボット50を移動操作してもよい。また、ロボット50の先端部に対して作業者56が作用させた力、に応じてロボット50を移動させるダイレクトティーチ(ダイレクトティーチング。以下、同様)によってロボット50を移動操作してもよい。また、ロボット50を構成するリンク部分や関節部分などのロボット50の本体部分に対して作業者56が作用させた力、に応じてロボット50を移動させるダイレクトティーチによってロボット50を移動操作してもよい。
図2は、本開示の第一実施形態に係る、ロボットおよび力制御押付装置の制御装置54の構成を機能的に示す図である。図2に示されるように、ロボットおよび力制御押付装置の制御装置54は、後述するロボット操作入力計測部31と、ロボット移動指令算出部32と、力制御押付装置押付方向設定部33と、力制御押付装置目標押付力設定部34と、力制御押付装置力計測部35と、力制御押付装置移動指令算出部36と、ロボット移動方向良否判定部37と、ロボット移動方向良否判定結果出力指令部38と、ロボット移動許可方向設定部39と、ロボット動作プログラム生成部40と、押付状態良否判定部41と、押付状態良否判定結果出力指令部42、といった機能などを具備している。図2には図示しないが、ロボットおよび力制御押付装置の制御装置54は、各種機能の実現に必要な記憶部、演算部、データ通信部、信号入力部、信号出力部など、その他に必要な機能も具備しているものとする。
ロボット50、力制御押付装置51を制御する制御装置が、別々の制御装置である場合、前記機能の内、複数の機能をそれぞれの制御装置が保有するようにしてもよい。例えば、ロボット50の制御装置が、後述するロボット操作入力計測部31と、ロボット移動指令算出部32と、力制御押付装置押付方向設定部33と、力制御押付装置目標押付力設定部34と、ロボット移動方向良否判定部37と、ロボット移動方向良否判定結果出力指令部38と、ロボット移動許可方向設定部39、ロボット動作プログラム生成部40と、を具備し、力制御押付装置51の制御装置が、力制御押付装置力計測部35と、力制御押付装置移動指令算出部36と、押付状態良否判定部41と、押付状態良否判定結果出力指令部42と、を具備するようにしてもよい。
ロボット操作入力計測部31は、ロボット50を移動操作するためのロボット操作入力を計測する。作業者56は、ロボット50を移動操作させるために、ロボット50に力を作用させたり、接触または非接触の入力手段を使用して入力を与えたりすることによって、ロボット操作入力を与え、ロボット操作入力計測部31が前記ロボット操作入力を計測する。
第1番目の実施例では、ロボット操作入力計測部31は、作業者56がロボット誘導装置55に作用させる力を、ロボット50を移動操作するための操作入力として計測する。しかし、ロボット50を移動操作するためのロボット操作入力は、作業者56の操作によって変化する状態であれば、どのような状態をロボット操作入力としてもよく、そのような状態の計測をすることによって、ロボット操作入力を計測するようにしてもよい。ロボット50を移動させる操作入力の方法は、ロボットシステム11の構成などを考慮して決めることが好ましい。
ロボット操作入力計測部31は、ロボット50の本体部分に作用する力を計測したり、ロボット50の先端部に作用する力を計測したり、ロボット50に取りつけたロボット誘導装置55に対して作用させた力を計測したりしてもよい。このとき、ロボット操作入力計測部31が力を計測するのにセンサを使用する場合、センサは、歪ゲージ式や静電容量式、ピエゾ式、水晶の圧電効果を利用した方式、光学式、磁気式など、物体に作用する力を計測することができる方式であればどのような方式のセンサを用いてもよい。また、力を計測するのに使用するセンサは、ロボット50の関節部分や、ロボット50の本体部分、ロボット50の台座58、ロボット50の先端部、など任意の場所に設置してもよい。また、ロボット操作入力計測部31、ロボット50を駆動するアクチュエータが電動モータなど電流によって駆動される場合、その電流値から力を推定し計測するようにしてもよい。また、ロボット操作入力計測部31は、ロボット50への移動指令値と実際の位置との差から、力を推定し計測するようにしてもよい。ロボット操作入力計測部31がロボット50の先端部に作用する力を計測できるようにしておく場合、ロボット操作入力計測部31が計測した力と、力制御押付装置力計測部35が計測した力を比較することによって、ロボット操作入力計測部31と力制御押付装置力計測部35とで計測される値が大きくずれるようになっていないか、どちらかの計測部によって計測される値が異常となっていないか、力を計測・推定するために用いるセンサなどの装置が故障していないかなどを判定することが可能となる。
また、ロボット操作入力計測部31は、ロボット50に対して接触しない、非接触式の入力手段によって与えられる入力を、ロボット50を移動操作するロボット操作入力として、計測するようにしてもよい。例えば、ロボット操作入力計測部31は、加速度センサやジャイロセンサといった慣性センサ、磁気センサなどを用いて入力装置の傾きや移動を計測することによって、また、レーザ、赤外線、カメラを用いて作業者の動作や入力装置の移動動作を計測することによって、非接触式の入力装置の位置、姿勢、移動方向、速度、加速度などを計測することによって、ロボット操作入力を計測するようにしてもよい。
また、ロボット操作入力計測部31は、ロボット50、ロボット50の台座58、ロボット50の先端部、力制御押付装置51、工具52、ワーク53、またはそのような前述の部分とは離れた天井や床、壁、周辺部分など別の部分に設置した、カメラ、モーションキャプチャによるセンシング装置によって、作業者56の動作を、ロボット操作入力として計測するようにしてもよい。また、ロボット操作入力計測部31は、ロボット50を教示操作する装置による入力をロボット操作入力として計測するものであってもよい。
ロボット移動指令算出部32は、ロボット操作入力計測部31が計測したロボット操作入力に基づいてロボット50の移動指令であるロボット移動指令を算出する。ロボット移動指令算出部32は、ロボット操作入力計測部31が計測したロボット操作入力に対して所定の係数をかけたり、所定の関係式にロボット操作入力の値を代入して出力を得たり、別の或る値で飽和させたり、値が滑らかになるように平滑処理をかけたりするなど、所定の演算処理を行うことによって、ロボット操作入力に応じたロボット移動指令を算出する。前記所定の係数や所定の関係式、飽和させる値などは状況に応じて変化させてもよい。
また、このとき算出されたロボット移動指令は、外部からの入力信号、作業者56による入力、力制御押付装置51およびロボット50における故障などの問題の発生、システム基準座標系における力制御押付装置51の移動方向、力制御押付装置51の移動機構部における移動方向、力制御押付装置力計測部35が計測する力、システム基準座標系における力制御押付装置51の移動機構部の位置および/または姿勢、力制御押付装置51の移動機構部の動作可能範囲における位置および/または姿勢、ロボット50の位置および/または姿勢、工具52とワーク53との間に作用する力の方向や大きさなど、ロボット50、力制御押付装置51、第1の物体の位置および/または姿勢などの移動状況によって、大きさを調整したり、停止させるようにしたり、衝突を検出した場合などは退避するような方向に移動させて停止するように指令を調整したりすることが好ましい。このようにロボットシステム11の状況に応じて、ロボット移動指令を調整しロボット50の移動操作を変更、調整、修正して変えることによって、作業者56はロボット50の移動操作において、より簡易に、第1の物体と第2の物体とを適切に接触させて相対的に移動させることが可能となる。
力制御押付装置押付方向設定部33は、力制御押付装置51が移動機構部を移動させて、力制御押付装置51が保持する第1の物体を第2の物体に対して押しつける方向である押付方向を設定する。力制御押付装置押付方向設定部33は、第1の物体の移動方向と所定の角度を成す方向、第1の物体の移動方向と対応づけた方向、第1の物体の位置および/または姿勢と対応づけた方向、ロボット50の移動操作の方向と所定の角度を成す方向、ロボット50の移動操作の方向と対応づけた方向、ロボット50の位置および/または姿勢と対応づけた方向、第2の物体に対する第1の物体の移動方向と所定の角度を成す方向、第2の物体に対する第1の物体の移動方向と対応づけた方向、第2の物体に対する第1の物体の位置および/または姿勢と対応づけた方向などの所定の方向を、押付方向として設定する。また、力制御押付装置押付方向設定部33は、システム基準座標系における力制御押付装置51の移動機構部の位置および/または姿勢と対応づけた方向や、システム基準座標系における力制御押付装置51の移動機構部の位置および/または姿勢に基づく力制御押付装置51の移動機構部の移動方向と所定の角度を成す方向、システム基準座標系における力制御押付装置51の移動機構部の移動方向と対応づけた方向、などの所定の方向を、押付方向として設定する。また、力制御押付装置押付方向設定部33は、力制御押付装置51を移動させているときの、移動機構部の動作可能範囲における位置および/または姿勢が、所定の位置および/または姿勢の状況になったときには、押付方向を所定の方向に変えるように設定してもよい。また、力制御押付装置押付方向設定部33は、第1の物体や力制御押付装置51やロボット50の実際の位置および/または姿勢だけではなく、力制御押付装置51やロボット50や第1の物体の移動指令に基づいて、前述のような、前記移動指令に対応づけた方向や、前記移動指令に基づく移動方向と所定の関係によって与えられる方向などの所定の方向を、押付方向として設定してもよい。
前述の設定方法も含め、力制御押付装置押付方向設定部33は、力制御押付装置51が保持する第1の物体の位置および/または姿勢の状態、第1の物体の所定時間の移動位置および/または姿勢の状況、第1の物体の移動方向、力制御押付装置51の移動指令の状況、第1の物体の第2の物体に対する相対的な速度、第1の物体の第2の物体に対する位置および/または姿勢、力制御押付装置51の移動機構部の位置および/または姿勢、ロボット50の各軸の位置、ロボット50の先端部の位置および/または姿勢、ロボット50を移動させるロボット移動指令、ロボット50の移動方向、また、力制御押付装置51が保持する第1の物体に作用する力、ロボット50に作用する力、外部からの入力信号、作業者56による入力、などに応じた所定の方向や所定の関係を満たす方向を求め、押付方向として設定する。このようにして、力制御押付装置51の押付方向を、ロボットシステム11の状況に応じた方向や所定の関係を満たす方向としたり、ロボットシステム11の状況に応じて予め用意した方向に切替えたりすることができる。
力制御押付装置目標押付力設定部34は、力制御押付装置51が保持する第1の物体を第2の物体に対して押しつけるときに目標とする力である目標押付力を設定する。このとき、力制御押付装置目標押付力設定部34は、所定の値、または、第1の物体の位置、姿勢、もしくは位置および姿勢、または、力制御押付装置移動指令、または、力制御押付装置51の移動機構部の位置、姿勢、もしくは位置および姿勢、または、ロボット50の位置、姿勢、もしくは位置および姿勢、または、ロボット50を移動させるロボット移動指令の内、少なくとも1つに基づいて、力制御押付装置51の目標押付力を設定する。
力制御押付装置目標押付力設定部34は、所定の値を目標押付力として設定する。または、力制御押付装置目標押付力設定部34は、力制御押付装置51が保持する第1の物体の第2の物体に対する相対的な速度、第1の物体の第2の物体に対する位置および/または姿勢、力制御押付装置51が保持する第1の物体の位置および/または姿勢の状態、第1の物体の所定時間の移動位置および/または姿勢の状況、力制御押付装置51の移動指令の状況、力制御押付装置51の移動機構部の位置および/または姿勢、ロボット50の各軸の位置、ロボット50の先端部の位置および/または姿勢、ロボット50を移動させるロボット移動指令、力制御押付装置51が保持する第1の物体に作用する力、ロボット50に作用する力、外部からの入力信号、作業者56による入力、などに応じて、状況に応じた値としたり、状況に応じて所定の関係を満たすような値としたり、状況に応じて予め用意した値を切替えたりするなどによって定められる所定の値を、目標押付力として設定する。例えば、ワーク53の角やコーナー部分やそのような部分と推測される部分では目標押付力を大きくしたり、ワーク53の直線部分やそのような部分と推測される部分では目標押付力を小さくしたりしてもよい。または、所定の或る形状を有すると判断される部分においては、目標押付力を、予め定めた所定の値に設定するようにしてもよい。または、第1の物体と第2の物体との間に作用する力が目標押付力より小さい場合やそのような状態が継続する場合には、所定時間または押付力が所定の値で安定するまでは、目標押付力を大きく設定するようにしてもよい。
力制御押付装置力計測部35は、力制御押付装置51に作用する力を計測し、また、力制御押付装置51が保持する第1の物体と、力制御押付装置51が保持しない第2の物体との間に作用する力を計測する。力制御押付装置力計測部35がセンサを使用して力を計測する場合、センサは、歪ゲージ式や静電容量式、ピエゾ式、水晶の圧電効果を利用した方式、光学式、磁気式など、力を計測することができる方式であればどのような方式のセンサを用いてもよい。また、力を計測するのに使用するセンサは、力制御押付装置51と力制御押付装置51が保持する第1の物体との間、または、第1の物体における第1の物体と第2の物体を接触させる部分、または、力制御押付装置51を構成する機構部の部分など、任意の場所に設置してもよい。または、ロボット50やロボット50に取りつけられた物体以外の部分である、作業台57、または、ロボット50が保持しない物体である第2の物体に、力を計測するセンサを設置し、第1の物体と第2の物体との間に作用する力を計測するようにしてもよい。
また、力制御押付装置51を駆動するアクチュエータが電動モータなど電流によって駆動される場合、その電流値から力を推定し計測するようにしてもよい。また、力制御押付装置51を駆動するアクチュエータが空気や油などの流体を使用し流体圧によって駆動される場合、力制御押付装置51への移動指令値と実際の位置との差から、力を推定し計測するようにしてもよい。
また、第1の物体と第2の物体との間に作用する正味の力以外の、重力や慣性力などによる力が、力制御押付装置力計測部35によって計測される場合、必要に応じて、正味の力以外の力を補償しておくことが好ましい。
力制御押付装置力計測部35は、第1の物体と第2の物体との間に作用する力において、押付方向について力を計測することが可能であればよいが、押付方向以外の方向についても、第1の物体と第2の物体との間に作用する力を計測することができるようにしておくことが好ましい。押付方向以外の方向についても、第1の物体と第2の物体との間に作用する力を計測することができるようにしておくことによって、押付方向以外の方向における過負荷や接触といった状況を検出して対応したり、第1の物体の質量や重心を算出したり、第1の物体に作用する力をもとに座標系を設定したり、第1の物体と第2の物体の所定の面を合わせたり、力制御押付装置51に保持した物体を別の物体に嵌合させたりすることなどが可能となる。また、ロボット50の自動運転時に、第1の物体やロボット50の移動方向における力をもとに、バリ取りや研削、研磨などの場合、削り量などの加工量を推定し算出し、その算出した結果に基づく対応が可能となるなど、複数の機能を実現することが可能となる。
力制御押付装置移動指令算出部36は、力制御押付装置押付方向設定部33が設定する押付方向と、力制御押付装置目標押付力設定部34が設定する目標押付力と、力制御押付装置力計測部35が計測した力とに基づいて、力制御押付装置51の移動機構部の移動指令である力制御押付装置移動指令を算出する。力制御押付装置移動指令算出部36は、力制御押付装置押付方向設定部33が設定する押付方向に、力制御押付装置目標押付力設定部34が設定する目標押付力と、力制御押付装置力計測部35が計測した力との差の値に対して所定の係数をかけたり、所定の関係式に前記値を代入して出力を得たり、別の或る値で飽和させたり、値が滑らかになるように平滑処理をかけたりするなど、所定の演算処理を行うことによって、力制御押付装置力計測部35が計測した力に応じた力制御押付装置移動指令を算出する。前記所定の係数や所定の関係式、飽和させる値などは状況に応じて変化させてもよい。また、このとき算出された力制御押付装置移動指令に関し、ロボット50の移動速度、ロボット50の移動方向、ロボット50が移動しているか停止しているか、外部からの入力信号、作業者56による入力、力制御押付装置51およびロボット50における故障などの問題の発生、システム基準座標系における力制御押付装置51の移動方向、力制御押付装置51の移動機構部における移動方向、力制御押付装置力計測部35が計測する力、システム基準座標系における力制御押付装置51の移動機構部の位置および/または姿勢、力制御押付装置51の移動機構部の動作可能範囲における位置および/または姿勢、ロボット50の位置および/または姿勢、工具52とワーク53との間に作用する力の方向や大きさ、ロボット50が移動しているか停止しているか、など、ロボット50、力制御押付装置51、第1の物体の位置および/または姿勢などの状況によって、大きさを調整したり、停止させるようにしたり、衝突を検出した場合などは退避するような方向に移動させて停止するように指令を調整したり、することが好ましい。
ロボット移動方向良否判定部37は、力制御押付装置51の移動機構部の動作可能範囲における位置および/または姿勢に基づいて、ロボット50の移動方向の良否を判定する。または、ロボット移動方向良否判定部37は、力制御押付装置51の移動機構部の動作可能範囲における位置および/または姿勢および力制御押付装置51の押付方向、に基づいて、ロボット50の移動方向の良否を判定する。なお、ロボット50の移動方向とは、ロボット50の先端部、ロボット50に取りつけた力制御押付装置51、ロボット50に取りつけたまたはロボット50が保持する第1の物体など、工具52とワーク53の相対的な移動方向についてロボット50が関与する移動方向とする。
ロボット移動方向良否判定部37は、力制御押付装置51の移動機構部の動作可能範囲における位置および/または姿勢が、力制御押付装置51の移動機構部の動作可能範囲の中心に近いほどロボット50の移動方向が良いと良否判定し前記中心から離れるほど悪いと良否判定をする。また、ロボット移動方向良否判定部37は、力制御押付装置51の移動機構部の動作可能範囲における位置および/または姿勢が、力制御押付装置51の移動機構部の動作可能範囲の中心に近いほどよいスコアとなるように良否判定のスコアを算出し、前記中心から離れるほど悪いスコアとなるように良否判定のスコアを算出するようにしてもよい。
また、ロボット移動方向良否判定部37は、力制御押付装置51の移動機構部の動作可能範囲における位置および/または姿勢および力制御押付装置51の押付方向を考慮し、力制御押付装置51の移動機構部の動作可能範囲の中心点から押付方向と逆方向に離れるほど、押付方向と逆方向に移動できる距離を狭めているため、悪いスコアとなるようにスコアを算出すると共に悪いと良否判定し、力制御押付装置51の移動機構部の動作可能範囲の中心点から押付方向に離れる場合には、押付方向と逆方向に移動できる距離を広げているため、よいスコアとなるようにスコアを算出すると共によいと良否判定するようにしてもよい。
また、ロボット移動方向良否判定部37は、作業者56によって与えられるロボット操作入力に基づくロボット50の移動操作方向にロボット50を移動させるとき、力制御押付装置51の移動機構部の動作可能範囲における位置および/または姿勢と、ロボット50の移動方向と、力制御押付装置51の押付方向とから、力制御押付装置51の移動機構部の動作可能範囲における位置および/または姿勢が、動作可能範囲の限界から所定の範囲内に近づくまたは到達することによって、力制御押付装置51に過負荷がかかったり、ロボット50に過負荷がかかったり、第1の物体と第2の物体との間に過負荷がかかったりする状況になりやすい、と判定される場合、ロボット50の移動方向は不適切であり、良でないと良否判定し、それ以外の場合は良であると良否判定したり、その良である状態の適切さの度合いに応じたスコアを算出したりしてもよい。
また、ロボット移動方向良否判定部37は、次のように良否の判定と良否のスコアを算出してもよい。ここでは、力制御押付装置51の移動機構部が直交する2軸によって構成され2自由度を持ち、移動機構部の各軸方向の可動範囲が同じ長さであり、その動作可能範囲が円である場合を考える。図7は、力制御押付装置51の駆動軸が直交する2軸であり、動作可能な範囲が円である場合に、動作可能な範囲と、力制御押付装置51の動作可能範囲の中心点を含む平面を、上から見た図である。なお、ここでは、ロボット50の先端部に力制御押付装置51が取りつけられているとき、ロボット50の移動操作方向にロボット50を移動させることにより、力制御押付装置51はロボット50の移動操作方向に移動するものとする。このとき、図7に示されるように、力制御押付装置51の動作可能範囲において、力制御押付装置51の動作可能範囲の中心点から所定の範囲を動作範囲1とし、動作範囲1より大きい動作可能範囲の中心点から所定の範囲における動作範囲1を含まない範囲を動作範囲2とし、動作範囲2より大きい動作可能範囲の中心点から所定の範囲における動作範囲1、動作範囲2を含まない範囲を動作範囲3とする。
図8は、力制御押付装置51の移動機構部が直交する2軸によって構成され、動作可能な範囲が円である場合に、動作可能な範囲と、力制御押付装置51の動作可能範囲の中心点を含む平面を、上から見た図である。なお、ここでは、ロボット50の先端部に力制御押付装置51が取りつけられているとき、ロボット50の移動操作方向にロボット50を移動させることにより、力制御押付装置51はロボット50の移動操作方向に移動するものとする。力制御押付装置51が保持する第1の物体が、第2の物体など別の物体と接触している場合、図8に示されるように、ロボット50の移動操作と、力制御押付装置51の移動機構部の押付方向への移動によって、力制御押付装置51の動作可能範囲の中心点と押付方向のベクトルが存在する直線上において、力制御押付装置51の移動機構部における位置は、力制御押付装置51の動作可能範囲の中心点に対して、ロボット50の移動操作方向のベクトルの押付方向の成分のベクトル(ロボット50の移動操作方向の、押付方向のベクトルへの射影成分)と逆方向のベクトルの方向に移動することになる。このとき、力制御押付装置51の動作可能範囲の中心点と押付方向のベクトルが存在する直線上において、ロボット50の移動操作による移動量と、力制御押付装置51の押付方向への移動量に基づいて、どの移動方向にどの程度の移動量だけ移動させるかを算出し、その移動方向と移動量と、力制御押付装置51の移動機構部における位置とから、ロボット50の移動方向の良否や、ロボット50の移動方向の良否の度合いをスコアとして算出してもよい。
また、ロボット移動方向良否判定部37は、次のように良否の判定と良否のスコアを算出してもよい。以下の説明では、力制御押付装置51の移動機構部における位置は、図7に示す、動作範囲1、動作範囲2、動作範囲3のいずれかに存在する場合を考える。また、力制御押付装置51が保持する第1の物体が、第2の物体など別の物体と接触している場合を考える。なお、押付方向は、力制御押付装置51の動作可能範囲の中心点と、力制御押付装置51の移動機構部における位置とを結んだ直線上に存在するものとする。
図7に示すように、力制御押付装置51の移動機構部における位置が動作範囲1に存在するときはロボット50の移動方向や移動量によらず良とする判定や、良いスコアとする。また、図7に示すように、力制御押付装置51の移動機構部における位置が動作範囲2に存在するときであって、ロボット50の移動操作方向のベクトルの押付方向の成分のベクトルの向きが、力制御押付装置51の動作可能範囲の中心点の存在する方向であるときは、第2の物体への押しつけによって力制御押付装置51の移動機構部における位置が押付方向と逆方向に移動して動作可能範囲の中心点から離れるため、良でないと良否判定し、さらにロボット50の移動操作方向のベクトルの押付方向の成分の大きさに応じて悪いスコアとしてもよい。逆に、力制御押付装置51の移動機構部における位置が動作範囲2に存在するときであって、ロボット50の移動操作方向のベクトルの押付方向の成分のベクトルの向きが、力制御押付装置51の動作可能範囲の中心点の存在する方向と逆方向であるときは、第2の物体への押しつけによって力制御押付装置51の移動機構部における位置が押付方向と逆方向に移動して動作可能範囲の中心点に近づくため、良と良否判定し、さらにロボット50の移動操作方向のベクトルの大きさに応じてよいスコアとしてもよい。
また、図7に示すように、力制御押付装置51の移動機構部における位置が動作範囲3に存在するときであって、ロボット50の移動操作方向のベクトルの押付方向の成分のベクトルの向きが、力制御押付装置51の動作可能範囲の中心点の存在する方向であるときは、第2の物体への押しつけによって力制御押付装置51の移動機構部における位置が押付方向と逆方向に移動して動作可能範囲の中心点から離れるため、良でないと良否判定し、最も悪いスコアとしてもよい。逆に、力制御押付装置51の移動機構部における位置が動作範囲3に存在するときであって、ロボット50の移動操作方向のベクトルの押付方向の成分のベクトルの向きが、力制御押付装置51の動作可能範囲の中心点の存在する方向と逆方向であるときは、第2の物体への押しつけによって力制御押付装置51の移動機構部における位置が押付方向と逆方向に移動して動作可能範囲の中心点に近づくため、良と良否判定し、さらにロボット50の移動操作方向のベクトルの大きさに応じてよいスコアとしてもよい。
また、ロボット移動方向良否判定部37の良否の判定と良否のスコアの算出の別の例を述べる。ここで、力制御押付装置51の移動機構部における位置は、図7に示すように、動作範囲2における図示した位置にあり、力制御押付装置51の移動機構部における位置から、力制御押付装置51の動作可能範囲の中心点に向かう方向に、押付方向が向いているとする。また、力制御押付装置51が保持する第1の物体が、第2の物体など別の物体と接触している場合を考える。
力制御押付装置51の移動機構部における位置が動作範囲2における図7に示す位置にあるとき、ロボット50の移動操作方向1については、その方向に移動させることによって、第2の物体への押しつけにより、力制御押付装置51の移動機構部における位置が力制御押付装置51の動作可能範囲の中心から離れるので、ロボット50の移動方向の良否判定は、良でないとし、また、スコアを悪くする。また、力制御押付装置51の移動機構部における位置が動作範囲2における図7に示す位置にあるとき、ロボット50の移動操作方向2は、その方向に移動させることによって、第2の物体への押しつけにより、力制御押付装置51の移動機構部における位置が力制御押付装置51の動作可能範囲の中心から離れるので、ロボット50の移動方向の良否判定は、良でなく、また、力制御押付装置51の移動機構部における位置が力制御押付装置51の動作可能範囲の中心から離れる移動量はロボット50の移動操作方向1の場合よりも小さいので、移動操作方向1の場合よりはスコアをよくするようにしてもよい。
また、力制御押付装置51の移動機構部における位置が動作範囲2における図7に示す位置にあるとき、ロボット50の移動操作方向3は、その方向に移動させることによって、第2の物体への押しつけにより、力制御押付装置51の移動機構部における位置が力制御押付装置51の動作可能範囲の中心に近づくので、ロボット50の移動方向の良否判定は、良として、また、ロボット50の移動操作方向2よりもスコアをよくする。また、力制御押付装置51の移動機構部における位置が動作範囲2における図7に示す位置にあるとき、ロボット50の移動操作方向4は、その方向に移動させることによって、第2の物体への押しつけにより、力制御押付装置51の移動機構部における位置が力制御押付装置51の動作可能範囲の中心に近づくので、ロボット50の移動方向の良否判定は、良として、また、力制御押付装置51の移動機構部における位置が力制御押付装置51の動作可能範囲の中心に近づく移動量はロボット50の移動操作方向1の場合よりも大きいので、ロボット50の移動操作方向3の場合よりはスコアをよくする。なお、力制御押付装置51の移動機構部における位置が力制御押付装置51の動作可能範囲の中心に近づく場合であっても、移動量が大きい場合は、大きさに応じて、良でないと判定したり、スコアを悪くしたりするようにしてもよい。
また、ロボット移動方向良否判定部37は、力制御押付装置51の移動機構部における位置から、力制御押付装置51の動作可能範囲の限界部分までの最短距離が大きいほどよいスコアとするように算出し、そのスコアが大きいほど、現在のロボット50の移動方向は良と判定するようにしてもよい。
以上のように、ロボット移動方向良否判定部37が、ロボット50の移動操作の方向の良否を判定し、良否のスコアを算出してロボット50の移動方向の良否の判定結果を出し、その情報をもとに、ロボット50の移動指令を調整したり、停止させたり、作業者に知らせたりすることによって、より安全かつより簡易に、第1の物体と第2の物体とを適切に接触させて相対的に移動させることが可能となる。
ロボット移動方向良否判定結果出力指令部38は、ロボット移動方向良否判定部37の判定結果に応じて、文字、数値、色、絵、記号、図形、模様を表示出力する指令を出す、または、前記文字、数値、色、絵、記号、図形、模様の表示周期を変更して表示出力する指令を出す、または、音を出力する指令を出す、または、振動を提示出力する指令を出す、または、ロボット移動指令算出部32がロボット50の移動指令の大きさを小さくしたり0にしたりすることによってロボット移動方向良否判定部37の判定結果を出力するようにロボット移動指令算出部32に対してロボット50の移動指令の調整をする指令を出す。
ロボット移動方向良否判定結果出力指令部38の詳細な実施形態について次に述べる。ロボット移動方向良否判定結果出力指令部38は、ロボット移動方向良否判定部37の判定結果に応じて、ロボット50の移動操作の方向の良否や、良否のスコアに応じた数値を表示出力する指令を出す。または、ロボット移動方向良否判定結果出力指令部38は、ロボット移動方向良否判定部37の判定結果に応じて、ロボット50の移動操作の方向の良否や、良否のスコアに基づき、色を表示したり、表示している文字や数値、絵、記号、図形、模様などの色を変えて表示したりする表示出力をする指令を出す。または、ロボット移動方向良否判定結果出力指令部38は、ロボット移動方向良否判定部37の判定結果に応じて、ロボット50の移動操作の方向の良否や、良否のスコアに基づき、文字や絵、記号、図形、模様を表示したり、表示を変更したり表示出力をする指令を出す。例えば、画面の一部分に表示している、アイコンの表示を変えるようにしてもよい。
または、ロボット移動方向良否判定結果出力指令部38は、ロボット移動方向良否判定部37の判定結果に応じて、ロボット50の移動操作の方向の良否や、良否のスコアに基づき、文字、数値、色、絵、記号、図形、模様の表示周期を変更して、表示出力をする指令を出す。または、ロボット移動方向良否判定結果出力指令部38は、ロボット移動方向良否判定部37の判定結果に応じて、ロボット50の移動操作の方向の良否や、良否のスコアに基づき、音を出力する指令を出す。音は、音の高さや長さ、大きさを変えたり、メッセージや言葉である音声を変えたり、ブザー音、効果音、メロディであったり、作業者56が違いを認識できるような音であれば、任意の音であってもよい。
または、ロボット移動方向良否判定結果出力指令部38は、ロボット移動方向良否判定部37の判定結果に応じて、ロボット50の移動操作の方向の良否や、良否のスコアに基づき、振動を提示出力する指令を出す。例えば、ロボット移動方向良否判定結果出力指令部38は、ロボット50の移動操作の方向が不適切であるほど、大きな振動または周期の短い振動などを作業者56に提示するように、提示出力の指令を出す。
または、ロボット移動方向良否判定結果出力指令部38は、ロボット移動方向良否判定部37の判定結果に応じて、ロボット50の移動操作の方向の良否や、良否のスコアに基づき、ロボット50の移動操作の方向が不適切である場合、ロボット移動指令算出部32がロボット50の移動操作を停止させたり、移動速度を小さくさせたりするなど調整するように指令を出す。例えば、図7を参照して説明したように、ロボット50の移動操作の方向の良否のスコアを、移動操作方向1より移動操作方向2、移動操作方向2より移動操作方向3、移動操作方向3より移動操作方向4、がよくなるように算出してロボット50の移動操作の方向の良否を判定した場合、ロボット50の移動操作の方向の良否のスコアに基づき、スコアがよいほどロボット50の移動操作の移動速度を大きくするようにし、移動操作方向1より移動操作方向2、移動操作方向2より移動操作方向3、移動操作方向3より移動操作方向4、の方が同じ移動操作に対するロボット50の移動操作の移動量が大きくなるようにする。また、例えば、ロボット50の移動操作がダイレクトティーチのときであって、ダイレクトティーチによる移動操作のロボット操作入力をロボット操作入力計測部31が計測する場合、ロボット50の移動操作の方向の良否判定の結果に応じて、ダイレクトティーチの柔らかさを変える。つまり、ロボット50の移動操作によって、力制御押付装置51の移動機構部が、力制御押付装置51の動作可能範囲の限界に近づいたり、力制御押付装置51の移動機構部の中心から離れたりするなどしてロボット50の移動操作の方向が悪く、ロボット50の移動操作方向の良否のスコアが悪い場合には、ダイレクトティーチによる移動操作の操作感を硬くしたり、移動できないようにしたりする。
ロボットシステム11は、文字、数値、色、絵、記号、図形、模様などの映像を表示する映像出力装置や表示灯装置、音を出力する音出力装置や、振動を提示出力する振動出力装置、触覚や匂い、風などを作業者56に提示する感覚提示装置などを備えるようにしてもよい。また、前述の映像出力装置、表示灯装置、音出力装置、振動出力装置、感覚提示装置などの装置は、ロボット50の設定、操作教示のための教示装置や、力制御押付装置51の設定や操作のための教示装置がある場合は、そのような教示装置に組み込んだり、取りつけたりしてもよい。また、図1、図3、図4に示されるロボット誘導装置55や、図5に示されるようなロボット誘導装置55aを使用して、ロボット50を移動操作するためのロボット操作入力を与え、そのロボット操作入力をロボット操作入力計測部31で計測する場合は、ロボット誘導装置55やロボット誘導装置55aに対して、前述の感覚提示装置などを設置してもよい。
作業者56に対して、ロボット50の移動方向が適切であるか否かや、その適切さの度合いを認識させるように、ロボット移動方向良否判定部37の判定結果に応じて、ロボット移動方向良否判定結果出力指令部38は、前述の文字、数値、色、絵、記号、図形、模様などの映像を表示する映像出力装置や表示灯装置、音を出力する音出力装置、振動を提示出力する振動出力装置、触覚や匂い、風などを作業者56に提示する感覚提示装置などに対する出力の指令を変えたり、それらの出力の提示の周期を変更したり、ロボット50や力制御押付装置51の設定や操作のための教示装置がある場合、その出力の提示周期を変更したりする。
ロボット移動許可方向設定部39は、ロボット50の移動操作においてロボット50の移動を許可する方向であるロボット移動許可方向を設定する。ロボット移動許可方向設定部39によって、ロボット移動許可方向が設定されたとき、ロボット移動指令算出部32はロボット操作入力計測部31が計測したロボット操作入力とロボット移動許可方向に基づいてロボット移動指令を算出する。
ロボット移動許可方向設定部39によるロボット移動許可方向の設定では、ロボット50の教示装置、力制御押付装置51の設定や操作のための教示装置、ロボット50を移動操作するための装置に取りつけた入力装置、ロボット誘導装置55やロボット誘導装置55aに取りつけた入力装置、外部信号を入力する入力装置などの教示装置や入力装置から設定したり、切替えたりすることができるようにしておくことが好ましい。
ロボット50の移動を許可する方向は例えば、ロボット50を移動操作するときの座標系上の1乃至複数の、或る軸や或る軸回りの方向として指定される。ロボット50を移動操作するときの座標系は、システム基準座標系としたり、空間に対して固定した座標系としたり、ロボット50の先端部やロボット50の先端部に取りつけた物体に対して設定した座標系であるツール座標系としたり、ワーク53や作業台57などロボット50と離れた周辺の部分に設定した座標系としたりする。
作業者56がロボット50を移動操作し、ロボット移動許可方向設定部39によって設定したロボット移動許可方向以外の方向について、ロボット操作入力計測部31がロボット操作入力を計測するとき、前記ロボット移動許可方向以外の方向へのロボット操作入力の大きさ、符号、向きなどを、ロボット50に備えた他の機能への入力とするようにしてもよい。例えば、前記ロボット移動許可方向以外の方向へのロボット操作入力の大きさ、符号、向きなどに基づいて、ロボット移動指令算出部32において、ロボット50の移動量を調整し、ロボット50の加減速の調整、移動動作の開始、移動動作の停止などをおこなう。また、前記ロボット移動許可方向以外の方向へのロボット操作入力の大きさ、符号、向きなどに基づいて、力制御押付装置押付方向設定部33において、力制御押付装置51の押付方向の変更や切り替えをおこなう。また、前記ロボット移動許可方向以外の方向へのロボット操作入力の大きさ、符号、向きなどに基づいて、力制御押付装置目標押付力設定部34において、力制御押付装置51の目標押付力の大きさを変更する。また、前記ロボット移動許可方向以外の方向へのロボット操作入力の大きさ、符号、向きなどに基づいて、力制御押付装置移動指令算出部36において、力制御押付装置51の機構部の移動指令を調整し、力制御押付装置51の移動機構部の加減速の大きさの調整をおこなう。また、前記ロボット移動許可方向以外の方向へのロボット操作入力の大きさ、符号、向きなどに基づいて、力制御押付装置移動指令算出部36において、位置制御モードと力制御モードとの切り替えをおこなう。また、前記ロボット移動許可方向以外の方向へのロボット操作入力の大きさ、符号、向きなどに基づいて、ロボット移動方向良否判定結果出力指令部38において、ロボット移動方向良否判定部37の判定結果に応じて出力する指令の設定を変えたり、出力する指令の種類や指令の出力先を切替えたりする。
また、後述のロボット動作プログラム生成部40において、前記ロボット移動許可方向以外の方向へのロボット操作入力の大きさ、符号、向きなどに基づいて、ロボット50の動作プログラムを生成するときに使用する第1の物体の位置および/または姿勢を取得したり、ロボット50の動作プログラムを生成するときに使用するロボット50の位置および/または姿勢を取得したり、ロボットの50の動作プログラムを生成するときの各種設定を変更したりする。また、後述の押付状態良否判定部41において、前記ロボット移動許可方向以外の方向へのロボット操作入力の大きさ、符号、向きなどに基づいて、第1の物体と第2の物体との接触状態の良否判定における、判定方法や判定の際に使用する閾値などの設定を変更する。また、後述の押付状態良否判定結果出力指令部42において、押付状態良否判定部41の判定結果に応じて出力する指令の設定を変えたり、出力する指令の種類や指令の出力先を切替えたりする。
ロボット動作プログラム生成部40は、ロボット50の動作プログラムを生成する。このとき、ロボット動作プログラム生成部40は、システム基準座標系上またはロボット50に設定された座標系上またはロボット50の位置および/または姿勢を表すことができる座標系上の、第1の物体の位置および/または姿勢、または、ロボット50の先端部の位置および/または姿勢、または、力制御押付装置51の位置および/または姿勢、を所定の制御周期や、所定の条件が成立したときに取得して、前記取得された位置および/または姿勢に基づいて、ロボット50を移動させる動作プログラムを生成することが好ましい。
前記所定の条件とは、力制御押付装置51の移動機構部や、第1の物体、ロボット50が所定の状態になっている条件とする。前記所定の状態とは、第1の物体と第2の物体との間に作用する力が所定の値以上または所定の範囲内などとなっていて第1の物体と第2の物体とが適切に接触している状態、力制御押付装置51や第1の物体に作用する力が所定の値以上または所定の範囲内などとなっていて適切な状態、力制御押付装置51の移動機構部の動作可能範囲における位置および/または姿勢が所定の範囲内などとなっていて適切である状態、作業者56によって移動操作されるロボット50の位置および/または姿勢が所定の範囲内などとなっていて適切な位置および/または姿勢となっている状態、ロボット操作入力が適切な状態、ロボット50の移動方向が適切な状態、などである。
また、前記所定の条件が成立したときとして、作業者56によるロボット操作入力による入力があった場合や、作業者56によって入力装置などから入力があった場合としてもよい。
このように、ロボットシステム11は、ロボット動作プログラム生成部40によって、工具52とワーク53とが所定の状態のときのロボット50の先端部の位置および/または姿勢、または、第1の物体の位置および/または姿勢、または、力制御押付装置51の位置および/または姿勢に基づいて、ロボット50の動作プログラムを生成する。
また、ロボット動作プログラム生成部40は、工具52とワーク53とが接触しているときのシステム基準座標系上の第1の物体の位置および/または姿勢に基づいて、その位置および/または姿勢が力制御押付装置51の移動機構部の動作可能範囲の中心となるように、ロボット50の動作プログラムを生成することが好ましい。これによって、ロボット50を移動させるときに、工具52とワーク53とを接触させた状態または接触させた状態に近い状態で、工具52とワーク53とを相対的に移動させることが可能となる。また、このように生成されたロボット50の動作プログラムを用いてロボット50を移動させることによって、作業者56によって移動操作しない、ロボット50の自動運転による移動時に、ロボット50を移動させる共に力制御押付装置51によって第1の物体と第2の物体との間に適切な力が作用するように第1の物体を移動させるとき、力制御押付装置51の移動機構部の移動量をより小さくした状態にすることができ、工具52とワーク53とをより適切に接触させることが可能となる。
また、ロボット動作プログラム生成部40は、第1の物体と第2の物体との相対的な位置および/または姿勢のずれの傾向が既知であるときには、力制御押付装置51の移動機構部の動作可能範囲の中心から所定方向に所定量だけずらした、力制御押付装置51の動作可能範囲において基準とする位置および/または姿勢に、第1の物体の位置および/または姿勢がくるようにして、力制御押付装置51の基準とする位置および/または姿勢から第1の物体と第2の物体とが接触するまでの範囲を広くとれるように、ロボット50の動作プログラムを生成してもよい。これによって、力制御押付装置51の動作可能範囲における対応可能なずれ、つまり、力制御押付装置51の動作可能範囲における基準の位置および/または姿勢に対して、第1の物体と第2の物体が接触した状態となるまでの位置および/または姿勢の対応可能なずれ、をなるべく大きくすることができるようになり、ロボット50の移動動作時に力制御押付装置51の動作可能範囲における基準の位置および/または姿勢から、第2の物体が大きく離れる状況であったとしても、工具52とワーク53とをより適切に接触させることが可能となる。
生成されたロボット50の動作プログラムは、ロボット50を制御する制御装置などに存在する記憶部または外部記憶装置などに格納する。また、生成された動作プログラムは、ロボットおよび力制御押付装置の制御装置54が接続された外部の制御装置や外部の記憶装置にネットワークを介して転送されて格納されるようにしてもよい。
押付状態良否判定部41は、力制御押付装置51が保持する第1の物体と第2の物体との押しつけの状態である押付状態、換言すれば第1の物体を第2の物体に対して押付方向に移動させたときの第1の物体と第2の物体との接触状態、の良否を判定する。押付状態良否判定部41は、押付方向における第1の物体と第2の物体との間に作用する力について、第1の物体と第2の物体との間に作用する力が所定の目標押付力から所定の範囲内となっているか、第1の物体と第2の物体との間に作用する力の所定の目標押付力に対する割合が所定の範囲となっているか、第1の物体と第2の物体との間に作用する力が所定の目標押付力より大きいか、第1の物体と第2の物体との間に作用する力が所定の閾値より大きいか、第1の物体と第2の物体との間に作用する力が所定時間について所定閾値より下回ることはないか、第1の物体と第2の物体との間に作用する力の変化が所定の範囲内であるか、などによって、第1の物体と第2の物体との間に作用する力に基づいて、第1の物体と第2の物体との押付状態が適切な状態となっているかの押付状態の良否を判定し、その良否の度合いをスコアとして算出するようにしてもよい。
または、押付状態良否判定部41は、押付方向以外も含めた第1の物体と第2の物体との間に作用する力について、第1の物体と第2の物体との間に作用する力が所定の目標押付力から所定の範囲内となっているか、第1の物体と第2の物体との間に作用する力の所定の目標押付力に対する割合が所定の範囲となっているか、第1の物体と第2の物体との間に作用する力が所定の目標押付力より大きいか、第1の物体と第2の物体との間に作用する力が所定の閾値より大きいか、第1の物体と第2の物体との間に作用する力が所定時間について所定閾値より下回ることはないか、第1の物体と第2の物体との間に作用する力の変化が所定の範囲内であるか、などによって、第1の物体と第2の物体との間に作用する力に基づいて、ロボット50および力制御押付装置51によって第1の物体を第2の物体に押しつけるときの接触の状態である押付状態が適切な状態となっているかの押付状態の良否を判定し、その良否の度合いをスコアとして算出するようにしてもよい。
押付状態良否判定結果出力指令部42は、押付状態良否判定部41の判定結果に応じて、文字、数値、色、絵、記号、図形、模様を表示出力する指令を出す、または、前記文字、数値、色、絵、記号、図形、模様の表示周期を変更して表示出力する指令を出す、または、音を出力する指令を出す、または、振動を提示出力する指令を出す、または、ロボット移動指令算出部32がロボット50の移動指令の大きさを小さくしたり0にしたりすることによって押付状態良否判定部41の判定結果を出力するようにロボット移動指令算出部32に対してロボット50の移動指令の調整をする指令を出す。
押付状態良否判定結果出力指令部42は、押付方向における第1の物体と第2の物体との接触の状態を含む押付状態、または、押付方向以外も含む第1の物体と第2の物体との接触の状態を含む押付状態、についての、押付状態良否判定部41の判定結果に応じて、第1の物体と第2の物体との押付状態の良否や、良否のスコアに応じた数値を表示出力する指令を出す。または、押付状態良否判定結果出力指令部42は、押付状態良否判定部41の判定結果に応じて、第1の物体と第2の物体との押付状態の良否や、良否のスコアに基づき、色を表示したり、表示している文字や数値、絵、記号、図形、模様などの色を変えて表示したりする表示出力をする指令を出す。または、押付状態良否判定結果出力指令部42は、押付状態良否判定部41の判定結果に応じて、第1の物体と第2の物体との押付状態の良否や、良否のスコアに基づき、文字や絵、記号、図形、模様を表示したり、表示を変更したり表示出力をする指令を出す。例えば、画面の一部分に表示している、アイコンの表示を変えるようにしてもよい。または、押付状態良否判定結果出力指令部42は、押付状態良否判定部41の判定結果に応じて、第1の物体と第2の物体との押付状態の良否や、良否のスコアに基づき、文字、数値、色、絵、記号、図形、模様の表示周期を変更して、表示出力をする指令を出す。または、押付状態良否判定結果出力指令部42は、押付状態良否判定部41の判定結果に応じて、第1の物体と第2の物体との押付状態の良否や、良否のスコアに基づき、音を出力する指令を出す。音は、音の高さや長さ、大きさを変えたり、メッセージや言葉である音声を変えたり、ブザー音、効果音、メロディであったり、作業者56が違いを認識できるような音であれば、任意の音であってもよい。または、押付状態良否判定結果出力指令部42は、押付状態良否判定部41の判定結果に応じて、第1の物体と第2の物体との押付状態の良否や、良否のスコアに基づき、振動を提示出力する指令を出す。例えば、第1の物体と第2の物体との押付状態が不適切であるほど、大きな振動または周期の短い振動などを作業者56に提示するように、提示出力の指令を出す。または、押付状態良否判定結果出力指令部42は、押付状態良否判定部41の判定結果に応じて、第1の物体と第2の物体との押付状態の良否や、良否のスコアに基づき、第1の物体と第2の物体との押付状態が不適切で、離れていたり、過負荷がかかっていたりする場合、ロボット移動指令算出部32がロボット50の移動操作を停止させたり、減速させたりするなど調整するように指令を出す。
前述のように、ロボットシステム11は、文字、数値、色、絵、記号、図形、模様などの映像を表示する映像出力装置や表示灯装置、音を出力する音出力装置や、振動を提示出力する振動出力装置、触覚や匂い、風などを作業者56に提示する感覚提示装置などを備えるようにしてもよい。
押付状態良否判定結果出力指令部42は、作業者56に対して、第1の物体と第2の物体との押付状態が適切であるか否かや、その適切さの度合いを認識させるように、押付状態良否判定部41の判定結果に応じて、前述の文字、数値、色、絵、記号、図形、模様などの映像を表示する映像出力装置や表示灯装置、音を出力する音出力装置、振動を提示出力する振動出力装置、触覚や匂い、風などを作業者56に提示する感覚提示装置などに対する出力の指令を変えたり、それらの出力の提示の周期を変更したり、ロボット50や力制御押付装置51の設定や操作のための教示装置がある場合、その出力の提示周期を変更したりする。
本開示の1番目の実施形態に係る、力制御押付装置押付方向設定部33は、ロボットシステム11において、力制御押付装置51によって保持される工具52とワーク53の一方を第1の物体とすると、第1の物体の位置、姿勢、もしくは位置および姿勢、または、第1の物体を移動させる力制御押付装置移動指令、または、力制御押付装置51の移動機構部の位置、姿勢、もしくは位置および姿勢、または、ロボット50の位置、姿勢、もしくは位置および姿勢、または、ロボット50を移動させるロボット移動指令の内、少なくとも1つに基づいて、力制御押付装置51の押付方向を設定する。
このように、第1の物体の位置および/または姿勢、力制御押付装置51の位置および/または姿勢、ロボット50の位置および/または姿勢、第1の物体を移動させる力制御押付装置51の移動指令、ロボット50の移動指令の状態を考慮して、力制御押付装置51の押付方向を設定することによって、ロボット50の移動操作時に、ロボットシステム11の状況に応じて力制御押付装置51の押付方向を適切な方向に設定できるので、作業者56は、より簡易なロボット50の移動操作で、第1の物体と第2の物体を離すことなく適切に接触させた状態で相対的に移動させることが可能となる。
次いで、作業者56がロボット50を移動操作し、ロボット50を移動させるとき、ロボット50の先端部に設置された力制御押付装置51によって、工具52およびワーク53との間に作用する力を制御し、工具52およびワーク53を相対的に移動させるときの、本開示の実施形態に係るロボットシステム11による処理の過程の一例を図9に示すフローチャートを参照して説明する。なお、図9に示すフローチャートの順に処理が実行されなくてもよく、ここで説明される一連の処理は、一例であって、本発明がこの具体例に限定されるわけではないことに留意されたい。
はじめに作業者56がロボット50の移動操作をおこなうため、ロボット50を移動操作するためのロボット操作入力を与える。ロボット操作入力計測部31は、作業者56によって与えられる、ロボット50を移動操作するためのロボット操作入力を計測する(ステップS1)。次いで、ロボット移動指令算出部32は、ロボット操作入力計測部31が計測したロボット操作入力に基づいて、ロボット50の移動指令であるロボット移動指令を算出する(ステップS2)。次いで、力制御押付装置押付方向設定部33は、力制御押付装置51の押付方向を設定する(ステップS3)。次いで、力制御押付装置目標押付力設定部34は、力制御押付装置51の目標押付力を設定する(ステップS4)。次いで、力制御押付装置力計測部35は、力制御押付装置51が保持する第1の物体と第2の物体(工具とワーク)との間に作用する力を計測する(ステップS5)。次いで、力制御押付装置移動指令算出部36は、力制御押付装置押付方向設定部33が設定する押付方向と、力制御押付装置目標押付力設定部34が設定する目標押付力と、力制御押付装置力計測部35が計測した力とに基づいて、力制御押付装置51の移動機構部の移動指令である力制御押付装置移動指令を算出する(ステップS6)。ロボットシステム11のロボット50はこのように算出されたロボット移動指令によって移動し、力制御押付装置51はこのように算出された力制御押付装置移動指令によって移動する。
例えば、ロボット50の移動操作がダイレクトティーチであって、ダイレクトティーチによる移動操作のロボット操作入力をロボット操作入力計測部31が計測する場合は、ダイレクトティーチによるロボット50の移動操作に応じた第1の物体、力制御押付装置51、ロボット50などの移動状況に応じて、力制御押付装置51の押付方向を設定することができる。
このように、本開示の第一実施形態に係るロボットシステム11では、第1の物体や力制御押付装置51やロボット50などのロボットシステム11の状況に応じて、力制御押付装置51の押付方向を設定するので、工具52とワーク53とをより確実に適切な状態で接触させることができる。また、作業者56は、ロボット50の移動操作の技量によらず、ラフな移動操作でもよく、より簡易なロボット50の移動操作によって、工具52とワーク53とを適切な状態で接触させることができる。
本開示の2番目の実施形態においては、ロボットシステム11の構成および作用の内、第1番目の実施形態におけるロボットシステム11について説明された実施形態と重複するものについては説明を省略する。また、他の実施形態において説明した実施形態と同様のものについては説明を省略する。
本開示の2番目の実施形態に係るロボットシステム11は、第1番目のロボットシステム11において、ロボット移動指令算出部32は、力制御押付装置51の移動機構部の動作可能範囲における位置、姿勢、もしくは位置および姿勢、または、力制御押付装置押付方向設定部33が設定する押付方向、または、力制御押付装置力計測部35が計測した力の内、少なくとも1つに基づいて、ロボット移動指令の移動量を調整する、または、ロボット50を移動させないようにする。
ロボット移動指令算出部32は、力制御押付装置51の移動機構部の動作可能範囲における位置および/または姿勢に基づいて、つまり、力制御押付装置51の移動機構部の第1の物体を保持する部分の力制御押付装置51に対する位置および/または姿勢に基づいて、前記位置および/または姿勢が力制御押付装置51の移動機構部の動作可能範囲の限界に近いときほどロボット移動指令の移動量を小さくしたり、前記位置および/または姿勢が力制御押付装置51の移動機構部の動作可能範囲の限界の所定閾値以内に存在するときにはロボット50を移動させないようにしたりする。
また、力制御押付装置51の押付方向を考慮して、力制御押付装置51の移動機構部の動作可能範囲における位置および/または姿勢が、力制御押付装置51の押付方向の動作可能範囲の限界に近づく場合には、ロボット移動指令の移動量を小さくしたり、ロボット50を移動させないようにしたり、ロボット50の移動方向を押付方向の成分が加算されるように移動方向を修正したりする。また、力制御押付装置51の移動機構部の動作可能範囲における位置および/または姿勢が、力制御押付装置51の押付方向の動作可能範囲の限界に近づく場合には、力制御押付装置51の押付方向と逆方向の成分を含む方向については、ロボット移動指令の移動量を小さくしたり、ロボット50を移動させないようにしたりしてもよい。
また、力制御押付装置51の押付方向を考慮して、力制御押付装置51の移動機構部の動作可能範囲における位置および/または姿勢が、力制御押付装置51の押付方向と逆方向の動作可能範囲の限界に近づく場合には、ロボット移動指令の移動量を小さくしたり、ロボット50を移動させないようにしたり、ロボット50の移動方向を押付方向とは逆方向の成分が加算されるように移動方向を修正するようにしたりしてもよい。また、力制御押付装置51の移動機構部の動作可能範囲における位置および/または姿勢が、力制御押付装置51の押付方向と逆方向の動作可能範囲の限界に近づく場合には、力制御押付装置51の押付方向の成分を含む方向については、ロボット移動指令の移動量を小さくしたり、ロボット50を移動させないようにしたりしてもよい。
また、力制御押付装置力計測部35が計測した力に基づいて、第1の物体と第2の物体との間に作用する力が所定閾値より小さい場合、または、第1の物体と第2の物体との間に作用する押付方向の力が所定閾値より小さい場合では、ロボット移動指令の移動量を小さくしたり、ロボット50を移動させないようにしたり、ロボット50の移動方向を押付方向の成分が加算されるように移動方向を修正したりする。また、力制御押付装置力計測部35が計測した力に基づいて、第1の物体と第2の物体との間に作用する力が所定閾値より小さい場合、または、第1の物体と第2の物体との間に作用する押付方向の力が所定閾値より小さい場合では、力制御押付装置51の押付方向と逆方向の成分を含む方向については、ロボット移動指令の移動量を小さくしたり、ロボット50を移動させないようにしたりしてもよい。これによって、工具52とワーク53とをより確実に接触させることができる。
また、力制御押付装置力計測部35が計測した力に基づいて、第1の物体と第2の物体との間に作用する力が所定閾値より大きい場合、または、第1の物体と第2の物体との間に作用する押付方向の力が所定閾値より大きい場合、または、第1の物体と第2の物体との間に作用する押付方向と直交する方向や押付方向以外の方向の力が所定閾値より大きい場合には、ロボット移動指令の移動量を小さくしたり、ロボット50を移動させないようにしたり、ロボット50の移動方向を押付方向とは逆方向の成分が加算されるように移動方向を修正するようにしたりしてもよい。また、力制御押付装置力計測部35が計測した力に基づいて、第1の物体と第2の物体との間に作用する力が所定閾値より大きい場合、または、第1の物体と第2の物体との間に作用する押付方向の力が所定閾値より大きい場合、または、第1の物体と第2の物体との間に作用する押付方向と直交する方向や押付方向以外の方向の力が所定閾値より大きい場合には、力制御押付装置51の押付方向の成分を含む方向については、ロボット移動指令の移動量を小さくしたり、ロボット50を移動させないようにしたりしてもよい。これによって、工具52とワーク53との間に、所定閾値を超える力がかかることを防ぐことができる。
また、力制御押付装置51に過負荷がかかっている場合、または、第1の物体と第2の物体との間に作用する力が所定閾値より大きい場合、または、第1の物体と第2の物体との間に作用する押付方向の力が所定閾値より大きい場合、または、第1の物体と第2の物体との間に作用する押付方向と直交する方向や押付方向以外の方向の力が所定閾値より大きい場合には、ロボット50を押付方向と逆方向の成分を含む方向に移動させた後、ロボット50の移動操作を停止させるなどしてもよい。
このように、ロボット移動指令算出部32は、力制御押付装置51の移動機構部の動作可能範囲における位置および/または姿勢、または、力制御押付装置押付方向設定部33が設定する押付方向、または、力制御押付装置力計測部35が計測した力の内、少なくとも1つに基づいて、ロボット50の移動操作が不適切であることや、力制御押付装置51による力制御が適切に実行されておらず第1の物体と第2の物体が適切に接触していないことや第1の物体と第2の物体との間に適切な力が作用していないことや、力制御押付装置51に作用する力や力制御押付装置51の移動機構部の位置および/または姿勢が不適切な状態になっていることや、力制御押付装置51の押付方向が不適切であることなど、ロボット50や第1の物体と第2の物体との間に作用する力や力制御押付装置51の不適切な状態を検出し、ロボット移動指令の移動量を調整する、または、ロボット50を移動させないようにすることが好ましい。
力制御押付装置51の移動機構部の動作可能範囲における移動機構部の位置および/または姿勢に応じて、または、力制御押付装置51の押付方向に応じて、または、力制御押付装置力計測部35が計測した力、または、それらを複数考慮することによって、力制御押付装置51の動作可能範囲の限界に近づいたり、力制御押付装置51や力制御押付装置51が保持する物体に過負荷がかかっていたり、力制御押付装置51が保持する物体が他の物体と接触していなかったりするなどの不適切な状況を検出し、また工具52とワーク53との接触状態が不適切な状況を検出し、このような力制御押付装置51の状態に応じて、ロボット移動指令の移動量を調整したり、ロボット50の移動動作を停止させることによって、前述のような不適切な状態をさらに悪化させないようにしたり、回避したり、状況を改善することができる。
ロボット50の移動操作がダイレクトティーチである場合、前述のように、力制御押付装置51の状態に応じて、ロボット50のダイレクトティーチによる移動操作感の柔らかさを変えたり、停止させたりすることが好ましい。
このようにして、力制御押付装置51の状況に応じて、ロボット50の移動操作を調整するので、工具52とワーク53とをより安全、確実に適切な状態で接触させることができる。また、作業者56は、ロボット50の移動操作の技量によらず、ラフな移動操作でもよく、より簡易なロボット50の移動操作によって、工具52とワーク53とを適切な状態で接触させることができる。
本開示の3番目の実施形態においては、ロボットシステム11の構成および作用の内、第1番目、第2番目の実施形態におけるロボットシステム11について説明された実施形態と重複するものについては説明を省略する。また、他の実施形態において説明した実施形態と同様のものについては説明を省略する。
本開示の3番目の実施形態に係るロボットシステム11は、第1番目または第2番目のロボットシステム11において、力制御押付装置51は、力制御押付装置押付方向設定部33が設定する所定の押付方向に所定の目標押付力で押しつけると共に、所定の押付方向と直交する1つまたは互いに直交する2つの方向について、前記方向の軸回りに所定の力である軸回り目標押付力で押しつけるように、力制御押付装置51が保持する工具52とワーク53との一方である第1の物体と、工具52とワーク53との他方である第2の物体との間に作用する力を制御して第1の物体を移動させる移動機構部を備え、力制御押付装置目標押付力設定部34は、目標押付力および軸回り目標押付力を設定し、力制御押付装置移動指令算出部36は、力制御押付装置押付方向設定部33が設定する押付方向と、力制御押付装置目標押付力設定部34が設定する目標押付力および軸回り目標押付力と、力制御押付装置力計測部35が計測した力とに基づいて、力制御押付装置51の移動機構部の移動指令である力制御押付装置移動指令を算出する。
このようにして、力制御押付装置51は第1の物体を保持し、第2の物体に対して力制御押付装置押付方向設定部33が設定する所定の押付方向に所定の目標押付力で押しつけると共に、所定の押付方向と直交する1つの方向、または、所定の押付方向と直交し、かつ、互いに直交する2つの方向について、その方向の軸回りに、所定の軸回り目標押付力で押しつけるように、第1の物体と第2の物体との間に作用する力を制御するように、第1の物体を移動させるので、第1の物体を第2の物体に対して、所定の面を合わせるようにして押しつけて、第1の物体と第2の物体とを相対的に移動させることが可能となる。これによって、例えば、ロボット50の先端部にある力制御押付装置51が保持する研磨や研削、バリ取りの工具52の所定の面を、ワーク53の所定の面を合わせるようにしたり、ロボット50の先端部にある力制御押付装置51が保持するワーク53の所定の面を、研磨や研削、バリ取りの工具52の所定の面に合わせるようにしたりすることができる。また、第1の物体の所定の面と第2の物体の所定の面とを合わせた後、第1の物体の位置および/または姿勢を第2の物体に対して相対的に移動させることができる。
また、ロボット50の移動機構部とは独立した、力制御押付装置51によって、第1の物体の所定の面と第2の物体の所定の面とを合わせるので、ロボット50の力制御や位置制御の、応答性や動作性能が悪い場合でも、力制御や位置制御の、応答性や動作性能のよい力制御押付装置51を使用することによって、高速かつ安定的に、第1の物体の所定の面と第2の物体の所定の面とを合わせることが可能となる。また、力制御押付装置51がロボット50に対して簡易に取りつけ取り外しが可能な場合、必要に応じて力制御押付装置51を使用し、必要のないときには別のロボットが使用するようにすれば、ロボットシステム11のコストを抑えることができる。また、一般的に、移動機構部を有する機械、装置を高速に移動させる場合、メンテナンスの時間間隔が短くなるが、ロボット50への取りつけ取り外しが可能な力制御押付装置51の動作性能をよいものにすれば、定期的に力制御押付装置51の部分だけを取り外してメンテナンスすればよくなる。また、ロボット50で第1の物体と第2の物体との間に作用する力を制御する場合、ロボット50の全体部分を移動する必要があるが、力制御押付装置51を使用する場合、必要最小限の機構部を移動させればよいので、ロボット50の全体部分を移動させる場合と比べてより高速に移動させることができると共に、ロボット50の移動機構部にかかる負荷も少なくすることができロボット50のメンテナンスの時間間隔を長くすることができる。第1の物体の所定の面と第2の物体の所定の面とを合わせる場合、ロボット50を移動させることによって実現しようとすると複数の軸を移動させる必要があり、力制御押付装置51を使用することによって、前述のような効果はより顕著となる。
このように3番目の実施形態によれば、ロボットの移動操作時に、ロボットをラフに移動させるなど、簡易な移動操作で、工具とワークとの接触部分の面が合うように接触させながら相対的に移動させることができる。ロボットの移動操作時に、工具とワークとの相対速度を大きくしても、工具とワークとを所定の力で押しつけながら、工具とワークとの接触部分の面が合うようにすることができる。また、ロボットの移動時の動作が振動的なとき、またはロボットの制御状態が不安定なとき、または特異姿勢付近を回避するように軌道を修正するとき、または周辺にある物や人との衝突や干渉を回避するなどロボットの移動動作が教示軌道と変わるようなとき、または作業者によるロボットの移動動作があまり適切でないときなどにおいても、工具とワークとの間に作用する力を適切に制御し、工具とワークとの接触部分の面を合うようにすることができる。
本開示の4番目の実施形態においては、ロボットシステム11の構成および作用の内、第1番目から第3番目の実施形態におけるロボットシステム11について説明された実施形態と重複するものについては説明を省略する。また、他の実施形態において説明した実施形態と同様のものについては説明を省略する。
本開示の4番目の実施形態におけるロボットシステム11は、第1番目から第3番目のいずれか1つのロボットシステム11において、力制御押付装置押付方向設定部33は、第1の物体の位置、姿勢、もしくは位置および姿勢、または、第1の物体を移動させる力制御押付装置移動指令、または、力制御押付装置51の移動機構部の位置、姿勢、もしくは位置および姿勢、または、第1の物体の移動方向、または、ロボット50の位置、姿勢、もしくは位置および姿勢、または、ロボット50を移動させるロボット移動指令、または、ロボット50の移動方向、の内、少なくとも1つに応じた所定の方向を、力制御押付装置51の押付方向として設定する。
力制御押付装置押付方向設定部33は、第1の物体の位置および/または姿勢に対応づけた、または、第1の物体の位置および/または姿勢が含まれる範囲(範囲とは、直線内の範囲、平面内の範囲、空間内の範囲とする。以下、同様)によって対応づけた、所定の方向を力制御押付装置51の押付方向として設定する。または、力制御押付装置押付方向設定部33は、第1の物体を移動させる力制御押付装置移動指令に対応づけた、または、第1の物体を移動させる力制御押付装置移動指令が含まれる範囲によって対応づけた、所定の方向を力制御押付装置51の押付方向として設定する。または、力制御押付装置押付方向設定部33は、システム基準座標系における力制御押付装置51の移動機構部の位置および/または姿勢、または、力制御押付装置51の移動機構部の動作可能範囲における位置および/または姿勢、に対応づけた、または、前記力制御押付装置51の移動機構部の位置および/または姿勢が含まれる範囲によって対応づけた、所定の方向を力制御押付装置51の押付方向として設定する。または、力制御押付装置押付方向設定部33は、第1の物体の移動方向に対応づけた、または、第1の物体の移動方向が含まれる範囲によって対応づけた、所定の方向を力制御押付装置51の押付方向として設定する。または、力制御押付装置押付方向設定部33は、ロボット50の位置および/または姿勢に対応づけた、または、ロボット50の位置および/または姿勢が含まれる範囲によって対応づけた、所定の方向を力制御押付装置51の押付方向として設定する。または、力制御押付装置押付方向設定部33は、ロボット50を移動させるロボット移動指令に対応づけた、または、ロボット50を移動させるロボット移動指令の位置および/または姿勢が含まれる範囲によって対応づけた、所定の方向を力制御押付装置51の押付方向として設定する。または、力制御押付装置押付方向設定部33は、ロボット50の移動方向に対応づけた、または、ロボット50の移動方向が含まれる範囲によって対応づけた、所定の方向を力制御押付装置51の押付方向として設定する。または、第1の物体、力制御押付装置51やロボット50の、位置および/または姿勢、移動指令、移動方向などの複数の状態を考慮して、前述と同様に、対応づけた所定の方向を、力制御押付装置51の押付方向として設定する。
力制御押付装置押付方向設定部33は、第1の物体、力制御押付装置51、ロボット50の、位置および/または姿勢、移動指令、移動方向に応じた所定の方向を、力制御押付装置51の押付方向として設定することによって、ロボットシステム11の状況に応じて押付方向を設定したり、変化させて設定したりすることができる。これによって、作業者56はロボット50の移動操作において、より簡易に第1の物体と第2の物体とを離れないようにさせたり、適切な力で接触させたりすることが可能となる。
このように4番目の実施形態によれば、力制御押付装置が移動させる第1の物体の位置、姿勢、もしくは位置および姿勢に基づいて、所定の方向を力制御押付装置の押付方向とするので、第1の物体の位置および/または姿勢の状況に応じて、押付方向を所望の方向とすることができる。また、第1の物体の位置、姿勢、もしくは位置および姿勢に基づいて、第1の物体の移動方向を求め、第1の物体の移動方向、第1の物体の移動の状況に応じて、押付方向を所望の方向とすることができる。力制御押付装置移動指令に基づいて、所定の方向を力制御押付装置の押付方向とするので、力制御押付装置の移動指令の状況に応じて、押付方向を所望の方向とすることができる。力制御押付装置の移動機構部の位置および/または姿勢に基づいて、所定の方向を力制御押付装置の押付方向とするので、ロボットに対して設定した基準の座標系上の力制御押付装置の移動機構部の位置および/または姿勢の状況に応じて、押付方向を所望の方向とすることができる。また、力制御押付装置を移動させているときの、移動機構部の動作可能範囲における位置および/または姿勢が所定の状況になったときには、押付方向を変えるようにして、押付方向を所望の方向とすることができる。前記第1の物体の移動方向、に基づいて、所定の方向を力制御押付装置の押付方向とするので、第1の物体の移動方向に応じて、押付方向を所望の方向とすることができる。ロボットの位置、姿勢、もしくは位置および姿勢、に基づいて、所定の方向を力制御押付装置の押付方向とするので、ロボットの位置および/または姿勢の状況に応じて、押付方向を所望の方向とすることができる。また、ロボットの位置、姿勢、もしくは位置および姿勢に基づいて、ロボットの移動方向を求め、ロボットの移動方向、ロボットの移動の状況に応じて、押付方向を所望の方向とすることができる。ロボットを移動させるロボット移動指令に基づいて、所定の方向を力制御押付装置の押付方向とするので、ロボットの移動指令の状況に応じて、押付方向を所望の方向とすることができる。前記ロボットの移動方向に基づいて、所定の方向を力制御押付装置の押付方向とするので、ロボットの移動方向に応じて、押付方向を所望の方向とすることができる。例えば、第1の物体の位置および/または姿勢、第1の物体の移動方向、力制御押付装置力計測部が計測する力に基づいてコーナー部分などであることを判断し、第1の物体の位置および/または姿勢、力制御押付装置の位置および/または姿勢などからではどの方向を押付方向とすれば工具とワークとを適切に接触させられるかが分からないときに、ロボットの移動方向に基づいて前記第1の物体を移動させることによって、工具とワークとを相対的に適切に移動させることができる。このように、ロボットシステムの状況に応じて、力制御押付装置の押付方向を設定することができるので、ロボットの移動操作時に、容易に工具とワークを適切に接触させることができる。
本開示の5番目の実施形態においては、ロボットシステム11の構成および作用の内、第1番目から第3番目の実施形態におけるロボットシステム11について説明された実施形態と重複するものについては説明を省略する。また、他の実施形態において説明した実施形態と同様のものについては説明を省略する。
本開示の5番目の実施形態におけるロボットシステム11は、第1番目から第3番目のいずれか1つのロボットシステム11において、力制御押付装置押付方向設定部33は、所定時間の第1の物体の位置または第1の物体が所定の距離だけ移動したときの第1の物体の位置などの、第1の物体の複数の位置に基づいて、工具52を接触させる部分のワーク53の形状を推定し、ワーク53の形状と所定の角度を成す方向を力制御押付装置51の押付方向として設定する。
作業者56がロボット50を移動操作する場合に、ロボット50および力制御押付装置51によって、第1の物体である工具52と第2の物体であるワーク53との間に作用する力を制御するとき、工具52におけるワーク53に接触させる部分は、ワーク53に対して、図10に示すように移動するとする。
力制御押付装置押付方向設定部33は、所定の時間の第1の物体の位置または所定の距離だけ移動したときの第1の物体の位置などの第1の物体の複数の位置に基づいて、工具52を接触させている部分のワーク53の形状を推定する。このとき、工具52を接触させている部分のワーク53の形状は、工具52を接触させながら相対的に移動させているワーク53の部分における全体的な形状、換言すれば細かな形状ではなく大まかな形状であってもよい。また、ロボット50の移動指令と力制御押付装置51の移動指令に基づいて算出した第1の物体の位置に基づいて、工具52を接触させながら相対的に移動させているワーク53の形状を推定してもよい。
または、力制御押付装置押付方向設定部33は、所定の時間の第1の物体の位置または所定の距離だけ移動したときの第1の物体の位置などの第1の物体の複数の位置に基づいて、第1の物体を移動させている方向を求め、工具52を接触させるワーク53の形状部分の接線方向を求める。
次に、力制御押付装置押付方向設定部33は、図11に示すように、方向DMW1と示した、ワーク53の形状の輪郭線、大まかなワーク形状、ワーク53の接線方向、工具52の移動方向などに基づいて求められるワーク52の形状や工具52の移動する方向に対して、所定の角度θpを成す方向である方向PD1と示した方向を、力制御押付装置51の押付方向として設定する。所定の角度θpは、実際のワーク形状に近い形状、おおまかなワーク形状、ワーク形状の接線方向、工具52の移動方向などに対して直交な方向、かつ、ワーク53が存在する方向とする。または、所定の角度θpは、工具52が回転工具である場合はその回転の向き、工具52とワーク53との相対的な移動方向、第1の物体と第2の物体との間に作用する力、力制御押付装置51や第1の物体に作用する力の方向に基づいて、角度θpの絶対値が90度より小さい角度、または、90度より大きい角度となる角度に設定してもよい。
このようにして、力制御押付装置押付方向設定部33は、所定時間の第1の物体の位置に基づいて、工具52を接触させるワーク53の形状を推定し、工具52を接触させる部分のワーク53の形状と所定の角度を成す方向を力制御押付装置51の押付方向とするので、作業者56はロボット50の移動操作において、より簡易に第1の物体と第2の物体とを離れないようにさせたり、適切な力で接触させたりすることが可能となる。
このように5番目の実施形態によれば、第1の物体の複数の位置に基づいて、工具と接触させるワークの形状を推定して、ワークの形状に沿った所定の方向を押付方向とすることによって、作業者はロボットの移動操作時に容易に工具とワークとを適切に接触させて、工具とワークとを相対的に移動させることができる。
本開示の6番目の実施形態においては、ロボットシステム11の構成および作用の内、第1番目から第3番目の実施形態におけるロボットシステム11について説明された実施形態と重複するものについては説明を省略する。また、他の実施形態において説明した実施形態と同様のものについては説明を省略する。
本開示の6番目の実施形態におけるロボットシステム11は、第1番目から第3番目のいずれか1つのロボットシステム11において、力制御押付装置押付方向設定部33は、力制御押付装置力計測部35によって計測される第1の物体と第2の物体との間に作用する力に基づいて、第1の物体の位置および/または姿勢、または、第1の物体を移動させる力制御押付装置移動指令、または、力制御押付装置51の移動機構部の位置および/または姿勢、に基づいて力制御押付装置51の押付方向を設定するか、または、ロボット50の位置、姿勢、もしくは位置および姿勢、または、ロボット移動指令に基づいて力制御押付装置51の押付方向を設定するか、を切り替える。
力制御押付装置力計測部35によって計測される第1の物体と第2の物体との間に作用する力に基づいて、押付方向の力が所定閾値より小さい場合は、工具52を接触させているワーク53の形状の部分が、凹部(谷)形状などになっていて離れているまたは離れやすくなっている、または第1の物体の位置および/または姿勢をもとにして押付方向を設定する方法を実行している場合にはその方法では押付方向が不適切になっていると判断する。また、力制御押付装置力計測部35によって計測される第1の物体と第2の物体との間に作用する力に基づいて、第1の物体と第2の物体との間で押付方向以外の方向について、所定閾値を超える力がかかっている場合は、工具52を接触させているワーク53の形状の部分が、凸の形状になっていて倣わせにくくなっているまたは過負荷がかかりやすい状態になっている、または第1の物体の位置および/または姿勢をもとにして押付方向を設定する方法を実行している場合にはその方法では押付方向が不適切になっていると判断する。
力制御押付装置押付方向設定部33は、前述のように工具52とワーク53とを適切に接触させにくくなっていて、離れたり離れやくなったり過負荷がかかりやすくなったりしている凸部(山)形状や凹部(谷)形状や凹凸の大きな形状部分においては、第1の物体の位置および/または姿勢や、工具52とワーク53とを接触させている位置および/または姿勢の情報からでは工具52とワーク53を適切に接触させるのは困難であると判断して、作業者56によって移動操作されるロボット50の位置および/または姿勢やロボット移動指令を基にしたロボット50の位置および/または姿勢や移動方向に基づいて、押付方向を設定する。
力制御押付装置押付方向設定部33は、そのような工具52とワーク53とを適切に接触させにくくなっていて、離れたり離れやくなったり過負荷がかかりやすくなったりしている凸部(山)形状や凹部(谷)形状や凹凸の大きな形状がない部分においては、工具52とワーク53とを接触させている位置および/または姿勢の情報に基づいて、工具52とワーク53を適切に接触させることが可能であると判断して、第1の物体の位置および/または姿勢、または、力制御押付装置51の移動指令、または、力制御押付装置51のシステム基準座標系における位置および/または姿勢に基づいて、押付方向を設定する。
このように、力制御押付装置押付方向設定部33は、第1の物体と第2の物体との間に作用される力に基づいて、押付方向を設定することによって、ロボット50の移動操作において、第1の物体と第2の物体とを離れないように、より適切な力で接触させるように相対的に移動させることが可能となる。
このように6番目の実施形態によれば、力制御押付装置力計測部が計測する力に基づいて、工具とワークとを接触させる部分のワーク形状が凸部や凹部の大きい部分であったり、コーナー部分であったりすることや、力制御押付装置の現在の押付方向が不適切であることなどを判断し、第1の物体の位置および/または姿勢、力制御押付装置の移動指令、力制御押付装置の位置および姿勢、に基づいて押付方向を設定するか、または、ロボットの位置および/または姿勢、ロボットの移動指令、に基づいて押付方向を設定するかを切り替えることによって、ワークに沿った位置および/または姿勢で判断するか、ロボットの移動操作の方向で判断するかを切替えることができ、工具とワークとが適切に接触するように押付方向を設定することができる。
本開示の7番目の実施形態においては、ロボットシステム11の構成および作用の内、第1番目から第3番目の実施形態におけるロボットシステム11について説明された実施形態と重複するものについては説明を省略する。また、他の実施形態において説明した実施形態と同様のものについては説明を省略する。
本開示の7番目の実施形態におけるロボットシステム11は、第1番目から第3番目のいずれか1つのロボットシステム11において、力制御押付装置押付方向設定部33は、力制御押付装置力計測部35が計測する力に基づき、(押付方向以外の方向の力が閾値を超えるとき、または、押付方向の力が所定閾値より小さくなるとき)である第1条件のとき、(ロボット50の複数の位置に基づくロボット50の移動方向またはロボット移動指令に基づくロボット50の移動方向)と所定の角度を成す方向を算出して力制御押付装置51の押付方向として設定し、前記第1条件以外のとき、第1の物体の複数の位置に基づいて、工具52を接触させるワーク53の形状を推定し、ワーク53の形状と所定の角度を成す方向を力制御押付装置51の押付方向として設定する。
力制御押付装置押付方向設定部33は、まず、力制御押付装置力計測部35が計測する力に基づいて、工具52とワーク53とを接触させようとしているワーク53の部分が、コーナー部分であることや工具52とワーク53とを適切に接触させにくい凸凹形状が存在する部分であること、または力制御押付装置51の現在の押付方向が不適切であることを判断する。次に、工具52とワーク53を接触させながら相対的に移動させているとき、ワーク53における、工具52とワーク53とを適切に接触させにくい凸形状である、壁、障害物、倣えないような凸部(山)部分などの形状にさしかかって押付方向以外の方向の力が所定閾値を超えるとき、または、凹部(谷)などにおいて工具52とワーク53とが適切に接触せずに離れるなどして押付方向の力が所定閾値より小さくなるときである、前述の第1条件の場合には、ロボット50の複数の位置に基づくロボット50の移動方向またはロボット移動指令に基づくロボット50の移動方向と、所定の角度を成す方向を押付方向とする。なお、ロボット50の複数の位置は、所定の時間のロボット50の位置または所定の距離だけ移動したときのロボット50の位置などとする。力制御押付装置押付方向設定部33は、第1の条件以外のときには、第1の物体の複数の位置に基づいて、工具52を接触させるワーク53の部分の形状を推定して、その形状に基づいて、工具52を接触させるワーク53の部分の接線方向や大まかな形状によって与えられる方向と、所定の角度を成す方向を押付方向とする。なお、このとき、第5番目の実施形態において説明した設定方法と同様に、押付方向を設定するものとする。また、第1の物体の複数の位置は、所定の時間の第1の物体の位置または所定の距離だけ移動したときの第1の物体の位置などとする。このように、力制御押付装置押付方向設定部33が、第1の物体と第2の物体との間に作用される力に基づいて、押付方向を設定することによって、ワーク53に対して工具52を適切に接触させることが困難な凹凸の形状であっても、押付方向の設定方法を切替えることによって、ロボット50の移動操作において、第1の物体と第2の物体とを離れないようにより適切な力で接触させるように相対的に移動させることが可能となる。
このように7番目の実施形態によれば、工具とワークとを適切に接触させることが困難な凹凸の形状であっても、第1の物体と第2の物体との間に作用される力に基づいて、押付方向の設定方法を切替えることによって、ロボットの移動操作において、第1の物体と第2の物体とをより適切な力で接触させるように相対的に移動させることが可能となる。
本開示の8番目の実施形態においては、ロボットシステム11の構成および作用の内、第1番目から第7番目の実施形態におけるロボットシステム11について説明された実施形態と重複するものについては説明を省略する。また、他の実施形態において説明した実施形態と同様のものについては説明を省略する。
本開示の8番目の実施形態におけるロボットシステム11は、第1番目から第7番目のいずれか1つのロボットシステム11において、力制御押付装置51の移動機構部の動作可能範囲における位置、姿勢、もしくは位置および姿勢、または、力制御押付装置51の移動機構部の動作可能範囲における位置、姿勢、もしくは位置および姿勢および力制御押付装置51の押付方向、に基づいて、ロボット50の移動方向の良否を判定するロボット移動方向良否判定部37と、ロボット移動方向良否判定部37の判定結果に応じて、文字、数値、色、絵、記号、図形、模様を表示出力する指令を出す、または、前記文字、数値、色、絵、記号、図形、模様の表示周期を変更して表示出力する指令を出す、または、音を出力する指令を出す、または、振動を提示出力する指令を出す、または、ロボット移動指令算出部32がロボット50の移動指令の大きさを小さくしたり0にしたりすることによってロボット移動方向良否判定部37の判定結果を出力するようにロボット移動指令算出部32に対してロボット50の移動指令の調整をする指令を出す、ロボット移動方向良否判定結果出力指令部38と、を備える。
ロボットシステム11は、力制御押付装置51の移動機構部が動作可能範囲の中心や基準とする位置および/または姿勢から離れた場合、その位置および/または姿勢に応じて、ロボット50を移動させる方向の良否を判定し移動方向の良否の状態を提示するので、作業者56は工具52とワーク53とをより適切に接触させることができるようにロボット50を容易に移動操作することができる。また、ロボットシステム11は、力制御押付装置51の移動機構部の動作可能範囲における位置および/または姿勢と、力制御押付装置51の押付方向に基づいて、ロボット50を移動させる方向の良否を判断するので、移動機構部の位置および/または姿勢だけでなく力制御押付装置51の押付方向も含めた力制御押付装置51の状態を考慮できる。ロボットシステム11がこの移動方向の良否の状態を表示、提示することによって、作業者56は工具52とワーク53とをより適切に接触させることができるように、ロボット50を容易に移動操作することができる。
このように8番目の実施形態によれば、力制御押付装置の移動機構部の動作可能範囲における位置および/または姿勢に基づいて、または力制御押付装置の移動機構部の動作可能範囲における位置および/または姿勢と力制御押付装置の押付方向に基づいて、ロボットを移動させる方向の良否を判断し移動方向の良否の状態を作業者に提示するので、作業者は力制御押付装置によって工具とワークとをより適切に接触させることができるように、ロボットを移動させることができる。また、ロボットシステムが作業者に対してロボットの移動方向の良否を分かりやすいように視覚や聴覚、触覚などで認識させることによって、また移動操作しているロボットの移動速度を小さくしたり停止させたりしてロボットの移動方向の良否を作業者に認識させることによって、工具とワークとの間に作用する力が適切となるようにするときのロボットの移動操作の操作性を向上させることができる。また、ロボットの移動方向の良否によって、ロボットの移動速度を小さくしたり停止させたりすることによって、ロボットの移動方向が不適切な方向とならないようにすることができる。
本開示の9番目の実施形態においては、ロボットシステム11の構成および作用の内、第1番目から第8番目の実施形態におけるロボットシステム11について説明された実施形態と重複するものについては説明を省略する。また、他の実施形態において説明した実施形態と同様のものについては説明を省略する。
本開示の9番目の実施形態におけるロボットシステム11は、第1番目から第8番目のいずれか1つのロボットシステム11において、ロボット50の移動操作においてロボット50の移動を許可する方向であるロボット移動許可方向を設定するロボット移動許可方向設定部39を備え、ロボット操作入力計測部31は、ロボット50に作用する力を計測することによって、ロボット操作入力を計測し、ロボット移動指令算出部32はロボット操作入力計測部31が計測したロボット操作入力とロボット移動許可方向設定部39が設定したロボット移動許可方向に基づいてロボット移動指令を算出し、力制御押付装置移動指令算出部36は、所定のロボット移動許可方向と直交する方向における、または、ロボット移動許可方向の内、所定の方向における、ロボット50に作用させた力の大きさ、符号、または大きさおよび符号に基づいて、力制御押付装置移動指令の大きさを調整する、または、力制御押付装置51の移動の有効・無効を切替える。
本開示の9番目の実施形態に係るロボットシステム11では、作業者56は、ロボット50、ロボット50の先端部、ロボット50に取りつけたロボット誘導装置55などの物体、ロボット50を構成するリンク部分や関節部分などのロボット50の本体部分を含めた、ロボット50に対して、力を作用させることによって、ロボット50を移動操作させる。
9番目の実施形態に係るロボットシステム11について、図12を参照しながら説明する。ロボット移動許可方向設定部39は、ワーク53の上面と平行な平面上に存在し、かつ、力制御押付装置51の移動機構部を構成する互いに直交する2つの軸が存在する平面上の方向を、ロボット移動許可方向として設定する。また、力制御押付装置51の移動方向を、ワーク53の上面と平行な平面上とする。このとき、工具52とワーク53が接触する部分は、ロボット50の移動操作と力制御押付装置51の移動機構部の移動によって、ワーク53の上面が存在する平面上に存在するとする。このとき、力制御押付装置移動指令算出部36は、ロボット50に作用させた力における、ワーク53の上面が存在する平面と直交する方向の、力の大きさや力の向きを示す力の符号に基づいて、力制御押付装置51の移動の有効・無効、換言すれば力制御モードと位置制御モードとを切り替えたり、力制御押付装置移動指令の大きさを調整し加減速させたりする。また、力制御押付装置移動指令算出部36は、ロボット50に作用させた力における、ロボット移動許可方向の内、所定の方向の、力の大きさや力の向きを示す力の符号に基づいて、力制御押付装置51の移動の有効・無効、換言すれば力制御モードと位置制御モードとを切り替えたり、力制御押付装置移動指令の大きさを調整し加減速させたりする。
これによって、作業者56はロボット50の移動操作において、ロボット50に対して作用させる力の大きさや方向を変えるという簡易な操作によって、力制御押付装置51の設定を変えたり変更したりすることができ、力制御押付装置51が保持する第1の物体と、第2の物体とをより簡易に適切な状態で接触させることが可能となる。
このように9番目の実施形態によれば、ロボットを移動させる方向と直交した方向に作用する力に応じて、力制御押付装置の動作速度、有効・無効などの設定を変えることができる。またロボットの移動許可方向の内、所定の方向に作用する力に応じて、力制御押付装置の動作速度、有効・無効などの設定を変えることができる。このように、ロボットに力を作用させて移動させているときに、力を作用させる方向や、力の大きさを変えることによって、力制御押付装置の動作などを簡易に設定、変更、切り替えることができる。
本開示の10番目の実施形態においては、ロボットシステム11の構成および作用の内、第1番目から第9番目の実施形態におけるロボットシステム11について説明された実施形態と重複するものについては説明を省略する。また、他の実施形態において説明した実施形態と同様のものについては説明を省略する。
本開示の10番目の実施形態におけるロボットシステム11は、第1番目から第9番目のいずれか1つのロボットシステム11において、ロボット50および力制御押付装置51を移動させたときに取得した第1の物体の位置、姿勢、もしくは位置および姿勢に基づいて、ロボット50の動作プログラムを生成するロボット動作プログラム生成部40を備え、ロボット動作プログラム生成部40は、第1の物体と第2の物体との間に作用する力が所定閾値以上のときの第1の物体の位置、姿勢、もしくは位置および姿勢が、力制御押付装置51に対する基準の位置、姿勢、もしくは位置および姿勢となるように、ロボット50の動作プログラムを生成する。
ロボット動作プログラム生成部40は、力制御押付装置力計測部35によって計測される工具52とワーク53との間に作用する力に基づいて、工具52とワーク53との間に作用する力が所定閾値以上のとき、または工具52とワーク53との間に作用する力における押付方向の力が所定閾値以上のときなど、工具52とワーク53とが接触、または工具52とワーク53とが適切に接触していると判定されたときに、第1の物体の位置および/または姿勢を取得し、その位置および/または姿勢が力制御押付装置51の基準の位置および/または姿勢となるように、ロボット50の動作プログラムを生成する。なお、基準の位置および/または姿勢は、力制御押付装置51の動作可能範囲における中心でなくてもよく、第1の物体と第2の物体とが接触した状態となるまでの位置および/または姿勢の対応可能なずれをなるべく大きくすることができる位置および/または姿勢とすることが好ましい。
これによって、前記のように生成されたロボット50の動作プログラムに基づいてロボット50を移動させるときに、工具52とワーク53とを接触させた状態または相対的に近い位置および/または姿勢の状態で、工具52とワーク53とを相対的に移動させることが可能となる。また、このように生成されたロボット50の動作プログラムを用いてロボット50を移動させることによって、作業者56によって移動操作させずにロボット50を自動運転で移動させながら力制御押付装置51によって第1の物体と第2の物体との間に適切な力が作用するように第1の物体を移動させるとき、力制御押付装置51の移動機構部の移動量をより小さくした状態にすることができ、工具52とワーク53とをより容易に適切に接触させることが可能となる。
このように10番目の実施形態によれば、第1の物体と第2の物体との間に作用する力に基づいて第1の物体と第2の物体とが適切に接触している状態のときの第1の物体の位置および/または姿勢を取得する。そして、力制御押付装置の移動機構部が、力制御押付装置の中心の位置および/または姿勢、または、基準の位置および/または姿勢に存在するときに、第1の物体の位置および/または姿勢が、前記取得した位置および/または姿勢に存在するようにロボットを移動させる、ロボットの動作プログラムを生成、教示する。このロボットの動作プログラムを用いてロボットを移動させることによって、力制御押付装置の移動機構部が動作可能範囲の中心または基準位置に近い状態となり、または、力制御押付装置の移動機構部の移動範囲が広くとれる状態となり、ワークと工具とをより適切に接触させて相対的に移動させることができる。
本開示の11番目の実施形態においては、ロボットシステム11の構成および作用の内、第1番目から第8番目の実施形態におけるロボットシステム11について説明された実施形態と重複するものについては説明を省略する。また、他の実施形態において説明した実施形態と同様のものについては説明を省略する。
本開示の11番目の実施形態におけるロボットシステム11は、第1番目から第8番目のいずれか1つのロボットシステム11において、ロボット50および力制御押付装置51を移動させたときに取得した第1の物体の位置、姿勢、もしくは位置および姿勢に基づいて、ロボット50の動作プログラムを生成するロボット動作プログラム生成部40と、ロボット50の移動操作においてロボット50の移動を許可する方向であるロボット移動許可方向を設定するロボット移動許可方向設定部39と、を備え、ロボット操作入力計測部31は、ロボット50に作用する力を計測することによって、ロボット操作入力を計測し、ロボット動作プログラム生成部40は、ロボット移動許可方向と直交する方向における、または、ロボット移動許可方向の内、所定の方向における、ロボット50に作用させた力の大きさ、符号、または大きさおよび符号が所定の条件の時に、第1の物体の位置、姿勢、もしくは位置および姿勢を取得し、前記取得した第1の物体の位置、姿勢、もしくは位置および姿勢に基づいて、ロボット50の動作プログラムを生成する。
本開示の11番目の実施形態に係るロボットシステム11では、作業者56は、ロボット50、ロボット50の先端部、ロボット50に取りつけたロボット誘導装置55などの物体、ロボット50のリンクなどを含めた、ロボット50に対して、力を作用させることによって、ロボット50を移動操作させる。
11番目の実施形態に係るロボットシステム11について、図12を参照しながら説明する。ロボット移動許可方向設定部39は、ワーク53の上面と平行な平面上に存在し、かつ、力制御押付装置51の移動機構部を構成する互いに直交する2つの軸が存在する平面上の方向を、ロボット移動許可方向として設定する。また、力制御押付装置51の移動方向を、ワーク53の上面と平行な平面上とする。このとき、工具52とワーク53が接触する部分は、ロボット50の移動操作と力制御押付装置51の移動機構部の移動によって、ワーク53の上面が存在する平面上に存在するとする。このとき、ロボット動作プログラム生成部40は、ロボット50に作用させた力におけるワーク53の上面が存在する平面と直交する方向の、力の大きさや力の向きを示す力の符号に基づいて、または、ロボット50に作用させた力におけるロボット移動許可方向の内、所定の方向の、力の大きさや力の向きを示す力の符号に基づいて、所定の条件のときに、第1の物体の位置および/または姿勢を取得し、前記取得した第1の物体の位置および/または姿勢に基づいて、ロボット50の動作プログラムを生成する。
前記所定の条件とは、例えば、力の大きさが所定閾値以上の場合とする。また、力の符号が正負の内、いずれかである場合や、所定時間以上、正だったものが、別の所定時間だけ負になった場合や、所定時間以上、正であったものが、別の所定時間だけ負になり、その後、さらに別の所定時間だけ正になった場合など、正負の変化に基づく所定の条件としてもよい。また、力の大きさと力の符号に基づき、例えば、力の大きさが所定の閾値以上で、力の符号が正負の内、指定した方である場合といった場合などの条件としてもよい。
これによって、作業者56はロボット50の移動操作において、ロボット50に対して作用させる力の大きさや方向を変えるという簡易な操作によって、教示させる位置および/または姿勢を取得してロボットの動作プログラムを生成させることが可能となる。
このように11番目の実施形態によれば、ロボットに力を作用させて移動操作させるときに、ロボットを移動させる方向と直交した方向に作用する力の大きさや符号に応じて、または、ロボットの移動許可方向の内、所定の方向に作用する力の大きさや符号に応じて、第1の物体の位置および/または姿勢を取得して、ロボットの動作プログラムを生成、教示するので、簡易な操作でロボットの動作プログラムを作成できる。また、前記ロボットの動作プログラムを用いてロボットを移動させることによって、力制御押付装置の移動機構部が動作可能範囲の中心または基準位置に近い状態となり、または、力制御押付装置の移動機構部の移動範囲が広くとれる状態となり、ワークと工具とをより適切に接触させて相対的に移動させることができる。
本開示の12番目の実施形態においては、ロボットシステム11の構成および作用の内、第1番目から第11番目の実施形態におけるロボットシステム11について説明された実施形態と重複するものについては説明を省略する。また、他の実施形態において説明した実施形態と同様のものについては説明を省略する。
本開示の12番目の実施形態におけるロボットシステム11は、第1番目から第11番目のいずれか1つのロボットシステム11において、ロボット移動指令算出部32は、第1の物体と第2の物体との間に作用する力における力制御押付装置51の押付方向以外の方向において所定閾値を超える力がかかる方向については、ロボット移動指令の移動量の大きさを小さくする、または、0にする。
これによって、ロボット50を移動させるときに、工具52とワーク53との間の押付方向以外の方向に所定閾値を超える力がかかっている場合には、その方向について、ロボット50の移動量を小さくする、またはロボット50を移動させないようにすることによって、工具52とワーク53との間に作用する力に過負荷となる方向にそれ以上移動させないようにし、不適切な力がかかる方向に移動させるのを止めるようにすることができる。
このように12番目の実施形態によれば、ロボットを移動させるときに、工具とワークとの間の押付方向以外の方向に所定閾値を超える力がかかっている場合には、その方向について、ロボットの移動量を小さくする、またはロボットを移動させないようにすることによって、工具とワークとの間に作用する力が過負荷となる方向にそれ以上移動させないようにし、不適切な力がかかる方向にロボットを移動させないようにすることができる。これによって、ロボットの移動操作をより安全にすることができる。
本開示の13番目の実施形態においては、ロボットシステム11の構成および作用の内、第1番目から第12番目の実施形態におけるロボットシステム11について説明された実施形態と重複するものについては説明を省略する。また、他の実施形態において説明した実施形態と同様のものについては説明を省略する。
本開示の13番目の実施形態におけるロボットシステム11は、第1番目から第12番目のいずれか1つのロボットシステム11において、第1の物体と第2の物体との間に作用する力が所定閾値以上であり、かつ、力制御押付装置51の移動機構部が、押付方向と逆方向について、力制御押付装置51の移動機構部の動作可能範囲における限界範囲、または限界範囲から所定値以内の位置に存在するとき、
ロボット50の移動を停止させる。
力制御押付装置51が第1の物体と第2の物体との間に作用する押付方向の力を制御していて、力制御押付装置51の移動機構部が押付方向と逆方向について力制御押付装置51の移動機構部の動作可能範囲における限界範囲、または限界範囲から所定値以内の位置に存在しているときには、力制御押付装置51の移動機構部が押付方向と逆方向に移動することによって、力制御押付装置51の移動機構部の動作可能範囲の限界に到達し、第1の物体と第2の物体との間に作用する力を制御することが困難な状況に近づいたり、第1の物体と第2の物体との間に所定閾値を超える過負荷がかかったりするため、ロボット50の移動操作を停止させることが好ましい。これによって、作業者56がロボット50を移動操作し、第1の物体と第2の物体を相対的に移動させて接触させているときに、ロボット50、力制御押付装置51、工具52、ワーク53に過負荷がかかることを回避することが可能となる。
このように13番目の実施形態によれば、力制御押付装置の移動機構部が移動し、力制御押付装置で動作可能範囲の限界範囲または限界範囲から所定値以内に存在し、工具とワークとの間に作用する力が所定閾値以上となっているときに、ロボットの移動を停止させることによって、工具とワークとの間に作用する力が過大になることを回避することができる。
本開示の14番目の実施形態においては、ロボットシステム11の構成および作用の内、第1番目から第13番目の実施形態におけるロボットシステム11について説明された実施形態と重複するものについては説明を省略する。また、他の実施形態において説明した実施形態と同様のものについては説明を省略する。
本開示の14番目の実施形態におけるロボットシステム11は、第1番目から第13番目のいずれか1つのロボットシステム11において、第1の物体と第2の物体との間に作用する力に基づいて、第1の物体と第2の物体との押付状態の良否を判定する押付状態良否判定部41と、押付状態良否判定部41の判定結果に応じて、文字、数値、色、絵、記号、図形、模様を表示出力する指令を出す、または、前記文字、数値、色、絵、記号、図形、模様の表示周期を変更して表示出力する指令を出す、または、音を出力する指令を出す、または、振動を提示出力する指令を出す、または、ロボット移動指令算出部32がロボット50の移動指令の大きさを小さくしたり0にしたりすることによって押付状態良否判定部41の判定結果を出力するようにロボット移動指令算出部32に対してロボット50の移動指令の調整をする指令を出す、押付状態良否判定結果出力指令部と、を備える。
これによって、作業者56は、ロボット50の移動操作時に、第1の物体と第2の物体との押付状態を知ることができ、ロボット50の移動操作において第1の物体と第2の物体とをより適切な状態で移動させやすくなる。
このように14番目の実施形態によれば、作業者が工具とワークとの押付状態を分かりやすいように視覚や聴覚、触覚などで認識させることによって、また、移動操作しているロボットの移動速度を小さくしたり停止させたりして押付状態の良否を作業者に認識させることによって、工具とワークとの間に作用する力が適切となるようにするときのロボットの移動操作の操作性を向上させることができる。また、工具とワークの押付状態の良否によって、ロボットの移動速度を小さくしたり停止させたりすることによって、押付状態が不適切な状態とならないようにすることができる。
本開示の15番目の実施形態においては、ロボットシステム11の構成および作用の内、第1番目から第8番目、第10番目、第12番目から第14番目の実施形態におけるロボットシステム11について説明された実施形態と重複するものについては説明を省略する。また、他の実施形態において説明した実施形態と同様のものについては説明を省略する。
本開示の15番目の実施形態におけるロボットシステム11は、第1番目から第8番目、第10番目、第12番目から第14番目のいずれか1つのロボットシステム11において、ロボット操作入力計測部31は、ロボット50の本体部分に作用する力を計測する、または、ロボット50の先端部に作用する力を計測することによって、ロボット50を移動操作するためのロボット操作入力を計測する。または、本開示の15番目の実施形態におけるロボットシステム11は、さらに、ロボット誘導装置55を備え、ロボット操作入力計測部31は、ロボット50に取りつけられたロボット誘導装置55に対して作用する力を計測する。または、本開示の15番目の実施形態におけるロボットシステム11は、さらに、非接触式のロボット誘導装置55aを備え、非接触式のロボット誘導装置55aによる入力を計測することによって、ロボット50を移動操作するためのロボット操作入力を計測する。
ロボット50の本体部分や先端部、ロボット50に取りつけた装置などを含めたロボット50に対して、力を作用させることによって、ロボット操作入力を与え、ロボット50を移動操作することによって、ロボット50により近い位置で直接的な操作感覚によってロボット50を移動操作することができる。また、ロボット50に作用させた力をロボット操作入力計測部31によって計測できるようにし、ロボット操作入力計測部31が計測した力と、力制御押付装置力計測部35が計測した力を比較することによって、ロボット操作入力計測部31と力制御押付装置力計測部35とで計測される値が大きくずれるようになっていないか、どちらかの計測部によって計測される値が異常となっていないか、力を計測・推定するために用いるセンサなどの装置が故障していないかなどを判定することが可能となる。
また、非接触式のロボット誘導装置による入力を計測することによって、作業者56はロボット50から離れた都合のよい位置で、安全に、ロボット50を移動操作することが可能となる。
このように15番目の実施形態によれば、ロボットに取りつけられたハンドルなどのロボット誘導装置に対して作用する力を計測することによって、意図しない力の計測を避けることができると共に、ロボットを移動させるための操作入力を作業者の操作感に従って、より適切に検出し、作業者はより意図した通りにロボットを移動させることができる。また、ロボット誘導装置で複数の機能を実行することができるようにしている場合には、他の機能も容易に実行することができる。また、ロボットの本体部分に作用する力を計測する場合には、作業者がロボットの特定の部分だけでなく、ロボット本体のどの部分に力を作用させても移動させることが可能となる。この場合、ロボットの本体部分に作用する力を計測するので、作業者がロボットの本体部分に力を作用させてロボットのリンク部分、軸の位置を所望の位置に移動させることもできる。また、ロボットの先端部に作用する力を計測することによって、作業者がロボットの先端部を所望の位置および/または姿勢に移動させることができる。また、ロボットの先端部に作用する力を計測し、力制御押付装置力計測部の計測結果と比較することによって計測装置の故障を検出できるようにしたり、計測装置の計測精度を向上させたり、力制御押付装置力計測部が計測できない方向の力を計測してワークと工具との間に作用する力が不適切になっていることを検出したりすることができる。非接触式のロボット誘導装置による入力によってロボットを移動できるようにすることによって、ロボットから離れて安全にロボットを移動操作することが可能となる。
以上の説明はあくまで一例であり、本発明の特徴を損なわない限り、上述した実施形態および変形例により本発明が限定されるものではない。上記実施形態および変形例の構成要素には、発明の同一性を維持しつつ置換可能かつ置換自明なものが含まれる。すなわち、本発明の技術的思想の範囲内で考えられる他の形態についても、本発明の範囲内に含まれる。