JP2022164073A - ロボットシステム、その制御方法及び制御プログラム - Google Patents

ロボットシステム、その制御方法及び制御プログラム Download PDF

Info

Publication number
JP2022164073A
JP2022164073A JP2021069305A JP2021069305A JP2022164073A JP 2022164073 A JP2022164073 A JP 2022164073A JP 2021069305 A JP2021069305 A JP 2021069305A JP 2021069305 A JP2021069305 A JP 2021069305A JP 2022164073 A JP2022164073 A JP 2022164073A
Authority
JP
Japan
Prior art keywords
unit
action
command
component
robot system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021069305A
Other languages
English (en)
Inventor
健太郎 東
Kentaro Azuma
智輝 佐久間
Tomoki Sakuma
雅幸 掃部
Masayuki Kamon
裕和 杉山
Hirokazu Sugiyama
政彦 赤松
Masahiko Akamatsu
崇功 上月
Takayoshi Kozuki
隆則 切通
Takanori Kiritooshi
潤 藤森
Jun Fujimori
博貴 木下
Hirotaka Kinoshita
大樹 ▲高▼橋
Daiki Takahashi
開 清水
Kai Shimizu
義貴 内藤
Yoshiki Naito
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.)
Kawasaki Heavy Industries Ltd
Original Assignee
Kawasaki Heavy Industries Ltd
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 Kawasaki Heavy Industries Ltd filed Critical Kawasaki Heavy Industries Ltd
Priority to JP2021069305A priority Critical patent/JP2022164073A/ja
Priority to CN202280027670.5A priority patent/CN117120216A/zh
Priority to PCT/JP2022/017490 priority patent/WO2022220217A1/ja
Publication of JP2022164073A publication Critical patent/JP2022164073A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J3/00Manipulators of master-slave type, i.e. both controlling unit and controlled unit perform corresponding spatial movements
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

【課題】マスタ装置を操作してスレーブ装置を動作させる際の操作性を向上させる。【解決手段】ロボットシステム100は、ユーザに操作される操作装置2と、対象物Wに作用を加えるエンドエフェクタ11とエンドエフェクタ11を動作させるロボットアーム12とを有するロボット1と、操作装置2を介して入力される操作情報に応じてエンドエフェクタ11を動作させるようにロボットアーム12への指令を出力する制御装置3とを備えている。制御装置3は、操作装置2に設定された操作座標系における基準面RPが対象物Wの表面に対応付けられる座標変換を行って、操作情報に基づいてロボットアーム12への指令を生成する。【選択図】図1

Description

