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