JP2023022775A - ロボットシステム、ロボットの加工方法及び加工プログラム - Google Patents

ロボットシステム、ロボットの加工方法及び加工プログラム Download PDF

Info

Publication number
JP2023022775A
JP2023022775A JP2021127843A JP2021127843A JP2023022775A JP 2023022775 A JP2023022775 A JP 2023022775A JP 2021127843 A JP2021127843 A JP 2021127843A JP 2021127843 A JP2021127843 A JP 2021127843A JP 2023022775 A JP2023022775 A JP 2023022775A
Authority
JP
Japan
Prior art keywords
robot
dimensional information
image
unit
processed portion
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
JP2021127843A
Other languages
English (en)
Inventor
健太郎 東
Kentaro Azuma
政彦 赤松
Masahiko Akamatsu
崇功 上月
Takayoshi Kozuki
博貴 木下
Hirotaka Kinoshita
仁志 蓮沼
Hitoshi Hasunuma
一輝 倉島
Kazuki Kurashima
祥一 西尾
Shoichi Nishio
宏樹 田中
Hiroki Tanaka
大樹 ▲高▼橋
Daiki Takahashi
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 JP2021127843A priority Critical patent/JP2023022775A/ja
Priority to PCT/JP2022/029381 priority patent/WO2023013559A1/ja
Priority to CN202280053847.9A priority patent/CN117794708A/zh
Publication of JP2023022775A publication Critical patent/JP2023022775A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B24GRINDING; POLISHING
    • B24BMACHINES, DEVICES, OR PROCESSES FOR GRINDING OR POLISHING; DRESSING OR CONDITIONING OF ABRADING SURFACES; FEEDING OF GRINDING, POLISHING, OR LAPPING AGENTS
    • B24B27/00Other grinding machines or devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B24GRINDING; POLISHING
    • B24BMACHINES, DEVICES, OR PROCESSES FOR GRINDING OR POLISHING; DRESSING OR CONDITIONING OF ABRADING SURFACES; FEEDING OF GRINDING, POLISHING, OR LAPPING AGENTS
    • B24B49/00Measuring or gauging equipment for controlling the feed movement of the grinding tool or work; Arrangements of indicating or measuring equipment, e.g. for indicating the start of the grinding operation
    • B24B49/02Measuring or gauging equipment for controlling the feed movement of the grinding tool or work; Arrangements of indicating or measuring equipment, e.g. for indicating the start of the grinding operation according to the instantaneous size and required size of the workpiece acted upon, the measuring or gauging being continuous or intermittent
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B24GRINDING; POLISHING
    • B24BMACHINES, DEVICES, OR PROCESSES FOR GRINDING OR POLISHING; DRESSING OR CONDITIONING OF ABRADING SURFACES; FEEDING OF GRINDING, POLISHING, OR LAPPING AGENTS
    • B24B49/00Measuring or gauging equipment for controlling the feed movement of the grinding tool or work; Arrangements of indicating or measuring equipment, e.g. for indicating the start of the grinding operation
    • B24B49/12Measuring or gauging equipment for controlling the feed movement of the grinding tool or work; Arrangements of indicating or measuring equipment, e.g. for indicating the start of the grinding operation involving optical means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Manipulator (AREA)
  • Constituent Portions Of Griding Lathes, Driving, Sensing And Control (AREA)
  • Finish Polishing, Edge Sharpening, And Grinding By Specific Grinding Devices (AREA)

Abstract

【課題】現場で教示を行わなくても、ワークの加工を行う。【解決手段】ロボットシステム100は、対象物Wの加工部分Bを加工するロボット1と、対象物Wの画像及び三次元情報を保持する記憶部32と、画像の中から加工部分Bを指定するための指定装置9と、ロボット1を制御する制御装置3とを備えている。制御装置3は、画像中の指定装置9によって指定された部分と三次元情報とに基づいて、三次元情報における加工部分Bを導出し、加工部分Bの三次元情報に基づいてロボット1を動作させることによって、ロボット1に加工部分Bを加工させる。【選択図】図8

Description