ここに開示された技術は、ロボットシステム、その制御方法及び制御プログラムに関する。
従来より、ロボットを動作させることによって対象物に作用を加えるロボットシステムが知られている。
例えば、特許文献1では、グラインダ等のツールを有するロボットアームによって対象物を加工するロボットシステムが開示されている。このロボットシステムにおいては、制御装置がロボットアームを制御して、ツールによる所望の加工を実現させている。
特開2017-1122号公報
ところで、ロボットアームを制御装置による自動制御ではなく、ユーザの操作を介した手動制御することが考えられる。つまり、ユーザがマスタ装置を操作して、ロボットのようなスレーブ装置を動作させることが考えられる。そのようなロボットシステムにおいては、例えば、スレーブ装置が配置された現場から離れた位置からユーザがマスタ装置を操作、即ち、遠隔操作することができる。
しかしながら、遠隔操作においては、ユーザがツール等を実際に把持して行う作業時とは異なり、視覚、触覚又は聴覚等からのフィードバックを得ることが難しく、実際の作業とは異なる操作の難しさがある。
ここに開示された技術は、かかる点に鑑みてなされたものであり、その目的とするところは、マスタ装置を操作してスレーブ装置を動作させる際の操作性を向上させることにある。
本開示のロボットシステムは、ユーザに操作されるマスタ装置と、対象物に作用を加える作用部と前記作用部を動作させる動作部とを有するスレーブ装置と、前記マスタ装置を介して入力される操作情報に応じて前記作用部を動作させるように前記動作部への指令を出力する制御装置とを備え、前記制御装置は、前記マスタ装置に設定された操作座標系における基準面が前記対象物の表面に対応付けられる座標変換を行って、前記操作情報に基づいて前記動作部への指令を生成する。
本開示のロボットシステムの制御方法は、ユーザに操作されるマスタ装置と、対象物に作用を加える作用部と前記作用部を動作させる動作部とを有するスレーブ装置とを備えるロボットシステムの制御方法であって、前記マスタ装置を介して入力される操作情報に応じて前記作用部を動作させるように前記動作部への指令を出力することと、前記操作情報に基づいて前記動作部への指令を生成する際に、前記マスタ装置に設定された操作座標系における基準面が前記対象物の表面に対応付けられる座標変換を行うこととを含む。
本開示の制御プログラムは、ユーザに操作されるマスタ装置と、前記マスタ装置の動作に応じて対象物に作用を加えるスレーブ装置とを備えるロボットシステムを制御する機能をコンピュータに実現させるための制御プログラムであって、前記マスタ装置を介して入力される操作情報に応じて前記作用部を動作させるように前記動作部への指令を出力する機能と、前記操作情報に基づいて前記動作部への指令を生成する際に、前記マスタ装置に設定された操作座標系における基準面が前記対象物の表面に対応付けられる座標変換を行う機能とをコンピュータに実現させる。
前記ロボットシステムによれば、マスタ装置を操作してスレーブ装置を動作させる際の操作性を向上させることができる。
前記ロボットシステムの制御方法によれば、マスタ装置を操作してスレーブ装置を動作させる際の操作性を向上させることができる。
前記制御プログラムによれば、マスタ装置を操作してスレーブ装置を動作させる際の操作性を向上させることができる。
図1は、ロボットシステムの構成を示す模式図である。 図2は、エンドエフェクタの拡大図である。 図3は、ロボット制御装置の概略的なハードウェア構成を示す図である。 図4は、操作装置の斜視図である。 図5は、操作制御装置の概略的なハードウェア構成を示す図である。 図6は、制御装置の概略的なハードウェア構成を示す図である。 図7は、ロボットシステムの制御系統の構成を示すブロック図である。 図8は、基準軸と対象物との交点における対象物の法線を示す模式図である。 図9は、ロボットシステムの動作を示すフローチャートである。 図10は、ユーザによって動かされる操作部の模式図である。 図11は、座標変換が行われない場合のエンドエフェクタの動作を示す模式図である。 図12は、座標変換が行われた場合のエンドエフェクタの動作を示す模式図である。 図13は、変形例において、ユーザによって動かされる操作部の模式図である。
以下、例示的な実施形態を図面に基づいて詳細に説明する。
本開示において、ロボットが行う作業は、ティーチング作業並びに教示の確認及び修正作業を含まない。したがって、以下の説明における操作装置2は、ティーチペンダントを含まない。
図1は、実施形態に係るロボットシステム100の構成を示す模式図である。
ロボットシステム100は、ロボット1と、ユーザに操作される操作装置2と、ロボット1を制御する制御装置3とを備える。ロボットシステム100は、マスタスレーブシステムを構成する。操作装置2は、マスタ装置として機能し、ロボット1は、スレーブ装置として機能する。制御装置3は、ロボットシステム100の全体を制御し、ロボット1と操作装置2との間でバイラテラル制御を行う。
ロボット1は、例えば、産業用ロボットである。ロボット1は、対象物Wに作用を加えるエンドエフェクタ11と、エンドエフェクタ11を動作させるロボットアーム12とを有している。エンドエフェクタ11は、ロボットアーム12の先端に連結されている。ロボット1は、ロボットアーム12によってエンドエフェクタ11を動作、即ち、移動させて、エンドエフェクタ11によって対象物Wに作用を加える。例えば、作用は、加工である。例えば、対象物Wは、大型タンクの湾曲した壁等である。
ロボット1は、ロボットアーム12を支持するベース10と、ロボット1の全体を制御するロボット制御装置14とをさらに有していてもよい。
ロボットアーム12は、エンドエフェクタ11の位置及び姿勢を変更する。ロボットアーム12は、垂直多関節型のロボットアームである。ロボットアーム12は、複数のリンク12aと、複数のリンク12aを接続する関節12bと、複数の関節12bを回転駆動するサーボモータ15(図3参照)とを有している。例えば、ロボットアーム12の一端部(エンドエフェクタ11とは反対側の端部)に位置するリンク12aは、関節12bを介して、鉛直方向に延びる回転軸R1回りに回転可能にベース10に連結されている。ロボットアーム12は、動作部の一例である。
尚、ロボットアーム12は、水平多関節型、パラレルリンク型、直角座標型、又は極座標型のロボットアーム等であってもよい。
図2は、エンドエフェクタ11の拡大図である。エンドエフェクタ11は、研削装置11aを有し、対象物Wに作用としての研削を加える。エンドエフェクタ11は、作用部の一例である。尚、エンドエフェクタ11が対象物Wに加える作用は、研削ではなく、切削又は研磨等であってもよい。
例えば、研削装置11aは、グラインダ、オービタルサンダ、ランダムオービットサンダ、デルタサンダ又はベルトサンダ等であってもよい。グラインダは、円盤状の研削砥石を回転させるタイプ、円錐状又は円柱状の研削砥石を回転させるタイプ等であってもよい。ここでは、研削装置11aは、円盤状の研削砥石を回転させるタイプのグラインダである。
ロボット1には、直交3軸のスレーブ座標系が規定されている。スレーブ座標系は、ロボット1を基準に設定されている。スレーブ座標系は、互いに直交するXr軸、Yr軸、及びZr軸を有している。Xr軸、Yr軸、及びZr軸は、原点Orにおいて互いに交差している。原点Orは、ベース10の上面に位置している。Xr軸及びYr軸は、水平方向に、即ち、ベース10の上面と平行に延びている。Zr軸は、鉛直方向に延びている。Zr軸は、ロボットアーム12とベース10とを連結する関節12bの回転軸R1と一致している。Yr軸は、図1における紙面と垂直に延びている。
また、エンドエフェクタ11には、直交3軸のツール座標系が規定されている。ツール座標系は、エンドエフェクタ11に固定された座標系である。ツール座標系は、図2に示すように、互いに直交するXt軸、Yt軸、及びZt軸を有している。Xt軸、Yt軸、及びZt軸は、原点Otにおいて互いに交差している。例えば、原点Otは、研削装置11aのうち対象物Wとの接点に位置している。詳しくは、研削装置11aの研削砥石の回転軸Bは、エンドエフェクタ11が取り付けられたリンク12aの回転軸R2に対して傾斜している。研削砥石の外周縁のうち回転軸R2の方向においてリンク12aから最も離れた部分が、対象物Wとの接点として想定されている。Zt軸は、回転軸R2と平行に延びている。Xt軸は、研削砥石の回転軸BがXt-Zt平面内で延びるように設定されている。Yt軸は、図1における紙面と垂直に延びている。ツール座標系は、スレーブ座標系から見ると、エンドエフェクタ11の位置・姿勢に応じて変化する。つまり、ツール座標系は、ロボットアーム12の移動に応じて、エンドエフェクタ11と共に移動する。
ロボット1は、エンドエフェクタ11が対象物から受ける反力(以下、「接触力」という)を検出する接触力センサ13をさらに有していてもよい。
接触力センサ13は、この例では、ロボットアーム12とエンドエフェクタ11との間(具体的には、ロボットアーム12とエンドエフェクタ11との連結部)に設けられている。接触力センサ13は、直交する3軸方向の力と該3軸回りのモーメントを検出する。接触力センサ13は、接触力検出部の一例である。
尚、接触力検出部は、接触力センサ13に限定されない。例えば、接触力センサ13は、1軸、2軸又は3軸方向の力のみを検出してもよい。あるいは、接触力検出部は、ロボットアーム12のサーボモータ15の電流を検出する電流センサ又はサーボモータ15のトルクを検出するトルクセンサ等であってもよい。
図3は、ロボット制御装置14の概略的なハードウェア構成を示す図である。ロボット制御装置14は、ロボットアーム12のサーボモータ15及び研削装置11aを制御する。ロボット制御装置14は、接触力センサ13の検出信号を受け付ける。ロボット制御装置14は、制御装置3と情報、指令及びデータ等の送受信を行う。ロボット制御装置14は、制御部16と、記憶部17と、メモリ18とを有している。
制御部16は、ロボット制御装置14の全体を制御する。制御部16は、各種の演算処理を行う。例えば、制御部16は、CPU(Central Processing Unit)等のプロセッサで形成されている。制御部16は、MCU(Micro Controller Unit)、MPU(Micro Processor Unit)、FPGA(Field Programmable Gate Array)、PLC(Programmable Logic Controller)等で形成されていてもよい。
記憶部17は、制御部16で実行されるプログラム及び各種データを格納している。記憶部17は、不揮発性メモリ、HDD(Hard Disc Drive)又はSSD(Solid State Drive)等で形成される。
メモリ18は、データ等を一時的に格納する。例えば、メモリ18は、揮発性メモリで形成される。
操作装置2は、図1に示すように、ユーザが操作する操作部21と、操作部21にユーザから加えられる操作力を検出する操作力センサ23とを有している。操作装置2は、ロボット1を手動運転で操作するための入力を受け付け、入力された情報である操作情報を制御装置3へ出力する。具体的には、ユーザは、操作部21を把持して操作装置2を操作する。その際に操作部21に加えられる力を操作力センサ23が検出する。操作力センサ23によって検出される操作力は、操作情報として制御装置3へ出力される。
操作装置2は、ベース20と、ベース20に設けられ、操作部21を支持する支持機構22と、操作装置2の全体を制御する操作制御装置24とをさらに有していてもよい。操作装置2は、制御装置3からの制御によって、操作力に対する反力をユーザに与える。具体的には、操作制御装置24は、制御装置3からの指令を受けて、支持機構22を制御することによって、反力をユーザに感知させる。支持機構22は、支持部の一例である。
図4は、操作装置2の斜視図である。支持機構22は、6つのアーム22aを有している。2つのアーム22aが1つの組を形成している。つまり、支持機構22は、3組のアーム22aを有している。3組のアーム22aは、操作部21から放射状に延びている。各アーム22aは、関節22bを有している。各関節22bは、アーム22aを形成する2つのリンクを直交する3軸回りに回転可能にボールジョイント等の自在継手を介して連結している。各アーム22aは、関節22bで屈曲可能である。各アーム22aの一端は、直交する3軸回りに回転可能に操作部21にボールジョイント等の自在継手を介して連結されている。各アーム22aの他端は、サーボモータ25に減速機等(図示省略)を介して連結されている。サーボモータ25は、ベース20上に配置されている。
ベース20の上面には、6つのサーボモータ25が配置されている。同組の2つのアーム22aに連結された2つのサーボモータ25が1つの組を形成している。各組の2つのサーボモータ25の回転軸は、一直線上に、即ち、同軸上に延びている。3組のサーボモータ25の回転軸が三角形を形成するように、6つのサーボモータ25は配置されている。
このように構成された支持機構22は、操作部21が3次元空間内で任意の位置及び姿勢をとることができるように、操作部21を支持する。操作部21の位置及び姿勢に対応して、サーボモータ25が回転する。サーボモータ25の回転量、即ち、回転角は、一義的に決まる。
操作装置2には、直交3軸のマスタ座標系が規定されている。マスタ座標系は、操作装置2を基準に設定されている。マスタ座標系は、互いに直交するXm軸、Ym軸、及びZm軸を有している。Xm軸、Ym軸、及びZm軸は、原点Omにおいて互いに交差している。原点Omは、ベース20の上面に位置している。Xm軸及びYm軸は、水平方向に、即ち、ベース20の上面と平行に延びている。Zm軸は、鉛直方向に延びている。Zm軸は、3組のサーボモータ25の回転軸によって形成される三角形の重心を通る。マスタ座標系は、操作装置2のベース20に固定された座標系である。
また、操作部21には、直交3軸の操作座標系が規定されている。操作座標系は、操作部21に固定された座標系である。操作座標系は、互いに直交するXn軸、Yn軸及びZn軸を有している。Xn軸、Yn軸及びZn軸は、原点Onにおいて互いに直交している。例えば、原点Onは、操作部21の中央に位置している。操作座標系は、マスタ座標系から見ると、操作部21の位置・姿勢に応じて変化する。つまり、操作座標系は、操作部21の移動に応じて、操作部21と共に移動する。この例では、操作座標系は、ツール座標系と対応している。
さらに、操作座標系においては、基準面RPが設定されている。この例では、基準面RPは、平面であり、具体的には、Xn-Yn平面に平行な面である。
操作力センサ23は、この例では、図1に示すように操作部21と支持機構22との間(具体的には、操作部21と支持機構22との連結部)に設けられている。操作力センサ23は、直交する3軸方向の力と該3軸回りのモーメントを検出する。操作力センサ23は、操作力検出部の一例である。
尚、操作力検出部は、操作力センサ23に限定されない。例えば、操作力センサ23は、1軸、2軸又は3軸方向の力のみを検出してもよい。あるいは、操作力検出部は、支持機構22のサーボモータ25の電流を検出する電流センサ又はサーボモータ25のトルクを検出するトルクセンサ等であってもよい。
図5は、操作制御装置24の概略的なハードウェア構成を示す図である。操作制御装置24は、サーボモータ25を制御することによって支持機構22を動作させる。操作制御装置24は、操作力センサ23の検出信号を受け付ける。操作制御装置24は、制御装置3と情報、指令及びデータ等の送受信を行う。操作制御装置24は、制御部26と、記憶部27と、メモリ28とを有している。
制御部26は、操作制御装置24の全体を制御する。制御部26は、各種の演算処理を行う。例えば、制御部26は、CPU(Central Processing Unit)等のプロセッサで形成されている。制御部26は、MCU(Micro Controller Unit)、MPU(Micro Processor Unit)、FPGA(Field Programmable Gate Array)、PLC(Programmable Logic Controller)等で形成されていてもよい。
記憶部27は、制御部26で実行されるプログラム及び各種データを格納している。記憶部27は、不揮発性メモリ、HDD(Hard Disc Drive)又はSSD(Solid State Drive)等で形成される。
メモリ28は、データ等を一時的に格納する。例えば、メモリ28は、揮発性メモリで形成される。
制御装置3は、ロボット1及び操作装置2を制御する。制御装置3は、操作装置2を介して入力される操作情報に応じてエンドエフェクタ11を動作させるように、ロボットアーム12への指令であるスレーブ指令をロボット1へ出力する。制御装置3は、操作装置2を介した操作に応じてロボットアーム12を制御することによってエンドエフェクタ11に対象物Wへ作用を加えさせる。さらに、制御装置3は、対象物Wからロボット1が受ける反力に応じて操作部21を動作させるように、支持機構22への指令であるマスタ指令を操作装置2へ出力する。制御装置3は、支持機構22を制御することによって、エンドエフェクタ11が対象物Wから受ける反力をユーザに提示する。
図6は、制御装置3の概略的なハードウェア構成を示す図である。制御装置3は、ロボット制御装置14及び操作制御装置24と情報、指令及びデータ等の送受信を行う。制御装置3は、制御部31と、記憶部32と、メモリ33とを有している。
制御部31は、制御装置3の全体を制御する。制御部31は、各種の演算処理を行う。例えば、制御部31は、CPU(Central Processing Unit)等のプロセッサで形成されている。制御部31は、MCU(Micro Controller Unit)、MPU(Micro Processor Unit)、FPGA(Field Programmable Gate Array)、PLC(Programmable Logic Controller)等で形成されていてもよい。
記憶部32は、制御部31で実行されるプログラム及び各種データを格納している。記憶部32は、不揮発性メモリ、HDD(Hard Disc Drive)又はSSD(Solid State Drive)等で形成される。例えば、記憶部32は、制御プログラム321及び対象物Wの三次元情報322を格納している。
制御プログラム321は、ロボットシステム100を制御する機能をコンピュータとしての制御部31に実現させるためのプログラムである。
対象物Wの三次元情報322は、対象物Wの表面を表す情報である。例えば、対象物Wの三次元情報322は、対象物WのSTL(Standard Triangulated Language)データである。つまり、対象物Wの表面が複数のポリゴンで表現され、各ポリゴンの座標情報が三次元情報322として記憶部32に格納されている。各ポリゴンの座標情報は、対象物Wに設定されたワーク座標系における座標情報である。記憶部32には、ワーク座標系の原点とスレーブ座標系の原点との位置関係も格納されている。
対象物Wの三次元情報322は、予め取得され、記憶部32に格納されている。例えば、三次元スキャナ等で対象物Wの表面が測定され、対象物Wの点群データが取得される。点群データから、対象物Wがポリゴン化され、STLデータが取得される。あるいは、対象物WのCADデータ等の設計データから、STLデータが取得されてもよい。
メモリ33は、データ等を一時的に格納する。例えば、メモリ33は、揮発性メモリで形成される。
図7は、ロボットシステム100の制御系統の構成を示すブロック図である。
ロボット制御装置14の制御部16は、記憶部17からプログラムをメモリ18に読み出して展開することによって、各種機能を実現する。具体的には、制御部16は、入力処理部41と動作制御部42として機能する。
入力処理部41は、接触力センサ13及びサーボモータ15から受け取る情報、データ及び指令等を制御装置3に出力する。具体的には、入力処理部41は、接触力センサ13から6軸の力の検出信号を受け取り、該検出信号を操作情報として制御装置3へ出力する。また、入力処理部41は、サーボモータ15から回転センサ(例えば、エンコーダ)及び電流センサの検出信号を受け取る。入力処理部41は、動作制御部42によるロボットアーム12のフィードバック制御のために該検出信号を動作制御部42へ出力する。また、入力処理部41は、ロボットアーム12の位置情報として該検出信号を制御装置3へ出力する。
動作制御部42は、制御装置3からスレーブ指令(具体的には、指令位置xds)を受け取り、スレーブ指令に従ってロボットアーム12を動作させるための制御指令を生成する。動作制御部42は、サーボモータ15へ制御指令を出力し、ロボットアーム12を動作させ、研削装置11aを指令位置に対応する位置へ移動させる。このとき、動作制御部42は、入力処理部41からのサーボモータ15の回転センサ及び/又は電流センサの検出信号に基づいて、ロボットアーム12の動作をフィードバック制御する。また、動作制御部42は、研削装置11aへ制御指令を出力し、研削装置11aを動作させる。これにより、研削装置11aが対象物Wを研削する。
操作制御装置24の制御部26は、記憶部27からプログラムをメモリ28に読み出して展開することによって、各種機能を実現する。具体的には、制御部26は、入力処理部51と動作制御部52として機能する。
入力処理部51は、操作力センサ23から受け取る情報、データ及び指令等を制御装置3に出力する。具体的には、入力処理部51は、操作力センサ23から6軸の力の検出信号を受け取り、該検出信号を反力情報として制御装置3へ出力する。また、入力処理部51は、サーボモータ25から回転センサ(例えば、エンコーダ)及び電流センサの検出信号を受け取る。入力処理部51は、動作制御部52による支持機構22のフィードバック制御のために該検出信号を動作制御部52へ出力する。
動作制御部52は、制御装置3からマスタ指令(具体的には、指令位置xdm)を受け取り、マスタ指令に従って支持機構22を動作させるための制御指令を生成する。動作制御部52は、サーボモータ25へ制御指令を出力し、支持機構22を動作させ、操作部21を指令位置に対応する位置へ移動させる。このとき、動作制御部52は、入力処理部51からのサーボモータ25の回転センサ及び/又は電流センサの検出信号に基づいて、支持機構22の動作をフィードバック制御する。これにより、ユーザが操作部21に与える操作力に対して反力が与えられる。その結果、ユーザは、対象物Wから反力を操作部21から疑似的に感じつつ、操作部21を操作することができる。
制御装置3の制御部31は、記憶部32から制御プログラム321をメモリ33に読み出して展開することによって、各種機能を実現する。具体的には、制御部31は、操作力取得部61と接触力取得部62と加算部63と力/速度換算部64とスレーブ出力部69とゲイン処理部610とマスタ出力部611として機能する。
これらの機能によって、制御装置3は、操作情報及び反力情報に応じてスレーブ指令及びマスタ指令を生成する。制御装置3は、操作情報からスレーブ指令を生成する際に、操作装置2に設定された操作座標系における基準面RPが対象物Wの表面に対応付けられる座標変換を行う。つまり、制御装置3は、エンドエフェクタ11を動作させるためのスレーブ指令を操作装置2の操作情報から生成する際に、基準面RPと対象物Wの表面との対応関係と同じ対応関係で座標変換を実行する。例えば、ユーザが操作装置2を基準面RPに沿って操作した場合、制御装置3は、エンドエフェクタ11が対象物Wの表面に沿った動作を行うようなスレーブ指令を生成する。基準面RPは、操作座標系における仮想面であり、この例では、操作座標系における平面(例えば、操作座標系のXn-Yn平面と平行な面)である。座標変換は、生成されたスレーブ指令が操作情報に対して座標変換されていることを意味する。つまり、操作情報をまず座標変換するとか、スレーブ指令を生成する最終段階で座標変換するとか、どの段階で座標変換されるかは問わない。
さらに、制御装置3は、座標変換において、対象物Wの表面に対するエンドエフェクタ11の姿勢を一定に維持する。具体的には、制御装置3は、エンドエフェクタ11に設定されたツール座標系で定義された基準軸Aと対象物Wの表面との交点における対象物Wの法線に基準軸Aが一致するようにエンドエフェクタ11の姿勢を変更することによって、対象物Wの表面に対するエンドエフェクタ11の姿勢を一定に維持する。この例では、基準軸Aは、ツール座標系のZt軸である。
操作力取得部61は、入力処理部51を介して、操作力センサ23の検出信号を受け取り、検出信号に基づいて操作力fmを取得する。例えば、操作力取得部61は、操作力センサ23の検出信号から、操作部21の中央に作用する力であって操作座標系で表される力を操作力fmとして求める。操作力取得部61は、操作力fmを加算部63へ入力する。
接触力取得部62は、入力処理部41を介して、接触力センサ13の検出信号を受け取り、検出信号に基づいて接触力fsを取得する。例えば、接触力取得部62は、接触力センサ13の検出信号から、エンドエフェクタ11のうち対象物Wとの接点に作用する力であってツール座標系で表される力を接触力fsとして求める。接触力取得部62は、接触力fsを加算部63へ入力する。
加算部63は、操作力取得部61から入力された操作力fmと接触力取得部62から入力された接触力fsとの和を算出する。ここで、操作力fmと接触力fsとは、反対向きの力なので、操作力fmと接触力fsとは正負の符号が異なる。つまり、操作力fmと接触力fsとが足されることによって、操作力fmの絶対値は小さくなる。
力/速度換算部64は、スレーブ指令及びマスタ指令の基になる指令速度xd’を生成する。力/速度換算部64は、操作装置2による操作情報に応じた成分である操作成分を生成する操作換算部65と、座標変換に相当する成分である変換成分を生成する変換部66とを有する。力/速度換算部64は、操作成分に変換成分を付加して指令速度xd’を生成する。
操作換算部65は、操作力センサ23によって検出される操作力fmを操作情報として操作成分を生成する。操作換算部65は、操作情報に加えて、ロボット1が対象物Wから受ける反力に関する反力情報も考慮して操作成分を生成する。具体的には、操作換算部65は、接触力センサ13によって検出される接触力fsを反力情報として、操作情報及び反力情報に基づいて操作成分を生成する。つまり、操作成分は、少なくとも操作情報に応じた指令成分であり、より具体的には操作情報及び反力情報に応じた指令成分である。
詳しくは、操作換算部65は、操作力fmと接触力fsとの和である合成力fm+fsを速度e’に換算する。操作換算部65は、慣性係数、粘性係数(ダンパ係数)及び剛性係数(バネ係数)を含む運動方程式に基づく運動モデルを用いて、合成力fm+fsが作用した場合の物体の速度e’を算出する。具体的には、操作換算部65は、以下の運動方程式に基づいて速度e’を算出する。
Figure 2022164073000002
ここで、eは、物体の位置である。mdは、慣性係数である。cdは、粘性係数である。kdは、剛性係数である。fmは、操作力である。fsは、接触力である。尚、「’」は1回微分を表し、「”」は2回微分を表す。
式(1)は線形微分方程式であり、式(1)を速度e’について解くと、e’=V(fm,fs)となる。V(fm,fs)は、fm,fsを変数とし,md,cd,kd等を定数とする関数である。
関数V(fm,fs)は、記憶部32に格納されている。操作換算部65は、記憶部32から関数V(fm,fs)を読み出して速度e’を求める。速度e’が操作成分である。以下、速度e’を「操作成分e’」と称する。
変換部66は、変換成分s’を生成する。より詳しくは、変換成分s’は、対象物Wの表面に対するエンドエフェクタ11の姿勢を一定に維持しつつ、操作座標系における基準面RPが対象物Wの表面に対応付けられる座標変換を実現するための指令成分である。
変換部66は、ツール座標系で定義された基準軸Aと対象物Wの表面との交点における対象物の法線を取得する取得部67と、基準軸を法線に一致させるようにエンドエフェクタ11を移動させるための指令速度を変換成分s’として求める算出部68とを有している。
取得部67は、ツール座標系における原点Otの位置及びZt軸の向きを求める。この例では、ツール座標系のZt軸が基準軸Aとして設定されている。制御装置3は、サーボモータ15の回転センサ及び電流センサの検出信号が入力処理部41から、ロボットアーム12の位置情報として入力され、ロボットアーム12の状態(具体的には、位置及び姿勢)を逐次監視している。取得部67は、現在のロボットアーム12の状態から、現在のツール座標系の原点Otの位置及びZt軸の向きを求める。また、取得部67は、対象物Wの三次元情報322を記憶部32から読み出す。
そして、取得部67は、図8に示すように、基準軸A(Zt軸)と対象物Wの表面との交点Pにおける法線Nを求める。図8は、基準軸Aと対象物Wとの交点Pにおける対象物Wの法線Nを示す模式図である。
具体的には、取得部67は、対象物Wの表面を形成する複数のポリゴン(即ち、三角形の微小部分)のうち基準軸Aが貫通するポリゴンを求める。取得部67は、基準軸Aが貫通するポリゴンの法線Nを求める。例えば、取得部67は、該ポリゴンの3つの頂点を通る平面の法線であって、該ポリゴンと基準軸Aとの交点を通る法線Nを求める。
算出部68は、取得部67によって求められた法線Nに基準軸Aが一致するようにエンドエフェクタ11を移動させるための指令速度を変換成分s’として求める。図8の例では、変換成分s’は、実線のエンドエフェクタ11を二点鎖線のエンドエフェクタ11の位置へ移動させるための指令速度である。
力/速度換算部64は、操作成分e’に変換成分s’を付加し、指令速度xd’を生成する。操作成分e’に変換成分s’を付加することは、基準面RPと対象物Wの表面との対応関係と同じ対応関係の座標変換を操作成分e’に施すことに等しい。力/速度換算部64は、生成された指令速度xd’をスレーブ出力部69とゲイン処理部610とへ出力する。
スレーブ出力部69は、指令速度xd’(即ち、操作成分e’及び変換成分s’)に基づいてスレーブ指令を生成する。詳しくは、スレーブ出力部69は、指令速度xd’をエンドエフェクタ11の指令位置xdsに換算する。指令位置xdsは、ツール座標系における位置である。指令位置xdsがスレーブ指令である。例えば、操作装置2の移動量に対するロボット1の移動量の比が設定されている場合、スレーブ出力部69は、指令速度xd’から求めた指令位置を移動比に応じて逓倍して指令位置xdsを求める。指令速度xd’は、最終的にスレーブ指令に換算される。そのため、操作成分e’は、スレーブ指令のうち操作情報に応じた指令成分が速度の形式で表されたものとみなすことができる。変換成分s’は、スレーブ指令のうち座標変換に相当する指令成分が速度の形式で表されたものとみなすことができる。
スレーブ出力部69は、指令位置xdsをロボット制御装置14、具体的には、動作制御部42へ出力する。動作制御部42は、指令位置xdsへのエンドエフェクタ11の移動を実現させるための、サーボモータ15への制御指令を生成する。動作制御部42は、生成された制御指令をサーボモータ15へ出力することによって、ロボットアーム12を動作させ、エンドエフェクタ11を指令位置xdsに対応する位置へ移動させる。
ゲイン処理部610は、指令速度xd’にゲイン処理を施す。ゲイン処理部610は、指令速度xd’の各成分のゲインを調整する。この例では、ゲイン処理部610は、指令速度xd’のうち変換成分s’のゲインをゼロにする。つまり、ゲイン処理部610は、変換成分s’をキャンセルして、操作成分e’のみを出力する。ゲイン処理部60は、処理後の指令速度xd’をマスタ出力部611へ出力する。
マスタ出力部611は、ゲイン処理された指令速度xd’に基づいてマスタ指令を生成する。詳しくは、マスタ出力部611は、ゲイン処理された指令速度xd’を操作部21の指令位置xdmに換算する。指令位置xdmは、操作座標系における位置である。指令位置xdmがマスタ指令である。
マスタ出力部611は、指令位置xdmを操作制御装置24、具体的には、動作制御部52へ出力する。動作制御部52は、指令位置xdmへの操作部21の移動を実現させるための、サーボモータ25への制御指令を生成する。動作制御部52は、生成された制御指令をサーボモータ25へ出力することによって、支持機構22を動作させ、操作部21を指令位置xdmに対応する位置へ移動させる。
[ロボットシステムの動作]
次に、このように構成されたロボットシステム100の動作について説明する。図9は、ロボットシステム100の動作を示すフローチャートである。この例では、ユーザは、操作装置2を操作して、ロボット1によって対象物Wに研削加工を行う。制御装置3は、図9に示すフローチャートの処理を所定の制御周期で繰り返し実行する。
まず、制御装置3は、ステップS1において、操作力及び接触力を取得する。ユーザが操作装置2を操作すると、ユーザが操作部21を介して加えた操作力を操作力センサ23が検出する。操作力センサ23に検出された操作力は、入力処理部51によって検出信号として制御装置3へ入力される。このとき、ロボット1の接触力センサ13によって検出される接触力が入力処理部41を介して制御装置3の接触力取得部62に検出信号として入力される。
制御装置3では、操作力取得部61が、検出信号に基づく操作力fmを加算部63へ入力する。接触力取得部62は、検出信号に基づく接触力fsを加算部63へ入力する。
続いて、ステップS2において、制御装置3は、マスタ指令及びスレーブ指令の操作成分e’を生成する。具体的には、加算部63は、合成力fm+fsを力/速度換算部64へ入力する。力/速度換算部64は、関数V(fm,fs)を用いて、合成力fm+fsから操作成分e’を求める。
ステップS1,S2と並行して、制御装置3は、ステップS3において変換成分s’を生成する。具体的には、変換部66は、現在のツール座標系の原点Otの位置及びZt軸の向きを導出する。変換部66は、対象物Wの三次元情報322を記憶部32から読み出し、Zt軸、即ち、基準軸Aと対象物Wの表面との交点Pを求める。変換部66は、求められた交点Pにおける対象物Wの表面の法線Nを求める。そして、変換部66は、基準軸Aが対象物Wの法線Nに一致するようにエンドエフェクタ11を移動させるための指令速度を変換成分s’として求める。
ステップS4において、制御装置3は、操作成分e’に変換成分s’を付加して、指令速度xd’を生成する。ステップS1,S2,S3,S4は、操作情報に基づいて動作部への指令を生成する際に、マスタ装置に設定された操作座標系における基準面が対象物の表面に対応付けられる座標変換を行うこととに相当する。
ステップS5において、制御装置3は、指令速度xd’からスレーブ指令、即ち、エンドエフェクタ11の指令位置xdsを生成する。ステップS5は、マスタ装置を介して入力される操作情報に応じて作用部を動作させるように動作部への指令を出力することに相当する。
それと並行して、制御装置3は、ステップS7において、指令速度xd’にゲイン処理を施し、指令速度xd’のうちの角速度成分をゼロにする。その後、制御装置3は、ステップS8において、ゲイン処理された指令速度xd’からマスタ指令、即ち、操作部21の指令位置xdmを生成する。
その後、制御装置3は、ステップS6において指令位置xdsをロボット1へ出力すると共に、ステップS9において指令位置xdmを操作装置2へ出力する。これにより、ロボット1は、指令位置xdsに応じて動作して研削を実行する。それと並行して、操作装置2は、指令位置xdmに応じて動作して、ユーザに反力を提示する。
このような処理が行われた場合のエンドエフェクタ11等の動作について詳しく説明する。図10は、ユーザによって動かされる操作部21の模式図である。図11は、座標変換が行われない場合のエンドエフェクタ11の動作を示す模式図である。図12は、座標変換が行われた場合のエンドエフェクタ11の動作を示す模式図である。
この例では、ユーザは、図10に示すように、操作装置2の操作部21を基準面RPに沿って、例えば、X方向へ移動させる。これにより、Y方向成分及びZ方向成分を含まないX方向への操作力が、操作装置2から制御装置3へ入力される。このとき、ロボット1に作用する接触力も、制御装置3へ入力される。
制御装置3は、操作装置2からの操作力に応じて、即ち、合成力fm+fsに応じて操作成分e’を求める。ここで、操作部21はX方向へのみ動かされているので、合成力fm+fsもX方向成分のみである。そのため、操作成分e’は、X方向成分のみであり、Y方向成分、Z方向成分及び回転成分を含まない。
仮に、制御装置3が座標変換を行うことなく、単純に操作成分e’からスレーブ指令を生成したとすると、エンドエフェクタ11は、図11に示すように、ツール座標系のX方向にのみ移動する。つまり、エンドエフェクタ11は、操作座標系における操作部21の動作と同様の動作、又は、相似的な動作をツール座標系において実行する。この場合、エンドエフェクタ11を対象物Wの表面に沿って移動させるためには、ユーザは、それに相当する操作を操作部21に対して入力する必要がある。例えば、ユーザは、操作部21をX方向に加えて、Z方向へも動かす必要がある。そのため、ユーザは、エンドエフェクタ11を対象物Wの表面に沿わせるための操作を行いつつ、エンドエフェクタ11による加工位置を調整する等の操作を行う必要がある。
それに対し、制御装置3は、操作情報からスレーブ指令を生成する際に、操作座標系における基準面RPを対象物Wの表面に対応付ける座標変換を行う。具体的には、図8に示すように、制御装置3は、基準軸Aと対象物Wの表面との交点Pにおける法線Nに基準軸Aが一致するようにエンドエフェクタ11を移動させる(この動作が座標変換に相当する)。これにより、ツール座標系の向きが変わる。操作成分e’は、ツール座標系に対応している。今回の操作成分e’は、X方向成分のみであるが、ツール座標系のXt軸の向きが変わるので、エンドエフェクタ11は、変更されたXt軸の向きへ移動する。図12の例では、ツール座標系のZt軸が交点Pの法線Nに一致させられるので、ツール座標系のXt軸は、交点Pにおける対象物Wの接線方向を向くことになる。つまり、X方向成分のみの操作成分e’は、対象物Wの接線方向を向く成分となる。
このような処理が制御周期で繰り返される。つまり、各周期において、基準軸A、及び、基準軸Aに対応する、対象物Wの法線Nが求められ、エンドエフェクタ11の姿勢、即ち、ツール座標系の向きが逐次変更される。具体的には、ツール座標系のXtYt平面が対象物Wの交点Pにおける接平面と平行となるように、ツール座標系の向きが逐次変更される。
その結果、ユーザは、操作部21を基準面RPに沿って移動させると、エンドエフェクタ11は、図12に示すように、対象物Wの表面に沿うように移動する。ユーザは、エンドエフェクタ11を対象物Wの表面に沿わせるための意図的な操作が不要となる。ユーザは、対象物Wの表面上のエンドエフェクタ11による加工位置の調整、加工時(例えば、研削時)のエンドエフェクタ11の移動軌跡(即ち、エンドエフェクタ11の動かし方)、及び、エンドエフェクタ11による加工量(例えば、研削の深さ)等の、エンドエフェクタ11を対象物Wの表面に沿わせる以外の操作に集中することができる。
別の観点からは、ユーザは、操作部21を基準面RPに沿って移動させることによってエンドエフェクタ11を対象物Wの表面に沿って移動させることができるので、操作部21の動作範囲が限定されている場合であっても、エンドエフェクタ11を比較的柔軟かつ広範囲に移動させることができる。例えば、対象物Wの表面形状は様々であり、対象物Wの表面の法線方向が略180度変化するような表面形状もあり得る。一方、前述のように操作部21が支持機構22によって支持されている構成においては、操作部21の動作範囲は、支持機構22に依存する。操作部21を略180度回転させることは難しい。そのような場合であっても、制御装置3は、基準面RPに沿った操作部21の移動を対象物Wの表面に沿ったエンドエフェクタ11の移動に変換する。このように、基準面RPに沿った操作部21の移動という限られた範囲の操作であっても、対象物Wの様々な表面形状に応じてエンドエフェクタ11を柔軟に且つ広範囲に移動させることができる。この点においても、操作装置2を操作してロボット1を動作させる際の操作性を向上させることができる。
さらに、この例では、座標変換において、対象物Wの表面に対するエンドエフェクタ11の姿勢が一定に維持される。つまり、基準面RPに対する操作部21の姿勢(即ち、角度)が一定に維持されていれば、エンドエフェクタ11は、対象物Wの表面に対する姿勢が一定に維持されつつ、対象物Wの表面に沿って移動する。エンドエフェクタ11の姿勢が一定に維持されるとは、ツール座標系で定義された基準軸Aと対象物Wの表面との交点Pにおける対象物Wの法線N又は接線に対する基準軸Aの角度が一定に維持されることを意味する。これにより、操作座標系における基準面RPに対する姿勢が一定での基準面RPに沿った操作部21の操作は、対象物Wの表面に対する姿勢が一定で且つ対象物Wの表面に沿ったエンドエフェクタ11の移動に変換される。
対象物Wの表面が湾曲している場合、エンドエフェクタ11を対象物Wの表面に沿って移動させつつ、対象物Wの表面に対するエンドエフェクタ11の姿勢を一定に維持するためには、対象物Wの表面におけるエンドエフェクタ11の位置に応じてエンドエフェクタ11を回転させる必要がある。制御装置3の座標変換によれば、ユーザは、基準面RPに対する操作部21の姿勢(即ち、角度)を一定に維持したまま操作部21を基準面RPに沿って移動させることによって、それ以外の特段の操作をしなくても、エンドエフェクタ11を対象物Wの表面に対する姿勢を一定に維持したまま対象物Wの表面に沿って移動させることができる。特に、対象物Wの表面が複雑な形状であっても、対象物Wの表面に対するエンドエフェクタ11の姿勢を一定に維持することを容易な操作で実現できる。
その結果、研削の場合には、対象物Wの表面に対するグラインダ等のツールの角度を一定に維持したまま、ツールを対象物Wの表面に沿って移動させることを容易な操作で実現できる。これにより、対象物Wの表面の一様な、即ち、均質な研削を容易な操作で実現できる。作用部による作用は、研削に限定されず、切削若しくは研磨、溶接、塗装又は組立であってもよい。対象物Wの表面に対するエンドミル、溶接トーチ又は塗装ガン等のツールの姿勢(例えば、角度)を一定に維持したまま、ツールを対象物Wの表面に沿って移動させることを容易な操作で実現できる。あるいは、対象物Wに形成された開口に別の部品を挿入する等の組立において、開口が対象物Wの表面に対して所定の方向に延びている場合、対象物Wの表面に対するエンドエフェクタ11の姿勢を一定に維持することによって、開口に対する部品の向きを一定に維持することが容易になる。それにより、開口への部品の挿入を容易に行うことができる。その結果、対象物Wの表面の一様な、即ち、均質な切削若しくは研磨、溶接、塗装又は組立を容易な操作で実現できる。
ただし、制御装置3の座標変換は、エンドエフェクタ11を対象物Wの表面に沿った方向にしか移動させることができないことを意味するものではない。例えば、操作部21が基準面RPと交差する方向に動かされた場合には、そのような操作情報に応じて、エンドエフェクタ11は、対象物Wの表面と交差する方向に移動させられる。ただし、操作情報からスレーブ指令が生成される際には、基準面RPが対象物Wの表面に対応付けられるのと同じ対応関係で座標変換が実行される。
さらに、基準面RPに対する操作部21の姿勢が一定であれば対象物Wの表面に対するエンドエフェクタ11の姿勢が一定に維持されるので、操作部21の操作方向と対象物Wの表面に対するエンドエフェクタ11の移動方向との対応関係が一定に維持される。すなわち、対象物Wの表面上のエンドエフェクタ11の位置が変化しても、エンドエフェクタ11を対象物Wの表面の法線方向又は接線方向等の特定の方向に移動させるための操作部21の操作座標系における操作方向は変化しない。例えば、前述の例では、対象物Wの表面上のエンドエフェクタ11の位置が変化しても、操作座標系におけるZn軸方向への操作部21の操作は、常に、対象物Wの表面に対する法線方向へのエンドエフェクタ11の移動に変換される。そのため、ユーザは、対象物Wの表面に対するエンドエフェクタ11の姿勢をあまり意識することなく、操作部21を操作することができる。
また、指令速度xd’からマスタ指令が生成される際に、指令速度xd’のうち変換成分s’がゼロにされ、指令速度xd’のうち操作成分e’のみを用いてマスタ指令が生成される。これにより、対象物Wの表面に沿ったエンドエフェクタ11の移動に対応する操作部21の移動がキャンセルされる。仮に、対象物Wの表面に沿ったエンドエフェクタ11の移動に対応するように操作部21が動作制御されると、対象物Wの表面に対するエンドエフェクタ11の姿勢を一定に維持するためのエンドエフェクタ11の回転に伴って操作部21も回転し得る。その場合、基準面RPが水平方向に対して傾斜する。つまり、指令速度xd’のうち変換成分s’を考慮することなく、指令速度xd’からマスタ指令が生成されることによって、操作部21の回転を低減し、基準面RPを水平に維持しやすくなる。ユーザは、基準面RPの回転変動を意識することなく、操作部21を水平に動かすことによって操作部21を基準面RPに沿って容易に移動させることができる。
以上のように、ロボットシステム100は、ユーザに操作される操作装置2(マスタ装置)と、対象物Wに作用を加えるエンドエフェクタ11(作用部)とエンドエフェクタ11を動作させるロボットアーム12(動作部)とを有するロボット1(スレーブ装置)と、操作装置2を介して入力される操作情報に応じてエンドエフェクタ11を動作させるようにロボットアーム12への指令を出力する制御装置3とを備え、制御装置3は、操作装置2に設定された操作座標系における基準面RPが対象物Wの表面に対応付けられる座標変換を行って、操作情報に基づいてロボットアーム12への指令を生成する。
換言すると、ユーザに操作される操作装置2(マスタ装置)と、対象物Wに作用を加えるエンドエフェクタ11(作用部)とエンドエフェクタ11を動作させるロボットアーム12(動作部)とを有するロボット1(スレーブ装置)とを備えるロボットシステム100の制御方法は、操作装置2を介して入力される操作情報に応じてエンドエフェクタ11を動作させるようにロボットアーム12への指令を出力することと、操作情報に基づいてロボットアーム12への指令を生成する際に、操作装置2に設定された操作座標系における基準面RPが対象物Wの表面に対応付けられる座標変換を行うこととを含む。
さらに換言すると、ユーザに操作される操作装置2(マスタ装置)と、対象物Wに作用を加えるエンドエフェクタ11(作用部)とエンドエフェクタ11を動作させるロボットアーム12(動作部)とを有するロボット1(スレーブ装置)とを備えるロボットシステム100を制御する機能をコンピュータに実現させるための制御プログラム321は、操作装置2を介して入力される操作情報に応じてエンドエフェクタ11を動作させるようにロボットアーム12への指令を出力する機能と、操作情報に基づいてロボットアーム12への指令を生成する際に、操作装置2に設定された操作座標系における基準面RPが対象物Wの表面に対応付けられる座標変換を行う機能とをコンピュータに実現させる。
これらの構成によれば、基準面RPに沿った操作装置2の操作が、対象物Wの表面に沿ったエンドエフェクタ11の移動に変換される。ユーザは、対象物Wの表面形状を考慮して操作装置2を操作する必要はなく、操作装置2を基準面RPに沿って動かすことによって、エンドエフェクタ11を対象物Wの表面に沿って移動させることができる。対象物Wの表面が湾曲したり、複雑な形状をしていたりしても、ユーザは、操作装置2の単純な操作によって、エンドエフェクタ11を対象物Wの表面に沿って移動させることができる。その結果、操作装置2を操作してロボット1を動作させる際の操作性を向上させることができる。例えば、ユーザは、対象物Wの表面形状を考慮して操作装置2を操作する必要がない分、対象物Wの表面上のエンドエフェクタ11の位置の調整又は操作部21への力加減の調整等に注力することができ、操作の精度を向上させることができる。
別の観点からは、基準面RPに沿った操作装置2の操作が、対象物Wの表面に沿ったエンドエフェクタ11の移動に変換されるので、操作部21の動作範囲が限定されている場合であっても、エンドエフェクタ11を比較的柔軟かつ広範囲に移動させることができる。基準面RPに沿った操作部21の移動という限られた範囲の操作であっても、対象物Wの様々な表面形状に応じてエンドエフェクタ11を柔軟に且つ広範囲に移動させることができる。この点においても、操作装置2を操作してロボット1を動作させる際の操作性を向上させることができる。
また、基準面RPは、操作座標系における平面である。
この構成によれば、ユーザは、操作装置2を操作座標系において平面的に動かすことによって、エンドエフェクタ11を対象物Wの表面に沿って移動させることができる。つまり、ユーザは、平面に対して作用を加えるかのような操作を操作装置2を介して行うことによって、エンドエフェクタ11を対象物Wの表面に沿って移動させることができる。
さらに、制御装置3は、座標変換において、対象物Wの表面に対するエンドエフェクタ11の姿勢を一定に維持する。
この構成によれば、制御装置3は、操作座標系における基準面RPを対象物Wの表面に対応付けるような座標変換を行う際に、対象物Wの表面に対するエンドエフェクタ11の姿勢が一定になるようにエンドエフェクタ11の姿勢を調整する。そのため、ユーザは、対象物Wの表面に対するエンドエフェクタ11の姿勢を一定にするための特段の操作を行わなくても、対象物Wの表面に対するエンドエフェクタ11の姿勢が一定になるように自動的に調整される。その結果、対象物Wに対する一様な、即ち、均質な作用をエンドエフェクタ11によって加えることができる。
詳しくは、制御装置3は、エンドエフェクタ11に設定されたツール座標系で定義された基準軸Aと対象物Wの表面との交点Pにおける対象物Wの法線Nに基準軸Aが一致するようにエンドエフェクタ11の姿勢を変更することによって、対象物Wの表面に対するエンドエフェクタ11の姿勢を一定に維持する。
この構成によれば、対象物Wの表面の法線Nに対するエンドエフェクタ11の姿勢が一定に維持される。
また、操作装置2は、ユーザが操作する操作部21と、操作部21を支持すると共に操作部21を動作させる支持機構22(支持部)とを有し、操作座標系は、操作部21に固定されている。
この構成によれば、操作部21は、支持機構22によって支持されると共に、支持機構22によって動作させられる。つまり、操作部21は、移動し得る。ここで、操作座標系は、操作部21に固定されているので、基準面RPは、操作部21の移動に伴って移動する。操作部21が移動しても、操作部21に対する基準面RPの関係が一定なので、ユーザは、基準面RPを容易に把握しながら移動させることができる。
さらに、操作装置2は、操作部21にユーザから加えられる操作力を検出する操作力センサ23をさらに有し、制御装置3は、操作情報に応じた指令成分である操作成分e’を操作力センサ23によって検出される操作力を操作情報として求める操作換算部65と、座標変換に相当する指令成分である変換成分s’を求める変換部66と、操作成分e’及び変換成分s’に基づいてロボットアーム12への指令を生成するスレーブ出力部69とを有している。
この構成によれば、操作装置2の操作力センサ23が、操作部21にユーザから加えられる操作力を操作情報として検出する。制御装置3の操作換算部65は、操作力センサ23によって検出された操作力に応じた操作成分e’を求める。さらに、制御装置3の変換部66は、座標変換に相当する変換成分s’を求める。そして、制御装置3のスレーブ出力部69は、操作成分e’及び変換成分s’に基づいて指令を生成する。このように、操作成分e’及び変換成分s’を分けて、それぞれを操作換算部65及び変換部66が求めることによって、操作成分e’及び変換成分s’を求める処理を簡単にすることができる。
詳しくは、変換部66は、エンドエフェクタ11に固定されたツール座標系で定義された基準軸Aと対象物Wの表面との交点Pにおける対象物Wの法線Nを取得する取得部67と、基準軸Aが法線Nに一致するようにエンドエフェクタ11を移動させるための指令成分を変換成分s’として求める算出部68とを有する。
この構成によれば、まず、取得部67が、エンドエフェクタ11のツール座標系で定義された基準軸Aと対象物Wの表面との交点Pにおける対象物Wの法線Nを取得する。その後、算出部68は、基準軸Aが法線Nに一致するようにエンドエフェクタ11を移動させるための変換成分s’を求める。この変換成分s’を用いてロボットアーム12への指令が生成されることによって、基準軸Aが対象物Wの法線Nと一致するように、エンドエフェクタ11の姿勢が調整される。
さらに、ロボットシステム100は、対象物Wからエンドエフェクタ11へ作用する反力である接触力を検出する接触力センサ13(接触力検出部)をさらに備え、操作換算部65は、操作力センサ23によって検出される操作力及び接触力センサ13によって検出される接触力に基づいて操作成分e’を求め、制御装置3は、操作部21を動作させるための支持機構22への指令を操作成分e’に基づいて生成するマスタ出力部611をさらに有している。
この構成によれば、操作換算部65は、操作力センサ23によって検出される操作力に加えて、接触力センサ13によって検出される接触力に基づいて操作成分e’を求める。その結果、エンドエフェクタ11は、操作力だけでなく接触力にも応じた動作を行う。さらに、操作成分e’は、ロボットアーム12への指令を生成するために用いられるだけでなく、操作装置2の支持機構22への指令を生成するために用いられる。その結果、操作装置2は、ユーザに接触力に応じた反力を提示することができる。つまり、ユーザは、エンドエフェクタ11に作用する反力を感じながら、操作装置2を操作することができる。
詳しくは、マスタ出力部611は、変換成分s’を考慮せずに、操作成分e’に基づいて支持機構22への指令を生成する。
この構成によれば、ロボットアーム12への指令は、操作成分e’及び変換成分s’に基づいて生成される。一方、支持機構22への指令は、操作成分e’に基づいて生成され、変換成分s’が反映されない。つまり、エンドエフェクタ11は、操作情報及び座標変換に応じた動作を行うのに対し、支持機構22は、座標変換を反映せず、操作情報に応じた動作を行う。具体的には、エンドエフェクタ11が対象物Wの表面に沿って移動しても、操作部21は、対象物Wの表面形状に倣った移動をしない。そのため、ユーザは、操作部21を基準面RPに沿って移動させることが容易になる。
また、エンドエフェクタ11が対象物Wに加える作用は、研削、切削又は研磨である。
研削、切削又は研磨においては、エンドエフェクタ11が対象物Wに接触し、対象物Wからエンドエフェクタ11へ反力が作用する。ユーザは、接触力センサ13によって検出される接触力に基づく反力を提示されながら操作装置2を操作する。ユーザは、反力を感じながら、操作部21を操作して、エンドエフェクタ11を対象物Wの表面に沿うように移動させる。このとき、ユーザは、操作部21を基準面RPに沿う方向へ操作するだけで、対象物Wからの反力を感じつつ、エンドエフェクタ11を対象物Wの表面に沿って移動させることができる。その結果、対象物Wに研削、切削又は研磨を実行する際のロボット1の操作性を向上させることができる。
〈変形例〉
次に、ロボットシステム100の変形例について説明する。図13は、変形例において、ユーザによって動かされる操作部21の模式図である。この変形例では、指令速度xd’からのマスタ指令の求め方が前述の例とは異なる。
詳しくは、制御装置3のゲイン処理部610は、指令速度xd’のうち変換成分s’のゲインをゼロにすることなく、即ち、キャンセルすることなく、指令速度xd’をマスタ出力部611へ出力する。そのため、マスタ出力部611は、操作成分e’及び変換成分s’に基づいてマスタ指令、即ち、指令位置xdmを生成する。
これにより、エンドエフェクタ11の動作は、前述の例と変わらない。つまり、操作部21が基準面RPに沿って動かされると、エンドエフェクタ11は、図12に示すように、対象物Wの表面に対する姿勢が一定に維持されつつ、対象物Wの表面に沿って移動する。
このとき、操作部21は、操作成分e’に起因するエンドエフェクタ11の動作と変換成分s’に起因するエンドエフェクタ11の動作との両方を反映させた動作を行う。つまり、図13に示すように、操作部21は、概ね、対象物Wの表面に対する姿勢が一定で対象物Wの表面に沿った軌跡を描くように支持機構22によって移動させられる。ユーザは、基準面RPに沿った方向へ操作部21に操作力を加えており、操作部21が対象物Wの表面に沿った軌跡を描くように操作部21を意図的に操作しているわけではない。つまり、ユーザは、操作部21を対象物Wの表面に沿うように意図的に操作しなくても、対象物Wの表面形状を感知しながら、操作部21を操作することができる。
尚、基準面RPは、操作部21に固定された操作座標系で規定されているので、操作部21の移動と同様に移動する。操作部21の姿勢が変化すると、それに伴って基準面RPの姿勢、即ち、角度も変化する。ユーザは、操作部21を把持しているので、操作部21の姿勢を知覚することができ、基準面RPの角度を概ね把握することができる。そのため、操作部21の姿勢が変化しても、ユーザは、操作部21を容易に基準面RPに沿って移動させることができる。
以上のように、変形例においては、マスタ出力部611は、支持機構22への指令を操作成分e’に加えて変換成分s’に基づいて生成する。
この構成によれば、基準面RPに沿った操作部21の操作であっても、対象物Wの表面に沿ったエンドエフェクタ11の移動と同様に操作部21を移動させることができる。その結果、ユーザは、操作部21を対象物Wの表面に沿うように意図的に操作しなくても、対象物Wの表面形状を感知しながら、操作部21を操作することができる。
《その他の実施形態》
以上のように、本出願において開示する技術の例示として、前記実施形態を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、前記実施形態で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。また、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、前記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
例えば、マスタ装置は、操作装置2に限定されず、ユーザによる操作情報を入力できる限り、任意の構成を採用することができる。スレーブ装置は、ロボット1に限定されず、対象物に作用を加える作用部と作用部を動作させる動作部とを有する限り、任意の構成を採用することができる。
対象物Wの三次元情報322は、STLデータに限定されない。対象物の三次元情報322は、対象物の表面の任意の部分の法線を取得することができるデータであればよく、例えば、点群データでもよい。あるいは、対象物の三次元情報322は、対象物の表面の各部分における法線の情報そのものであってもよい。
前述の座標変換の手法は、一例に過ぎず、これに限定されない。座標変換は、マスタ座標系における基準面が対象物の表面に対応付けられるものであればよく、対象物の表面に対する作用部の姿勢を一定に維持することは必須ではない。つまり、前述の図11,12の例で、座標変換において、エンドエフェクタ11を回転させずに、マスタ座標系のZr軸の方向におけるエンドエフェクタ11と対象物Wの表面との距離が一定になるようにエンドエフェクタ11のZr軸の方向の位置だけを調整してもよい。
前述の合成力fm+fsから指令位置xds及び指令位置xdmを算出する方法は、一例に過ぎない。例えば、運動モデルは一例に過ぎず、異なる運動モデルを用いてもよい。
ゲイン処理部610は、変換成分s’ではなく、指令速度xd’のうち3軸それぞれの回転成分のゲインをゼロにしてもよい。つまり、ゲイン処理部610は、指令速度xd’のうち角速度の成分をキャンセルして、指令速度xd’のうち3軸それぞれの並進成分のみを出力してもよい。指令速度xd’のうちの回転成分がキャンセルされることによって、操作部21の回転が抑制される。このような方法でも、ユーザは、操作部21を水平に移動させやすくなる。
前述のブロック図は一例であり、複数のブロックを1つのブロックとして実現したり、1つのブロックを複数のブロックに分割したり、一部の機能を別のブロックに移したりしてもよい。
前述のフローチャートは一例であり、ステップを省略又は変更してもよい。または、ステップの順番を変更したり、直列的な複数のステップを並列に処理したり、又は、並列的な複数のステップを直列的に処理したりしてもよい。
本開示の技術は、前記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、前記プログラムは、インターネット等の伝送媒体を介して流通させることができるものであってもよい。
本実施形態で開示された構成の機能は、電気回路又は処理回路を用いて実行されてもよい。プロセッサは、トランジスタ及びその他の回路を含む処理回路等である。本開示において、ユニット、コントローラ又は手段は、記載した機能を実行するためのハードウェア又はプログラムされたものである。ここで、ハードウェアは、本実施形態で開示された機能を実行するように構成若しくはプログラムされた、本実施形態で開示されたもの又は公知のハードウェアである。ハードウェアが、プロセッサ又はコントローラの場合、回路、手段又はユニットは、ハードウェアとソフトウェアの組み合わせであり、ソフトウェアは、ハードウェア及び/又はプロセッサを構成するために用いられる。
100 ロボットシステム
1 ロボット(スレーブ装置)
11 エンドエフェクタ(作用部)
12 ロボットアーム(動作部)
13 接触力センサ(接触力検出部)
2 操作装置(マスタ装置)
21 操作部
22 支持機構(支持部)
23 操作力センサ(操作力検出部)
3 制御装置
321 制御プログラム
65 操作換算部
66 変換部
67 取得部
68 算出部
69 スレーブ出力部
611 マスタ出力部
W 対象物
RP 基準面

