JP2021146431A - ロボットの制御方法及びロボットシステム - Google Patents

ロボットの制御方法及びロボットシステム Download PDF

Info

Publication number
JP2021146431A
JP2021146431A JP2020047310A JP2020047310A JP2021146431A JP 2021146431 A JP2021146431 A JP 2021146431A JP 2020047310 A JP2020047310 A JP 2020047310A JP 2020047310 A JP2020047310 A JP 2020047310A JP 2021146431 A JP2021146431 A JP 2021146431A
Authority
JP
Japan
Prior art keywords
external force
force
robot
manipulator
control method
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
Application number
JP2020047310A
Other languages
English (en)
Inventor
大稀 安達
Daiki Adachi
大稀 安達
馨 竹内
Kaoru Takeuchi
馨 竹内
敬文 木下
Takafumi Kinoshita
敬文 木下
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2020047310A priority Critical patent/JP2021146431A/ja
Priority to CN202110281885.7A priority patent/CN113492400B/zh
Priority to US17/203,773 priority patent/US20210291365A1/en
Publication of JP2021146431A publication Critical patent/JP2021146431A/ja
Pending legal-status Critical Current

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/1602Programme controls characterised by the control system, structure, architecture
    • 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/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • 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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion

Abstract

【課題】ダイレクト教示における作業を簡単にできるロボットの制御方法を提供する。【解決手段】マニピュレーター、及びマニピュレーターに作用する外力を互いに直交する3つの検出軸において検出する力検出器を備えるロボットの制御方法において、力検出器によって外力の方向を検出し、外力の方向に基づいて、外力に応じたマニピュレーターに設定されるツールセンターポイントの運動の自由度を制限する。【選択図】図1

Description

