IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ファナック株式会社の特許一覧

特許7518203複数の移動機械を移動させて所定の作業を行う制御装置、機械システム、方法、及びコンピュータプログラム
<>
  • 特許-複数の移動機械を移動させて所定の作業を行う制御装置、機械システム、方法、及びコンピュータプログラム 図1
  • 特許-複数の移動機械を移動させて所定の作業を行う制御装置、機械システム、方法、及びコンピュータプログラム 図2
  • 特許-複数の移動機械を移動させて所定の作業を行う制御装置、機械システム、方法、及びコンピュータプログラム 図3
  • 特許-複数の移動機械を移動させて所定の作業を行う制御装置、機械システム、方法、及びコンピュータプログラム 図4
  • 特許-複数の移動機械を移動させて所定の作業を行う制御装置、機械システム、方法、及びコンピュータプログラム 図5
  • 特許-複数の移動機械を移動させて所定の作業を行う制御装置、機械システム、方法、及びコンピュータプログラム 図6
  • 特許-複数の移動機械を移動させて所定の作業を行う制御装置、機械システム、方法、及びコンピュータプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-08
(45)【発行日】2024-07-17
(54)【発明の名称】複数の移動機械を移動させて所定の作業を行う制御装置、機械システム、方法、及びコンピュータプログラム
(51)【国際特許分類】
   B25J 13/08 20060101AFI20240709BHJP