Claims (13)

  1. ユーザに操作されるマスタ装置と、
    対象物に作用を加える作用部と前記作用部を動作させる動作部とを有するスレーブ装置と、
    前記マスタ装置を介して入力される操作情報に応じて前記作用部を動作させるように前記動作部への指令を出力する制御装置とを備え、
    前記制御装置は、前記マスタ装置に設定された操作座標系における基準面が前記対象物の表面に対応付けられる座標変換を行って、前記操作情報に基づいて前記動作部への指令を生成するロボットシステム。
  2. 請求項1に記載のロボットシステムにおいて、
    前記基準面は、前記操作座標系における平面であるロボットシステム。
  3. 請求項1又は2に記載のロボットシステムにおいて、
    前記制御装置は、前記座標変換において、前記対象物の表面に対する前記作用部の姿勢を一定に維持するロボットシステム。
  4. 請求項3に記載のロボットシステムにおいて、
    前記制御装置は、前記作用部に設定されたツール座標系で定義された基準軸と前記対象物の表面との交点における前記対象物の法線に前記基準軸が一致するように前記作用部の姿勢を変更することによって、前記対象物の表面に対する前記作用部の姿勢を一定に維持するロボットシステム。
  5. 請求項1に記載のロボットシステムにおいて、
    前記マスタ装置は、ユーザが操作する操作部と、前記操作部を支持すると共に前記操作部を動作させる支持部とを有し、
    前記操作座標系は、前記操作部に固定されているロボットシステム。
  6. 請求項5に記載のロボットシステムにおいて、
    前記マスタ装置は、前記操作部にユーザから加えられる操作力を検出する操作力検出部をさらに有し、
    前記制御装置は、
    前記操作情報に応じた指令成分である操作成分を前記操作力検出部によって検出される前記操作力を前記操作情報として求める操作換算部と、
    前記座標変換に相当する指令成分である変換成分を求める変換部と、
    前記操作成分及び前記変換成分に基づいて前記動作部への指令を生成するスレーブ出力部とを有しているロボットシステム。
  7. 請求項6に記載のロボットシステムにおいて、
    前記変換部は、
    前記作用部に固定されたツール座標系で定義された基準軸と前記対象物の表面との交点における前記対象物の法線を取得する取得部と、
    前記基準軸が前記法線に一致するように前記作用部を移動させるための指令成分を前記変換成分として求める算出部とを有するロボットシステム。
  8. 請求項6又は7に記載のロボットシステムにおいて、
    前記対象物から前記作用部へ作用する反力である接触力を検出する接触力検出部をさらに備え、
    前記操作換算部は、前記操作力検出部によって検出される前記操作力及び前記接触力検出部によって検出される前記接触力に基づいて前記操作成分を求め、
    前記制御装置は、前記操作部を動作させるための前記支持部への指令を前記操作成分に基づいて生成するマスタ出力部をさらに有しているロボットシステム。
  9. 請求項8に記載のロボットシステムにおいて、
    前記マスタ出力部は、前記変換成分を考慮せずに、前記操作成分に基づいて前記支持部への指令を生成するロボットシステム。
  10. 請求項8に記載のロボットシステムにおいて、
    前記マスタ出力部は、前記支持部への指令を前記操作成分に加えて前記変換成分に基づいて生成するロボットシステム。
  11. 請求項8乃至10の何れか1つに記載のロボットシステムにおいて、
    前記作用部が前記対象物に加える作用は、研削、切削又は研磨であるロボットシステム。
  12. ユーザに操作されるマスタ装置と、対象物に作用を加える作用部と前記作用部を動作させる動作部とを有するスレーブ装置とを備えるロボットシステムの制御方法であって、
    前記マスタ装置を介して入力される操作情報に応じて前記作用部を動作させるように前記動作部への指令を出力することと、
    前記操作情報に基づいて前記動作部への指令を生成する際に、前記マスタ装置に設定された操作座標系における基準面が前記対象物の表面に対応付けられる座標変換を行うこととを含む、ロボットシステムの制御方法。
  13. ユーザに操作されるマスタ装置と、対象物に作用を加える作用部と前記作用部を動作させる動作部とを有するスレーブ装置とを備えるロボットシステムを制御する機能をコンピュータに実現させるための制御プログラムであって、
    前記マスタ装置を介して入力される操作情報に応じて前記作用部を動作させるように前記動作部への指令を出力する機能と、
    前記操作情報に基づいて前記動作部への指令を生成する際に、前記マスタ装置に設定された操作座標系における基準面が前記対象物の表面に対応付けられる座標変換を行う機能とをコンピュータに実現させるための制御プログラム。

