JP2020189392A - ロボットの制御方法 - Google Patents

ロボットの制御方法 Download PDF

Info

Publication number
JP2020189392A
JP2020189392A JP2019097490A JP2019097490A JP2020189392A JP 2020189392 A JP2020189392 A JP 2020189392A JP 2019097490 A JP2019097490 A JP 2019097490A JP 2019097490 A JP2019097490 A JP 2019097490A JP 2020189392 A JP2020189392 A JP 2020189392A
Authority
JP
Japan
Prior art keywords
correction amount
force
robot
target position
control
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.)
Granted
Application number
JP2019097490A
Other languages
English (en)
Other versions
JP7363098B2 (ja
Inventor
馨 竹内
Kaoru Takeuchi
馨 竹内
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 JP2019097490A priority Critical patent/JP7363098B2/ja
Priority to US16/881,118 priority patent/US11465288B2/en
Priority to CN202010442396.0A priority patent/CN111975746B/zh
Publication of JP2020189392A publication Critical patent/JP2020189392A/ja
Application granted granted Critical
Publication of JP7363098B2 publication Critical patent/JP7363098B2/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/0081Programme-controlled manipulators with master teach-in means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0093Programme-controlled manipulators co-operating with conveyor means
    • 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
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0009Constructional details, e.g. manipulator supports, bases
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • 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/1679Programme controls characterised by the tasks executed
    • 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/1684Tracking a line or surface by means of 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/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
    • 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
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • B25J9/12Programme-controlled manipulators characterised by positioning means for manipulator elements electric
    • 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/39102Manipulator cooperating with conveyor
    • 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/40543Identification and location, position of components, objects
    • 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/45Nc applications
    • G05B2219/45091Screwing robot, tighten or loose bolt

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)
  • Manipulator (AREA)

Abstract

【課題】対象物に対する作業が完了する前にワークがロボットの可動範囲から外れてしまう可能性を低減するロボットの制御方法を提供する。【解決手段】搬送装置50により搬送される対象物Wに対してエンドエフェクター20を用いて作業を行うロボット1の制御方法において、対象物Wの位置に基づいてエンドエフェクター20の目標位置を算出し、対象物Wの搬送量に対応するように目標位置を補正するトラッキング補正量を算出し、目標位置及びトラッキング補正量に基づいてエンドエフェクター20を対象物Wに追従させ、力センサーPを用いて対象物Wからエンドエフェクター20に作用する作用力を取得し、作用力を目標力にするように目標位置を補正する力制御補正量を算出し、力制御補正量に基づいてマニピュレーター10を駆動することにより作用力を予め決定された目標力に制御する。【選択図】図3

Description