【FI】
B25J13/08 Z
【請求項の数】 10
(21)【出願番号】P 2022569959
(86)(22)【出願日】2021-12-10
(86)【国際出願番号】 JP2021045677
(87)【国際公開番号】W WO2022131175
(87)【国際公開日】2022-06-23
【審査請求日】2023-07-11
(31)【優先権主張番号】P 2020209530
(32)【優先日】2020-12-17
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【弁理士】
【氏名又は名称】廣瀬 繁樹
(72)【発明者】
【氏名】畑田 将伸
(72)【発明者】
【氏名】町田 雄紀
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開2000-271888(JP,A)
【文献】特開平05-318347(JP,A)
【文献】特開昭63-235073(JP,A)
【文献】特開2020-104178(JP,A)
【文献】米国特許出願公開第2020/0368904(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/06-19/06
B23K 9/12
(57)【特許請求の範囲】
【請求項1】
複数の移動機械によってエンドエフェクタを移動させて該エンドエフェクタによってワークに対して所定の作業を行う制御装置であって、
前記複数の移動機械を動作させることで前記エンドエフェクタを移動させる移動機械動作部と、
前記移動機械動作部による前記移動機械の動作状態を表す動作状態データを取得する動作状態データ取得部と、
前記動作状態データ取得部が取得した前記動作状態データに応じて、前記作業のための前記エンドエフェクタの出力値を調整する適応制御を実行する適応制御実行部と、
所定の指令に応じて、前記動作状態データ取得部が前記動作状態データを取得する前記移動機械を、第1の前記移動機械から第2の前記移動機械に切り換える入力切換部と、を備える、制御装置。
【請求項2】
前記入力切換部は、前記作業を実行するための作業プログラム、又は、前記移動機械に動作を教示するための教示装置から、前記所定の指令を受け付ける、請求項1に記載の制御装置。
【請求項3】
前記作業プログラムは、前記第2の移動機械を特定するとともに、前記適応制御実行部に前記適応制御を実行させる命令文を含み、
前記入力切換部は、前記命令文から前記所定の指令を受け付けたときに、前記動作状態データの取得対象とする前記移動機械を前記第1の移動機械から前記第2の移動機械に切り換える、請求項2に記載の制御装置。
【請求項4】
前記教示装置は、前記適応制御を教示するために割り当てられた操作部を有し、
前記入力切換部は、前記操作部への入力操作を通して前記所定の指令を受け付けたときに、前記動作状態データの取得対象とする前記移動機械を前記第1の移動機械から前記第2の移動機械に切り換える、請求項2に記載の制御装置。
【請求項5】
前記動作状態データは、前記移動機械の位置、速度、加速度、教示点までの距離、及び移動時間の少なくとも1つを含む、請求項1~4のいずれか1項に記載の制御装置。
【請求項6】
前記動作状態データ取得部は、前記移動機械動作部が前記移動機械を動作させるための動作指令、又は、前記移動機械動作部が前記移動機械を動作させているときに該移動機械から前記制御装置に供給されるフィードバック、に基づいて、前記動作状態データを取得する、請求項1~のいずれか1項に記載の制御装置。
【請求項7】
エンドエフェクタを移動させる複数の移動機械と、
請求項1~のいずれか1項に記載の制御装置と、を備える、機械システム。
【請求項8】
前記複数の移動機械は、
第1の移動機械と、
前記第1の移動機械に設けられ、該第1の移動機械によって移動される第2の移動機械であって、前記エンドエフェクタが取り付けられる、第2の移動機械と、を有する、請求項に記載の機械システム。
【請求項9】
複数の移動機械によってエンドエフェクタを移動させて該エンドエフェクタによってワークに対して所定の作業を行う方法であって、
プロセッサが、
前記複数の移動機械を動作させることで前記エンドエフェクタを移動させ、
前記移動機械の動作状態を表す動作状態データを取得し、
取得した前記動作状態データに応じて、前記作業のための前記エンドエフェクタの出力値を調整し、
所定の指令に応じて、前記動作状態データを取得する前記移動機械を、第1の前記移動機械から第2の前記移動機械に切り換える、方法。
【請求項10】
請求項に記載の方法を前記プロセッサに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、複数の移動機械を移動させて所定の作業を行う制御装置、機械システム、方法、及びコンピュータプログラムに関する。
【背景技術】
【0002】
移動機械(例えば、垂直多関節型ロボット)の動作状態データに応じてエンドエフェクタの出力値を調整する適応制御を実行可能なシステムが知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2014-198373号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来、エンドエフェクタを複数の移動機械で移動させる場合において、動作状態データを取得する移動機械を動的に切り替えて適応制御を実行可能とする技術が求められている。
【課題を解決するための手段】
【0005】
本開示の一態様において、複数の移動機械によってエンドエフェクタを移動させて該エンドエフェクタによってワークに対して所定の作業を行う制御装置は、複数の移動機械を動作させることでエンドエフェクタを移動させる移動機械動作部と、移動機械動作部による移動機械の動作状態を表す動作状態データを取得する動作状態データ取得部と、動作状態データ取得部が取得した動作状態データに応じて、作業のためのエンドエフェクタの出力値を調整する適応制御実行部と、所定の指令に応じて、動作状態データ取得部が動作状態データを取得する移動機械を、第1の移動機械から第2の移動機械に切り換える入力切換部とを備える。
【0006】
本開示の他の態様において、複数の移動機械によってエンドエフェクタを移動させて該エンドエフェクタによってワークに対して所定の作業を行う方法は、プロセッサが、複数の移動機械を動作させることでエンドエフェクタを移動させ、移動機械の動作状態を表す動作状態データを取得し、取得した動作状態データに応じて、作業のためのエンドエフェクタの出力値を調整し、所定の指令に応じて、動作状態データを取得する移動機械を、第1の移動機械から第2の移動機械に切り換える。
【発明の効果】
【0007】
本開示によれば、プロセッサが、動作状態データの取得対象とする移動機械を、所定の指令に応じて、複数の移動機械の間で動的に切り換えることが可能となる。
【図面の簡単な説明】
【0008】
図1】一実施形態に係る機械システムの模式図である。
図2図1に示す機械システムのブロック図である。
図3図1に示すエンドエフェクタの拡大図である。
図4】他の実施形態に係る機械システムの模式図である。
図5図4に示す機械システムのブロック図である。
図6】さらに他の実施形態に係る機械システムの模式図である。
図7図6に示す機械システムのブロック図である。
【発明を実施するための形態】
【0009】
以下、本開示の実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する種々の実施形態において、同様の要素には同じ符号を付し、重複する説明を省略する。まず、図1及び図2を参照して、一実施形態に係る機械システム10について説明する。機械システム10は、作業機械12、エンドエフェクタ14、複数の移動機械16及び18、並びに、制御装置20を備える。
【0010】
作業機械12は、作業に用いる要素EMをエンドエフェクタ14に供給する。一例として、作業機械12は、レーザ加工作業に用いる要素EMとしてレーザ光EM1を生成するレーザ発振器である。この場合、作業機械12は、固体レーザ発振器(例えば、YAGレーザ発振器、又はファイバレーザ発振器)、又はガスレーザ発振器(例えば、炭酸ガスレーザ発振器)等であって、制御装置20からの指令に応じて光共振によって内部でレーザ光EM1を生成し、エンドエフェクタ14に供給する。
【0011】
他の例として、作業機械12は、溶接作業又はろう付け作業に用いる要素EMとしてワイヤ材EM2(溶接ワイヤ又はろう材)をエンドエフェクタ14に供給するワイヤ送給装置である。この場合、作業機械12は、ワイヤ材が巻回されたドラムと、制御装置20からの指令に応じて該ドラムを回転させることでワイヤ材EM2を送給する電動機とを有する。
【0012】
さらに他の例として、作業機械12は、塗工作業に用いる要素EMとして塗料EM3をエンドエフェクタ14に供給する塗料供給装置である。この場合、作業機械12は、塗料EM3を貯蔵するタンクと、制御装置20からの指令に応じてタンクから塗料EM3を送給する電動ポンプとを有する。
【0013】
エンドエフェクタ14は、作業機械12から供給された要素EMを出力軸A2に沿って出力し、該要素EMを用いてワーク(図示せず)に対して所定の作業を行う。一例として、作業機械12がレーザ発振器である場合、エンドエフェクタ14は、ワークに対してレーザ加工作業(レーザ溶接、レーザ切断等)を行うレーザ加工ヘッドである。
【0014】
この場合、エンドエフェクタ14は、中空のヘッド本体と、ヘッド本体の先端部に設けられた中空のノズルと、ヘッド本体の内部に収容された光学レンズ(ともに図示せず)とを有し、制御装置20からの指令に応じて、作業機械12から供給されたレーザ光EM1を出力軸A2に沿って出射し、該レーザ光EM1でワークをレーザ加工する。
【0015】
他の例として、作業機械12がワイヤ送給装置である場合、エンドエフェクタ14は、ワークに対して溶接作業を行う溶接装置(溶接トーチ、溶接ガン等)である。この場合、エンドエフェクタ14は、ワークとの間で放電を発生させる電極を有し、制御装置20からの指令に応じて電極に通電して、放電を発生させる。これとともに、エンドエフェクタ14は、作業機械12から供給されたワイヤ材EM2(溶接ワイヤ)を出力軸A2に沿って送給し、該ワイヤ材EM2でワークを溶接する。
【0016】
代替的には、エンドエフェクタ14は、作業機械12から供給されたワイヤ材EM2(ろう材)を加熱する加熱装置(バーナー、レーザ加工ヘッド等)を有し、制御装置20からの指令に応じてワイヤ材EM2を出力軸A2に沿って送給し、該ワイヤ材EMを加熱装置で加熱してワークにろう付けする。
【0017】
さらに他の例として、作業機械12が塗料供給装置である場合、エンドエフェクタ14は、ワークに対して塗工作業を行う塗料塗布器である。この場合、エンドエフェクタ14は、作業機械12から供給された塗料EM3を噴射する電動式の噴射装置を有し、制御装置20からの指令に応じて該塗料EM3を出力軸A2に沿って噴射し、ワークに塗布する。
【0018】
移動機械16及び18は、各々がエンドエフェクタ14を移動させることができる。本実施形態においては、移動機械16は、垂直多関節ロボットであって、ロボットベース22、旋回胴24、下腕部26、上腕部28、手首部30を有する。ロボットベース22は、作業セルの床の上に固定されている。旋回胴24は、鉛直軸周りに旋回可能となるように、ロボットベース22に設けられている。
【0019】
下腕部26は、旋回胴24に水平軸周りに回動可能に設けられている。上腕部28は、互いに直交する2つの軸の周りに回動可能にとなるように、下腕部26の先端部に設けられている。手首部30は、上腕部28の先端部に回動可能に設けられた手首ベース30aと、手首軸A1周りに回動可能となるように該手首ベース30aに設けられた手首フランジ30bとを有する。
【0020】
移動機械16は、複数のサーボモータ32(図2)、及び、複数のサーボモータ32にそれぞれ設けられた複数のセンサ34をさらに有する。複数のサーボモータ32は、ロボットベース22、旋回胴24、下腕部26、上腕部28、及び手首部30にそれぞれ設けられている。
【0021】
これらサーボモータ32は、制御装置20からの指令に応じて、移動機械16の各可動要素(旋回胴24、下腕部26、上腕部28、手首部30、手首フランジ30b)を駆動軸周りに回動させる。これにより、移動機械16は、移動機械18及びエンドエフェクタ14を移動させる。各々のセンサ34は、例えば、サーボモータ32の回転シャフトの回転(回転位置又は回転角度)を検出する回転検出センサ(エンコーダ、ホール素子等)であって、検出した回転に係るデータを、フィードバックFB1として、制御装置20へ供給する。
【0022】
移動機械18は、移動機械16の手首フランジ30bに設けられている。具体的には、図1及び図3に示すように、移動機械18は、筐体36、複数のサーボモータ38、アダプタ40、運動変換機構42、及び複数のセンサ44(図2)を有する。筐体36は、手首フランジ30bに着脱可能に取り付けられている。サーボモータ38の各々は、筐体36に固定されている。
【0023】
アダプタ40には、エンドエフェクタ14が着脱可能に取り付けられている。運動変換機構42は、サーボモータ38の各々の回転シャフトの回転動作を、アダプタ40の、エンドエフェクタ14の出力軸A2と直交する方向への並進動作に変換する。こうして、サーボモータ38は、制御装置20からの指令に応じて各々の回転シャフトを回転させることで、運動変換機構42を介して、アダプタ40及びエンドエフェクタ14を、出力軸A2と直交する方向へ並進移動させる。
【0024】
センサ44は、サーボモータ38にそれぞれ設けられている。センサ44は、例えば、サーボモータ38の回転シャフトの回転(回転位置又は回転角度)を検出する回転検出センサ(エンコーダ、ホール素子等)であって、検出した回転に係るデータを、フィードバックFB2として、制御装置20へ供給する。
【0025】
図2に示すように、制御装置20は、プロセッサ50、メモリ52、及びI/Oインターフェース54を有するコンピュータである。プロセッサ50は、メモリ52及びI/Oインターフェース54とバス56を介して通信可能に接続され、これらコンポーネントと通信しつつ、後述する各種機能を実現するための演算処理を行う。
【0026】
メモリ52は、RAM又はROM等を有し、プロセッサ50で実行される演算処理で利用される各種データ、及び演算処理の途中で生成される各種データを、一時的又は恒久的に記憶する。I/Oインターフェース54は、例えば、イーサネット(登録商標)ポート、USBポート、光ファイバコネクタ、又はHDMI(登録商標)端子を有し、プロセッサ50からの指令の下、外部機器との間でデータを有線又は無線で通信する。上述の作業機械12、エンドエフェクタ14、移動機械16(サーボモータ32及びセンサ34)、及び、移動機械18(サーボモータ38及びセンサ44)は、I/Oインターフェース54に通信可能に接続されている。
【0027】
図1に示すように、移動機械16には、ロボット座標系C1が設定されている。ロボット座標系C1は、移動機械16の各可動要素の動作を自動制御するための座標系である。本実施形態においては、ロボット座標系C1は、その原点がロボットベース22の中心に配置され、そのz軸が鉛直方向と平行となるように、ロボットベース22に対して固定されている。
【0028】
一方、エンドエフェクタ14には、ツール座標系C2が設定されている。ツール座標系C2は、ロボット座標系C1におけるエンドエフェクタ14の位置を規定する座標系である。本実施形態においては、ツール座標系C2は、その原点(いわゆる、TCP)が、エンドエフェクタ14の作業点(例えば、レーザ光EM1の出射口、ワイヤ材EM2の溶接位置、又は、塗料EM3の噴射口)に配置され、そのz軸が、手首軸A1と直交する(又は、出力軸A2と一致する)ように、エンドエフェクタ14に対して設定されている。
【0029】
エンドエフェクタ14を移動させるとき、制御装置20は、ロボット座標系C1においてツール座標系C2を設定し、設定したツール座標系C2によって表される位置にエンドエフェクタ14を配置するように、移動機械16の各サーボモータ32、又は移動機械18の各サーボモータ38への動作指令OC(位置指令、速度指令、トルク指令等)を生成する。こうして、制御装置20は、移動機械16及び18を動作させて、エンドエフェクタ14を、ロボット座標系C1における任意の位置に位置決めできる。なお、本稿において、「位置」とは、位置及び姿勢を意味する場合がある。
【0030】
次に、機械システム10の動作フローについて説明する。プロセッサ50は、メモリ52に予め格納された作業プログラムPGに従って、ワークに対する作業(レーザ加工作業、溶接作業、ろう付け作業、塗工作業等)を実行する。作業プログラムPGは、後述する作業のための機能をプロセッサ50に実行させるコンピュータプログラムである。作業プログラムPGの一例を模式的に示した表を以下に示す。
【0031】
【表1】
【0032】
表1に示す例では、作業プログラムPGに、ロボット座標系C1においてエンドエフェクタ14(すなわち、ツール座標系の原点:TCP)を位置決めすべき教示点Pn(n=1,2,3,4,5,6)と、エンドエフェクタ14を該教示点Pnまで移動させるときの速度Vnが規定されている。つまり、作業プログラムPGの1行目の命令文「移動 教示点[P1] 速度[V1]」は、エンドエフェクタ14(TCP)を、教示点P1に速度V1で移動させる指令を意味する。
【0033】
また、作業プログラムPGの2行目の命令文「エンドエフェクタ[ON]」は、作業機械12を動作させてエンドエフェクタ14に要素EM(レーザ光EM1、ワイヤ材EM2、又は塗料EM3等)を供給し、該要素EMを該エンドエフェクタ14に出力値OPで出力させるための指令である。
【0034】
一例として、エンドエフェクタ14がレーザ加工ヘッドである場合、出力値OPは、作業機械12がエンドエフェクタ14に供給するレーザ光EM1のレーザパワーであり得る。他の例として、エンドエフェクタ14が溶接装置である場合、出力値OPは、作業機械12がエンドエフェクタ14に供給するワイヤ材EM2の送給速度であり得る。さらに他の例として、エンドエフェクタ14が塗料塗布器である場合、出力値OPは、作業機械12がエンドエフェクタ14に供給する塗料EM3の流量(又は圧力)であり得る。
【0035】
プロセッサ50は、作業プログラムPGを解析し、該作業プログラムPGに規定されている各命令文を順に読み出して実行することにより、ワークに対して作業を行う。ここで、本実施形態においては、プロセッサ50は、複数の移動機械16及び18を、1つずつ順に動作させることで、エンドエフェクタ14を教示点TPnへ移動させる。
【0036】
具体的には、作業プログラムPGにおいて、エンドエフェクタ14を教示点P1、P2、P3及びP4へ移動させるとき、プロセッサ50は、移動機械18を停止した状態で移動機械16を動作させ、該移動機械16のみの動作によりエンドエフェクタ14を移動させる。
【0037】
一方、エンドエフェクタ14を教示点P5及びP6へ移動させるとき、プロセッサ50は、移動機械16を停止した状態で移動機械18を動作させ、該移動機械18のみの動作によりエンドエフェクタ14を移動させる。このように、本実施形態においては、プロセッサ50は、複数の移動機械16及び18を動作させることでエンドエフェクタ14を移動させる移動機械動作部58(図2)として機能する。
【0038】
以下、表1に示す作業プログラムPGを実行したときの機械システム10の動作フローについて、具体的に説明する。作業プログラムPGの開始後、プロセッサ50は、まず、1行目の命令文を読み出し、移動機械16のサーボモータ32への動作指令OC1(位置指令、速度指令、トルク指令等)を生成し、移動機械16の動作によりエンドエフェクタ14を教示点P1へ速度V1で移動させる。
【0039】
このとき、プロセッサ50は、センサ34からのフィードバックFB1を取得し、該フィードバックFB1に基づいて、ロボット座標系C1におけるエンドエフェクタ14(TCP)の位置を求め、該位置から、エンドエフェクタ14(TCP)が教示点P1に到達したか否かを判定する。
【0040】
エンドエフェクタ14が教示点P1に到達したとき、プロセッサ50は、2行目の命令文を読み出し、エンドエフェクタ14の動作を「ON」にする。そして、プロセッサ50は、作業機械12に出力指令OPを発信して該作業機械12を動作させ、エンドエフェクタ14に要素EMを、出力指令OPに対応する出力値OPで出力させる。
【0041】
こうして、プロセッサ50は、エンドエフェクタ14を起動して、要素EMを用いてワークに対する作業を実行する。次いで、プロセッサ50は、3行目の命令文を読み出し、移動機械16を動作指令OC1に従って動作させて、エンドエフェクタ14を教示点P2へ速度V2で移動させる。
【0042】
エンドエフェクタ14を教示点P2に移動させたとき、プロセッサ50は、4行目の「適応制御開始[移動機械16]」という命令文を読み出す。この命令文は、移動機械16の動作状態データOD1に応じてエンドエフェクタ14の出力値OPを調整する第1の適応制御AC1を実行するための適応制御開始指令AD1をプロセッサ50に与える。ここで、動作状態データOD1は、プロセッサ50(移動機械動作部58)が動作させる移動機械16の動作状態を表すデータである。
【0043】
一例として、動作状態データOD1は、移動機械16の位置P、速度V、加速度α、教示点Pnまでの距離d、及び移動時間tを含む。移動機械16の位置Pは、例えば、移動機械16によって移動されるエンドエフェクタ14(又は、移動機械16の手首フランジ30b)の、ロボット座標系C1における位置(具体的には、座標)を含む。例えば、プロセッサ50は、この位置Pを、移動機械16を動作させるための動作指令OC1(例えば、位置指令)から取得できる。代替的には、プロセッサ50は、この位置Pを、センサ34からのフィードバックFB1に基づいて求めることができる。
【0044】
移動機械16の速度Vは、例えば、移動機械16によって移動されるエンドエフェクタ14(TCP)の速度を含む。プロセッサ50は、この速度Vを、動作指令OC1(例えば、速度指令)から取得できる。代替的には、プロセッサ50は、この速度Vを、センサ34からのフィードバックFB1に基づいて求めることができる。
【0045】
移動機械16の加速度αは、例えば、移動機械16によって移動されるエンドエフェクタ14(TCP)の加速度を含む。プロセッサ50は、この加速度αを、動作指令OC1(例えば、速度指令の時間微分)から取得できる。代替的には、プロセッサ50は、この加速度αを、センサ34からのフィードバックFB1に基づいて求めることができる。
【0046】
移動機械16の教示点Pnまでの距離dは、例えば、移動機械16によって移動されるエンドエフェクタ14(TCP)から、該エンドエフェクタ14を次に位置決めすべき教示点Pnまでの距離を含む。プロセッサ50は、この距離dを、動作指令OC1(例えば、位置指令)と教示点Pnの位置データとから取得できる。代替的には、プロセッサ50は、この距離dを、センサ34からのフィードバックFB1に基づいて求めた位置Pと教示点Pnの位置データとから取得することができる。
【0047】
移動機械16の移動時間tは、例えば、教示点Pnから教示点Pn+1へ移動するときに、教示点Pnを通過してから経過した時間を含む。プロセッサ50は、この移動時間tを、動作指令OC1(例えば、位置指令)と、制御装置20に設けられた計時部(図示せず)によって計時される時間とから取得できる。代替的には、プロセッサ50は、この移動時間tを、センサ34からのフィードバックFB1に基づいて求めた位置Pと、計時部によって計時される時間とから取得することができる。
【0048】
以上のように、プロセッサ50は、移動機械16を動作させるための動作指令OC1、又は、移動機械16を動作させているときに該移動機械16から制御装置20に供給されるフィードバックFB1に基づいて、移動機械16の動作状態データOD1(位置P、速度V、加速度α、距離d、又は移動時間t)を取得する。したがって、プロセッサ50は、動作状態データOD1を取得する動作状態データ取得部60(図2)として機能する。
【0049】
作業プログラムPGから適応制御開始指令AD1を受け付けると、プロセッサ50は、適応制御のために動作状態データODを取得する移動機械を、命令文:「適応制御開始[移動機械16]」に規定されている移動機械16に切り換えて、移動機械16の動作状態データOD1を取得する動作を開始する。
【0050】
そして、プロセッサ50は、動作状態データOD1に応じて出力値OPを調整する第1の適応制御AC1を開始する。第1の適応制御AC1の開始後、プロセッサ50は、予め作成された適応制御用プログラムを起動し、取得した動作状態データOD1を該適応制御用プログラムに適用して、出力値OPを随時計算する。
【0051】
プロセッサ50は、移動機械16によりエンドエフェクタ14を教示点P3及びP4へ移動させる間(作業プログラムPGの5行目及び6行目の命令文)、第1の適応制御AC1を実行する。一例として、プロセッサ50は、第1の適応制御AC1として、速度Vが増大するにつれて出力値OPを増大させるように、速度Vに応じて出力値OPを調整する。
【0052】
より具体的には、プロセッサ50は、例えばエンドエフェクタ14を教示点P3から教示点P4へ移動させるときに、エンドエフェクタ14を速度V4まで加速するのに応じて、出力値OPを出力指令OPまで増大(又は、出力指令OPから所定の割合で増大)させてもよい。
【0053】
他の例として、プロセッサ50は、第1の適応制御AC1として、位置Pが、教示点Pnを通過した後に所定の距離だけ前進するまで、位置Pに応じて出力値OPを増大させる。具体的には、プロセッサ50は、エンドエフェクタ14が教示点P3を通過してから10mm進んだ位置に達したときに出力値OPが出力指令OPに到達するように、該出力値OPを、位置Pに応じて増大させる。
【0054】
代替的には、プロセッサ50は、位置Pが、次の教示点Pnから所定の距離だけ手前の位置から該教示点Pnに達するまで、位置Pに応じて出力値OPを減少させてもよい。具体的には、プロセッサ50は、エンドエフェクタ14を教示点P3から教示点P4へ移動している間、教示点P4から10mm手前の位置に到達した後、該教示点P4に到達するまでに、位置Pに応じて出力値OPを出力指令OPから減少させてもよい。
【0055】
さらに他の例として、プロセッサ50は、第1の適応制御AC1として、教示点Pnを通過してからの移動時間tが所定の時間に達するまで、該移動時間tに応じて出力値OPを増大させる。具体的には、プロセッサ50は、教示点P3を通過してからの移動時間tが5秒に達したとき(つまり、教示点P3を通過してから5秒が経過したとき)に出力値OPが出力指令OPに到達するように、移動時間tに応じて出力値OPを増大させる。
【0056】
さらに他の例として、プロセッサ50は、第1の適応制御AC1として、加速度αが増大する(又は、減少する)につれて、出力値OPを出力指令OPへ増大(又は、出力指令OPから減少)させてもよい。このように、本実施形態においては、プロセッサ50は、第1の適応制御AC1において、動作状態データOD1(位置P、速度V、加速度α、距離d、又は移動時間t)に応じて、出力値OPを、出力指令OPを基準として調整する。したがって、プロセッサ50は、動作状態データOD1に応じて出力値OPを調整する適応制御実行部62(図2)として機能する。
【0057】
エンドエフェクタ14を教示点P4に移動させたとき、プロセッサ50は、7行目の「適応制御開始[移動機械18]」という命令文を読み出す。この命令文は、移動機械18の動作状態データOD2に応じて出力値OPを調整する第2の適応制御AC2を実行するための適応制御開始指令AD2をプロセッサ50に与える。
【0058】
ここで、動作状態データOD2は、プロセッサ50による移動機械18の動作状態を表すデータであって、上述の動作状態データOD1と同様に、移動機械18(具体的には、移動機械18によって移動されるエンドエフェクタ14又はTCP)の位置P、速度V、加速度α、教示点Pnまでの距離d、及び移動時間tを含む。
【0059】
プロセッサ50は、動作状態データ取得部60として機能して、これら位置P、速度V、加速度α、距離d、及び移動時間tを、移動機械18(サーボモータ38)を動作させるための動作指令OC2、又は、センサ44からのフィードバックFB2に基づいて取得できる。
【0060】
具体的には、プロセッサ50は、位置Pを、移動機械18を動作させるための動作指令OC2(位置指令)から取得するか、又は、センサ34からのフィードバックFB1とセンサ44からのフィードバックFB2とに基づいて求めることができる。また、プロセッサ50は、速度V、加速度α、距離d、及び移動時間tを、上述の速度V、加速度α、距離d、及び移動時間tと同様の方法により、動作指令OC2、又はフィードバックFB1及びFB2に基づいて、取得することができる。
【0061】
作業プログラムPGから適応制御開始指令AD2を受け付けると、プロセッサ50は、適応制御のために動作状態データODを取得する移動機械を、移動機械16から、命令文:「適応制御開始[移動機械18]」に規定されている移動機械18に切り換えて、移動機械18の動作状態データOD2を取得する動作を開始する。このように、本実施形態においては、プロセッサ50は、所定の指令(適応制御開始指令AD2)に応じて、動作状態データODを取得する移動機械を、移動機械16から移動機械18に切り換える入力切換部64として機能する。
【0062】
そして、プロセッサ50は、移動機械18の動作によりエンドエフェクタ14を教示点P5及びP6へ移動させる間(作業プログラムPGの8行目及び9行目の命令文)、上述の第1の適応制御AC1と同様に、動作状態データOD2(位置P、速度V、加速度α、距離d、及び移動時間t)に応じて出力値OPを調整する第2の適応制御AC2を実行する。そして、プロセッサ50は、作業プログラムPGの10行目の「END」の命令文で示される作業終了指令を受け付けたときに、作業機械12、エンドエフェクタ14、移動機械18の動作を停止し、以って作業を終了する。
【0063】
以上のように、本実施形態においては、プロセッサ50は、入力切換部64として機能し、適応制御指令ADに応じて、動作状態データODの取得対象とする移動機械を、複数の移動機械16及び18の間で動的に切り換えることができる。この構成によれば、複数の移動機械16及び18に対し共通の作業プログラムPGを用いることができ、該作業プログラムPGの実行中に第1の適応制御AC1と第2の適応制御AC2とを動的に切り換えることができる。これにより、作業プログラムPGを簡単化することができる。
【0064】
また、本実施形態においては、プロセッサ50は、作業プログラムPGから適応制御開始指令AD1及びAD2を受け付けている。この構成によれば、プロセッサ50は、動作状態データODの取得対象とする移動機械を、作業プログラムPGからの指令ADに従って、移動機械16及び18の間で自動的に切り換えることができ、以って、第1の適応制御AC1と第2の適応制御AC2とを自動で切り換えることができる。
【0065】
また、本実施形態の一例において、プロセッサ50は、移動機械16、18を動作させるための動作指令OCに基づいて動作状態データODを取得している。この場合、プロセッサ50は、移動機械16、18を動作させる前に動作指令OCを取得できるので、動作指令OCを用いた適応制御ACを迅速に実行できる。
【0066】
なお、適応制御ACを実行するときに動作指令OCから取得した動作状態データODを用いる場合、プロセッサ50は、動作指令OCを移動機械16、18に発信してから所定の時間tだけ経過したときに、該動作指令OCから動作状態データODを取得し、該動作状態データODに応じて適応制御ACを実行してもよい。この所定の時間tは、動作指令OCを発信してから移動機械16、18が実際にエンドエフェクタ14の移動を開始するまでの遅れ時間を加味して、定められ得る。
【0067】
また、本実施形態の他の例において、プロセッサ50は、移動機械16、18を動作させているときに該移動機械16、18(具体的には、センサ34、44)から制御装置20に供給されるフィードバックFBに基づいて、動作状態データODを取得している。この構成によれば、プロセッサ50は、移動機械16、18の実際の動作を正確に表す動作状態データODを用いて、適応制御ACを実行できる。
【0068】
なお、上述の移動機械動作部58、動作状態データ取得部60、適応制御実行部62、及び入力切換部64の機能は、プロセッサ50が実行するコンピュータプログラム(つまり、作業プログラムPG)により実現される機能モジュールである。コンピュータプログラム(作業プログラムPG)は、半導体メモリ、磁気記録媒体、又は光記録媒体といった、コンピュータ読取可能な記録媒体に記録された形で提供されてもよい。
【0069】
次に、図4及び図5を参照して、他の実施形態に係る機械システム70について説明する。機械システム70は、上述の機械システム10と、教示装置72をさらに備える点で、相違する。教示装置72は、例えば、教示ペンダント又はタブレット型端末装置等の携帯型コンピュータであって、表示部74(LCD、有機ELディスプレイ等)、操作部76(押しボタン、タッチセンサ等)、プロセッサ及びメモリ(ともに図示せず)を有する。教示装置72は、I/Oインターフェース54に無線又は有線で通信可能に接続されている。
【0070】
オペレータは、表示部74に表示された画像を視認しつつ操作部76を操作することによって、移動機械16及び18をジョグ動作させることができる。オペレータは、教示装置72を用いて移動機械16及び18をジョグ動作させることで移動機械16及び18に作業のための一連の動作を教示し、これにより、作業プログラムPGを作成することができる。
【0071】
例えば、表1に示す作業プログラムPGを作成する場合、オペレータは、操作部76を操作して、移動機械16をジョグ動作させるための教示指令を、教示装置72から制御装置20に送る。そうすると、制御装置20のプロセッサ50は、移動機械動作部58として機能して、該教示指令に応じて移動機械16への動作指令OC1を生成し、移動機械16をジョグ動作させる。こうして、オペレータは、移動機械16がエンドエフェクタ14を位置決めすべき教示点P1、P2、P3及びP4を教示し、表1中の1行目、3行目、5行目及び6行目に示す命令文を作業プログラムPGに書き込むことができる。
【0072】
同様に、オペレータは、操作部76を操作して移動機械18をジョグ動作させるための教示指令を、教示装置72から制御装置20に送る。該教示指令に応じて、プロセッサ50は、移動機械動作部58として機能して、移動機械18への動作指令OC2を生成し、移動機械18をジョグ動作させる。
【0073】
こうして、オペレータは、移動機械18がエンドエフェクタ14を位置決めすべき教示点P5及びP6を教示し、表1中の8行目及び9行目に示す命令文を作業プログラムPGに書き込むことができる。また、オペレータは、操作部76を操作して、表1中の2行目に示す命令文を作業プログラムPGに書き込むことができる。
【0074】
ここで、本実施形態においては、操作部76は、適応制御ACを教示するために割り当てられた操作部76aを有する。例えば、表1中の3行目に示す教示点P2の教示を行った後、オペレータが第1の適応制御AC1を教示すべく操作部76aを操作すると、教示装置72は、適応制御開始指令AD1を制御装置20に送信する。
【0075】
適応制御開始指令AD1を受け付けると、プロセッサ50は、入力切換部64として機能して、動作状態データODの取得対象とする移動機械を、移動機械16に切り換える。そして、プロセッサ50は、動作状態データ取得部60として機能して動作状態データOD1の取得を開始し、適応制御実行部62として機能して第1の適応制御AC1を開始する。これとともに、教示装置72のプロセッサ(又は、プロセッサ50)は、表1の4行目に示す「適応制御開始[移動機械16]」という命令文を作業プログラムPGに自動的に書き込む。
【0076】
また、表1中の6行目に示す教示点P4の教示を行った後、オペレータが、第2の適応制御AC2を教示すべく操作部76aを操作すると、教示装置72は、適応制御開始指令AD2を制御装置20に送信する。適応制御開始指令AD2を受け付けると、プロセッサ50は、入力切換部64として機能して、動作状態データODの取得対象とする移動機械を、移動機械16から移動機械18に切り換える。
【0077】
そして、プロセッサ50は、動作状態データ取得部60として機能して、切り換え後の動作状態データOD2の取得を開始し、適応制御実行部62として機能して第2の適応制御AC2を開始する。これとともに、教示装置72のプロセッサ(又は、プロセッサ50)は、表1の7行目に示す「適応制御開始[移動機械18]」という命令文を作業プログラムPGに自動的に書き込む。
【0078】
このように、本実施形態においては、プロセッサ50は、移動機械16、18に動作を教示するための教示装置72から適応制御指令ACを受け付けて、動作状態データODの取得対象とする移動機械を、移動機械16及び18の間で切り換えている。この構成によれば、オペレータは、簡単な操作により、適応制御ACの切り替えを教示することができ、移動機械16及び18に共通の作業プログラムPGを容易に作成できる。
【0079】
なお、教示装置72の操作部76は、動作状態データODの取得対象とする移動機械を切り換えるために割り当てられた操作部76bを有してもよい。この場合において、オペレータが操作部76bを操作すると、プロセッサ50は、教示装置72から移動機械切り換え指令を受け付けて、入力切換部64として機能し、動作状態データODの取得対象とする移動機械を、移動機械16から移動機械18に切り換える。この移動機械の切り換え動作と連動して、プロセッサ50は、動作状態データ取得部60として機能して切り換え後の動作状態データODの取得を自動で開始するとともに、適応制御実行部62として機能して第2の適応制御AC2を自動で開始してもよい。
【0080】
なお、機械システム10又は70は、複数の作業機械12を備えてもよい。このような形態を図6及び図7に示す。図6及び図7に示す機械システム80は、上述の機械システム70と、複数の作業機械12A及び12Bを備える点で相違する。例えば、作業機械12Aは、レーザ光EM1をエンドエフェクタ14に供給するレーザ発振器である一方、作業機械12Bは、ろう材としてのワイヤ材EM2をエンドエフェクタ14に供給する送給するワイヤ送給装置である。
【0081】
この場合において、エンドエフェクタ14は、作業機械12Aから供給されたレーザ光EM1によって、作業機械12Bから供給されたワイヤ材EM2を加熱する加熱装置としてのレーザ加工ヘッドであり得る。エンドエフェクタ14は、制御装置20からの指令に応じて、作業機械12Aから供給されたレーザ光EM1を、出力軸A2_1に沿って出力値OP1で出力するとともに、作業機械12Bから供給されたワイヤ材EM2を、出力軸A2_2に沿って出力値OP2で出力する。
【0082】
そして、プロセッサ50は、適応制御ACにおいて、移動機械16、18の動作状態データODに応じて、エンドエフェクタ14の出力値OP1を、該出力値OP1の出力指令OPC_1を基準に調整するとともに、出力値OP2を、該出力値OP2の出力指令OPC_2を基準に調整する。このように、プロセッサ50は、動作状態データODに応じて、互いに異なる複数の出力値OP1、OP2をそれぞれ適応制御してもよい。
【0083】
なお、作業機械12Bは、アシストガスをエンドエフェクタ14に供給するガス供給装置であり、エンドエフェクタ14は、作業機械12Bから供給されたアシストガスをワークに吹き付けつつ、作業機械12Aから供給されたレーザ光EM1によってワークをレーザ加工するレーザ加工ヘッドであってもよい。代替的には、機械システム80は、作業機械12A及び12Bに加えて、ガス供給装置としての作業機械12Cをさらに備えてもよい。
【0084】
上述の表1に示す作業プログラムPGは、一例であって、規定される命令文の文字及び行数(つまり、プロセスの数)は、実行する作業に応じてオペレータによって任意に定められ得る。例えば、表1の9行目の命令文の次の行に、4行目と同じ「適応制御開始[移動機械16]」という命令文を追加してもよい。
【0085】
この場合、プロセッサ50は、移動機械18によってエンドエフェクタ14を教示点P6へ位置決めした後に、動作状態データODの取得対象とする移動機械を、移動機械18から移動機械16に切り換えて、移動機械16の動作状態データOD1を取得する動作を開始するとともに、第1の適応制御AC1を開始する。
【0086】
また、表1の4行目の命令文を、例えば、「移動機械切換[移動機械16]」という、動作状態データODの取得対象を移動機械16へ切り換えるための切り換え指令をプロセッサ50に与える命令文として規定してもよい。この場合において、該命令文から該切り換え指令を受け付けたときに、プロセッサ50は、動作状態データODの取得対象を移動機械16に切り換える動作を実行し、該切り換える動作と連動して、第1の適応制御AC1を開始してもよい。
【0087】
同様に、表1の7行目の命令文を、「移動機械切換[移動機械18]」という、動作状態データODの取得対象を移動機械18に切り換えるための切り換え指令をプロセッサ50に与える命令文として規定してもよい。この場合において、プロセッサ50は、該切り換え指令に応じて、動作状態データODの取得対象を移動機械18に切り換える動作を実行し、該切り換える動作と連動して、第2の適応制御AC2を開始してもよい。
【0088】
また、センサ34又は44は、サーボモータ32又は38の回転シャフトに掛かる負荷トルクを検出するトルクセンサ、若しくは、サーボモータ32又は38の駆動電流を検出する電流センサを有し、検出した負荷トルク又は駆動電流を、フィードバックFB1又はFB2として制御装置20に供給してもよい。そして、プロセッサ50は、フィードバックFB1又はFB2に基づいて、動作状態データOD1又はOD2(例えば、加速度)を取得してもよい。
【0089】
また、機械システム10、70及び80が実行する作業は、上述したレーザ加工作業、溶接作業、ろう付け作業、又は塗工作業に限らず、他の如何なる作業であってもよく、作業機械12及びエンドエフェクタ14は、該作業を実行するための如何なるタイプの装置でもよい。
【0090】
また、上述の実施形態においては、移動機械18が、移動機械16に設けられて、該移動機械16によって移動される場合について述べた。しかしながら、これに限らず、移動機械18は、例えば、移動機械16に併設された、該移動機械16と同様の垂直多関節であってもよい。この場合、移動機械16及び18は、いわゆる双腕型ロボットを構成し、互いに協働して1つのエンドエフェクタ14を移動させてもよい。
【0091】
また、移動機械16は、垂直多関節ロボットに限らず、例えば、水平多関節ロボット、パラレルリンクロボットであってもよいし、複数のボールねじ機構を有するワークテーブル装置であってもよい。また、加工システム10、70、又は80は、3個以上の移動機械を備えてもよい。
【0092】
以上、実施形態を通じて本開示を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。
【符号の説明】
【0093】
10,70,80 機械システム
12,12A,12B 作業機械
14 エンドエフェクタ
16,18 移動機械
20 制御装置
50 プロセッサ
58 移動機械動作部
60 動作状態データ取得部
62 適応制御実行部
64 入力切換部
図1
図2
図3
図4
図5
図6
図7