本発明は、ロボットの制御方法及びロボットシステムに関する。
従来、特許文献1に示すように、作業者がロボットに直接力を加えて教示するダイレクト教示において、ロボットに並進移動、または回転移動させるかの移動方法の設定を切り替える技術が知られている。
特開2012−157946号公報
しかしながら、特許文献1に開示されるダイレクト教示では、移動方法の設定を切り替えるためには、スイッチのような操作部に対する操作が必要となるので、作業が煩雑になる問題があった。
一態様は、マニピュレーター及び前記マニピュレーターに作用する外力を互いに直交する3つの検出軸において検出する力検出器を備えるロボットの制御方法であって、前記力検出器によって前記外力の方向を検出し、前記外力の方向に基づいて、前記外力に応じた前記マニピュレーターに設定されるツールセンターポイントの運動を1自由度に制限することを含むロボットの制御方法である。
他の一態様は、マニピュレーター及び前記マニピュレーターに作用する外力を互いに直交する3つの検出軸によって検出する力検出器を備えたロボットの制御方法であって、前記力検出器によって前記外力の方向を検出し、前記外力の方向に基づいて、前記外力に応じた前記マニピュレーターに設定されるツールセンターポイントの運動を2自由度に制限することを含むロボットの制御方法である。
他の一態様は、マニピュレーター及び前記マニピュレーターに作用する外力を互いに直交する3つの検出軸において検出する力検出器を備えるロボットと、前記力検出器によって前記外力の方向を検出し、前記外力の方向に基づいて、前記外力に応じた前記マニピュレーターに設定されるツールセンターポイントの運動を1自由度に制限する制御装置と、を備えるロボットシステムである。
他の一態様は、マニピュレーター及び前記マニピュレーターに作用する外力を互いに直交する3つの検出軸によって検出する力検出器を備えるロボットと、前記力検出器によって前記外力の方向を検出し、前記外力の方向に基づいて、前記外力に応じた前記マニピュレーターに設定されるツールセンターポイントの運動を2自由度に制限する制御装置と、を備えるロボットシステムである。
ロボットシステムの概略構成を説明する斜視図。 力を検出する装置の一例を説明する図。 制御装置の一例を説明するブロック図。 制御装置を説明する機能ブロック図。 ベクトルを使って1自由度制限を判断する一例を説明する図。 力成分の割合を使って1自由度制限を判断する一例を説明する図。 ベクトルを使って2自由度制限を判断する一例を説明する図。 力成分の割合を使って2自由度制限を判断する一例を説明する図。 動作制限方向を決定するフローチャート。 動作制限方向を決定するフローチャート。 ロボットシステムの他の実施形態の概略構成を説明する斜視図。 他の実施形態において動作制限方向を決定するフローチャート。 他の実施形態において動作制限方向を決定するフローチャート。
以下、図面を参照しながら実施形態を説明する。図面において、同一又は類似の要素には同一又は類似の符号がそれぞれ付され、重複する説明は省略される。
図1に示すように、本実施形態に係るロボットシステム100は、例えば、ロボット1、制御装置40及び教示装置45を備える。ロボット1は、マニピュレーター10、マニピュレーター10を支持するベース11、エンドエフェクター20及び力検出器30を備える。ロボット1として、例えば、教示装置45の教示により各種作業が可能な汎用ロボットが採用され得る。
マニピュレーター10は、例えば複数の相互連結されたリンク及び関節を有することにより複数自由度で運動するロボティックアームである。図1に示す例において、マニピュレーター10は、6つの関節J1〜J6を備える6軸アームである。図1に示す例において、関節J2,J3,J5は曲げ関節であり、関節J1,J4,J6はねじり関節である。エンドエフェクター20は、例えば、スクリュードライバー、グリッパー、グラインダー等のツールである。エンドエフェクター20は、例えば、ねじ締め、把持、加工等の種々の作業を行う。エンドエフェクター20は、マニピュレーター10の先端部において、メカニカルインターフェイスを介して関節J6に装着される。マニピュレーター10は、制御装置40に駆動されることにより、エンドエフェクター20の位置及び姿勢を決定する。
マニピュレーター10は、例えば、先端近傍の所定位置において、エンドエフェクター20の位置の基準であるツールセンターポイント(TCP)を設定される。TCPは任意に設定可能であり、例えば、関節J6の回転軸上に設定される。エンドエフェクター20としてグリッパーが使用される場合には、グリッパーの中心をTCPとして設定可能である。なお、本実施形態において、マニピュレーター10は、6自由度を有するが、例示である。マニピュレーター10は、TCPの運動を3自由度以上で実現可能なロボットであれば、どのような関節機構を有してもよい。ベース11は、マニピュレーター10の第1リンク、即ち、最もベース11に近い1つのリンクを位置決めする。
力検出器30は、例えばエンドエフェクター20を介して、マニピュレーター10に作用する外力を互いに直交する3つの検出軸において検出する力覚センサーである。より詳細には、力検出器30は、固有の3次元直交座標系である力検出器座標系において、TCPに作用する3つの検出軸の力及び3つの検出軸回りのトルクを計測する。図1に示す例において、力検出器30はマニピュレーター10の先端に取り付けられているが、ロボット1の他の箇所に取り付けられてもよい。
図2に示すように、力検出器30は、一例として、ケース31と、ケース31に接続される基板収容部材31eと、基板収容部材31eに接続される接続部材31dと、ケース31内に収容される1つ以上のセンサーデバイス32とを有する。ケース31は、例えば、上面として円形の第1取付面31a、底面として円形の第2取付面31b、及び、上面と底面を繋ぐ円筒状の側壁部31cにより円柱形を成す。これらは一体型の構造をとってもよい。例えば、第2取付面31bがマニピュレーター10の先端に取り付けられ、エンドエフェクター20が第1取付面31aに取り付けられる。力覚センサーの形状は限定されず、直方体や他角柱であってもよい。
第1取付面31a、第2取付面31b、側壁部31c及び接続部材31dの構成材料は、特に限定されないが、例えば、アルミニウム、ステンレス鋼などの金属材料、セラミックス等が挙げられる。また、これらはすべて同一または同種の材料で構成されてもよいし、互いに異なる材料で構成されてもよい。
センサーデバイス32は、1又は複数の素子により、x軸、y軸及びz軸の3つの検出軸のそれぞれに沿う方向の並進力成分と、3つの検出軸回りの力のモーメント(トルク)を検出する。センサーデバイス32は、例えば、水晶圧電方式である。水晶圧電方式を採用することにより、高感度、広いダイナミックレンジ、高い剛性等において優れた特性を有する力検出器30が実現される。
図1に示すxyz座標系は、ロボット1が配置される床面に対して設定されるワールド座標系である。ワールド座標系は、水平面に沿って互いに直交するx軸及びy軸と、鉛直上向きを正方向とするz軸とによって規定される3次元の直交座標系である。z軸における負の方向は概ね重力方向と一致する。x軸回りの回転角をRxで表し、y軸回りの回転角をRyで表し、z軸回りの回転角をRzで表す。x,y,z軸の座標により3次元空間における任意の位置を表現でき、回転角Rx,Ry,Rzにより3次元空間における任意の姿勢を表現できる。エンドエフェクター20、マニピュレーター10、ベース11等の位置及び姿勢は、ワールド座標系において定義され得る。以下において「位置」は、ポーズ、即ち位置及び姿勢を意味する場合がある。同様に、以下において「力」は、負荷、即ち力及びトルクを意味する場合がある。制御装置40は、マニピュレーター10を駆動することによってワールド座標系におけるTCPの位置を制御する。
制御装置40は、例えば、力検出器30によって、マニピュレーター10に作用する外力の方向を検出し、外力の方向に基づいて、外力に応じたTCPの運動を1自由度に制限する。例えば、ワールド座標系のx軸に沿う外力が人によってTCPに作用する場合、制御装置40は、ワールド座標系のx軸のみに沿ってTCPが運動するようにマニピュレーター10を制御する。
制御装置40は、外力の方向に基づいて、外力に応じたTCPの運動を2自由度に制限してもよい。例えば、ワールド座標系のx軸及びy軸に平行なxy平面に沿う外力が人によってTCPに作用する場合、制御装置40は、xy平面に沿ってTCPが運動するようにマニピュレーター10を制御する。或いは、制御装置40は、TCPの位置を変化させずに姿勢のみを変化させるようにマニピュレーター10を制御してもよい。
図3に示すように、制御装置40は、コンピューターシステムを構成するプロセッサー40a及びメモリー40bを備える。制御装置40は、例えば汎用のコンピューターによって構成可能である。プロセッサー40aは、制御プログラムに応じた指令を実行することによりロボット1を制御する。プロセッサー40aは、例えば中央演算処理装置(CPU)等の処理回路を有する。メモリー40bは、ロボット1の制御に必要なプログラムや各種データ等を記憶する、コンピューターにより読み取り可能な記憶媒体である。メモリー40bは、例えばランダムアクセスメモリー(RAM)、リードオンリーメモリー(ROM)等である。制御装置40の構成要素の一部又は全部は、ロボット1の筐体の内側に配置されてもよい。
図1に示すように、制御装置40は、通信リンクを介してロボット1及び教示装置45とそれぞれ通信する。通信リンクは、有線、無線のいずれであってもよく、有線及び無線の組み合わせであってもよい。制御装置40は、エンドエフェクター20を制御し得る。例えば、エンドエフェクター20がグリッパーである場合、制御装置40は、エンドエフェクター20を駆動することにより物体の把持を行うことができる。また、制御装置40は、力検出器30が取得した値に基づいて、TCPに加えられている力を取得する。
制御装置40は、複数のプロセッサーにより構成されてもよい。即ち、図3に示す例において、制御装置40は、ネットワーク450を介して制御装置40に接続されたパーソナルコンピューター(PC)400,410と、サービスサーバーであるクラウド500と共に、ロボット1を制御する制御装置を構成可能である。PC400は、プロセッサー400a及びメモリー400bを備え、PC410は、プロセッサー410a及びメモリー410bを備える。クラウド500は、プロセッサー500a及びメモリー500bを備える。制御装置40は、プロセッサー400a,410a,500a及びメモリー400b,410b,500b等の他の装置のハードウェア資源を利用して、ロボット1を制御する制御装置を実現してもよい。
教示装置45は、制御装置40を介してロボット1にプログラムを教示するコンピューターである。教示装置45は、教示ペンダント等の専用のコンピューターであってもよく、ロボット1を教示するためのプログラムがインストールされた汎用のコンピューターであってもよい。教示装置45は、制御装置40と別個の筐体を備えてもよく、制御装置40とハードウェア資源を共有してもよい。
図4に示すように、マニピュレーター10の関節J1〜J6は、アクチュエーターとしてのモーターM1〜M6と、角度センサーとしてのエンコーダーE1〜E6とをそれぞれ備える。モーターM1〜M6は、制御装置40の制御によりそれぞれ駆動され、関節J1〜J6をそれぞれ回転させる。エンコーダーE1〜E6は、モーターM1〜M6の回転角を検出し、制御装置40に出力する。
図4に示すように、制御装置40は、力制御部41と、位置制御部42と、指令統合部43とを論理構造として有する。力制御部41、位置制御部42及び指令統合部43は、制御装置40が予めインストールされた制御プログラムを実行することにより実現される。力制御部41、位置制御部42及び指令統合部43は、それぞれ複数の処理回路により構成されてもよく、互いに一体の処理回路により構成されてもよい。
制御装置40は、予め記憶する対応関係に基づいて、モーターM1〜M6の各回転角の組み合わせと、ワールド座標系におけるTCPの位置との間を双方向に変換する第1変換部U1を有する。例えば、第1変換部U1は、ワールド座標系における位置Sを、モーターM1〜M6の各回転角Daに変換する。位置Sは、ワールド座標系を規定する6軸(x,y,z,Rx,Ry,Rz)における位置及び姿勢を表し得る。制御装置40がモーターM1〜M6に出力する制御信号は、例えばパルス幅変調(PWM)された信号である。
制御装置40は、ワールド座標系におけるTCPの位置S毎のセンサー座標系の姿勢を示す対応関係に基づいて、力検出器30により検出される信号をワールド座標系における力fSpに変換する第2変換部U2を有する。第2変換部U2は、力fSpの力成分と、TCPから力検出器30までの距離から、力fSpのトルク成分を算出してもよい。
力制御部41は、目標力算出部41a、力検出部41b、動作制限決定部41c及び力制御補正量算出部41dを論理構造として有する。力制御部41は、TCPに作用する外力fSを所定の目標力fStに制御するための機能を有する。具体的には、力制御部41は、動作制限コマンドL1に沿って、外力fSを目標力fStにするように目標位置を補正する力制御補正量ΔSを算出し、指令統合部43に出力する。
目標力算出部41aは、例えば教示装置45の教示に応じて制御装置40が記憶したコマンドC1に基づいて、目標力fStを算出する。目標力算出部41aは、ダイレクト教示をする場合は、作業者がマニピュレーター10の先端に取り付けられたエンドエフェクター20を把持し、エンドエフェクター20に力を加えるため、マニピュレーター10のTCPに加えられる力を0にする倣い制御を実行するための目標力fStを算出する。
力検出部41bは、力検出器30によって、TCPに作用する外力fSを互いに直交する3つの検出軸において検出する。詳細には、力検出部41bは、第2変換部U2を介して力検出器30から取得される力fSpに対して、重力に起因する成分を除去する重力補償を施すことにより、重力の影響を有しない、TCPに作用する外力fSを検出する。力検出部41bの3つの検出軸は、第2変換部U2を介して、力検出器30の3つの検出軸と相互に変換可能である。つまり、力検出器30の検出軸を基準とするTCPに作用する外力fSと、力検出部41bの検出軸を基準とするTCPに作用する外力fSは互いに同様に取り扱うことができる。力検出部41bは、力検出器30の検出軸として、ワールド座標系、ツール座標系、ローカル座標系等の任意の座標系を指定可能である。
動作制限決定部41cは、力検出部41bにより検出される外力fSの方向に基づいて、マニピュレーター10の先端の外力fSに応じた運動の自由度を制限する。本実施形態において、マニピュレーター10の先端は、厳密にはTCPを意味する。動作制限決定部41cは、外力fSが第1条件を満たす場合において、外力fSに応じたTCPの運動を1自由度に制限する動作制限コマンドL1を生成する。第1条件は、外力fSに応じたTCPの運動が1自由度であると判定するための条件である。
例えば、図5に示すように、第1条件は、外力fSの方向ベクトルと、力検出器30の3つの検出軸のうち最大の外力fSの成分を有する検出軸とのなす角が、第1値θthより小さいことである。以下、教示装置45の教示に応じて制御装置40が記憶したコマンドC2により、運動の基準とする座標系としてワールド座標系が指定される場合を仮定する。図5に示す例では、ワールド座標系における最大の外力fSの成分を有する検出軸がx軸であり、x軸の単位ベクトルがベクトルv1である。動作制限決定部41cは、外力fsとx軸とのなす角が第1値θthより小さい場合において、外力fSに応じたTCPの運動方向をワールド座標系のx軸方向のみに制限する。第1値θthは、例えば教示装置45を用いて0[deg]から180[deg]の任意の値に設定され得る。コマンドC2により指定される座標系として、ツール座標系、ローカル座標系が採用可能である。
或いは、図6に示すように、第1条件として、力検出器30の3つの検出軸における外力fSの各成分の大きさのうち、最大の値が2番目に大きな値と第1定数k1との積より大きいことを採用してもよい。この場合、ベクトルを用いた計算が不要である。動作制限決定部41cは、3つの検出軸における外力fSの各成分の大きさの分布に基づいて、外力fSに応じたTCPの運動の自由度を制限し得る。図6に示す例において、外力fSの各成分のうち最大の値がx1[N]、2番目に大きな値がy1[N]である。この場合、動作制限決定部41cは、外力fSが(x1/y1)>k1を満たす場合において、外力fSに応じたTCPの運動方向をx軸方向に制限する。
更に、動作制限決定部41cは、第2条件を満たす場合において、外力fSに応じたTCPの運動を2自由度に制限する動作制限コマンドL1を生成し得る。第2条件は、外力fSに応じたTCPの運動が2自由度であると判定するための条件である。
例えば、図7に示すように、第2条件は、外力fSの方向ベクトル、及び、力検出器30の3つの検出軸のうち最大の外力fSの成分を有する検出軸の単位ベクトルの外積と、3つの検出軸のうち最小の外力fSの成分を有する検出軸の単位ベクトルと、のなす角が、第2値θthより小さいことである。図7に示す例において、ワールド座標系における最大の外力fSの成分を有する検出軸がx軸であり、x軸の単位ベクトルがベクトルv1である。同様に、最小の外力fSの成分を有する検出軸がz軸であり、z軸の単位ベクトルがベクトルv2である。外力fSの方向ベクトル及びベクトルv1の外積がベクトルv3であるとき、動作制限決定部41cは、ベクトルv3とベクトルv2のなす角が第2値θthより小さい場合において、外力fSに応じたTCPの運動方向をワールド座標系のxy平面に沿う方向に制限する。第2値θthは、例えば教示装置45を用いて0[deg]から180[deg]の任意の値に設定され得る。第2値θthは、第1値θthと同一の値であってもよく、異なる値であってもよい。
或いは、図8に示すように、第2条件として、力検出器30の3つの検出軸における外力fSの各成分の大きさのうち、最大の値が2番目に大きな値と第2定数k2との積より小さく、且つ、2番目に大きな値が最小の値と第3定数k3との積より大きいことを採用してもよい。この場合、ベクトルを用いた計算が不要である。図8に示す例において、外力fSの各成分のうち最大の値がx2[N]、2番目に大きな値がy2[N]、最小の値がz2[N]である。この場合、動作制限決定部41cは、外力fSが(x2/y2)<k2及び(y2/z2)>k3を同時に満たす場合において、外力fSに応じたTCPの運動方向をxy平面に沿う方向に制限する。
動作制限コマンドL1により1自由度に制限されるTCPの他の運動として、y、zのそれぞれの軸に沿う方向の並進運動、x、y、zのそれぞれの軸回りの回転運動の何れかの運動が挙げられる。また、動作制限コマンドL1により2自由度に制限されるTCPの他の運動として、yz平面に沿う運動、xz平面に沿う運動が挙げられる。その他、動作制限コマンドL1により制限されるTCPの運動として、姿勢変化のみの運動、位置及び姿勢を自由自在に変化させる運動等がある。TCPの運動の制限は、コマンドC2と動作制限コマンドL1の組み合わせにより変更される。
動作制限決定部41cは、力検出部41bが検出した外力fSが所定の閾値を超える場合において動作制限コマンドL1を生成し、出力する。動作制限決定部41cは、外力fSが閾値以下になるまで、同様の動作制限コマンドL1の出力を継続する。
力制御補正量算出部41dは、目標力fSt、外力fS及び動作制限コマンドL1から、外力fSを目標力fStにするように目標位置Stを補正する力制御補正量ΔSを算出する。力制御補正量ΔSは、TCPが機械的インピーダンスを受けた場合において、目標力fStと外力fSとの力偏差ΔfSを解消するために、TCPが位置Sから移動すべき量を意味する。力制御補正量算出部41dは、例えば、仮想の機械的インピーダンスをモーターM1〜M6によって実現する能動インピーダンス制御により力制御補正量ΔSを算出する。例えば、動作制限コマンドL1によってTCPの運動がワールド座標系のx軸に沿う方向に制限される場合、ΔSのx軸成分以外の値は0になる。
位置制御部42は、ワールド座標系におけるTCPの目標位置Stを算出する。位置制御部42は、ロボットシステム100においてダイレクト教示が行われる場合、TCPの現在位置をそのまま目標位置Stとして算出する。その他、位置制御部42は、例えば、教示装置45により生成される制御プログラムや対象物の位置を検出するセンサーの出力等を用いてTCPの目標位置Stを算出し得る。
指令統合部43は、フィードバック制御部43a及び力制御補正量加算部43bを論理構造として有する。指令統合部43は、位置制御部42により算出された制御指令である目標位置Stと、力制御部41により算出された制御指令である力制御補正量ΔSとを統合する。指令統合部43は、統合した制御指令に応じた目標値を達成するように、ロボット1に操作量を出力する。
力制御補正量加算部43bは、目標位置Stに力制御補正量ΔSを加算する。力制御補正量加算部43bは、マニピュレーター10のモーターM1〜M6に適用される指令位置Sttを算出する。指令位置Sttは、ワールド座標系における最終的なTCPの目標値を意味する。第1変換部U1は、ワールド座標系における指令位置Sttを、モーターM1〜M6の各回転角の目標値である目標角Dtに変換する。
フィードバック制御部43aは、モーターM1〜M6の実際の回転角Daを制御量として、目標角Dtに制御するフィードバック制御を行う。フィードバック制御部43aは、エンコーダーE1〜E6の出力から回転角Daを取得する。フィードバック制御部43aは制御量Da、目標角Dtから操作量Dcを算出して、モーターM1〜M6を制御する。
図9及び図10のフローチャートを参照して、ロボットシステム100におけるロボット1の制御方法として、制御装置40の処理の一例について説明する。
先ず、ステップS41において、制御装置40は、例えば教示装置45からダイレクト教示を開始するコマンドを入力されることにより、ダイレクト教示モードに移行し、ダイレクト教示が開始される。制御装置40は、ダイレクト教示を開始するコマンドを、教示装置45以外から入力されてもよい。制御装置40は、例えばロボット1に取り付けられたスイッチが押されることにより、ダイレクト教示を開始するコマンドを入力されてもよい。
ステップS42において、動作制限決定部41cは、力検出部41bにおいて検出される外力fS及び外力fSのトルクを、外力情報として取得する。即ち、外力情報は、力検出部41bの3つの検出軸の力及び3つの検出軸回りのトルクを含む。
ステップS43において、動作制限決定部41cは、ステップS42で取得した外力fSのトルクの大きさが、所定の閾値より大きいか否かを判定する。動作制限決定部41cは、トルクの大きさが閾値より大きい場合、ステップS44に処理を進め、トルクの大きさが閾値以下の場合、ステップS52に処理を進める。
ステップS44において、動作制限決定部41cは、ステップS42で取得した外力fSの各成分のトルクの大きさのうち、最大の値が、2番目に大きな値の定数倍より大きいか否か判定する。動作制限決定部41cは、定数倍より大きい場合は、ステップS45に処理を進め、定数倍以下の場合は、ステップS47に処理を進める。
ステップS45において、動作制限決定部41cは、ステップS42で取得した外力fSの各成分のトルクの大きさのうち、最大の値を有する検出軸の回りにTCPの運動を制限する動作制限コマンドL1を生成し、力制御補正量算出部41dに出力する。例えば、外力fSの各トルクのうち、x軸回りのトルクが2番目に大きなトルクの定数倍より大きい場合、動作制限決定部41cは、TCPの運動をx軸回りのみの1自由度に制限する。
ステップS46において、動作制限決定部41cは、力検出部41bにおいて検出された外力fSが所定の閾値より小さいか否かを判定する。動作制限決定部41cは、外力fSが閾値より小さい場合、ロボット1に作用される外力fSが低下したとして、ステップS45で生成された動作制限コマンドL1の出力を停止し、ステップS61に処理を進める。動作制限決定部41cは、外力fSが閾値以上である場合、ステップS45の処理を繰り返す。
ステップS47において、動作制限決定部41cは、ステップS42で取得した外力fSが所定の閾値以上か否かを判定する。動作制限決定部41cは、外力fSが閾値以上の場合、ステップS48に処理を進め、外力fSが閾値より小さい場合、ステップS50に処理を進める。
ステップS48において、動作制限決定部41cは、TCPの6自由度の運動を許可する動作制限コマンドL1を生成し、力制御補正量算出部41dに出力する。即ち、この場合、動作制限決定部41cは、外力fSに応じたTCPの運動を制限しない。
ステップS49において、動作制限決定部41cは、力検出部41bにおいて検出された外力fSが所定の閾値より小さいか否かを判定する。動作制限決定部41cは、外力fSが閾値より小さい場合、ロボット1に作用される外力fSが低下したとして、ステップS48で生成された動作制限コマンドL1の出力を停止し、ステップS61に処理を進める。動作制限決定部41cは、外力fSが閾値以上である場合、ステップS48の処理を繰り返す。
ステップS50において、動作制限決定部41cは、TCPの運動を姿勢のみの3自由度に制限する動作制限コマンドL1を生成し、力制御補正量算出部41dに出力する。即ち、動作制限決定部41cは、TCPの3つの検出軸回りの姿勢が変化する運動を許可し、3つの検出軸における位置が変化する運動を禁止する。
ステップS51において、動作制限決定部41cは、力検出部41bにおいて検出された外力fSが所定の閾値より小さいか否かを判定する。動作制限決定部41cは、外力fSが閾値より小さい場合、ロボット1に作用される外力fSが低下したとして、ステップS50で生成された動作制限コマンドL1の出力を停止し、ステップS61に処理を進める。動作制限決定部41cは、外力fSが閾値以上である場合、ステップS50の処理を繰り返す。
ステップS52において、動作制限決定部41cは、ステップS42で取得した外力fSが、所定の閾値以上か否かを判定する。動作制限決定部41cは、外力fSが閾値以上の場合、ステップS53の処理に進め、外力fSが閾値より小さい場合、ステップS42に処理を戻す。
ステップS53において、動作制限決定部41cは、ステップS42で取得した外力fSが、第1条件を満たすか否かを判定する。動作制限決定部41cは、外力fSが第1条件を満たす場合、ステップS54に処理を進め、外力fSが第1条件を満たさない場合、ステップS56に処理を進める。第1条件は、外力fSに応じたTCPの運動を1自由度に制限するかを判定するための条件である。
ステップS54において、動作制限決定部41cは、外力fSに応じたTCPの運動を、最大の外力fSの成分を有する検出軸回りの1自由度に制限する動作制限コマンドL1を生成し、力制御補正量算出部41dに出力する。動作制限決定部41cは、外力fSがx軸方向の力である場合、TCPの運動をx軸方向の1自由度に制限する動作制限コマンドL1を生成する。
ステップS55において、動作制限決定部41cは、力検出部41bにおいて検出された外力fSが所定の閾値より小さいか否かを判定する。動作制限決定部41cは、外力fSが閾値より小さい場合、ロボット1に作用される外力fSが低下したとして、ステップS54で生成された動作制限コマンドL1の出力を停止し、ステップS61に処理を進める。動作制限決定部41cは、外力fSが閾値以上である場合、ステップS54の処理を繰り返す。
ステップS56において、動作制限決定部41cは、ステップS42で取得した外力fSが、第2条件を満たすか否かを判定する。動作制限決定部41cは、外力fSが第2条件を満たす場合、ステップS57に処理を進め、外力fSが第2条件を満たさない場合、ステップS59に処理を進める。第2条件は、外力fSに応じたTCPの運動を2自由度に制限するかを判定するための条件である。
ステップS57において、動作制限決定部41cは、外力fSに応じたTCPの運動を、最大の外力fSの成分を有する検出軸及び2番目の外力fSの成分を有する検出軸により定義される平面に沿う2自由度に制限する動作制限コマンドL1を生成し、力制御補正量算出部41dに出力する。動作制限決定部41cは、外力fSがxy平面に沿う方向の力である場合、TCPの運動をxy平面の2自由度に制限する動作制限コマンドL1を生成する。
ステップS58において、動作制限決定部41cは、力検出部41bにおいて検出された外力fSが所定の閾値より小さいか否かを判定する。動作制限決定部41cは、外力fSが閾値より小さい場合、ロボット1に作用される外力fSが低下したとして、ステップS57で生成された動作制限コマンドL1の出力を停止し、ステップS61に処理を進める。動作制限決定部41cは、外力fSが閾値以上である場合、ステップS57の処理を繰り返す。
ステップS59において、TCPの運動を位置のみの3自由度に制限する動作制限コマンドL1を生成し、力制御補正量算出部41dに出力する。即ち、動作制限決定部41cは、TCPの3つの検出軸における位置が変化する運動を許可し、3つの検出軸回り姿勢が変化する運動を禁止する。
ステップS60において、動作制限決定部41cは、力検出部41bにおいて検出された外力fSが所定の閾値より小さいか否かを判定する。動作制限決定部41cは、外力fSが閾値より小さい場合、ロボット1に作用される外力fSが低下したとして、ステップS59で生成された動作制限コマンドL1の出力を停止し、ステップS61に処理を進める。動作制限決定部41cは、外力fSが閾値以上である場合、ステップS59の処理を繰り返す。
ステップS61において、動作制限決定部41cは、例えば教示装置45に対する作業者の操作に応じて、ダイレクト教示を終了するか否かを判定する。動作制限決定部41cは、ダイレクト教示を終了する場合、ステップS62に処理を進め、ダイレクト教示を終了しない場合、ステップS42に処理を戻す。このとき、動作制限コマンドL1の出力は停止しており、TCPは動作していない。即ち、TCPに対する位置制御のみが制御装置40により実行されている。
ステップS62において、制御装置40は、例えば教示装置45からダイレクト教示を終了するコマンドを入力されることにより、ダイレクト教示モードを終了し、ダイレクト教示が終了される。なお、図9及び図10に示す一連の処理に使用される複数の定数は、任意に設定され得る。したがって、定数は、互いに同一の値に設定されてもよく、互いに異なる値に設定されてもよい。複数の閾値についても同様である。
以上のように、ロボットシステム100によれば、作業者がダイレクト教示を行う場合、エンドエフェクター20に作用する外力fSに基づいて、動作制限決定部41cによって自動的に動作制限コマンドL1が生成される。これにより、例えば教示装置45を用いる、TCPの運動の制限を設定する作業者の操作が不要となり、ダイレクト教示に必要な時間が短縮される。従来のダイレクト教示では、例えばTCPをxy平面上に制限して動かし、続いてx軸に沿って動かすプログラムを、教示装置のGUI等で制限する自由度を作業者が選択しなければ生成できなかった。これに対して、ロボットシステム100によれば、エンドエフェクター20に加える外力fSが変更されることにより、自動的にTCPの運動の自由度が制限される。このように、ロボットシステム100によれば、ダイレクト教示における作業を簡単にすることができる。
以上のように実施形態を説明したが、本発明はこれらの開示に限定されるものでない。各部の構成は、同様の機能を有する任意の構成に置換されてよく、また、本発明の技術的範囲内において、各実施形態における任意の構成が省略されたり追加されたりしてもよい。このように、これらの開示から当業者には様々な代替の実施形態が明らかになる。
例えば、ロボット1は、6軸アームである1つのマニピュレーター10を備えるロボットに限らない。ロボット1が備えるマニピュレーター及びエンドエフェクターの数、マニピュレーターの自由度等は、任意に変更され得る。例えば、ロボット1は、直交ロボット、水平多関節ロボット、垂直多関節ロボット、双腕ロボット等であり得る。同様に、力検出器30の位置は、マニピュレーター10の先端に限るものでない。
例えば、図11に示すように、他の実施形態に係るロボットシステム101は、ロボット2と、制御装置40と、教示装置45と、を備える。ロボット2は、ベース21、マニピュレーター22、エンドエフェクター20及び力検出器300を備える水平多関節ロボットである。図11に示す例において、力検出器300は、例えば直方体形状を有し、ベース21の下部に取り付けらる。
マニピュレーター22は、第1リンク221及び第2リンク222を有するアームである。マニピュレーター22は、ワールド座標系のz軸に沿う軸をそれぞれ有する4つの関節J1〜J4を有する。3つの関節J1,J2,J4は、それぞれ回転関節であり、関節J3は、直進関節である。即ち、マニピュレーター22の先端に相当するTCPは、4自由度を有する。ロボット2は、ロボット1の力検出器30と同様に、マニピュレーター22の先端に、マニピュレーター22に作用する外力fSを検出する力検出器を更に備え得る。ロボットシステム101の機能ブロックの構成は、図4のブロック図から関節J5,J6を取り除いた構成と概略として同様であるため重複する説明を省略する。
図12及び図13のフローチャートにより、ロボットシステム101におけるロボット2の制御方法として、制御装置40の処理の一例について説明する。但し、図12及び図13のフローチャートにおける、ステップS71〜S76,S77,S78,S79,S80〜S89は、この順で、図9及び図10のフローチャートにおける、ステップS41〜S46,S52,S48,S49,S53〜S62に相当する。つまり、図12及び図13のフローチャートは、図9及び図10のフローチャートからステップS47,S50,S51を取り除いたものである。このため、図12及び図13のフローチャートの各ステップの詳しい説明は省略する。
例えば、ステップS74において、動作制限決定部41cは、ステップS72で取得した外力fSの各成分のトルクの大きさのうち、最大の値が、2番目に大きな値の定数倍より大きいか否か判定する。TCPに作用する外力fSのトルクは、主としてワールド座標系におけるz軸回りのトルクであると考えられる。このため、ステップS75において生成される動作制限コマンドL1は、TCPをz軸回りの1自由度に制限するコマンドとなる。一方、ステップS78において動作制限決定部41cは、TCPの4自由度の運動を許可し、外力fSに応じたTCPの運動を制限しない。
ロボット2が力覚センサーとして力検出器300のみ有する場合、外力fSのトルクの検出が困難であるため、主として図13のステップS80〜S87の処理が実行され得る。ステップS80及びS83における第1条件及び第2条件も、上述の実施形態と同様である。例えば、ロボットシステム101において、作業者がエンドエフェクター20にワールド座標系のx軸に沿う外力fSを加えた場合、TCPの運動は、ワールド座標系のx軸に沿う1自由度に制限される。即ち、外力fSに応じて、TCPは、ワールド座標系におけるx軸に沿って並進運動する。
その他、上述の各構成を相互に応用した構成等、本発明は以上に記載しない様々な実施形態を含むことは勿論である。本発明の技術的範囲は、上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
1,2…ロボット、10,22…マニピュレーター、11,21…ベース、20…エンドエフェクター、30,300…力検出器、40…制御装置、41…力制御部、42…位置制御部、43…指令統合部、45…教示装置、100,101…ロボットシステム。