本発明は、ロボットの制御方法に関する。
特許文献1は、搬送装置によって搬送されるワークに対して作業を行うロボットを制御するロボット制御装置を開示する。
特開2015−174171号公報
しかしながら、特許文献1に記載の技術では、作業に要する時間によっては、ワークに対する作業が完了する前に、ワークがロボットの可動範囲から外れてしまうおそれがある。
第1態様は、搬送装置により所定の経路に沿って搬送される対象物に対して、エンドエフェクターを用いて作業を行うロボットであって、前記エンドエフェクターを支持するマニピュレーターと、前記マニピュレーターを支持するベースと、前記ベースを移動させる移動部とを備えるロボットを、制御装置により制御するロボットの制御方法において、位置センサーを用いて前記対象物の位置を取得することと、前記対象物の位置に基づいて前記エンドエフェクターの目標位置を算出することと、前記搬送装置による前記対象物の搬送量を取得することと、前記搬送量に対応するように前記目標位置を補正するトラッキング補正量を算出することと、前記目標位置に基づいて前記マニピュレーターを駆動し、前記トラッキング補正量に基づいて前記移動部を駆動することにより、前記エンドエフェクターを前記対象物に追従させることと、力センサーを用いて前記対象物から前記エンドエフェクターに作用する作用力を取得することと、前記作用力を所定の目標力にするように前記目標位置を補正する力制御補正量を算出することと、前記力制御補正量に基づいて前記マニピュレーターを駆動することにより、前記対象物からの前記作用力を予め決定された目標力に制御することと、を含むロボットの制御方法である。
第2態様は、第1態様において、前記目標位置が前記ベースの位置を基準とする第1範囲から外れる場合において、前記トラッキング補正量に基づいて前記移動部を駆動することである。
第3態様は、第1又は第2態様において、前記トラッキング補正量が第1閾値以上となる場合において、前記トラッキング補正量に基づいて前記移動部を駆動することである。
第4態様は、搬送装置により所定の経路に沿って搬送される対象物に対して、エンドエフェクターを用いて作業を行うロボットであって、前記エンドエフェクターを支持するマニピュレーターと、前記マニピュレーターを支持するベースと、前記ベースを移動させる移動部とを備えるロボットを、制御装置により制御するロボットの制御方法において、位置センサーを用いて前記対象物の位置を取得することと、前記対象物の位置に基づいて前記エンドエフェクターの目標位置を算出することと、前記搬送装置による前記対象物の搬送量を取得することと、前記搬送量に対応するように前記目標位置を補正するトラッキング補正量を算出することと、前記移動部を前記経路に沿って駆動させながら、前記目標位置、前記トラッキング補正量及び前記移動部の移動量に基づいて前記マニピュレーターを駆動することにより、前記エンドエフェクターを前記対象物に追従させることと、力センサーを用いて前記対象物から前記エンドエフェクターに作用する作用力を取得することと、前記作用力を所定の目標力にするように前記目標位置を補正する力制御補正量を算出することと、前記力制御補正量に基づいて前記マニピュレーターを駆動することにより、前記対象物からの前記作用力を予め決定された目標力に制御することと、を含むロボットの制御方法である。
第5態様は、第1乃至第4態様の何れかにおいて、前記力制御補正量が、前記目標位置を前記経路に沿う経路方向に補正する場合において、前記力制御補正量の前記経路方向の成分に基づいて前記移動部を駆動し、前記力制御補正量の前記経路方向の成分以外に基づいて前記マニピュレーターを駆動することである。
第6態様は、第5態様において、前記目標位置が前記ベースの位置を基準とする第2範囲から外れる場合において、前記力制御補正量の前記経路方向の成分に基づいて前記移動部を駆動することである。
第7態様は、第5又は第6態様において、前記力制御補正量の前記経路方向の成分が第2閾値以上となる場合において、前記力制御補正量の前記経路方向の成分に基づいて前記移動部を駆動することである。
第8態様は、第1乃至第7態様の何れかにおいて、前記ベースの位置を基準とする前記エンドエフェクターの可動範囲に基づいて、前記作業の開始時における前記ベースの初期位置を、前記移動部の移動量が削減されるように決定することである。
ロボットシステムの概略構成を説明する斜視図。 複数のプロセッサーを有する制御装置の一例を説明するブロック図。 制御装置を説明する機能ブロック図。 教示装置のGUIの一例を説明する図。 コマンドの一例を説明する表。 ねじ穴の位置とTCPとの関係を説明する図。 作業中におけるロボットの移動を説明する模式的な平面図。 目標位置オフセットを説明する模式的な平面図。 ロボットの制御方法を説明するフローチャート。 トラッキング補正量の決定方法を説明するフローチャート。 力制御補正量の決定方法を説明するフローチャート。 トラッキング補正量の決定方法の変形例を説明するフローチャート。
以下、図面を参照しながら実施形態を説明する。図面において、同一又は類似の要素には同一又は類似の符号がそれぞれ付され、重複する説明は省略される。
図1に示すように、本実施形態に係るロボットシステム100は、ロボット1と、エンドエフェクター20と、位置センサー30と、制御装置40と、教示装置45と、搬送装置50とを備える。ロボット1は、搬送装置50により所定の経路51に沿って搬送される対象物Wに対して、エンドエフェクター20を用いて作業を行う。ロボット1は、エンドエフェクター20を支持するマニピュレーター10と、マニピュレーター10を支持するベース11と、ベース11を移動させる移動部12とを備える。ロボット1として、例えば、教示装置45の教示により各種作業が可能な汎用ロボットが採用され得る。
マニピュレーター10は、例えば複数の相互連結されたリンク及び関節を有することにより複数自由度で運動するロボティックアームである。図1に示す例において、マニピュレーター10は、6つの関節J1〜J6を備える6軸アームである。関節J2,J3,J5は曲げ関節であり、関節J1,J4,J6はねじり関節である。エンドエフェクター20は、例えば、スクリュードライバー、グリッパー、グラインダー等のツールである。エンドエフェクター20は、ワークである対象物Wに対して、例えば、ねじ締め、把持、加工等の種々の作業を行う。エンドエフェクター20は、マニピュレーター10の先端部において、メカニカルインターフェイスを介して関節J6に装着される。マニピュレーター10は、制御装置40に駆動されることにより、エンドエフェクター20の位置及び姿勢を決定する。
マニピュレーター10は、先端近傍の所定位置において、エンドエフェクター20の位置の基準であるツールセンターポイント(TCP)を設定される。TCPは任意に設定可能であり、例えば、関節J6の回転軸上に設定される。エンドエフェクター20としてスクリュードライバーが使用される場合には、スクリュードライバーの先端をTCPとして設定可能である。なお、本実施形態において、マニピュレーター10は、6軸の自由度を有するが、例示である。マニピュレーター10は、対象物Wに対する作業に必要なTCPの移動を実現可能なロボットであれば、どのような関節機構を用いてもよい。ベース11は、マニピュレーター10の第1リンク、即ち、最もベース11に近い1つのリンクを位置決めする。
例えば、マニピュレーター10は、エンドエフェクター20から対象物Wに作用する作用力を取得するための力センサーPを備える。力センサーPは、固有の3次元直交座標系であるセンサー座標系において、対象物Wに作用する3軸の力及び3軸周りのトルクを計測する力覚センサーである。図1に示す例において、力センサーPは関節J6に取り付けられるが、他の関節J1〜J5のうち少なくともいずれか1つが力センサーを備えてもよい。
移動部12は、例えば、一対の動輪121と、1つの従輪122とを備える。移動部12は、例えば、制御装置40の制御に応じて駆動される無人搬送車(AGV)である。移動部12は、制御装置40の制御に応じて、互いに同一の方向及び速度で一対の動輪121を回転させることにより、ベース11を一方向に移動させる。移動部12は、一対の動輪121の回転方向及び回転速度のバランスを制御装置40に制御されることにより、ベース11のx−y平面における配向、即ちz軸周りの旋回角を変更することができる。移動部12は、搬送装置50により搬送される対象物Wに対する作業中において、経路51に沿う経路方向52に駆動されることにより、ベース11を経路方向52に移動させる。経路方向52は、対象物Wが搬送される第1方向の成分を有し、第1方向と反対の第2方向の成分を有しない方向である。即ち、経路方向52は、第1方向に平行とは限らない。移動部12は、制御装置40の制御に応じて、少なくとも経路51に沿って移動する装置であれば、どのような装置であってもよい。
図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の位置を制御する。
搬送装置50は、例えば、経路51として機能するベルトと、ベルトを送る搬送ローラー50a,50bとを備えるベルトコンベヤーである。搬送装置50は、ベルトコンベヤーに限るものでなく、対象物Wを所定の経路に沿って搬送する装置であればどのような装置であってもよい。対象物Wとしては、例えばプリンターや自動車のような工業製品、又はこれらの部品等、エンドエフェクター20を用いたロボット1による作業が可能なあらゆる物体が挙げられる。
図1に示す例において、搬送装置50のベルトの表面をなす搬送面は、ワールド座標系におけるx−y平面に対して平行であり、y軸の正方向は、経路方向52に一致する。搬送装置50は、搬送ローラー50a,50bによって搬送面を経路方向52に移動させることにより、対象物Wを経路方向52に搬送する。例えば、搬送ローラー50aは、回転量に応じた信号を制御装置40に出力する、図示しない搬送量センサーを備える。搬送装置50の搬送面は、搬送ローラー50aの回転に対して搬送面が滑らずに移動するため、搬送量センサーの出力は、搬送装置50により対象物Wの搬送量を示す。対象物Wの搬送量は、搬送される対象物Wの単位時間当たりの移動量を意味する。
位置センサー30は、搬送装置50の上方から対象物Wの位置を検出する。位置センサー30は、例えば、対象物Wの画像を制御装置40に出力するカメラである。その他、位置センサー30としてレーザーレンジスキャナー等を採用してもよい。位置センサー30は、例えば、搬送装置50の上方において図示しない支持部材によって支持される。位置センサー30は、図1において破線で示すように、経路51に沿って搬送される対象物Wを含む画角を有する。位置センサー30から出力される画像における位置は、制御装置40によって、搬送装置50の経路51における位置と関連付けられる。よって、位置センサー30の画角内に対象物Wが存在する場合、位置センサー30の画像における対象物Wの位置に基づいて、x−y平面における対象物Wの座標を特定することが可能である。
図2に示すように、制御装置40は、コンピューターシステムを構成するプロセッサー40a及びメモリー40bを備える。制御装置40は、例えば汎用のコンピューターによって構成可能である。プロセッサー40aは、制御プログラムに応じた指令を実行することによりロボット1を制御する。プロセッサー40aは、例えば中央演算処理装置(CPU)等の処理回路である。メモリー40bは、ロボット1の制御に必要なプログラムや各種データ等を記憶する、コンピューターにより読み取り可能な記憶媒体である。メモリー40bは、例えばランダムアクセスメモリー(RAM)、リードオンリーメモリー(ROM)等である。制御装置40の構成要素の一部又は全部は、ロボット1の筐体の内側に配置されてもよい。
図1に示すように、制御装置40は、通信リンクを介してロボット1及び教示装置45とそれぞれ通信する。通信リンクは、有線、無線のいずれであってもよく、有線及び無線の組み合わせであってもよい。制御装置40は、エンドエフェクター20、位置センサー30及び搬送装置50の駆動を制御し得る。例えば、エンドエフェクター20がスクリュードライバーである場合、制御装置40は、エンドエフェクター20を駆動することによりねじ締めを行うことができる。制御装置40は、搬送ローラー50a,50bを駆動することにより、対象物Wを搬送することができる。また、制御装置40は、搬送装置50が備える搬送量センサーの出力に基づいて、搬送装置50に搬送される対象物Wの搬送量を取得する。
制御装置40は、複数のプロセッサーにより構成されてもよい。即ち、図2に示す例において、制御装置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と筐体を共有してもよい。
本実施形態において、ロボットシステム100により、対象物Wに形成されたねじ穴Hに、スクリュードライバーであるエンドエフェクター20によってねじを挿入するねじ締めが作業として行われる場合を適宜例として説明する。
図3に示すように、マニピュレーター10の関節J1〜J6は、アクチュエーターとしてのモーターM1〜M6と、角度センサーとしてのエンコーダーE1〜E6とをそれぞれ備える。モーターM1〜M6は、制御装置40の制御によりそれぞれ駆動され、関節J1〜J6をそれぞれ回転させる。エンコーダーE1〜E6は、モーターM1〜M6の回転角度を検出し、制御装置40に出力する。
移動部12の一対の動輪121は、2つの動輪121a,121bからなる。動輪121a,121bは、アクチュエーターとしてのモーターM7,M8と、角度センサーとしてのエンコーダーE7,E8とをそれぞれ備える。モーターM7,M8は、制御装置40の制御によりそれぞれ駆動され、動輪121a,121bをそれぞれ回転させる。エンコーダーE7,E8は、モーターM7,M8の回転角度を検出し、制御装置40に出力する。
図3に示すように、制御装置40は、位置制御部41と、力制御部42と、指令統合部43とを論理構造として有する。位置制御部41、力制御部42及び指令統合部43は、制御装置40が予めインストールされた制御プログラムを実行することにより実現される。位置制御部41、力制御部42及び指令統合部43は、それぞれ複数の処理回路により構成されてもよく、互いに一体の処理回路により構成されてもよい。
制御装置40は、予め記憶する対応関係に基づいて、モーターM1〜M8の各回転角の組み合わせと、ワールド座標系におけるTCPの位置との間を双方向に変換する第1変換部U1を有する。例えば、第1変換部U1は、ワールド座標系における位置Sを、モーターM1〜M8の各回転角Daに変換する。位置Sは、ワールド座標系を規定する6軸(x,y,z,Rx,Ry,Rz)における位置及び姿勢を表し得る。制御装置40がモーターM1〜M8に出力する制御信号は、例えばパルス幅変調(PWM)された信号である。
制御装置40は、ワールド座標系におけるTCPの位置S毎のセンサー座標系の姿勢を示す対応関係に基づいて、力センサーPにより計測された力をワールド座標系における力fSpに変換する第2変換部U2を有する。第2変換部U2は、力fSpの力成分と、エンドエフェクター20及び対象物Wの接触点から力センサーPまでの距離とから、力fSpのトルク成分を算出する。
位置制御部41は、位置検出部41aと、最終位置算出部41bと、最終目標位置算出部41cと、目標位置算出部41dと、トラッキング補正量算出部41eとを論理構造として有する。位置制御部41は、搬送される対象物Wにエンドエフェクター20を追従させるための機能を有する。搬送される対象物Wの位置は、位置制御部41において種々の手法で取得され得る。以下、イメージセンサーである位置センサー30から取得される画像等により、対象物Wの位置を検出する方法について例示的に説明する。
位置検出部41aは、位置センサー30を用いて対象物Wの位置を取得する。位置検出部41aは、位置センサー30から入力される画像における対象物Wの位置から、ワールド座標系における対象物Wの位置を検出する。位置検出部41aは、制御装置40に記憶される、搬送装置50の経路51の高さや対象物Wの形状を示す情報に基づいて、対象物Wのねじ穴Hのx,y座標を検出する。位置検出部41aは、テンプレートマッチングや教示装置45の教示により対象物Wの位置を検出してもよい。
最終位置算出部41bは、位置検出部41aにより検出された対象物Wの位置と、教示装置45を用いて作成されたコマンドCとに基づいて、作業完了時におけるTCPの最終位置とを算出する。例えば、最終位置算出部41bは、ねじ締めのために、ねじ穴Hからz軸の正方向に所定距離オフセットされた第1位置にねじの先端を移動させる作業の完了時におけるTCPの最終位置を算出する。また、最終位置算出部41bは、第1位置からz軸の負方向にねじが進む距離だけシフトされた位置にねじを移動させるねじ締めの完了時におけるTCPの最終位置を算出する。最終位置は、対象物Wを基準とする位置である。但し、初期位置及び最終位置がワールド座標系において定義されてもよい。
最終目標位置算出部41cは、最終位置算出部41bにより算出されたTCPの最終位置と、目標位置オフセットStoとから、最終目標位置Stを算出する。詳細には、最終目標位置算出部41cは、最終位置にTCPが位置するときの、移動部12の位置を示す第1最終目標位置と、マニピュレーター10の位置を示す第2最終目標位置とを、最終目標位置Stとして算出する。最終目標位置Stは、ワールド座標系において定義され得る。目標位置オフセットStoは、例えば前回に行われた同一の作業により算出される、移動部12の位置をオフセットするための量である。
目標位置算出部41dは、最終目標位置StにTCPを移動させるための制御指令となる、微小時間毎の目標位置Stcを算出する。即ち、目標位置算出部41dは、位置検出部41aにより対象物Wの位置が検出された検出時刻から、TCPが最終目標位置Stに到達する到達時刻までの移動時間における微小時間毎のTCPの目標位置Stcを算出する。詳細には、目標位置算出部41dは、微小時間毎の移動部12の位置を示す第1目標位置と、微小時間毎のマニピュレーター10の位置を示す第2目標位置とを、目標位置Stcとして算出する。目標位置算出部41dは、移動時間における微小時間毎の目標位置Stcを、移動時間におけるTCPの軌道として算出する。このように、最終位置算出部41b、最終目標位置算出部41c及び目標位置算出部41dは、位置検出部41aにより検出された対象物Wの位置に基づいて、エンドエフェクター20の目標位置Stcを算出する。
例えば、微小時間をΔT、検出時刻をT、到達時刻をTfとすると、目標位置算出部41dは、T,T+ΔT,T+2ΔT,……,Tf−ΔT,Tfの各時刻におけるTCPの目標位置Stcを算出する。目標位置算出部41dは、微小時間毎の各時刻において、次の時刻における目標位置Stcを指令統合部43に出力する。目標位置Stcは、対象物Wに相対的に算出される位置であるため、TCPの位置制御における目標値とするには、搬送装置50の搬送量に基づいて補正される必要がある。
トラッキング補正量算出部41eは、搬送装置50による対象物Wの搬送量に基づいて、目標位置Stcを補正するトラッキング補正量Stmを算出する。詳細には、トラッキング補正量算出部41eは、搬送装置50の搬送量センサーの出力に基づいて、微小時間毎の対象物Wの搬送量を算出することにより、微小時間毎のトラッキング補正量Stmを算出する。このため、トラッキング補正量算出部41eは、搬送装置50の経路51を示す情報を予め記憶する。トラッキング補正量Stmは、搬送量に対応してエンドエフェクター20が対象物Wに追従するように、目標位置Stcを補正する量である。トラッキング補正量算出部41eは、目標位置Stcに同期するようにトラッキング補正量Stmを算出し、指令統合部43に出力する。
力制御部42は、目標力算出部42aと、力検出部42bと、力制御補正量算出部42cと、トラッキングオフセット算出部42dとを論理構造として有する。力制御部42は、エンドエフェクター20から対象物Wに作用する作用力fSを所定の目標力fStに制御するための機能を有する。具体的には、力制御部42は、作用力fSを目標力fStにするように目標位置Stcを補正する力制御補正量ΔSを算出し、指令統合部43に出力する。
目標力算出部42aは、教示装置45の教示に応じて制御装置40が記憶したコマンドCに基づいて、目標力fStを算出する。コマンドCは、ロボット1が行う作業において対象物Wに作用するべき目標力fStを示す。例えば、目標力算出部42aは、スクリュードライバーの先端に吸着されたねじを、対象物Wに既定の力で押しつける場合、この既定の力として目標力fStを算出する。図1に示すねじ締めの場合、目標力算出部42aは、z軸の負方向の力を所定値、x−y平面に沿う力を0にする倣い制御を実行するための目標力fStを算出する。目標力fStは、対象物Wに作用される力を所望の値に制御する値であればよい。
力検出部42bは、力センサーPを用いて、対象物Wからエンドエフェクター20に作用する作用力fSを取得する。詳細には、力検出部42bは、第2変換部U2を介して力センサーPから取得される力fSpに対して、重力に起因する成分を除去する重力補償を施すことにより、重力の影響を有しない、エンドエフェクター20に作用する作用力fSを検出する。
力制御補正量算出部42cは、目標力fSt及び作用力fSから、作用力fSを目標力fStにするように目標位置Stcを補正する力制御補正量ΔSを算出する。力制御補正量ΔSは、TCPが機械的インピーダンスを受けた場合において、目標力fStと作用力fSとの力偏差ΔfS(t)を解消するために、TCPが位置Sから移動すべき量を意味する。力制御補正量算出部42cは、例えば、仮想の機械的インピーダンスをモーターM1〜M8によって実現する能動インピーダンス制御により力制御補正量ΔSを算出する。力制御部42は、エンドエフェクター20が対象物Wに接触する状態の工程でインピーダンス制御を適用する。例えば、力制御補正量算出部42cは、式(1)に示すようなインピーダンス制御の運動方程式に、目標力fSt及び作用力fSを代入することにより力制御補正量ΔSを算出する。
Figure 2020189392
式(1)の左辺は、TCPの位置Sの2階微分値に仮想慣性パラメーターmを乗算した第1項と、TCPの位置Sの微分値に仮想粘性パラメーターdを乗算した第2項と、TCPの位置Sに仮想弾性パラメーターkを乗算した第3項との和である。式(1)の右辺は、目標力fStから作用力fSを減算した力偏差ΔfS(t)である。式(1)における微分は、時間微分を意味する。ロボット1が行う作業の工程において、目標力fStとして一定値が設定される場合もあるし、目標力fStとして時間の関数が設定される場合もある。仮想慣性パラメーターmは、TCPが仮想的に有する質量を意味する。仮想粘性パラメーターdは、TCPが仮想的に受ける粘性抵抗を意味する。仮想弾性パラメーターkは、TCPが仮想的に受ける弾性力のバネ定数を意味する。
トラッキングオフセット算出部42dは、力制御補正量算出部42cにより算出された力制御補正量ΔSから、トラッキング補正量Stmを補正するトラッキングオフセットΔSrを算出する。トラッキングオフセットΔSrは、例えば、力制御補正量ΔSの履歴に応じて算出される、複数の力制御補正量ΔSを代表する統計値である。トラッキングオフセット算出部42dは、各時刻において算出された力制御補正量ΔSを蓄積し、複数の力制御補正量ΔSの、平均値や中央値等の統計値を、トラッキングオフセットΔSrとして算出する。或いは、トラッキングオフセット算出部42dは、力制御補正量ΔSの分散や標準偏差が所定の範囲内に収束した場合に、力制御補正量ΔSの分布のピークに相当する最頻値をトラッキングオフセットΔSrとして算出してもよい。
ロボットシステム100における力制御では、制御装置40は、力制御補正量ΔSに基づいて少なくともマニピュレーター10を駆動することにより作用力fSを目標力fStに制御する。同一の対象物Wに対して同一の作業が複数回実行される場合、力制御補正量ΔSは再現され得る。エンドエフェクター20を対象物Wに追従させる位置制御を行うためのトラッキング補正量Stmに、力制御補正量ΔSに応じたトラッキングオフセットΔSrを加えれば、力制御において必要な補正を位置制御によって実現することが可能になる。よって、同一の作業における制御が簡易になり、作業のサイクルタイムを短くすることができる。
指令統合部43は、トラッキング補正量加算部43aと、力制御補正量加算部43bと、フィードバック制御部43cとを論理構造として有する。指令統合部43は、位置制御部41により算出された制御指令である目標位置Stc及びトラッキング補正量Stmと、力制御部42により算出された制御指令である力制御補正量ΔSとを統合する。指令統合部43は、統合した制御指令に応じた目標値を達成するように、ロボット1に操作量を出力する。
トラッキング補正量加算部43aは、目標位置Stcにトラッキング補正量Stmを加算する。即ち、トラッキング補正量加算部43aは、目標位置Stcをトラッキング補正量Stmで補正する。トラッキング補正量加算部43aは、トラッキング補正量Stmで補正された目標位置Stcを力制御補正量加算部43bに出力する。詳細には、トラッキング補正量加算部43aは、トラッキング補正量Stmから、移動部12に適用される第1トラッキング補正量と、マニピュレーター10に適用される第2トラッキング補正量とを算出する。トラッキング補正量加算部43aは、第1トラッキング補正量で補正された第1目標位置と、第2トラッキング補正量で補正された第2目標位置とを力制御補正量加算部43bに出力する。
トラッキング補正量加算部43aは、例えば、目標位置Stcが、ベース11を基準とする第1範囲から外れる場合において、トラッキング補正量Stmを第1トラッキング補正量とし、第2トラッキング補正量を0とする。第1範囲は、例えば、ベース11に対して設定されるベース座標系において規定される。第1範囲は、例えば、エンドエフェクター20の可動範囲、即ち、マニピュレーター10の駆動により変化するTCPの位置が取り得る範囲である。トラッキング補正量加算部43aは、トラッキング補正量Stmが第1閾値以上となる場合において、第1トラッキング補正量をトラッキング補正量Stmとしてもよい。第1閾値は、例えば、第1閾値を超えるトラッキング補正量Stmで補正された目標位置Stcが第1範囲から外れることが見込まれる値である。第1トラッキング補正量がトラッキング補正量Stmとされることにより、制御装置40は、目標位置Stcに基づいてマニピュレーター10を駆動し、トラッキング補正量Stmに基づいて移動部12を駆動する。これにより制御装置40は、エンドエフェクター20を搬送装置50により搬送される対象物Wに追従させる。
力制御補正量加算部43bは、トラッキング補正量Stmで補正された目標位置Stcに力制御補正量ΔSを加算する。即ち、力制御補正量加算部43bは、トラッキング補正量Stmで補正された目標位置Stcを、力制御補正量ΔSで更に補正する。詳細には、力制御補正量加算部43bは、力制御補正量ΔSから、移動部12に適用される第1力制御補正量と、マニピュレーター10に適用される第2力制御補正量とを算出する。力制御補正量加算部43bは、第1トラッキング補正量で補正された第1目標位置と、第1力制御補正量とから、第1指令位置を算出する。同様に、力制御補正量加算部43bは、第2トラッキング補正量で補正された第2目標位置と、第2力制御補正量とから、第2指令位置を算出する。このように、力制御補正量加算部43bは、移動部12のモーターM7,M8に適用される第1指令位置と、マニピュレーター10のモーターM1〜M6に適用される第2指令位置とからなる指令位置Sttを算出する。指令位置Sttは、ワールド座標系における最終的なTCPの目標値を意味する。
力制御補正量加算部43bは、例えば、目標位置Stcが、ベース11を基準とする第2範囲から外れる場合において、力制御補正量ΔSの経路方向52の成分を第1力制御補正量とし、力制御補正量ΔSの経路方向52の成分以外を第2力制御補正量とする。第2範囲は、例えば、第1範囲と同一の範囲である。力制御補正量加算部43bは、力制御補正量ΔSの経路方向52の成分が第2閾値以上となる場合において、第1力制御補正量を力制御補正量ΔSの経路方向52の成分としてもよい。このように、制御装置40は、力制御補正量ΔSが目標位置Stcを経路方向52に補正する場合において、力制御補正量ΔSの経路方向52の成分に基づいて移動部12を駆動し、力制御補正量ΔSの経路方向52の成分以外に基づいてマニピュレーター10を駆動し得る。
第1変換部U1は、ワールド座標系における指令位置Sttを、モーターM1〜M8の各回転角の目標値である目標角Dtに変換する。指令位置Sttのうち、第1指令位置は、移動部12のモーターM7,M8に適用され、第2指令位置は、マニピュレーター10のモーターM1〜M6に適用される。
フィードバック制御部43cは、モーターM1〜M8の実際の回転角Daを制御量として、目標角Dtに制御するフィードバック制御を行う。フィードバック制御部43cは、先ず、目標角Dtから回転角Daを減算することにより偏差Deを算出する。フィードバック制御部43cは、エンコーダーE1〜E8の出力から回転角Daを取得する。フィードバック制御部43cは、偏差Deに位置制御ゲインKpを乗算した値と、回転角Daを時間微分した値との差である駆動速度偏差を算出する。フィードバック制御部43cは、駆動速度偏差に速度制御ゲインKvを乗算することにより操作量Dcを算出する。位置制御ゲインKp及び速度制御ゲインKvは、比例成分だけでなく微分成分や積分成分にかかる制御ゲインを含んでもよい。操作量Dcは、モーターM1〜M8のそれぞれについて特定される。
制御装置40は、位置制御モードと、力制御モードと、位置・力制御モードとのいずれかの制御モード、又は、これらを順次変更する制御モードによってロボット1を制御する。制御装置40は、力センサーP、エンコーダーE1〜E8等の出力に基づいて、上述の制御モードを自律的に切り替えてもよく、コマンドに応じて切り替えてもよい。図1に示す例において、ねじ締めの作業を行う場合、x軸成分及びy軸成分の目標力を0とする倣い制御を行うので、力制御モードが使用される。z軸成分については、0でない目標力でねじを介してエンドエフェクター20を対象物Wに対して押し付けるので、位置・力制御モードが使用される。この場合、Rx,Ry,Rz成分については、位置制御モードが使用され得る。
力制御モードは、運動方程式に基づいて目標力fStから導出される回転角でモーターM1〜M8を制御するモードである。力制御モードでは、各時刻の目標位置Stcが作業中に経時的に変化しない場合に、目標力fStに関するフィードバック制御が実行される。例えば、ねじ締めや嵌合等の作業中において、目標位置Stcが作業完了位置になると、その後目標位置Stcが経時的に変化しないので、力制御モードで作業が実行される。制御装置40は、力制御モードにおいても、対象物Wの搬送量に応じたトラッキング補正量Stmを用いたフィードバック制御を行うことが可能である。
位置制御モードは、目標位置Stcから線形演算で導出される回転角でモーターM1〜M8を制御するモードである。位置制御モードでは、作業中に力を制御する必要が無い場合に、目標位置Stcに対するフィードバック制御が実行される。換言すれば、位置制御モードは、力制御による力制御補正量ΔSが常に0であるモードである。制御装置40は、位置制御モードにおいても、対象物Wの搬送量に応じたトラッキング補正量Stmを用いたフィードバック制御を行うことが可能である。
位置・力制御モードは、目標位置Stcから線形演算で導出される回転角と、運動方程式に基づいて目標力fStから導出される回転角とを線型結合によって統合し、統合した回転角でモーターM1〜M8を制御するモードである。位置・力制御モードでは、作業中において、各時刻の目標位置Stcが経時的に変化する場合、目標位置Stcと目標力fStに応じた力制御補正量ΔSとに関するフィードバック制御が実行される。例えば、研磨作業やバリ取り等の作業において、対象物Wに対する作業位置が1点でなく、長さ又は面積を有することにより経時的に変化する場合、位置・力制御モードで作業が実行される。制御装置40は、位置・力制御モードにおいても、対象物Wの搬送量に応じたトラッキング補正量Stmを用いたフィードバック制御を行うことが可能である。
以上の構成によれば、制御装置40は、移動部12及びマニピュレーター10を駆動することにより、搬送装置50により搬送される対象物Wにエンドエフェクター20を追従させる。これにより、制御装置40は、エンドエフェクター20を用いた対象物Wに対する作業をロボット1に行わせることができる。更に、ロボットシステム100によれば、作業中において、移動部12は経路方向52にベース11を移動させるため、ロボット1による作業が可能な時間を長くすることができる。即ち、対象物Wに対する作業が完了する前に対象物Wがエンドエフェクター20の可動範囲から外れてしまう可能性を低減することができる。
更に、制御装置40は、作業中にエンドエフェクター20と対象物Wとの接触による相互作用が生じる場合において、作用力fSを目標力fStに制御する。ここで、目標力fStは対象物Wに対する作業に必要な力であるため、ロボット1は、対象物Wの搬送を妨げることなく作業を行うことができる。よって、ロボットシステム100は、搬送装置50を停止させたり、対象物Wを搬送装置50から退避させたりすることなく、対象物Wに対する作業を行うことが可能である。退避のための作業スペースも不要である。
ロボットシステム100は、位置制御に加えて力制御も行うため、作業における各種誤差の影響を低減することができる。例えば、搬送装置50の搬送量センサーによって取得される対象物Wの搬送量には誤差が含まれ得る。また、搬送装置50の経路51の表面や位置センサー30の画像から特定される対象物Wの位置にも誤差が含まれ得る。更に、複数の対象物Wに対して作業が行われる場合において、個別の対象物Wには設計に対する誤差が含まれ得る。スクリュードライバー、研磨ツール等のエンドエフェクター20にも摩耗等による変形が生じ得る。従って、位置制御のみによってエンドエフェクター20を対象物Wに追従させる場合、複数の対象物Wのそれぞれに対して適正に作業を遂行し続けることは困難である。しかし、力制御によれば、TCPの位置と目標位置Stcとの関係が理想的な関係からずれていたとしても、エンドエフェクター20が対象物Wに接触する間、作用力fSを目標力fStに制御することができる。このため、ロボットシステム100は、各種誤差の影響を低減しながら作業を行うことができる。
なお利用者は、教示装置45によって各作業における最終目標位置St及び目標力fStを制御装置40に教示することができる。即ち、教示装置45において、教示に基づく上述のコマンドが生成される。教示装置45による教示は、種々の態様で行われてよい。例えば、利用者がロボット1を手で移動させることによって最終目標位置Stが指定されてもよく、教示装置45にてワールド座標系における最終目標位置Stが指定されてもよい。
例えば図4に示すように、教示装置45の表示装置は、グラフィカルユーザーインターフェイス(GUI)として機能する画面45aを表示する。利用者は、教示装置45のGUIを利用して、目標力fSt等のロボット1の制御に関する種々の変数を制御装置40に教示することができる。教示装置45は、目標力fStと共に仮想慣性パラメーターm、仮想粘性パラメーターd、仮想弾性パラメーターkをGUIによって教示可能であってもよい。教示装置45は、図示しない入力装置に対する利用者の操作に応じて、GUIを介してロボット1の制御に関する種々の変数値を入力され得る。入力装置として、各種スイッチ、キーボード、タッチパネルを含むポインティングデバイス等を採用可能である。GUIは、例えば、目標力fStによる力制御を利用した作業の開始位置までTCPが移動され、実際の対象物Wが配置された状態で表示される。図4に示す例において、画面45aは、入力窓N1〜N3と、スライダーバーBhと、表示窓Q1,Q2と、グラフG1,G2と、ボタンB1,B2とを含む。
教示装置45は、入力窓N1,N2を用いて目標力fStの方向及び大きさを指定され得る。教示装置45は、入力窓N1において、ワールド座標系又はベース座標系を定義する軸の方向を指定される。ベース座標系において指定された方向は、教示装置45又は制御装置40において、ワールド座標系における方向に変換される。教示装置45は、入力窓N2において、目標力fStの大きさを指定される。
更に教示装置45は、入力窓N3において仮想弾性パラメーターkを指定され得る。仮想弾性パラメーターkが指定されると、教示装置45は、仮想弾性パラメーターkに対応する記憶波形VをグラフG2にて表示する。グラフG2の横軸は時刻を示し、グラフG2の縦軸は作用力を示す。記憶波形Vは、作用力の時間応答波形であり、予め教示装置45の記憶媒体に仮想弾性パラメーターkごとに記憶される。記憶波形Vは、入力窓N2において指定された値に収束する。記憶波形Vは、一般的な条件において、入力窓N2で指定された大きさの力がTCPに作用するようにマニピュレーター10を駆動する場合、力センサーPから取得される作用力の時間応答特性を示す。仮想弾性パラメーターkが異なると記憶波形Vの形状が大きく異なるため、仮想弾性パラメーターk毎に記憶波形Vが記憶される。
教示装置45は、スライダーバーBh上におけるスライダーH1に対する利用者の操作に応じて、仮想粘性パラメーターdと仮想慣性パラメーターmを指定される。GUIにおいて、仮想慣性パラメーターmと仮想粘性パラメーターdとを指定されるために、スライダーバーBh及びスライダーH1とが表示される。例えば、スライダーH1が右方向に位置するほど安定性が向上し、スライダーH1が左方向に位置するほど応答性が向上する。教示装置45は、スライダーH1の位置により仮想慣性パラメーターmと仮想粘性パラメーターdとを指定される。教示装置45は、例えばm:d=1:1000のように、仮想慣性パラメーターmと仮想粘性パラメーターdとの比が一定となるように調整する。教示装置45は、仮想慣性パラメーターm及び仮想粘性パラメーターdを表示窓Q1及び表示窓Q2に表示する。
教示装置45は、ボタンB1に対する利用者の操作に応じて、現在の設定値でマニピュレーター10を制御する。教示装置45は、制御装置40に対して、GUIにて設定された目標力fStとインピーダンス制御の各パラメーターm,d,kとに基づいてマニピュレーター10を駆動するように指令する。制御装置40は、力センサーPの出力に基づいて、TCPに作用する力の検出波形VLをグラフG1に表示する。利用者は、記憶波形Vと検出波形VLとを比較することにより、目標力fSt及びインピーダンス制御のパラメーターm,d,kを調整することができる。
教示装置45は、最終目標位置Stと目標力fStとインピーダンス制御のパラメーターm,d,kを引数とするコマンドで記述された制御プログラムを生成し、制御装置40に出力する。制御プログラムが制御装置40にロードされると、制御装置40は、指定されたパラメーターによるロボット1の制御を実行することができる。
制御プログラムは、予め定められたプログラム言語によって記述され、翻訳プログラムにより中間言語を経て機械語プログラムに変換される。プロセッサー40aは、クロックサイクルで機械語プログラムを実行する。翻訳プログラムは、教示装置45で実行されてもよく、制御装置40で実行されてもよい。制御プログラムのコマンドは、本体と引数とから構成される。コマンドは、移動部12、マニピュレーター10、エンドエフェクター20を動作させる動作制御コマンド、センサー等の出力を読み出すモニターコマンド、各種の変数を設定する設定コマンド等が含まれる。コマンドの実行は、コマンドが翻訳された機械語プログラムの実行を意味する。
図5に示すように、動作制御コマンドの種類は、力制御モードでロボット1を駆動することができる力制御対応コマンドと、力制御モードでロボット1を駆動することができない位置制御コマンドとを含む。力制御対応コマンドは、引数により力制御モードのオンを指定する。引数により力制御モードのオンが指定されない場合、力制御対応コマンドは位置制御モードで実行される。引数により力制御モードのオンが指定される場合、力制御対応コマンドは力制御モードで実行される。力制御モードにおいて、力制御対応コマンドは実行可能であり、位置制御コマンドは実行不能である。力制御モードにおいて位置制御コマンドが実行されることがないように、翻訳プログラムによる構文エラーチェックが実行される。
力制御対応コマンドでは、引数により力制御モードの継続を指定できる。力制御モードで実行される力制御対応コマンドにおいて、引数により力制御モードの継続が指定される場合、力制御モードは継続される。一方、引数により力制御モードの継続が指定されない場合、力制御対応コマンドの実行完了までに力制御モードは終了する。力制御対応コマンドが力制御モードで実行されるとしても、引数により継続が指定されない限り、力制御モードは力制御対応コマンドに応じて自律的に終了し、力制御対応コマンドの実行終了後に力制御モードが継続することはない。図5において「CP(Continuous Path)」は移動方向を指定できるコマンドの分類、「PTP(Pose to Pose)」は目標位置を指定できるコマンドの分類、「CP+PTP」は移動方向と目標位置を指定できるコマンドの分類である。
制御装置40は、位置検出部41aにおいて対象物Wの位置が取得されると、教示装置45によるコマンドに基づいて、最終目標位置Stを取得する。即ち、図1に示す例において、制御装置40は、搬送装置50の経路51の高さや対象物Wにおけるねじ穴Hの位置を示す情報を予め記憶する。制御装置40は、最終目標位置Stに基づいて、微小時間ΔT毎の目標位置Stcを算出する。
例えば図6に示すように、位置検出部41aは、対象物Wの作業点であるねじ穴Hの、時刻Tにおける位置H0を検出する。ねじ穴Hは、時刻T+ΔT,T+2ΔT,T+3ΔTにおいて、位置H1,H2,H3に順次移動する。このとき、制御装置40は、時刻TにおけるTCPの位置P0を検出する。以下、説明を簡単にするために、TCPの最終目標位置Stのx−y座標がねじ穴Hに一致する例について説明する。目標位置算出部41dは、時刻Tから、TCPがねじ穴Hに到達する時刻Tfまでの期間を微小時間ΔT毎に分割し、各時刻における目標位置Stcを算出する。目標位置算出部41dは、時刻T+ΔT,T+2ΔT,T+3ΔT,……,Tf−ΔT、Tfにおける各目標位置Stcとして、位置P1,P2,P3,……,Pf-1,Pfを算出する。
トラッキング補正量算出部41eは、搬送装置50の搬送量センサーの出力に基づいて、時刻Tから現在までの対象物Wの搬送量を算出する。トラッキング補正量算出部41eは、対象物Wの搬送量に基づいて、現在から微小時間ΔTの間に移動すると推定される対象物Wの移動量Lを、トラッキング補正量Stmとして各時刻において算出する。例えば、現在の時刻が時刻T+2ΔTであれば、トラッキング補正量算出部41eは、時刻T+3ΔTにおける対象物Wの移動量Lをトラッキング補正量Stmとして取得する。トラッキング補正量算出部41eは、時刻Tから時刻T+2ΔTまでの対象物Wの移動量L1+L2から、次の微小時間ΔTにおける移動量L3を推定し、移動量L1+L2に移動量L3を加えることにより移動量Lを算出する。
指令統合部43は、各時刻において、トラッキング補正量Stmにより補正された目標位置Stcを、力制御補正量ΔSで更に補正することにより、指令位置Sttを算出する。指令統合部43は、指令位置Sttに基づく操作量DcをモーターM1〜M8に出力することにより、移動部12及びマニピュレーター10を駆動する。但し、指令統合部43は、制御装置40に目標力fStが設定されていない場合、位置制御モードでロボット1を駆動する。
上述のように、最終目標位置算出部41cは、最終位置算出部41bにより算出された最終位置と、目標位置オフセットStoとから、第1最終目標位置及び第2最終目標位置からなる最終目標位置Stを算出する。以下、図7及び図8を参照して、最終目標位置算出部41cが目標位置オフセットStoを算出する方法について説明する。
図7に示すように、対象物Wが搬送範囲Aを搬送され、ロボット1、即ちベース11が位置c0から位置c1までの距離Laを移動する間において、対象物Wに対する作業が完了したとする。範囲F0,F1は、それぞれロボット1が位置c0,c1に配置されるときのベース11を基準とするエンドエフェクター20の可動範囲を示す。エンドエフェクター20の可動範囲は、上述の第1範囲及び第2範囲に対応し得る。制御装置40は、コマンドによる初期設定において、目標位置オフセットStoを用いず第1指令位置を算出する。ロボット1は、作業開始時において、第1指令位置によって位置c0に位置する。ロボット1は、位置c0において、範囲F0内の対象物Wに対して作業を開始し、位置c1において、範囲F1内の対象物Wに対して作業を完了する。制御装置40は、作業中の各時刻における第1指令位置及び第2指令位置により移動したエンドエフェクター20の各位置を、第1変換部U1を介して取得して記憶する。作業中に移動したエンドエフェクター20の各位置は、搬送範囲Aに対応する。
図8に示すように、最終目標位置算出部41cは、前回に同一の作業が行われたときの第1指令位置及び第2指令位置と、エンドエフェクター20の可動範囲に基づいて、ベース11が移動する距離の最小値である距離Lbを算出する。即ち、最終目標位置算出部41cは、搬送範囲Aと、ベース11の位置を基準とするエンドエフェクター20の可動範囲とに基づいて、作業中にベース11が移動する距離が最も短くなるような移動部12の経路を算出する。ロボット1は、位置c2において、範囲F2内の対象物Wに対して作業を開始し、位置c3において、範囲F3内の対象物Wに対して作業を完了する。算出された経路を移動部12が移動する間、対象物Wは、常にエンドエフェクター20の可動範囲内に位置する。図8に示す例において、距離Lbは、作業開始時におけるロボット1の位置c2から作業完了時におけるロボット1の位置c3までの距離である。位置c2は、位置c0と比べて対象物Wの進行方向に位置する。対象物Wが搬送範囲Aに進入する作業開始時において、ロボット1は位置c2に位置する。
最終目標位置算出部41cは、初期設定において算出された第1指令位置に対応する位置c0と、距離Lbの起点に対応する位置c2との差を、目標位置オフセットStoとして算出する。最終目標位置算出部41cは、最終位置算出部41bにより算出された最終位置と、前回算出した目標位置オフセットStoとから、第1最終目標位置及び第2最終目標位置を算出する。即ち、最終目標位置算出部41cは、目標位置オフセットStoで補正された第1最終目標位置と、最終位置算出部41bにより算出された最終位置を、第1最終目標位置と共に実現する第2最終目標位置とを算出する。このように、最終目標位置算出部41cは、ベース11の位置を基準とするエンドエフェクター20の可動範囲に基づいて、次の作業開始時におけるベース11の初期位置を、移動部12の移動量が削減されるように決定する。
なお、本実施形態において移動部12は、2つの動輪121を備えるAGVである。このため、一方向に駆動されるためには、移動部12は、一方向に応じた配向に調整されている必要がある。このように、移動部12が移動に対して制限を有する場合、最終目標位置算出部41cは、移動の制限を考慮して目標位置オフセットStoを算出すればよい。
以下、図9のフローチャートを参照して、本実施形態に係るロボット1の制御方法の一例として、制御装置40の動作を説明する。
先ず、ステップS101において、位置検出部41aは、位置センサー30から入力される画像における対象物Wの位置から、ワールド座標系における対象物Wの位置を検出する。
ステップS102において、最終位置算出部41bは、ステップS101で検出された対象物Wの位置と、教示装置45を用いて作成されたコマンドCとから、ワールド座標系における作業完了時のTCPの最終位置を算出する。
ステップS103において、最終目標位置算出部41cは、ステップS102で算出された目標位置から、移動部12の位置を示す第1最終目標位置及びマニピュレーター10の位置を示す第2最終目標位置からなる最終目標位置Stを算出する。既に同一の作業における目標位置オフセットStoが算出されている場合、最終目標位置算出部41cは、目標位置及び目標位置オフセットStoから最終目標位置Stを算出する。
ステップS104において、目標位置算出部41dは、ステップS103で算出された第1最終目標位置及び第2最終目標位置から、移動部12の第1目標位置及びマニピュレーター10の第2目標位置からなる目標位置Stcを算出する。即ち、目標位置算出部41dは、移動部12が第1最終目標位置に到達するまでの微小時間毎の第1目標位置と、マニピュレーター10が第2最終目標位置に到達するまでの微小時間毎の第2目標位置とを、各時刻において算出する。
ステップS105において、トラッキング補正量算出部41eは、搬送装置50の搬送量センサーを用いて取得される対象物Wの搬送量からトラッキング補正量Stmを算出する。ここで、既に同一の作業におけるトラッキングオフセットΔSrがトラッキングオフセット算出部42dにより算出されている場合、トラッキング補正量算出部41eは、対象物Wの搬送量と、トラッキングオフセットΔSrとから、トラッキング補正量Stmを算出する。即ち、トラッキング補正量算出部41eは、トラッキングオフセットΔSrにより補正されたトラッキング補正量Stmを算出する。
ステップS106において、トラッキング補正量加算部43aは、ステップS105で算出されたトラッキング補正量Stmから、移動部12に適用される第1トラッキング補正量と、マニピュレーター10に適用される第2トラッキング補正量とを算出する。
ステップS107において、力検出部42bは、力センサーPの出力に基づいて、対象物Wからエンドエフェクター20に作用する作用力fSを検出する。詳細には、力検出部42bは、第2変換部U2を介して力センサーPから取得される力fSpに対して、重力に起因する成分を除去する重力補償を施すことにより作用力fSを算出する。
ステップS108において、力制御補正量算出部42cは、ステップS107で検出された作用力fSと、目標力算出部42aにより算出された目標力fStとから、作用力fSを目標力fStにするように目標位置Stcを補正する力制御補正量ΔSを算出する。
ステップS109において、力制御補正量加算部43bは、ステップS108で算出された力制御補正量ΔSから、移動部12に適用される第1力制御補正量と、マニピュレーター10に適用される第2力制御補正量とを算出する。
ステップS110において、力制御補正量加算部43bは、ステップS104で算出された第1目標位置と、ステップS106で算出された第1トラッキング補正量と、ステップS109で算出された第1力制御補正量とから、第1指令位置を算出する。
ステップS111において、力制御補正量加算部43bは、ステップS104で算出された第2目標位置と、ステップS106で算出された第2トラッキング補正量と、ステップS109で算出された第2力制御補正量とから、第2指令位置を算出する。
ステップS112において、フィードバック制御部43cは、ステップS110で算出された第1指令位置と、ステップS111で算出された第2指令位置とに基づいて、移動部12及びマニピュレーター10を駆動する。
ステップS113において、制御装置40は、対象物Wに対する作業が完了したか否かを判定する。例えば、制御装置40は、位置制御部41において検出される移動部12及びマニピュレーター10の位置から算出されるTCPの現在位置が、最終目標位置Stに対応するか否かにより、作業が完了したか否かを判定する。制御装置40は、作業が完了したと判定する場合、ステップS114に処理を進め、未だ作業が完了しないと判定する場合、ステップS104に処理を戻す。
ステップS114において、トラッキングオフセット算出部42dは、各ステップS108で算出された力制御補正量ΔSから、力制御補正量ΔSの統計値であるトラッキングオフセットΔSrを算出する。
ステップS115において、最終目標位置算出部41cは、ステップS110で算出された第1指令位置と、ステップS111で算出された第2指令位置とに基づいて、目標位置オフセットStoを算出する。詳細には、最終目標位置算出部41cは、作業中における各時刻において取得された第1指令位置及び第2指令位置と、予め記憶するエンドエフェクター20の可動範囲とに基づいて、目標位置オフセットStoを算出する。最終目標位置算出部41cは、第1指令位置を補正する目標位置オフセットStoを算出することにより、作業開始時におけるベース11の初期位置を決定する。
次に、図10のフローチャートを参照して、図9のフローチャートにおけるステップS106の処理について詳細に説明する。
先ず、ステップS21において、トラッキング補正量加算部43aは、移動部12に適用される第1トラッキング補正量を生じさせる条件設定がされているか否かを判定する。条件設定は、例えば、教示装置45の入力装置に対する利用者の操作に応じて予め決定される。トラッキング補正量加算部43aは、条件設定がされている場合、ステップS22に処理を進め、条件設定がされていない場合、ステップS24に処理を進める。
ステップS22において、トラッキング補正量加算部43aは、ステップS105で算出されたトラッキング補正量Stmを、第1トラッキング補正量とする。ステップS23において、トラッキング補正量加算部43aは、第2トラッキング補正量を0とし、ステップS106の処理を終了する。
ステップS24において、トラッキング補正量加算部43aは、ステップS104で算出された目標位置Stcが、ベース11を基準とする第1範囲から外れるか否かを判定する。トラッキング補正量加算部43aは、目標位置Stcが第1範囲から外れる場合、ステップS22に処理を進め、目標位置Stcが第1範囲から外れない場合、ステップS25に処理を進める。
ステップS25において、トラッキング補正量加算部43aは、ステップS105で算出されたトラッキング補正量Stmが、第1閾値以上であるか否かを判定する。トラッキング補正量加算部43aは、トラッキング補正量Stmが第1閾値以上である場合、ステップS22に処理を進め、トラッキング補正量Stmが第1閾値以上でない場合、ステップS26に処理を進める。
ステップS26において、トラッキング補正量加算部43aは、ステップS105で算出されたトラッキング補正量Stmを、第2トラッキング補正量とする。ステップS27において、トラッキング補正量加算部43aは、第1トラッキング補正量を0とし、ステップS106の処理を終了する。
以上のように、トラッキング補正量加算部43aは、目標位置Stcが、ベース11を基準とする第1範囲から外れる場合、又は、トラッキング補正量Stmが第1閾値以上となる場合において、第1トラッキング補正量をトラッキング補正量Stmとする。これにより、制御装置40は、目標位置Stcがエンドエフェクター20の可動範囲から外れる可能性がある場合において選択的に、トラッキング補正量Stmに基づいて移動部12を駆動することができる。これにより、作業中における移動部12の移動量を効率的に削減することができる。
なお、ステップS24及びステップS25における判定による条件は、互いに組み合わされてもよい。即ち、トラッキング補正量加算部43aは、目標位置Stcが、ベース11を基準とする第1範囲から外れ、且つ、トラッキング補正量Stmが第1閾値以上となる場合において選択的に、トラッキング補正量Stmを第1トラッキング補正量とするようにしてもよい。これにより、作業中における移動部12の移動量を更に削減することができる。
次に、図11のフローチャートを参照して、図9のフローチャートにおけるステップS109の処理について詳細に説明する。
先ず、ステップS31において、力制御補正量加算部43bは、移動部12に適用される第1力制御補正量を生じさせる条件設定がされているか否かを判定する。条件設定は、例えば、教示装置45の入力装置に対する利用者の操作に応じて予め決定される。力制御補正量加算部43bは、条件設定がされている場合、ステップS32に処理を進め、条件設定がされていない場合、ステップS36に処理を進める。
ステップS32において、力制御補正量加算部43bは、ステップS104で算出された目標位置Stcが、ベース11を基準とする第2範囲から外れるか否かを判定する。力制御補正量加算部43bは、目標位置Stcが第2範囲から外れる場合、ステップS33に処理を進め、目標位置Stcが第2範囲から外れない場合、ステップS35に処理を進める。
ステップS33において、力制御補正量加算部43bは、力制御補正量ΔSの経路方向52の成分を第1力制御補正量とする。ステップS34において、力制御補正量加算部43bは、力制御補正量ΔSの経路方向52の成分以外を第2力制御補正量とし、ステップS109における処理を終了する。
ステップS35において、力制御補正量加算部43bは、力制御補正量ΔSの経路方向52の成分が第2閾値以上であるか否かを判定する。力制御補正量加算部43bは、力制御補正量ΔSの経路方向52の成分が第2閾値以上である場合、ステップS33に処理を進め、力制御補正量ΔSの経路方向52の成分が第2閾値以上でない場合、ステップS36に処理を進める。
ステップS36において、力制御補正量加算部43bは、力制御補正量ΔSを第2力制御補正量とする。ステップS37において、力制御補正量加算部43bは、第1力制御補正量を0とし、ステップS109における処理を終了する。
以上のように、力制御補正量加算部43bは、目標位置Stcが、ベース11を基準とする第2範囲から外れる場合、又は、力制御補正量ΔSの経路方向52の成分が第2閾値以上となる場合において選択的に、力制御補正量ΔSの経路方向52の成分に基づいて移動部12を駆動する。これにより、作業中における移動部12の移動量を効率的に削減することができる。更に、一般的な傾向として、マニピュレーター10は、移動部12に比べて速い応答性を有し、路面等の影響により安定性が悪化する可能性がある。このため、力制御補正量ΔSに基づく移動部12の駆動を最低限に抑えることにより、力制御の精度の悪化を低減することができる。
なお、ステップS32及びステップS35における判定による条件は、互いに組み合わされてもよい。即ち、力制御補正量加算部43bは、目標位置Stcが、ベース11を基準とする第2範囲から外れ、且つ、力制御補正量ΔSの経路方向52の成分が第2閾値以上となる場合において選択的に、力制御補正量ΔSの経路方向52の成分に基づいて移動部12を駆動するようにしてもよい。これにより、作業中における移動部12の移動量を更に削減することができる。
[変形例]
上述の実施形態では、トラッキング補正量Stmは、搬送装置50による対象物Wの搬送量に基づいて算出されたが、移動部12の移動量で更に補正されてもよい。即ち、本実施形態の変形例において、制御装置40は、移動部12を経路51に沿って駆動させながら、目標位置Stcと、移動部12の移動量で補正されたトラッキング補正量Stmとに基づいてマニピュレーター10を駆動することにより、エンドエフェクター20を対象物Wに追従させ得る。このように、移動部12が経路方向52に移動しながら、エンドエフェクター20が対象物Wに追従することにより、対象物Wに対する作業が完了する前に対象物Wがエンドエフェクター20の可動範囲から外れてしまう可能性を低減することができる。以下において説明しない作用、構成及び効果は、上述の実施形態と同様であるため、重複する説明を省略する。
トラッキング補正量算出部41eは、図9のフローチャートのステップS105に相当する処理として、対象物Wの搬送量と、移動部12の移動量とから、トラッキング補正量Stmを算出する。本実施形態の変形例におけるトラッキング補正量Stmは、上述の実施形態におけるトラッキング補正量Stmを移動部12の移動量で補正した量に相当する。トラッキング補正量算出部41eは、移動部12の移動量をエンコーダーE1〜E8の出力に基づいて算出してもよく、予め作成されたコマンドに基づいて取得してもよい。トラッキングオフセットΔSrが算出されている場合、トラッキング補正量算出部41eは、対象物Wの搬送量と、移動部12の移動量と、トラッキングオフセットΔSrとから、トラッキング補正量Stmを算出する。トラッキング補正量Stmは、ベース座標系における対象物Wの移動量に相当する。
トラッキング補正量加算部43aは、図9のフローチャートのステップS106に相当する処理として、トラッキング補正量算出部41eにより算出されたトラッキング補正量Stmから、第1トラッキング補正量及び第2トラッキング補正量を決定する。
以下、図12のフローチャートを参照して、トラッキング補正量加算部43aが第1トラッキング補正量及び第2トラッキング補正量を決定する方法について詳細に説明する。
先ず、ステップS41において、トラッキング補正量加算部43aは、移動部12に適用される第1トラッキング補正量を生じさせる条件設定がされているか否かを判定する。トラッキング補正量加算部43aは、条件設定がされている場合、ステップS42に処理を進め、条件設定がされていない場合、ステップS46に処理を進める。
ステップS42において、トラッキング補正量加算部43aは、目標位置算出部41dにより算出された目標位置Stcが、ベース11を基準とする第1範囲から外れるか否かを判定する。トラッキング補正量加算部43aは、目標位置Stcが第1範囲から外れる場合、ステップS43に処理を進め、目標位置Stcが第1範囲から外れない場合、ステップS45に処理を進める。
ステップS43において、トラッキング補正量加算部43aは、トラッキング補正量算出部41eにより算出されたトラッキング補正量Stmを、第1トラッキング補正量とする。ステップS44において、トラッキング補正量加算部43aは、第2トラッキング補正量を0とし、ステップS106に相当する処理を終了する。
ステップS45において、トラッキング補正量加算部43aは、トラッキング補正量算出部41eにより算出されたトラッキング補正量Stmが、第1閾値以上であるか否かを判定する。トラッキング補正量加算部43aは、トラッキング補正量Stmが第1閾値以上である場合、ステップS43に処理を進め、トラッキング補正量Stmが第1閾値以上でない場合、ステップS46に処理を進める。
ステップS46において、トラッキング補正量加算部43aは、トラッキング補正量算出部41eにより算出されたトラッキング補正量Stmを、第2トラッキング補正量とする。ステップS47において、トラッキング補正量加算部43aは、第1トラッキング補正量を0とし、ステップS106に相当する処理を終了する。
以上のように、トラッキング補正量加算部43aは、目標位置Stcが、ベース11を基準とする第1範囲から外れる場合、又は、トラッキング補正量Stmが第1閾値以上となる場合において、第1トラッキング補正量をトラッキング補正量Stmとする。これにより、制御装置40は、移動部12を経路51に沿って移動させながら、目標位置Stcがエンドエフェクター20の可動範囲から外れる可能性がある場合において選択的に、トラッキング補正量Stmに基づいて移動部12を駆動することができる。このように、作業中において、トラッキング補正量Stmに基づく移動部12の移動量を削減することができる。
なお、ステップS42及びステップS45における判定による条件は、互いに組み合わされてもよい。即ち、トラッキング補正量加算部43aは、目標位置Stcが、ベース11を基準とする第1範囲から外れ、且つ、トラッキング補正量Stmが第1閾値以上となる場合において選択的に、トラッキング補正量Stmを第1トラッキング補正量とするようにしてもよい。これにより、作業中におけるトラッキング補正量Stmに基づく移動部12の移動量を更に削減することができる。
[他の実施形態]
例えば、ロボット1は、6軸アームである1つのマニピュレーター10を備えるロボットに限らない。ロボット1が備えるマニピュレーター及びエンドエフェクターの数、マニピュレーターの自由度等は、任意に変更され得る。例えば、ロボット1は、直交ロボット、水平多関節ロボット、垂直多関節ロボット、双腕ロボット等であり得る。同様に、移動部12は、経路51に沿って移動可能な装置であればよい。移動部12は、脚式ロボット、4輪独立駆動車、ステアリング式の車、直交ロボット等であり得る。その他、制御装置40は、移動部12のエンコーダーE7,E8から移動部12の移動量を取得する構成に限らない。移動部12の移動量は、慣性計測装置(IMU)、測位システム、レーザーレンジセンサー、カメラ等種々のセンサーを用いて取得され得る。例えば、力センサーPとしては力覚センサーに限らず、各軸のトルクセンサーを用いて、エンドエフェクター20に作用する力を推定してもよい。例えば、搬送量センサーを用いることなく、時刻Tから現在までの対象物Wの搬送量を位置センサー30から算出してもよい。
以下に、上述した実施形態から導き出される内容を、各態様として記載する。
第1態様は、搬送装置により所定の経路に沿って搬送される対象物に対して、エンドエフェクターを用いて作業を行うロボットであって、前記エンドエフェクターを支持するマニピュレーターと、前記マニピュレーターを支持するベースと、前記ベースを移動させる移動部とを備えるロボットを、制御装置により制御するロボットの制御方法において、位置センサーを用いて前記対象物の位置を取得することと、前記対象物の位置に基づいて前記エンドエフェクターの目標位置を算出することと、前記搬送装置による前記対象物の搬送量を取得することと、前記搬送量に対応するように前記目標位置を補正するトラッキング補正量を算出することと、前記目標位置に基づいて前記マニピュレーターを駆動し、前記トラッキング補正量に基づいて前記移動部を駆動することにより、前記エンドエフェクターを前記対象物に追従させることと、力センサーを用いて前記対象物から前記エンドエフェクターに作用する作用力を取得することと、前記作用力を所定の目標力にするように前記目標位置を補正する力制御補正量を算出することと、前記力制御補正量に基づいて前記マニピュレーターを駆動することにより、前記対象物からの前記作用力を予め決定された目標力に制御することと、を含むロボットの制御方法である。
第1態様によれば、トラッキング補正量に基づいて移動部を駆動することにより、ベースは、経路に沿って移動される。よって、対象物に対する作業が完了する前に対象物がエンドエフェクターの可動範囲から外れてしまう可能性を低減することができる。
第2態様は、第1態様において、前記目標位置が前記ベースの位置を基準とする第1範囲から外れる場合において、前記トラッキング補正量に基づいて前記移動部を駆動することである。
第2態様によれば、選択的にトラッキング補正量に基づいて移動部を駆動することにより、移動部の移動量を削減することができる。
第3態様は、第1又は第2態様において、前記トラッキング補正量が第1閾値以上となる場合において、前記トラッキング補正量に基づいて前記移動部を駆動することである。
第3態様によれば、選択的にトラッキング補正量に基づいて移動部を駆動することにより、移動部の移動量を削減することができる。
第4態様は、搬送装置により所定の経路に沿って搬送される対象物に対して、エンドエフェクターを用いて作業を行うロボットであって、前記エンドエフェクターを支持するマニピュレーターと、前記マニピュレーターを支持するベースと、前記ベースを移動させる移動部とを備えるロボットを、制御装置により制御するロボットの制御方法において、位置センサーを用いて前記対象物の位置を取得することと、前記対象物の位置に基づいて前記エンドエフェクターの目標位置を算出することと、前記搬送装置による前記対象物の搬送量を取得することと、前記搬送量に対応するように前記目標位置を補正するトラッキング補正量を算出することと、前記移動部を前記経路に沿って駆動させながら、前記目標位置、前記トラッキング補正量及び前記移動部の移動量に基づいて前記マニピュレーターを駆動することにより、前記エンドエフェクターを前記対象物に追従させることと、力センサーを用いて前記対象物から前記エンドエフェクターに作用する作用力を取得することと、前記作用力を所定の目標力にするように前記目標位置を補正する力制御補正量を算出することと、前記力制御補正量に基づいて前記マニピュレーターを駆動することにより、前記対象物からの前記作用力を予め決定された目標力に制御することと、を含むロボットの制御方法である。
第4態様によれば、経路に沿って移動部が駆動されることにより、ベースが経路に沿って移動する。よって、対象物に対する作業が完了する前に対象物がエンドエフェクターの可動範囲から外れてしまう可能性を低減することができる。
第5態様は、第1乃至第4態様の何れかにおいて、前記力制御補正量が、前記目標位置を前記経路に沿う経路方向に補正する場合において、前記力制御補正量の前記経路方向の成分に基づいて前記移動部を駆動し、前記力制御補正量の前記経路方向の成分以外に基づいて前記マニピュレーターを駆動することである。
第5態様によれば、力制御補正量の経路方向の成分に基づいて移動部を駆動するため、対象物に対する作業が完了する前に対象物がエンドエフェクターの可動範囲から外れてしまう可能性を低減することができる。
第6態様は、第5態様において、前記目標位置が前記ベースの位置を基準とする第2範囲から外れる場合において、前記力制御補正量の前記経路方向の成分に基づいて前記移動部を駆動することである。
第6態様によれば、選択的に力制御補正量に基づいて移動部を駆動することにより、移動部の移動量を削減することができる。また、力制御補正量に基づく移動部の駆動を最低限に抑えることにより、力制御の精度の悪化を低減することができる。
第7態様は、第5又は第6態様において、前記力制御補正量の前記経路方向の成分が第2閾値以上となる場合において、前記力制御補正量の前記経路方向の成分に基づいて前記移動部を駆動することである。
第7態様によれば、選択的に力制御補正量に基づいて移動部を駆動することにより、移動部の移動量を削減することができる。また、力制御補正量に基づく移動部の駆動を最低限に抑えることにより、力制御の精度の悪化を低減することができる。
第8態様は、第1乃至第7態様の何れかにおいて、前記ベースの位置を基準とする前記エンドエフェクターの可動範囲に基づいて、前記作業の開始時における前記ベースの初期位置を、前記移動部の移動量が削減されるように決定することである。
第8態様によれば、移動部の駆動を抑えることにより、力制御の精度の悪化を低減することができる。
1…ロボット、10…マニピュレーター、11…ベース、12…移動部、20…エンドエフェクター、30…位置センサー、40…制御装置、40a…プロセッサー、40b…メモリー、41…位置制御部、41a…位置検出部、41b…最終位置算出部、41c…最終目標位置算出部、41d…目標位置算出部、41e…トラッキング補正量算出部、42…力制御部、42a…目標力算出部、42b…力検出部、42c…力制御補正量算出部、42d…トラッキングオフセット算出部、43…指令統合部、43a…トラッキング補正量加算部、43b…力制御補正量加算部、43c…フィードバック制御部、45…教示装置、45a…画面、50…搬送装置、50a…搬送ローラー、51…経路、52…経路方向、100…ロボットシステム、121,121a,121b…動輪、122…従輪、400,410…PC、400a,410a,500a…プロセッサー、400b,410b,500b…メモリー、450…ネットワーク、500…クラウド、B1,B2…ボタン、c0〜c3…位置、E1〜E8…エンコーダー、F0〜F3…範囲、G1,G2…グラフ、H1…スライダー、J1〜J6…関節、M1〜M8…モーター、N1〜N3…入力窓、Q1,Q2…表示窓、U1…第1変換部、U2…第2変換部。