JP2021069305A 2021-04-15 2021-04-15 ロボットシステム、その制御方法及び制御プログラム Pending JP2022164073A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021069305A JP2022164073A (ja) 2021-04-15 2021-04-15 ロボットシステム、その制御方法及び制御プログラム
CN202280027670.5A CN117120216A (zh) 2021-04-15 2022-04-11 机器人系统、其控制方法以及控制程序
PCT/JP2022/017490 WO2022220217A1 (ja) 2021-04-15 2022-04-11 ロボットシステム、その制御方法及び制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021069305A JP2022164073A (ja) 2021-04-15 2021-04-15 ロボットシステム、その制御方法及び制御プログラム

Publications (1)

Publication Number Publication Date
JP2022164073A true JP2022164073A (ja) 2022-10-27

Family

ID=83640097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021069305A Pending JP2022164073A (ja) 2021-04-15 2021-04-15 ロボットシステム、その制御方法及び制御プログラム

Country Status (3)

Country Link
JP (1) JP2022164073A (ja)
CN (1) CN117120216A (ja)
WO (1) WO2022220217A1 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2791030B2 (ja) * 1988-03-01 1998-08-27 日立建機株式会社 多自由度作業機械の曲面倣い制御装置
JPH06195127A (ja) * 1992-12-22 1994-07-15 Agency Of Ind Science & Technol マニピュレータのハイブリッド遠隔制御装置
JP3178813B2 (ja) * 1998-05-29 2001-06-25 川崎重工業株式会社 遠隔操縦装置
JP2020156800A (ja) * 2019-03-27 2020-10-01 ソニー株式会社 医療用アームシステム、制御装置、及び制御方法