本開示は、ロボットシステム、ロボットの加工方法及び加工プログラムに関する。
従来より、ロボットを用いてワークを加工するシステムが知られている。例えば、特許文献1には、ワークを保持するロボットを粗い教示点に従って移動させると共に、そのときにワークを工具に対して所望の押し付け方向へ押し付けるロボットシステムが開示されている。つまり、このロボットシステムでは、ワークに工具が所望の力で押し付けられた状態で、ワークが概ね粗い教示点に沿って移動する。
特開平06-289923号公報
ところで、特許文献1のロボットシステムでは、粗い精度とはいえ、ワークに応じた教示点を現場で与える必要がある。現場での作業が軽減されると、ロボットによる加工が簡便になる。
本開示は、かかる点に鑑みてなされたものであり、その目的とするところは、現場で教示を行わなくても、ワークの加工を行うことにある。
本開示のロボットシステムは、対象物の加工部分を加工するロボットと、前記対象物の画像及び三次元情報を保持する記憶部と、前記画像の中から前記加工部分を指定するための指定装置と、前記ロボットを制御する制御装置とを備え、前記制御装置は、前記画像中の前記指定装置によって指定された部分と前記三次元情報とに基づいて、前記三次元情報における前記加工部分を導出し、前記加工部分の前記三次元情報に基づいて前記ロボットを動作させることによって、前記ロボットに前記加工部分を加工させる。
本開示のロボットの加工方法は、対象物の画像における前記対象物の加工部分を指定することと、前記画像中の指定された部分と前記対象物の三次元情報とに基づいて、前記三次元情報における前記加工部分を導出することと、前記加工部分の前記三次元情報に基づいてロボットを動作させることによって、前記ロボットに前記加工部分を加工させることとを含む。
本開示の加工プログラムは、ロボットに対象物の加工部分を加工させるためにコンピュータに、前記対象物の画像における前記加工部分の指定を受け付けることと、前記画像中の指定された部分と前記対象物の三次元情報とに基づいて、前記三次元情報における前記加工部分を導出することと、前記加工部分の前記三次元情報に基づいてロボットを動作させることによって、前記ロボットに前記加工部分を加工させることとを実行させる。
前記ロボットシステムによれば、現場で教示を行わなくてもワークの加工を自動的に行うことができる。
前記ロボットの加工方法によれば、現場で教示を行わなくてもワークの加工を自動的に行うことができる。
前記加工プログラムによれば、現場で教示を行わなくてもワークの加工を自動的に行うことができる。
図1は、ロボットシステムの構成を示す模式図である。 図2は、ロボット制御装置の概略的なハードウェア構成を示す図である。 図3は、操作制御装置の概略的なハードウェア構成を示す図である。 図4は、制御装置の概略的なハードウェア構成を示す図である。 図5は、ロボットシステムの手動制御の制御系統の構成を示すブロック図である。 図6は、ロボットシステムの自動制御の制御系統の構成を示すブロック図である。 図7は、加工部分及び目標軌跡の模式図である。 図8は、ロボットシステムの自動制御のフローチャートである。 図9は、目標軌跡の第1パターンである。 図10は、目標軌跡の第2パターンである。 図11は、対象物の画像の一例である。 図12は、対象物の三次元情報の一例である。 図13は、除去加工における研削装置の軌跡の模式図である。
以下、例示的な実施形態を図面に基づいて詳細に説明する。図1は、実施形態に係るロボットシステム100の構成を示す模式図である。
ロボットシステム100は、対象物Wの加工部分Bを加工するロボット1と、ロボット1を制御する制御装置3とを備えている。制御装置3は、ロボット1を制御することによって、ロボット1に対象物Wの加工部分Bを加工させる。この例では、対象物Wは、鋳造品であり、加工部分Bは、対象物Wのバリである。バリには、鋳造バリ、切削バリ、研削バリ、せん断バリ、塑性変形バリ、湯口バリ及び溶接バリ等が含まれる。また、対象物Wは、基準面Rを有している。基準面Rは、加工部分Bが存在する面である。つまり、加工部分Bは、基準面R上に位置している。
ロボット1は、例えば、産業用ロボットである。ロボット1による加工は、除去加工である。ロボット1による除去加工は、例えば、研削である。尚、除去加工は、切削又は研磨であってもよい。
ロボットシステム100は、対象物Wの画像及び三次元情報を保持する記憶部32を備えている。記憶部32は、制御装置3に内蔵されている。対象物Wの画像は、例えば、対象物Wの二次元画像である。対象物Wの三次元情報は、例えば、対象物Wの点群データである。
ロボットシステム100は、対象物Wの画像を取得する撮像装置81と、対象物Wの三次元情報を取得する三次元スキャナ82とをさらに備えていてもよい。三次元スキャナ82は、三次元情報取得装置の一例である。記憶部32は、撮像装置81によって取得された対象物Wの画像及び三次元スキャナ82によって取得された対象物Wの三次元情報を保持する。
ロボットシステム100は、対象物Wの画像の中から加工部分Bを指定するための指定装置9を備えている。さらに、指定装置9は、対象物Wの画像の中から加工部分Bに加えて、基準面Rを指定可能に構成されている。指定装置9は、オペレータが操作する装置である。指定装置9は、ディスプレイ91と入力装置92とを有している。入力装置92は、例えば、マウスである。指定装置9は、制御装置3と通信可能であり、記憶部32に保持された対象物Wの画像をディスプレイ91に表示させる。オペレータは、ディスプレイ91を見ながら入力装置92を操作して、対象物Wの画像の中から加工部分B及び基準面Rを指定する。つまり、指定装置9は、オペレータからの、対象物Wの画像中の加工部分B及び基準面Rの指定を入力装置92を介して受け付ける。
制御装置3は、対象物Wの画像中の指定装置9によって指定された部分と対象物Wの三次元情報とに基づいて、三次元情報における加工部分Bを導出する。制御装置3は、加工部分Bの三次元情報に基づいてロボット1を動作させることによってロボット1に加工部分Bを除去させる。
ロボットシステム100は、ユーザに操作される操作装置2をさらに備えていてもよい。制御装置3は、操作装置2も制御する。制御装置3は、操作装置2の動作に応じてロボット1の動作を制御し、対象物Wの加工を行うこともできる。つまり、ロボットシステム100は、操作装置2を介さないロボット1による自動制御と操作装置2を介したロボット1による手動制御とを実施可能である。
[ロボット]
ロボット1は、ベース10と、ベース10に支持されたロボットアーム12と、ロボットアーム12に連結されたエンドエフェクタ11と、ロボット1の全体を制御するロボット制御装置14とを有している。ロボット1は、ロボットアーム12によってエンドエフェクタ11を動作、即ち、移動させて、エンドエフェクタ11によって対象物Wを加工する。
ロボット1には、ロボット座標系が規定されている。例えば、ロボット座標系では、上下方向に延びるZ軸と、Z軸に直交するX軸と、Z軸及びX軸の両方に直交するY軸との直交3軸が設定される。
エンドエフェクタ11は、研削装置11aを有し、対象物Wに作用としての研削を加える。例えば、研削装置11aは、グラインダである。グラインダは、円盤状の研削砥石を回転させるタイプ、円錐状又は円柱状の研削砥石を回転させるタイプ等であってもよい。尚、研削装置11aは、オービタルサンダ、ランダムオービットサンダ、デルタサンダ又はベルトサンダ等であってもよい。ここでは、研削装置11aは、ツールの一例である。
ロボットアーム12は、垂直多関節型のロボットアームである。ロボットアーム12は、複数のリンク12aと、複数のリンク12aを接続する関節12bと、複数の関節12bを回転駆動するサーボモータ15(図2参照)とを有している。ロボットアーム12は、研削装置11aの位置を変更する。さらに、ロボットアーム12は、研削装置11aの姿勢を変更してもよい。尚、ロボットアーム12は、水平多関節型、パラレルリンク型、直角座標型、又は極座標型のロボットアーム等であってもよい。
ロボット1は、力覚センサを有している。この例では、ロボット1は、力覚センサとして、対象物Wから受ける反力(以下、「接触力」という)を検出する接触力センサ13をさらに有している。接触力センサ13は、ロボットアーム12とエンドエフェクタ11との間(具体的には、ロボットアーム12とエンドエフェクタ11との連結部)に設けられている。接触力センサ13は、エンドエフェクタ11が対象物Wから受ける接触力を検出する。接触力センサ13は、直交する3軸方向の力と該3軸回りのモーメントを検出する。
尚、力覚センサは、接触力センサ13に限定されない。例えば、接触力センサ13は、1軸、2軸又は3軸方向の力のみを検出してもよい。あるいは、力覚センサは、ロボットアーム12のサーボモータ15の電流を検出する電流センサ又はサーボモータ15のトルクを検出するトルクセンサ等であってもよい。
撮像装置81は、ロボットアーム12に取り付けられている。具体的には、撮像装置81は、ロボットアーム12のうち、最も先端側のリンク12aに取り付けられている。撮像装置81は、RGB画像を撮影する。撮像装置81の撮影画像は、画像信号としてロボット制御装置14から制御装置3へ入力される。
三次元スキャナ82は、ロボットアーム12に取り付けられている。具体的には、三次元スキャナ82は、ロボットアーム12のうち、最も先端側のリンク12aに取り付けられている。三次元スキャナ82は、三次元情報として対象物Wの点群データを取得する。つまり、三次元スキャナ82は、対象物Wの表面の多数の点群の三次元座標を出力する。三次元スキャナ82の点群データは、ロボット制御装置14から制御装置3へ入力される。
図2は、ロボット制御装置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)、システムLSI等で形成されていてもよい。
記憶部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を制御することによって、反力をユーザに感知させる。
操作装置2には、直交3軸の操作座標系が規定されている。操作座標系は、ロボット座標系と対応している。つまり、上下方向にZ軸が設定され、水平方向に互いに直交するX軸及びY軸が設定される。
支持機構22は、複数のリンク22aと、複数のリンク22aを接続する関節22bと、複数の関節22bを回転駆動するサーボモータ25(図3参照)とを有している。支持機構22は、操作部21が3次元空間内で任意の位置及び姿勢をとることができるように、操作部21を支持する。操作部21の位置及び姿勢に対応して、サーボモータ25が回転する。サーボモータ25の回転量、即ち、回転角は、一義的に決まる。
操作力センサ23は、この例では、操作部21と支持機構22との間(具体的には、操作部21と支持機構22との連結部)に設けられている。操作力センサ23は、直交する3軸方向の力と該3軸回りのモーメントを検出する。
尚、操作力の検出部は、操作力センサ23に限定されない。例えば、操作力センサ23は、1軸、2軸又は3軸方向の力のみを検出してもよい。あるいは、検出部は、支持機構22のサーボモータ25の電流を検出する電流センサ又はサーボモータ25のトルクを検出するトルクセンサ等であってもよい。
図3は、操作制御装置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)、システムLSI等で形成されていてもよい。
記憶部27は、制御部26で実行されるプログラム及び各種データを格納している。記憶部27は、不揮発性メモリ、HDD(Hard Disc Drive)又はSSD(Solid State Drive)等で形成される。
メモリ28は、データ等を一時的に格納する。例えば、メモリ28は、揮発性メモリで形成される。
[制御装置]
制御装置3は、ロボットシステム100の全体を制御し、ロボット1及び操作装置2の動作制御を行う。具体的には、制御装置3は、ユーザの操作に応じたロボットシステム100の手動制御と、ロボットシステム100の自動制御とを行う。制御装置3は、手動制御においては、ロボット1と操作装置2との間でマスタスレーブ制御、具体的には、バイラテラル制御を行う。操作装置2は、マスタ装置として機能し、ロボット1は、スレーブ装置として機能する。制御装置3は、ユーザの操作による操作装置2の動作に応じてロボット1の動作を制御すると共に、接触力センサ13の検出結果に応じた反力をユーザに提示するように操作装置2の動作を制御する。つまり、研削装置11aがユーザの操作に応じて対象物Wを加工すると共に、加工時の反力が操作装置2を介してユーザに提示される。自動制御においては、制御装置3は、対象物Wの画像中で加工部分Bの指定をユーザから受け、指定された加工部分Bを研削装置11aによって自動的に除去加工する。
図4は、制御装置3の概略的なハードウェア構成を示す図である。制御装置3は、ロボット制御装置14及び操作制御装置24と情報、指令及びデータ等の送受信を行う。さらに、制御装置3は、指定装置9と情報、指令及びデータ等の送受信を行う。制御装置3は、制御部31と、記憶部32と、メモリ33とを有している。尚、制御装置3は、ロボット1及び操作装置2の動作制御の設定を行うためにユーザが操作する入力操作部と、設定内容を表示するディスプレイとをさらに有していてもよい。
制御部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)、システムLSI等で形成されていてもよい。
記憶部32は、制御部31で実行されるプログラム及び各種データを格納している。例えば、記憶部32は、ロボットシステム100を制御するプログラムが格納されている。記憶部32は、不揮発性メモリ、HDD(Hard Disc Drive)又はSSD(Solid State Drive)等で形成される。例えば、記憶部32に記憶されたプログラムは、対象物Wの加工部分Bを除去加工するためにコンピュータに所定の手順を実行させる加工プログラム32aである。
メモリ33は、データ等を一時的に格納する。例えば、メモリ33は、揮発性メモリで形成される。
<ロボットシステムの制御>
このように構成されたロボットシステム100において、制御装置3は、ユーザの操作による操作装置2の動作に応じてロボット1の動作を制御すると共に、接触力センサ13の検出結果に応じた反力をユーザに提示するように操作装置2の動作を制御する手動制御を実行する。さらに、制御装置3は、対象物Wの画像及び三次元情報に基づいて加工部分Bを特定し、特定された加工部分Bをロボット1によって除去する自動制御を実行する。
まず、ロボットシステム100の手動制御について説明する。図5は、ロボットシステム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を受け取り、指令位置xdsに従ってロボットアーム12を動作させるための制御指令を生成する。動作制御部42は、制御指令に対応する電流をサーボモータ15へ印加することによって、ロボットアーム12を動作させ、研削装置11aを指令位置xdsに対応する位置へ移動させる。このとき、動作制御部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を受け取り、指令位置xdmに従って支持機構22を動作させるための制御指令を生成する。動作制御部52は、制御指令に対応する電流をサーボモータ25へ印加することによって、支持機構22を動作させ、操作部21を指令位置xdmに対応する位置へ移動させる。このとき、動作制御部52は、入力処理部51からのサーボモータ25の回転センサ又は電流センサの検出信号に基づいて、支持機構22の動作をフィードバック制御する。これにより、ユーザが操作部21に与える操作力に対して反力が与えられる。その結果、ユーザは、対象物Wからの反力を操作部21から疑似的に感じつつ、操作部21を操作することができる。
制御装置3の制御部31は、記憶部32からプログラムをメモリ33に読み出して展開することによって、各種機能を実現する。具体的には、制御部31は、ロボット制御装置14及び操作制御装置24への動作指令を出力する動作指令部60として機能する。より具体的には、制御部31は、操作力取得部61と接触力取得部62と加算部63と力/速度換算部64と第1速度/位置換算部65と第2速度/位置換算部66として機能する。
操作力取得部61は、入力処理部51を介して、操作力センサ23の検出信号を受け取り、検出信号に基づいて操作力fmを取得する。操作力取得部61は、操作力fmを加算部63へ入力する。
接触力取得部62は、入力処理部41を介して、接触力センサ13のセンサ信号を受け取り、センサ信号に基づいて接触力fsを取得する。接触力取得部62は、接触力fsを加算部63へ入力する。
加算部63は、操作力取得部61から入力された操作力fmと接触力取得部62から入力された接触力fsとの和を算出する。ここで、操作力fmと接触力fsとは、反対向きの力なので、操作力fmと接触力fsとは正負の符号が異なる。つまり、操作力fmと接触力fsとが足されることによって、操作力fmと接触力fsとの和である合成力fm+fsの絶対値は、操作力fmの絶対値よりも小さくなる。加算部63は、合成力fm+fsを出力する。
力/速度換算部64は、入力された合成力fm+fsを指令速度xd’に換算する。力/速度換算部64は、慣性係数、粘性係数(ダンパ係数)及び剛性係数(バネ係数)を含む運動方程式に基づく運動モデルを用いて指令速度xd’を算出する。具体的には、力/速度換算部64は、以下の運動方程式に基づいて指令速度xd’を算出する。
Figure 2023022775000002
ここで、e=xd-xuである。xdは、指令位置である。xuは、後述する目標軌跡である。手動制御の場合には、目標軌跡が無いので、e=xdである。mdは、慣性係数である。cdは、粘性係数である。kdは、剛性係数である。fmは、操作力である。fsは、接触力である。尚、「’」は1回微分を表し、「”」は2回微分を表す。
式(1)は線形微分方程式であり、式(1)をxd’について解くと、式(2)のようになる。
Figure 2023022775000003
ここで、Aは、fm,fs,md,cd,kd等によって表される項である。
式(2)は、記憶部32に格納されている。力/速度換算部64は、記憶部32から式(2)を読み出して指令速度xd’を求め、求められた指令速度xd’を第1速度/位置換算部65及び第2速度/位置換算部66へ出力する。
第1速度/位置換算部65は、座標変換された指令速度xd’をロボット座標系を基準として、ロボット1のための指令位置xdsに換算する。例えば、操作装置2の移動量に対するロボット1の移動量の比が設定されている場合、第1速度/位置換算部65は、指令速度xd’から求めた指令位置xdを移動比に応じて逓倍して指令位置xdsを求める。第1速度/位置換算部65は、求められた指令位置xdsをロボット制御装置14、具体的には、動作制御部42へ出力する。動作制御部42は、前述の如く、指令位置xdsに基づいてロボットアーム12を動作させる。
第2速度/位置換算部66は、操作座標系を基準として、指令速度xd’を操作装置2のための指令位置xdmに換算する。第2速度/位置換算部66は、求めた指令位置xdmを操作制御装置24、具体的には、動作制御部52へ出力する。動作制御部52は、前述の如く、指令位置xdmに基づいて支持機構22を動作させる。
次に、ロボットシステム100の自動制御について説明する。図6は、ロボットシステム100の自動制御の制御系統の構成を示すブロック図である。
制御装置3の制御部31は、記憶部32からプログラム(例えば、加工プログラム32a)をメモリ33に読み出して展開することによって、各種機能を実現する。具体的には、制御部31は、動作指令部60と、撮像部67と、三次元情報取得部68と、導出部69と、軌跡生成部610として機能する。
動作指令部60は、ロボットアーム12の指令位置xdsを作成し、作成された指令位置xdsをロボット制御装置14へ出力する。ロボット制御装置14は、動作指令部60からの指令位置xdsに基づいて、サーボモータ15への制御指令を作成する。ロボット制御装置14は、制御指令に対応する供給電流をサーボモータ15へ印加する。このとき、ロボット制御装置14は、エンコーダの検出結果に基づいてサーボモータ15への供給電流をフィードバック制御する。
例えば、動作指令部60は、撮像装置81及び三次元スキャナ82を所定位置に移動させるため、又は、研削装置11aに研削加工を行わせるために指令位置xdsを作成し、ロボットアーム12を動作させる。
撮像部67は、撮像装置81を制御して、撮像装置81に対象物Wを撮像させる。撮像部67は、撮像装置81によって取得された画像を記憶部32に記憶させる。
三次元情報取得部68は、三次元スキャナ82を制御して、三次元スキャナ82に対象物Wの点群データを取得させる。三次元情報取得部68は、三次元スキャナ82によって取得された点群データを記憶部32に記憶させる。尚、三次元スキャナ82から出力される点群データに含まれる各点の座標がロボット座標系でない場合には、三次元情報取得部68は、点群データに含まれる各点の座標をロボット座標系に変換する。
導出部69は、指定装置9による対象物Wの画像中の加工部分Bの指定に基づいて、三次元情報における加工部分Bを導出する。また、導出部69は、指定装置9による対象物Wの画像中の基準面Rの指定に基づいて、対象物Wの三次元情報における基準面Rを導出する。
詳しくは、導出部69は、指定装置9からの要求に応じて、記憶部32から対象物Wの画像を読み出して指定装置9へ提供する。提供された対象物Wの画像は、指定装置9のディスプレイ91に表示される。オペレータは、入力装置92を操作して、対象物Wの画像中の加工部分Bを指定する。それに加えて、オペレータは、入力装置92を操作して、対象物Wの画像中の基準面Rを指定する。導出部69は、対象物Wの画像中の加工部分B及び基準面Rの指定を指定装置9から受け付ける。
導出部69は、加工部分B及び基準面Rが指定された対象物Wの画像と記憶部32で保存されている対象物Wの点群データとを照らし合わせて、点群データにおける加工部分B及び基準面Rを導出する。
詳しくは、対象物Wの画像の取得時の撮像装置81の位置と対象物Wの点群データの取得時の三次元スキャナ82の位置は既知であるので、対象物Wの画像中の或る部分が対象物Wの点群データにおけるどの部分に対応するかは概ね判別可能となっている。導出部69は、対象物Wの画像中で指定された加工部分Bに対応する部分を対象物Wの点群データの中から特定し、特定された部分において周囲に比べて突出している部分を加工部分Bとする。また、導出部69は、対象物Wの画像中で指定された基準面Rに対応する部分を対象物Wの点群データの中から特定し、特定された部分を含む面を基準面Rとする。例えば、基準面Rは、凹凸が少ない滑らかな面であって、平面であっても曲面であってもよい。こうして、導出部69は、対象物Wの点群データにおける加工部分B及び基準面Rを導出する。
軌跡生成部610は、対象物Wの点群データに基づいて、研削装置11aの目標軌跡、即ち、ロボットアーム12の目標軌跡を生成する。目標軌跡は、基準面Rに沿った軌跡、より詳しくは基準面Rと略平行な軌跡である。目標軌跡は、複数の層状に生成され得る。複数の目標軌跡は、基準面Rの法線方向へ間隔を空けて配列されている。複数の目標軌跡には、基準面R上を通る最終目標軌跡を含み得る。
図7は、加工部分B及び目標軌跡の模式図である。詳しくは、軌跡生成部610は、加工部分Bの点群データに基づいて、除去加工における研削装置11aの開始位置Sを決定する。軌跡生成部610は、点群データにおいて、加工部分Bのうち基準面Rから最も離れた最高点Mを求め、最高点Mから基準面Rの法線方向へ所定の切り込み量Cだけ基準面Rに近づいた点を求める。軌跡生成部610は、該基準面Rに近づいた点を通り、基準面Rと略平行な仮想的な第1目標加工面を求め、第1目標加工面上に存在し且つ加工部分B以外の点(即ち、加工部分Bから離れた点)を開始位置Sとして求める。軌跡生成部610は、開始位置Sから始まり、第1目標加工面上を通って、加工部分Bのうち第1目標加工面と交差する部分の略全体を通る、研削装置11aの目標軌跡を第1目標軌跡T1として生成する。続いて、軌跡生成部610は、第1目標加工面を基準面Rの法線方向へ切り込み量Cだけ基準面Rに近づけた第2目標加工面を設定し、第2目標加工面上を通って、加工部分Bのうち第2目標加工面と交差する部分の略全体を通る、研削装置11aの目標軌跡を第2目標軌跡T2として生成する。このように、軌跡生成部610は、最高点Mから基準面Rの法線方向へ切り込み量Cずつ基準面Rに近づいた位置に目標軌跡を順次生成していく。目標軌跡が基準面Rと一致する場合、又は、基準面Rを下回る場合には、軌跡生成部610は、基準面R上を通って、加工部分Bのうち基準面Rと交差する部分の略全体を通る、研削装置11aの目標軌跡を最終目標軌跡Tfとして生成する。
尚、生成される目標軌跡の数は、基準面R、最高点M、及び切り込み量Cに依存する。基準面Rから最高点Mまでの距離を切り込み量Cで除算した商に1だけ加えた数が、目標軌跡の数となる。基準面Rから最高点までの距離が切り込み量C以下の場合には、生成される目標軌跡の数は1つである。つまり、目標軌跡の数は、複数に限定されない。
動作指令部60は、研削装置11aに基準面Rに達するまで加工部分Bを除去させるようにロボット1を動作させる。動作指令部60は、開始位置Sから基準面Rに向かって加工部分Bを複数回に分けて除去するようにロボット1を動作させる。具体的には、動作指令部60は、基準面Rから最も離れた第1目標軌跡T1から最終目標軌跡Tfまでを順に用いて、研削装置11aが目標軌跡に沿って移動するようにロボット1を動作させる。例えば、動作指令部60は、加工部分Bを層状に複数回に分けて研削装置11aによって除去加工する。このとき、動作指令部60は、研削装置11aが目標軌跡に沿って移動するようにロボット1を動作させる位置制御を実行しつつ、研削装置11aが対象物Wからの反力に応じて目標軌跡から逸れて移動し且つ目標軌跡からの距離に応じて対象物Wへの研削装置11aの押付力が大きくなるようにロボット1を動作させる弾性制御を実行する。
詳しくは、動作指令部60は、接触力取得部62と力/速度換算部64と第1速度/位置換算部65として機能する。接触力取得部62、力/速度換算部64及び第1速度/位置換算部65のそれぞれの機能は、基本的には、手動制御の場合と同様である。自動制御では目標軌跡に基づく位置制御がベースとなるため、動作指令部60は、操作力取得部61、加算部63及び第2速度/位置換算部66としては機能しない。
接触力取得部62は、入力処理部41を介して、接触力センサ13のセンサ信号を受け取り、センサ信号に基づいて接触力fsを取得する。接触力取得部62は、接触力fsを力/速度換算部64へ入力する。また、接触力取得部62は、研削加工中に、接触力fsを記憶部32に記憶させる。
力/速度換算部64は、入力された接触力fsを指令速度xd’に換算する。力/速度換算部64は、慣性係数、粘性係数(ダンパ係数)及び剛性係数(バネ係数)を含む運動方程式に基づく運動モデルを用いて指令速度xd’を算出する。具体的には、力/速度換算部64は、式(1)の運動方程式に基づいて指令速度xd’を算出する。式(1)において、e=xd-xuであり、xdは、指令位置であり、xuは、軌跡生成部610によって生成された目標軌跡である。力/速度換算部64は、目標軌跡xuを目標速度xu’に変換して式(2)に代入することよって指令速度xd’を求める。
第1速度/位置換算部65は、座標変換された指令速度xd’をロボット座標系を基準として、ロボット1のための指令位置xdsに換算する。第1速度/位置換算部65は、求められた指令位置xdsをロボット制御装置14、具体的には、動作制御部42へ出力する。動作制御部42は、前述の如く、指令位置xdsに基づいてロボットアーム12を動作させる。第1速度/位置換算部65は、研削加工中に、指令位置xdsを記憶部32に記憶させる。
式(1)の運動モデルは粘性係数cd及び剛性係数kdを含んでいるので、研削装置11aが目標軌跡xuに沿うような位置制御を基本としつつ、目標軌跡xu上に抵抗が存在する場合には弾性力と減衰力とが協調して抵抗を避けつつ抵抗に押し付け力を付与するような軌跡で研削装置11aが移動する。その結果、研削装置11aは、加工部分Bのうち目標軌跡上に位置する部分を研削する。このとき、研削装置11a、ひいては、ロボットアーム12が対象物Wから過大な反力を受けることが回避される。
複数の目標軌跡が生成されている場合には、動作指令部60は、基準面Rから遠い目標軌跡から順番に用いて、研削装置11aを目標軌跡に沿って移動させる。つまり、研削装置11aは、段階的に基準面Rに近い目標軌跡に沿って研削を行い、最終的に、基準面Rと一致する最終目標軌跡Tfに沿って研削を行う。
尚、自動制御においては、制御装置3は、操作装置2のための指令位置xdmを生成又は出力しない。つまり、操作装置2は、操作部21の位置制御を行わない。
[ロボットシステムの動作]
次に、このように構成されたロボットシステム100の動作について説明する。
〈手動制御〉
手動制御においては、ユーザが操作装置2を操作することによってロボット1に対象物Wに対して実際の作業を実行させる。例えば、ユーザは、操作装置2を操作して、ロボット1によって対象物Wに研削加工を行う。ユーザの操作装置2を介した操作として、操作部21にユーザから加えられる操作力が操作力センサ23によって検出される。ロボットアーム12は、操作力に応じて制御される。
具体的には、ユーザが操作装置2を操作すると、ユーザが操作部21を介して加えた操作力を操作力センサ23が検出する。このとき、ロボット1の接触力センサ13が接触力を検出する。
操作力センサ23に検出された操作力は、入力処理部51によって検出信号として制御装置3へ入力される。制御装置3では、操作力取得部61が、検出信号に基づく操作力fmを加算部63へ入力する。
このとき、接触力センサ13に検出された接触力は、センサ信号として入力処理部41に入力される。入力処理部41に入力されたセンサ信号は、接触力取得部62へ入力される。接触力取得部62は、センサ信号に基づく接触力fsを加算部63へ入力する。
加算部63は、合成力fm+fsを力/速度換算部64へ入力する。力/速度換算部64は、合成力fm+fsを用いて式(2)に基づいて指令速度xd’を求める。
ロボット1に関しては、第1速度/位置換算部65が指令速度xd’から指令位置xdsを求める。ロボット制御装置14の動作制御部42は、指令位置xdsに従ってロボットアーム12を動作させ、研削装置11aの位置を制御する。これにより、操作力fmに応じた押付力が対象物Wに加えられつつ、対象物Wが研削装置11aにより研削される。
一方、操作装置2に関しては、第2速度/位置換算部66が指令速度xd’から指令位置xdmを求める。操作制御装置24の動作制御部52は、指令位置xdmに従って支持機構22を動作させ、操作部21の位置を制御する。これにより、ユーザは接触力fsに応じた反力を感知する。
ユーザがこのような操作装置2の操作を行うことによって、ロボット1による対象物Wの加工が実行される。
〈自動制御〉
続いて、ロボットシステム100の自動制御の動作を説明する。図8は、ロボットシステム100の自動制御のフローチャートである。
まず、ステップS1において初期設定が行われる。オペレータは、指定装置9を介して自動制御に関する初期設定を行う。初期設定は、指定装置9から制御装置3へ入力される。例えば、初期設定には、研削装置11aの切り込み量Cの入力、及び、目標軌跡のパターンの選択等が含まれる。切り込み量Cは、切り込み深さを意味する。目標軌跡のパターンについて、一の目標加工面を形成するような該目標加工面上での研削装置11aの移動の仕方は複数のパターンが考えられる。制御装置3は、複数の目標軌跡のパターンを有している。図9は、目標軌跡の第1パターンであり、図10は、目標軌跡の第2パターンである。第1パターンは、研削装置11aが一の経路(例えば、Y方向へ延びる経路)に沿って往復した後、該経路を該経路と交差する方向(例えば、X方向)へずらして、ずらした後の経路に沿って研削装置11aが往復するという移動を繰り返すことによって形成される軌跡である。第2パターンは、研削装置11aが一の経路(例えば、Y方向へ延びる経路)に沿って移動した後、該経路を該経路と交差する方向(例えば、X方向)へずらして、ずらした後の経路に沿って研削装置11aが往復するという移動を繰り返すことによって形成される軌跡である。つまり、第1パターンでは、研削装置11aが一の経路を2回通過するのに対し、第2パターンでは、研削装置11aが一の経路を1回通過する。尚、目標加工面は、平面であっても曲面であってもよい。目標経路のパターンは、これらに限定されず、研削装置11aが目標加工面上を螺旋状に移動する軌跡であってもよい。
オペレータは、初期設定の入力後に、指定装置9を介して、対象物Wの画像の撮像指示を制御装置3へ出力する。制御装置3は、撮像指示を受信すると、ステップS2において、対象物Wの画像の取得を実行すると共に、対象物Wの点群データの取得を実行する。具体的には、動作指令部60は、撮像装置81及び三次元スキャナ82が所定位置に位置するようにロボットアーム12を移動させる。対象物Wは支持台上の決まった位置に載置されているので、撮像装置81及び三次元スキャナ82の所定位置も予め決まっている。
その後、撮像部67は、撮像装置81に対象物Wを撮像させる。撮像部67は、撮像装置81によって取得された対象物Wの画像を記憶部32に記憶させる。三次元情報取得部68は、三次元スキャナ82に対象物Wの点群データを取得させる。三次元スキャナ82は、撮像装置81と概ね同じ画角で対象物Wの点群データを取得する。三次元情報取得部68は、三次元スキャナ82によって取得された点群データを記憶部32に記憶させる。
尚、撮像装置81が所定位置に位置するときのロボットアーム12の位置と、三次元スキャナ82が所定位置に位置するときのロボットアーム12の位置とが異なる場合には、動作指令部60は、撮像装置81による撮像時と三次元スキャナ82による点群データの取得時とでロボットアーム12を移動させてもよい。
続いて、制御装置3は、ステップS3において、対象物Wの画像中の加工部分B及び基準面Rの指定を指定装置9から受け付ける。ステップS3は、対象物Wの画像における対象物Wの加工部分Bを指定することに相当する。図11は、対象物Wの画像の一例である。
具体的には、導出部69は、記憶部32から対象物Wの画像を読み出し、指定装置9へ提供する。提供された対象物Wの画像は、ディスプレイ91に表示される。導出部69は、加工部分Bを指定するための枠Fと基準面Rを指定するための点Pとを対象物Wの画像上に表示させる。オペレータは、入力装置92を操作して、対象物Wの画像中の加工部分Bが枠F内に含まれるように枠Fの位置及び形状を調整する。オペレータは、枠Fの位置及び形状を確定することによって、対象物Wの画像中で加工部分Bを指定する。導出部69は、対象物Wの画像中で指定装置9によって確定された枠F内の部分を少なくとも加工部分Bが含まれる部分として特定する。
また、オペレータは、入力装置92を操作して、点Pが対象物Wの画像中の基準面R上に位置するように点Pの位置を調整する。オペレータは、点Pの位置を確定することによって、対象物Wの画像中での基準面Rを指定する。導出部69は、対象物Wの画像中で指定装置9によって確定された点Pが位置する部分を基準面R上の一部であるとして特定する。
続いて、導出部69は、ステップS4において、記憶部32から対象物Wの点群データを読み出し、対象物Wの画像と点群データとを照らし合わせ、点群データにおける、対象物Wの画像中で指定された加工部分B及び基準面Rに対応する部分を導出する。ステップS4は、画像中の指定された部分と対象物Wの三次元情報とに基づいて、三次元情報における加工部分Bを導出することに相当する。図12は、対象物Wの三次元情報の一例である。
詳しくは、導出部69は、対象物Wの画像中の枠Fで囲まれた部分に対応する部分を対象物Wの点群データの中から特定し、特定された部分を含む所定の領域内で周囲に比べて突出している部分を加工部分Bとする。また、導出部69は、対象物Wの画像中の点Pに対応する部分を対象物Wの点群データの中から特定し、特定された部分を含む面を基準面Rとする。特定された部分を含む面が平面であれば、基準面Rは平面となり、特定された部分を含む面が曲面であれば、基準面Rは曲面となる。こうして、導出部69は、対象物Wの点群データにおける加工部分B及び基準面Rを導出する。
次に、軌跡生成部610は、ステップS5において、除去加工の開始位置Sを導出する。前述の如く、軌跡生成部610は、点群データにおいて加工部分Bの最高点Mを求め、最高点Mから基準面Rの法線方向へ切り込み量Cだけ基準面Rに近づいた点を通る第1目標加工面を求め、第1目標加工面上に存在し且つ加工部分Bの外側の点を開始位置Sとして求める。
その後、軌跡生成部610は、ステップS6において、目標軌跡を生成する。ステップS6は、対象物の加工部分を通過する、ロボットのツールの目標軌跡を生成することに相当する。軌跡生成部610は、開始位置Sから始まり、第1目標加工面上を通って、加工部分Bのうち第1目標加工面と交差する部分の略全体を通る、研削装置11aの目標軌跡を第1目標軌跡T1として生成する。このとき、軌跡生成部610は、初期設定において設定された目標軌跡のパターンに従って、目標軌跡生成する。
続いて、軌跡生成部610は、前述の如く、第1目標加工面を基準面Rの法線方向へ切り込み量Cずつ基準面Rに近づけた第2目標加工面を設定し且つ第2目標加工面を通る第2目標軌跡を生成する。軌跡生成部610は、この作業を、基準面R上に最終目標軌跡Tfが生成されるまで繰り返す。
こうして、基準面Rの法線方向へ間隔を空けて配列され、且つ、基準面Rに沿った複数の目標軌跡が生成される。
次に、動作指令部60は、ステップS7において、ロボット1を動作させて研削加工を実行する。ステップS7は、加工部分Bの三次元情報に基づいてロボット1を動作させることによって、ロボット1に加工部分Bを除去加工させることに相当する。また、ステップS7は、ツールが目標軌跡に沿って移動するようにロボットを動作させる位置制御を実行すること、及び、位置制御と並行して、ツールが対象物からの反力に応じて目標軌跡から逸れて移動し且つ目標軌跡からの距離に応じて対象物へのツールの押付力が大きくなるようにロボットを動作させる弾性制御を実行することに相当する。まず、動作指令部60は、研削装置11aが第1目標軌跡T1に沿って移動するようにロボットアーム12を動作させる。このとき、動作指令部60は、研削装置11aが目標軌跡に沿うような位置制御を基本としつつ、弾性制御を並行して実行する。弾性制御によって、研削装置11aは、対象物Wからの反力が過大になることを回避するように目標軌跡から逸れつつも、対象物Wに適度な押付力を付与する軌跡で移動する。尚、動作指令部60は、弾性制御に加えて、ロボットアーム12の慣性制御及び粘性制御も実行する。
図13は、除去加工における研削装置11aの軌跡の模式図である。詳しくは、図13に示すように、研削装置11aは、加工部分Bが存在しない領域では、第1目標軌跡T1上を移動する。研削装置11aが加工部分Bに接触すると、対象物Wからの反力が大きくなるので、粘性係数cdの影響を受けて、加工部分Bの表面に沿う方向へ第1目標軌跡T1から逸れていく。しかし、研削装置11aは、剛性係数kdの影響を受けて、第1目標軌跡T1から離れるほど、加工部分Bへの押付力が大きくなる。つまり、加工部分Bのうち第1目標軌跡T1から離れた部分ほど切り込み量が大きくなる。一方、対象物Wからの反力が小さい領域では、研削装置11aは、第1目標軌跡T1の近くを通る。その結果、研削装置11aは、加工部分Bが存在する領域では、図13の破線で示す、第1目標軌跡T1と加工部分Bの表面との間の第1実軌跡t1を通り、適度な押付力で加工部分Bを研削する。
研削装置11aが第1目標軌跡T1に沿って移動する間(第1目標軌跡T1から逸れる場合も含む)、動作指令部60は、接触力fs及び指令位置xdsを記憶部32に記憶させる。第1目標軌跡T1に沿った研削装置11aによる1回の研削が終了すると、動作指令部60は、研削時の接触力fs及び指令位置xdsを記憶部32から読み出し、研削中の接触力fsの標準偏差及び研削中の指令位置xdsの標準偏差を求める。動作指令部60は、ステップS8において、研削加工の完了条件が満たされたか否かを判定する。例えば、完了条件は、除去加工(即ち、研削)に関連するパラメータが安定することである。具体的には、除去加工に関連するパラメータは、研削中の接触力fs、研削中の指令位置xd、研削中の指令速度xd’、研削中の研削装置11aの加速度xd’’、及び、研削中のサーボモータ15への供給電流の少なくとも1つである。この例では、完了条件は、研削中の接触力fsの標準偏差が所定の第1閾値α以下であり、且つ、研削中の指令位置xdsの標準偏差が所定の第2閾値β以下であることである。
つまり、第1目標軌跡T1から大きく離れた部分が加工部分Bに含まれると、接触力fsが大きくなるので、研削中の接触力fsの標準偏差が大きくなる。そのときの研削装置11aの位置も第1目標軌跡T1から大きく離れるので、研削中の指令位置xdsの標準偏差も大きくなる。研削中の接触力fsが第1閾値α以下であること、及び、研削中の指令位置xdsの標準偏差が第2閾値β以下であることは、加工部分Bが概ね第1目標軌跡T1に沿った形状に研削されたことを意味する。
完了条件が満たされていない場合には、加工部分Bは、第1目標軌跡T1に対応する形状までは研削されていない。その場合、動作指令部60は、ステップS7に戻り、再び、研削装置11aが第1目標軌跡に沿って移動するようにロボットアーム12を動作させる。1回目の研削加工によって、加工部分Bは、第1実軌跡t1に概ね沿った形状まで研削されている。2回目の研削加工では、例えば、研削装置11aは、加工部分Bが存在する領域では、図13の二点鎖線で示す、第1目標軌跡T1と第1実軌跡t1との間の第2実軌跡t2を通り、適度な押付力で加工部分Bを研削する。
2回目の研削加工でも、ステップS8において完了条件が満たされていない場合には、動作指令部60は、ステップS7に戻り、再び、研削装置11aが第1目標軌跡に沿って移動するようにロボットアーム12を動作させる。2回目の研削加工によって、加工部分Bは、第2実軌跡t2に概ね沿った形状まで研削されている。3回目の研削加工では、例えば、研削装置11aは、加工部分Bが存在する領域では、図13の一点鎖線で示す、第1目標軌跡T1と略一致する第3実軌跡t3を通り、適度な押付力で加工部分Bを研削する。尚、対象物Wからの反力が小さい場合には、弾性制御の影響は小さくなり、位置制御が優位になる。そのため、研削装置11aは、第1目標軌跡T1に近い軌跡を通ることになる。つまり、研削装置11aは、対象物Wを第1目標軌跡T1よりも削り過ぎることが防止され、対象物Wは、所望の形状に加工される。
完了条件が満たされている場合には、動作指令部60は、ステップS9において、研削装置11aが基準面Rに達したか否かを判定する。つまり、動作指令部60は、ステップS8の条件を満たした場合の目標軌跡が最終目標軌跡Tfか否かを判定する。
研削装置11aが基準面Rに達していない場合には、動作指令部60は、ステップS10において研削装置11aの切り込み量を増加させる。つまり、動作指令部60は、目標軌跡を次の目標軌跡(即ち、基準面Rにより接近した目標軌跡)に切り替える。
動作指令部60は、ステップS7に戻り、新たな目標軌跡で研削加工を実行する。新たな目標軌跡においても、完了条件が満たされるまで、動作指令部60は、目標軌跡に沿った研削装置11aの移動を繰り返す。
このように、動作指令部60は、一の目標軌跡に沿って研削装置11aを移動させて除去加工を行った後、完了条件が満たされた場合に次の目標軌跡に切り替えて除去加工を行う一方、完了条件が満たされていない場合には再び一の目標軌跡(即ち、同じ目標軌跡)に沿って研削装置11aを移動させて除去加工を行う。動作指令部60は、このような処理を、最終目標軌跡Tfに沿った研削加工において完了条件が満たされるまで繰り返す。
最終目標軌跡Tfに沿った研削加工において完了条件が満たされると、動作指令部60は、ステップS9を経て、自動制御を終了する。
対象物Wに加工部分Bが複数存在する場合には、ステップS1からの処理が加工部分Bの個数だけ繰り返されてもよい。あるいは、ステップS2において複数の加工部分Bが指定され、ステップS3からの処理が加工部分Bの個数だけ繰り返されてもよい。
尚、自動制御後に加工部分Bが完全には除去されずに残存する場合には、手動制御によって加工部分Bが除去加工されてもよい。
このように、ロボットシステム100の自動制御によれば、オペレータが対象物Wの画像中で加工部分B及び基準面Rを指定装置9を介して指定することによって、制御装置3は、対象物Wにおける加工部分Bを特定し、ロボット1によって加工部分Bが自動的に除去される。オペレータは、現場においてロボット1の教示を行う必要がない。そのため、ロボット1による加工部分Bの加工を簡便に実現することができる。
また、制御装置3は、対象物Wの加工部分Bだけでなく基準面Rも特定するので、対象物Wが過度に除去されることを防止することができる。
このとき、制御装置3は、基準面Rに沿って移動する研削装置11aによる加工部分Bの研削加工を、基準面Rに向かって複数回に分けて実行することによって、加工部分Bを少しずつ除去することができる。このことによっても、対象物Wが過度に除去されることを防止することができる。
さらに、ロボットシステム100では、対象物Wの画像及び三次元情報をそれぞれ、ロボット1に設けられた撮像装置81及び三次元スキャナ82によって取得する。具体的には、撮像装置81及び三次元スキャナ82は、ロボットアーム12に設けられている。ロボットアーム12は、研削装置11aが取り付けられ、研削加工を行うために対象物Wの周囲を自由に移動することができる。つまり、ロボットアーム12は、撮像装置81及び三次元スキャナ82を対象物Wの周囲で自在に移動させることができるので、撮像装置81及び三次元スキャナ82による対象物Wの画像及び三次元情報の取得を容易に実現することができる。
以上のように、ロボットシステム100は、対象物Wの加工部分Bを除去加工するロボット1と、対象物Wの画像及び三次元情報を保持する記憶部32と、画像の中から加工部分Bを指定するための指定装置9と、ロボット1を制御する制御装置3とを備え、制御装置3は、画像中の指定装置9によって指定された部分と三次元情報とに基づいて、三次元情報における加工部分Bを導出し、加工部分Bの三次元情報に基づいてロボット1を動作させることによって、ロボット1に加工部分Bを除去させる。
換言すると、ロボット1の加工方法は、対象物Wの画像における対象物Wの加工部分Bを指定することと、画像中の指定された部分と対象物Wの三次元情報とに基づいて、三次元情報における加工部分Bを導出することと、加工部分Bの三次元情報に基づいてロボット1を動作させることによって、ロボット1に加工部分Bを除去加工させることとを含む。
また、加工プログラム32aは、ロボット1に対象物Wの加工部分Bを除去加工させるためにコンピュータに、対象物Wの画像における加工部分Bの指定を受け付けることと、画像中の指定された部分と対象物Wの三次元情報とに基づいて、三次元情報における加工部分Bを導出することと、加工部分Bの三次元情報に基づいてロボット1を動作させることによって、ロボット1に加工部分Bを除去加工させることとを実行させる。
これらの構成によれば、オペレータは、対象物Wの画像中で加工部分Bを指定すれば、現場でロボット1の教示を行う必要が無い。制御装置3が対象物Wの画像における加工部分Bの指定を受けて、対象物Wの加工部分Bの位置を特定し、ロボット1によって加工部分Bが自動的に除去加工される。その結果、ロボット1による加工部分Bの除去加工が簡便になる。
また、制御装置3は、画像中の指定装置9によって指定された部分と三次元情報とに基づいて、三次元情報における加工部分Bと加工部分Bが存在する、対象物Wの基準面Rとを導出し、ロボット1に基準面Rに達するまで加工部分Bを除去させる。
この構成によれば、対象物Wの画像中で加工部分Bだけでなく基準面Rも指定される。制御装置3は、対象物Wの画像中の指定と対象物Wの三次元情報とに基づいて、三次元情報における加工部分B及び基準面Rを導出する。制御装置3は、基準面Rを導出することによって、基準面Rまでの加工部分Bの除去加工を実現することができる。これにより、対象物Wの過度な除去加工を防止することができる。
具体的には、制御装置3は、画像の中の加工部分Bに加えて基準面Rの指定を指定装置9から受け付け、指定装置9による画像中の基準面Rの指定に基づいて、三次元情報における基準面Rを導出する。
この構成によれば、制御装置3は、オペレータによる画像中の基準面Rの指定を指定装置9から受け付ける。制御装置3は、オペレータからの直接的な指定を受けて、三次元情報における基準面Rを導出するので、基準面Rを精度よく求めることができる。
また、制御装置3は、加工部分Bの三次元情報に基づいて、除去加工の開始位置Sを決定する。
この構成によれば、除去加工の開始位置Sを、制御装置3が加工部分Bの三次元情報に基づいて決定する。つまり、オペレータは、対象物Wの画像中で加工部分Bの指定さえ行えばよく、開始位置Sを指定する必要はない。当然ながら、オペレータは、現場等でロボット1に除去加工の開始位置Sの教示を行う必要もない。
さらに、制御装置3は、加工部分Bを基準面Rに向かって複数回に分けて除去するようにロボット1を動作させる。
この構成によれば、対象物Wからロボット1に作用する反力を低減することができる。また、加工部分Bを少しずつ除去することによって、除去すべきでない部分まで除去することを防止できる。
また、ロボットシステム100は、対象物Wの画像を取得する撮像装置81と、対象物Wの三次元情報を取得する三次元スキャナ82(三次元情報取得装置)とをさらに備え、記憶部32は、撮像装置81によって取得された対象物Wの画像及び三次元スキャナ82によって取得された対象物Wの前記三次元情報を保持する。
この構成によれば、対象物Wの画像及び三次元情報を別途準備しておかなくても、撮像装置81及び三次元スキャナ82によって対象物Wの画像及び三次元情報を取得することができる。
また、ロボット1による除去加工は、研削、切削又は研磨である。
この構成によれば、対象物Wの加工部分Bは、研削、切削又は研磨によって除去される。
《その他の実施形態》
以上のように、本出願において開示する技術の例示として、前記実施形態を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、前記実施形態で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。また、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、前記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
例えば、ロボット1は、バイラテラル制御が実現可能なものに限定されない。例えば、操作装置2が省略されてもよい。
ロボット1による加工は、除去加工に限定されない。例えば、ロボット1による加工は、シーリングなどの加工であってもよい。
対象物は、鋳造品に限定されない。対象物は、加工部分が含まれるワークであれば、任意のワークが対象となり得る。加工部分は、バリに限定されない。加工部分は、加工されるべき部分であれば、任意の部分が対象となり得る。
撮像装置81は、ロボットアーム12に設けられていなくてもよい。例えば、撮像装置81は、ロボット1から離れた場所に固定されていてもよい。例えば、撮像装置81は、ロボット1から分離されて、対象物Wの上方に配置されていてもよい。
三次元スキャナ82は、ロボットアーム12に設けられていなくてもよい。例えば、三次元スキャナ82は、ロボット1から離れた場所に固定されていてもよい。例えば、三次元スキャナ82は、ロボット1から分離されて、対象物Wの上方に配置されていてもよい。
対象物の三次元情報は、点群データに限定されない。三次元情報は、対象物の三次元形状を表現する情報であればよい。例えば、三次元情報は、デプス画像であってもよい。
対象物Wの画像及び三次元情報は、ロボット1に設けられた撮像装置81及び三次元スキャナ82によって取得されたものに限定されない。対象物Wの画像及び三次元情報は、事前に取得され、記憶部32に予め保持されていてもよい。
対象物Wの画像における加工部分B及び基準面Rの指定の方法は、前述の方法に限定されない。画像中の加工部分Bは、枠Fではなく、点Pによって指定されてもよい。制御装置3は、三次元情報における、画像中の点Pに対応する部分を求め、その部分を含む、周囲よりも突出した部分を加工部分Bとして導出してもよい。さらに、加工部分Bの周囲の部分を基準面Rとして導出してもよい。
また、制御装置3は、指定装置9を介して、画像中の加工部分Bの指定を受けるだけで、基準面Rの直接的な指定を受けなくてもよい。つまり、制御装置3は、対象物Wの画像中の指定装置9によって指定された部分と対象物Wの三次元情報とに基づいて、三次元情報における加工部分Bを導出すると共に、加工部分Bの周囲の面を基準面Rとして導出してもよい。このように、制御装置3は、基準面Rの直接的な指定を受けなくても、加工部分Bの指定を受けることによって加工部分Bに加えて基準面Rも導出する。
除去加工の方法は、前述の説明に限定されない。制御装置3は、研削装置11aの位置制御及び弾性制御を実行しているが、弾性制御を実行しなくてもよい。また、制御装置3は、加工部分Bを基準面Rに向かって複数回に分けて除去しているが、これに限定されない。制御装置3は、最終目標軌跡Tfだけを生成し、最初から最終目標軌跡Tfに沿って研削加工を行ってもよい。
また、動作指令部60は、一の目標軌跡から次の目標軌跡に移行する際に、研削加工の完了条件が満たされているか否かを判定しているが、これに限定されない。つまり、動作指令部60は、一の目標軌跡に沿った研削加工が終了すると、完了条件が満たされているか否かを確認することなく、次の目標軌跡に沿った研削加工に移行してもよい。
完了条件は、前述の内容に限定されない。例えば、完了条件は、研削中の接触力fsの標準偏差が所定の第1閾値α以下であることであってもよい。完了条件は、研削中の指令位置xdsの標準偏差が所定の第2閾値β以下であることであってもよい。完了条件は、研削中の接触力fsの標準偏差が所定の第1閾値α以下であること、及び、研削中の指令位置xdsの標準偏差が所定の第2閾値β以下であることの少なくとも一方が満たされることであってもよい。
制御装置3は、式(1)で表される運動モデルを用いて位置制御及び弾性制御を行っているが、位置制御及び弾性制御は、これに限定されない。ツールを目標軌跡に沿って移動させるようにツールの位置を制御しつつ、対象物からツールへの反力が大きい場合にはツールが目標軌跡から逸れ且つ目標軌跡からの距離に応じてツールに対象物への押付力を付与するように制御する限りは、任意のモデルを用いた位置制御及び弾性制御を採用することができる。
100 ロボットシステム
1 ロボット
11a 研削装置(ツール)
3 制御装置
32 記憶部
32a 加工プログラム
60 動作指令部
610 軌跡生成部
81 撮像装置
82 三次元スキャナ(三次元情報取得装置)
9 指定装置
B 加工部分
R 基準面
W 対象物