Claims (8)

  1. マニピュレーター及び前記マニピュレーターに作用する外力を互いに直交する3つの検出軸において検出する力検出器を備えるロボットの制御方法であって、
    前記力検出器によって前記外力の方向を検出し、
    前記外力の方向に基づいて、前記外力に応じた前記マニピュレーターに設定されるツールセンターポイントの運動を1自由度に制限する
    ことを含むロボットの制御方法。
  2. 請求項1に記載のロボットの制御方法であって、前記外力の方向ベクトルと、前記3つの検出軸のうち最大の前記外力の成分を有する検出軸とのなす角が、第1値より小さい場合において、前記ツールセンターポイントの運動を1自由度に制限する、ロボットの制御方法。
  3. 請求項1に記載のロボットの制御方法であって、前記3つの検出軸における前記外力の各成分の大きさのうち、最大の値が2番目に大きな値と第1定数との積より大きい場合において、前記ツールセンターポイントの運動を1自由度に制限する、ロボットの制御方法。
  4. マニピュレーター及び前記マニピュレーターに作用する外力を互いに直交する3つの検出軸によって検出する力検出器を備えたロボットの制御方法であって、
    前記力検出器によって前記外力の方向を検出し、
    前記外力の方向に基づいて、前記外力に応じた前記マニピュレーターに設定されるツールセンターポイントの運動を2自由度に制限する
    ことを含むロボットの制御方法。
  5. 請求項4に記載のロボットの制御方法であって、前記外力の方向ベクトル、及び、前記3つの検出軸のうち最大の前記外力の成分を有する検出軸の単位ベクトルの外積と、前記3つの検出軸のうち最小の前記外力の成分を有する検出軸と、のなす角が、第2値より小さい場合において、前記ツールセンターポイントの運動を2自由度に制限することを含むロボットの制御方法。
  6. 請求項4に記載のロボットの制御方法であって、前記3つの検出軸における前記外力の各成分の大きさのうち、最大の値が2番目に大きな値と第2定数との積より小さく、且つ、2番目に大きな値が最小の値と第3定数との積より大きい場合において、前記ツールセンターポイントの運動を2自由度に制限することを含むロボットの制御方法。
  7. マニピュレーター及び前記マニピュレーターに作用する外力を互いに直交する3つの検出軸において検出する力検出器を備えるロボットと、
    前記力検出器によって前記外力の方向を検出し、前記外力の方向に基づいて、前記外力に応じた前記マニピュレーターに設定されるツールセンターポイントの運動を1自由度に制限する制御装置と、
    を備えるロボットシステム。
  8. マニピュレーター及び前記マニピュレーターに作用する外力を互いに直交する3つの検出軸によって検出する力検出器を備えるロボットと、
    前記力検出器によって前記外力の方向を検出し、前記外力の方向に基づいて、前記外力に応じた前記マニピュレーターに設定されるツールセンターポイントの運動を2自由度に制限する制御装置と、
    を備えるロボットシステム。
