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

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

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

特許7414987ワークに対する作業をロボットに実行させる制御装置、ロボットシステム、及び制御方法
<>
  • 特許-ワークに対する作業をロボットに実行させる制御装置、ロボットシステム、及び制御方法 図1
  • 特許-ワークに対する作業をロボットに実行させる制御装置、ロボットシステム、及び制御方法 図2
  • 特許-ワークに対する作業をロボットに実行させる制御装置、ロボットシステム、及び制御方法 図3
  • 特許-ワークに対する作業をロボットに実行させる制御装置、ロボットシステム、及び制御方法 図4
  • 特許-ワークに対する作業をロボットに実行させる制御装置、ロボットシステム、及び制御方法 図5
  • 特許-ワークに対する作業をロボットに実行させる制御装置、ロボットシステム、及び制御方法 図6
  • 特許-ワークに対する作業をロボットに実行させる制御装置、ロボットシステム、及び制御方法 図7
  • 特許-ワークに対する作業をロボットに実行させる制御装置、ロボットシステム、及び制御方法 図8
  • 特許-ワークに対する作業をロボットに実行させる制御装置、ロボットシステム、及び制御方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-05
(45)【発行日】2024-01-16
(54)【発明の名称】ワークに対する作業をロボットに実行させる制御装置、ロボットシステム、及び制御方法
(51)【国際特許分類】
   B25J 13/00 20060101AFI20240109BHJP
   B25J 9/22 20060101ALI20240109BHJP