Claims (8)

  1. 搬送装置により所定の経路に沿って搬送される対象物に対して、エンドエフェクターを用いて作業を行うロボットであって、前記エンドエフェクターを支持するマニピュレーターと、前記マニピュレーターを支持するベースと、前記ベースを移動させる移動部とを備えるロボットを、制御装置により制御するロボットの制御方法において、
    位置センサーを用いて前記対象物の位置を取得することと、
    前記対象物の位置に基づいて前記エンドエフェクターの目標位置を算出することと、
    前記搬送装置による前記対象物の搬送量を取得することと、
    前記搬送量に対応するように前記目標位置を補正するトラッキング補正量を算出することと、
    前記目標位置に基づいて前記マニピュレーターを駆動し、前記トラッキング補正量に基づいて前記移動部を駆動することにより、前記エンドエフェクターを前記対象物に追従させることと、
    力センサーを用いて前記対象物から前記エンドエフェクターに作用する作用力を取得することと、
    前記作用力を所定の目標力にするように前記目標位置を補正する力制御補正量を算出することと、
    前記力制御補正量に基づいて前記マニピュレーターを駆動することにより、前記対象物からの前記作用力を予め決定された目標力に制御することと、
    を含むロボットの制御方法。
  2. 前記目標位置が前記ベースの位置を基準とする第1範囲から外れる場合において、前記トラッキング補正量に基づいて前記移動部を駆動する請求項1に記載のロボットの制御方法。
  3. 前記トラッキング補正量が第1閾値以上となる場合において、前記トラッキング補正量に基づいて前記移動部を駆動する請求項1又は2に記載のロボットの制御方法。
  4. 搬送装置により所定の経路に沿って搬送される対象物に対して、エンドエフェクターを用いて作業を行うロボットであって、前記エンドエフェクターを支持するマニピュレーターと、前記マニピュレーターを支持するベースと、前記ベースを移動させる移動部とを備えるロボットを、制御装置により制御するロボットの制御方法において、
    位置センサーを用いて前記対象物の位置を取得することと、
    前記対象物の位置に基づいて前記エンドエフェクターの目標位置を算出することと、
    前記搬送装置による前記対象物の搬送量を取得することと、
    前記搬送量に対応するように前記目標位置を補正するトラッキング補正量を算出することと、
    前記移動部を前記経路に沿って駆動させながら、前記目標位置、前記トラッキング補正量及び前記移動部の移動量に基づいて前記マニピュレーターを駆動することにより、前記エンドエフェクターを前記対象物に追従させることと、
    力センサーを用いて前記対象物から前記エンドエフェクターに作用する作用力を取得することと、
    前記作用力を所定の目標力にするように前記目標位置を補正する力制御補正量を算出することと、
    前記力制御補正量に基づいて前記マニピュレーターを駆動することにより、前記対象物からの前記作用力を予め決定された目標力に制御することと、
    を含むロボットの制御方法。
  5. 前記力制御補正量が、前記目標位置を前記経路に沿う経路方向に補正する場合において、前記力制御補正量の前記経路方向の成分に基づいて前記移動部を駆動し、前記力制御補正量の前記経路方向の成分以外に基づいて前記マニピュレーターを駆動する請求項1乃至4のいずれか1項に記載のロボットの制御方法。
  6. 前記目標位置が前記ベースの位置を基準とする第2範囲から外れる場合において、前記力制御補正量の前記経路方向の成分に基づいて前記移動部を駆動する請求項5に記載のロボットの制御方法。
  7. 前記力制御補正量の前記経路方向の成分が第2閾値以上となる場合において、前記力制御補正量の前記経路方向の成分に基づいて前記移動部を駆動する請求項5又は6に記載のロボットの制御方法。
  8. 前記ベースの位置を基準とする前記エンドエフェクターの可動範囲に基づいて、前記作業の開始時における前記ベースの初期位置を、前記移動部の移動量が削減されるように決定する請求項1乃至7のいずれか1項に記載のロボットの制御方法。