JP2020047310A 2020-03-18 2020-03-18 ロボットの制御方法及びロボットシステム Pending JP2021146431A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020047310A JP2021146431A (ja) 2020-03-18 2020-03-18 ロボットの制御方法及びロボットシステム
CN202110281885.7A CN113492400B (zh) 2020-03-18 2021-03-16 机器人的控制方法及机器人系统
US17/203,773 US20210291365A1 (en) 2020-03-18 2021-03-17 Control method for robot and robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020047310A JP2021146431A (ja) 2020-03-18 2020-03-18 ロボットの制御方法及びロボットシステム

Publications (1)

Publication Number Publication Date
JP2021146431A true JP2021146431A (ja) 2021-09-27

Family

ID=77747367

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020047310A Pending JP2021146431A (ja) 2020-03-18 2020-03-18 ロボットの制御方法及びロボットシステム

Country Status (3)

Country Link
US (1) US20210291365A1 (ja)
JP (1) JP2021146431A (ja)
CN (1) CN113492400B (ja)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008027008B4 (de) * 2008-06-06 2016-03-17 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern eines Manipulators
CN102470531B (zh) * 2010-01-04 2016-01-20 松下知识产权经营株式会社 机器人、机器人的控制装置及控制方法
DE102013218823A1 (de) * 2013-09-19 2015-04-02 Kuka Laboratories Gmbh Verfahren zum manuell geführten Verstellen der Pose eines Manipulatorarms eines Industrieroboters und zugehöriger Industrieroboter
JP6582483B2 (ja) * 2015-03-26 2019-10-02 セイコーエプソン株式会社 ロボット制御装置およびロボットシステム
JP2016187844A (ja) * 2015-03-30 2016-11-04 セイコーエプソン株式会社 ロボット、ロボット制御装置およびロボットシステム
DE102015009151A1 (de) * 2015-07-14 2017-01-19 Kuka Roboter Gmbh Ermitteln eines Eingabebefehls für einen Roboter, der durch manuelles Ausüben einer Kraft auf den Roboter eingegeben wird
JP6648469B2 (ja) * 2015-10-07 2020-02-14 セイコーエプソン株式会社 ロボットシステム、及びロボット制御装置
CN105583824B (zh) * 2016-01-26 2017-05-24 清华大学 力控牵引和摆位的多自由度机械臂控制装置及其控制方法
KR101898092B1 (ko) * 2016-06-17 2018-09-12 주식회사 뉴로메카 다자유도 로봇의 말단 제어를 위한 콘트롤러, 상기 콘트롤러를 이용한 다자유도 로봇 제어방법 및 이에 의해 동작하는 로봇

