JP7477716B2 - ロボットの位置および姿勢を制御するパラメータを算出する制御装置 - Google Patents

ロボットの位置および姿勢を制御するパラメータを算出する制御装置 Download PDF

Info

Publication number
JP7477716B2
JP7477716B2 JP2023511071A JP2023511071A JP7477716B2 JP 7477716 B2 JP7477716 B2 JP 7477716B2 JP 2023511071 A JP2023511071 A JP 2023511071A JP 2023511071 A JP2023511071 A JP 2023511071A JP 7477716 B2 JP7477716 B2 JP 7477716B2
Authority
JP
Japan
Prior art keywords
workpiece
robot
force
control
tip point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2023511071A
Other languages
English (en)
Other versions
JPWO2022210186A1 (ja
Inventor
優希 石井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of JPWO2022210186A1 publication Critical patent/JPWO2022210186A1/ja
Application granted granted Critical
Publication of JP7477716B2 publication Critical patent/JP7477716B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/085Force or torque sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39529Force, torque sensor in wrist, end effector
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40032Peg and hole insertion, mating and joining, remote center compliance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/405866-DOF force sensor

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Description

本発明は、ロボットの位置および姿勢を制御するパラメータを算出する制御装置に関する。
ロボット装置は、ロボットおよびロボットに取り付けられた作業ツールを備え、ロボットが位置および姿勢を変更しながら所定の作業を行うことができる。従来から作業ツールとしてワークを把持するハンドを取り付けて、ワークを所定の位置に配置するロボット装置が知られている。ワークの位置および姿勢を精密に調整する作業としては、1つのワークを他のワークに嵌合する制御が知られている。または、1つのワークの所定の位置に他のワークを接触させる制御が知られている。例えば、作業台に固定された部材の穴部等にワークを挿入する作業を行うロボット装置が知られている(例えば、特開平4-256526号公報)。
このような作業を行う場合に、ロボットの制御装置は、1つのワークを他のワークに向かって移動しながらロボットの位置および姿勢を修正する。従来の技術においては、ロボットに力覚センサを取り付けてコンプライアンス制御等の力制御を実施することが知られている。力制御では、力覚センサにて検出される予め定められた方向の力が判定範囲内になるように、ロボットの位置および姿勢を修正することができる(例えば、特開2008-307634号公報および特開2017-127932号公報)。
特開平4-256526号公報 特開2008-307634号公報 特開2017-127932号公報
力制御では、ロボットに取り付けられた力覚センサの出力に基づいて、ロボットにて把持されているワークの位置および姿勢を調整することができる。この制御を実施する場合には、ロボットにてワークを移動するための制御点を設定する必要が有る。力制御の制御点としては、ワークの先端点または作業ツールの先端点に設定することができる。また、ワークを嵌合したり押し付けたりするために移動する方向として移動方向(ベクトル)を予め設定する必要が有る。
このような制御点および移動方向を含むパラメータは、作業ツールに原点を有するツール座標系および作業者が設定するユーザー座標系のうち少なくとも一方の座標系にて指定することができる。一般的には、座標系の原点を制御点に設定して、座標系の1つの座標軸の方向を移動方向に設定することができる。そして、座標系の原点の位置および移動方向に基づいてロボットを制御することができる。
ツール座標系およびユーザー座標系は、実際のロボットを駆動して設定することができる。ところが、ロボットの操作を熟知していない作業者にとっては、座標系を設定することが難しいという問題がある。例えば、作業台に固定されたワークにユーザー座標系を設定する場合には、作業者は、ロボットに設定された基準座標系を用いて、空間に3点の位置を定め、X軸およびY軸に平行なベクトルを設定する。更に、作業者は、原点の位置を指定することにより、X軸、Y軸、およびZ軸を含むユーザー座標系を設定する。
このように、座標系の設定には多くの手順が存在して、ロボットの操作に慣れていない作業者にとっては、座標系を設定する作業は難しいという問題がある。特に、3次元空間における方向を座標軸の方向にて指定する場合に、ロボットの操作が難しいという問題がある。
本開示の1つの態様は、ロボットにて第1のワークを第2のワークに向かって移動する時に力制御を行うためのパラメータを算出する制御装置である。制御装置は、角部を有する接触部材にロボットにて第1のワークを接触させた時に、第1のワークおよび接触部材のうち一方に加わる力を検出する力検出器を備える。制御装置は、力制御を行う時に第2のワークに対して第1のワークを移動する移動方向および力制御の制御点となるワーク先端点の位置を算出するパラメータ算出部を備える。力検出器は、ロボットにて第1のワークのワーク先端点を接触部材の角部に接触させて、第1のワークを予め定められた押付け方向に沿って押し付けている期間中に力を検出する。パラメータ算出部は、複数の押付け方向にて第1のワークを接触部材に押付けた時に、それぞれの押付け方向に対応して力検出器にて検出される力を取得し、複数の押付け方向に対応する力に基づいて第1のワークの移動方向および第1のワークのワーク先端点の位置を算出する。
本開示の他の態様は、ロボットにて第2のワークを第1のワークに向かって移動する時に力制御を行うためのパラメータを算出する制御装置である。制御装置は、ロボットにて角部を有する接触部材を第1のワークに接触させた時に、第1のワークおよび接触部材のうち一方に加わる力を検出する力検出器を備える。制御装置は、力制御を行う時に第1のワークに対して第2のワークを移動する移動方向および力制御の制御点となるワーク先端点の位置を算出するパラメータ算出部を備える。力検出器は、ロボットにて接触部材の角部を第1のワークのワーク先端点に接触させて、接触部材を予め定められた押付け方向に沿って押し付けている期間中に力を検出する。パラメータ算出部は、複数の押付け方向にて接触部材を第1のワークに押付けた時に、それぞれの押付け方向に対応して力検出器にて検出される力を取得し、複数の押付け方向に対応する力に基づいて第2のワークの移動方向および第1のワークのワーク先端点の位置を算出する。
本開示の態様によれば、ロボットの力制御を行うためのパラメータを容易なロボットの操作にて算出する制御装置を提供することができる。
実施の形態における第1のロボット装置の概略図である。 実施の形態における第1のロボット装置のブロック図である。 第1のワークを第2のワークに嵌合する時の拡大斜視図である。 第2のワークの角部に第1のワークの端面を接触させる時の第1のロボット装置の概略図である。 第2のワークの角部に第1のワークを接触させる時の拡大斜視図である。 ワーク先端点の位置および移動方向を算出する方法を説明する第1の概略図である。 ワーク先端点の位置および移動方向を算出する方法を説明する第2の概略図である。 パラメータ設定手順にて生成されたワーク先端点および移動方向を説明する第1のロボット装置の概略図である。 教示操作盤の表示部に表示されるロボットおよびワークの画像である。 実施の形態における第2のロボット装置の概略図である。 第2のワークの角部を第1のワークの端面に接触させる時の第2のロボット装置の概略図である。 第2のワークの角部を第1のワークの端面に接触させる時の拡大斜視図である。 パラメータ設定手順にて生成されたワーク先端点および移動方向を説明する第2のロボット装置の概略図である。 実施の形態における第3のロボット装置の概略図である。 第2のワークの角部に第1のワークの端面を接触させる時の第3のロボット装置の概略図である。 パラメータ設定手順にて生成されたワーク先端点および移動方向を説明する第3のロボット装置の概略図である。 実施の形態における第4のロボット装置の概略図である。 第2のワークの角部に第1のワークの端面を接触させる時の第4のロボット装置の概略図である。 パラメータ設定手順にて生成されたワーク先端点と移動方向を説明する第4のロボット装置の概略図である。
図1から図19を参照して、実施の形態における制御装置について説明する。本実施の形態の制御装置は、ロボットにより1つのワークを他のワークに向かって移動する時に力制御を行うためのパラメータを算出する。図1は、本実施の形態における第1のロボット装置の概略図である。第1のロボット装置5は、作業ツールとしてのハンド2と、ハンド2を移動するロボット1とを備える。
本実施の形態のロボット1は、複数の関節部18を含む多関節ロボットである。ロボット1は、移動可能な複数の構成部材を含む。ロボット1の構成部材は、それぞれの駆動軸の周りに回転するように形成される。ロボット1は、ベース部14と、ベース部14に対して回転する旋回ベース13とを含む。ロボット1は、上部アーム11および下部アーム12を含む。下部アーム12は、旋回ベース13に回動可能に支持されている。上部アーム11は、下部アーム12に回動可能に支持されている。ロボット1は、上部アーム11に回動可能に支持されている手首部15を含む。手首部15のフランジ16には、ハンド2が固定されている。また、上部アーム11およびフランジ16は、他の駆動軸の周りに回転する。
本実施の形態のロボットは、6個の駆動軸を有するが、この形態に限られない。任意の機構にて位置および姿勢を変更するロボットを採用することができる。また、本実施の形態の作業ツールは、2つの爪部を有するハンドであるが、この形態に限れられない。作業ツールは、ワークを把持できる任意の装置を採用することができる。
本実施の形態のロボット装置5には、基準座標系81が設定されている。図1に示す例では、ロボット1のベース部14に基準座標系81の原点が配置されている。基準座標系81はワールド座標系とも称される。基準座標系81は、原点の位置が固定され、更に、座標軸の向きが固定されている座標系である。ロボット1の位置および姿勢が変化しても基準座標系81の位置および姿勢は変化しない。本実施の形態の座標系は、座標軸として互いに直交するX軸、Y軸、およびZ軸を有する。また、座標系は、X軸の周りのW軸、Y軸の周りのP軸、およびZ軸の周りのR軸を有する。
ロボット装置5には、作業ツールの任意の位置に設定された原点を有するツール座標系が設定されている。本実施の形態では、ツール座標系の原点は、ハンド2の2つの爪部の先端同士の中間点であるツール先端点に設定されている。ツール座標系は、作業ツールと共に位置および姿勢が変化する座標系である。ロボット1の位置は、例えば、ツール座標系の原点の位置に対応する。また、ロボット1の姿勢は、基準座標系81に対するツール座標系の向きが対応する。
ロボット装置5には、手首部15のフランジ16に原点を有するフランジ座標系83が設定されている。フランジ座標系83は、フランジ16と共に移動および回転する座標系である。フランジ座標系83は、例えば、原点がフランジ16の表面に配置され、Z軸がフランジ16の回転軸に重なるように設定される。
図2に、本実施の形態におけるロボット装置のブロック図を示す。図1および図2を参照して、ロボット1は、ロボット1の位置および姿勢を変化させるロボット駆動装置を含む。ロボット駆動装置は、アームおよび手首部等の構成部材を駆動するロボット駆動モータ22を含む。本実施の形態では、それぞれの駆動軸に対応して複数のロボット駆動モータ22が配置されている。
ロボット装置5は、ハンド2を駆動するハンド駆動装置を備える。ハンド駆動装置は、ハンド2の爪部を駆動するハンド駆動モータ21を含む。ハンド駆動モータ21が駆動することによりハンド2の爪部が開いたり閉じたりする。なお、ハンドは、空気圧等により駆動するように形成されていても構わない。
ロボット装置5は、ロボット1およびハンド2を制御する制御装置4を備える。制御装置4は、制御を行う制御装置本体40と、作業者が制御装置本体40を操作するための教示操作盤37とを含む。制御装置本体40は、プロセッサとしてのCPU(Central Processing Unit)を有する演算処理装置(コンピュータ)を含む。演算処理装置は、CPUにバスを介して接続されたRAM(Random Access Memory)およびROM(Read Only Memory)等を有する。
教示操作盤37は、通信装置を介して制御装置本体40に接続されている。教示操作盤37は、ロボット1およびハンド2に関する情報を入力する入力部38を含む。入力部38は、キーボードおよびダイヤルなどの入力部材により構成されている。教示操作盤37は、ロボット1およびハンド2に関する情報を表示する表示部39を含む。表示部39は、液晶表示パネルまたは有機EL(Electro Luminescence)表示パネル等の任意の表示パネルにて構成されることができる。
制御装置4には、ロボット1およびハンド2の動作を行うために予め作成された動作プログラム46が入力される。または、作業者が教示操作盤37を操作してロボット1を駆動することにより、ロボット1の教示点を設定することができる。制御装置4は、教示点に基づいて、ロボット1およびハンド2の動作プログラム46を生成することができる。動作プログラム46は、記憶部42に記憶される。
制御装置本体40は、ロボット1およびハンド2の動作を制御する動作制御部43を含む。動作制御部43は、動作プログラム46に基づいて、ロボット1を駆動するための動作指令をロボット駆動部45に送出する。ロボット駆動部45は、ロボット駆動モータ22を駆動する電気回路を含む。ロボット駆動部45は、動作指令に基づいてロボット駆動モータ22に電気を供給する。また、動作制御部43は、動作プログラム46に基づいてハンド2を駆動する動作指令をハンド駆動部44に送出する。ハンド駆動部44は、ハンド駆動モータ21を駆動する電気回路を含む。ハンド駆動部44は、動作指令に基づいてハンド駆動モータ21に電気を供給する。
制御装置本体40は、ロボット1およびハンド2の制御に関する情報を記憶する記憶部42を含む。記憶部42は、情報の記憶が可能で非一時的な記憶媒体にて構成されることができる。例えば、記憶部42は、揮発性メモリ、不揮発性メモリ、磁気記憶媒体、または光記憶媒体等の記憶媒体にて構成することができる。
動作制御部43は、動作プログラム46に従って駆動するプロセッサに相当する。動作制御部43は、記憶部42に記憶された情報を読み取り可能に形成されている。プロセッサが動作プログラム46を読み込んで、動作プログラム46に定められた制御を実施することにより、動作制御部43として機能する。ロボット1は、ロボット1の位置および姿勢を検出するための状態検出器を含む。
本実施の形態における状態検出器は、それぞれの駆動軸のロボット駆動モータ22に取り付けられた回転位置を検出する位置検出器19を含む。位置検出器19は、ロボット駆動モータ22の出力シャフトの回転角を検出するエンコーダにより構成することができる。本実施の形態では、複数の位置検出器19の出力に基づいて、ロボット1の位置および姿勢が検出される。
第1のロボット装置5の制御装置4は、ロボット1に取り付けられた力検出器としての力覚センサ24を含む。本実施の形態の力覚センサ24は、6軸のセンサである。第1のロボット装置5では、力覚センサ24は、フランジ16とハンド2との間に配置されている。力覚センサ24は、ワーク71に作用する力およびモーメントを検出する。力覚センサ24としては、歪みセンサを含むセンサまたは静電容量式のセンサ等の任意の力覚センサを採用することができる。
本実施の形態における力覚センサ24にて検出される力には、センサ座標系における互いに直交する3軸の方向の力および3軸の周りの力が含まれる。より具体的には、力覚センサ24は、直交3軸(X軸、Y軸およびZ軸)方向の力と、3軸の回りの軸(W軸、P軸およびR軸)方向の力としてのモーメント(Mx,My,Mz)を検出する。
本実施の形態における第1のロボット装置5は、第2のワーク72に第1のワーク71を嵌合させる制御を実施する。ロボット装置5は、ロボット1にて第1のワーク71を第2のワーク72に向かって移動する。そして、矢印91に示すように、第2のワーク72の凹部72aに第1のワーク71を挿入する。
図3に、本実施の形態における第1のワークおよび第2のワークの拡大斜視図を示す。本実施の形態の第1のワーク71は、円柱の形状を有する。第1のワーク71の端面は円形である。第2のワーク72は、直方体の形状を有する。第2のワーク72は、作業台75に固定されている。第2のワーク72は表面に形成された凹部72aを有する。凹部72aは、円柱状に形成されている。凹部72aは、第1のワーク71が嵌合するように第1のワーク71の形状に対応する形状を有する。
制御装置4は、矢印91に示すように、円柱状のワーク71をワーク72の凹部72aに嵌合させる制御を実施する。このときに、ワーク71の中心軸71aと凹部72aの中心軸72aaとが一直線状になる場合には、ワーク71は、滑らかにワーク72の凹部72aに挿入される。しかしながら、中心軸72aaは中心軸71aに対して位置または姿勢がずれる場合がある。
図2および図3を参照して、制御装置4は、ワーク71を凹部72aに嵌合する時に、力覚センサ24の出力に基づいて力制御を実施する。本実施の形態では、力検出器にて検出される力に基づいて、ロボットの位置および姿勢を調整する制御を力制御と称する。力制御では、ワークが接触した時に生じる力を利用する。制御装置4は、力覚センサ24にて検出される力に基づいて、ワークの移動方向に直交する方向の速度を変化させる制御およびワークの向きを変化させる制御を実施することができる。制御装置4は、例えば、力覚センサ24にて検出される力に基づいて、コンプライアンス制御またはインピーダンス制御等を実施することができる。
このような力制御を実施する時には、力制御の基準となる制御点およびロボットにてワークを移動するための移動方向(ベクトル)が必要になる。制御点は、ロボットにて移動するワークおよびこのワークに接触する他のワークのうち、いずれか一方の任意の位置に配置することができる。第1のロボット装置5では、制御点としてのワーク先端点65を第1のワーク71の端面に設定する。本実施の形態では、ワーク先端点65は、第1のワーク71の端面において平面形状の円の中心に配置される。また、ワーク71を凹部72aに嵌合する時に、ロボット1に支持されたワーク71の移動方向として矢印66に示す方向が設定される。
図3を参照して、理想的には、制御点に加わる力が移動方向と反対の方向の力のみであり、制御点の周りのモーメントが零であれば、ワーク71が凹部72aに滑らかに挿入される。力制御では、例えば、制御点に加わる移動方向に平行な方向以外の力および制御点の周りのモーメントが所定の判定値未満になるように、ロボットの位置および姿勢を制御することができる。力制御を実施することにより、凹部72aに対する第1のワーク71の位置および姿勢を修正しながら嵌合の作業を行うことができる。
制御装置4は、力制御を実施する為のパラメータを算出するパラメータ算出部51を含む。パラメータ算出部51は、力制御を行う時に第2のワーク72に対して第1のワーク71を移動する移動方向を算出する移動方向算出部52を含む。パラメータ算出部51は、第1のワーク71の端面に配置されるワーク先端点の位置を算出する位置算出部53を含む。パラメータ算出部51は、教示操作盤37の表示部39に表示する画像を制御する表示制御部54を含む。
動作プログラム46には、力制御を実施するためのパラメータを算出するための計算プログラムが含まれている。パラメータ算出部51は、この計算プログラムに従って駆動するプロセッサに相当する。プロセッサが計算プログラムに定められた制御を実施することにより、パラメータ算出部51として機能する。更に、移動方向算出部52、位置算出部53、および表示制御部54のそれぞれのユニットは、計算プログラムに従って駆動するプロセッサに相当する。プロセッサが計算プログラムに定められた制御を実施することにより、それぞれのユニットとして機能する。
本実施の形態では、力制御を実施するためのパラメータを算出する制御をパラメータ設定手順と称する。第1のロボット装置5のパラメータ設定手順では、制御点としてのワーク先端点65の位置を算出する。また、第1のワーク71を第2のワーク72に対して移動する為の矢印66に示す移動方向(ベクトル)を算出する。
図4に、パラメータ設定手順においてロボットの操作を説明する第1のロボット装置の概略図を示す。図5に、第1のワークが第2のワークに接触している部分の拡大斜視図を示す。図4および図5を参照して、作業者は、教示操作盤37を操作することにより、ロボット1の位置および姿勢を手動で変更する。
作業者は、ワーク72の角部72bにワーク71の端面71bが接触するように、ロボット1の位置および姿勢を変更する。ここでの例では、第1のワーク71を接触させる為の接触部材として第2のワーク72を用いている。接触部材は、第1のワーク71に接触させることができる尖った先端にて構成される角部を有する部材である。
作業者は、ロボット1の位置および姿勢を変更して、ワーク71の端面71bにおいて、実際の嵌合の作業を行う時のワーク先端点をワーク72の角部72bに接触させる。ワーク71とワーク72との接触点がワーク先端点65となる。本実施の形態では、第2のワーク72に対して第1のワーク71を押付ける制御を複数回にて実施する。このときに、第2のワーク72に対して第1のワーク71を押し付ける方向を変更する。本実施の形態では、一つの部材を他の部材に向かって押し付ける方向を押付け方向と称する。押付け方向は、作業者が予め定めておくことができる。
パラメータ算出部51は、複数の押付け方向にて第1のワーク71を第2のワーク72に押付けた時に、それぞれの押付け方向に対応して力覚センサ24にて検出される力を取得する。パラメータ算出部51は、複数の押付け方向に対応する力に基づいて第1のワークの移動方向および第1のワークのワーク先端点の位置を算出する。
1回目の第1のワーク71を押付ける制御では、作業者は、矢印92に示す予め定められた押付け方向にて第1のワーク71を押し付けるように、ロボット1を駆動する。ここでの例では、矢印92は、実際の嵌合の作業を行う時に第1のワーク71を移動する方向(移動方向)に相当する。作業者は、円柱状のワーク71の中心軸にほぼ平行な方向にハンド2が移動するようにロボット1を駆動する。力覚センサ24は、第1のワーク71が第2のワーク72を押圧するようにロボット1を駆動している期間中にワーク71に加わる力を検出する。力覚センサ24には、センサに加わる力を検出するためのセンサ座標系82が設定されている。
2回目の第1のワーク71を押付ける制御では、作業者は、矢印93に示す予め定められた押付け方向にて第1のワーク71を押し付ける。1回目の第1のワーク71を押し付ける方向とは異なる方向にて、第1のワーク71を第2のワーク72に押し付けるように、ロボット1を駆動する。力覚センサ24は、第1のワーク71が第2のワーク72を押圧するようにロボット1を駆動している期間中にワーク71に加わる力を検出する。
図6に、ワークの押付け方向および接触点の位置を算出する方法を説明する第1の概略図を示す。ここでの例では、ハンドに対応する把持部材9にて第1のワーク71を把持している。把持部材9には力覚センサ24が取り付けられている。センサ座標系の原点82aが力覚センサ24に設定されている。図6は、1回目の押付け方向にて第1のワーク71を押し付けている状態を示す。ロボットを駆動することにより、第2のワーク72に向かって、矢印92に示す方向に第1のワーク71を押圧している。力覚センサ24は、センサ座標系におけるX軸、Y軸、およびZ軸の方向の力、およびW軸、P軸、およびR軸の方向のモーメントを検出する。
1回目の第1のワーク71を押付ける制御では、矢印92に示す方向に第1のワークを押し付ける。移動方向算出部52は、第2のワーク72に対して第1のワーク71を押し付ける方向を検出する。移動方向算出部52は、力覚センサ24にて出力される各直交軸(X軸、Y軸、およびZ軸)の力の成分を取得する。移動方向算出部52は、各直交軸の力の成分から、矢印92に示すワーク71の押付け方向を算出する。
力覚センサ24は、矢印96に示すように、直交軸の周りの各軸(W軸、P軸、およびR軸)のモーメント(Mx,My,Mz)を検出する。位置算出部53は、各軸のモーメントに基づいて、矢印97に示すように、センサ座標系82の原点82aからワークの押付け方向に平行な線に最も近くなる近接点67の位置ベクトルを算出する。位置算出部53は、矢印92に示すワーク71の押付け方向に平行であり、近接点67を通る作用線85を算出する。接触点としてのワーク先端点65は、作用線85上に存在する。このように、ワーク先端点65が存在する範囲として、近接点67を通る作用線85を算出することができる。
図7に、ワークの押付け方向および接触点の位置を算出する方法を説明する第2の概略図を示す。2回目のワークを押付ける制御では、第1のワーク71の押付け方向を1回目のワークを押付ける制御と異なる方向に設定する。すなわち、第1のワーク71を異なる方向に沿って、第2のワークに向かって押圧する。ここでは、矢印93に示す方向に第1のワーク71を押し付ける。移動方向算出部52は、各直交軸の力の成分から、矢印93に示すワーク71の押付け方向を算出する。位置算出部53は、近接点67を通り、ワーク71の押付け方向に平行な作用線86を算出する。ワーク先端点65は、作用線86上に存在する。
次に、位置算出部53は、1番目の押付け方向に対応する作用線85と2番目の押付け方向に対応する作用線86の交点を算出する。位置算出部53は、この交点をワーク先端点65に設定する。位置算出部53は、交点の位置をワーク先端点65の位置として算出する。このように、位置算出部53は、複数の作用線の交点をワーク先端点として算出することができる。
また、移動方向算出部52は、複数回のワークを押付ける制御のうち、検出された1つの押付け方向を、力制御を実施する時の移動方向に設定することができる。ここでの例では、移動方向算出部52は、1回目の押付ける制御における矢印92に示す方向を移動方向に設定する。作業者は、複数回の押付ける制御にて算出された複数の押付け方向のうち、移動方向に設定する押付け方向を選定することができる。
更に、本実施の形態では、2つの押付け方向にてワークを押付ける制御を実施しているが、この形態に限られない。3つ以上の押付け方向にてワークを押付ける制御を実施しても構わない。この場合には、1つのワークに対して他のワークを押し付ける方向が互いに異なるように、ロボットを駆動することが好ましい。位置算出部は、それぞれの押付け方向に対応して検出器にて検出される力を取得する。位置算出部は、複数の押付け方向に対応する複数の作用線を算出する。位置算出部は、複数の作用線の交点を接触点として算出することができる。ワークの押付け方向の数を増やすことにより、接触点を算出する精度が向上する。
なお、複数の作用線を算出した時に、測定誤差等により複数の作用線同士が1点で交わらない場合がある。2つの押付け方向からワークを押し付ける場合には、2つの作用線が最も接近する点同士を結ぶ線分の中点を接触点と算出しても構わない。また、3つ以上の押付け方向からワークを押し付ける場合に、複数の作用線のうち少なくとも一つの作用線が他の作用線と交わらない場合が有る。この場合に、位置算出部は、複数の作用線からの距離に基づいてワーク先端点の位置を算出することができる。位置算出部は、複数の作用線からの距離が小さくなるような点を接触点として算出することができる。たとえば、位置算出部は、複数の作用線からの距離の総和または分散が最も小さくなる点を接触点として算出することができる。
図8に、第1のワークに設定されたワーク先端点およびワークの移動方向を示すロボット装置の概略図を示す。第1のロボット装置5では、矢印66に示す移動方向およびワーク先端点65は、第1のワーク71と共に移動する。移動方向およびワーク先端点の位置は、センサ座標系82の座標値にて算出することができる。具体的には、移動方向算出部52は、矢印66に示す移動方向をセンサ座標系82にて算出することができる。また、位置算出部53は、ワーク先端点65の位置をセンサ座標系82にて算出することができる。
ロボット1のフランジ16に設定されたフランジ座標系83に対するセンサ座標系82の相対的な位置および姿勢は予め定められている。パラメータ算出部51は、センサ座標系82の座標値をフランジ座標系83の座標値に変換できるように較正されている。パラメータ算出部51は、センサ座標系82にて表現された移動方向およびワーク先端点の位置を、フランジ座標系83にて表現された移動方向およびワーク先端点の位置に変換する。
パラメータ算出部51は、フランジ座標系83にて表現された移動方向およびワーク先端点の位置を力制御のパラメータ(設定値)として動作プログラム46に設定することができる。または、表示制御部54は、算出された移動方向およびワーク先端点の位置を表示部39に表示することができる。作業者は、表示部39の表示を見て、動作プログラム46にワーク先端点の位置および移動方向を設定することができる。
次に、作業者は、ワーク71を嵌合する作業を開始する時のワーク72に対するワーク71の位置および姿勢を指定する。作業者は、教示操作盤37を操作して、図1および図3に示すように、凹部72aの真上にワーク71が配置されるようにロボット1の位置および姿勢を変更する。凹部72aの中心軸72aaとワーク71の中心軸71aとが、ほぼ直線状に配置されるように、ワーク71の位置および姿勢を変更する。この時のロボット1の位置および姿勢は、第1のワーク71を第2のワーク72に嵌合する時の制御を開始する初期のロボットの位置および姿勢となる。
パラメータ算出部51は、初期のロボットの位置および姿勢を動作プログラム46に設定する。または、表示制御部54は初期のロボットの位置および姿勢を表示部39に表示して、作業者が動作プログラム46に設定することができる。
図1および図3を参照して、実際の嵌合の作業において、動作制御部43は、動作プログラム46に基づいて、ワーク71が初期の位置および姿勢になるようにロボット1の位置および姿勢を制御する。次に、動作制御部43は、力制御を開始する。動作制御部43は、ワーク71を矢印66に示す移動方向に移動させる。第1のワーク71が第2のワーク72に接触すると、力覚センサ24にて力が検出される。
動作制御部43は、力覚センサ24にて検出される力をワーク先端点65に作用する力に変換することができる。そして、ワーク先端点65に作用する力が所定の判定範囲内になるようにロボットの位置および姿勢を制御することができる。このように、矢印66にて示す移動方向およびワーク先端点65の位置に基づいて力制御を実施することができる。
従来の技術では、ワーク先端点の位置およびワークを嵌合する方向を定めるための座標系を設定する必要があった。例えば、作業台に固定されたワークの凹部に他のワークを嵌合する場合に、ワークの凹部に対してユーザー座標系を設定する必要があった。これに対して、本実施の形態におけるパラメータ設定手順では、ワークに対して座標系を設定する必要がなく、容易に力制御を実施するためのパラメータを設定することができる。特に、本実施の形態では、3次元空間に座標系を設定する必要はない。このために、ロボットの操作を熟知していない作業者でも、容易に力制御のパラメータを設定することができる。
上記の実施の形態においては、第1のワーク71を接触させる接触部材として、第2のワーク72を用いているが、この形態に限られない。接触部材としては頂点を有する角部を含む任意の部材を採用することができる。例えば、角部を有する治具を作業台に固定して、治具の角部に第1のワークの端面を接触させても構わない。
上記の実施の形態においては、教示操作盤にてロボットを操作して第1のワークを第2のワークに接触させているが、この形態に限られない。作業者は、手動でロボットの位置および姿勢を変更する任意の制御を実施することができる。例えば、ロボットのベース部に力覚センサを配置して、ダイレクトティーチングと同様のロボットの操作を行うことができる。作業者は、ロボットの構成部材を直接的に押したり引いたりすることにより、ロボットの位置および姿勢を変更することができる。
図2を参照して、本実施の形態における表示制御部54は、第1のワーク71の端面71bを第2のワーク72の角部72bに接触させる操作を実施している時に、第1のワーク71を押し付ける力の向きが分かる様に画像を表示することができる。
図9に、表示部に表示される画像を示す。画像61では、第1のワークが第2のワークに接触する部分が拡大されている。図2および図9を参照して、本実施の形態においては、ロボット装置5、第1のワーク71、および第2のワーク72の3次元形状データ58が記憶部42に記憶されている。表示制御部54は、3次元形状データ58に基づいて、それぞれの部材のモデルを作成する。
実際のロボット装置の位置およびワークの位置は、予め入力されている。表示制御部54は、実際のロボット装置の位置およびワークの位置に応じて仮想空間にモデルを配置する。表示制御部54は、所定の方向から見た時のワークのモデルの画像を生成する。また、表示制御部54は、位置検出器19の出力に基づいてロボット1の位置および姿勢を取得する。表示制御部54は、ロボット1の位置および姿勢に基づいて、ロボット装置のモデルの画像を生成する。
画像61では、第1のワークのモデル71M、第2のワークのモデル72Mが表示されている。また、ロボット装置のモデルのうち、ハンドのモデル2M、力覚センサのモデル24M、手首部のモデル15M、および上部アームのモデル11Mが表示されている。
表示制御部54は、移動方向算出部52からワーク71の押付け方向を取得する。表示制御部54は、押付け方向を示す矢印を画像に表示する。ここでは、表示制御部54は、第2のワークのモデル72Mの角部から延びるようにワーク71が押圧している方向の矢印99Mを表示する。
このように、表示制御部54は、第1のワーク71および第2のワーク72のうち一方のワークを他方のワークに向かって押し付けるようにロボットを駆動している期間中に、移動方向算出部52にて算出されるワークの押付け方向を取得してロボット1の画像に重ねて表示する。なお、2回目以降のワークを押付ける制御を実施することにより、位置算出部53は、接触点の位置を算出することができる。このために、表示制御部54は、位置算出部53から接触点の位置を取得して、ロボット1の画像に重ねて接触点を表示しても構わない。
作業者は、表示部39に表示される画像61にて第2のワーク72に対する第1のワーク71の押付け方向を確認することができる。作業者は、ワークの押付け方向が妥当であるか否かを判断することができる。例えば、第1のワークを押し付けている方向を第1のワークの移動方向に設定する場合に、作業者は押付け方向が妥当であるか否かを判断することができる。そして、作業者は、画像61を見ながらロボット1の位置および姿勢を変更することができる。
作業者は、実際のワークが接触している部分を目視しにくい場合がある。または、ワークが小さくて、押し付けているワークの姿勢を確認しにくい場合が有る。このような場合にも、作業者は、表示部に表示される画像を見ながら1つのワークが他のワークを押圧している方向を調整することができる。
なお、表示制御部54は、ワークの押付け方向および接触点の位置に関する任意の情報を表示部に表示することができる。例えば、移動方向または接触点の位置を予め定められた座標系の座標値にて表示しても構わない。例えば、ワークの押付け方向を基準座標系におけるW軸、P軸、およびR軸の座標値にて表示しても構わない。
図10に、本実施の形態における第2のロボット装置の概略図を示す。第2のロボット装置6では、第1のワーク71が作業台75に固定されている。第2のワーク72は、ハンド2に把持されて第2のロボット装置6にて移動する。第2のロボット装置6は、矢印91に示すようにワーク72を移動して、ワーク72の凹部72aの内部にワーク71を嵌合する作業を実施する。
第2のロボット装置6においても、第1のロボット装置5と同様に、第1のワーク71の先端に加わる所定の方向の力が小さくなるようにロボット1の位置および姿勢を制御する力制御を実施する。特に、ワーク71の先端に加わる移動方向に平行な方向以外の力およびワーク71の先端に加わるモーメントが零に近づくように、ロボット1の位置および姿勢を制御する。パラメータ設定手順では、力制御を実施するために、第1のワーク71の端面71bにワーク先端点を設定する。また、第1のワーク71に対して第2のワーク72を移動する移動方向を設定する。
図11に、第2のワークの角部を第1のワークに接触させる時の第2のロボット装置の概略図を示す。図12に、第2のワークが第1のワークに接触する部分の拡大斜視図を示す。図11および図12を参照して、作業者は、手動操作によりロボット装置を駆動して第1のワーク71に対して接触部材としての第2のワーク72を押付ける制御を実施する。作業者は、第2のワーク72の角部72bをワーク71の端面71bに接触させる。この時に、作業者は、実際の嵌合の作業におけるワーク先端点に角部72bを接触させる。
パラメータ算出部51は、複数の押付け方向にて第2のワーク72を第1のワーク71に押付けた時に、それぞれの押付け方向に対応して力覚センサ24にて検出される力を取得する。パラメータ算出部51は、複数の押付け方向に対応する力に基づいて第2のワーク72の移動方向および第1のワーク71のワーク先端点の位置を算出する。
1回目の第2のワーク72を押付ける制御では、矢印94に示す予め定められた押付け方向に、第2のワーク72を押し付けるように、ロボット1を駆動する。ここでは、実際の嵌合の作業において第2のワーク72を移動する方向(移動方向)に沿って第1のワーク71に押し付けるようにロボット1を駆動する。第1のワーク71の中心軸が延びる方向と平行な方向に第2のワーク72を押し付けるように、ロボット1の位置および姿勢を変更する。力覚センサ24は、第2のワーク72を第1のワーク71に押し付けている期間中に第2のワーク72に加わる力を検出する。
また、2回目の第2のワーク72を押付ける制御では、矢印95に示す予め定められた押付け方向に第2のワーク72を押し付けるように、ロボット1を駆動する。2回目の押付け方向は、1回目の押付け方向とは異なる方向を採用する。力覚センサ24は、第2のワーク72を第1のワーク71に押し付けている期間中に第2のワーク72に加わる力を検出する。
図13に、第2のワークの角部を第1のワークの端面に押し付けることにより設定されたパラメータを説明するロボット装置の概略図を示す。図2、図12、および図13を参照して、パラメータ算出部51の移動方向算出部52は、センサ座標系における直交軸方向の力に基づいて押付け方向を算出することができる。移動方向算出部52は、力覚センサ24の出力に基づいて算出した1つの押付け方向を、矢印66に示す移動方向に設定する。
また、パラメータ算出部51の位置算出部53は、押付け方向およびセンサ座標系における直交軸周りのモーメントに基づいて作用線を算出する。位置算出部53は、力覚センサ24の出力に基づいて、複数の押付け方向に対応する複数の作用線を算出する。そして、位置算出部53は、複数の作用線に基づいて、ワーク71のワーク先端点65の位置を算出することができる。
パラメータ算出部51は、第2のワーク72が第1のワーク71に接触している時に、センサ座標系82にて移動方向およびワーク先端点の位置を算出する。次に、パラメータ算出部51は、第2のワーク72が第1のワーク71に接触している時のロボットの位置および姿勢に基づいて、センサ座標系82にて表現されたワーク先端点65の位置および移動方向を、基準座標系81にて表現されたワーク先端点65の位置および移動方向に変換する。
そして、第2のロボット装置6においては、パラメータ算出部51は、基準座標系81にてワーク先端点65の位置および移動方向を動作プログラム46に設定する。または、作業者は、表示部39に表示されたワーク先端点65の位置および移動方向を動作プログラム46に設定することができる。このように、作業台に固定された第1のワーク71に第2のワーク72を嵌合する時には、作業台に固定された第1のワーク71に対して、ワーク先端点65および移動方向を設定することができる。
次に、作業者は、ワーク71にワーク72を嵌合する制御を実施する時の初期の第2のワーク72の位置および姿勢を設定する。作業者は、ロボット1を手動にて操作することにより、図10に示すようにワーク71に対してワーク72の凹部72aを真上に配置する。作業者は、ワーク71の中心軸71aが凹部72aの中心軸72aaとほぼ一致するように、ロボットの位置および姿勢を調整する。パラメータ算出部51または作業者は、ワークを嵌合する制御を開始する初期のロボットの位置および姿勢として、この時のロボットの位置および姿勢を動作プログラム46に設定する。
第1のワーク71に第2のワーク72を実際に嵌合する制御においては、第1のロボット装置と同様の力制御を実施することができる。動作制御部43は、初期の位置および姿勢になるようにロボット1を駆動した後に、力制御を開始する。動作制御部43は、移動方向に第2のワークを移動するようにロボット1を駆動する。力覚センサ24にて検出される力(X軸、Y軸およびZ軸方向の力と、W軸、P軸およびR軸方向のモーメント)は、ロボットの位置および姿勢に基づいてワーク先端点65に作用する力に変換される。動作制御部43は、ワーク先端点65に加わる所定の方向の力が予め定められた判定範囲内になるように、ロボットの位置および姿勢を制御する。このように、制御装置4は、ワーク先端点65および矢印66に示す移動方向に基づいて、力制御を実施することができる。
第2のロボット装置においても、パラメータ算出部51の表示制御部54は、第2のワーク72を第1のワーク71に向かって押し付けるようにロボット1を駆動している時の画像を表示部39に表示することができる。表示制御部54は、移動方向算出部52にて算出される移動方向を取得して、ロボット1の画像に移動方向を重ねて表示する。また、表示制御部54は、位置算出部53にて算出されたワーク先端点65を画像に表示しても構わない。
上記の実施の形態においては、第1のワークに接触させる接触部材として第2のワークを採用しているが、この形態に限られない。接触部材としては、先端を有する角部を含む任意の部材を採用することができる。例えば、角部を含む治具をロボット装置にて移動しても構わない。
その他の第2のロボット装置の構成、作用、および効果は、第1のロボット装置と同様であるので、ここでは説明を繰り返さない。
図14に、本実施の形態における第3のロボット装置の概略図を示す。第3のロボット装置7においては、力覚センサ24が配置されている位置が第1のロボット装置5と異なる。力覚センサ24は、作業台75に支持される第2のワーク72と作業台75の表面との間に配置されている。力覚センサ24は、支持部材26を介して作業台75に固定されている。第2のワーク72は、力覚センサ24および支持部材26を介して作業台75に固定されている。第3のロボット装置7においても、第1のロボット装置5のパラメータ設定手順と同様の制御を実施することができる。
図15に、第2のワークに対して第1のワークを押し付けている時の第3のロボット装置の概略図を示す。作業者は、第1のロボット装置5と同様に、第1のワーク71のワーク先端点を第2のワーク72の角部72bに接触させる。1回目の第1のワーク71を押付ける制御では、矢印92に示すように、第1のワーク71を第2のワーク72に向かって押し付ける。ここでは、実際の嵌合の作業において第1のワーク71を移動させる移動方向に平行な方向に、第1のワーク71を第2のワークに向かって押し付ける。力覚センサ24は、第2のワーク72に加わる力を検出する。
次に、2回目の第1のワーク71を押付ける制御では、矢印93に示すように、第1のワーク71を第2のワーク72に向かって押し付ける。矢印93に示す押付け方向は、矢印92に示す押付け方向とは異なる方向である。力覚センサ24は、第2のワーク72に加わる力を検出する。
移動方向算出部52は、力覚センサ24にて検出される力(X軸、Y軸、およびZ軸方向の力)に基づいて、第2のワーク72に作用する押付け方向を算出する。第2のワーク72に作用する押付け方向は、第2のワーク72に対して第1のワーク71を押し付けている方向に相当する。移動方向算出部52は、矢印92に示す押付け方向を移動方向に設定する。
位置算出部53は、押付け方向と力覚センサ24にて検出される力(W軸、P軸、およびR軸の方向のモーメント)に基づいて、ワーク先端点の位置を算出する。位置算出部53は、複数の押付け方向に基づく複数の作用線を算出し、複数の作用線に基づいてワーク先端点の位置を算出する。パラメータ算出部51は、センサ座標系82にて移動方向と接触点の位置を算出する。パラメータ算出部51は、第1のワーク71のワーク先端点が第2のワークの角部に接触している時のロボット1の位置および姿勢を取得する。
パラメータ算出部51は、ロボット1の位置および姿勢に基づいて、センサ座標系82にて表現された移動方向およびワーク先端点の位置を、フランジ座標系83にて表現された移動方向およびワーク先端点の位置に変換する。パラメータ算出部51または作業者は、フランジ座標系83にて表現された移動方向およびツール先端点の位置を力制御のパラメータとして動作プログラム46に設定することができる。
図16に、パラメータ算出部にて算出されたワーク先端点とワークの移動方向を説明する第3のロボット装置の斜視図を示す。ワーク先端点65および矢印66に示す移動方向は、第1のロボット装置5と同様に、ハンド2に把持された第1のワーク71に設定される。ワーク先端点65および移動方向は、第1のワーク71と共に移動する。
動作制御部43は、第1のワーク71を凹部72aに嵌合する作業を実施する時に、力覚センサ24にて検出される力を、ロボット1の位置および姿勢に基づいて、ワーク先端点65に作用する力に変換することができる。そして、第3のロボット装置7においても、第1のロボット装置5と同様の力制御を実施することができる。すなわち、第1のワーク71を凹部72aに嵌合する作業を実施する時に、ワーク先端点65および矢印66に示す移動方向に基づいて力制御を実施することができる。
第3のロボット装置においても、第2のワークの代わりに角部を有する任意の治具を接触部材として作業台に固定しても構わない。この場合にも、治具の角部に第1のワークを押付ける制御を実施することができる。
第3のロボット装置7においては、接触部材を作業台に固定して、ロボットにて第1のワークを移動しているが、この形態に限られない。第2のロボット装置6と同様に、第1のワークを作業台に固定して、ロボットにて接触部材を移動しても構わない。例えば、第1のワークを力覚センサを介して作業台に固定して、第2のワークをロボット装置にて把持して移動しても構わない。この場合に、力覚センサ24は、第1のワークに加わる力を検出する。また、第2のロボット装置6と同様に、作業台に固定される第1のワークにワーク先端点および移動方向を設定することができる(図12を参照)。パラメータ設定手順では、作業台に固定された力覚センサの出力に基づいて、ワーク先端点の位置および移動方向を設定することができる。
その他の第3のロボット装置の構成、作用、および効果は、第1のロボット装置および第2のロボット装置と同様であるので、ここでは説明を繰り返さない。
図17に、本実施の形態における第4のロボット装置の概略図を示す。第4のロボット装置8では、ロボット1または作業台75に固定された力覚センサ24の代わりに、力検出器としてのトルクセンサ25が配置されている。複数のトルクセンサ25は、ロボット1の複数の関節部18の駆動軸に配置されている。本実施の形態では、6個の全ての駆動軸にトルクセンサ25が配置されている。それぞれのトルクセンサ25は、関節部18の駆動軸の周りのトルクを検出する。
図2を参照して、第4のロボット装置8では、第1のロボット装置5の力覚センサ24の代わりにトルクセンサ25が配置されている。トルクセンサ25の出力はパラメータ算出部51に送信される。パラメータ算出部51は、それぞれのトルクセンサ25から出力された力(駆動軸周りのトルク)に基づいて、第1のワーク71におけるワーク先端点の位置および第1のワーク71の移動方向を算出する。
図18に、第1のワークを第2のワークの角部に接触させている時のロボット装置の概略図を示す。作業者は、第1のロボット装置5と同様に、第1のワーク71のワーク先端点を第2のワーク72の角部に接触させる。1回目の第1のワーク71を押付ける制御では、矢印92に示すように、第1のワーク71を第2のワーク72に向かって押し付けるようにロボット1を駆動する。矢印92に示す押付け方向は、実際の嵌合の作業における第1のワーク71の移動方向に対応する。
トルクセンサ25は、それぞれの駆動軸の周りのトルクを検出する。移動方向算出部52は、複数のトルクセンサ25の出力に基づいて、矢印92に示す第1のワーク71の押付け方向を算出することができる。移動方向算出部52は、力のつり合いまたは仮想仕事の原理を用いて押付け方向を算出することができる。矢印92は、ワーク先端点としての接触点が存在する作用線に相当する。移動方向算出部52は、矢印92に示す第1のワーク71の押付け方向を移動方向に設定することができる。
第4のロボット装置8において、1つの方向にてワークを押付ける制御では、押付け方向を取得することが出来るが、ワーク先端点の位置(ワーク同士が接触する接触点の位置)を算出することができない。第4のロボット装置8では、押付け方向の直線上に配置される接触点の位置を特定するために、他の方向からワーク71をワーク72に向かって押し付けてワーク先端点の位置を算出する。
ここでは、ロボット1の位置および姿勢を維持した状態で、1回目の押付け方向とは異なる方向から第1のワーク71を押付ける制御を実施する。2回目の第1のワーク71を押付ける制御では、矢印93に示す方向にて第1のワーク71を第2のワーク72の角部72bに押し付けるようにロボット1を駆動する。移動方向算出部52は、複数のトルクセンサ25の出力に基づいて、矢印93に示す第1のワーク71の押付け方向を算出する。矢印93は、接触点が存在する作用線に相当する。
位置算出部53は、ワーク71を押し付けている2つの押付け方向の交点を第1のワーク71が第2のワーク72に接触している接触点として算出する。すなわち、位置算出部53は、矢印92と矢印93の交点の位置をワーク先端点65の位置として算出する。このように、2方向以上から第1のワークを角部に押付ける制御を実施することにより、押し付ける方向のベクトルの交点をワーク先端点の位置として算出することができる。
図19に、力制御のために生成されたパラメータを説明する第4のロボット装置の概略図を示す。第4のロボット装置8のパラメータ算出部51は、ワーク先端点65の位置および矢印66に示す移動方向をフランジ座標系にて算出する。ワークを嵌合する制御では、動作制御部43は、複数のトルクセンサ25の出力に基づいて、ワーク先端点65に作用する力を算出する。動作制御部43は、ワーク先端点65の位置および移動方向に基づいて力制御を実施することができる。
第4のロボット装置8においては、ロボット1が第1のワーク71を支持して、第1のワーク71を第2のワーク72の凹部72aに挿入しているが、この形態に限られない。第2のロボット装置6と同様に、第1のワーク71を作業台75に固定して第4のロボット装置8が第2のワーク72を移動しても構わない。この場合に、ワーク先端点および移動方向は、第1のワークに設定される。移動方向およびワーク先端点の位置を算出するために、作業者は、第2のワーク72などの接触部材をロボットにて移動して、接触部材の角部を第1のワーク71のワーク先端点に接触させる。パラメータ算出部51は、トルクセンサ25の出力に基づいてワーク先端点の位置および移動方向を算出することができる。
その他の第4のロボット装置の構成、作用、および効果は、第1のロボット装置から第3のロボット装置と同様であるので、ここでは説明を繰り返さない。
上記の実施の形態では、ワーク先端点の位置を算出する時に、一つのワークの姿勢を変更せずに他のワークに押し付ける方向を変えて測定を行ったが、この形態に限られない。2回目以降の押付ける制御では、他のワークに対して一つのワークを押付ける相対的な方向を変更すれば良い。例えば、第1のワークを第2のワークに押し付ける場合に、2回目の第1のワークを押付ける制御では第2のワークに対する第1のワークの姿勢を変更することができる。そして、基準座標系において1回目の押付け方向と同じ方向にて第1のワークを第2のワークに押付ける制御を実施することができる。この場合にも、押付け方向に対応する作用線に基づいてワーク先端点の位置を算出することができる。
上記の実施の形態では、円柱状のワークを嵌合する制御を示しているが、任意の形状のワークに本実施の形態の制御を適用することができる。また、本実施の形態では、一つのワークを他のワークに嵌合する制御を示しているが、この形態に限られない。本実施の形態の制御装置は、ワーク同士の面合わせ、または、穴の探索などの一つのワークに向かって他のワークを移動する任意の作業に適用することができる。特に、ロボットがワークを移動する時にワークが他の物に接触するために、力制御を行う作業に本実施の形態の制御を適用することができる。また、嵌合を行う作業としては、凹部または穴部にワークを挿入する作業に限られず、例えば、ギヤの歯の位相を合わせながらギヤを所定の位置に配置する作業が含まれる。
上記の実施の形態は、適宜組み合わせることができる。上述のそれぞれの図において、同一または相等する部分には同一の符号を付している。なお、上記の実施の形態は例示であり発明を限定するものではない。また、実施の形態においては、請求の範囲に示される実施の形態の変更が含まれている。
1 ロボット
2 ハンド
4 制御装置
9 把持部材
15 手首部
16 フランジ
18 関節部
24 力覚センサ
25 トルクセンサ
37 教示操作盤
39 表示部
40 制御装置本体
43 動作制御部
51 パラメータ算出部
52 移動方向算出部
53 位置算出部
54 表示制御部
61 画像
65 ワーク先端点
66 矢印
71,72 ワーク
71b 端面
72b 角部
75 作業台
81 基準座標系
82 センサ座標系
83 フランジ座標系
85,86 作用線
99M 矢印

Claims (10)

  1. ロボットにて第1のワークを第2のワークに向かって移動する時に力制御を行うためのパラメータを算出する制御装置であって、
    角部を有する接触部材に前記ロボットにて第1のワークを接触させた時に、第1のワークおよび接触部材のうち一方に加わる力を検出する力検出器と、
    力制御を行う時に第2のワークに対して第1のワークを移動する移動方向および力制御の制御点となるワーク先端点の位置を算出するパラメータ算出部と、を備え、
    前記力検出器は、前記ロボットにて第1のワークのワーク先端点を接触部材の角部に接触させて、第1のワークを予め定められた押付け方向に沿って押し付けている期間中に力を検出し、
    前記パラメータ算出部は、複数の押付け方向にて第1のワークを接触部材に押付けた時に、それぞれの押付け方向に対応して前記力検出器にて検出される力を取得し、複数の押付け方向に対応する力に基づいて第1のワークの移動方向および第1のワークのワーク先端点の位置を算出する、制御装置。
  2. ロボットにて第2のワークを第1のワークに向かって移動する時に力制御を行うためのパラメータを算出する制御装置であって、
    前記ロボットにて角部を有する接触部材を第1のワークに接触させた時に、第1のワークおよび接触部材のうち一方に加わる力を検出する力検出器と、
    力制御を行う時に第1のワークに対して第2のワークを移動する移動方向および力制御の制御点となるワーク先端点の位置を算出するパラメータ算出部と、を備え、
    前記力検出器は、前記ロボットにて接触部材の角部を第1のワークのワーク先端点に接触させて、接触部材を予め定められた押付け方向に沿って押し付けている期間中に力を検出し、
    前記パラメータ算出部は、複数の押付け方向にて接触部材を第1のワークに押付けた時に、それぞれの押付け方向に対応して前記力検出器にて検出される力を取得し、複数の押付け方向に対応する力に基づいて第2のワークの移動方向および第1のワークのワーク先端点の位置を算出する、制御装置。
  3. 前記力検出器は、前記ロボットまたはワークを支持する作業台に取り付けられた6軸の力覚センサを含む、請求項1または2に記載の制御装置。
  4. 前記ロボットは、フランジを有する手首部を含み、
    前記力検出器は、フランジと作業ツールとの間に配置されている、請求項1から3のいずれか一項に記載の制御装置。
  5. 前記力検出器は、作業台に支持されるワークと作業台の表面との間に配置されている、請求項1から3のいずれか一項に記載の制御装置。
  6. 前記ロボットは、複数の駆動軸を有する多関節ロボットであり、
    前記力検出器は、それぞれの駆動軸に配置されたトルクセンサを含む、請求項1または2に記載の制御装置。
  7. 前記ロボットの画像を表示する表示部と、
    表示部に表示する画像を制御する表示制御部と、を備え、
    前記表示制御部は、第1のワークおよび接触部材のうち一方の部材を他の部材に向かって押し付けるように前記ロボットを駆動している期間中に、前記パラメータ算出部にて算出される押付け方向を取得し、前記ロボットの画像に押付け方向を重ねて表示する、請求項1から6のいずれか一項に記載の制御装置。
  8. 前記パラメータ算出部は、それぞれの押付け方向に対応して検出器にて検出される力に基づいて、ワーク先端点が存在する作用線を算出し、複数の作用線の交点をワーク先端点として算出する、請求項1から7のいずれか一項に記載の制御装置。
  9. 前記パラメータ算出部は、それぞれの押付け方向に対応して検出器にて検出される力に基づいて、ワーク先端点が存在する作用線を算出し、複数の作用線のうち少なくとも一つの作用線が他の作用線と交わらない場合に、複数の作用線からの距離に基づいてワーク先端点の位置を算出する、請求項1から7のいずれか一項に記載の制御装置。
  10. 前記ロボットの動作を制御する動作制御部を備え、
    前記動作制御部は、前記パラメータ算出部にて算出されるワーク先端点の位置および移動方向に基づいて、作業台に固定されているワークに対して前記ロボットにて支持されるワークを嵌合させる制御を実施する、請求項1から9のいずれか一項に記載の制御装置。
JP2023511071A 2021-03-30 2022-03-23 ロボットの位置および姿勢を制御するパラメータを算出する制御装置 Active JP7477716B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2021057646 2021-03-30
JP2021057646 2021-03-30
PCT/JP2022/013623 WO2022210186A1 (ja) 2021-03-30 2022-03-23 ロボットの位置および姿勢を制御するパラメータを算出する制御装置

Publications (2)

Publication Number Publication Date
JPWO2022210186A1 JPWO2022210186A1 (ja) 2022-10-06
JP7477716B2 true JP7477716B2 (ja) 2024-05-01

Family

ID=83456660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023511071A Active JP7477716B2 (ja) 2021-03-30 2022-03-23 ロボットの位置および姿勢を制御するパラメータを算出する制御装置

Country Status (6)

Country Link
US (1) US20240165822A1 (ja)
JP (1) JP7477716B2 (ja)
CN (1) CN116997445A (ja)
DE (1) DE112022000796T5 (ja)
TW (1) TW202239551A (ja)
WO (1) WO2022210186A1 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011194499A (ja) 2010-03-18 2011-10-06 Fanuc Ltd ロボットを用いた嵌合装置
JP2012157946A (ja) 2011-02-01 2012-08-23 Fanuc Ltd 力センサの出力に基づいてロボットのダイレクトティーチをおこなうロボット教示装置
JP2014128857A (ja) 2012-12-28 2014-07-10 Yaskawa Electric Corp ロボット教示システムおよびロボット教示方法
JP2016221642A (ja) 2015-06-02 2016-12-28 セイコーエプソン株式会社 ロボット、ロボット制御装置、ロボット制御方法およびロボットシステム
JP2017001122A (ja) 2015-06-08 2017-01-05 ファナック株式会社 ロボットと力の表示機能を備えたロボット制御装置
JP2018015855A (ja) 2016-07-29 2018-02-01 セイコーエプソン株式会社 ロボット制御装置、ロボット、及びロボットシステム
JP2018118340A (ja) 2017-01-24 2018-08-02 ファナック株式会社 力制御押付装置を備えたロボットシステム
WO2022009765A1 (ja) 2020-07-08 2022-01-13 ファナック株式会社 ロボット制御装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011194499A (ja) 2010-03-18 2011-10-06 Fanuc Ltd ロボットを用いた嵌合装置
JP2012157946A (ja) 2011-02-01 2012-08-23 Fanuc Ltd 力センサの出力に基づいてロボットのダイレクトティーチをおこなうロボット教示装置
JP2014128857A (ja) 2012-12-28 2014-07-10 Yaskawa Electric Corp ロボット教示システムおよびロボット教示方法
JP2016221642A (ja) 2015-06-02 2016-12-28 セイコーエプソン株式会社 ロボット、ロボット制御装置、ロボット制御方法およびロボットシステム
JP2017001122A (ja) 2015-06-08 2017-01-05 ファナック株式会社 ロボットと力の表示機能を備えたロボット制御装置
JP2018015855A (ja) 2016-07-29 2018-02-01 セイコーエプソン株式会社 ロボット制御装置、ロボット、及びロボットシステム
JP2018118340A (ja) 2017-01-24 2018-08-02 ファナック株式会社 力制御押付装置を備えたロボットシステム
WO2022009765A1 (ja) 2020-07-08 2022-01-13 ファナック株式会社 ロボット制御装置

Also Published As

Publication number Publication date
TW202239551A (zh) 2022-10-16
CN116997445A (zh) 2023-11-03
DE112022000796T5 (de) 2023-11-23
US20240165822A1 (en) 2024-05-23
JPWO2022210186A1 (ja) 2022-10-06
WO2022210186A1 (ja) 2022-10-06

Similar Documents

Publication Publication Date Title
CN110997249B (zh) 作业机器人和作业机器人的控制方法
US11465288B2 (en) Method of controlling robot
CN107962563B (zh) 控制装置、机器人以及机器人系统
US20150127141A1 (en) Robot, control device, robot system and robot control method
CN106493711B (zh) 控制装置、机器人以及机器人系统
JP6592053B2 (ja) 作業ツールの移動方向を監視する制御装置
CN112368116A (zh) 附接到机器人臂的有效载荷的估计
CN109129525B (zh) 机器人的负载重心位置推定装置及负载重心位置推定方法
US11331810B2 (en) Device, method and program for estimating weight and position of gravity center of load by using robot
JP4054984B2 (ja) ロボットの制御装置および制御方法
US11123864B2 (en) Motion teaching apparatus, robot system, and motion teaching method
CN112405566A (zh) 机器人控制装置
WO2019017416A1 (ja) 作業用ロボット、作業用ロボットの制御方法
JP7477716B2 (ja) ロボットの位置および姿勢を制御するパラメータを算出する制御装置
JPH06143171A (ja) ロボット
CN116852359A (zh) 一种基于机器人手持示教装置的tcp快速标定的装置及方法
JP6958075B2 (ja) ロボットシステムおよび制御方法
JP2022084259A (ja) 情報処理装置、情報処理方法、ロボットシステム、測定システム、ロボットシステムを用いた物品の製造方法、制御プログラム及び記録媒体
JP7481579B2 (ja) ロボット装置またはワークに作用する外力の許容値を算出する計算装置およびロボットの制御装置
JP2021024075A (ja) ロボットの位置を制御するロボット装置の制御装置
WO2023119378A1 (ja) トルクまたは力の制御によりマスタリングを行うロボットの制御装置
US20220080587A1 (en) Method Of Adjusting Force Control Parameter, Robot System, And Force Control Parameter Adjustment Program
CN112643683B (zh) 示教方法
JP2019010700A (ja) ロボット、ロボットシステム、及びそれらの制御方法
WO2023209827A1 (ja) ロボット、ロボットの制御装置、および作業ロボットシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231010

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240418

R150 Certificate of patent or registration of utility model

Ref document number: 7477716

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150