JP2019097490A 2019-05-24 2019-05-24 ロボットの制御方法 Active JP7363098B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019097490A JP7363098B2 (ja) 2019-05-24 2019-05-24 ロボットの制御方法
US16/881,118 US11465288B2 (en) 2019-05-24 2020-05-22 Method of controlling robot
CN202010442396.0A CN111975746B (zh) 2019-05-24 2020-05-22 机器人的控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019097490A JP7363098B2 (ja) 2019-05-24 2019-05-24 ロボットの制御方法

Publications (2)

Publication Number Publication Date
JP2020189392A true JP2020189392A (ja) 2020-11-26
JP7363098B2 JP7363098B2 (ja) 2023-10-18

Family

ID=73441885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019097490A Active JP7363098B2 (ja) 2019-05-24 2019-05-24 ロボットの制御方法

Country Status (3)

Country Link
US (1) US11465288B2 (ja)
JP (1) JP7363098B2 (ja)
CN (1) CN111975746B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7295344B1 (ja) * 2022-07-06 2023-06-20 ファナック株式会社 ロボットシステム及びロボット制御装置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11795012B1 (en) * 2020-11-06 2023-10-24 Aaron Thomas Bacon Multi-gripper system
US11999059B2 (en) 2020-12-18 2024-06-04 Boston Dynamics, Inc. Limiting arm forces and torques
WO2022140614A1 (en) * 2020-12-22 2022-06-30 Vicarious Surgical Inc. System and method for implementing a multi-turn rotary concept in an actuator mechanism of a surgical robotic arm
US11931898B2 (en) * 2020-12-22 2024-03-19 Boston Dynamics, Inc. Arm and body coordination
CN113246115B (zh) * 2021-06-28 2021-09-21 佛山冠博机械科技发展有限公司 一种基于机器视觉技术的工业机械手及其控制方法
CN113601501B (zh) * 2021-07-19 2022-10-28 中国科学院自动化研究所 机器人柔性作业方法、装置及机器人
CN114789444B (zh) * 2022-05-05 2022-12-16 山东省人工智能研究院 一种基于深度强化学习和阻抗控制的柔顺人机接触方法
WO2024018093A1 (es) * 2022-07-20 2024-01-25 Asociacion Centro Tecnologico Ceit Procedimiento y dispositivo de monitorización de tarea de una herramienta de un brazo robótico
GB2625725A (en) * 2022-12-21 2024-07-03 Univ Sheffield Mobile robot
CN115990883B (zh) * 2023-01-12 2024-04-26 之江实验室 一种机器人的控制方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62241684A (ja) * 1986-04-14 1987-10-22 日産自動車株式会社 追従型ロボツトの制御方法
JPS6338973U (ja) * 1986-08-28 1988-03-12
US20060292308A1 (en) * 2003-11-06 2006-12-28 Clifford Scott J Compact robotic painting booth
JP2011140077A (ja) * 2010-01-06 2011-07-21 Honda Motor Co Ltd 加工システム及び加工方法
JP2011167831A (ja) * 2010-02-22 2011-09-01 Honda Motor Co Ltd 加工システム及び加工方法
JP2012166308A (ja) * 2011-02-15 2012-09-06 Omron Corp 画像処理装置および画像処理システム
JP2018083284A (ja) * 2016-11-11 2018-05-31 セイコーエプソン株式会社 ロボット制御装置、ロボット、ロボットシステム、及び、ロボット制御方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07266269A (ja) * 1994-03-25 1995-10-17 Hitachi Metals Ltd ロボットの力制御による加工方法
JP2002192486A (ja) * 2000-12-25 2002-07-10 Seiko Epson Corp ロボット制御方法及び該方法を適用したロボットコントローラ
DE102006026134A1 (de) * 2006-06-03 2007-06-21 Daimlerchrysler Ag Bearbeitungssystem zum Bearbeiten eines bewegten Werkstücks
ES2647269T3 (es) * 2008-08-25 2017-12-20 Abb As Método y sistema de control para la sincronización de un robot y un transportador
JP5446887B2 (ja) * 2010-01-06 2014-03-19 セイコーエプソン株式会社 制御装置、ロボット、ロボットシステム及びロボットの追従方法
CN105792996B (zh) * 2013-11-28 2017-07-25 三菱电机株式会社 机器人系统以及机器人系统的控制方法
JP6264967B2 (ja) 2014-03-14 2018-01-24 オムロン株式会社 ロボット制御装置
JP6458052B2 (ja) * 2014-12-26 2019-01-23 川崎重工業株式会社 自走式関節ロボット
EP3238882B1 (en) 2014-12-26 2022-02-02 Kawasaki Jukogyo Kabushiki Kaisha Production system
JP6582483B2 (ja) * 2015-03-26 2019-10-02 セイコーエプソン株式会社 ロボット制御装置およびロボットシステム
DE102016002812A1 (de) * 2016-03-08 2017-09-14 Sami Haddadin Robotersystem, Verfahren zur Steuerung eines Robotersystems und Fließbearbeitungsvorrichtung
CN107618030B (zh) * 2016-07-16 2021-02-19 深圳市得意自动化科技有限公司 基于视觉的机器人动态跟踪抓取方法及系统
JP2018176295A (ja) * 2017-04-03 2018-11-15 川崎重工業株式会社 ロボット及びその動作方法
JP6646026B2 (ja) * 2017-10-16 2020-02-14 ファナック株式会社 作業システム、物品に対する作業実施方法、およびロボット
KR102706776B1 (ko) * 2019-02-22 2024-09-19 덱스테러티, 인크. 비강성 패키지에서 연성 제품의 로봇 취급

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62241684A (ja) * 1986-04-14 1987-10-22 日産自動車株式会社 追従型ロボツトの制御方法
JPS6338973U (ja) * 1986-08-28 1988-03-12
US20060292308A1 (en) * 2003-11-06 2006-12-28 Clifford Scott J Compact robotic painting booth
JP2011140077A (ja) * 2010-01-06 2011-07-21 Honda Motor Co Ltd 加工システム及び加工方法
JP2011167831A (ja) * 2010-02-22 2011-09-01 Honda Motor Co Ltd 加工システム及び加工方法
JP2012166308A (ja) * 2011-02-15 2012-09-06 Omron Corp 画像処理装置および画像処理システム
JP2018083284A (ja) * 2016-11-11 2018-05-31 セイコーエプソン株式会社 ロボット制御装置、ロボット、ロボットシステム、及び、ロボット制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7295344B1 (ja) * 2022-07-06 2023-06-20 ファナック株式会社 ロボットシステム及びロボット制御装置
WO2024009437A1 (ja) * 2022-07-06 2024-01-11 ファナック株式会社 ロボットシステム及びロボット制御装置