Also Published As

Publication number Publication date
US20210291365A1 (en) 2021-09-23
CN113492400A (zh) 2021-10-12
CN113492400B (zh) 2023-12-22

Similar Documents

Publication Publication Date Title
US10751874B2 (en) Method of teaching robot and robotic arm control device
US10434646B2 (en) Robot control apparatus, robot, and robot system
JP5191738B2 (ja) マニピュレータの制御方法および制御システム
US10864632B2 (en) Direct teaching method of robot
US6216056B1 (en) Method of controlling force assisting device and control apparatus using the same
US11465288B2 (en) Method of controlling robot
KR101498835B1 (ko) 7축 다관절 로봇의 제어방법, 제어 프로그램 및 로봇 제어장치
CN107363830B (zh) 机器人控制装置、机器人以及机器人系统
JP2001157975A (ja) ロボットの制御装置
US9950427B2 (en) Robot, control apparatus, and robot system
JP2009066685A (ja) ロボット装置及びロボット装置の制御方法
JPH11502776A (ja) 多軸工業ロボットの較正の装置と方法
WO2020149021A1 (ja) 経路生成装置、経路生成方法、及び経路生成プログラム
JP2604929B2 (ja) ロボットの制御装置
JP2021003771A (ja) ロボットシステム
JP6697544B2 (ja) 最適化装置及びそれを備えた垂直型多関節ロボット
JP2021146431A (ja) ロボットの制御方法及びロボットシステム
JP7392154B2 (ja) ロボット制御装置
WO2020149020A1 (ja) ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
JP3671694B2 (ja) ロボットのティーチング方法およびその装置
JPS62199383A (ja) ロボツトの制御方式
US11738458B2 (en) Control method for robot system
JP7391523B2 (ja) 制御装置、ロボットシステム、制御方法、物品の製造方法、プログラム、及び記録媒体
US20220080587A1 (en) Method Of Adjusting Force Control Parameter, Robot System, And Force Control Parameter Adjustment Program
WO2022176456A1 (ja) バネ定数補正装置および該方法ならびに記録媒体

Legal Events

Date Code Title Description
RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20200818

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20210914

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20211101

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231024

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240312