[go: up one dir, main page]

JP2019202381A - ロボット制御装置およびロボットシステム - Google Patents

ロボット制御装置およびロボットシステム Download PDF

Info

Publication number
JP2019202381A
JP2019202381A JP2018098507A JP2018098507A JP2019202381A JP 2019202381 A JP2019202381 A JP 2019202381A JP 2018098507 A JP2018098507 A JP 2018098507A JP 2018098507 A JP2018098507 A JP 2018098507A JP 2019202381 A JP2019202381 A JP 2019202381A
Authority
JP
Japan
Prior art keywords
force
robot
information
control
target
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
JP2018098507A
Other languages
English (en)
Other versions
JP7124440B2 (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 JP2018098507A priority Critical patent/JP7124440B2/ja
Priority to CN201910423162.9A priority patent/CN110524536B/zh
Priority to US16/419,185 priority patent/US10960553B2/en
Publication of JP2019202381A publication Critical patent/JP2019202381A/ja
Application granted granted Critical
Publication of JP7124440B2 publication Critical patent/JP7124440B2/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
    • 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/06Control stands, e.g. consoles, switchboards
    • 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
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

【課題】力制御をロボットに実行させることができるか否かを事前に判断する。【解決手段】このロボット制御装置は:力制御における目標力の大きさおよび向きと、力制御開始時の位置および姿勢と、を受け付ける受付部と;ロボットの構成に関する固有情報であって、関節の許容トルクの値を含む固有情報を記憶している記憶部と;目標力の大きさおよび向きと、力制御開始時の位置および姿勢と、固有情報と、に基づいて、力制御時の位置および姿勢において、目標力の大きさおよび向きで力制御を実行した場合に、ロボットが備える関節のそれぞれに生じるトルクの値を算出する算出部と;ロボットが備えるすべての関節について、関節に生じるトルクの値が許容トルクの値以下である場合、第1種の情報を出力し、関節に生じるトルクの値が許容トルクの値を超える関節がある場合、第1種の情報とは異なる第2種の情報を出力する出力制御部と、を備える。【選択図】図3

Description

本発明は、力制御を行うロボットの動作の設定に関する。
従来、特許文献1に記載されているように、ロボットを駆動するモーターの負荷をシミュレーションにより算出し、モーターの負荷の許容値を超えているか否かを評価する装置が存在する。
特開2007−54942号公報
しかし、上記の技術においては、ロボットに力制御を行わせることは想定されていない。このため、力制御のために生じる負荷を含めて、モーターにかかる負荷を評価することができない。その結果、上記の技術によっては、ある力制御をロボットに実行させることができるか否かを判断することができない。
また、上記の技術によっては、ロボットのモーターにかかる負荷を評価することができないため、ロボットの位置がある力制御を実行させることができるか否かをユーザーがあらかじめ知ることはできない。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
本発明の一形態によれば、外部から加えられる力の大きさを検出する力検出部を備えるロボットの動作を制御するロボット制御装置が提供される。このロボット制御装置は:前記力検出部の出力に基づいて行われる力制御における目標力の大きさと、前記目標力の向きと、前記力制御を開始するときの位置と、前記力制御の開始するときの姿勢と、を受け付ける受付部と;前記ロボットの構成に関する固有情報であって、前記ロボットが備える1以上の関節の許容トルクの値を含む固有情報を記憶している記憶部と;前記目標力の前記大きさおよび前記向きと、前記力制御を開始するときの前記位置および姿勢と、前記固有情報と、に基づいて、前記力制御を開始するときの前記位置および前記姿勢において、前記目標力の前記大きさおよび前記向きで力制御を実行した場合に、前記ロボットが備える前記関節のそれぞれに生じるトルクの値を算出する算出部と;前記ロボットが備えるすべての前記関節について、前記関節に生じるトルクの値が前記許容トルクの値以下である場合、第1種の情報を出力し、前記関節に生じるトルクの値が前記許容トルクの値を超える関節がある場合、前記第1種の情報とは異なる第2種の情報を出力する出力制御部と、を備える。
本実施形態に係るロボットシステム1の構成を示す図である。 ロボット20と、動作制御装置30と、教示装置50との機能構成を示す図である。 教示装置50において、負荷トルクの点から力制御の実現可否の判定を行う際の処理を示すフローチャートである。 図3のステップS120およびS140において、教示装置50の出力装置58に表示されるユーザーインターフェイスUI12を示す。 図3のステップS170において、出力装置58であるディスプレイに出力されるエラー表示EDである。 図3のステップS180において、出力装置58としてのディスプレイに表示されるユーザーインターフェイスUI18を示す図である。 教示装置50において、アームAの姿勢の特異点の点から力制御の実現可否の判定を行う際の処理を示すフローチャートである。 図7のステップS370における出力装置58の表示を示す図である。 教示装置50において、力制御の実現が可能な候補位置を決定する際の処理を示すフローチャートである。 図9のステップS550において、教示装置50の出力装置58に表示されるユーザーインターフェイスUI55を示す。 図9のステップS580において出力装置58に表示されるユーザーインターフェイスUI58aを示す図である。 候補点を2次元の点R0−0〜R7−6の56個の点と仮定した場合の凸包の例を示す説明図である。 各軸方向について取り得ると考えられる範囲を表すユーザーインターフェイスUI58bを示す図である。 複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。 複数のプロセッサーによってロボットの制御装置が構成される他の例を示す概念図である。 図9のステップS580におけるユーザーインターフェイスUI58bに代わるユーザーインターフェイスUI58cを示す図である。
A.第1実施形態:
A1.ロボットシステムの構成:
図1は、本実施形態に係るロボットシステム1の構成を示す図である。ロボットシステム1は、ロボット20と、ロボット制御装置25を備える。ロボット制御装置25は、ロボット20を制御する。ロボット制御装置25は、動作制御装置30と、教示装置50とによって構成される。
動作制御装置30は、ユーザーによる教示作業によって設定された目標位置において、目標力が実現されるように、ロボット20のアームAを制御する。動作制御装置30は、プロセッサーであるCPU(Central Processing Unit)30aやRAM(Random Access Memory)30bやROM(Read−Only Memory)30cを備える。動作制御装置30には、ロボット20の制御を行うための制御プログラムがインストールされている。動作制御装置30においては、これらのハードウェア資源と制御プログラムとが協働する。動作制御装置30の機能については、後に詳細に説明する。
教示装置50は、動作制御装置30に目標位置Stと目標力fstとを教示する。教示装置50は、CPU50a、RAM50b、ROM50c等を備える。教示装置50には、動作制御装置30に目標位置Stと目標力fstとを教示するための教示プログラムがインストールされている。教示装置50においては、これらのハードウェア資源と教示プログラムとが協働する。
教示装置50は、さらに、入力装置57と、出力装置58を備える。入力装置57は、例えば、マウス、キーボード、タッチパネル等であり、ユーザーからの指示を受け付ける。出力装置58は、例えば、ディスプレイやスピーカー等であり、ユーザーに各種の情報を出力する。教示装置50の機能については、後に詳細に説明する。
ロボット20は、アームAと、アームAを支持する支持台Bを備える単腕ロボットである。アームAは、6軸の垂直多関節型のアームである。アームAは、5個のアーム部材であるリンクL1〜リンクL5と、6つの関節である関節J1〜J6を備える。関節J2、関節J3、関節J5は、曲げ関節であり、関節J1、関節J4、関節J6は、ねじり関節である。
支持台BとリンクL1は、関節J1を介して接続されている。リンクL1とリンクL2は、関節J2を介して接続されている。リンクL2とリンクL3は、関節J3を介して接続されている。リンクL3とリンクL4は、関節J4を介して接続されている。リンクL4とリンクL5は、関節J5を介して接続されている。リンクL5と力検出部21およびエンドエフェクターEとは、関節J6を介して接続されている。
アームAの先端には、力検出部21を介してエンドエフェクターEが取り付けられている。エンドエフェクターEは、ロボット20に処理される対象物としてのワークWを把持するための装置である。エンドエフェクターEの位置は、TCP(Tool Center Point)によって規定される。本実施形態において、TCPは、関節J6の回転軸上にある。動作制御装置30は、アームAを駆動することによって、ロボット座標系RCにおいて制御点としてのTCPの位置を制御する。
力検出部21は、外部から加えられる力の大きさを検出することができる6軸の力センサーである。力検出部21は、互いに直交する3個の検出軸上の力の大きさと、それら3個の検出軸周りのトルクの大きさとを検出する。
本実施形態においては、支持台Bの位置を基準として、ロボット20が設置された空間を規定する座標系を、ロボット座標系RCと表す。ロボット座標系RCは、水平面上において互いに直交するX軸およびY軸と、鉛直上向きを正方向とするZ軸とによって規定される三次元直交座標系である。本明細書において、単に「X軸」と称した場合、ロボット座標系RCにおけるX軸のことを表す。単に「Y軸」と称した場合、ロボット座標系RCにおけるY軸のことを表す。単に「Z軸」と称した場合、ロボット座標系RCにおけるZ軸のことを表す。ロボット座標系RCにおける任意の位置は、X軸方向の位置DXと、Y軸方向の位置DYと、Z軸方向の位置DZとにより特定できる。
本実施形態においては、X軸周りの回転の角度位置RXによって表す。Y軸周りの回転の角度位置RYによって表す。Z軸周りの回転の角度位置RZによって表す。ロボット座標系RCにおける任意の姿勢は、X軸周りの角度位置RX、Y軸周りの角度位置RY、Z軸周りの角度位置RZにより表現できる。
本明細書において、「位置」と表記した場合、狭義の位置に加えて姿勢をも意味する。「力」と表記した場合、3次元空間において向きと大きさによって規定される狭義の力に加えて、角度位置RX、角度位置RY、角度位置RZそれぞれの回転方向に作用するトルクも意味し得る。
アームAと、力検出部21と、エンドエフェクターEとは、ケーブルによって動作制御装置30と通信可能に接続されている。
A2.動作制御装置30による動作制御:
図2は、ロボット20と、動作制御装置30と、教示装置50との機能構成を示す図である。図2に示したSは、ロボット座標系RCを規定する軸の方向(X軸方向、Y軸方向、Z軸方向、角度位置RXの方向、角度位置RYの方向、角度位置RZの方向)のうちのいずれか1つの方向を表す。例えば、Sが表わす方向がX軸方向の場合、ロボット座標系RCにおいて設定された目標位置のX軸方向成分がSt=Xtと表記され、目標力のX軸方向成分がfst=fXtと表記される。また、Sは、Sが表わす方向の軸に沿った位置も表す。
ロボット20は、関節J1〜J6に、それぞれ、駆動部としてのモーターM1〜M6と、エンコーダーE1〜エンコーダーE6とを、備える(図2の上段参照)。モーターM1とエンコーダーE1は、関節J1に備えられている。モーターM1は、関節J1を駆動する。エンコーダーE1は、モーターM1の駆動位置を検出する。モーターM2〜M6と、エンコーダーE2〜E6も、関節J2〜J6において、同様の機能を奏する。
動作制御装置30は、モーターM1〜M6の角度位置の組み合わせと、ロボット座標系RCにおけるTCPの位置との対応関係Uを、RAM内に記憶している(図2の中段右側参照)。動作制御装置30は、ロボット20が行う作業の工程ごとに、目標位置Stと目標力fstとを対応付けて、RAM内に記憶している。目標位置Stと目標力fstは、後述する教示作業によって設定される。
動作制御装置30は、モーターM1〜M6の回転角度Daを取得すると、対応関係Uに基づいて、回転角度Daをロボット座標系RCにおけるTCPの位置Sに変換する(図2の右側中段参照)。より具体的には、回転角度Daは、位置DX、位置DY、位置DZ、角度位置RX、角度位置RY、および角度位置RZの組み合わせに変換される。
力検出部21は、独自の座標系において力fsを検出する(図2の右上部参照)。力検出部21とTCPとの相対位置および相対方向が、既知のデータとして動作制御装置30のRAM30bに記憶されている(図2において図示省略)。このため、動作制御装置30は、TCPの位置Sと、力検出部21の出力に基づいて、ロボット座標系RCにおける力fsを特定できる。
動作制御装置30は、ロボット座標系RCに変換した後の力fsに対して重力補償を行う(図2の右下部参照)。「重力補償」とは、力fsから重力成分を除去する処理である。重力補償を行った力fsは、エンドエフェクターEに作用している重力以外の力を表す。エンドエフェクターEに作用している重力以外の力を、以下では「作用力」とも呼ぶ。
動作制御装置30は、目標力fstと作用力fsとをコンプライアントモーション制御の運動方程式に代入することにより、力由来補正量ΔSを特定する(図2の左側中段参照)。本実施形態では、コンプライアントモーション制御として、インピーダンス制御を採用する。「インピーダンス制御」とは、仮想の機械的インピーダンスをモーターM1〜M6によって実現する制御である。以下に示した式(1)は、インピーダンス制御の運動方程式である。
Figure 2019202381
式(1)において、mは、質量パラメーターである。質量パラメーターは、慣性パラメーターとも呼ぶ。dは、粘性パラメーターである。kは、弾性パラメーターである。各パラメーターm、d、kは、教示装置50から得られる。各パラメーターm、d、kは、方向毎に異なる値に設定される構成であってもよく、方向にかかわらず共通の値に設定されてもよい。
式(1)において、Δfs(t)は、目標力fstに対する作用力fsの偏差である。tは、時間を表す。目標力fstは、ロボット20が行う工程において、一定値として設定されてもよく、時間に依存する関数によって設定されてもよい。式(1)における微分とは、時間による微分を意味する。
式(1)から得られる力由来補正量ΔSとは、TCPが機械的インピーダンスによる作用力fsを受けた場合に、目標力fstと作用力fsとの力偏差Δfs(t)を解消して目標力fstを達成するために、TCPが移動すべき変位を意味する。ここで、「変位」は、直線進距離および/または回転角で表される。
動作制御装置30は、目標位置Stに、力由来補正量ΔSを加算することにより、インピーダンス制御を考慮した補正目標位置(St+ΔS)を特定する(図2の中段右側参照)。
動作制御装置30は、対応関係Uに基づいて、ロボット座標系RCにおける6つの方向(X軸方向、Y軸方向、Z軸方向、角度位置RXの方向、角度位置RYの方向、角度位置RZの方向)それぞれについての補正目標位置(St+ΔS)を、モーターM1〜M6それぞれの目標の駆動位置である目標角度Dtに変換する(図2の中段右側参照)。
動作制御装置30は、エンコーダーE1〜E6の出力が示すモーターM1〜M6の回転角度Daと、制御目標である目標角度Dtと、を一致させるフィードバック制御を実行する。より具体的には、動作制御装置30は、回転角度Daと目標角度Dtとの偏差De、その偏差Deの積分、およびその偏差Deの微分を使用して、位置についてのPID制御を実行する。図2において、比例ゲインKpp、積分ゲインKpi、微分ゲインKpdを示す(図2の中央部参照)。
動作制御装置30は、上記Kpp,Kpi,Kpdを使用した位置についてのPID制御の出力と、回転角度Daの微分との偏差、その偏差の積分、その偏差の微分を使用して、速度についてのPID制御を実行する。図2において、比例ゲインKvp、積分ゲインKvi、微分ゲインKvdを示す(図2の中段左側参照)。
以上の処理の結果、モーターM1〜M6の制御量Dcが決定される。動作制御装置30は、各モーターM1〜M6の制御量Dcで、各モーターM1〜M6を制御する。
以上のような処理により、動作制御装置30は、目標位置Stと目標力fstとに基づいてアームAを制御することができる。
A3.教示装置50における処理:
(1)力制御の実現可否の判定 その1:
図3は、教示装置50において、負荷トルクの点から力制御の実現可否の判定を行う際の処理を示すフローチャートである。図3の処理は、具体的には、教示装置50のCPU50a(図1参照)が実行する。
ステップS120において、教示装置50は、ユーザーから、エンドエフェクターEの情報と、ワークWの情報と、を受け取る。エンドエフェクターEの情報は、(i)エンドエフェクターEの重量の情報と、(ii)アームAの先端の位置と、アームAに取りつけられたエンドエフェクターEの重心位置と、の相対位置関係の情報と、を含む。これらの情報を、「エンドエフェクター情報」と呼ぶ。
ワークWの情報は、(i)ワークWの重量の情報と、(ii)対象動作においてワークWがエンドエフェクターEに把持された際のワークWの重心位置と、エンドエフェクターEの重心位置と、の相対位置関係の情報と、(iii)対象動作においてワークWがエンドエフェクターEに把持された際のエンドエフェクターEとワークWの接触点の位置と、エンドエフェクターEの重心位置と、の相対位置関係の情報と、を含む。これらの情報を、「ワーク情報」と呼ぶ。
エンドエフェクター情報とワーク情報とは、対象動作を識別するための情報と対応づけられて、教示装置50のRAM50bに格納される。RAM50b内のエンドエフェクター情報を、図1において「エンドエフェクター情報Ie」として示す。RAM50b内のワーク情報を、図1において「ワーク情報Iw」として示す。ステップS120において、エンドエフェクターEの情報と、ワークWの情報と、を受け付ける教示装置50の機能部を、図2において、「受付部53」として示す。
図3のステップS140において、教示装置50は、ユーザーから、位置情報と、範囲情報と、力情報と、を受け取る。
教示装置50は、ユーザーから、対象動作を開始すべきTCPの位置およびエンドエフェクターEの姿勢を表す「位置情報」を受け取る。「対象動作を開始すべき位置およびエンドエフェクターEの姿勢」は、たとえば、力制御において、力検出部21に対して力が作用するようにアームAを制御する直前のTCPの位置および姿勢や、加工具を把持したエンドエフェクターEによって他の物体を加工する直前の位置および姿勢等である。位置情報は、具体的には、ロボット座標系RCのX軸方向の位置、Y軸方向の位置、Z軸方向の位置、X軸周りの回転の角度位置RX、Y軸周りの回転の角度位置RY、Z軸周りの回転の角度位置RZの組み合わせである。
教示装置50は、ユーザーから、対象動作において変動しうるTCPの位置およびエンドエフェクターEの姿勢の範囲を表す「範囲情報」を受け取る。力制御が行われる対象動作においては、力検出部の出力を使用したフィードバック制御が行われるため、制御点としてのTCPの位置およびエンドエフェクターEの姿勢は、あらかじめ定められた位置および姿勢になるとは限らない。また、ワークWの形状の誤差や配置の誤差によっても、対象動作におけるTCPの位置およびエンドエフェクターEの姿勢は変化しうる。そのような変化の想定範囲を表す範囲情報が、ユーザーによって教示装置50に入力される。範囲情報は、具体的には、ロボット座標系RCのX軸方向の寸法(すなわち、位置の範囲)、Y軸方向の寸法、Z軸方向の寸法、X軸周りの回転の角度範囲、Y軸周りの回転の角度範囲、Z軸周りの回転の角度範囲の組み合わせである。
教示装置50は、ユーザーから、対象動作を実行する際にワークWに加えるべき目標力fstの方向と大きさを表す「力情報」を受け取る。力情報は、具体的には、ロボット座標系RCのX軸方向の力成分、Y軸方向の力成分、Z軸方向の力成分、角度位置RXの方向のトルク成分、角度位置RYの方向のトルク成分、角度位置RZの方向のトルク成分の組み合わせによって特定される。ただし、本実施形態のステップS120においては、目標力fstの方向として、上記の6つの方向のうちのいずれか一つの方向が選択的に入力されるように、教示装置50は構成されている。また、目標力fstの大きさとして、任意の数値が入力されるように、教示装置50が構成されている。目標力fstの大きさは、正の値と負の値を取りうる。
入力された位置情報と範囲情報と力情報は、対象動作を識別することができる情報と対応づけられて、RAM50bに格納される。RAM50b内の位置情報を、図1において「位置情報Ip」として示す。RAM50b内の範囲情報を、図1において「範囲情報Ir」として示す。RAM50b内の力情報を、図1において「力情報If」として示す。ステップS140において、位置情報と範囲情報と力情報を受け付けて格納する教示装置50の機能部は、受付部53(図2参照)である。
なお、ここでは、技術の理解を容易にするため、ステップS120の処理とステップS140の処理を分けて、その順に説明している(図3参照)。しかし、ステップS120,S140で教示装置50に入力される情報は、必ずしもその順に入力されるわけではない。すなわち、ステップS120で入力される一部または全部の情報が、ステップS140で入力される一部のまたは全部の情報よりも後に入力されることもできる。ただし、後述するステップS170の処理の後に入力され得るのは、ステップS140で入力される一部のまたは全部の情報である。
図4は、図3のステップS120およびS140において、教示装置50の出力装置58に表示されるユーザーインターフェイスUI12を示す。なお、ユーザーインターフェイスUI12の表示に先立って、あらかじめワーク情報(図3のS120参照)および位置情報(図3のS140参照)は入力されているものとする。
ユーザーインターフェイスUI12は、入力窓W11〜W16、ボタンB01,B02、ならびに入力窓W21〜W26を備える。
入力窓W11は、力情報の一部としての、力制御における目標力の向きを入力するためのインターフェイスである(図3のS140参照)。図4の例においては、Z軸方向のプラス側の向きが指定されている。入力窓W12は、力情報の一部としての、力制御における目標力の大きさを入力するためのインターフェイスである(図3のS140参照)。図4の例においては、10Nが指定されている。
なお、力情報が、対象動作を識別するための情報と対応づけられて、教示装置50のRAM50bにあらかじめ格納されている態様とすることもできる。そのような態様においては、ユーザーは、所定のユーザーインターフェイスを介して、対象動作を選択する。その結果、図4のユーザーインターフェイスUI12において、入力窓W11,W12に自動的に情報が入力される。
入力窓W13は、エンドエフェクター情報の一部としての、エンドエフェクターEの重量の情報の入力するためのインターフェイスである(図3のS120参照)。図4の例においては、1kgが指定されている。
入力窓W14〜W16は、エンドエフェクター情報の一部としての、アームAの先端の位置と、アームAに取りつけられたエンドエフェクターEの重心位置と、の相対位置関係の情報の入力するためのインターフェイスである(図3のS120参照)。図4の例においては、相対位置関係の情報として、X軸方向0、Y軸方向0、Z軸方向のプラス側50mmの相対位置が指定されている。
入力窓W21〜W23は、範囲情報の一部としての、対象動作において変動しうるTCPの位置の範囲の情報の入力するためのインターフェイスである(図3のS140参照)。図4の例においては、TCPの位置の範囲の情報として、X軸方向0、Y軸方向0、Z軸方向の10mmの位置範囲が指定されている。
入力窓W24〜W26は、範囲情報の一部としての、対象動作において変動しうるエンドエフェクターEの姿勢の範囲の情報の入力するためのインターフェイスである(図3のS140参照)。図4の例においては、エンドエフェクターEの姿勢の範囲の情報として、U軸(すなわちX軸まわり)方向0、V軸(すなわちY軸まわり)方向0、W軸(すなわちZ軸まわり)方向0の角度範囲が指定されている。
ボタンB01は、入力窓W11〜W16、ならびに入力窓W21〜W26への入力を終えたユーザーが、教示装置50に次の処理を行わせるためのボタンである。ボタンB02は、ユーザーインターフェイスUI12を介した情報の入力の前の処理に戻るためのボタンである。ボタンB02が押されると、処理は、ワーク情報(図3のS120参照)および位置情報(図3のS140参照)を入力するための段階に戻る。
図3のステップS160において、教示装置50は、動作制御装置30のRAM30b(図1参照)から、ロボット20のハードウェア構成に関する固有情報Icを取得する。ロボット20の固有情報Icは、具体的には、(i)隣り合う関節同士の間の長さ(すなわち、リンクL1〜リンクL5の長さ)、(ii)リンクL1〜リンクL5の重量、(iii)関節J1〜J6の剛性、(iv)関節J1〜J6の許容トルクである。「関節の剛性」とは、関節の回転角度がある値に設定されている状態で、その関節を中心とする回転力を外部から受けた場合に、どの程度、その関節の回転角度がずれるかを示す値である。「関節の許容トルク」は、関節のモーターの許容トルクに、余裕を設けるための1以下の係数(たとえば、0.8)を掛けて得られるトルクである。
これらの値は、ロボット20に固有の値である。これらの値は、動作制御装置30のRAM30bにあらかじめ格納されている。ステップS160において、ロボット20の固有情報Icを取得する教示装置50の機能部を、図2において、「取得部55」として示す。
教示装置50は、エンドエフェクター情報およびワーク情報(S120参照)と、位置情報、範囲情報および力情報(S140参照)と、固有情報Icと、に基づいて、関節にかかる負荷トルクの最大値を、各関節J1〜J6について計算する。より具体的には、位置情報と範囲情報で特定される動作範囲に含まれる複数の代表的な位置(以下、「代表点」とも呼ぶ)について、そこにTCPがある状態で、力情報で指定された力制御を実現した場合に、各関節にかかる負荷トルクを、計算する。そして、得られた複数の代表的な位置に対応する負荷トルクの中から、各関節J1〜J6について、負荷トルクの最大値を決定する。
ある関節に掛かる負荷トルクは、その関節から先にあるリンクにかかる重力に起因する負荷トルクta、エンドエフェクターEおよびワークWにかかる重力に起因する負荷トルクtb、力制御における目標力に起因する負荷トルクtcに分けて計算することができる。
目標力に起因する負荷トルクtcは、以下のように計算される。その力制御におけるアームの姿勢、すなわち、リンクL1〜リンクL5の位置および姿勢に基づいて、負荷トルクを計算する対象である関節とTCPとの相対位置関係が計算される。そして、TCPにかかる目標力を、その関節の回転軸に垂直な平面であって、その関節の回転中心を原点とする平面(以下、「処理平面」と呼ぶ)に射影して得られる力が、計算される。そして、その力と、処理平面上に投射されたTCPと原点との距離と、を基に、その関節にかかる、目標力に起因する負荷トルクtcが計算される。
その関節から先にあるリンクにかかる重力に起因する負荷トルクtaは、以下のように計算される。リンクL1〜リンクL5の長さ、リンクL1〜リンクL5の重量、ならびにその力制御におけるアームの姿勢に基づいて、以下のパラメーターが計算される。すなわち、その関節から先にあるリンク全体の重量、およびその関節から先にあるリンクで構成される構造の重心とその関節の相対位置関係が計算される。そして、構造の重心にかかる、対象関節から先にあるリンク全体の重力を、その関節の処理平面に射影して得られる力が、計算される。そして、その力と、処理平面上に投射された構造の重心と原点との距離と、を基に、その関節にかかる、その関節から先にあるリンクにかかる重力に起因する負荷トルクtaが計算される。
ワークWとエンドエフェクターEにかかる重力に起因する負荷トルクtbは、以下のように計算される。ワークWの重量、エンドエフェクターEの重量、アームAの先端の位置とアームAに取りつけられたエンドエフェクターEの重心位置との相対位置関係の情報、対象動作においてワークWがエンドエフェクターEに把持された際のワークWの重心位置とエンドエフェクターEの重心位置との相対位置関係の情報、リンクL1〜リンクL5の長さ、ならびにその力制御におけるアームの姿勢に基づいて、以下のパラメーターが計算される。すなわち、ワークWの重量とエンドエフェクターEの重量の合計値、およびワークWとエンドエフェクターEで構成される構造の重心とその関節の相対位置関係が計算される。そして、ワークWとエンドエフェクターEで構成される構造の重心にかかる、その構造の重力を、その関節の処理平面に射影して得られる力が、計算される。そして、その力と、処理平面上に投射された構造の重心と原点との距離と、を基に、その関節にかかる、ワークWとエンドエフェクターEにかかる重力に起因する負荷トルクtbが計算される。
エンドエフェクター情報とワーク情報を利用することにより、それらを利用しない態様に比べて、より正確に、関節のそれぞれに生じるトルクの値を算出することができる。ワーク情報の一部として、対象物を把持した場合のエンドエフェクターと対象物との相対位置の情報を利用することにより、それらを利用しない態様に比べて、より正確に、関節のそれぞれに生じるトルクの値を算出することができる。
範囲情報として、力制御における位置や姿勢の範囲を利用することにより、力制御の動作全体を通して関節のそれぞれに生じるトルクの値を算出することができる。このため、ユーザーは、ロボット制御装置に入力した目標力の大きさおよび向きと、開始位置と、開始するときの姿勢と、によって規定される力制御を、ロボットに実行させることができるか否かを、より正確に知ることができる。
ある関節に掛かる負荷トルクは、以上の処理で得られた目標力に起因する負荷トルクtc、その関節から先にあるリンクに起因する負荷トルクta、エンドエフェクターEおよびワークWに起因する負荷トルクtbの合計である。ステップS160の処理を実現する教示装置50の機能部を、図2において、「算出部56」として示す。
図3のステップS165において、教示装置50は、各関節J1〜J6に掛かる負荷トルクの最大値が、各関節J1〜J6の許容トルクの範囲内であるか否かを判定する。なお、モーターの回転方向は正転と反転の2つの方向を取りうるため、関節の許容トルクの範囲を規定する上限と下限値は、正の値と負の値の両方を取りうる。本実施形態においては、各関節J1〜J6について、許容トルクの範囲の上限は、正の値であり、許容トルクの範囲の下限は、負の値である。
ステップS165において、関節J1〜J6のうち、関節に掛かる負荷トルクの最大値が、関節の許容トルクの範囲内ではない関節がある場合は、処理は、ステップS170に進む。
ステップS170において、教示装置50は、出力装置58であるディスプレイにエラー表示を行う。
教示装置50は、エラー表示に先立って、以下の処理を行う。教示装置50は、負荷トルクの最大値が、関節の許容トルクの範囲を超えた関節について、負荷トルクに近い側の許容トルク閾値t01から、その関節から先にあるリンクに起因する負荷トルクta、ならびにエンドエフェクターEおよびワークWに起因する負荷トルクtbを引いて得られる余裕トルクtmを計算する。そして、余裕トルクtmと、その力制御におけるその関節とTCPの相対位置関係および目標力の向きと、に基づいて、いわゆる順キネマティクスにより、その力制御で指定される姿勢をアームAがとった場合に、TCPにおいて目標力の向きに生じさせうる力の大きさを計算する。教示装置50は、そのような処理を、関節の許容トルクを超えたすべての関節について行う。そのようにして得られた、TCPにおいて目標力の向きに生じさせうる力の大きさのうち、最小の力の大きさを、可能力fp1とする。可能力fp1は、目標力の向きと、力制御を開始するときの位置および姿勢と、によって規定される力制御において、実現可能な目標力の大きさである。
また、教示装置50は、すべての関節について、負荷トルクから遠い側の許容トルク閾値t02を使用して、上記と同様の処理を行い、逆向きの可能力fp2を計算する。
図5は、図3のステップS170において、出力装置58であるディスプレイに出力されるエラー表示EDである。教示装置50は、図3のステップS170において、目標力の大きさと、可能力fp1,fp2とを使用して、出力装置58であるディスプレイに出力されるエラー表示EDを行う。図5の例では、「現在の設定では10Nで押しつけることができません。−10〜5Nまで設定可能です。5Nに変更しますか?」というエラーメッセージEMが表示されている。エラーメッセージEMは、入力された目標力の大きさおよび向きと、入力された力制御を開始位置および姿勢と、によって規定される力制御が実現不可能である旨の情報を表す。
エラーメッセージEM中の「10N」が、入力された目標力の大きさfiである(図4のW12参照)。「5N」が、目標力と同じ向きの可能力fp1である。「−10(N)」が、目標力とは逆向きの可能力fp2である。
このような処理を行うことにより、エラーメッセージEMが出力された場合には、ユーザーは、ロボット制御装置に入力した目標力の大きさおよび向きと、開始位置と、開始するときの姿勢と、によって規定される力制御を、ロボットに実行させることができないことを知ることができる。
また、実現可能な目標力の大きさfp1が出力されることにより、ユーザーは、ロボット制御装置に入力した目標力の向きと、開始位置と、開始するときの姿勢と、によって規定される力制御において、ロボットに実現させることができる力の大きさを知ることができる。
エラー表示EDは、ボタンB04,B05を含む。ユーザーは、エラー表示EDを見て、「はい」のボタンB04、または「いいえ」のボタンB04のいずれかを押す。その後、処理は、図3のステップS140に戻る。
ステップS170において「はい」のボタンB04が押された場合には、ステップS140において再び表示される図4のユーザーインターフェイスUI12の入力窓W12において、前回のステップS140の処理で入力された値「10N」に代えて、可能力fp1、すなわち、ここでは「5N」が自動的に入力される。
ステップS170において「いいえ」のボタンB05が押された場合には、ステップS140において表示される図4のユーザーインターフェイスUI12の入力窓W12には、前回のステップS140の処理で入力された値「10N」がそのまま入力されている。ユーザーは、図5のエラーメッセージEMを参考にして自ら入力窓W12に他の値を入力するか、またはユーザーインターフェイスUI12の他の入力窓の設定を変更する。
図3のステップS165において、すべての関節J1〜J6について、関節に掛かる負荷トルクの最大値が、関節の許容トルクの範囲内であった場合は、処理は、ステップS180に進む。
ステップS180において、教示装置50は、すべての関節について、負荷トルクに近い側の許容トルク閾値t01と、負荷トルクとを使用して、出力装置58としてのディスプレイに検討結果の表示を行う。
図6は、図3のステップS180において、出力装置58としてのディスプレイに表示されるユーザーインターフェイスUI18を示す図である。教示装置50は、すべての関節J1〜J6について、許容トルク閾値t01に対する負荷トルクの割合を示す。100%は、負荷トルクが許容トルク閾値t01と等しいことを示す。図6の例では、許容トルク閾値t01に対する負荷トルクの割合が、80%以下の領域は緑色で示され、80%を超える領域は黄色で示され、92%を超える領域は赤で示される。このような処理を行うことにより、ユーザーは、図3のステップS120,S140で指定した力制御に対して、ロボット20の各モーターがどの程度の余力を持っていたかを知ることができる。
教示装置50は、図3のステップS180において、ステップS120,S140で入力された情報を、対象動作を識別するための情報と対応づけて、RAM50bに格納する。さらに、教示装置50は、ステップS120,S140で入力された情報を、対象動作を識別するための情報とともに動作制御装置30に出力する。動作制御装置30は、両者を対応づけてRAM30bに記憶する。
ステップS180においてRAM50bおよびRAM30b内に格納された情報を、図1において、「力制御の動作設定値SMV」として示す。図3のステップS165,S170,S180の処理において、出力装置58への表示を行う教示装置50の機能部を、図2において、「出力制御部52」として示す。図3のステップS180の処理において、ステップS120,S140で入力された情報をRAM50bに格納し、動作制御装置30に出力する教示装置50の機能部を、図2において、「設定部54」として示す。
本実施形態によれば、ロボット20に力制御を行わせるにあたって、ユーザーインターフェイスUI18(図6参照)が出力されるか、エラー表示ED(図5参照)が出力されるか、によって、ユーザーは、ロボット制御装置25に入力した目標力の大きさおよび向きと、開始位置と、開始するときの姿勢と、によって規定される力制御を、ロボットに実行させることができるか否かを知ることができる。
本実施形態において固有情報Icを記憶している動作制御装置30のRAM30bを、「記憶部」とも呼ぶ。ユーザーインターフェイスUI18(図6参照)が表す情報を、「第1種の情報」とも呼ぶ。エラーメッセージEM(図5参照)が表す情報を、「第2種の情報」とも呼ぶ。エンドエフェクター情報Ieとワーク情報Iwをまとめて「選択情報」とも呼ぶ。
(2)力制御の実現可否の判定 その2:
図7は、教示装置50において、アームAの姿勢の特異点の有無の点から力制御の実現可否の判定を行う際の処理を示すフローチャートである。図7の処理は、具体的には、教示装置50のCPU50a(図1参照)が実行する。
ステップS320において、教示装置50は、ユーザーから、エンドエフェクターEの情報と、ワークWの情報と、を受け取る。ステップS320の処理は、図3のステップS120の処理と同じである。
ステップS340において、教示装置50は、ユーザーから、位置情報と、範囲情報とを受け取る。ステップS340の処理は、力情報を受け取らない点を除いて、図3のステップS140の処理と同じである。
ステップS360において、教示装置50は、動作制御装置30のRAM30b(図1参照)から、ロボット20のハードウェア構成に関する固有情報Icを取得する。教示装置50は、エンドエフェクター情報およびワーク情報(S320参照)と、位置情報および範囲情報(S340参照)と、固有情報Icと、に基づいて、位置情報と範囲情報で特定される動作範囲に含まれる複数の代表的な位置(以下、「代表点」と表記する)を制御点としてのTCPが取った場合の、各関節J1〜J6の角度位置を、計算する。この計算は、いわゆる逆キネマティクスにより、行うことができる。そして、得られた複数の代表点に対応する各関節の角度位置に基づいて、各関節J1〜J6について、取りうる角度範囲を決定する。
ステップS365において、教示装置50は、位置情報と範囲情報で特定される動作範囲に含まれる複数の代表点の中に特異点が存在するか否かを判定する。「特異点」とは、制御点としてのTCPを制御できない位置であり、上記ステップS360処理において、各関節の角度範囲を決定できない位置である。
ステップS365において、代表点の中に特異点がある場合は、処理は、ステップS370に進む。ステップS370において、教示装置50は、出力装置58としてのディスプレイ58に、エラーメッセージと共に、代表点を表示する。
図8は、図7のステップS370における出力装置58の表示を示す図である。教示装置50は、ロボット20の3次元画像と共に、3次元空間内の代表点Rsを、出力装置58としてのディスプレイに表示する。特異点ではない代表点Rsは、緑の点として表示される。特異点である代表点Rsは、赤い点として表示される。また、特異点である代表点Rsがある場合には、特異点である代表点の一つと関連づけて、「特異点があります」というエラーメッセージEM2が表示される。
図8の表示中のボタンB06が押されると、処理はステップS340に戻る。ユーザーは、ステップS340において、位置情報および範囲情報の一方または両方の設定を変更する。
図7のステップS365において、代表点の中に特異点がない場合は、処理は、ステップS380に進む。ステップS380において、教示装置50は、出力装置58としてのディスプレイ58に代表点を表示する。ステップS380における表示は、特異点である代表点Rsを表す赤い点の表示、および「特異点があります」というエラーメッセージEM2が表示されない点を除いて、図8の表示と同じである。
教示装置50は、ステップS320,S340で入力された情報を、対象動作を識別するための情報と対応づけて、RAM50bに格納する。さらに、教示装置50は、ステップS320,S340で入力された情報を、対象動作を識別するための情報とともに動作制御装置30に出力する。動作制御装置30は、両者を対応づけてRAM30bに記憶する。
なお、図7に示したアームAの姿勢の特異点の有無の点から力制御の実現可否の判定を行う処理は、図3の処理に先立って行うこともでき、図3の処理と平行して行うこともできる。図3の処理と図7の処理を平行して行う場合には、図7のステップS320,S340の処理は省略することができる。
本実施形態によれば、ロボットに力制御を行わせるにあたって、エラーメッセージEM2(図8参照)が出力されるか否か、によって、ユーザーは、ロボット制御装置25に入力した開始位置と、開始するときの姿勢と、動作範囲と、によって規定される力制御を、特異点の有無の点からロボットに実行させることができるか否かを、知ることができる。
(3)力制御を実現可能な位置の探索:
図9は、教示装置50において、力制御の実現が可能な候補位置を決定する際の処理を示すフローチャートである。図9の処理は、具体的には、教示装置50のCPU50a(図1参照)が実行する。
ステップS520において、教示装置50は、ユーザーから、エンドエフェクターEの情報と、ワークWの情報と、を受け取る。ステップS520の処理は、図3のステップS120の処理と同じである。
ステップS540において、教示装置50は、ユーザーから、位置情報の一部であってエンドエフェクターEの姿勢を表す姿勢情報、と、範囲情報と、力情報と、を受け取る。ステップS540の処理は、位置情報のうち制御点の位置情報を受け取らない点を除いて、図3のステップS140の処理と同じである。
ステップS550において、教示装置50は、ユーザーから、空間情報を受け取る。「空間情報」は、ユーザーが指定する力制御を実現できる位置を探すべき空間を指定する情報である。
図10は、図9のステップS550において、教示装置50の出力装置58に表示されるユーザーインターフェイスUI55を示す。ユーザーインターフェイスUI55は、入力窓W31〜W36,W41〜W46、ボタンB21,B22を備える。
入力窓W31〜W33は、力制御を実現できる位置を探すべき空間を直方体として指定するための一つ目の頂点P1を指定するためのインターフェイスである。図10の例においては、ロボット座標系RCにおける(X,Y,Z)=(100,400,500)の点が、頂点P1として指定されている。
入力窓W31〜W36は、力制御を実現できる位置を探すべき空間を直方体として指定するための二つ目の頂点P2を指定するためのインターフェイスである。図10の例においては、ロボット座標系RCにおける(X,Y,Z)=(0,100,300)の点が、頂点P2として指定されている。
力制御を実現できる位置を探すべき空間Srは、頂点P1,P2を頂点とし、XY平面に平行な2面、YZ平面に平行な2面、およびZX平面に平行な2面によって規定される空間である。
入力窓W41〜W43は、頂点P1における姿勢を指定するためのインターフェイスである。図10の例においては、ロボット座標系RCにおける(U,V,W)=(90,0,180)の姿勢が、指定されている。
入力窓W44〜W46は、頂点P2における姿勢を指定するためのインターフェイスである。図10の例においては、ロボット座標系RCにおける(U,V,W)=(90,0,180)の姿勢が、指定されている。本実施形態においては、教示装置50は、入力窓W44〜W46の値と、それぞれ入力窓W41〜W43と、の一方に入力された値の組み合わせを、他方に反映させる。
このような処理を行うことにより、力制御を実現できる位置を探すべき空間Srの指定を受け付けない態様に比べて、教示装置50は、より少ない処理負荷で、関節に生じるトルクの値が許容トルクの値以下である位置を、決定することができる。
ボタンB21は、入力窓W31〜W36,W41〜W46への入力を終えたユーザーが、教示装置50に次の処理を行わせるためのボタンである。ボタンB22は、ユーザーインターフェイスUI55を介した情報の入力の前の処理に戻るためのボタンである。ボタンB22が押されると、処理は、図9のステップS540以前の段階に戻る。ステップS550の処理を実行するのは、教示装置50の機能部としての受付部53である。
図9のステップS560において、教示装置50は、空間情報によって特定される空間Sr内に、複数の候補点を決定する。本実施形態においては、空間情報によって特定される直方体の空間Srの各辺を4等分する点と、それらの点を通る、XY平面に平行な面、YZ平面に平行な面、およびZX平面に平行な面の交点とを、候補点とする。教示装置50は、各候補点について、以下の処理を行う。
図9のステップS560において、教示装置50は、教示装置50は、エンドエフェクター情報およびワーク情報(S520参照)と、候補点の位置を表す情報(以下、「候補点情報」と呼ぶ)、位置情報のうちの姿勢情報、範囲情報および力情報(S540参照)と、固有情報Icと、に基づいて、候補点情報と範囲情報で特定される動作範囲に含まれる複数の代表点について、関節にかかる負荷トルクの最大値を計算する。この処理は、図3のステップS160の処理と同じである。
また、教示装置50は、エンドエフェクター情報およびワーク情報(S320参照)と、候補点情報および範囲情報(S140参照)と、固有情報Icと、に基づいて、上記の複数の代表点について、各関節が取る角度範囲を決定する。この処理は、図7のステップS360の処理と同じである。
空間情報によって特定される直方体の空間Srに含まれるすべての候補点について、上記の処理を終了すると、処理は、ステップS565に進む。ステップS560の処理を実行するのは、教示装置50の機能部としての算出部56である。
ステップS565において、教示装置50は、各候補点について、各関節J1〜J6に掛かる負荷トルクの最大値が、各関節J1〜J6の許容トルクの範囲内であるか否かを判定する。各候補点について行われる判定処理は、図3のステップS165の判定処理と同じである。
教示装置50は、候補点情報と範囲情報で特定される動作範囲に含まれる複数の代表点の中に特異点が存在するか否かを判定する。各候補点について行われる判定処理は、図7のステップS365の判定処理と同じである。
教示装置50は、上記の各処理の後、すべての関節J1〜J6について、負荷トルクの最大値が許容トルクの範囲内であり、かつ、特異点が存在しない候補点(以下、「実行可能候補点」と呼ぶ)があるか否かを判定する。
ステップS565において、実行可能候補点が存在しない場合は、処理は、ステップS570に進む。ステップS570において、教示装置50は、出力装置58としてのディスプレイに、エラー表示を出力する。エラー表示は、たとえば、「指定された範囲内に、作業を実行可能な地点はありません」といった表示とすることができる。所定のボタンが押されると、処理はステップS540に戻る。ユーザーは、ステップS540において、位置情報および範囲情報の一方または両方の設定を変更するか、またはステップS550において、空間情報の設定を変更する。
ステップS565において、実行可能候補点がある場合は、処理は、ステップS580に進む。ステップS580において、教示装置50は、出力装置58としてのディスプレイに、候補点を表示する。
図11は、図9のステップS580において出力装置58に表示されるユーザーインターフェイスUI58aを示す図である。教示装置50は、ステップS580において、ユーザーインターフェイスUI58aを出力装置58としてのディスプレイに表示する。ユーザーインターフェイスUI58aは、ロボット20の3次元画像と、3次元空間内の125個の候補点R0−0−0〜R4−4−4の表示とを、含む。実行可能候補点は、緑の点として表示される。実行可能候補点ではない候補点は、赤い点として表示される。
技術の理解を容易にするために、図11では図示を省略しているが、ステップS580における出力においては、実行候補点の集合を含む3次元の凸包が、薄い緑色で表示される。ある点の集合の「凸包」は 、その点の集合を含むすべての凸集合の交わり、すなわち共通部分である。
図12は、候補点を2次元の点R0−0〜R7−6の56個の点と仮定した場合の凸包の例を示す説明図である。実行可能候補点を、白い丸で示す。実行可能候補点以外の候補店を、黒い丸で示す。斜線で示した領域が、実行可能候補点の凸包である。図12に示すように、力制御を実現できる位置を探すべき空間Sr内において、1以上の凸包が存在し得る。
図13は、各軸方向について取り得ると考えられる範囲を表すユーザーインターフェイスUI58bを示す図である。図11の状態において、入力装置57としてのマウスを介して実行可能候補点の一つ、または空間Srがクリックされると、教示装置50は、図13のユーザーインターフェイスUI58bを出力装置58としてのディスプレイに表示する。ユーザーインターフェイスUI58bは、スライダー表示S11〜S16と、画像表示DW2と、ボタンB24,B25とを含む。
画像表示DW2は、クリックされた実行可能候補点の姿勢を取ったときのロボット20の状態を表す斜視図を示す。
スライダー表示S11は、X軸方向の探索範囲S112と、実行可能範囲S111と、画像表示DW2に表示されたロボットのTCPの位置を示すスライダーS110と、を表す。より具体的には、X軸方向の探索範囲が赤の矩形S112で示される。図13において、X軸方向の探索範囲S112は、便宜上、ドットを付した領域で示される。X軸方向の探索範囲のうち、実行可能範囲が青の矩形S111で示される。図13において、X軸方向の実行可能範囲S111は、便宜上、斜線を付した領域で示される。X軸方向の実行可能範囲のうち、画像表示DW2に表示されたロボットの位置を示すスライダーS110が白の矩形で示される。
同様に、スライダー表示S12,S13は、それぞれY軸方向とZ軸方向の探索範囲と、実行可能範囲と、画像表示DW2に表示されたロボットのTCPの位置を示すスライダーと、を表す。スライダー表示S14〜S16は、それぞれU軸方向、V軸方向、W軸方向の探索範囲と、実行可能範囲と、画像表示DW2に表示されたロボットの手先の姿勢を示すスライダーと、を表す。
このような処理を行うことにより、各候補点の位置および姿勢について、実行可能範囲に対してどの程度の余裕を有するかを、ユーザーは知ることができる。なお、図13は、技術内容を説明するための図であり、図13において、DW2に示されたロボット20の姿勢と、スライダー表示S11〜S16に示された数値とは、必ずしも整合しない。
図13のユーザーインターフェイスUI58bにおけるスライダー表示S11〜S16の実行可能範囲の表示が、ユーザーインターフェイスUI58aにおける実行可能候補点の凸包に相当する。
ボタンB25は、ユーザーインターフェイスUI58aを介した実行可能候補点の選択の処理に戻るためのボタンである。ボタンB25が押されると、処理は、ユーザーインターフェイスUI58aを介した実行可能候補点の選択の処理に戻る。
ボタンB24は、実行可能候補点を、確定するためのボタンである。ボタンB24が押されると、教示装置50は、ステップS520,S540で入力された情報、ならびに選択された実行可能候補点の候補点情報を、対象動作を識別するための情報と対応づけて、RAM50bに格納する。さらに、教示装置50は、ステップS520,S540で入力された情報、ならびに選択された実行可能候補点の候補点情報を、対象動作を識別するための情報とともに動作制御装置30に出力する。動作制御装置30は、両者を対応づけてRAM30bに記憶する。動作制御装置30は、保存されたそれらの情報に基づいて、後に、ロボット20を制御することができる。
図9のステップS565,S570,S580の処理において、出力装置58への表示を行う教示装置50の機能部は、出力制御部52(図2参照)である。図3のステップS580の処理において、ステップS520,S540で入力された情報、ならびに選択された実行可能候補点の候補点情報をRAM50bに格納し、動作制御装置30に出力する教示装置50の機能部は、設定部54(図2参照)である。
本実施形態によれば、ロボット20に力制御を行わせるにあたって、目標力の大きさと向きとによって規定される力制御を実行しうる地点を、ユーザーは、ユーザーインターフェイスUI58a(図11参照)を介して、あらかじめ知ることができる。そして、ユーザーは、ユーザーインターフェイスUI58bを介して、実行可能候補点の一つを、ロボット20に実行させる力制御の設定値として、動作制御装置30に保存することができる。
B.第2実施形態:
図14は、複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。この例では、ロボット20およびその動作制御装置30の他に、パーソナルコンピューター400,410と、LANなどのネットワーク環境を介して提供されるクラウドサービス500とが描かれている。パーソナルコンピューター400,410は、それぞれプロセッサーとメモリーとを含んでいる。また、クラウドサービス500においてもプロセッサーとメモリーを利用可能である。プロセッサーは、コンピューター実行可能な命令を実行する。これらの複数のプロセッサーの一部または全部を利用して、動作制御装置30および教示装置50を含むロボット制御装置25を実現することが可能である。また、各種の情報を記憶する記憶部も、これらの複数のメモリーの一部または全部を利用して、実現することが可能である。
C.第3実施形態:
図15は、複数のプロセッサーによってロボットの制御装置が構成される他の例を示す概念図である。この例では、ロボット20の動作制御装置30が、ロボット20の中に格納されている点が図14と異なる。この例においても、複数のプロセッサーの一部または全部を利用して、ロボット20の制御装置を実現することが可能である。また、各種の情報を記憶する記憶部も、複数のメモリーの一部または全部を利用して、実現することが可能である。
D.他の形態:
D1.他の形態1:
(1)上記実施形態においては、各関節の負荷トルクの計算(図3のS160および図9のS560参照)に先立って、力制御を規定する情報として、位置情報Ip、範囲情報Ir、および力情報Ifが入力される(図3のS140および図9のS540参照)。しかし、各関節の負荷トルクの計算に先だって、さらに、力制御における制御点の移動速度および加速度の一方または両方が入力される態様とすることもできる。そのような態様においては、入力された移動速度および加速度の一方または両方を考慮して、各関節に生じるトルクの値を算出することが好ましい。たとえば、制御点において加速度(すなわち、速度の変化)が生じた場合には、各関節には負荷トルクがかかる。このような態様とすれば、より正確に、各関節に生じるトルクの値を算出することができる。
(2)上記実施形態においては、ロボット20は、6軸の垂直多関節型ロボットである。しかし、制御装置に制御されるロボットは、スカラロボットや、直角座標ロボット等の他のロボットであってもよい。また、アームAは、5個以下の軸を備える構成であってもよく、7個以上の軸を備える構成であってもよい。
(3)上記実施形態においては、位置情報は、ユーザーが入力装置57を介して教示装置50に入力する(図3のS140参照)。しかし、対象動作の目標位置Stは、ユーザーがアームAを手で移動させることによりロボットシステム1に教示してもよく、ロボット制御装置を介して座標を指定することにより教示されてもよい。また、対象動作の位置を表す位置情報は、直交座標系で指定されてもよく、各関節の角度位置で指定されてもよい。
対象動作を開始すべき位置およびエンドエフェクターEの姿勢も、ユーザーがアームAを手で移動させることによりロボットシステム1に教示してもよく、ロボット制御装置を介して座標を指定することにより教示されてもよい。また、対象動作を開始すべきTCPの位置およびエンドエフェクターEの姿勢は、直交座標系で指定されてもよく、各関節の角度位置で指定されてもよい。
(4)上記実施形態のステップS140においては、目標力の方向として、X軸方向、Y軸方向、Z軸方向、X軸周りの回転方向、Y軸周りの回転方向、Z軸周りの回転方向の6つの方向のうちのいずれか一つの方向が選択的に入力されるように、教示装置50は構成されている(図4のW11参照)。しかし、目標力の方向は、X軸方向の力成分、Y軸方向の力成分、Z軸方向の力成分、角度位置RXの方向のトルク成分、角度位置RYの方向のトルク成分、角度位置RZの方向のトルク成分の組み合わせによって特定される態様とすることができる。
(5)上記実施形態においては、力検出部21として、並進3軸方向の力成分と、回転3軸回りのモーメント成分の6成分を同時に検出することができる6軸力覚センサーが、アームAの先端に取りつけられている(図1参照)。しかし、力検出部は、たとえば、互いに直交する3個の検出軸上の力の大きさを検出する3軸センサーとすることもできる。そのような態様においては、入力窓N1で受け付けることができる目標力fstの方向(図6および図5のS520参照)は、たとえば、ロボット座標系RCにおけるX軸方向、Y軸方向、Z軸方向の3つの方向のうちのいずれかの方向となる。
また、力検出部は、支持台BとリンクL1の間など、アームAの先端以外のロボットの他の部位に設けられていてもよい。さらに、ロボットの各関節に配されたモーターのトルクから、TCPにおける3軸方向の力や3軸周りのトルクを計算して、力検出部の機能を実現することもできる。
(6)上記実施形態においては、関節の負荷トルクが許容トルクを超えている場合は、エラーメッセージEMが表示され、関節の負荷トルクが許容トルクを超えない目標力の大きさの受け入れ、または再入力が促される(図5参照)。しかし、入力された目標力の大きさを、ロボット制御装置が強制的に、関節の負荷トルクが許容トルクを超えない目標力の大きさに変更した上で、ユーザーに対して、設定値の再入力を促す旨のメッセージ、または、設定値が変更された旨のメッセージを発する態様とすることもできる。また、画像表示(図5のEM参照)ではなく、音声による出力を行うこともできる。また、ロボット制御装置による入力値の変更を行わせるか否かを、チェックボックスへのチェックなどを介して、ユーザーに選択させる態様とすることもできる。
(7)各種の情報を格納する記憶部は、同一の筐体内に存在する記憶手段であってもよく、互いに通信可能に接続されている複数の構成要素の内部にそれぞれ備えられている記憶手段であってもよい。
(8)教示装置50は、さらに、力制御を継続する時間を表す時間情報を受け取り、力制御を実行している間に、各関節のモーターの温度が閾値を超えないか否かを判定する態様とすることもできる。また、力制御が位置の変更を伴う場合には、位置制御において指定されている動作時間に基づいて、各関節のモーターの温度が閾値を超えないか否かを判定する態様とすることもできる。
(9)上記実施形態においては、位置情報は、対象動作を開始すべき制御点としてのTCPの位置およびエンドエフェクターEの姿勢を表す。しかし、位置情報は、さらに、対象動作を終了すべき制御点の情報を含むことができる。そのような態様とすれば、力制御を含む対象動作において各関節にかかる負荷トルクの最大値をより正確に計算することができる(図3のS160、図9のS560参照)。また、すべての関節J1〜J6について、負荷トルクの最大値が許容トルクの範囲内であり、かつ、特異点が存在しない実行可能候補点があるか否かを、より正確に判定することができる。
(10)上記実施形態においては、図9のステップS580において、各軸方向について取り得ると考えられる範囲を表すユーザーインターフェイスUI58bが表示される(図13参照)。しかし、実行可能候補点があると判定された場合(S565:Yes)には、選択された実行可能候補点について、以下の表示を行うこともできる。すなわち、各関節の取りうる角度範囲と、その力制御において各関節が取る角度範囲とを、ユーザーインターフェイスUI58bのスライダー表示S11〜S16と同様に、表示することもできる。そのような処理を行うことにより、各候補点の位置および姿勢について、取りうる角度範囲に対して、力制御において取る角度範囲が、どの程度の余裕を有するかを、ユーザーは知ることができる。
(11)「関節の許容トルク」は、関節のモーターの許容トルクと、減速機の出力側の許容トルクのうち、小さい方のトルクに1以下の係数(たとえば、0.8、0.9など)を掛けたトルクとすることもできる。
(12)上記実施形態においては、図7のステップS365において、教示装置50は、位置情報と範囲情報で特定される動作範囲に含まれる複数の代表点の中に特異点が存在するか否かを判定する。しかし、教示装置50が、図7のステップS365の処理に代えて、位置情報と範囲情報で特定される動作範囲に含まれる複数の代表点の中に特異点が存在するか、または複数の代表点の中に特異点近傍の代表点が存在するか、を判定する態様とすることもできる。この態様においては、代表点の中にそのような特異点がない場合は、処理は、図7のステップS380に進む。
一方、複数の代表点の中に特異点が存在するか、または複数の代表点の中に特異点近傍の代表点が存在する場合は、ステップS370に進む。ステップS370において、教示装置50は、図8の出力と同様の出力を行い、出力装置58としてのディスプレイ58に、エラーメッセージと共に、代表点Rsを表示する。ステップS370の処理において、特異点である代表点Rsは、赤い点として表示される。特異点の近傍にある代表点Rsは、黄色の点として表示される。それらのいずれでもない代表点Rsは、緑の点として表示される。
複数の代表点の中に特異点近傍の代表点が存在するか否かの判定は、以下のように行うことができる。たとえば、あらかじめ、ロボット20について、特異点近傍のTCPの位置とエンドエフェクターEの姿勢の組み合わせの範囲を特定しておき、複数の代表点の中にそのような範囲に含まれる点が存在するか否かを判定する態様とすることもできる。また、複数の代表点の中の1以上の代表点に基づいて、TCPの位置とエンドエフェクターEの姿勢をあらかじめ定められた範囲で変化させ、そのように変化させて得られるTCPの位置とエンドエフェクターEの姿勢の組み合わせの中に、特異点があるか否かによって、上記の判断を行うこともできる。
たとえば、一つ代表点から、TCPの位置を、代表点の間隔の1/2以下の所定量だけ各方向に変化させて得られるTCPの位置の中に、特異点がある場合は、その代表点は、特異点近傍の代表点であると判断することができる。また、隣り合う二つの代表点を結ぶ線分を等分する複数の位置の中に、特異点が存在する場合は、それら隣り合う二つの代表点は、特異点近傍の代表点であると判断することができる。
このような態様とすることにより、特異点ではないある代表点から、特異点ではない別の代表点に、ロボットの姿勢が変化する場合に、ロボットが制御不能になる可能性を低減することができる。
D2.他の形態2:
上記実施形態においては、各関節の負荷トルクの計算(図3のS160および図9のS560参照)に先立って、エンドエフェクター情報Ieとワーク情報Iwとが入力される(図3のS120および図9のS520参照)。しかし、エンドエフェクター情報Ieとワーク情報Iwの一方または両方が入力されない態様とすることもできる。そのような態様においても、位置情報および力情報(図3のS140および図9のS540参照)によって規定される力制御における各関節に生じるトルクのおおよその値を算出することができる。
D3.他の形態3:
(1)上記実施形態においては、ワーク情報は、以下を含む。(i)ワークWの重量の情報。(ii)対象動作においてワークWがエンドエフェクターEに把持された際のワークWの重心位置と、エンドエフェクターEの重心位置と、の相対位置関係の情報。(iii)対象動作においてワークWがエンドエフェクターEに把持された際のエンドエフェクターEとワークWの接触点の位置と、エンドエフェクターEの重心位置と、の相対位置関係の情報。
しかし、ロボット制御装置に入力されるワーク情報が、上記(iii)の情報を含まない態様とすることもできる。そのような態様においても、(i)ワークWの重量の情報。(ii)ワークWの重心位置とエンドエフェクターEの重心位置との相対位置関係の情報(図3のS120および図9のS520参照)、ならびに位置情報および力情報(図3のS140および図9のS540参照)に基づいて、位置情報および力情報によって規定される力制御における各関節に生じるトルクのおおよその値を算出することができる。
(2)ワーク情報のうち、以下の情報は、ロボット座標系で入力されることもでき、手先座標系で入力されることもできる。(ii)対象動作においてワークWがエンドエフェクターEに把持された際のワークWの重心位置と、エンドエフェクターEの重心位置と、の相対位置関係の情報。(iii)対象動作においてワークWがエンドエフェクターEに把持された際のエンドエフェクターEとワークWの接触点の位置と、エンドエフェクターEの重心位置と、の相対位置関係の情報。「手先座標系」とは、エンドエフェクターに対して相対的に固定された3次元直交座標系である。
D4.他の形態4:
上記実施形態においては、各関節の負荷トルクの計算(図3のS160および図9のS560参照)に先立って、対象動作において変動しうるTCPの位置およびエンドエフェクターEの姿勢の範囲を表す範囲情報が入力される(図3のS120および図9のS520参照)。しかし、力制御における位置の範囲と姿勢の範囲の一方または両方の情報が入力されない態様とすることもできる。そのような態様においても、対象動作全体を通じてではないものの、位置情報および力情報(図3のS140および図9のS540参照)によって規定される力制御における各関節に生じるトルクの値を算出することができる。
D5.他の形態5:
上記実施形態においては、図3のステップS170において表示されるエラー表示EDは、力制御が実現不可能である旨の情報を表すエラーメッセージEMと、力制御において実現可能な目標力の大きさfp1と、を含むエラー表示EDが表示される。しかし、エラーメッセージにおいて、実現可能な目標力の大きさが表示されない態様とすることもできる。
また、エラーメッセージにおいて、力制御が実現不可能である旨の情報を表すエラーメッセージが表示されない態様とすることもできる。そのような態様においては、ユーザーが図4のユーザーインターフェイスUI12の各入力窓に入力を済ませた後(図3のS120,S140参照)、ボタンB01を押した場合には、以下のような処理を行うことができる。たとえば、エラー表示ED(図5参照)を表示せずに、そのまま図4のユーザーインターフェイスUI12の表意を維持し、入力値を変更すべき入力窓を強調して表示することができる。その際には、音を出力して、ユーザーの注意を喚起することもできる。
D6.他の形態6:
(1)上記実施形態においては、図9のステップS165において、教示装置50は、候補点情報と範囲情報で特定される動作範囲に含まれる複数の代表点の中に特異点が存在するか否かを判定する。しかし、力制御の実現が可能な候補位置を決定する際の処理(図9参照)においては、各候補点について、複数の代表点の中に特異点が存在するか否かを判定しない態様とすることもできる。
そのような態様においては、ステップS565において、教示装置50は、各候補点について、各関節J1〜J6に掛かる負荷トルクの最大値が、各関節J1〜J6の許容トルクの範囲内であるか否かを判定する。そして、教示装置50は、すべての関節J1〜J6について、負荷トルクの最大値が許容トルクの範囲内である候補点(すなわち、実行可能候補点)があるか否かを判定する。そのような実行可能候補点が存在しない場合は、処理は、ステップS570に進む。そのような実行可能候補点が存在する場合は、処理は、ステップS580に進む。
(2)上記実施形態においては、図9のステップS580において、実行可能候補点は、緑の点として表示され、実行可能候補点ではない候補点は、赤い点として表示される(図11参照)。そして、実行候補点の集合を含む3次元の凸包が、薄い緑色で表示される。しかし、実行候補点の集合を含む3次元の凸包が、表示されない態様とすることもできる。また、実行可能候補点ではない候補点が表示されない態様とすることもできる。ただし、実行可能候補点は、ロボット制御装置が備える出力装置に出力されることが好ましい。
(3)第1実施形態では、図9のステップS580においては、スライダー表示S11を含むユーザーインターフェイスUI58bが表示される(図13参照)。しかし、力制御の実現が可能な候補位置を決定する際の出力は、他の態様とすることもできる。
図16は、図9のステップS580におけるユーザーインターフェイスUI58b(図13参照)に代わるユーザーインターフェイスUI58cを示す図である。図9のステップS580において、入力装置57としてのマウスを介して図11中の実行可能候補点R0−0−0〜R4−4−4の一つがクリックされると、教示装置50は、図16のユーザーインターフェイスUI58cを出力装置58としてのディスプレイに表示する。ユーザーインターフェイスUI58cは、出力窓W50,W61〜W63,W71〜W73と、画像表示DW4と、ボタンB27,B28とを含む。
画像表示DW4は、クリックされた実行可能候補点の姿勢を取ったときのロボット20の状態を表す斜視図を示す。出力窓W50は、選択された実行可能候補点を識別するための情報を示す。ここでは、便宜的に、「候補点1」という表示がなされている。
出力窓W61〜W63は、選択された実行可能候補点のロボット座標系RCにおけるX軸方向の位置、Y軸方向の位置、Z軸方向の位置を、それぞれ示す。出力窓W71〜W73は、選択された実行可能候補点のロボット座標系RCにおけるU軸方向の角度位置、V軸方向の角度位置、W軸方向の角度位置を、それぞれ示す。図16の例では、実行可能候補点R4−4−4が選択された場合の例を示している。ただし、図16は、技術内容を説明するための図であり、図16において、DW4に示されたロボット20の姿勢と、出力窓W61〜W3,W71〜W73に示された数値とは、必ずしも整合しない。
ボタンB28は、ユーザーインターフェイスUI58aを介した実行可能候補点の選択の処理に戻るためのボタンである。ボタンB28が押されると、処理は、ユーザーインターフェイスUI58aを介した実行可能候補点の選択の処理に戻る。
ボタンB27は、実行可能候補点を、確定するためのボタンである。ボタンB27が押されると、教示装置50は、ステップS520,S540で入力された情報、ならびに選択された実行可能候補点の候補点情報を、対象動作を識別するための情報と対応づけて、RAM50bに格納する。さらに、教示装置50は、ステップS120,S140で入力された情報、ならびに選択された実行可能候補点の候補点情報を、対象動作を識別するための情報とともに動作制御装置30に出力する。動作制御装置30は、両者を対応づけてRAM30bに記憶する。動作制御装置30は、保存されたそれらの情報に基づいて、後に、ロボット20を制御することができる。
このような態様としても、ロボット20に力制御を行わせるにあたって、目標力の大きさと向きとによって規定される力制御を実行しうる地点を、ユーザーは、ユーザーインターフェイスUI58a(図11参照)を介して、あらかじめ知ることができる。そして、ユーザーインターフェイスUI58cを介して、実行可能候補点の一つを、ロボット20に実行させる力制御の設定値として、動作制御装置30に保存することができる。
(4)上記実施形態においては、図9のステップS540において、位置情報の一部として、姿勢を表す情報が入力され、力制御を実行しうる実行可能候補点が出力される(図11参照)。しかし、ステップS540において、位置情報の一部として、X軸方向の位置DXと、Y軸方向の位置DYと、Z軸方向の位置DZとを入力され、ステップS580において、その位置において力情報で指定される力制御が実行可能な姿勢の範囲が出力される態様とすることもできる。出力態様は、ユーザーインターフェイスUI58bのスライダー表示S14〜S16と同様とすることができる。そのような態様とすれば、ユーザーは、力制御を行うに当たって、特定の位置で取りうる姿勢の範囲を、あらかじめ知ることができる。
D7.他の形態7:
(1)上記実施形態においては、力制御を実現できる位置を探すべき空間が直方体として指定される(図10参照)。しかし、力制御を実現できる位置を探すべき空間は、ある点を中心とし、ある値の半径を有する球体の空間として指定されることもできる。また、力制御を実現できる位置を探すべき空間として、円柱や多角柱などの形状を指定されることもできる。さらには、それらの3次元形状を組み合わせた空間として、力制御を実現できる位置を探すべき空間が指定されることもできる。すなわち、受付部は、複数の候補点が含まれる空間を特定することができるパラメーターを受け付けるように構成されていればよい。
(2)上記実施形態においては、図9のステップS560において、空間情報によって特定される直方体の空間Srの各辺を4等分する点と、それらの点を通る、XY平面に平行な面、YZ平面に平行な面、およびZX平面に平行な面の交点が、候補点として決定される。しかし、候補点は、他の方法で決定されることもできる。たとえば、上記の処理において、4等分に代えて3等分や、5等分、10等分など、他の方法を採用することもできる。また、ユーザーによって指定された一定の間隔で空間を仕切る格子の交点を、候補点とすることもできる。さらに、ある基準点を中心とした極座標にしたがって、複数の候補点を決定することもできる。
E.さらに他の形態:
適用例1:
本発明の一形態によれば、外部から加えられる力の大きさを検出する力検出部を備えるロボットの動作を制御するロボット制御装置が提供される。このロボット制御装置は:前記力検出部の出力に基づいて行われる力制御における目標力の大きさと、前記目標力の向きと、前記力制御を開始する位置と、前記力制御を開始する姿勢と、を受け付ける受付部と;前記ロボットが備える複数の関節に対応する複数の許容トルクの値を含む固有情報を記憶している記憶部と;前記目標力の大きさと、前記目標力の向きと、前記力制御を開始する位置と、前記力制御を開始する姿勢と、前記固有情報と、に基づいて、前記力制御を開始する位置および前記力制御を開始する姿勢において、前記目標力の大きさおよび前記目標力の向きで前記力制御を実行した場合に、前記複数の関節に生じる複数のトルクの値を算出する算出部と;前記複数のトルクの値が、それぞれ前記複数の許容トルクの値以下である場合、第1種の情報を出力し、前記複数のトルクの値のうち少なくとも1つが、対応する前記許容トルクの値を超える場合、第2種の情報を出力する出力制御部と、を備える。
このような態様においては、ロボットに力制御を行わせるにあたって、第1種の情報が出力されるか、第2種の情報が出力されるか、によって、ユーザーは、ロボット制御装置に入力した目標力の大きさおよび向きと、力制御の開始位置と、力制御を開始するときの姿勢と、によって規定される力制御を、ロボットに実行させることができるか否かを知ることができる。
適用例2:
上記形態のロボット制御装置であって;前記受付部が、前記ロボットに取りつけられているエンドエフェクター、または、前記ロボットに処理される対象物に関する選択情報を受け付け;前記算出部は、前記選択情報に基づいて、前記複数のトルクの値を算出する、態様とすることができる。
このような態様においては、エンドエフェクターと対象物の構成に関する選択情報を利用して、より正確に、関節のそれぞれに生じるトルクの値を算出することができる。このため、ユーザーは、ロボット制御装置に入力した目標力の大きさおよび向きと、力制御の開始位置と、力制御を開始するときの姿勢と、によって規定される力制御を、ロボットに実行させることができるか否かを、より正確に知ることができる。
適用例3:
上記形態のロボット制御装置であって;前記選択情報が、前記力制御において前記対象物を把持した場合の前記エンドエフェクターと前記対象物との相対位置の情報を含む、態様とすることができる。
このような態様においては、力制御において、対象物を把持した場合のエンドエフェクターと対象物との相対位置の情報を利用して、より正確に、関節のそれぞれに生じるトルクの値を算出することができる。このため、ユーザーは、ロボット制御装置に入力した目標力の大きさおよび向きと、開始位置と、開始するときの姿勢と、によって規定される力制御を、ロボットに実行させることができるか否かを、より正確に知ることができる。
適用例4:
上記形態のロボット制御装置であって;前記算出部が、前記受付部が受け付ける前記力制御における位置の範囲または前記力制御における姿勢の範囲に基づいて、前記複数のトルクの値を算出する、態様とすることができる。
このような態様においては、力制御における位置や姿勢の範囲を利用して、力制御の動作全体を通して関節のそれぞれに生じるトルクの値を算出することができる。このため、ユーザーは、ロボット制御装置に入力した目標力の大きさおよび向きと、開始位置と、開始するときの姿勢と、によって規定される力制御を、ロボットに実行させることができるか否かを、より正確に知ることができる。
適用例5:
上記形態のロボット制御装置であって;前記第2種の情報が:前記目標力の大きさまたは前記目標力の向きと、前記力制御を開始する位置または前記力制御を開始する姿勢と、によって規定される力制御が実現不可能であることを示す情報、または;前記目標力の向きと、前記力制御を開始する位置または前記力制御を開始する姿勢と、によって規定される力制御において、実現可能な前記目標力の大きさを示す情報、を含む、態様とすることができる。
このような態様においては、力制御が実現不可能である旨の情報が出力された場合には、ユーザーは、ロボット制御装置に入力した目標力の大きさおよび向きと、開始位置と、開始するときの姿勢と、によって規定される力制御を、ロボットに実行させることができないことを知ることができる。
また、実現可能な目標力の大きさが出力された場合には、ユーザーは、ロボット制御装置に入力した目標力の向きと、開始位置と、開始するときの姿勢と、によって規定される力制御において、ロボットに実現させることができる力の大きさを知ることができる。
適用例6:
本発明の一形態によれば、外部から加えられる力の大きさを検出する力検出部を備えるロボットの動作を制御するロボット制御装置が提供される。このロボット制御装置は:前記力検出部の出力に基づいて行われる力制御における目標力の大きさと、前記目標力の向きと、を受け付ける受付部と;前記ロボットが備える複数の関節に対応する複数の許容トルクの値を含む固有情報を記憶している記憶部と;前記目標力の大きさと、前記目標力の向きと、前記固有情報と、に基づいて、前記力制御を開始する位置の候補としての複数の候補点について、前記候補点から前記目標力の大きさおよび前記目標力の向きで力制御を開始した場合に、前記ロボットが備える前記複数の関節に生じる複数のトルクの値を算出する算出部と;前記複数の候補点のうち、前記複数のトルクの値が、それぞれ前記複数の許容トルクの値以下である候補点を出力する出力制御部と、を備える。
このような態様においては、ロボットに力制御を行わせるにあたって、目標力の大きさと向きとによって規定される力制御を実行しうる候補点を、ユーザーは、あらかじめ知ることができる。
適用例7:
上記形態のロボット制御装置であって;前記受付部が、前記ロボットに取りつけられているエンドエフェクター、または、前記ロボットに処理される対象物の構成に関する選択情報を受け付け;前記算出部は、前記選択情報に基づいて、前記複数のトルクの値を算出する、態様とすることができる。
このような態様においては、エンドエフェクターと対象物の構成に関する選択情報を利用して、より正確に、関節のそれぞれに生じるトルクの値を算出することができる。このため、ユーザーは、目標力の大きさと向きとによって規定される力制御を実行しうる位置を、より正確に知ることができる。
適用例8:
上記形態のロボット制御装置であって;前記選択情報は、前記力制御において前記対象物を把持した場合の前記エンドエフェクターと前記対象物との相対位置の情報を含む、ロボット制御装置。
このような態様においては、力制御において、対象物を把持した場合のエンドエフェクターと対象物との相対位置の情報を利用して、より正確に、関節のそれぞれに生じるトルクの値を算出することができる。このため、ユーザーは、目標力の大きさと向きとによって規定される力制御を実行しうる位置を、より正確に知ることができる。
適用例9:
上記形態のロボット制御装置であって;前記算出部は、前記受付部が受け付ける前記力制御における位置の範囲または前記力制御における姿勢の範囲に基づいて、前記複数のトルクの値を算出する、態様とすることができる。
このような態様においては、力制御における位置や姿勢の範囲を利用して、力制御の動作全体を通して関節のそれぞれに生じるトルクの値を算出することができる。このため、ユーザーは、目標力の大きさと向きとによって規定される力制御を実行しうる位置を、より正確に知ることができる。
適用例10:
上記形態のロボット制御装置であって;前記受付部は、前記複数の候補点が含まれる空間の指定を受け付け;前記算出部は、前記空間内において前記複数の候補点を決定する、ロボット制御装置。
このような態様においては、複数の候補点が含まれる空間の指定を受け付けない態様に比べて、より少ない処理負荷で、関節に生じるトルクの値が許容トルクの値以下である位置を、決定することができる。
適用例11:
上記形態のロボット制御装置と;前記ロボット制御装置によって制御される前記ロボットと;を備えるロボットシステム。
上述した本発明の各形態の有する複数の構成要素はすべてが必須のものではなく、上述の課題の一部または全部を解決するため、あるいは、本明細書に記載された効果の一部または全部を達成するために、適宜、前記複数の構成要素の一部の構成要素について、その変更、削除、新たな他の構成要素との差し替え、限定内容の一部削除を行うことが可能である。また、上述の課題の一部または全部を解決するため、あるいは、本明細書に記載された効果の一部または全部を達成するために、上述した本発明の一形態に含まれる技術的特徴の一部または全部を上述した本発明の他の形態に含まれる技術的特徴の一部または全部と組み合わせて、本発明の独立した一形態とすることも可能である。
1…ロボットシステム、20…ロボット、21…力検出部、25…ロボット制御装置、30…動作制御装置、30a…CPU、30b…RAM、30c…ROM、50…教示装置、50a…CPU、50b…RAM、50c…ROM、52…出力制御部、53…受付部、54…設定部、55…取得部、56…算出部、57…入力装置、58…出力装置(ディスプレイ)、400,410…パーソナルコンピューター、500…クラウドサービス、A…アーム、B…支持台、B01,B02,B04〜B06,B21,B22,B24,B25,B27,B28…ボタン、DW2,DW4…画像表示、Da…回転角度、Dc…制御量、De…偏差、Dt…目標角度、E…エンドエフェクター、E1〜E6…エンコーダー、ED…エラー表示、EM,EM2…エラーメッセージ、Ic…固有情報、Ie…エンドエフェクター情報、If…力情報、Ip…位置情報、Ir…範囲情報、Iw…ワーク情報、J1〜J6…関節、Kpd…微分ゲイン、Kpi…積分ゲイン、Kpp…比例ゲイン、Kvd…微分ゲイン、Kvi…積分ゲイン、Kvp…比例ゲイン、L1〜L5…リンク、M1〜M6…モーター、P1,P2…頂点、R0−0〜R7−6…候補点、R0−0−0〜R4−4−4…候補点、RC…ロボット座標系、Rs…代表点、RX…X軸周りの回転の角度位置、RY…Y軸周りの回転の角度位置、RZ…Z軸周りの回転の角度位置、S…位置、SMV…力制御の動作設定値、S11〜S16…スライダー表示、S110…スライダー、S111…実行可能範囲、S112…探索範囲、SMV…動作設定値、Sr…力制御を実現できる位置を探すべき空間、St…目標位置、U…モーターM1〜M6の角度位置の組み合わせと、ロボット座標系RCにおけるTCPの位置との対応関係、UI12,UI18,UI55,UI58a〜UI58c…ユーザーインターフェイス、W…ワーク、W11〜W16,W21〜W26,W31〜W36,W41〜W46…入力窓、W50,W61〜W63,W71〜W73…出力窓、d…粘性パラメーター、fi…入力された目標力、fp1,fp2…可能力、fs…作用力、fst…目標力、k…弾性パラメーター、m…質量パラメーター、ΔS…力由来補正量、Δfs…力偏差

Claims (11)

  1. 外部から加えられる力の大きさを検出する力検出部を備えるロボットの動作を制御するロボット制御装置であって、
    前記力検出部の出力に基づいて行われる力制御における目標力の大きさと、前記目標力の向きと、前記力制御を開始する位置と、前記力制御を開始する姿勢と、を受け付ける受付部と、
    前記ロボットが備える複数の関節に対応する複数の許容トルクの値を含む固有情報を記憶している記憶部と、
    前記目標力の大きさと、前記目標力の向きと、前記力制御を開始する位置と、前記力制御を開始する姿勢と、前記固有情報と、に基づいて、前記力制御を開始する位置および前記力制御を開始する姿勢において、前記目標力の大きさおよび前記目標力の向きで前記力制御を実行した場合に、前記複数の関節に生じる複数のトルクの値を算出する算出部と、
    前記複数のトルクの値が、それぞれ前記複数の許容トルクの値以下である場合、第1種の情報を出力し、前記複数のトルクの値のうち少なくとも1つが、対応する前記許容トルクの値を超える場合、第2種の情報を出力する出力制御部と、を備える、ロボット制御装置。
  2. 請求項1記載のロボット制御装置であって、
    前記受付部は、前記ロボットに取りつけられているエンドエフェクター、または、前記ロボットに処理される対象物に関する選択情報を受け付け、
    前記算出部は、前記選択情報に基づいて、前記複数のトルクの値を算出する、ロボット制御装置。
  3. 請求項2記載のロボット制御装置であって、
    前記選択情報は、前記力制御において前記対象物を把持した場合の前記エンドエフェクターと前記対象物との相対位置の情報を含む、ロボット制御装置。
  4. 請求項1から3のいずれか1項に記載のロボット制御装置であって、
    前記算出部は、前記受付部が受け付ける前記力制御における位置の範囲または前記力制御における姿勢の範囲に基づいて、前記複数のトルクの値を算出する、ロボット制御装置。
  5. 請求項1から4のいずれか1項に記載のロボット制御装置であって、
    前記第2種の情報は、
    前記目標力の大きさまたは前記目標力の向きと、前記力制御を開始する位置または前記力制御を開始する姿勢と、によって規定される力制御が実現不可能であることを示す情報、または、
    前記目標力の向きと、前記力制御を開始する位置または前記力制御を開始する姿勢と、によって規定される力制御において、実現可能な前記目標力の大きさを示す情報、を含む、ロボット制御装置。
  6. 外部から加えられる力の大きさを検出する力検出部を備えるロボットの動作を制御するロボット制御装置であって、
    前記力検出部の出力に基づいて行われる力制御における目標力の大きさと、前記目標力の向きと、を受け付ける受付部と、
    前記ロボットが備える複数の関節に対応する複数の許容トルクの値を含む固有情報を記憶している記憶部と、
    前記目標力の大きさと、前記目標力の向きと、前記固有情報と、に基づいて、前記力制御を開始する位置の候補としての複数の候補点について、前記候補点から前記目標力の大きさおよび前記目標力の向きで力制御を開始した場合に、前記ロボットが備える前記複数の関節に生じる複数のトルクの値を算出する算出部と、
    前記複数の候補点のうち、前記複数のトルクの値が、それぞれ前記複数の許容トルクの値以下である候補点を出力する出力制御部と、を備える、ロボット制御装置。
  7. 請求項6記載のロボット制御装置であって、
    前記受付部は、
    前記ロボットに取りつけられているエンドエフェクター、または、前記ロボットに処理される対象物の構成に関する選択情報を受け付け、
    前記算出部は、前記選択情報に基づいて、前記複数のトルクの値を算出する、ロボット制御装置。
  8. 請求項7記載のロボット制御装置であって、
    前記選択情報は、前記力制御において前記対象物を把持した場合の前記エンドエフェクターと前記対象物との相対位置の情報を含む、ロボット制御装置。
  9. 請求項6から8のいずれか1項に記載のロボット制御装置であって、
    前記算出部は、前記受付部が受け付ける前記力制御における位置の範囲または前記力制御における姿勢の範囲に基づいて、前記複数のトルクの値を算出する、ロボット制御装置。
  10. 請求項6から9のいずれか1項に記載のロボット制御装置であって、
    前記受付部は、前記複数の候補点が含まれる空間の指定を受け付け、
    前記算出部は、前記空間内において前記複数の候補点を決定する、ロボット制御装置。
  11. 請求項1から10のいずれか1項に記載のロボット制御装置と、
    前記ロボット制御装置によって制御される前記ロボットと、
    を備えるロボットシステム。
JP2018098507A 2018-05-23 2018-05-23 ロボット制御装置およびロボットシステム Active JP7124440B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018098507A JP7124440B2 (ja) 2018-05-23 2018-05-23 ロボット制御装置およびロボットシステム
CN201910423162.9A CN110524536B (zh) 2018-05-23 2019-05-21 机器人控制装置以及机器人系统
US16/419,185 US10960553B2 (en) 2018-05-23 2019-05-22 Robot control device and robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018098507A JP7124440B2 (ja) 2018-05-23 2018-05-23 ロボット制御装置およびロボットシステム

Publications (2)

Publication Number Publication Date
JP2019202381A true JP2019202381A (ja) 2019-11-28
JP7124440B2 JP7124440B2 (ja) 2022-08-24

Family

ID=68614956

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018098507A Active JP7124440B2 (ja) 2018-05-23 2018-05-23 ロボット制御装置およびロボットシステム

Country Status (3)

Country Link
US (1) US10960553B2 (ja)
JP (1) JP7124440B2 (ja)
CN (1) CN110524536B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2022210291A1 (ja) * 2021-03-31 2022-10-06
WO2024218838A1 (ja) * 2023-04-17 2024-10-24 ファナック株式会社 ロボットシステムの演算装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3387496A4 (en) * 2015-12-11 2019-07-31 ABB Schweiz AG PROCESS OFFLINE PROGRAMMING OF A ROBOT AND DEVICE USING THE PROCESS
JP6950612B2 (ja) * 2018-03-30 2021-10-13 オムロン株式会社 センサ、情報処理装置、センサ制御方法、情報処理方法、プログラム、および記録媒体
JP7318295B2 (ja) * 2019-04-24 2023-08-01 セイコーエプソン株式会社 表示方法
TW202218836A (zh) * 2020-11-02 2022-05-16 日商發那科股份有限公司 機器人控制裝置及機器人系統
JP7643144B2 (ja) * 2021-03-31 2025-03-11 セイコーエプソン株式会社 ロボットの制御方法、ロボットシステムおよびロボット制御プログラム
JP2023007754A (ja) * 2021-07-02 2023-01-19 セイコーエプソン株式会社 ロボットの動作パラメーターを調整する動作パラメーター調整方法および動作パラメーター調整装置
JP7787195B2 (ja) * 2021-10-14 2025-12-16 ファナック株式会社 複数の構成部材を含むロボットを制御する制御装置、制御装置を備えるロボット装置、およびパラメータを設定する操作装置
JP2024061621A (ja) * 2022-10-21 2024-05-07 キヤノン株式会社 ロボットシステム、学習装置、情報処理装置、学習済みモデル、制御方法、情報処理方法、物品の製造方法、プログラム、及び記録媒体

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007054942A (ja) * 2005-07-25 2007-03-08 Fanuc Ltd ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置
JP2010120124A (ja) * 2008-11-20 2010-06-03 Toyota Motor Corp ロボットアームの教示システム及び方法
JP2017030059A (ja) * 2015-07-29 2017-02-09 セイコーエプソン株式会社 ロボット制御装置、ロボットおよびロボットシステム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009034938B4 (de) * 2009-07-28 2015-10-15 Sensodrive Gmbh Verfahren zur Kommandierung eines Bewegungssystems mit einer Messeinrichtung
JP5311294B2 (ja) * 2010-04-28 2013-10-09 株式会社安川電機 ロボットの接触位置検出装置
JP5505138B2 (ja) * 2010-07-05 2014-05-28 株式会社安川電機 ロボット装置およびロボット装置による把持方法
JP5383760B2 (ja) * 2011-09-09 2014-01-08 ファナック株式会社 ワーク質量測定機能を備えたロボット
JP5966372B2 (ja) * 2012-01-17 2016-08-10 セイコーエプソン株式会社 ロボット制御装置、ロボットシステム、ロボット制御方法及びロボット
JP5962020B2 (ja) * 2012-01-17 2016-08-03 セイコーエプソン株式会社 ロボット制御装置、ロボットシステム、ロボット及びロボット制御方法
JP5895628B2 (ja) * 2012-03-15 2016-03-30 株式会社ジェイテクト ロボットの制御方法及びロボット制御装置、並びにロボット制御システム
JP5695223B2 (ja) * 2012-05-23 2015-04-01 パナソニックIpマネジメント株式会社 ロボット、ロボットの制御装置、制御方法、及び制御プログラム
US9616573B2 (en) * 2012-05-25 2017-04-11 The Ritsumeikan Trust Robot control apparatus, robot control method, program, recording medium and robot system
US9434073B2 (en) * 2012-08-02 2016-09-06 Toshiba Kikai Kabushiki Kaisha Robot apparatus and control method therefor
JP2014108466A (ja) * 2012-11-30 2014-06-12 Fanuc Ltd 力センサ付き電動ハンド
US10369700B2 (en) * 2014-03-28 2019-08-06 Sony Corporation Robot arm apparatus, robot arm apparatus control method, and program
EP2990165A3 (en) * 2014-08-25 2016-06-29 Seiko Epson Corporation Robot for fitting an object in another
JP5927284B1 (ja) * 2014-12-22 2016-06-01 ファナック株式会社 人との接触力を検出してロボットを停止させるロボット制御装置
US10272568B2 (en) * 2015-09-17 2019-04-30 Canon Kabushiki Kaisha Robot apparatus, robot controlling method, program, recording medium, and assembly manufacturing method
JP2018051735A (ja) * 2016-09-30 2018-04-05 セイコーエプソン株式会社 ロボット制御装置、ロボットおよびロボットシステム
US20190365489A1 (en) * 2017-02-28 2019-12-05 Sony Corporation Medical support arm system and control device
CN106903692A (zh) * 2017-03-31 2017-06-30 华南理工大学 一种基于机器人动力学模型的关节力矩限制方法
JP2018171668A (ja) * 2017-03-31 2018-11-08 セイコーエプソン株式会社 制御装置、ロボット、およびロボットシステム
JP6939024B2 (ja) * 2017-03-31 2021-09-22 セイコーエプソン株式会社 ロボット制御装置、ロボットおよびロボットシステム
US10406685B1 (en) * 2017-04-20 2019-09-10 X Development Llc Robot end effector control

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007054942A (ja) * 2005-07-25 2007-03-08 Fanuc Ltd ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置
JP2010120124A (ja) * 2008-11-20 2010-06-03 Toyota Motor Corp ロボットアームの教示システム及び方法
JP2017030059A (ja) * 2015-07-29 2017-02-09 セイコーエプソン株式会社 ロボット制御装置、ロボットおよびロボットシステム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2022210291A1 (ja) * 2021-03-31 2022-10-06
WO2022210291A1 (ja) * 2021-03-31 2022-10-06 ファナック株式会社 ロボット装置またはワークに作用する外力の許容値を算出する計算装置およびロボットの制御装置
JP7481579B2 (ja) 2021-03-31 2024-05-10 ファナック株式会社 ロボット装置またはワークに作用する外力の許容値を算出する計算装置およびロボットの制御装置
US12496732B2 (en) 2021-03-31 2025-12-16 Fanuc Corporation Computation device for calculating permissible value of external force acting on robot device or workpiece, and device for controlling robot
WO2024218838A1 (ja) * 2023-04-17 2024-10-24 ファナック株式会社 ロボットシステムの演算装置

Also Published As

Publication number Publication date
CN110524536B (zh) 2022-11-08
US10960553B2 (en) 2021-03-30
US20190358824A1 (en) 2019-11-28
CN110524536A (zh) 2019-12-03
JP7124440B2 (ja) 2022-08-24

Similar Documents

Publication Publication Date Title
JP7124440B2 (ja) ロボット制御装置およびロボットシステム
US11161249B2 (en) Robot control apparatus and robot system
JP5144785B2 (ja) ロボットの着目部位と周辺物との干渉を予測する方法及び装置
US9149931B2 (en) Robot system, robot control device and method for controlling robot
JP5778311B1 (ja) ピッキング装置およびピッキング方法
JP6445092B2 (ja) ロボットの教示のための情報を表示するロボットシステム
JP7147571B2 (ja) 経路生成装置、経路生成方法、及び経路生成プログラム
JP7275488B2 (ja) ロボットシステム
JP2021030364A (ja) ロボット制御装置
JP2018167334A (ja) 教示装置および教示方法
JP2020110884A (ja) ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
US20220134571A1 (en) Display Control Method, Display Program, And Robot System
CN111823100A (zh) 一种基于机器人的小曲率抛光打磨方法
JP2019150918A (ja) ロボット制御装置およびロボット制御方法
CN108000515A (zh) 力控制坐标轴设定装置、机器人及力控制坐标轴设定方法
CN118061176A (zh) 一种三臂空间机器人多模态共享遥操作系统及方法
JP2007319970A (ja) 産業用ロボットのツールの位置・姿勢制御方法及び制御システム
WO2021117868A1 (ja) ロボットシステム及びワークの3次元モデルの形成方法
Selvaggio et al. Towards a self-collision aware teleoperation framework for compound robots
JP2016221653A (ja) ロボット制御装置およびロボットシステム
JP2019209386A (ja) 制御装置およびロボットシステム
Matour et al. Development of a platform for novel intuitive control of robotic manipulators using augmented reality and cartesian force control
JPH1177568A (ja) 教示支援方法及び装置
US12162168B2 (en) Method for controlling robot, robot system, and storage medium
JP7654691B2 (ja) ロボットの動作シミュレーション装置、ロボットの制御装置、及びロボットの動作シミュレーション方法

Legal Events

Date Code Title Description
RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20180910

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20181121

RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20200807

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210408

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20210916

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20211108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220414

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220725

R150 Certificate of patent or registration of utility model

Ref document number: 7124440

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150