Claims (11)

  1. 対象物の加工部分を加工するロボットと、
    前記対象物の画像及び三次元情報を保持する記憶部と、
    前記画像の中から前記加工部分を指定するための指定装置と、
    前記ロボットを制御する制御装置とを備え、
    前記制御装置は、
    前記画像中の前記指定装置によって指定された部分と前記三次元情報とに基づいて、前記三次元情報における前記加工部分を導出し、
    前記加工部分の前記三次元情報に基づいて前記ロボットを動作させることによって、前記ロボットに前記加工部分を加工させるロボットシステム。
  2. 請求項1に記載のロボットシステムにおいて、
    前記ロボットによる加工は、除去加工であるロボットシステム。
  3. 請求項2に記載のロボットシステムにおいて、
    前記制御装置は、
    前記画像中の前記指定装置によって指定された部分と前記三次元情報とに基づいて、前記三次元情報における前記加工部分と前記加工部分が存在する、前記対象物の基準面とを導出し、
    前記ロボットに前記基準面に達するまで前記加工部分を除去させるロボットシステム。
  4. 請求項3に記載のロボットシステムにおいて、
    前記制御装置は、
    前記画像の中の前記加工部分に加えて前記基準面の指定を前記指定装置から受け付け、
    前記指定装置による前記画像中の前記基準面の指定に基づいて、前記三次元情報における前記基準面を導出するロボットシステム。
  5. 請求項3に記載のロボットシステムにおいて、
    前記制御装置は、前記画像中の前記指定装置によって指定された部分と前記三次元情報とに基づいて、前記三次元情報における前記加工部分を導出すると共に、前記加工部分の周囲の面を前記基準面として導出するロボットシステム。
  6. 請求項3乃至5の何れか1つに記載のロボットシステムにおいて、
    前記制御装置は、前記加工部分の前記三次元情報に基づいて、前記除去加工の開始位置を決定するロボットシステム。
  7. 請求項6に記載のロボットシステムにおいて、
    前記制御装置は、前記加工部分を前記基準面に向かって複数回に分けて除去するように前記ロボットを動作させるロボットシステム。
  8. 請求項2乃至7の何れか1つに記載のロボットシステムにおいて、
    前記対象物の画像を取得する撮像装置と、
    前記対象物の三次元情報を取得する三次元情報取得装置とをさらに備え、
    前記記憶部は、前記撮像装置によって取得された前記対象物の前記画像及び前記三次元情報取得装置によって取得された前記対象物の前記三次元情報を保持するロボットシステム。
  9. 請求項2乃至8の何れか1つに記載のロボットシステムにおいて、
    前記ロボットによる除去加工は、研削、切削又は研磨であるロボットシステム。
  10. 対象物の画像における前記対象物の加工部分を指定することと、
    前記画像中の指定された部分と前記対象物の三次元情報とに基づいて、前記三次元情報における前記加工部分を導出することと、
    前記加工部分の前記三次元情報に基づいてロボットを動作させることによって、前記ロボットに前記加工部分を加工させることとを含むロボットの加工方法。
  11. ロボットに対象物の加工部分を加工させるためにコンピュータに、
    前記対象物の画像における前記加工部分の指定を受け付けることと、
    前記画像中の指定された部分と前記対象物の三次元情報とに基づいて、前記三次元情報における前記加工部分を導出することと、
    前記加工部分の前記三次元情報に基づいてロボットを動作させることによって、前記ロボットに前記加工部分を加工させることとを実行させる加工プログラム。
