JP2022084215A - ロボットシステム、ロボットシステムの制御方法、ロボットシステムにおける力制御パラメーターの調整方法 - Google Patents
ロボットシステム、ロボットシステムの制御方法、ロボットシステムにおける力制御パラメーターの調整方法 Download PDFInfo
- Publication number
- JP2022084215A JP2022084215A JP2020195934A JP2020195934A JP2022084215A JP 2022084215 A JP2022084215 A JP 2022084215A JP 2020195934 A JP2020195934 A JP 2020195934A JP 2020195934 A JP2020195934 A JP 2020195934A JP 2022084215 A JP2022084215 A JP 2022084215A
- Authority
- JP
- Japan
- Prior art keywords
- force
- robot
- force control
- end effector
- axis
- 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.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/081—Touching devices, e.g. pressure-sensitive
- B25J13/082—Grasping-force detectors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/085—Force or torque sensors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1612—Programme controls characterised by the hand, wrist, grip control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1633—Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1653—Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1687—Assembly, peg and hole, palletising, straight line, weaving pattern movement
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39338—Impedance control, also mechanical
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40032—Peg and hole insertion, mating and joining, remote center compliance
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
【課題】部品の挿入または抜き出しの方向が鉛直方向以外の方向である場合にも、挿入または抜き出しを適切にできるようにする。【解決手段】ロボットシステムは、ロボットと力検出器とエンドエフェクターを備える。ロボットに倣い動作を実行させる際に、力検出器による測定値に基づき力制御が行われる。倣い動作は、エンドエフェクターに保持された第1対象物が、第2対象物に接触しつつ、第2対象物の空隙に挿入され、または空隙から抜き出される、動作である。調整方法は、挿入または抜き出しの方向に直交する方向の目標力を含む力制御パラメーターの候補値を用いて、ロボットに倣い動作を行わせ、力測定値を得る測定工程と、力測定値を使用して最適化処理を行い、力制御パラメーターの新たな候補値を得るパラメーター更新工程と、測定工程とパラメーター更新工程を繰り返して、力制御パラメーターを決定し、出力する工程と、を含む。【選択図】図5
Description
本開示は、ロボットシステム、ロボットシステムの制御方法、ロボットシステムにおける力制御パラメーターの調整方法に関する。
従来、部品を穴に挿入する挿入作業においてインピーダンス制御を行うロボット制御装置が存在する。特許文献1の技術においては、穴の深さ方向に沿って設定された複数の区間に対応して、インピーダンス制御における粘性パラメーターが設定される。粘性パラメーターの調整処理において、各区間に対応する粘性パラメーターのうちの一つが低減され、ロボットによる挿入動作が実行されて、ロボットに設けられた力センサーによりハンドに作用する反力が測定される。そのような処理を、各区間に対応する粘性パラメーターについて順に実行する処理を繰り返すことにより、反力が所定値以下となる条件を満たしつつ、挿入作業rの時間が短い粘性パラメーターのセットが設定される。
特許文献1においては、制御における、部品の挿入方向に対して垂直な方向の目標力については、言及されていない。これは、特許文献1においては、部品の挿入方向が鉛直下方である、という前提が置かれているためである。従来、そのような場合には、挿入方向に対して垂直な方向の目標力の大きさは0に設定される。
しかし、部品の挿入方向は、常に鉛直下方であるとは限らない。部品の挿入方向が鉛直方向以外の方向である場合、挿入される部品は穴の内壁と接触して、穴の内壁から垂直抗力および摩擦力を受ける。このため、挿入方向に対して垂直な方向の目標力の大きさが0に設定された制御によっては、実際には、適切に部品を穴に挿入することができない場合がある。
また、力センサーは、外力を受けた場合、実際に力を受けた方向について力を検出して検出信号を出力する一方で、実際に力を受けた方向に対して垂直な方向についても、実際に受けた力の数%程度の力を検出したものとして検出信号を出力する、という特性を有している。このため、部品の挿入方向が鉛直方向である場合にも、そのような力センサーの特性に起因して、挿入方向に対して垂直な方向に力が検出され、その力を0にしようとする制御が行われるため、適切に部品を穴に挿入することができない場合がある。
本開示の一形態によれば、ロボットシステムの力制御において使用される力制御パラメーターの調整方法が提供される。前記ロボットシステムは、ロボットと、前記ロボットに設けられ外力を測定できる力検出器と、前記ロボットに設けられ第1対象物を保持できるエンドエフェクターと、を備える。前記力制御は、前記ロボットを使用して倣い動作を実行させる際に、前記力検出器による前記外力の測定値に基づいて行われる。前記倣い動作は、前記エンドエフェクターに保持された前記第1対象物の少なくとも一部が、第2対象物に接触しつつ、前記第2対象物が備える空隙に挿入され、または前記一部が、前記第2対象物に接触しつつ、前記空隙から抜き出される、動作である。前記調整方法は、前記挿入または抜き出しの方向に直交する方向の目標力を含む前記力制御パラメーターの候補値を用いて、前記ロボットに前記倣い動作を行わせ、前記倣い動作における前記外力の測定値である力測定値を得る測定工程と、前記力測定値を使用して前記力制御パラメーターについて最適化処理を行い、前記力制御パラメーターの新たな候補値を得るパラメーター更新工程と、前記測定工程と前記パラメーター更新工程とを繰り返すことにより、前記ロボットシステムの前記力制御において使用される力制御パラメーターを決定し、出力するパラメーター決定工程と、を含む。
A.実施形態:
A1.ロボットシステムの構成:
図1は、実施形態におけるロボットシステム1を示す斜視図である。このロボットシステム1は、カメラ30と、ロボット100と、力検出器130と、エンドエフェクター140と、ロボット制御装置200と、設定装置600と、を備えている。ロボット100とロボット制御装置200と設定装置600とは、ケーブルまたは無線を介して通信可能に接続される。
A1.ロボットシステムの構成:
図1は、実施形態におけるロボットシステム1を示す斜視図である。このロボットシステム1は、カメラ30と、ロボット100と、力検出器130と、エンドエフェクター140と、ロボット制御装置200と、設定装置600と、を備えている。ロボット100とロボット制御装置200と設定装置600とは、ケーブルまたは無線を介して通信可能に接続される。
ロボット100は、アーム110の先端にあるアームフランジ120に各種のエンドエフェクターを装着して使用される単腕ロボットである。アーム110は6つの関節J1~J6を備える。関節J2、J3、J5は曲げ関節であり、関節J1、J4、J6はねじり関節である。関節J6の先端にあるアームフランジ120には、対象物に対して把持や加工等の作業を行うための各種のエンドエフェクターが装着される。本明細書において、ロボット100によって取り扱われる対象物を「ワーク」とも呼ぶ。
アーム110の先端近傍の位置を、ツールセンターポイントとして設定可能である。以下、ツールセンターポイントを「TCP」と呼ぶ。TCPは、エンドエフェクターの位置の基準として使用される位置であり、任意の位置に設定可能である。例えば、関節J6の回転軸上の所定位置をTCPとして設定することができる。なお、本実施形態では6軸ロボットを用いているが、他の関節機構を有するロボットを使用してもよい。
ロボット100は、アーム110の可動範囲内においてエンドエフェクターを任意の位置で任意の姿勢に配することができる。アームフランジ120には、力検出器130と、エンドエフェクター140とが設置されている。エンドエフェクター140は、本実施形態においてはグリッパーである。ただし、ロボット100は、他の任意の種類のエンドエフェクターを取り付けられることができる。
力検出器130は、ロボット100に設けられ、外力を測定できる。より具体的には、力検出器130は、エンドエフェクター140に作用する3軸の力と、それら3軸まわりに作用するトルクとを計測する6軸センサーである。力検出器130は、固有の座標系であるセンサー座標系において互いに直交する3個の検出軸と平行な力の大きさと、当該3個の検出軸まわりのトルクの大きさとを検出する。なお、関節J6以外の関節J1~J5のいずれか1つ以上に力検出器としての力センサーを備えてもよい。なお、力検出器は、制御する方向の力やトルクを検出できればよく、力検出器130のように直接的に力やトルクを検出する手段や、ロボットの関節のトルクを検出して間接的に力やトルクを求める手段などを用いてもよい。また、力を制御する方向のみの力やトルクを検出してもよい。
ロボット100が設置された空間を規定する座標系をロボット座標系と呼ぶ。ロボット座標系は、水平面上において互いに直交するx軸とy軸と、鉛直上向きを正方向とするz軸とによって規定される3次元の直交座標系である。また、x軸周りの回転角をRxで表し、y軸周りの回転角をRyで表し、z軸周りの回転角をRzで表す。x,y,z軸方向の位置により3次元空間における任意の位置を表現でき、Rx,Ry,Rz軸方向の回転角により3次元空間における任意の姿勢を表現できる。本明細書において「位置」と表記した場合、位置と姿勢も意味し得る。また、本明細書において「力」と表記した場合、力とトルクも意味し得る。
ロボット100の作業の対象の一つであるワークWK2が、作業台50の上に配置される。ワークWK2の側面には、嵌合孔H2が形成されている。嵌合孔H2は、円形の断面を有し、ワークWK2の側面の開口からy軸正方向に伸びており、底を有する穴である。作業台50の上方には、カメラ30が設置されている。このカメラ30は、作業台50上のワークWK2が視野に含まれるように設置されている。なお、本開示の技術において、カメラ30は省略可能である。
エンドエフェクター140は、ロボット100に設けられ、ワークWK1を保持できる。ワークWK1は円柱形の部品である。ワークWK1の外径は、嵌合孔H2の内径よりもわずかに小さい。エンドエフェクター140は、エンドエフェクター140で把持したワークWK1を、ワークWK2の嵌合孔H2に嵌合させる作業を行うことができる。
ロボット制御装置200は、アーム110と、エンドエフェクター140と、カメラ30とを制御する。より具体的には、ロボット制御装置200は、倣い動作をロボット100に実行させる。倣い動作は、一般に、外力に追従する動作である。本実施形態における倣い動作は、より具体的には、エンドエフェクター140に保持されたワークWK1の一部が、ワークWK2に接触しつつ、ワークWK2が備える嵌合孔H2に挿入される動作である。なお、倣い動作において、ワークWK1がワークWK2から離れる時間区間があってもよい。ロボット制御装置200は、その倣い動作において、力検出器130による外力の測定値に基づいて、ロボット100の力制御を行う。ロボット制御装置200の機能は、プロセッサーとメモリーを備えるコンピューターがコンピュータープログラムを実行することによって実現される。
設定装置600は、教示者からの指示を受けて、制御プログラムを生成する。また、設定装置600は、力制御において使用される力制御パラメーターの調整を行う。設定装置600によって生成された制御プログラムおよび力制御パラメーターは、ロボット制御装置200に転送され、ロボット制御装置200のメモリー220に格納される。
図2は、ロボット制御装置200と設定装置600の機能を示すブロック図である。ロボット制御装置200は、プロセッサー210とメモリー220とを備えている。メモリー220は、揮発性メモリーと不揮発性メモリーとを含む。プロセッサー210は、メモリー220に予め格納されたプログラム命令222を実行することにより、制御実行部250の機能を実現する。制御実行部250は、メモリー220に格納されている制御プログラム224を実行することによって、作業の動作をロボット100に実行させる。なお、制御実行部250の機能の一部または全部をハ―ドウェア回路で実現してもよい。
設定装置600は、プロセッサー610とメモリー620と表示装置660と入力装置670とを備えている。メモリー620は、揮発性メモリーと不揮発性メモリーとを含む。プロセッサー610は、メモリー620に予め格納されたプログラム命令622を実行することにより、プログラム作成部650の機能を実現する。プログラム作成部650は、メモリー620に格納されている設定プログラム624を実行することによって、ユーザーからの入力に従って制御プログラム224を作成する。プログラム作成部650は、さらに、設定プログラム624を実行することによって、制御プログラム224のパラメーターを決定する。なお、プログラム作成部650の機能の一部または全部をハ―ドウェア回路で実現してもよい。
図3は、制御プログラム224で使用される力制御パラメーター226を示す図である。力制御パラメーター226は、ロボット100の力制御に関するパラメーターである。力制御パラメーター226は、制御プログラム224にしたがって行われる力制御の際に参照される。
力制御パラメーター226には、各動作における「始点」と「終点」を示すパラメーターが含まれる(図3の上段参照)。本実施形態においては、制御対象のロボット100のTCPの「始点」および「終点」は、ロボット座標系で定義される。ロボット座標系の各軸についての並進位置と回転位置とが定義される。なお、始点と終点は、種々の座標系で定義されてよい。
力制御においては、始点および終点のうちの少なくとも一部は、一つの動作において定義されない場合がある。たとえば、ある動作において、ある方向に作用する力が0になるように衝突回避や倣い制御が行われる場合、その方向における始点および終点は定義されず、その方向の力を0にするように、位置が任意に変化し得る状態が定義されることもある。
力制御パラメーター226には、複数の動作におけるTCPの「加減速特性」が含まれる(図3の中段参照)。加減速特性によって、ロボット100のTCPが各動作の始点から終点まで移動する際の、各時刻におけるTCPの速度が規定される。本実施形態においては、加減速特性によって記述される速度は、制御対象のロボット100のTCPについての速度である。本実施形態においては、TCPの速度は、ロボット座標系で定義される。すなわち、ロボット座標系の各軸について、並進速度と、回転速度すなわち角速度と、が定義される。なお、加減速特性も種々の座標系で定義されてよい。
力制御パラメーター226には、TCPの位置のフィードバック制御におけるサーボゲインが含まれている(図3の中段参照)。サーボゲインは、TCPの位置のPID制御における、比例ゲイン、積分ゲイン、微分ゲインを含む。
力制御パラメーター226には、「力制御座標系」を示す情報が含まれる(図3の下段参照)。力制御座標系は、力制御の目標力を定義するための座標系である。最適化が行われる前においては、目標力ベクトルの起点が、力制御座標系の原点であり、目標力ベクトルの方向に、力制御座標系の1軸が向いている。ロボットの教示において力制御における各種の目標力が定義される際に、各作業の各動作における目標力の作用点が教示される。たとえば、対象物の一点を他の物体に当て、両者の接触点で、対象物から他の物体に一定の目標力を作用させた状態で、対象物の向きを変化させる場合は、以下のように力制御座標系が定義しなおされる。すなわち、対象物が他の物体と接触する点が目標力の作用点となり、当該作用点を原点とした力制御座標系が定義される。
力制御パラメーター226は、力制御の目標力が作用する点を原点とし、目標力の方向に1軸が向いている座標系、すなわち、力制御座標系を特定するための情報を、パラメーターとして含んでいる。当該パラメーターは種々の定義が可能である。たとえば、力制御座標系を特定するためのパラメーターは、力制御座標系と他の座標系(ロボット座標系等)との関係を示すデータによって定義可能である。
力制御パラメーター226には、「目標力」が含まれる(図3の下段参照)。目標力は、各種の作業において、任意の点に作用すべき力として教示される力であり、力制御座標系によって定義される。目標力を示す目標力ベクトルは、目標力ベクトルの起点と、起点からの6軸成分、すなわち3軸の並進力および3軸のトルクとして定義され、力制御座標系で表現される。なお、力制御座標系と他の座標系との関係を利用すれば、当該目標力を任意の座標系、たとえば、ロボット座標系におけるベクトルに変換することが可能である。
力制御パラメーター226には、「インピーダンスパラメーター」が含まれる(図3の下段参照)。インピーダンス制御は、仮想の機械的インピーダンスを、各関節を駆動するモーターの駆動力によって実現する制御である。インピーダンス制御においては、TCPが仮想的に有する質量が、仮想質量係数mとして定義される。TCPが仮想的に受ける粘性抵抗が、仮想粘性係数dとして定義される。TCPが仮想的に受ける弾性力のバネ定数が、仮想弾性係数kとして定義される。インピーダンスパラメーターは、これらの係数m,d,kである。インピーダンスパラメーターは、ロボット座標系の各軸に対する並進と回転について定義される。
本実施形態において、目標力およびインピーダンスパラメーターは、各ロボットが実行する動作において、制御点の位置に応じて定められる複数の区間のそれぞれについて、設定されることができる。その結果、それらのパラメーターは時系列的に変化することができる。
A2.制御プログラムの作成とパラメーターの調整:
図4は、制御プログラムの作成手順を示すフローチャートである。本実施形態においては、図4の処理で作成される制御プログラムは、エンドエフェクター140に保持されたワークWK1が、ワークWK2に設けられた嵌合孔H2に挿入される倣い動作を実現するプログラムである。図4の処理は、設定装置600のプロセッサー610の機能部であるプログラム作成部650によって実行される。
図4は、制御プログラムの作成手順を示すフローチャートである。本実施形態においては、図4の処理で作成される制御プログラムは、エンドエフェクター140に保持されたワークWK1が、ワークWK2に設けられた嵌合孔H2に挿入される倣い動作を実現するプログラムである。図4の処理は、設定装置600のプロセッサー610の機能部であるプログラム作成部650によって実行される。
ステップS110においては、ロボット100の制御プログラム224が実現する動作のフローが作成される。具体的には、設定装置600の表示装置660および入力装置670を介して入力される教示者の指示に従って、ロボット100に実行させる動作と、それらの動作の順番が決定される。
ステップS120においては、ロボットシステム1の力制御において使用される力制御パラメーターの調整が行われる。力制御パラメーターの調整については、後に詳細に説明する。
ステップS130において、ステップS110で決定された動作フローおよびステップS120で調整された力制御パラメーターが、制御プログラムに変換される。変換後の制御プログラムは、低級言語で記述されている。
ステップS140においては、制御プログラムが設定装置600からロボット制御装置200に転送され、メモリー220に格納される(図2の224参照)。そして、制御プログラム224に従って、ロボット制御装置200がロボットを制御し、ロボットに作業を実行させる。この作業は、製造ラインでロボット100の動作を確認する確認作業や、製造ラインで製品を製造するための本作業として実行可能である。
図5は、図4のステップS120における力制御パラメーターの調整方法を示すフローチャートである。以下の説明では、技術の理解を容易にするため、目標力Ftの各成分は、ロボット座標系のx軸、y軸、z軸に沿って記述される。
ステップS121においては、ステップS110で決定された倣い動作の動作フローと、倣い動作の力制御パラメーターの初期候補値と、を用いて、ロボット100に倣い動作を行わせる。倣い動作の力制御パラメーターの初期候補値は、特定の動作に応じて定められた値ではなく、様々な倣い動作に適用し得るように定められている。倣い動作の力制御パラメーターの初期候補値は、挿入または抜き出しの方向の目標力に加えて、挿入または抜き出しの方向に直交する方向の目標力を含む。倣い動作の力制御パラメーターの初期候補値は、あらかじめロボット制御装置200のメモリー220に格納されている(図2の中段右部参照)。
ステップS122においては、ステップS121の倣い動作における外力の測定値が取得される。外力の測定値を、「力測定値」と呼ぶ。また、ステップS122においては、ステップS121の倣い動作に要した時間が計測される。倣い動作に要する時間を、「動作時間」と呼ぶ。ステップS122の処理は、実質的にステップS121の処理と並行して行われる。ステップS121とステップS122の処理を、まとめて「測定処理」とも呼ぶ。
ステップS121のロボット100による倣い動作は、7回実行される。ステップS122において、7回行われた倣い動作の外力の測定値の最大値が、力測定値として採用される。7回行われた倣い動作のそれぞれに要した時間の平均値が、動作時間として採用される。最大値としての力測定値、および平均値としての動作時間が得られた後、処理はステップS123に進む。なお、力測定値として倣い動作の外力の測定値の最大値を採用したが、これに限定されず、平均値を用いてもよい。
ステップS123においては、力測定値および動作時間が最適化アルゴリズムに入力される。最適化アルゴリズムは、力測定値および動作時間を使用して力制御パラメーターについて最適化処理を行い、力制御パラメーターの新たな候補値を出力する(図3参照)。最適化アルゴリズムによる処理については、後に説明する。
ステップS124においては、最適化アルゴリズムから出力された力制御パラメーターの新たな候補値が取得される。ステップS123とステップS124の処理を、まとめて「パラメーター更新処理」とも呼ぶ。
ステップS125においては、ステップS110で決定された倣い動作の動作フローと、ステップS124で取得された力制御パラメーターの新たな候補値と、を用いて、ロボット100に倣い動作を行わせる。
ステップS126においては、ステップS125の倣い動作の力測定値が取得される。また、ステップS126においては、ステップS125の倣い動作の動作時間が計測される。ステップS126の処理は、実質的にステップS125の処理と並行して行われる。ステップS126の処理は、ステップS122の処理と同じである。ステップS125とステップS126の処理を、まとめて「測定処理」とも呼ぶ。
ステップS125のロボット100による倣い動作は、7回実行される。ステップS126において、7回行われた倣い動作の外力の測定値の最大値が、力測定値として採用される。7回行われた倣い動作のそれぞれに要した時間の平均値が、動作時間として採用される。最大値としての力測定値、および平均値としての動作時間が得られた後、処理はステップS127に進む。
ステップS127においては、ステップS125で得られた評価値が収束したか否かかが判定される。本実施形態においては、ステップS127における評価値として、動作時間が採用される。評価値が収束したか否かの判定の具体的な処理については、後に説明する。評価値が収束したと判定された場合には、図5の処理は終了する。評価値が収束していないと判定された場合には、処理はステップS123に戻る。
ステップS123~S126の処理が繰り返されることにより、ロボットシステム1の力制御において使用される力制御パラメーターが決定される。決定された力制御パラメーターは、設定装置600からロボット制御装置200に出力される。
図6は、ステップS123,S124のパラメーター更新処理で使用される最適化アルゴリズムの入力と出力を表すブロック図である。本実施形態で使用される最適化アルゴリズムは、力測定値と動作時間を入力とし、力制御パラメーターの候補値を出力とするアルゴリズムである。本実施形態で使用される最適化アルゴリズムは、具体的には、CMA-ES(Covariance Matrix Adaptation Evolution Strategy:共分散行列適応進化戦略)である。
最適化アルゴリズムは、動作時間OTと、力測定値である検出力Fdおよび検出トルクTdを入力される。最適化アルゴリズムは、力制御パラメーターの候補値を出力する(図6の右部参照)。
このような構成とすることにより、ステップS123,S124のパラメーター更新処理において、力測定値と動作時間を考慮した最適化処理により、力制御パラメーターの新たな候補値を得ることができる。このため、図5の処理で決定された力制御パラメーターで力制御を行うことにより、倣い動作においてロボット100が受ける外力と、倣い動作の動作時間OTと、についての評価の高い動きで、ロボット100に適切にワークWK1を嵌合孔H2に挿入させることができる。
最適化アルゴリズムは、たとえば、以下の式(1)で定められる評価値Evalが小さくなるように最適化処理を行う。式(1)の第2項、第3項は、いわゆるペナルティ項である。
Eval=α×OT
+ β×[if (Fmax>Flimit),then 100]
+ γ×[if (Tmax>Flimit),then 100] ・・・ (1)
OT:倣い動作の動作時間[秒]。
Fmax:倣い動作中に検出される検出力Fdの最大値の大きさ。
なお、検出力Fdは、x軸、y軸、z軸の各成分の合成力である。
Flimit:検出力Fdの最大値の大きさの許容値。
Tmax:倣い動作中に検出される検出トルクTdの最大値の大きさ。
なお、検出トルクTdは、x軸、y軸、z軸についての各成分の合成トルクである。
Tlimit:検出トルクTdの最大値の大きさの許容値。
α,β,γ:重み係数。
Eval=α×OT
+ β×[if (Fmax>Flimit),then 100]
+ γ×[if (Tmax>Flimit),then 100] ・・・ (1)
OT:倣い動作の動作時間[秒]。
Fmax:倣い動作中に検出される検出力Fdの最大値の大きさ。
なお、検出力Fdは、x軸、y軸、z軸の各成分の合成力である。
Flimit:検出力Fdの最大値の大きさの許容値。
Tmax:倣い動作中に検出される検出トルクTdの最大値の大きさ。
なお、検出トルクTdは、x軸、y軸、z軸についての各成分の合成トルクである。
Tlimit:検出トルクTdの最大値の大きさの許容値。
α,β,γ:重み係数。
最適化アルゴリズムが出力する力制御パラメーターの候補値は、倣い動作における目標力Ftと、インピーダンスパラメーターと、を含む(図6の上段右部、および図3の下段参照)。目標力Ftは、x軸方向の力成分Fxt、y軸方向の力成分Fyt、z軸方向の力成分Fzt、ならびにx軸を中心とするトルク成分Txt、y軸を中心とするトルク成分Tyt、z軸方向を中心とするトルク成分Tztで表される。すなわち、倣い動作の力制御パラメーターの候補値は、挿入または抜き出しの方向の目標力に加えて、挿入または抜き出しの方向に直交する方向の目標力を含む。インピーダンスパラメーターは、仮想質量係数m、仮想粘性係数d、および仮想弾性係数kを含む。
そのような処理で決定された力制御パラメーターにおいては、挿入または抜き出しの方向に直交する方向の目標力が、0以外の適切な値に設定され得る。このため、そのような力制御パラメーターで力制御を行うことにより、鉛直方向に沿った挿入または抜き出しに限られず、作業環境に応じた適切な力制御を行って、ロボット100に適切にワークWK1を嵌合孔H2に挿入させることができる。また、力検出器が、実際に力を受けた方向に対して垂直な方向について他軸成分を出力する場合にも、ロボット100に適切にワークWK1を嵌合孔H2に挿入させることができる。さらに、最適化手法を用いて力制御パラメーターを調整することにより、ユーザーによる試行錯誤を繰り返すことなく、容易に力制御パラメーターを決定することができる。
最適化アルゴリズムは、力制御の有効または無効を指定するフラグFlgと、倣い動作の開始時におけるエンドエフェクター140の位置xs,ys,zs,Rxs,Rys,Rzsと、倣い動作の開始時と終了時の間の定められた時刻におけるエンドエフェクター140の位置xp,yp,zp,またはRxp,Ryp,Rzpと、を出力する(図6の下段右部)。なお、本実施形態でエンドエフェクター140の位置とは、エンドエフェクター140の先端に設定される制御点を基準とする位置のことである。
パラメーターxs,ys,zsは、倣い動作の開始時におけるエンドエフェクター140の位置を、3次元空間内の一点の位置として表す。パラメーターRxs,Rys,Rzsは、倣い動作の開始時におけるエンドエフェクター140の姿勢を表す。
パラメーターxp,yp,zpは、倣い動作の開始時と終了時の間の時刻におけるエンドエフェクター140の位置を、3次元空間内の一点の位置として表す。言い換えれば、パラメーターxp,yp,zpは、倣い動作における通過点の位置を、3次元空間内の一点の位置として表す。パラメーターRxp,Ryp,Rzpは、倣い動作の開始時と終了時の間の時刻におけるエンドエフェクター140の姿勢を表す。言い換えれば、パラメーターRxp,Ryp,Rzpは、倣い動作における通過点でのエンドエフェクター140の姿勢を表す。最適化アルゴリズムは、通過点に関するパラメーターxp,yp,zpとパラメーターRxp,Ryp,Rzpとのうち、指定された一方を出力する。
このような処理によって決定された力制御パラメーターで力制御を行うことにより、力制御の有効または無効と、倣い動作の開始時におけるエンドエフェクター140の位置xs,ys,zs,Rxs,Rys,Rzsと、倣い動作の通過点のエンドエフェクター140の位置xp,yp,zp,または、Rxp,Ryp,Rzpと、を適切に指定された制御を行って、ロボット100に適切にワークWK1を嵌合孔H2に挿入させることができる。
たとえば、力制御を行わなくても、ロボット100のハードウェア構成のたわみによって、適切にワークWK1が嵌合孔H2に挿入されることができる場合がある。力制御の有効または無効を指定するフラグFlgを最適化処理の対象に含めることにより、そのような場合に、力制御を行わないようにすることができる。
なお、最適化アルゴリズムは、図16に示したパラメーター以外に、力制御パラメーターである加減速特性、サーボゲイン、および力制御座標系をも出力する(図3参照)。
図7は、ステップS123~S126の処理の繰り返しに伴う動作時間の推移を表すグラフである。横軸は、ステップS123~S126の処理の繰り返しの回数である。左の縦軸は、動作時間OTである。右の縦軸は、各回の動作時間の前回の動作時間からの差分である。図7のグラフ中の丸は、ステップS125における7回の測定で得られた動作時間の平均値を表す。三角は、それら7回の測定で得られた動作時間の最大値を表す。四角は、それら7回の測定で得られた動作時間の最小値を表す。平均値、最大値、最小値のいずれも、処理を繰り返すにつれて、小さくなっていることが分かる。
図7のグラフ中のXは、それぞれの測定処理における動作時間の平均値と、一つ前の測定処理における動作時間の平均値と、の差分を示す。差分の絶対値も、処理を繰り返すにつれて、0に近づいていることが分かる。
図5のステップS127においては、ステップS123~S126の処理の繰り返しにおいて、差分が、0を中心とするあらかじめ定められた範囲Rth内にあることが、4回続いた場合には、評価値が収束したと判断される。このような処理を行うことで、動作時間が短縮されないにもかかわらず、ステップS123~S126の処理が繰り返される事態が防止される。
本実施形態においては、目標力Ftについては、挿入方向に垂直な方向の力成分を0とする、という制約を設けずに、図5の処理によって、力制御パラメーターの調整が行われる。このため、挿入方向に垂直な方向の力成分についても、原則として0以外の値が設定される。その結果、図4のステップS140においては、力制御は、挿入の方向に直交する方向の成分であって、0ではない大きさを有する成分を含む目標力にしたがって、実行される。よって、挿入の方向に直交する方向についても力を加える力制御を行う制御方法によって、ロボット100に適切にワークWK1を嵌合孔H2に挿入させることができる。
A3.倣い動作の例:
図8~図12に沿って、倣い動作の例を説明する。図8~図12において説明される作業は、スナッピング作業である。ここで説明する倣い動作は、ロボット制御装置200が実行する力制御によって実現される。図8~図12は、ワークWK1,WK2、エンドエフェクター140、および力検出器130の形状を正確に表すものではない。
図8~図12に沿って、倣い動作の例を説明する。図8~図12において説明される作業は、スナッピング作業である。ここで説明する倣い動作は、ロボット制御装置200が実行する力制御によって実現される。図8~図12は、ワークWK1,WK2、エンドエフェクター140、および力検出器130の形状を正確に表すものではない。
図8は、ステップS140における倣い動作の開始時の状態を示す説明図である。ここでは、技術の理解を容易にするため、ロボット座標系に沿って技術内容を説明する。倣い動作における挿入の方向は、ロボット座標系におけるy軸負方向である(図1のH2参照)。
ワークWK2の嵌合孔H2の内面のうちz軸正方向に位置する面には、スナッピング機構SNが設けられている。スナッピング機構SNの爪は、バネによってz軸負方向に押圧されており、嵌合孔H2の内面からあらかじめ定められた寸法だけ突出している。スナッピング機構SNの爪は、z軸正方向に押圧されると、嵌合孔H2の内からz軸正方向に移動する。スナッピング機構SNの爪は、嵌合孔H2の内面から突出しない位置までz軸正方向に退出することができる。
ロボット100の制御点CPは、エンドエフェクター140に保持されたワークWK1の先端面の中心に配されている。嵌合孔H2の挿入方向の端の近傍には、仮想的な閾値平面Scが定められている。閾値平面Scは、z軸およびx軸に平行な平面である。倣い動作において、制御点CPが閾値平面Scに達すると、倣い動作は完了したものと判定される。
図8の状態においては、ワークWK1に重力Fgが作用している。ワークWK1に作用する重力を、ワークWK1の重心Gを基点とするベクトルで表す。図8の状態において、ロボット100は、ワークWK1に作用する重力Fgに抗してワークWK1の位置および姿勢を維持するように、力制御を行っている。このときのワークWK1の位置および姿勢は、挿入方向であるy軸方向に投影した場合にワークWK1の占める領域が、ワークWK2の嵌合孔H2の占める領域内に含まれる位置および姿勢である。この状態において、ロボット100は、ワークWK2からy軸方向の反力を受けていない。
図9は、ステップS140における倣い動作の途中の状態を示す説明図である。図9の状態において、ワークWK1のy軸負方向の先端は、嵌合孔H2内に位置している(図9のCP参照)。ただし、ワークWK1のy軸負方向の先端は、スナッピング機構SNには接していない。このとき、ワークWK1の下面は、嵌合孔H2の内面に接している。
この状態において、ワークWK1は、嵌合孔H2の内面をz軸負方向に押圧し、嵌合孔H2の内面からz軸正方向の垂直抗力Fn1を受ける。
ロボット100の倣い動作によってy軸負方向に動かされているワークWK1は、嵌合孔H2の内面との接触面から、y軸正方向の摩擦力Ff1を受ける。図9において、ワークWK1がワークWK2から受けるy軸方向の力を、まとめてワークWK1の上部にFf1として示す。図9の状態において、ワークWK1が、嵌合孔H2の内面との接触面からうける摩擦力は、ワークWK1が嵌合孔H2に挿入され、ワークWK1の下面と嵌合孔H2の内面の接触領域が大きくなるにつれて大きくなる。
ロボット制御装置200は、y軸方向およびz軸方向について、設定された目標力を生じさせるように、ロボット100を制御する。言い換えれば、ロボット制御装置200は、力検出器130が検出するy軸方向の力Ff1とz軸方向の力Fn1が、それぞれ目標力のy軸方向成分とz軸方向成分と一致するように、力制御を行う。その結果、ワークWK1は、嵌合孔H2内において上に移動される。
図10は、ステップS140における倣い動作の途中の状態を示す説明図である。図10の状態において、ワークWK1のy軸負方向の先端は、スナッピング機構SNの爪に接している。ワークWK1の下面は、嵌合孔H2の内面に接している。
この状態において、ワークWK1は、スナッピング機構SNの爪をy軸負方向に押圧し、スナッピング機構SNの爪からy軸正方向の抗力を受ける。ワークWK1は、嵌合孔H2の内面をz軸負方向に押圧し、嵌合孔H2の内面からz軸正方向の垂直抗力Fn2を受ける。さらに、ロボット100の倣い動作によってy軸負方向に動かされているワークWK1は、嵌合孔H2の内面との接触面から、y軸正方向の摩擦力を受ける。図10において、ワークWK1がワークWK2から受けるy軸方向の力を、まとめてワークWK1の上部にFf2として示す。
ロボット制御装置200は、力検出器130が検出するy軸方向の力Ff2とz軸方向の力Fn2が、それぞれ目標力のy軸方向成分とz軸方向成分と一致するように、力制御を行う。その結果、ワークWK1は、図9の状態に比べてy軸負方向により大きい力で押される。一方、ワークWK1のy軸負方向への移動速度は低下する。ワークWK1がスナッピング機構SNの爪をy軸負方向に押す力が一定値以上になると、スナッピング機構SNの爪は、z軸正方向に退出を始める。ワークWK1がスナッピング機構SNから受けるy軸正方向の抗力は、スナッピング機構SNのz軸正方向への退出が進むにつれて、大きくなる。また、図10の状態においても、ワークWK1が、嵌合孔H2の内面との接触面からうける摩擦力は、ワークWK1が嵌合孔H2に挿入され、ワークWK1の下面と嵌合孔H2の内面の接触領域が大きくなるにつれて大きくなる。よって、ワークWK1がy軸負方向に動かされるにつれて、力検出器130が検出するy軸方向の力Ffは、大きくなる。
図11は、ステップS140における倣い動作の途中の状態を示す説明図である。図11の状態において、ワークWK1の先端はスナッピング機構SNを通過しており、ワークWK1の上面が、スナッピング機構SNに接している。
この状態において、ワークWK1は、スナッピング機構SNの爪によってz軸負方向に押圧される。ワークWK1は、嵌合孔H2の内面をz軸負方向に押圧し、嵌合孔H2の内面からz軸正方向の垂直抗力Fn3を受ける。さらに、ロボット100の倣い動作によってy軸負方向に動かされているワークWK1は、スナッピング機構SNの爪との接触部および嵌合孔H2の内面との接触面から、y軸正方向の摩擦力を受ける。図11において、ワークWK1が、スナッピング機構SNの爪を含むワークWK2から受けるy軸方向の力を、まとめてワークWK1の上部にFf3として示す。
ロボット制御装置200は、力検出器130が検出するy軸方向の力Ff3とz軸方向の力Fn3が、それぞれ目標力のy軸方向成分とz軸方向成分と一致するように、力制御を行う。その結果、ワークWK1は、図10の状態に比べてy軸負方向により小さい力で押される。ただし、図11の状態においても、ワークWK1が、嵌合孔H2の内面との接触面からうける摩擦力は、ワークWK1が嵌合孔H2に挿入され、ワークWK1の下面と嵌合孔H2の内面の接触領域が大きくなるにつれて大きくなる。よって、ワークWK1がy軸負方向に動かされるにつれて、力検出器130が検出するy軸方向の力Ffは、大きくなる。
図12は、ステップS140における倣い動作が終了される直前の状態を示す説明図である。図12の状態において、ワークWK1のy軸負方向の先端は、閾値平面Scに達している(図12のCP参照)。TCPが閾値平面Scに達したことを検知すると、ロボット制御装置200は、倣い動作を終了する。
図12において、ワークWK1が、スナッピング機構SNの爪を含むワークWK2から受けるy軸方向の力を、まとめてワークWK1の上部にFf4として示す。図12において、ワークWK1が、嵌合孔H2の内面から受けるz軸正方向の垂直抗力をFn4として示す。
図12に示す倣い動作が終了される直前の状態において、ワークWK1が、ワークWK2の内面およびスナッピング機構SNの爪から受ける力は、図11の状態と略同様である。ただし、ワークWK1のワークWK2への挿入がより進行していることから、y軸方向の力Ff4は、図11の力Ff3より大きく、z軸方向の力Fn4は、図11の力Fn3より大きい。
倣い動作が終了すると、エンドエフェクター140としてのグリッパーは、ワークWK1をはなし、ロボット100は、次の動作に移行する。
図13は、倣い動作においてエンドエフェクター140が受けるy軸正方向の力Fyを表すグラフである。横軸は、y軸負方向に沿った制御点CPの位置である。図8~図12で示した倣い動作において、エンドエフェクター140が受けるy軸正方向の力Fyは、図13に示すように変化する。力Fyは、ワークWK1の先端面にある制御点CPがスナッピング機構SNの爪の頂点の位置にあるときに最大となる(図10参照)。図13において、図9~図12に示した状態における制御点CPの位置を、それぞれP9~P12で示す。図13において、図9~図12に示した状態におけるy軸正方向の力Ff1~Ff4を示す。
ロボット制御装置200は、倣い動作において図13に示す力Fyを生じさせるように、時系列的に目標力を設定されている。図4のステップS120の処理において、まず、挿入方向であるy軸方向について、倣い動作が行われる範囲を区分する複数の区間が設定される。図5のステップS123においては、y軸方向の複数の区間の境界の位置、および各区間の境界における目標力のy軸方向成分を調整する、最適化処理が行われる。なお、各区間における目標力は、各区間の両端の境界の目標力を補間することにより決定される。そのように最適化された時系列的な目標力のy軸方向成分にしたがって、y軸負方向に力を加える力制御が行われる(図4のS120および図13参照)。その結果、ワークWK1は、y軸方向に過大な力を受けることなく、かつ短時間で、嵌合孔H2内に挿入される。
図14は、倣い動作においてエンドエフェクター140が受けるz軸正方向の力Fzを表すグラフである。横軸は、y軸負方向に沿った制御点CPの位置である。図8~図12で示した倣い動作において、エンドエフェクター140が受けるz軸正方向の力Fzは、は、図14に示すように変化する。力Fzは、ワークWK1が嵌合孔H2に挿入されるにつれて大きくなる。図14において、図9~図12に示した状態における制御点CPの位置を、それぞれP9~P12で示す。図14において、図9~図12に示した状態におけるz軸正方向の力Fn1~Fn4を示す。
ロボット制御装置200は、倣い動作において図14に示す力Fzを生じさせるように、時系列的に目標力を設定されている。図5のステップS123においては、y軸方向の複数の区間の境界の位置、および各区間の境界における目標力のz軸方向成分を調整する、最適化処理が行われる。なお、各区間における目標力は、各区間の両端の境界の目標力を補間することにより決定される。そのように最適化された時系列的な目標力のz軸方向成分にしたがって、z軸負方向に力を加える力制御が行われる(図4のS120および図14参照)。その結果、ワークWK1は、z軸方向過大な力を受けることなく、かつ短時間で、嵌合孔H2内に挿入される。
以上で説明したように、力制御の各パラメーターを時系列的に変化する値とすることにより、挿入や抜き出しの途中で反力や摩擦力に変化がある動作においても、適切な力を加えるように力制御パラメーターを設定するこのができる。このため、対象物に過大な力が加わることを防止でき、かつ、動作時間を短縮することができる。
本実施形態におけるロボット制御装置200を「制御部」とも呼ぶ。設定装置600を「調整部」とも呼ぶ。ワークWK1を「第1対象物」とも呼ぶ。ワークWK2を「第2対象物」とも呼ぶ。嵌合孔H2を「空隙」とも呼ぶ。ステップS121,S122、ならびにS125,S126を「測定工程」とも呼ぶ。ステップS123,S124を「パラメーター更新工程」とも呼ぶ。ステップS123~S127を「パラメーター決定工程」とも呼ぶ。ステップS123~S127において行われる処理を「パラメーター決定処理」とも呼ぶ。
B.他の適用例1:
図15は、本開示の技術の他の適用例1を示す説明図である。ここでは、自動車の作動装置、いわゆるデファレンシャルギアの組み立てに、本開示の技術を適用する例を説明する。なお、図15においては、技術の理解を容易にするため、ロボット100によって取り扱われる対象物、エンドエフェクター140、および力検出器130以外の構成は、省略されている。図15は、ロボット100によって取り扱われる対象物、エンドエフェクター140、および力検出器130の形状を正確に表すものではない。
図15は、本開示の技術の他の適用例1を示す説明図である。ここでは、自動車の作動装置、いわゆるデファレンシャルギアの組み立てに、本開示の技術を適用する例を説明する。なお、図15においては、技術の理解を容易にするため、ロボット100によって取り扱われる対象物、エンドエフェクター140、および力検出器130以外の構成は、省略されている。図15は、ロボット100によって取り扱われる対象物、エンドエフェクター140、および力検出器130の形状を正確に表すものではない。
図15に示す組み立て途中の作動装置において、左ドライブシャフト383の先端には、左サイドギアWK1bが取り付けられている(図15の中央部参照)。右ドライブシャフト386の先端には、右サイドギア387が取り付けられている。ディファレンシャルギアケース381内には、向かい合う一対のデフピニオンギアWK2b,WK2cが、組み付けられている(図15の右部参照)。なお、技術の理解を容易にするために、図15においては、デフピニオンギアWK2b,WK2cのうち、歯が設けられている部分のみが示され、他の部分の図示は省略されている。
ディファレンシャルギアケース381の重量は、一般に大きい。このため、あらかじめ定められた姿勢で固定されたディファレンシャルギアケース381に対して、右ドライブシャフト386が、右から組み付けられる。ディファレンシャルギアケース381に対して、左ドライブシャフト383が、左から組み付けられる。図15において、右ドライブシャフト386は、すでにディファレンシャルギアケース381に組み付けられている。この状態において、右サイドギア387は、向かい合う一対のデフピニオンギアWK2b,WK2cとかみ合っている。
本適用例においては、左ドライブシャフト383が、ディファレンシャルギアケース381の穴381Hを通って、ディファレンシャルギアケース381に組み付けられる。本適用例における倣い動作は、自動車の作動装置の組み立てにおいて、エンドエフェクター140に保持された左サイドギアWK1bが、デフピニオンギアWK2b,WK2cに接触しつつ、デフピニオンギアWK2b,WK2cの間の空隙に挿入される動作である。
ロボット100は、エンドエフェクター140によって、左ドライブシャフト383を保持している。エンドエフェクター140は、左ドライブシャフト383および左サイドギアWK1bにかかる重力Fgbを受けている。左ドライブシャフト383および左サイドギアWK1bの重心Gbを図15において示す。
力検出器130は、エンドエフェクター140にかかる鉛直下向きの力Fgおよび力Fgに起因するトルクを検出する。ロボット制御装置200は、力制御において、それらの力およびトルクを相殺する力およびトルクをアーム110の各関節に生じさせて、左ドライブシャフト383および左サイドギアWK1bの位置および姿勢を保持している。ロボット100の制御点CPbは、左ドライブシャフト383および左サイドギアWK1bの中心軸上であって、左サイドギアWK1b内の位置に定められている(図15の中央部参照)。
図15の状態において、左サイドギアWK1bは、デフピニオンギアWK2b,WK2cに接していない。このため、左サイドギアWK1bは、デフピニオンギアWK2b,WK2cから力を受けていない。
図15の状態から倣い動作が開始され、y軸負方向に左ドライブシャフト383および左サイドギアWK1bが移動される。その後、左サイドギアWK1bは、デフピニオンギアWK2b,WK2cに接する。すると、実施形態の場合と同様に、左サイドギアWK1bは、デフピニオンギアWK2b,WK2cから垂直抗力と摩擦力を受ける(図9のFf1,Fn1参照)。図15において、左サイドギアWK1bがデフピニオンギアWK2bからうける垂直抗力を、力Fn21として破線で示す。
左サイドギアWK1bが、デフピニオンギアWK2b,WK2cからうける垂直抗力と摩擦力は、実施形態の場合と同様に、挿入が進むにつれて変化する。一方、デフピニオンギアWK2b,WK2cの形状、位置および姿勢は、デフピニオンギアWK2b,WK2cの製造誤差、ならびにデフピニオンギアWK2b,WK2cのディファレンシャルギアケース381に対する組みつけの差に起因して、理想的な形状、位置および姿勢からずれている。左サイドギアWK1bが、デフピニオンギアWK2b,WK2cからうける垂直抗力と摩擦力も、デフピニオンギアWK2b,WK2cの製造誤差、ならびにデフピニオンギアWK2b,WK2cのディファレンシャルギアケース381に対する組みつけの差に起因して、設計上の想定値からずれる。
ロボット制御装置200は、力検出器130が検出するy軸方向の力とz軸方向の力が、それぞれ目標力のy軸方向成分とz軸方向成分と一致するように、力制御を行って、左ドライブシャフト383をディファレンシャルギアケース381に挿入する。制御点CPbが、あらかじめ定められた閾値平面Sc2に達すると、挿入の作業は終了する。閾値平面Sc2は、z軸およびx軸に平行な平面である。
本開示の技術は、このような倣い動作に対して適用することができる(図4および図5参照)。本開示の技術を適用することにより、挿入の方向に直交するx軸方向およびz軸方向の目標力の値が適切に設定される。その結果、設定された力制御パラメーターで力制御を行うことにより、ロボットシステム1に、適切に左サイドギアWK1bをデフピニオンギアWK2b,WK2cの間の空隙に挿入させることができる。
本実施形態における左サイドギアWK1bを「第1対象物」とも呼ぶ。デフピニオンギアWK2b,WK2cを「第2対象物」とも呼ぶ。
C.他の適用例2:
図16は、本開示の技術の他の適用例2を示す説明図である。ここでは、NC(Numerically Control)工作機械に対するマシンテンディング、すなわち、NC工作機械への加工対象物の供給、およびNC工作機械からの加工対象物の取り出しに、本開示の技術を適用する例を説明する。なお、図16においては、技術の理解を容易にするため、ロボット100によって取り扱われるワークWK1c,WK1d、対象物を処理するNC工作機械500、ロボット100、およびエンドエフェクター140以外の構成は、省略されている。図16は、ワークWK1c,WK1d、対象物を処理するNC工作機械500、ロボット100、およびエンドエフェクター140の形状を正確に表すものではない。
図16は、本開示の技術の他の適用例2を示す説明図である。ここでは、NC(Numerically Control)工作機械に対するマシンテンディング、すなわち、NC工作機械への加工対象物の供給、およびNC工作機械からの加工対象物の取り出しに、本開示の技術を適用する例を説明する。なお、図16においては、技術の理解を容易にするため、ロボット100によって取り扱われるワークWK1c,WK1d、対象物を処理するNC工作機械500、ロボット100、およびエンドエフェクター140以外の構成は、省略されている。図16は、ワークWK1c,WK1d、対象物を処理するNC工作機械500、ロボット100、およびエンドエフェクター140の形状を正確に表すものではない。
NC工作機械500は、NC操作盤501と、加工空間502と、開閉扉503と、主軸台504と、チャック505と、刃物台と、バイトと、を備える。図16においては、技術の理解を容易にするため、刃物台、およびバイトは、省略されている。
NC操作盤501は、NC工作機械500を操作するための入力装置である。加工空間502は、ワークWK1cがバイトによって加工される空間である。主軸台504と、チャック505と、刃物台と、バイトとは、加工空間502内に配されている。開閉扉503は、加工空間502を外部の空間と分離するための扉である。
チャック505は、主軸台504に設けられている。チャック505は、主軸台504の回転の中心軸を中心として等間隔に配された3個の爪WK2dを備える。チャック505は、それら3個の爪WK2dで三方からワークWK1cを押圧して、主軸台504にワークWK1cを固定する。主軸台504は、チャック505およびチャック505に保持されたワークWK1cとともに、中心軸を中心として回転する。
バイトは、刃物台に支持されている。回転するワークWK1cに対して刃物台が近づけられて所定の位置に配されることにより、バイトが回転するワークWK1cに押圧され、ワークWK1cが切削加工される。時間の経過とともに変化する刃物台の位置および主軸台504の回転速度は、NC操作盤501を介した入力により、あらかじめ定められている。
本適用例における倣い動作の一つは、エンドエフェクター140に保持されたワークWK1cの一部が、NC工作機械500のチャック505の3個の爪WK2dのうちの1以上に接触しつつ、チャック505の3個の爪WK2dで囲まれた空隙に挿入される動作である。本適用例における倣い動作の他の一つは、チャック505の3個の爪WK2dで抜き取り可能に保持されている加工後のワークWK1dの一部が、チャック505の3個の爪WK2dのうちの1以上に接触しつつ、チャック505の3個の爪WK2dで囲まれた空隙から抜き出される動作である。
ワークWK1cに対する加工の前に、開閉扉503が開かれ、加工空間502が開放される。このとき、チャック505の3個の爪WK2dは、加工前のワークWK1cを受け入れることができる大きさの間隔を開けて、配されている。加工前のワークWK1cは、トレイTR1内に置かれている。ロボット100は、エンドエフェクター140によって加工前のワークWK1cを保持し、チャック505の3個の爪WK2dで囲まれた空隙にワークWK1cの一部を挿入する。その後、3個の爪WK2dがワークWK1cに接近して、三方からワークWK1cを押圧し、主軸台504にワークWK1cを固定する。
ロボット制御装置200は、力検出器130が検出するy軸方向の力とz軸方向の力とx軸方向の力が、それぞれ目標力のy軸方向成分とz軸方向成分とx軸方向成分と一致するように、力制御を行って、加工前のワークWK1cをチャック505の3個の爪WK2dで囲まれた空隙に挿入する。制御点が、あらかじめ定められた閾値平面に達すると、挿入の作業は終了する。閾値平面は、z軸およびx軸に平行な平面である。
本開示の技術は、このような倣い動作に対して適用することができる(図4および図5参照)。本開示の技術を適用することにより、挿入の方向に直交するx軸方向およびz軸方向の目標力の値が適切に設定される。その結果、設定された力制御パラメーターで力制御を行うことにより、ロボットシステム1に、加工前のワークWK1cを、チャック505の3個の爪WK2dで囲まれた空隙に、適切に挿入させることができる。
ワークWK1cに対する加工の後に、開閉扉503が開かれ、加工空間502が開放される。その後、チャック505の3個の爪WK2dは、加工後のワークWK1dをロボット100が抜き出すことができる大きさの間隔を開けて、配される。加工後のワークWK1dは、依然としてチャック505の3個の爪WK2dに保持されている。ロボット100は、エンドエフェクター140によって加工後のワークWK1dを保持し、チャック505の3個の爪WK2dで囲まれた空隙から加工後のワークWK1dを抜き出す。その後、ロボット100は、ワークWK1dは、トレイTR2に置く。
ロボット制御装置200は、力検出器130が検出するy軸方向の力とz軸方向の力とx軸方向の力が、それぞれ目標力のy軸方向成分とz軸方向成分とx軸方向成分と一致するように、力制御を行って、加工前のワークWK1dをチャック505の3個の爪WK2dで囲まれた空隙から抜き出す。
本開示の技術は、このような倣い動作に対して適用することができる(図4および図5参照)。本開示の技術を適用することにより、抜き取りの方向に直交するx軸方向およびz軸方向の目標力の値が適切に設定される。その結果、決定された力制御パラメーターで力制御を行うことにより、ロボットシステム1に、適切に加工前のワークWK1dを、チャック505の3個の爪WK2dで囲まれた空隙から抜き取らせることができる。
本実施形態におけるワークWK1c,WK1dを「第1対象物」とも呼ぶ。NC工作機械500のチャック505の3個の爪WK2dを「第2対象物」とも呼ぶ。
D.他の適用例3:
図17は、複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。この例では、ロボット100およびそのロボット制御装置200の他に、パーソナルコンピューター680,690と、LANなどのネットワーク環境を介して提供されるクラウドサービス900とが描かれている。パーソナルコンピューター680,690は、それぞれプロセッサーとメモリーとを含んでいる。また、クラウドサービス900においてもプロセッサーとメモリーを利用可能である。これらの複数のプロセッサーの一部または全部を利用して、ロボット100の制御装置および設定装置を実現することが可能である。
図17は、複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。この例では、ロボット100およびそのロボット制御装置200の他に、パーソナルコンピューター680,690と、LANなどのネットワーク環境を介して提供されるクラウドサービス900とが描かれている。パーソナルコンピューター680,690は、それぞれプロセッサーとメモリーとを含んでいる。また、クラウドサービス900においてもプロセッサーとメモリーを利用可能である。これらの複数のプロセッサーの一部または全部を利用して、ロボット100の制御装置および設定装置を実現することが可能である。
図18は、複数のプロセッサーによってロボットの制御装置が構成される他の例を示す概念図である。この例では、ロボット100のロボット制御装置200が、ロボット100の中に格納されている点が図17と異なる。この例においても、複数のプロセッサーの一部または全部を利用して、ロボット100の制御装置および設定装置を実現することが可能である。
E.他の実施形態:
E1.他の実施形態1:
(1)上記実施形態においては、エンドエフェクター140は、ワークWK1を保持できる。しかし、エンドエフェクター140は、他の適用例1において示したように、他の構成を介して第1対象物を保持できる態様であってもよい(図15参照)。
E1.他の実施形態1:
(1)上記実施形態においては、エンドエフェクター140は、ワークWK1を保持できる。しかし、エンドエフェクター140は、他の適用例1において示したように、他の構成を介して第1対象物を保持できる態様であってもよい(図15参照)。
(2)上記実施形態において、目標力の時系列的な変化について説明した(図13および図14参照)。目標力の時系列的な変化を実現する位置の区分は、x軸、y軸、z軸について独立に定められてもよいし、x軸、y軸、z軸について統一して定められてもよい。
(3)上記実施形態においては、目標力の時系列的な変化について説明した(図13および図14参照)。しかし、たとえば、インピーダンスパラメーターなど、目標力以外のパラメーターも、制御点の位置に応じて変化する値とすることができる(図6の上段右部、および図3の下段参照)。ただし、アルゴリズムが出力する各パラメーターは、定数であってもよい。
(4)上記実施形態においては、ステップS124において、CMA-ESを使用した最適化処理が行われる(図5および図6参照)。しかし、最適化処理は、PSO(Particle Swarm Optimization)や、ベイズ最適化など、他の手法で行われてもよい。
(5)上記実施形態においては、図5のステップS127における判定に使用される評価値として、動作時間OTが採用される(図7参照)。しかし、処理の終了条件の判定に使用される評価値は、検出力など、他の評価値とすることもできる。
(6)上記実施形態のステップS127においては、処理の終了条件の判定として、ステップS125で得られた評価値が収束したか否かかが判定される。しかし、評価値があらかじめ定められた閾値よりもよい値となったことを、処理の終了条件とすることもできる。
(7)上記実施形態においては特に言及していないが、設定装置600は、たとえば図7に示したような、処理の繰り返しに応じた評価値の推移を、グラフとして表示装置660に出力することが好ましい。同様に、出力されるパラメーターの候補値の処理の繰り返しに応じた推移を、グラフとして表示装置660に出力することが好ましい。
(8)上記適用例2においては、ロボット100は、NC工作機械500に対して移動しない。しかし、ロボット100は、トレイTR1,TR2を備えた台座とともに移動することができる自立移動ロボットとして構成することもできる。そのような態様とすれば、NC工作機械500に対して1台のロボットが、マシンテンディングを行うことができる。
E2.他の実施形態2:
(1)上記実施形態においては、力測定値と動作時間を入力とし、力制御パラメーターの候補値を出力とするアルゴリズムが使用される(図6参照)。しかし、アルゴリズムの入力は、力測定値と動作時間とのいずれか一方のみとすることもできる。また、アルゴリズムの入力は、寿命や最大トルク割合など、他の評価値とすることもできる。そのような態様については、入力とされる評価値について、最適化が行われ、入力とされる評価値ついて好ましい結果をもたらす力制御パラメーターの候補値が決定される。
(1)上記実施形態においては、力測定値と動作時間を入力とし、力制御パラメーターの候補値を出力とするアルゴリズムが使用される(図6参照)。しかし、アルゴリズムの入力は、力測定値と動作時間とのいずれか一方のみとすることもできる。また、アルゴリズムの入力は、寿命や最大トルク割合など、他の評価値とすることもできる。そのような態様については、入力とされる評価値について、最適化が行われ、入力とされる評価値ついて好ましい結果をもたらす力制御パラメーターの候補値が決定される。
(2)上記実施形態においては、力測定値と動作時間を入力とするアルゴリズムが使用される(図6参照)。しかし、最適化アルゴリズムに対して3個以上の評価値の入力が行われる態様とすることもできる。最適化アルゴリズムに対して複数の評価値の入力が行われる態様においては、入力としての評価値に適切な重み付けを行うことにより、より少ない繰り返し回数で、好ましい力制御パラメーターを得ることができる(図5のS123~S127参照)。
最適化アルゴリズムに対して複数の評価値の入力が行われる態様においては、最適化処理の目標関数は、複数の評価値を使用して適切に定めることができる。目標関数は、たとえば動作時間OTなど、一つの評価値とすることができる。また、検出力Fdの最大値、検出トルクTdの最大値、および動作時間OTで構成される、3個の評価値の重みづけ和、またはそれら3個の評価値で定められるハイパーボリュームを、目標関数とすることもできる。倣い動作中の任意に定めた時間における検出力Fdの積分値および検出トルクTdの積分値、ならびに動作時間OTで構成される、3個の評価値の重みづけ和、またはそれら3個の評価値で定められるハイパーボリュームを、目標関数とすることもできる。
なお、検出力Fdの最大値は、x軸、y軸およびz軸の成分の合成力としての検出力Fdの最大値であってもよい。また、検出力Fdの最大値は、x軸、y軸およびz軸の成分ごとの検出力の最大値であってもよい。検出トルクTdの最大値は、x軸、y軸およびz軸まわりの成分の合成トルクとしての検出トルクTdの最大値であってもよい。また、検出トルクTdの最大値は、x軸、y軸およびz軸まわりの成分ごとの検出トルクの最大値であってもよい。
検出力Fdの積分値は、x軸、y軸およびz軸の成分の合成力としての検出力Fdの積分値であってもよい。また、検出力Fdの積分値は、x軸、y軸およびz軸の成分ごとの検出力の積分値であってもよい。検出トルクTdの積分値は、x軸、y軸およびz軸まわりの成分の合成トルクとしての検出トルクTdの積分値であってもよい。また、検出トルクTdの積分値は、x軸、y軸およびz軸まわりの成分ごとの検出トルクの積分値であってもよい。
一方、最適化アルゴリズムに対して複数の評価値の入力が行われる態様においては、最適化処理は、多目的最適化を行う処理であってもよい。たとえば、検出力Fdの最大値、検出トルクTdの最大値、および動作時間OTをいずれもできるだけ小さくする多目的最適化を行ってもよい。倣い動作中の任意に定めた時間における検出力Fdの積分値および検出トルクTdの積分値、ならびに動作時間OTをいずれもできるだけ小さくする多目的最適化を行ってもよい。
E3.他の実施形態3:
上記実施形態においては、最適化アルゴリズムは、力制御の有効または無効を指定するフラグFlgと、倣い動作の開始時におけるエンドエフェクター140の位置xs,ys,zs,Rxs,Rys,Rzsと、倣い動作の開始時と終了時の間の定められた時刻におけるエンドエフェクター140の位置xp,yp,zp,Rxp,Ryp,Rzpと、を出力する(図6の下段右部)。しかし、これらのうちの1以上のパラメーターを出力に含まない態様とすることもできる。たとえば、力制御は行われるものとして、出力に力制御の有効または無効を指定するフラグFlgを含まない態様とすることができる。
上記実施形態においては、最適化アルゴリズムは、力制御の有効または無効を指定するフラグFlgと、倣い動作の開始時におけるエンドエフェクター140の位置xs,ys,zs,Rxs,Rys,Rzsと、倣い動作の開始時と終了時の間の定められた時刻におけるエンドエフェクター140の位置xp,yp,zp,Rxp,Ryp,Rzpと、を出力する(図6の下段右部)。しかし、これらのうちの1以上のパラメーターを出力に含まない態様とすることもできる。たとえば、力制御は行われるものとして、出力に力制御の有効または無効を指定するフラグFlgを含まない態様とすることができる。
一方、最適化アルゴリズムは、複数の通過点に対応する複数組のエンドエフェクター140の位置xp,yp,zp,Rxp,Ryp,Rzpを出力する態様とすることもできる。
E4.他の実施形態4:
最適化アルゴリズムが出力する力制御パラメーターの候補値は、インピーダンスパラメーターである仮想質量係数m、仮想粘性係数d、および仮想弾性係数kを含む(図6の上段右部、および図3の下段参照)。しかし、仮想質量係数m、仮想粘性係数d、および仮想弾性係数kのうちの1以上をあらかじめ固定値として定め、最適化アルゴリズムは、その1以上の係数については、出力しない態様とすることもできる。
最適化アルゴリズムが出力する力制御パラメーターの候補値は、インピーダンスパラメーターである仮想質量係数m、仮想粘性係数d、および仮想弾性係数kを含む(図6の上段右部、および図3の下段参照)。しかし、仮想質量係数m、仮想粘性係数d、および仮想弾性係数kのうちの1以上をあらかじめ固定値として定め、最適化アルゴリズムは、その1以上の係数については、出力しない態様とすることもできる。
F.さらに他の実施形態:
(1)本開示の一形態によれば、ロボットシステムの力制御において使用される力制御パラメーターの調整方法が提供される。前記ロボットシステムは、ロボットと、前記ロボットに設けられ外力を測定できる力検出器と、前記ロボットに設けられ第1対象物を保持できるエンドエフェクターと、を備える。前記力制御は、前記ロボットを使用して倣い動作を実行させる際に、前記力検出器による前記外力の測定値に基づいて行われる。前記倣い動作は、前記エンドエフェクターに保持された前記第1対象物の少なくとも一部が、第2対象物に接触しつつ、前記第2対象物が備える空隙に挿入され、または前記一部が、前記第2対象物に接触しつつ、前記空隙から抜き出される、動作である。前記調整方法は、前記挿入または抜き出しの方向に直交する方向の目標力を含む前記力制御パラメーターの候補値を用いて、前記ロボットに前記倣い動作を行わせ、前記倣い動作における前記外力の測定値である力測定値を得る測定工程と、前記力測定値を使用して前記力制御パラメーターについて最適化処理を行い、前記力制御パラメーターの新たな候補値を得るパラメーター更新工程と、前記測定工程と前記パラメーター更新工程とを繰り返すことにより、前記ロボットシステムの前記力制御において使用される力制御パラメーターを決定し、出力するパラメーター決定工程と、を含む。
このような態様によれば、挿入または抜き出しの方向に直交する方向の目標力の値が適切に設定される。その結果、決定された力制御パラメーターで力制御を行うことにより、ロボットに適切に第1対象物を空隙に挿入させ、または第1対象物を空隙から抜き出させることができる。
(1)本開示の一形態によれば、ロボットシステムの力制御において使用される力制御パラメーターの調整方法が提供される。前記ロボットシステムは、ロボットと、前記ロボットに設けられ外力を測定できる力検出器と、前記ロボットに設けられ第1対象物を保持できるエンドエフェクターと、を備える。前記力制御は、前記ロボットを使用して倣い動作を実行させる際に、前記力検出器による前記外力の測定値に基づいて行われる。前記倣い動作は、前記エンドエフェクターに保持された前記第1対象物の少なくとも一部が、第2対象物に接触しつつ、前記第2対象物が備える空隙に挿入され、または前記一部が、前記第2対象物に接触しつつ、前記空隙から抜き出される、動作である。前記調整方法は、前記挿入または抜き出しの方向に直交する方向の目標力を含む前記力制御パラメーターの候補値を用いて、前記ロボットに前記倣い動作を行わせ、前記倣い動作における前記外力の測定値である力測定値を得る測定工程と、前記力測定値を使用して前記力制御パラメーターについて最適化処理を行い、前記力制御パラメーターの新たな候補値を得るパラメーター更新工程と、前記測定工程と前記パラメーター更新工程とを繰り返すことにより、前記ロボットシステムの前記力制御において使用される力制御パラメーターを決定し、出力するパラメーター決定工程と、を含む。
このような態様によれば、挿入または抜き出しの方向に直交する方向の目標力の値が適切に設定される。その結果、決定された力制御パラメーターで力制御を行うことにより、ロボットに適切に第1対象物を空隙に挿入させ、または第1対象物を空隙から抜き出させることができる。
(2)上記形態の調整方法において、前記測定工程は、前記倣い動作に要する時間である動作時間を計測する工程を含み、前記パラメーター更新工程は、前記力測定値と前記動作時間を入力とし、前記力制御パラメーターの候補値を出力とするアルゴリズムを使用して実行される、態様とすることができる。
このような態様とすれば、パラメーター更新工程において、力測定値と動作時間を考慮した最適化処理により、力制御パラメーターの新たな候補値を得ることができる。このため、決定された力制御パラメーターで力制御を行うことにより、倣い動作においてロボットが受ける外力と、倣い動作の動作時間と、についての評価の高い動きで、ロボットシステムに適切に第1対象物を空隙に挿入させ、または第1対象物を空隙から抜き出させることができる。
このような態様とすれば、パラメーター更新工程において、力測定値と動作時間を考慮した最適化処理により、力制御パラメーターの新たな候補値を得ることができる。このため、決定された力制御パラメーターで力制御を行うことにより、倣い動作においてロボットが受ける外力と、倣い動作の動作時間と、についての評価の高い動きで、ロボットシステムに適切に第1対象物を空隙に挿入させ、または第1対象物を空隙から抜き出させることができる。
(3)上記形態の調整方法において、前記アルゴリズムは、前記力制御の有効または無効の指定と、前記倣い動作の開始時における前記エンドエフェクターの位置と、前記倣い動作の開始時と終了時の間の時刻における前記エンドエフェクターの位置と、を出力とする、態様とすることができる。
このような態様によって決定された力制御パラメーターで力制御を行うことにより、力制御の有効または無効と、倣い動作の開始時におけるエンドエフェクターの位置と、倣い動作の開始時と終了時の間の時刻におけるエンドエフェクターの位置と、を適切に指定された制御を行って、ロボットシステムに適切に第1対象物を空隙に挿入させ、または第1対象物を空隙から抜き出させることができる。
このような態様によって決定された力制御パラメーターで力制御を行うことにより、力制御の有効または無効と、倣い動作の開始時におけるエンドエフェクターの位置と、倣い動作の開始時と終了時の間の時刻におけるエンドエフェクターの位置と、を適切に指定された制御を行って、ロボットシステムに適切に第1対象物を空隙に挿入させ、または第1対象物を空隙から抜き出させることができる。
(4)上記形態の調整方法において、前記力制御パラメーターは、前記力制御における、前記挿入または抜き出しの方向の目標力、仮想粘性係数、仮想弾性係数、および仮想質量係数を含む、態様とすることができる。
このような態様とすれば、決定された力制御パラメーターで力制御を行うことにより、適切な力制御を行って、ロボットシステムに適切に第1対象物を空隙に挿入させ、または第1対象物を空隙から抜き出させることができる。
このような態様とすれば、決定された力制御パラメーターで力制御を行うことにより、適切な力制御を行って、ロボットシステムに適切に第1対象物を空隙に挿入させ、または第1対象物を空隙から抜き出させることができる。
(5)本開示の他の形態によれば、ロボットシステムの制御方法が提供される。このロボットシステムの制御方法は、前記ロボットシステムを使用して、倣い動作を実行させる際に、力制御を行う工程を含む。前記ロボットシステムは、ロボットと、前記ロボットに設けられ外力を測定できる力検出器と、前記ロボットに設けられ第1対象物を保持できるエンドエフェクターと、を備える。前記倣い動作は、前記エンドエフェクターに保持された前記第1対象物の少なくとも一部が、第2対象物に接触しつつ、前記第2対象物が備える空隙に挿入され、または前記一部が、前記第2対象物に接触しつつ、前記空隙から抜き出される、動作である。前記力制御は、前記力検出器による前記外力の測定値に基づいて、前記挿入または抜き出しの方向に直交する方向の成分であって、0ではない大きさを有する成分を含む目標力にしたがって、実行される。
このような態様とすれば、挿入または抜き出しの方向に直交する方向についても力を加える力制御によって、ロボットシステムに適切に第1対象物を空隙に挿入させ、または第1対象物を空隙から抜き出させることができる。
このような態様とすれば、挿入または抜き出しの方向に直交する方向についても力を加える力制御によって、ロボットシステムに適切に第1対象物を空隙に挿入させ、または第1対象物を空隙から抜き出させることができる。
(6)本開示の他の形態によれば、ロボットシステムが提供される。このロボットシステムは、ロボットと、前記ロボットに設けられ外力を測定できる力検出器と、前記ロボットに設けられ第1対象物を保持できるエンドエフェクターと、前記エンドエフェクターに保持された前記第1対象物の少なくとも一部が、第2対象物に接触しつつ、前記第2対象物が備える空隙に挿入され、または前記一部が、前記第2対象物に接触しつつ、前記空隙から抜き出される倣い動作を、前記ロボットに実行させ、前記倣い動作において、前記力検出器による前記外力の測定値に基づいて、前記ロボットの力制御を行う制御部と、前記力制御において使用される力制御パラメーターの調整を行うことができる調整部と、を備える。前記調整部は、前記挿入または抜き出しの方向に直交する方向の目標力を含む前記力制御パラメーターの候補値を用いて、前記ロボットに前記倣い動作を行わせ、前記倣い動作における前記外力の測定値である力測定値を得る測定処理と、前記力測定値を使用して前記力制御パラメーターについて最適化処理を行い、前記力制御パラメーターの新たな候補値を得るパラメーター更新処理と、前記測定処理と前記パラメーター更新処理とを繰り返すことにより、前記ロボットシステムの前記力制御において使用される力制御パラメーターを決定し、出力する、パラメーター決定処理と、を行うことができる。
このような態様によれば、挿入または抜き出しの方向に直交する方向の目標力の値が適切に設定される。その結果、決定された力制御パラメーターで力制御を行うことにより、ロボットに適切に第1対象物を空隙に挿入させ、または第1対象物を空隙から抜き出させることができる。
このような態様によれば、挿入または抜き出しの方向に直交する方向の目標力の値が適切に設定される。その結果、決定された力制御パラメーターで力制御を行うことにより、ロボットに適切に第1対象物を空隙に挿入させ、または第1対象物を空隙から抜き出させることができる。
(7)上記形態のロボットシステムにおいて、前記測定処理は、前記倣い動作に要する時間である動作時間を計測する処理を含み、前記パラメーター更新処理は、前記力測定値と前記動作時間を入力とし、前記力制御パラメーターの候補値を出力とするアルゴリズムを使用して実行される、態様とすることができる。
(8)上記形態のロボットシステムにおいて、前記アルゴリズムは、前記力制御の有効または無効の指定と、前記倣い動作の開始時における前記エンドエフェクターの位置と、前記倣い動作の開始時と終了時の間の時刻における前記エンドエフェクターの位置と、を出力とする、態様とすることができる。
(9)上記形態のロボットシステムにおいて、前記力制御パラメーターは、前記力制御における、前記挿入または抜き出しの方向の目標力、仮想粘性係数、仮想弾性係数、および仮想質量係数を含む、態様とすることができる。
本開示は、上述の実施形態や実施例、変形例に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態、実施例、変形例中の技術的特徴は、上述の課題の一部または全部を解決するために、あるいは、上述の効果の一部または全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
1…ロボットシステム、30…カメラ、50…作業台、100…ロボット、110…アーム、120…アームフランジ、130…力検出器、140…エンドエフェクター、200…ロボット制御装置、210…プロセッサー、220…メモリー、222…プログラム命令、224…制御プログラム、226…力制御パラメーター、250…制御実行部、381…ディファレンシャルギアケース、381H…穴、383…左ドライブシャフト、386…右ドライブシャフト、387…右サイドギア、500…NC工作機械、501…NC操作盤、502…加工空間、503…開閉扉、504…主軸台、505…チャック、600…設定装置、610…プロセッサー、620…メモリー、622…プログラム命令、624…設定プログラム、650…プログラム作成部、660…表示装置、670…入力装置、680…パーソナルコンピューター、690…パーソナルコンピューター、900…クラウドサービス、CP…制御点、CPb…制御点、Fd…検出力、Ff1…y軸正方向の力、Ff2…y軸正方向の力、Ff3…y軸正方向の力、Ff4…y軸正方向の力、Fg…重力、Fgb…重力、Flg…フラグ、Fn1…垂直抗力、Fn…垂直抗力、Fn21…力、Ft…目標力、Fxt…目標力のx軸方向の力成分、Fy…y軸正方向の力、Fyt…目標力のy軸方向の力成分、Fz…z軸正方向の力、Fzt…目標力のz軸方向の力成分、G…重心、Gb…重心、H2…嵌合孔、J1…関節、J2…関節、J3…関節、J4…関節、J5…関節、J6…関節、OT…動作時間、P9…図9の状態における制御点CPの位置、P10…図10の状態における制御点CPの位置、P11…図11の状態における制御点CPの位置、P12…図12の状態における制御点CPの位置、Rth…収束判定の基準となる範囲、Rxp…中継点におけるエンドエフェクターの姿勢を表すパラメーター、Ryp…中継点におけるエンドエフェクターの姿勢を表すパラメーター、Rzp…中継点におけるエンドエフェクターの姿勢を表すパラメーター、Rxs…倣い動作の開始時におけるエンドエフェクターの姿勢を表すパラメーター、Rys…倣い動作の開始時におけるエンドエフェクターの姿勢を表すパラメーター、Rzs…倣い動作の開始時におけるエンドエフェクターの姿勢を表すパラメーター、SN…スナッピング機構、Sc…閾値平面、Sc2…閾値平面、TR1…トレイ、TR2…トレイ、Td…検出トルク、Txt…目標力のx軸まわりのトルク成分、Tyt…目標力のy軸まわりのトルク成分、Tzt…目標力のz軸まわりのトルク成分、WK1…ワーク、WK1b…左サイドギア、WK1c…ワーク、WK1d…ワーク、WK2…ワーク、WK2b…デフピニオンギア、WK2c…デフピニオンギア、WK2d…爪、d…仮想粘性係数、k…仮想弾性係数、m…仮想質量係数、xp…中継点におけるエンドエフェクターの位置を表すパラメーター、yp…中継点におけるエンドエフェクターの位置を表すパラメーター、zp…中継点におけるエンドエフェクターの位置を表すパラメーター、xs…倣い動作の開始時におけるエンドエフェクターの位置を表すパラメーター、ys…倣い動作の開始時におけるエンドエフェクターの位置を表すパラメーター、zs…倣い動作の開始時におけるエンドエフェクターの位置を表すパラメーター
Claims (9)
- ロボットシステムの力制御において使用される力制御パラメーターの調整方法であって、
前記ロボットシステムは、ロボットと、前記ロボットに設けられ外力を測定できる力検出器と、前記ロボットに設けられ第1対象物を保持できるエンドエフェクターと、を備え、
前記力制御は、前記ロボットを使用して倣い動作を実行させる際に、前記力検出器による前記外力の測定値に基づいて行われ、
前記倣い動作は、前記エンドエフェクターに保持された前記第1対象物の少なくとも一部が、第2対象物に接触しつつ、前記第2対象物が備える空隙に挿入され、または前記一部が、前記第2対象物に接触しつつ、前記空隙から抜き出される、動作であり、
前記調整方法は、
前記挿入または抜き出しの方向に直交する方向の目標力を含む前記力制御パラメーターの候補値を用いて、前記ロボットに前記倣い動作を行わせ、前記倣い動作における前記外力の測定値である力測定値を得る測定工程と、
前記力測定値を使用して前記力制御パラメーターについて最適化処理を行い、前記力制御パラメーターの新たな候補値を得るパラメーター更新工程と、
前記測定工程と前記パラメーター更新工程とを繰り返すことにより、前記ロボットシステムの前記力制御において使用される力制御パラメーターを決定し、出力するパラメーター決定工程と、を含む、調整方法。 - 請求項1に記載の力制御パラメーターの調整方法であって、
前記測定工程は、前記倣い動作に要する時間である動作時間を計測する工程を含み、
前記パラメーター更新工程は、前記力測定値と前記動作時間を入力とし、前記力制御パラメーターの候補値を出力とするアルゴリズムを使用して実行される、調整方法。 - 請求項2に記載の力制御パラメーターの調整方法であって、
前記アルゴリズムは、
前記力制御の有効または無効の指定と、
前記倣い動作の開始時における前記エンドエフェクターの位置と、
前記倣い動作の開始時と終了時の間の時刻における前記エンドエフェクターの位置と、を出力とする、調整方法。 - 請求項1から3のいずれか1項に記載の力制御パラメーターの調整方法であって、
前記力制御パラメーターは、前記力制御における、前記挿入または抜き出しの方向の目標力、仮想粘性係数、仮想弾性係数、および仮想質量係数を含む、調整方法。 - ロボットシステムの制御方法であって、
前記ロボットシステムを使用して、倣い動作を実行させる際に、力制御を行う工程を含み、
前記ロボットシステムは、ロボットと、前記ロボットに設けられ外力を測定できる力検出器と、前記ロボットに設けられ第1対象物を保持できるエンドエフェクターと、を備え、
前記倣い動作は、前記エンドエフェクターに保持された前記第1対象物の少なくとも一部が、第2対象物に接触しつつ、前記第2対象物が備える空隙に挿入され、または前記一部が、前記第2対象物に接触しつつ、前記空隙から抜き出される、動作であり、
前記力制御は、前記力検出器による前記外力の測定値に基づいて、前記挿入または抜き出しの方向に直交する方向の成分であって、0ではない大きさを有する成分を含む目標力にしたがって、実行される、制御方法。 - ロボットシステムであって、
ロボットと、
前記ロボットに設けられ外力を測定できる力検出器と、
前記ロボットに設けられ第1対象物を保持できるエンドエフェクターと、
前記エンドエフェクターに保持された前記第1対象物の少なくとも一部が、第2対象物に接触しつつ、前記第2対象物が備える空隙に挿入され、または前記一部が、前記第2対象物に接触しつつ、前記空隙から抜き出される倣い動作を、前記ロボットに実行させ、前記倣い動作において、前記力検出器による前記外力の測定値に基づいて、前記ロボットの力制御を行う制御部と、
前記力制御において使用される力制御パラメーターの調整を行うことができる調整部と、を備え、
前記調整部は、
前記挿入または抜き出しの方向に直交する方向の目標力を含む前記力制御パラメーターの候補値を用いて、前記ロボットに前記倣い動作を行わせ、前記倣い動作における前記外力の測定値である力測定値を得る測定処理と、
前記力測定値を使用して前記力制御パラメーターについて最適化処理を行い、前記力制御パラメーターの新たな候補値を得るパラメーター更新処理と、
前記測定処理と前記パラメーター更新処理とを繰り返すことにより、前記ロボットシステムの前記力制御において使用される力制御パラメーターを決定し、出力する、パラメーター決定処理と、を行うことができる、ロボットシステム。 - 請求項6に記載のロボットシステムであって、
前記測定処理は、前記倣い動作に要する時間である動作時間を計測する処理を含み、
前記パラメーター更新処理は、前記力測定値と前記動作時間を入力とし、前記力制御パラメーターの候補値を出力とするアルゴリズムを使用して実行される、ロボットシステム。 - 請求項7に記載のロボットシステムであって、
前記アルゴリズムは、
前記力制御の有効または無効の指定と、
前記倣い動作の開始時における前記エンドエフェクターの位置と、
前記倣い動作の開始時と終了時の間の時刻における前記エンドエフェクターの位置と、を出力とする、ロボットシステム。 - 請求項6から8のいずれか1項に記載のロボットシステムであって、
前記力制御パラメーターは、前記力制御における、前記挿入または抜き出しの方向の目標力、仮想粘性係数、仮想弾性係数、および仮想質量係数を含む、ロボットシステム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020195934A JP2022084215A (ja) | 2020-11-26 | 2020-11-26 | ロボットシステム、ロボットシステムの制御方法、ロボットシステムにおける力制御パラメーターの調整方法 |
US17/456,214 US20220161428A1 (en) | 2020-11-26 | 2021-11-23 | Robot system, control method for robot system, and adjustment method for force control parameters in robot system |
CN202111413157.3A CN114536321B (zh) | 2020-11-26 | 2021-11-25 | 机器人系统及其控制方法和力控制参数的调整方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020195934A JP2022084215A (ja) | 2020-11-26 | 2020-11-26 | ロボットシステム、ロボットシステムの制御方法、ロボットシステムにおける力制御パラメーターの調整方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022084215A true JP2022084215A (ja) | 2022-06-07 |
Family
ID=81658962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020195934A Pending JP2022084215A (ja) | 2020-11-26 | 2020-11-26 | ロボットシステム、ロボットシステムの制御方法、ロボットシステムにおける力制御パラメーターの調整方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220161428A1 (ja) |
JP (1) | JP2022084215A (ja) |
CN (1) | CN114536321B (ja) |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9597802B2 (en) * | 2007-01-09 | 2017-03-21 | Abb Inc. | Method and system for robotic assembly parameter optimization |
JP4962551B2 (ja) * | 2009-10-20 | 2012-06-27 | 株式会社安川電機 | ロボットシステムおよびロボットシステムの制御方法 |
JP5971342B2 (ja) * | 2012-09-04 | 2016-08-17 | 株式会社安川電機 | ロボットの制御パラメータ調整方法、ロボットシステム、及びロボット制御装置 |
US10363661B2 (en) * | 2016-07-27 | 2019-07-30 | Seiko Epson Corporation | Control device, robot, and robot system |
JP7314475B2 (ja) * | 2016-11-11 | 2023-07-26 | セイコーエプソン株式会社 | ロボット制御装置、及び、ロボット制御方法 |
JP2018089747A (ja) * | 2016-12-05 | 2018-06-14 | セイコーエプソン株式会社 | 制御装置、ロボットおよびロボットシステム |
JP6714732B2 (ja) * | 2016-12-28 | 2020-06-24 | 株式会社Subaru | 機械加工用ロボット及び機械加工方法 |
JP6880892B2 (ja) * | 2017-03-23 | 2021-06-02 | 富士通株式会社 | 工程計画生成プログラム及び工程計画生成方法 |
JP6996113B2 (ja) * | 2017-05-25 | 2022-01-17 | セイコーエプソン株式会社 | ロボット制御方法、ロボットシステムおよび制御装置 |
JP7135408B2 (ja) * | 2018-04-26 | 2022-09-13 | セイコーエプソン株式会社 | ロボット制御装置およびロボットシステム |
JP7211007B2 (ja) * | 2018-10-30 | 2023-01-24 | セイコーエプソン株式会社 | 制御装置、ロボットシステムおよび制御方法 |
US11724401B2 (en) * | 2019-11-13 | 2023-08-15 | Nvidia Corporation | Grasp determination for an object in clutter |
JP7364696B2 (ja) * | 2020-01-20 | 2023-10-18 | ファナック株式会社 | ロボットシミュレーション装置 |
US20230278205A1 (en) * | 2020-07-31 | 2023-09-07 | Fanuc Corporation | Robot system and robot control device |
-
2020
- 2020-11-26 JP JP2020195934A patent/JP2022084215A/ja active Pending
-
2021
- 2021-11-23 US US17/456,214 patent/US20220161428A1/en active Pending
- 2021-11-25 CN CN202111413157.3A patent/CN114536321B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114536321A (zh) | 2022-05-27 |
CN114536321B (zh) | 2023-07-11 |
US20220161428A1 (en) | 2022-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10363661B2 (en) | Control device, robot, and robot system | |
JP4271232B2 (ja) | ロボットのオフラインプログラミングを実行するための装置、方法、プログラム及び記録媒体 | |
US11161249B2 (en) | Robot control apparatus and robot system | |
US20080267737A1 (en) | Fitting device | |
JP2018039099A (ja) | ワークの接触状態推定装置及び接触状態推定方法 | |
SE508161C2 (sv) | Förfarande och anordning för kalibrering av rörelseaxlar hos en industrirobot | |
JP2012115912A (ja) | 加工ロボット及びその重力補償方法 | |
US10906175B2 (en) | Apparatus and method for estimating position of the center of gravity of robot | |
JP7067107B2 (ja) | ロボット制御装置及びロボットシステム | |
JP5218540B2 (ja) | 組立ロボットとその制御方法 | |
JP2012020348A (ja) | ロボットによるバリ除去方法 | |
JP2022084215A (ja) | ロボットシステム、ロボットシステムの制御方法、ロボットシステムにおける力制御パラメーターの調整方法 | |
Theissen et al. | Quasi-static compliance calibration of serial articulated industrial manipulators | |
Bang et al. | Micro parts assembly system with micro gripper and RCC unit | |
JP2014188642A (ja) | ロボットおよびロボット制御方法 | |
JP2016221646A (ja) | ロボットおよびロボットシステム | |
US20220410384A1 (en) | Force Control Parameter Adjustment Method And Force Control Parameter Adjustment Apparatus | |
Stolt et al. | Force controlled assembly of flexible aircraft structure | |
JP3063999B2 (ja) | 柔軟構造物のフレキシビリティ制御装置 | |
US20230001574A1 (en) | Operation Parameter Adjusting Method And Operation Parameter Adjusting Device For Adjusting Operation Parameters Of Robot | |
CN114179077B (zh) | 力控制参数调整方法、机器人系统及存储介质 | |
CN116175148B (zh) | 基于接触状态模型和自适应阻抗控制的柔顺轴孔装配方法 | |
JP2019155523A (ja) | ロボット制御装置、ロボット制御方法、ロボット制御装置を用いた物品の組立方法、プログラム及び記録媒体 | |
Stefano | Development of an Innovative Method for Calculating the Tool of a Robot: The Method of the Sphere | |
JPH05169381A (ja) | 力制御型ロボット装置及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231027 |