【FI】
B25J13/00 A
B25J9/22 A
【請求項の数】 8
(21)【出願番号】P 2022526536
(86)(22)【出願日】2021-05-24
(86)【国際出願番号】 JP2021019650
(87)【国際公開番号】W WO2021241512
(87)【国際公開日】2021-12-02
【審査請求日】2022-12-19
(31)【優先権主張番号】P 2020093562
(32)【優先日】2020-05-28
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【弁理士】
【氏名又は名称】廣瀬 繁樹
(72)【発明者】
【氏名】▲羽▼根 幹人
【審査官】樋口 幸太郎
(56)【参考文献】
【文献】特開平7-78021(JP,A)
【文献】特開2012-20348(JP,A)
【文献】国際公開第2018/088199(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 13/00
B25J 9/22
(57)【特許請求の範囲】
【請求項1】
ロボットとワークとを付加軸機構によって相対的に移動させつつ前記ロボットのツールをワークに押し付けて該ワークに対する作業を実行する制御装置であって、
前記付加軸機構が前記ロボット又は前記ワークを移動させる付加軸移動量を取得する付加軸移動量取得部と、
前記ワークの作業対象箇所に沿って前記ツールを移動させる動作を前記ロボットに実行させるための動作計画データと前記付加軸移動量とに基づいて、前記付加軸機構による前記ロボット又は前記ワークの移動に追随して前記ロボットに前記ツールを前記作業対象箇所に沿って移動させるための移動指令を生成する指令生成部と、
前記動作計画データ又は前記付加軸移動量に基づいて、前記移動指令に従って前記ロボットが移動させる前記ツールの移動ベクトルに対し前記付加軸移動量に応じて傾斜する、前記作業対象箇所に沿う方向のベクトルを取得するベクトル取得部と、
前記ベクトル取得部が取得した前記ベクトルを用いて、前記作業の間に前記ロボットが前記ツールを前記ワークに押し付ける押付方向を決定する押付方向決定部と、を備える、制御装置。
【請求項2】
前記動作計画データは、前記動作において前記ロボットが前記ツールを位置決めすべき複数の目標位置と、2つの前記目標位置の間の移動経路とを含み、
前記ベクトル取得部は、前記ベクトルとして、前記移動経路の方向のベクトルを取得する、請求項1に記載の制御装置。
【請求項3】
前記複数の目標位置の位置データ、及び前記移動経路のデータは、前記付加軸機構が前記ロボット又は前記ワークを静止させた状態で前記動作を前記ロボットに教示することによって取得される、請求項2に記載の制御装置。
【請求項4】
前記ベクトル取得部は、前記ツールの前記移動ベクトルから、前記付加軸機構が前記ロボット又は前記ワークを前記付加軸移動量だけ移動させた移動ベクトルを減算することによって、前記ベクトルを求める、請求項1に記載の制御装置。
【請求項5】
前記押付方向決定部は、前記ベクトルと直交する方向を前記押付方向として決定する、請求項1~4のいずれか1項に記載の制御装置。
【請求項6】
前記指令生成部は、前記ロボットが前記ツールを前記ワークに対し、前記押付方向決定部が決定した前記押付方向へ押し付ける押付力を予め定めた目標値に制御するための力制御指令をさらに生成する、請求項1~5のいずれか1項に記載の制御装置。
【請求項7】
ツールを有するロボットと、
前記ロボットとワークとを相対的に移動させる付加軸機構と、
請求項1~6のいずれか1項に記載の制御装置と、を備える、ロボットシステム。
【請求項8】
ロボットとワークとを付加軸機構によって相対的に移動させつつ前記ロボットのツールをワークに押し付けて該ワークに対する作業を実行する方法であって、
前記付加軸機構が前記ロボット又は前記ワークを移動させる付加軸移動量を取得し、
前記ワークの作業対象箇所に沿って前記ツールを移動させる動作を前記ロボットに実行させるための動作計画データと前記付加軸移動量とに基づいて、前記付加軸機構による前記ロボット又は前記ワークの移動に追随して前記ロボットに前記ツールを前記作業対象箇所に沿って移動させるための移動指令を生成し、
前記動作計画データ又は前記付加軸移動量に基づいて、前記移動指令に従って前記ロボットが移動させる前記ツールの移動ベクトルに対し前記付加軸移動量に応じて傾斜する、前記作業対象箇所に沿う方向のベクトルを取得し、
取得した前記ベクトルを用いて、前記作業の間に前記ロボットが前記ツールを前記ワークに押し付ける押付方向を決定する、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ワークに対する作業をロボットに実行させる制御装置、ロボットシステム、及び制御方法に関する。
【背景技術】
【0002】
ロボットのツールをワークに押し付けて該ワークに対する作業(バリ取り等)を実行するロボットシステムが知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2015-009324号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
大型のワークに対して作業を行う場合等において、付加軸機構によってロボットとワークとを相対的に移動させつつロボットのツールでワークに対する作業を実行したいという要求がある。このような場合において、ワークに対してツールを適切な方向から押し付けることが求められる。
【課題を解決するための手段】
【0005】
本開示の一態様において、ロボットとワークとを付加軸機構によって相対的に移動させつつロボットのツールをワークに押し付けて該ワークに対する作業を実行する制御装置は、付加軸機構がロボット又はワークを移動させる付加軸移動量を取得する付加軸移動量取得部と、ワークの作業対象箇所に沿ってツールを移動させる動作をロボットに実行させるための動作計画データと付加軸移動量とに基づいて、付加軸機構によるロボット又はワークの移動に追随してロボットにツールを作業対象箇所に沿って移動させるための移動指令を生成する指令生成部と、動作計画データ又は付加軸移動量に基づいて、移動指令に従ってロボットが移動させるツールの移動ベクトルに対し付加軸移動量に応じて傾斜する、作業対象箇所に沿う方向のベクトルを取得するベクトル取得部と、ベクトル取得部が取得したベクトルを用いて、作業の間にロボットがツールをワークに押し付ける押付方向を決定する押付方向決定部とを備える。
【0006】
本開示の他の態様において、ロボットとワークとを付加軸機構によって相対的に移動させつつロボットのツールをワークに押し付けて該ワークに対する作業を実行する方法は、付加軸機構がロボット又はワークを移動させる付加軸移動量を取得し、ワークの作業対象箇所に沿ってツールを移動させる動作をロボットに実行させるための動作計画データと付加軸移動量とに基づいて、付加軸機構によるロボット又はワークの移動に追随してロボットにツールを作業対象箇所に沿って移動させるための移動指令を生成し、動作計画データ又は付加軸移動量に基づいて、移動指令に従ってロボットが移動させるツールの移動ベクトルに対し付加軸移動量に応じて傾斜する、作業対象箇所に沿う方向のベクトルを取得し、取得したベクトルを用いて、作業の間にロボットがツールをワークに押し付ける押付方向を決定する。
【発明の効果】
【0007】
本開示によれば、動作計画データ及び付加軸移動量に基づいて移動指令を生成することで、ツールを、付加軸機構によるロボット又はワークの移動に追随して作業対象箇所に沿って移動させることができる。これにより、例えば大型のワークを加工する場合において、ワークを移動させながらツールで作業を行うことができ、以って、サイクルタイムの縮減を実現できる。これとともに、作業時の作業対象箇所に沿う方向のベクトルを取得し、該ベクトルを用いて押付方向を決定することで、作業対象箇所に対してツールを押し付ける押付方向を適切に設定できる。
【図面の簡単な説明】
【0008】
図1】一実施形態に係るロボットシステムのブロック図である。
図2図1に示すロボットシステムの概略図である。
図3】動作計画データを説明するための図である。
図4図2に示すロボットシステムにおいて、動作計画データの移動経路と、付加軸移動量と、作業時のツールの移動ベクトルとの関係性を模式的に示す図である。
図5】作業対象箇所に沿う方向のベクトルと、該ベクトルから決定される押付方向の関係性を模式的に示す図である。
図6】他の実施形態に係るロボットシステムの概略図である。
図7図6に示すロボットシステムにおいて、動作計画データの移動経路と、付加軸移動量と、作業時のツールの移動ベクトルとの関係性を模式的に示す図である。
図8】さらに他の実施形態に係るロボットシステムの概略図である。
図9図8に示すロボットシステムのブロック図である。
【発明を実施するための形態】
【0009】
以下、本開示の実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する種々の実施形態において、同様の要素には同じ符号を付し、重複する説明を省略する。まず、図1及び図2を参照して、一実施形態に係るロボットシステム10について説明する。ロボットシステム10は、ロボット12、付加軸機構14、及び制御装置50を備える。
【0010】
図2に示すように、本実施形態においては、ロボット12は、垂直多関節ロボットであって、ベース部16、旋回胴18、ロボットアーム20、手首部22、エンドエフェクタ24、及び力センサ26を有する。ベース部16は、作業セルの床の上に固定されている、旋回胴18は、鉛直軸周りに旋回可能となるようにベース部16に設けられている。ロボットアーム20は、旋回胴18に水平軸周りに回動可能に設けられた下腕部28と、該下腕部28の先端部に回動可能に設けられた上腕部30とを有する。手首部22は、上腕部30の先端部に回動可能に設けられ、エンドエフェクタ24を回動可能に支持する。
【0011】
ベース部16、旋回胴18、ロボットアーム20、及び手首部22には、サーボモータ36(図1)がそれぞれ内蔵されている。サーボモータ36は、制御装置50からの指令に応じてロボット12の各可動要素(すなわち、旋回胴18、ロボットアーム20、及び手首部22)を駆動する。
【0012】
エンドエフェクタ24は、ツール駆動部32、及びツール34を有する。ツール34は、ツール駆動部32に軸線A1周りに回動可能に設けられている。本実施形態においては、ツール34は、バリ取りツール(研磨材等)であって、その円錐状の先端部でワークWに形成された凸部を削る加工を行う(いわゆる、バリ取り)。ツール駆動部32は、スピンドルモータ又はエアシリンダ等を有し、力センサ26を介して手首部22の先端部に連結されている。ツール駆動部32は、制御装置50からの指令に応じてツール34を軸線A1周りに回転駆動する。
【0013】
力センサ26は、手首部22とエンドエフェクタ24(具体的には、ツール駆動部32)との間に介挿されている。力センサ26は、例えば、複数の歪ゲージを有する6軸力覚センサであって、ツール34がワークWを加工している間に該ワークWからツール34に加えられる力Fを検出する。
【0014】
ロボット12には、ロボット座標系C1が設定されている。ロボット座標系C1は、ロボット12の各可動要素の動作を自動制御するための制御座標系である。本実施形態においては、ロボット座標系C1は、3次元空間に固定されており、その原点がベース部16の中心に配置され、そのz軸が旋回胴18の旋回軸に一致するように、ロボット12に対して設定されている。
【0015】
一方、エンドエフェクタ24(具体的には、ツール34)には、ツール座標系C2が設定されている。ツール座標系C2は、ロボット座標系C1におけるエンドエフェクタ24(ツール34)の位置を自動制御するための制御座標系である。なお、本稿において、「位置」とは、位置及び姿勢を意味する場合がある。本実施形態においては、ツール座標系C2は、その原点(又は、TCP)が、エンドエフェクタ24の所定位置(例えば、ツール34の先端点)に配置され、そのz軸が軸線A1に一致するように、エンドエフェクタ24(ツール34)に対して設定されている。
【0016】
制御装置50は、ロボット座標系C1に設定したツール座標系C2によって表される位置にエンドエフェクタ24(ツール34)を配置させるように、ロボット12の各サーボモータ36へ指令を送信し、ロボット12の各可動要素の動作によってエンドエフェクタ24(ツール34)をロボット座標系C1における任意の位置に位置決めする。
【0017】
付加軸機構14は、ロボット12とワークWとを相対的に移動させる。具体的には、付加軸機構14は、例えばベルトコンベアであって、可動部38と、該可動部38を駆動する駆動機構40とを有する。可動部38は、例えばタイミングベルトであって、軸線A2に沿って可動となるように土台フレーム(図示せず)に設けられている。
【0018】
駆動機構40は、サーボモータ42(図1)、及び動力伝達部44を有する。サーボモータ42は、制御装置50からの指令に応じて、その出力シャフト(図示せず)を回転させる。動力伝達部44は、例えば、減速機、プーリ、又はボールねじ機構等を有し、サーボモータ42の出力シャフトの回転力を可動部38へ伝達し、該可動部38を軸線A2の方向へ移動させる。ワークWは、例えば治具(図示せず)を用いて、可動部38の上に設置される。付加軸機構14は、可動部38を移動させることで、ワークWをロボット12に対し、軸線A2に沿って相対的に移動させる。
【0019】
付加軸機構14には、付加軸座標系C3が設定される。付加軸座標系C3は、可動部38に設置されたワークWの位置を自動制御するための制御座標系である。本実施形態においては、付加軸座標系C3は、そのy軸方向が軸線A2と平行となるように、付加軸機構14に対して設定されている。付加軸座標系C3とロボット座標系C1との位置関係は、キャリブレーションにより既知となっており、付加軸座標系C3の座標とロボット座標系C1の座標とは、既知の変換行列を介して、相互に変換可能となっている。
【0020】
制御装置50は、ロボット12及び付加軸機構14の動作を制御する。具体的には、制御装置50は、プロセッサ52、メモリ54、及びI/Oインターフェース56を有するコンピュータである。プロセッサ52は、CPU又はGPU等を有し、バス58を介してメモリ54及びI/Oインターフェース56と通信可能に接続されている。プロセッサ52は、後述する制御装置50の各機能を実現するための演算処理を行う。
【0021】
メモリ54は、RAM又はROM等を有し、各種データを一時的又は恒久的に記憶する。I/Oインターフェース56は、例えば、イーサネット(登録商標)ポート、USBポート、光ファイバコネクタ、又はHDMI(登録商標)端子等を有し、プロセッサ52からの指令の下、外部機器とデータを無線又は有線で通信する。上述の力センサ26、サーボモータ36及び42は、I/Oインターフェース56に無線又は有線で通信可能に接続されている。
【0022】
次に、制御装置50の機能について説明する。制御装置50は、付加軸機構14によってロボット12とワークWとを相対的に移動させつつ、回転するツール34をワークWに押し付けて該ワークWを加工する作業(すなわち、バリ取り)をロボット12に実行させる。本実施形態においては、ロボット12は、ツール34によって、ワークWの頂点Bから頂点Cまで、エッジDに沿って作業(バリ取り)を行うものとする。すなわち、エッジDは、ワークWの作業対象箇所となる。
【0023】
制御装置50は、ワークWに対する作業を実行する前の準備段階として、動作計画データPDを取得する。動作計画データPDは、作業対象箇所Dに沿ってツール34を移動させる動作をロボット12に実行させるためのものであって、該動作においてロボット12がツール34(又は、TCP)を位置決めすべき複数の目標位置TPのデータと、2つの目標位置TP及びTPn+1の間の移動経路MPのデータとを含む。
【0024】
図3に、作業対象箇所Dに対して設定される目標位置TP及び移動経路MP(n=1,2,3,・・・)を模式的に示す。動作計画データPDは、ロボット座標系C1における目標位置TPの位置データ、移動経路MPのデータ、及び、ロボット12が移動経路MPに沿ってツール34を移動させるときの速度V等を含む。
【0025】
一例として、目標位置TPの位置データ、及び移動経路MPのデータは、ワークWの作業対象箇所Dに沿ってツール34を移動させる動作を実機のロボット12に教示することによって、取得され得る(いわゆる、オンラインティーチング)。具体的には、まず、付加軸機構14は、ロボット12に対してワークWを基準位置RPに静止させる。この基準位置RPは、付加軸座標系C3のy軸方向の座標として表され得る。
【0026】
そして、オペレータは、例えば教示装置(いわゆる、教示ペンダント)又はタブレット端末装置等を用いてロボット12をジョグ動作させ、基準位置RPに静止した状態のワークWの作業対象箇所Dに沿ってツール34を頂点Bから頂点Cまで移動させる動作をロボット12に教示する。これにより、目標位置TPの位置データ、及び移動経路MPのデータを取得する。
【0027】
他の例として、目標位置TPの位置データ、及び移動経路MPのデータは、シミュレーション等によって取得することもできる(いわゆる、オフラインティーチング)。このシミュレーションにおいては、仮想空間に配置されたロボット12のモデル、付加軸機構14のモデル、及びワークWのモデルを用いて、オンラインティーチングと同様の教示を模擬的に実行することによって、目標位置TPの位置データ、及び移動経路MPのデータを取得できる。
【0028】
そして、オペレータは、作業の諸条件(サイクルタイム、ワークWの種類等)を勘案して、速度V等のパラメータを設定する。こうして、目標位置TP、移動経路MP及び速度Vのデータを含む動作計画データPDが生成される。制御装置50のプロセッサ52は、動作計画データPDを取得し、メモリ54に格納する。
【0029】
このように、本実施形態においては、動作計画データPDは、ロボット座標系C1において基準位置P0に静止されたワークWを基に生成される。よって、動作計画データPDは、ロボット12に、ロボット座標系C1にて静止したワークWの作業対象箇所Dに沿ってツール34を移動させる動作を実行させるものである。
【0030】
動作計画データPDを取得した後、プロセッサ52は、オペレータ、上位コントローラ、又はコンピュータプログラムから作業開始指令を受け付けると、ワークWに対する作業(バリ取り)のための動作フローを開始する。まず、プロセッサ52は、付加軸機構14によってワークWを基準位置RPに配置させるとともに、ロボット12によってツール34を目標位置TPに配置する。
【0031】
次いで、プロセッサ52は、ツール駆動部32を動作させてツール34を回転させる動作を開始する。また、プロセッサ52は、付加軸機構14によるワークWの送り動作を開始する。具体的には、プロセッサ52は、駆動機構40を動作させて可動部38を移動させ、これによりワークWを付加軸座標系C3のy軸プラス方向へ搬送する動作を開始する。これとともに、プロセッサ52は、動作計画データPDに従って、ロボット12によってツール34を作業対象箇所Dに沿って移動させる動作を開始する。
【0032】
具体的には、プロセッサ52は、動作計画データPDに含まれる目標位置TP及びTPの位置データと、目標位置TPから目標位置TPへの移動経路MPのデータとに基づいて、目標位置TPから目標位置TPまで移動経路MPに沿ってツール34(又はTCP)を移動させるための移動指令CAを生成する。
【0033】
その一方で、プロセッサ52は、付加軸機構14の動作の開始時点から付加軸機構14が移動させるワークWの付加軸移動量αを取得する。この付加軸移動量αは、例えば、プロセッサ52が付加軸機構14のサーボモータ42へ送信する移動指令CB(位置指令、速度指令等)であり得る。又は、付加軸移動量αは、移動指令CBから求められる物理量(距離等)であり得る。
【0034】
代替的には、付加軸移動量αは、サーボモータ42の回転を検出する回転検出器(エンコーダ、ホール素子等)のフィードバック(回転角度等)から取得される物理量であってもよいし、又は、可動部38の付加軸座標系C3のy軸方向への変位量を検出可能な変位センサによって検出される物理量であってもよい。このように、本実施形態においては、プロセッサ52は、付加軸機構14が移動させるワークWの付加軸移動量αを取得する付加軸移動量取得部60(図1)として機能する。
【0035】
そして、プロセッサ52は、ツール34を、付加軸座標系C3のy軸プラス方向へ、付加軸移動量αだけ移動させるための移動指令CCを生成する。そして、プロセッサ52は、動作計画データPDに基づいて生成した移動指令CAに、付加軸移動量αに基づいて生成した移動指令CCを加えることによって、移動指令CD(=移動指令CA+移動指令CC)を生成する。
【0036】
プロセッサ52は、生成した移動指令CDを、ロボット12の各サーボモータ36へ送信し、該移動指令CDに従ってロボット12によってツール34を動作させる。移動指令CDに従ってロボット12がツール34を移動させたときの移動ベクトルVAを、図4に模式的に示す。移動ベクトルVAは、移動指令CAによる、作業対象箇所Dに沿う方向のベクトルと、移動指令CCによる、付加軸移動量αの方向(つまり、付加軸座標系C3のy軸プラス方向)のベクトルの和に相当する。
【0037】
こうして、プロセッサ52は、移動指令CDに従ってロボット12を動作させ、付加軸機構14によるワークWの移動に追随してツール34を作業対象箇所Dに沿って移動させる。その結果、ツール34は、動作計画データPDに予め規定されていた目標位置TPから、付加軸移動量αに相当する距離だけ付加軸座標系C3のy軸プラス方向へずれるように補正された補正目標位置TP’に到達することになる。
【0038】
その後、プロセッサ52は、補正目標位置TP’(n≧3)に到達する毎に、以下のプロセスを繰り返し実行する。すなわち、ツール34が補正目標位置TP’に到達すると、プロセッサ52は、動作計画データPDに基づいて目標位置TPから目標位置TPn+1まで移動経路MPに沿ってツール34を移動させるための移動指令CAを生成する。
【0039】
一方、プロセッサ52は、付加軸移動量取得部60として機能して、ツール34を補正目標位置TPn-1’(n=2の場合は目標位置TP)から補正目標位置TP’まで移動させる間に付加軸機構14がワークWを移動させる付加軸移動量αを取得する。そして、プロセッサ52は、ツール34を、付加軸座標系C3のy軸方向へ、付加軸移動量αだけ移動させるための移動指令CCを生成する。そして、プロセッサ52は、動作計画データPDに基づいて生成した移動指令CAに、付加軸移動量αに基づいて生成した移動指令CCを加えることによって、移動指令CD(=移動指令CA+移動指令CC)を生成する。
【0040】
プロセッサ52は、生成した移動指令CDに従ってロボット12にツール34を移動させる。その結果、ツール34は、図4中の移動ベクトルVAに示すように、目標位置TPn+1から付加軸移動量Σαに相当する距離だけ付加軸座標系C3のy軸プラス方向へずれるように補正された補正目標位置TPn+1’に到達することになる。
【0041】
なお、プロセッサ52は、ツール34が補正目標位置TP’に到達したときに、付加軸移動量取得部60として機能して、ツール34を補正目標位置TPn-2’から補正目標位置TPn-1’まで移動させる間に付加軸機構14がワークWを移動させる付加軸移動量αn-1を取得してもよい。
【0042】
そして、プロセッサ52は、ツール34を、付加軸座標系C3のy軸方向へ、付加軸移動量αn-1だけ移動させるための移動指令CCn-1を生成してもよい。そして、プロセッサ52は、動作計画データPDに基づいて生成した移動指令CAに、付加軸移動量αn-1に基づいて生成した移動指令CCn-1を加えることによって、移動指令CD(=移動指令CA+移動指令CCn-1)を生成し、生成した該移動指令CD(CA+CCn-1)に従ってロボット12にツール34を移動させてもよい。
【0043】
このように、本実施形態においては、プロセッサ52は、動作計画データPD及び付加軸移動量αに基づいて、移動ベクトルVAに示すように付加軸機構14によるワークWの移動に追随してツール34を作業対象箇所Dに沿って移動させるための移動指令CDを生成する指令生成部62(図1)として機能する。
【0044】
ツール34を移動ベクトルVA(n=1,2,3,・・・)の方向へ移動させて作業を実行している間、プロセッサ52は、ロボット12がツール34をワークWの作業対象箇所Dに押し付ける押付力PFを予め定めた目標値PFに制御する力制御を実行する。ここで、本実施形態においては、プロセッサ52は、ツール34を補正目標位置TP’に到達させる周期で、ロボット12がツール34をワークWの作業対象箇所Dに押し付ける押付方向DRを決定する。
【0045】
押付方向DRを決定するために、プロセッサ52は、まず、ツール34が当接するワークWの作業対象箇所Dに沿う方向のベクトルVBを取得する。一例として、プロセッサ52は、ツール34を補正目標位置TP’に到達させたとき(又は、その前後)に、ベクトルVBを、動作計画データPDに予め規定された移動経路MPn-1(又はMP)の方向のベクトルとして、取得する。
【0046】
この移動経路MPn-1は、上述したように、ロボット座標系C1に対して静止したワークWの作業対象箇所Dに沿ってツール34を移動させる動作をロボット12に教示することによって得られたものであって、移動経路MPn-1の方向は、ツール34が補正目標位置TP’に到達するときに該ツール34が当接する作業対象箇所Dに沿う方向(略平行な方向)となる。この例の場合、プロセッサ52は、動作計画データPD(具体的には、移動経路MPn-1)に基づいてベクトルVBを取得している。
【0047】
他の例として、プロセッサ52は、ツール34を補正目標位置TP’に到達させたときに、該ツール34の移動ベクトルVAn-1と付加軸移動量αn-1とから、ベクトルVBを取得してもよい。ここで、プロセッサ52は、例えば、ロボット12のサーボモータ36の回転を検出する回転検出器(エンコーダ、ホール素子等)からのフィードバックから補正目標位置TPn-1’及びTP’のロボット座標系C1における座標を取得し、これら座標から移動ベクトルVAn-1を求めることができる。
【0048】
また、プロセッサ52は、付加軸機構14がワークWを付加軸移動量αn-1だけ移動させた移動ベクトルαn-1を求める。この移動ベクトルαn-1は、例えば、付加軸機構14がワークWを付加軸移動量αn-1だけ移動させるときにプロセッサ52がサーボモータ42へ送信する移動指令CBn-1、又は、サーボモータ42の回転検出器のフィードバックから求めることができる。
【0049】
そして、プロセッサ52は、ツール34の移動ベクトルVAn-1から、付加軸移動量αn-1の移動ベクトルαn-1を減算することによって、ベクトルVB(=VAn-1-αn-1)を求める。この例の場合、プロセッサ52は、付加軸移動量αn-1に基づいてベクトルVBを取得している。
【0050】
以上のように取得されたベクトルVBは、移動指令CDn-1に従ってロボット12が移動させたツール34の移動ベクトルVAn-1に対し、付加軸移動量αn-1に応じて傾斜する。このように、本実施形態においては、プロセッサ52は、動作計画データPD又は付加軸移動量αn-1に基づいてベクトルVBを取得するベクトル取得部64(図1)として機能する。
【0051】
次いで、プロセッサ52は、取得したベクトルVBを用いて押付方向DRを決定する。具体的には、プロセッサ52は、ベクトルVBに既知の回転ベクトルRVを乗算することによって、ベクトルVBに対し、ワークWの内方へ向かう方向へ、所定の角度θで傾斜するベクトルを求め、該ベクトルの方向を押付方向DRとして決定する。なお角度θは、回転ベクトルRVのパラメータを変更することによって任意に設定できる。
【0052】
図5に、ベクトルVB及び押付方向DRを模式的に示す。図5に示す例では、角度θ=90°に設定されている(すなわち、押付方向DRがベクトルVBと直交している)。このように、本実施形態においては、プロセッサ52は、ベクトルVBを用いて押付方向DRを決定する押付方向決定部66(図1)として機能する。
【0053】
そして、プロセッサ52は、ツール34を補正目標位置TP’から補正目標位置TPn+1’へ移動させる間、ロボット12によってツール34をワークWに対し、決定した押付方向DRへ押し付ける。一方、力センサ26は、この間にワークWからツール34に加えられる力Fを連続的に検出する。
【0054】
プロセッサ52は、指令生成部62として機能して、力センサ26から取得した力Fに基づいて、ツール34からワークWに加えられる押付力PFを目標値PFに制御するための力制御指令CEを生成する。そして、プロセッサ52は、上述の移動指令CDに加えて、力制御指令CEをロボット12の各サーボモータ36へ送信し、力制御指令CEに従ってロボット12の動作を制御する。
【0055】
これにより、ロボット12は、移動指令CDに従ってツール34を補正目標位置TP’から補正目標位置TPn+1’へ移動させつつ、力制御指令CEに従って該ツール34の位置を、例えば付加軸座標系C3のy軸方向へ変位させる。こうして、プロセッサ52は、補正目標位置TP’から補正目標位置TPn+1’へ移動させる間、押付力PFを目標値PFに一致させる力制御を実行する。
【0056】
なお、プロセッサ52は、ツール34を目標位置TPから補正目標位置TP’へ移動させる間も同様にして力制御を実行できることを理解されよう。ツール34を目標位置TPから補正目標位置TP’へ移動させる間の押付方向DRは、例えば移動経路MPの方向として、オペレータによって予め定められてもよい。
【0057】
以上のように、本実施形態においては、プロセッサ52は、動作計画データPD及び付加軸移動量αに基づいて移動指令CDを生成しているので、ツール34を、付加軸機構14によるワークWの移動に追随して作業対象箇所Dに沿って移動させることができる。この構成によれば、例えば大型のワークWを加工する場合において、ワークWを移動させながらツール34で加工を行うことができることにより、サイクルタイムの縮減を実現できる。
【0058】
これとともに、プロセッサ52は、作業時の作業対象箇所Dに沿う方向のベクトルVBを取得し、該ベクトルVBを用いて押付方向DRを決定している。ここで、仮に、移動ベクトルVAを基準として、ツール34の押付方向を、該移動ベクトルVAと直交する方向として設定した場合、該押付方向は、作業対象箇所Dに対して直交せずに、傾斜することになる。この場合、ツール34をワークWに対して適切に押し当てることができない。本実施形態によれば、作業時の作業対象箇所Dに沿う方向のベクトルVBを基準として押付方向DRを決定することから、作業対象箇所Dに対して押付方向DRを、例えば直交させるように(上述の角度θ=90°)、適切に設定できる。
【0059】
また、本実施形態の一例として、プロセッサ52は、上述のベクトルVBを、動作計画データPDに含まれる移動経路MPn-1(又はMP)の方向のベクトルとして取得する。この構成によれば、プロセッサ52は、ベクトルVBを容易且つ迅速に取得することができる。
【0060】
一方、本実施形態の他の例として、プロセッサ52は、ツール34の移動ベクトルVAn-1から、付加軸移動量αn-1の移動ベクトルαn-1を減算することによってベクトルVBを求める。ここで、プロセッサ52は、作業の間、サーボモータ36及び42の回転検出器から周期的にフィードバックを受信し、ロボット12の制御に用いる。そして、付加軸移動量αn-1、補正目標位置TPn-1’及びTP’は、このようなフィードバックから取得される。本実施形態によれば、通常動作として取得されるフィードバックを利用して、ベクトルVBを取得することができる。
【0061】
なお、上述の実施形態では、付加軸機構14がワークWを付加軸座標系C3のy軸プラス方向へ移動する場合について述べた。しかしながら、付加軸機構14がワークWを付加軸座標系C3のy軸マイナス方向へ移動する場合でも、上述した方法を用いて、移動指令CDの生成、ベクトルVBの取得、及び押付方向DRの決定を同様に行うことができることを理解されよう。
【0062】
なお、上述の実施形態においては、付加軸機構14がワークWをロボット12に対して移動させる場合について述べた。しかしながら、付加軸機構14は、ロボット12をワークWに対して移動させてもよい。このような形態を図6に示す。図6に示すロボットシステム10’においては、ロボット12(具体的には、ベース部16)が、付加軸機構14の可動部38の上に固定されている。なお、ロボットシステム10’のブロック図は、図1に示すロボットシステム10と同じである。
【0063】
ロボットシステム10’においては、ロボット座標系C1は、付加軸機構14が可動部38を移動させるのに応じて、付加軸座標系C3のy軸方向に移動する。ロボット座標系C1と付加軸座標系C3とは、ロボット座標系C1の原点の、付加軸座標系C3における位置に応じた変換行列を介して、相互に変換可能となっている。
【0064】
以下、ロボットシステム10’の制御装置50の機能について説明する。まず、制御装置50は、準備段階として、動作計画データPDを取得する。この動作計画PDは、付加軸機構14がワークWに対してロボット12を基準位置RPに静止させたときに該ワークWの作業対象箇所Dに沿ってツール34を移動させる動作をロボット12に教示することによって生成され、目標位置TP、移動経路MP及び速度V(n=1,2,3・・・)のデータを含む。
【0065】
作業開始時点において、プロセッサ52は、付加軸機構14によってロボット12を基準位置RPに配置させるとともに、ロボット12によってツール34を目標位置TPに配置させる。作業開始後、プロセッサ52は、付加軸機構14によってロボット12(つまり、ロボット座標系)を付加軸座標系C3のy軸プラス方向へ移動する動作を開始するとともに、動作計画データPDに従って、ツール34を目標位置TPから目標位置TPまで移動経路MPに沿ってツール34(又はTCP)を移動させるための移動指令CAを生成する。
【0066】
一方、プロセッサ52は、付加軸移動量取得部60として機能して、付加軸機構14の動作の開始時点から付加軸機構14が移動させるワークWの付加軸移動量β図7)を取得する。この付加軸移動量βは、上述の実施形態と同様に、サーボモータ42への移動指令(又は該移動指令から求められる物理量)、若しくは、回転検出器又は変位センサ等の検出値から取得される物理量であり得る。
【0067】
ここで、本実施形態においては、プロセッサ52は、取得した付加軸移動量βの方向(つまり、符号)を反転させた付加軸移動量-βに従ってツール34を移動させるための移動指令CCを生成する。そして、プロセッサ52は、動作計画データPDに基づいて生成した移動指令CAに、付加軸移動量-βに基づいて生成した移動指令CCを加えることによって、移動指令CD(=移動指令CA+移動指令CC)を生成する。プロセッサ52は、生成した移動指令CDを、ロボット12の各サーボモータ36へ送信し、該移動指令CDに従ってロボット12によってツール34を動作させる。
【0068】
このときのツール34の移動ベクトルVAを、図7に模式的に示す。図7に示す移動ベクトルVAは、移動指令CAによる、作業対象箇所Dに沿う方向のベクトルと、移動指令CCによる、付加軸移動量-βの方向(つまり、付加軸座標系C3のy軸マイナス方向)のベクトルの和に相当する。換言すれば、移動ベクトルVAは、移動指令CAのベクトルから、付加軸移動量βのベクトルを減算したものである。
【0069】
こうして、プロセッサ52は、移動指令CDに従ってロボット12を動作させて、ツール34を、付加軸機構14によるワークWの移動に追随して作業対象箇所Dに沿って移動させ、補正目標位置TP’に到達させる。補正目標位置TP’は、この時点(つまり、付加軸機構14によりロボット座標系C1が移動された時点)でのロボット座標系C1における目標位置TPに対し、付加軸移動量-βに相当する距離だけ付加軸座標系C3のy軸マイナス方向へずれている。
【0070】
プロセッサ52は、補正目標位置TP’に到達する周期で、このプロセスを繰り返し実行する。すなわち、補正目標位置TP’に到達すると、プロセッサ52は、動作計画データPDに基づいて移動指令CAを生成する一方、付加軸移動量取得部60として機能して、ツール34を補正目標位置TPn―1’から補正目標位置TP’まで移動させる間に付加軸機構14が移動させるワークWの付加軸移動量βを取得する。
【0071】
そして、プロセッサ52は、取得した付加軸移動量βの符号を反転させた付加軸移動量-βだけツール34を移動させるための移動指令CCを生成し、移動指令CAに移動指令CCを加えることによって移動指令CDを生成する。プロセッサ52は、生成した移動指令CDに従ってロボット12にツール34を移動させる。
【0072】
その結果、ツール34は、図7中の移動ベクトルVAに示すように、補正目標位置TPn+1’に到達する。補正目標位置TPn+1’は、この時点でのロボット座標系C1における目標位置TPn+1に対し、付加軸移動量Σ(-β)に相当する距離だけ付加軸座標系C3のy軸マイナス方向へずれている。
【0073】
一方、プロセッサ52は、上述の実施形態と同様の方法で、ツール34を補正目標位置TP’に到達させる周期で、ロボット12がツール34をワークWの作業対象箇所Dに押し付ける押付方向DRを決定する。具体的には、プロセッサ52は、ベクトル取得部64として機能して、作業対象箇所Dに沿う方向のベクトルVBを取得する。一例として、プロセッサ52は、ベクトルVBを、移動経路MPn-1(又はMP)の方向のベクトルとして取得する。
【0074】
他の例として、プロセッサ52は、ツール34の移動ベクトルVAn-1に、付加軸移動量βn-1の移動ベクトルβn-1を加算する(換言すれば、移動ベクトルVAn-1から付加軸移動量-βn-1の移動ベクトルを減算する)ことによって、ベクトルVB(=VAn-1+βn-1)を求める。このベクトルVBは、移動指令CDn-1に従ってロボット12が移動させたツール34の移動ベクトルVAn-1に対し、付加軸移動量βn-1に応じて傾斜している。
【0075】
そして、プロセッサ52は、上述の実施形態と同様に、押付方向決定部66として機能して、取得したベクトルVBを用いて押付方向DRを決定する。プロセッサ52は、ツール34を補正目標位置TP’から補正目標位置TPn+1’へ移動させる間、ロボット12によってツール34をワークWに対し、決定した押付方向DRへ押し付けて、押付力PFを目標値PFに制御する力制御を実行する。
【0076】
本実施形態によれば、上述の実施形態と同様に、動作計画データPD及び付加軸移動量αに基づいて移動指令CDを生成することで、ツール34を、付加軸機構14によるロボット12の移動に追随して、作業対象箇所Dに沿って移動させることができ、これによりサイクルタイムの縮減を実現できるとともに、ベクトルVBを用いて押付方向DRを決定することで、作業対象箇所Dに対して押付方向DRを適切に設定できる。
【0077】
なお、複数の付加軸機構によって、ロボット12及びワークWをそれぞれ独立して移動させてもよい。このような形態を図8及び図9に示す。図8及び図9に示すロボットシステム10”は、ロボット12、付加軸機構14A及び14B、及び制御装置50を備える。付加軸機構14A及び14Bは、それぞれ、図2及び図6に示す付加軸機構14と同じ構成を有する。
【0078】
ロボットシステム10”の制御装置50(具体的には、プロセッサ52)は、付加軸機構14Aの付加軸座標系C3_Aを基準として駆動機構40Aを駆動し、可動部38Aの上に設置されたワークを軸線A2_Aに沿って搬送するとともに、付加軸機構14Bの付加軸座標系C3_Bを基準として駆動機構40Bを駆動し、可動部38Bの上に設置されたロボット12を軸線A2_Bに沿って搬送する。
【0079】
本実施形態においては、プロセッサ52は、作業時に、付加軸機構14AによってワークWを移動させるとともに、付加軸機構14Bによってロボット12を移動させる。この場合においても、図2に示す実施形態、及び図6に示す実施形態で説明した方法を組み合わせることによって、プロセッサ52は、移動指令CDの生成、ベクトルVBの取得、及び押付方向DRの決定を行うことができる。
【0080】
具体的には、プロセッサ52は、付加軸移動量取得部60として機能して、付加軸機構14AがワークWを付加軸座標系C3_Aのy軸方向へ移動させる付加軸移動量αに、付加軸機構14Bがロボット12を付加軸座標系C3_Bのy軸方向へ移動させる付加軸移動量βの符号を反転させた付加軸移動量-βを加算する(換言すれば、付加軸移動量αから付加軸移動量βを減算する)ことで、合成付加軸移動量γ=α-βを算出する。プロセッサ52は、この合成付加軸移動量γに基づいて、移動指令CDの生成、ベクトルVBの取得、及び押付方向DRの決定を行うことができる。
【0081】
なお、上述の実施形態においては、動作計画データPDに含まれる目標位置TPが、ロボット12を教示することによって予め得られる場合について説明した。しかしながら、複数の目標位置TPの少なくとも1つは、ロボット12の教示によって予め得られた目標位置から算出される補間目標位置であってもよい。
【0082】
例えば、目標位置TPと目標位置TPn+3とが、ロボット12の教示によって予め得られたものである一方、その間にある目標位置TPn+1と目標位置TPn+2とが、目標位置TP及び目標位置TPn+3から自動で算出される補間目標位置であってもよい。このように教示された目標位置から求められる補間目標位置の位置データも、動作計画データPDに含まれる。
【0083】
また、上述の実施形態においては、ツール34が、バリ取りツールであり、ロボット12がワークWに対してバリ取り作業を行う場合について述べた。しかしながら、これに限らず、ツール34は、ワークWに押し付けられて所定の作業を行う如何なるタイプのツール(例えば、切削工具)であってもよい。
【0084】
また、付加軸機構14は、ベルトコンベアに限らず、例えば、可動なワークテーブル、及び該ワークテーブルを所定の方向へ駆動するボールねじ機構を備えるワーク搬送装置、又は、レール、及び該レール上を走行する台車を備える走行装置等、ワークWとロボット12とを相対的に移動可能な如何なるタイプの機構であってもよい。
【0085】
また、上述の実施形態においては、1つのコンピュータである制御装置50が、ロボット12及び付加軸機構14を制御する場合について述べた。しかしながら、ロボットシステム10、10’又は10”は、ロボット12を制御する第1の制御装置50Aと、付加軸機構14を制御する第2の制御装置50Bとを備えてもよい。この場合において、サーボモータ42の回転検出器は、第1の制御装置50Aに接続され、フィードバック(回転角度等)を第1の制御装置50Aに供給してもよい。
【0086】
この場合、制御装置50A及び50Bは、互いに通信可能に接続され、互いに通信しつつ、上述した各種機能を実行する。この場合において、制御装置50A及び50Bのいずれか一方が、付加軸移動量取得部60、指令生成部62、ベクトル取得部64、及び押付方向決定部66として機能してもよい。
【0087】
代替的には、第1の制御装置50Aが、付加軸移動量取得部60、指令生成部62、ベクトル取得部64、及び押付方向決定部66の少なくとも1つの機能を果たす一方、第2の制御装置50Bが、付加軸移動量取得部60、指令生成部62、ベクトル取得部64、及び押付方向決定部66のうち、第1の制御装置50Aとは別の機能を果たしてもよい。以上、実施形態を通じて本開示を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。
【符号の説明】
【0088】
10,10’,10” ロボットシステム
12 ロボット
14 付加軸機構
26 力センサ
50,50A,50B 制御装置
52 プロセッサ
60 付加軸移動量取得部
62 指令生成部
64 ベクトル取得部
66 押付方向決定部
図1
図2
図3
図4
図5
図6
図7
図8
図9