JP2021127843A 2021-08-03 2021-08-03 ロボットシステム、ロボットの加工方法及び加工プログラム Pending JP2023022775A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021127843A JP2023022775A (ja) 2021-08-03 2021-08-03 ロボットシステム、ロボットの加工方法及び加工プログラム
PCT/JP2022/029381 WO2023013559A1 (ja) 2021-08-03 2022-07-29 ロボットシステム、ロボットの加工方法及び加工プログラム
CN202280053847.9A CN117794708A (zh) 2021-08-03 2022-07-29 机器人系统、机器人的加工方法以及加工程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021127843A JP2023022775A (ja) 2021-08-03 2021-08-03 ロボットシステム、ロボットの加工方法及び加工プログラム

Publications (1)

Publication Number Publication Date
JP2023022775A true JP2023022775A (ja) 2023-02-15

Family

ID=85154709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021127843A Pending JP2023022775A (ja) 2021-08-03 2021-08-03 ロボットシステム、ロボットの加工方法及び加工プログラム

Country Status (3)

Country Link
JP (1) JP2023022775A (ja)
CN (1) CN117794708A (ja)
WO (1) WO2023013559A1 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5291482B2 (ja) * 2009-02-06 2013-09-18 ファナック株式会社 ロボット教示プログラム修正装置
JP6088190B2 (ja) * 2012-10-04 2017-03-01 川崎重工業株式会社 加工システム、及びその加工方法
JP6663808B2 (ja) * 2016-07-04 2020-03-13 株式会社キーエンス 画像測定装置
JP2020017111A (ja) * 2018-07-26 2020-01-30 ファナック株式会社 ワーク計測装置、ワーク計測方法及びプログラム