Also Published As

Publication number Publication date
CN117120216A (zh) 2023-11-24
WO2022220217A1 (ja) 2022-10-20

Similar Documents

Publication Publication Date Title
Liu et al. Inverse kinematics of a 5-axis hybrid robot with non-singular tool path generation
González et al. Advanced teleoperation and control system for industrial robots based on augmented virtuality and haptic feedback
Neto et al. High‐level robot programming based on CAD: dealing with unpredictable environments
US9149931B2 (en) Robot system, robot control device and method for controlling robot
Bolmsjö et al. Robotic arc welding–trends and developments for higher autonomy
JP6418483B2 (ja) 加工軌道生成装置と方法
Nagata et al. Development of CAM system based on industrial robotic servo controller without using robot language
JP2015077661A (ja) ティーチングシステムおよびティーチング方法
Fang et al. Orientation planning of robot end-effector using augmented reality
CN105598975A (zh) 一种确定工业机器人运动轨迹的方法
Ang et al. An industrial application of control of dynamic behavior of robots-a walk-through programmed welding robot
JP2018069361A (ja) 力制御座標軸設定装置、ロボットおよび力制御座標軸設定方法
ZQ et al. Robotic milling of complex NURBS surface with fixed cutter axis control method
Bratchikov et al. Development of digital twin for robotic arm
JP6390832B2 (ja) 加工軌道生成装置と方法
KR101787865B1 (ko) 다관절 링크 기구의 역운동학 해법, 및 이 역운동학 해법을 이용한 교시 데이터 작성 장치
WO2022220217A1 (ja) ロボットシステム、その制御方法及び制御プログラム
CN111590586A (zh) 一种机械臂离线编程的人机交互终端及方法
JP7288521B2 (ja) マスタスレーブシステム及び制御方法
WO2022210948A1 (ja) 特定点検出システム、特定点検出方法及び特定点検出プログラム
WO2023013559A1 (ja) ロボットシステム、ロボットの加工方法及び加工プログラム
JP2021146435A (ja) ロボットシステム、ロボットシステムで実行される方法および教示データを生成する方法
WO2023058653A1 (ja) 制御装置、ロボットシステム、ロボット制御方法及びロボット制御プログラム
WO2023013560A1 (ja) ロボットシステム、ロボットの加工方法及び加工プログラム
WO2022075333A1 (ja) ロボットシステム及びその制御方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20230331

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240122