Also Published As

Publication number Publication date
US11465288B2 (en) 2022-10-11
US20200368911A1 (en) 2020-11-26
CN111975746B (zh) 2023-04-18
JP7363098B2 (ja) 2023-10-18
CN111975746A (zh) 2020-11-24

Similar Documents

Publication Publication Date Title
JP7363098B2 (ja) ロボットの制御方法
CN109922931B (zh) 机器人控制装置、机器人、机器人系统及机器人控制方法
US10864632B2 (en) Direct teaching method of robot
US10751874B2 (en) Method of teaching robot and robotic arm control device
US10456917B2 (en) Robot system including a plurality of robots, robot controller and robot control method
JP5528095B2 (ja) ロボットシステム、その制御装置及び方法
CN110997249B (zh) 作业机器人和作业机器人的控制方法
KR20110004788A (ko) 머니퓰레이터를 작동시키기 위한 방법 및 장치
US20210402596A1 (en) Control Method for Robot and Robot System
US11597083B2 (en) Robot apparatus, robot system, control method of robot apparatus, product manufacturing method using robot apparatus, and storage medium
CN111515928B (zh) 机械臂运动控制系统
JP2020116687A (ja) 追随ロボットおよび作業ロボットシステム
Metzner et al. High-precision assembly of electronic devices with lightweight robots through sensor-guided insertion
JP2016221653A (ja) ロボット制御装置およびロボットシステム
JP3580562B2 (ja) ロボット
US20170043481A1 (en) Robot controller inhibiting shaking of tool tip in robot equipped with travel axis
WO2018088199A1 (ja) ロボット制御装置、ロボット、ロボットシステム、及び、ロボット制御方法
JP6896824B2 (ja) ロボット装置、ロボットシステム、ロボット装置の制御方法、ロボット装置を用いた物品の製造方法、情報処理装置、情報処理方法、制御プログラム及び記録媒体
US11839978B2 (en) Method of adjusting force control parameter
US20220080587A1 (en) Method Of Adjusting Force Control Parameter, Robot System, And Force Control Parameter Adjustment Program
WO2022176456A1 (ja) バネ定数補正装置および該方法ならびに記録媒体
JP7391523B2 (ja) 制御装置、ロボットシステム、制御方法、物品の製造方法、プログラム、及び記録媒体
US20220134565A1 (en) Control Method For Robot
JP2021146431A (ja) ロボットの制御方法及びロボットシステム
CN115771140A (zh) 动作参数调整方法

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20200810

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: 20220411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230613

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230731

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: 20230905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230918

R150 Certificate of patent or registration of utility model

Ref document number: 7363098

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150