Also Published As

Publication number Publication date
WO2023013559A1 (ja) 2023-02-09
CN117794708A (zh) 2024-03-29

Similar Documents

Publication Publication Date Title
JP5947349B2 (ja) 冗長軸を有する加工機械およびリアルタイムの冗長性解消
JP6506348B2 (ja) ロボットの軌道を修正するロボットの教示装置
JP6469159B2 (ja) 接触センサによるワーク位置検出プログラム生成機能を備えたオフラインプログラミング装置及び方法
JP5452788B1 (ja) 数値制御装置
CN109648585B (zh) 监视作业工具的移动方向的控制装置
JP6418483B2 (ja) 加工軌道生成装置と方法
US20180117764A1 (en) Force control coordinate axis setting device, robot, and force control coordinate axis setting method
JP6022086B2 (ja) 工作機械の制御装置
JP2021133470A (ja) ロボットの制御方法およびロボットシステム
JPH06332524A (ja) 数値制御装置における速度制御方法
WO2023013559A1 (ja) ロボットシステム、ロボットの加工方法及び加工プログラム
WO2023013560A1 (ja) ロボットシステム、ロボットの加工方法及び加工プログラム
WO2021241512A1 (ja) ワークに対する作業をロボットに実行させる制御装置、ロボットシステム、及び制御方法
JP7288521B2 (ja) マスタスレーブシステム及び制御方法
JP2019217607A (ja) ティーチング装置、ロボット制御システム及びティーチング方法
JP2015058493A (ja) 制御装置、ロボットシステム、ロボット、ロボット動作情報生成方法及びプログラム
JP6347399B2 (ja) 研磨ロボットとその軌道生成方法
WO2022210948A1 (ja) 特定点検出システム、特定点検出方法及び特定点検出プログラム
WO2022220217A1 (ja) ロボットシステム、その制御方法及び制御プログラム
JP7277340B2 (ja) マスタスレーブシステム、制御方法及び制御装置
JP5946680B2 (ja) アーク溶接用プログラムのプログラム変換方法、及びアーク溶接用プログラムのプログラム変換装置
CN107664981B (zh) 数值控制装置以及工具的移动控制方法
WO2022191148A1 (ja) 教示工具または作業者の手を用いて教示点を設定する教示装置
JP6441416B1 (ja) 制御装置
Živanović et al. An open architecture control system for multi-axis wood CNC machining center

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20230331