JP2020192621A - ロボットに教示点を教示するための装置、ロボットシステム、及びロボットの教示方法 - Google Patents

ロボットに教示点を教示するための装置、ロボットシステム、及びロボットの教示方法 Download PDF

Info

Publication number
JP2020192621A
JP2020192621A JP2019098026A JP2019098026A JP2020192621A JP 2020192621 A JP2020192621 A JP 2020192621A JP 2019098026 A JP2019098026 A JP 2019098026A JP 2019098026 A JP2019098026 A JP 2019098026A JP 2020192621 A JP2020192621 A JP 2020192621A
Authority
JP
Japan
Prior art keywords
robot
teaching
teaching point
predetermined
processor
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
JP2019098026A
Other languages
English (en)
Inventor
潤也 寺阪
Junya Terasaka
潤也 寺阪
応朗 本橋
Masao Motohashi
応朗 本橋
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.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Priority to JP2019098026A priority Critical patent/JP2020192621A/ja
Publication of JP2020192621A publication Critical patent/JP2020192621A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

【課題】走行装置によって移動されるロボットを備えるロボットシステムの立ち上げに掛かる時間を短縮する技術が求められている。【解決手段】走行軸に沿って移動する走行装置14に搭載されたロボット12に教示点を教示するための装置50は、走行軸における走行装置14の複数の異なる位置を、複数の既定位置として予め記憶する記憶部54と、教示点の位置情報に基づいて、記憶部54に記憶された複数の既定位置の中から、ロボット12を教示点に配置することができる既定位置を選択する位置選択部60とを備える。【選択図】図1

Description

本発明は、ロボットに教示点を教示するための装置、ロボットシステム、及びロボットの教示方法に関する。
走行装置によって移動されるロボットが知られている(例えば、特許文献1)。
特開昭61−278907号公報
従来、走行装置によって移動されるロボットを備えるロボットシステムの立ち上げに掛かる時間を短縮する技術が求められている。
本開示の一態様において、走行軸に沿って移動する走行装置に搭載されたロボットに教示点を教示するための装置は、走行軸における走行装置の複数の異なる位置を、複数の既定位置として予め記憶する記憶部と、教示点の位置情報に基づいて、記憶部に記憶された複数の既定位置の中から、ロボットを教示点に配置することができる既定位置を選択する位置選択部とを備える。
本開示の他の態様において、走行軸に沿って移動する走行装置に搭載されたロボットに教示点を教示する方法は、走行軸における走行装置の複数の異なる位置を、複数の既定位置として予め記憶し、教示点の位置データに基づいて、記憶された複数の既定位置の中から、ロボットを教示点に配置することができる既定位置を選択する。
本開示によれば、ロボットを教示点に配置可能な走行装置の位置を、予め記憶された既定位置の中から迅速に決定することができる。これにより、教示に掛かる時間を短縮することができ、ロボットシステムの立ち上げを迅速に行うことができる。
一実施形態に係るロボットシステムのブロック図である。 一実施形態に係るロボット及び走行装置の図である。 図1に示す装置を用いてロボットの動作を教示する方法のフローチャートの一例を示す。 図3中のステップS3のフローの一例を示す。 図4中のステップS12のフローの一例を示す。 走行装置の既定位置の一例を模式的に示す。 ロボットの教示点の一例を模式的に示す。 図7に示す状態から、ロボットが第1の既定位置へ移動された状態を示す。 図8に示す状態から、ロボットが第2の既定位置へ移動された状態を示す。 図1に示すロボットシステムの他の機能を示すブロック図である。 図10に示すロボットシステムが実行するステップS12’のフローの一例を示す。 図9に対応する図であって、ロボットの動作経路と環境物とが干渉している状態を示す。 他の実施形態に係るロボットシステムのブロック図である。
以下、本開示の実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する種々の実施形態において、同様の要素には同じ符号を付し、重複する説明を省略する。図1及び図2を参照して、一実施形態に係るロボットシステム10について説明する。ロボットシステム10は、ロボット12、走行装置14、及び装置50を備える。
図2に示すように、ロボット12は、垂直多関節ロボットであって、ベース部16、旋回胴18、ロボットアーム20、手首部22、及びエンドエフェクタ24を備える。旋回胴18は、鉛直軸周りに回動可能となるようにベース部16に設けられている。ロボットアーム20は、旋回胴18に回動可能に連結された下腕部26と、該下腕部26の先端部に回動可能に設けられた上腕部28とを有する。手首部22は、上腕部28の先端部に回動可能に設けられている。
エンドエフェクタ24は、溶接ガン、塗料塗布器、又はロボットハンド等であって、手首部22の先端部に着脱可能に取り付けられている。エンドエフェクタ24は、ワークに対して所定の作業(溶接、塗装、部品組み付け等)を行う。なお、図2においては、一例として、スポット溶接ガンであるエンドエフェクタ24を示している。
ロボット12は、複数のサーボモータ30(図1)を有する。これらサーボモータ30は、ベース部16、旋回胴18、ロボットアーム20、及び手首部22にそれぞれ内蔵され、ロボット12の各可動要素(すなわち、旋回胴18、ロボットアーム20、手首部22)を回動軸周りに回動させる。
走行装置14は、ロボット12を、直線状の走行軸Aに沿って移動させる。具体的には、走行装置14は、レール部32、スライダ34、及び駆動機構36を有する。レール部32は、走行軸Aに沿って直線状に延在する。スライダ34は、走行軸Aに沿って摺動可能となるようにレール部32と係合している。スライダ34は、レール部32と係合することで、走行軸Aに沿って移動するように案内される。
駆動機構36は、タイミングベルト38と、該タイミングベルト38を回動させるサーボモータ40(図1)とを有する。タイミングベルト38は、スライダ34の下部と係合し、サーボモータ40の駆動力をスライダ34へ伝達する。ロボット12のベース部16は、スライダ34の上に固定されている。
サーボモータ40がタイミングベルト38を回動させると、該タイミングベルト38と係合したスライダ34が走行軸Aに沿って移動され、これにより、スライダ34の上に搭載されたロボット12が走行軸Aに沿って移動される。こうして、駆動機構36は、ロボット12を走行軸Aに沿って移動する。
図1を参照して、装置50は、走行装置14のスライダ34に搭載されたロボット12に教示点を教示するためのものであって、プロセッサ52、記憶部54、及び入力受付部56を備える。プロセッサ52は、CPU又はGPU等であって、各種演算処理を実行する。記憶部54は、ROM及びRAM等を有し、各種データを記憶する。入力受付部56は、キーボード、マウス、又はタッチセンサ等を有し、オペレータからの入力操作を受け付ける。
プロセッサ52、記憶部54、及び入力受付部56は、バス58を介して互いに通信可能に接続されており、プロセッサ52は、記憶部54及び入力受付部56と通信しつつ、後述するロボット12の教示に係る処理を実行する。本実施形態においては、装置50は、ロボット12及び走行装置14を制御する制御装置に実装されており、プロセッサ52は、ロボット12のサーボモータ30、及び走行装置14のサーボモータ40へ指令を送信し、ロボット12及び走行装置14を動作させる。
走行装置14には、走行装置座標系Cが設定される。本実施形態においては、走行装置座標系Cは、そのx軸が走行軸Aと平行であり、そのz軸が鉛直方向と平行となるように、設定されている。プロセッサ52は、走行装置座標系Cを基準として走行装置14の動作を制御する。走行装置座標系Cは、3次元作業空間内に固定された固定座標系である。なお、走行装置座標系Cの代わりに、3次元作業空間を規定するワールド座標系を用いてもよい。
一方、ロボット12には、ロボット座標系Cが設定される。本実施形態においては、ロボット座標系Cは、その原点がベース部16の中心に配置され、該原点が走行軸A上に位置し、且つ、そのz軸が鉛直方向と平行となるように、設定されている。ロボット座標系Cは、走行装置14のスライダ34とともに、走行軸A(すなわち、走行装置座標系Cのx軸)の方向へ移動する移動座標系である。
エンドエフェクタ24には、ツール座標系Cが設定される。このツール座標系Cは、ロボット座標系Cにおけるエンドエフェクタ24の位置及び姿勢を規定する。本実施形態においては、ツール座標系Cは、その原点が、エンドエフェクタ24の作業点(いわゆる、TCP)に一致するように、設定される。
プロセッサ52は、エンドエフェクタ24の位置及び姿勢を、ツール座標系Cによって規定される位置及び姿勢に一致させるように、ロボット座標系Cにおいて旋回胴18、ロボットアーム20、及び手首部22を動作させる。こうして、エンドエフェクタ24は、ロボット座標系Cにおいて任意の位置及び姿勢に配置される。
次に、図3〜図9を参照して、装置50を用いてロボット12の動作を教示する方法について説明する。図3に示すフローは、例えば、装置50の電源がONとなったときに、開始する。ステップS1において、プロセッサ52は、第nの既定位置B(n=1、2、3、・・・)の入力を受け付ける。
以下、図6を参照して、第nの既定位置Bについて説明する。第nの既定位置Bは、スライダ34(すなわち、ロボット12)を配置することができる、走行軸Aにおける該スライダ34(ロボット12)の位置を示しており、走行軸A上で整列するように設定される。
オペレータは、入力受付部56を操作して、第nの既定位置Bの情報を入力する。一例として、オペレータは、第nの既定位置Bの情報を、走行装置座標系Cの座標(例えば、x座標)として、入力する。他の例として、オペレータは、第nの既定位置Bの情報として、互いに隣接する2つの既定位置Bn−1及びBの間の間隔dを入力してもよい。
入力受付部56は、第nの既定位置Bの情報の入力を受け付け、プロセッサ52は、入力受付部56が受け付けた第nの既定位置Bの情報を、記憶部54に記憶する。こうして、図6に示すように、複数の異なる既定位置B(n=1、2、3、・・・)が走行軸A上に整列するように、任意に設定される。なお、図6に示す例では、既定位置Bが、走行軸A上で略等間隔で整列するように設定されている。しかしながら、既定位置Bは、走行軸A上でランダムな間隔で整列するように設定されてもよい。
例えば、第nの既定位置Bにスライダ34及びロボット12を配置する場合、プロセッサ52は、走行装置14のサーボモータ40を動作させて、該スライダ34の中心点(又は、ロボット座標系Cの原点)の、走行装置座標系Cのx−y平面の座標が第nの既定位置Bと一致するように、スライダ34を移動させる。
ステップS2において、プロセッサ52は、第mの教示点C(m=1、2、3、・・・)の入力を受け付ける。以下、図7を参照して、第mの教示点Cについて説明する。第mの教示点Cは、ロボット12がエンドエフェクタ24の作業点(TCP)を配置すべき3次元作業空間における位置を示している。例えば、第mの教示点Cは、エンドエフェクタ24で作業をすべき作業位置(溶接位置、塗装位置、部品組付け位置)であるか、又は、エンドエフェクタ24を移動させるときに該エンドエフェクタ24の作業点を通過させるべき通過点である。
エンドエフェクタ24の作業点を第mの教示点Cに配置するとき、プロセッサ52は、ツール座標系Cの原点が第mの教示点Cに一致するように該ツール座標系Cを設定し、設定したツール座標系Cによって規定される位置及び姿勢にエンドエフェクタ24を配置するように、ロボット12を動作させる。
こうして、プロセッサ52は、エンドエフェクタ24の作業点(TCP)を第mの教示点Cに配置させる。なお、第mの教示点Cを特定する番号「m」は、エンドエフェクタ24を配置させる順序を表している。すなわち、プロセッサ52は、エンドエフェクタ24を、教示点C→C→C→・・・→Cの順に配置させる。
オペレータは、入力受付部56を操作して、第mの教示点Cの位置情報を入力する。一例として、オペレータは、第mの教示点Cの位置情報を、走行装置座標系C(又は、ワールド座標系)の座標として入力する。プロセッサ52は、入力受付部56が受け付けた第mの教示点Cの位置情報を、記憶部54に記憶する。こうして、図7に示すように、3次元空間(走行装置座標系C)内に、複数の教示点C(m=1、2、3、・・・)が設定される。
ステップS3において、プロセッサ52は、記憶部54に記憶された複数の既定位置Bの中から、ロボット12のエンドエフェクタ24を教示点Cに配置することができる既定位置Bを選択するプロセスを実行する。このステップS3について、図4を参照して説明する。ステップS3の開始後、ステップS11において、プロセッサ52は、第nの既定位置Bを特定する番号「n」を、初期値αに設定する。一例として、この初期値αは、α=1に設定される。
ステップS12において、プロセッサ52は、第nの既定位置Bに関し、ロボット12の動作範囲D内に在る教示点Cの数を計算するプロセスを実行する。このステップS12について、図5を参照して説明する。ステップS12の開始後、ステップS21において、プロセッサ52は、第mの教示点Cを特定する番号「m」を、初期値γに設定する。ここで、プロセッサ52は、後述するステップS16(図4)でYESと判定するまで、図4中のステップS11〜S16のループを繰り返し実行する。第1巡目のステップS11〜S16のループを実行する場合、初期値γは、γ=1に設定される。
ステップS22において、プロセッサ52は、第mの教示点Cが、第nの既定位置Bにロボット12を配置したときのロボット12の動作範囲D内に在るか否かを判定する。一例として、この動作範囲Dは、ロボット12の可動範囲Dとして定められる。この可動範囲Dは、ロボット12がエンドエフェクタ24を移動できる最大範囲、換言すれば、ロボット座標系Cにおいてツール座標系Cを設定できる最大範囲である。
他の例として、この動作範囲Dは、ロボット12の可動範囲Dに含まれる、該可動範囲Dよりも小さな所定範囲Dとして、ロボット12に対して任意に定められる。例えば、この所定範囲Dは、ロボット座標系Cの原点に近接する領域内にあり、ロボット12がエンドエフェクタ24を余裕のある姿勢で配置することができる、ロボット12の動作範囲である。ここで、「余裕のある姿勢」とは、例えば、下腕部26と上腕部28との間の角度が、180°よりも小さい角度(例えば、鋭角)となっている(換言すれば、下腕部26と上腕部28とが直線状に整列しない)姿勢である。
このような所定範囲Dは、例えば、ロボット座標系Cにおけるツール座標系Cの位置及び姿勢を表す座標(x,y,z,W,P,R)に閾値を設定することで、規定できる。ここで、座標値x、y及びzは、それぞれ、ツール座標系Cの原点のロボット座標系Cにおけるx座標、y座標、及びz座標を示す。また、座標値W、P及びRは、それぞれ、ツール座標系Cをロボット座標系Cのx軸周り、y軸周り、及びz軸周りに回転させる角度を示す。
これら座標値x、y、z、W、P及びRに対し、それぞれ、[x、x]、[y、y]、[z、z]、[W、W]、[P、P]、及び[R、R]という閾値を設定することで、所定範囲Dを規定することができる。オペレータは、入力受付部56を操作して、各々の閾値x、x、y、y、z、z、W、W、P、P、R及びRを入力してもよい。
図8に、スライダ34(ロボット12)を、第1の既定位置Bに配置させたときのロボット12の動作範囲Dを模式的に示す。動作範囲D(可動範囲D又は所定範囲D)は、例えば、ロボット座標系Cの原点を中心とした略球状の領域として、画定され得る。図8に示す例の場合、スライダ34を第1の既定位置Bに配置させたとき、動作範囲D内に、複数の教示点Cのうちの3つの教示点C〜Cが含まれている。
プロセッサ52は、このステップS22において、第mの教示点Cの位置情報に基づいて、第nの既定位置Bにロボット12を配置したときの該ロボット12の動作範囲D内に第mの教示点Cが在るか否かを判定する。プロセッサ52は、第mの教示点Cが動作範囲D内に在る(すなわち、YES)と判定した場合、ステップS23へ進む一方、第mの教示点Cが動作範囲D内にない(すなわち、NO)と判定した場合、ステップS24へ進む。
例えば、このステップS22の開始時点でn=1、m=1に設定されていたとすると、プロセッサ52は、第1の既定位置Bにロボット12を配置したときの該ロボット12の動作範囲D内に、第1の教示点Cが在るか否かを判定する。図8に示す例の場合、第1の教示点Cが、第1の既定位置Bにロボット12を配置したときの動作範囲D内に在るので、プロセッサ52はYESと判定することになる。
ステップS23において、プロセッサ52は、第mの教示点Cを特定する番号「m」を、1だけインクリメントする。そして、プロセッサ52は、ステップS22へ戻る。例えば、このステップS23の開始時点で、n=1に設定され、該ステップS23で番号「m」を1から2へインクリメントした場合、プロセッサ52は、ステップS22に戻り、第1の既定位置Bにロボット12を配置したときの動作範囲D内に第2の教示点Cが在るか否かを判定する。
こうして、プロセッサ52は、ステップS22でNOと判定するまで、ステップS22及びS23のループを繰り返し実行する。例えば、図8に示す例の場合、3つの教示点C〜Cが動作範囲D内に在るので、プロセッサ52は、ステップS22及びS23のループを3回繰り返した後、4回目のステップS22でNOと判定してステップS24へ進むことになる。
ステップS24において、プロセッサ52は、ステップS22で動作範囲D内に在ると判定された教示点Cの数Eを計算し、記憶部54に記憶する。例えば、図8に示す例の場合、第1の既定位置Bにロボット12を配置したときに動作範囲D内に在ると判定された教示点Cの数Eは、E=3となる。このように、本実施形態においては、プロセッサ52は、動作範囲D内に含まれる教示点Cの数Eを計算する計算部62(図1)として機能する。ステップS24を終了した後、プロセッサ52は、図4中のステップS13へ進む。
ステップS13において、プロセッサ52は、第nの既定位置Bを特定する番号「n」を、1だけインクリメントする。ステップS14において、プロセッサ52は、第nの既定位置Bを特定する番号「n」が、上限値βよりも大きいか否かを判定する。一例として、この上限値βは、記憶部54に記憶された既定位置Bの総数に設定される。
プロセッサ52は、番号「n」が上限値βよりも大きい(すなわち、YES)と判定した場合、ステップS15へ進む一方、番号「n」が上限値β以下(すなわち、NO)と判定した場合、ステップS12へ戻る。例えば、このステップS14でNOと判定した時点でn=2に設定されている場合、プロセッサ52は、第2の既定位置Bに関して、図5に示すステップS12のフローを実行する。こうして、プロセッサ52は、ステップS14でYESと判定するまでステップS12〜S14のループを繰り返し実行し、n=α〜βに関して教示点Cの数Eをそれぞれ記憶していく。
ステップS15において、プロセッサ52は、既定位置Bを選択する。具体的には、プロセッサ52は、上述のステップS24で記憶した数E(n=α〜β)の中から最大の数Eを検索し、該最大の数Eに対応する既定位置Bを、記憶部54に記憶された複数の既定位置Bの中から選択する。
例えば、第1巡目のステップS11〜S15を実行した結果、最大の数Eが4(すなわち、第1の教示点C〜第4の教示点C)であり、且つ、該最大の数Eに対応する既定位置Bが、第2の既定位置Bであったとする(図9を参照)。この場合、プロセッサ52は、4つの教示点C〜Cを含む第1の教示点群C〜Cの各々にロボット12を配置可能な既定位置BS_1として、複数の既定位置Bの中から第2の既定位置Bを選択することになる。
このように、本実施形態においては、プロセッサ52は、複数の既定位置Bの中から既定位置Bを選択する位置選択部60(図1)として機能する。また、プロセッサ52は、ステップS15において、ステップS12で計算した教示点Cの数Eに基づいて、1つの教示点群に含まれる教示点C(図9の例では、教示点C〜C)の数が最大となるように、既定位置Bを選択している。
なお、このステップS15において、最大の数Eに対応する既定位置Bが、複数存在し得る。この場合において、プロセッサ52は、予め定めた第2条件に従って、最大の数Eに対応する複数の既定位置Bのうちの1つを、既定位置Bとして選択してもよい。
例えば、この第2条件は、最大の数Eに対応する複数の既定位置Bのうち、最も走行装置座標系Cのx座標が小さい(又は大きい)ことであり得る。又は、第2条件は、ロボット12を、該当する教示点群に含まれる教示点C(図9の例では、第1の教示点群C〜C)に対して、最も余裕のある姿勢で配置できる(換言すれば、下腕部26と上腕部28との角度が最小である)ことであり得る。
ステップS16において、プロセッサ52は、全ての教示点Cに関して既定位置Bを選択したか否かを判定する。プロセッサ52は、全ての教示点Cに関して既定位置Bを選択した(すなわち、YES)と判定した場合、ステップS3を終了し、図3に示すステップS4へ進む。一方、プロセッサ52は、既定位置Bが選択されていない教示点Cが残存している(すなわち、NO)と判定した場合、ステップS11へ戻る。
例えば、第1巡目のステップS11〜S15を実行した結果、図9に示すように、第1の教示点群C〜Cに対して第2の既定位置Bを選択した場合、第mの教示点C(m=5、6、7、・・・)に関しては、既定位置Bが選択されていない。よって、この場合、プロセッサ52は、このステップS16でNOと判定し、ステップS11へ戻り、第2巡目のステップS11〜S16のループを実行する。
そして、第2巡目のステップS12において、図5中のステップS21を実行する場合、初期値γは、第1巡目のステップS15で選択された既定位置BS_1(すなわち、第2の既定位置B)に対応する第1の教示点群C〜Cの次の教示点C(すなわち、第5の教示点C)の番号に設定される(すなわち、γ=5)。
そして、プロセッサ52は、第mの教示点C(m=5、6、7、・・・)に関してステップS22〜S24を実行し、最も数Eが多くなる(すなわち、最大の数Eとなる)ように、第2の教示点群に含まれる教示点Cの各々にロボット12を配置することができる既定位置BS_2を、複数の既定位置Bの中から選択する。
こうして、プロセッサ52は、第i巡目(i=1、2、3、・・・)のステップS11〜S16のループを実行する毎に、第iの教示点群に含まれる教示点Cの各々にロボット12を配置することができる既定位置BS_iを、順次選択していく。第iの教示点群は、少なくとも1つの教示点Cを含むことになる。
再度、図3を参照して、ステップS4において、プロセッサ52は、動作プログラムを生成する。具体的には、オペレータは、走行装置14によってスライダ34(ロボット12)を既定位置BS_iに配置した状態で、エンドエフェクタ24の作業点を、第iの教示点群に含まれる教示点Cの各々に位置決めする動作を該ロボット12に教示する作業を行う。
例えば、オペレータは、入力受付部56を操作することで、上記した動作の教示を行うことができる。プロセッサ52は、教示点C及び既定位置BS_iの位置情報と、教示の結果得られたロボット12の位置データとに基づいて、動作プログラムを生成する。この動作プログラムは、走行装置14がロボット12を移動させつつ、該ロボット12がエンドエフェクタ24の作業点を第mの教示点Cに順に配置する動作を、ロボット12及び走行装置14に実行させるための指令を含む。
なお、プロセッサ52は、図3に示すステップS3のフローを、シミュレーションソフト等を用いて実行してもよい。また、オペレータは、ステップS4におけるロボット12の教示を、シミュレーションソフト等を用いて、いわゆるオフラインで行ってもよいし、又は、実機のロボット12及び走行装置14を用いて、いわゆるオンラインで行ってもよい。
以上に述べたように、本実施形態においては、プロセッサ52は、教示点Cの位置情報に基づいて、記憶部54に記憶された複数の既定位置Bの中から、ロボット12のエンドエフェクタ24を教示点Cに配置することができる既定位置Bを自動で選択している。
この構成によれば、ロボット12を教示点Cに配置するのに適した走行装置14(具体的には、スライダ34)の位置を、予め記憶された既定位置Bから迅速に決定することができる。これにより、教示作業に係る時間を短縮することができ、ロボットシステム10の立ち上げを迅速に行うことができる。また、ロボットシステム10の立ち上げ後に動作プログラムの修正が必要となった場合に、該修正を容易に行うことも可能となる。
また、本実施形態においては、プロセッサ52は、複数の教示点群(第1の教示点群、第2の教示点群、・・・第iの教示点群)毎に、該教示点群に含まれる教示点Cの各々にロボット12を配置することができる既定位置BS_iを、1つずつ選択している。この構成によれば、1つの既定位置BS_iで複数の教示点C(すなわち、第iの教示点群)にロボット12のエンドエフェクタ24を配置させることができるので、ロボットシステム10の作業のサイクルタイムを縮減できる。
ここで、プロセッサ52は、予め定めた条件に従って、教示点群毎に既定位置BS_iを選択している。一例として、予め定めた条件とは、選択する既定位置BS_iの数(つまり、i)を最小とすることである。この条件に従って既定位置BS_iを選択する場合、プロセッサ52は、上述のステップS22において、第mの教示点Cがロボット12の可動範囲D内に在るか否かを判定する。
この場合、選択された各既定位置BS_iでロボット12を配置可能な教示点Cの数が最大化されることになり、結果、選択する既定位置BS_iの総数を最小化することができる。よって、走行装置14によってロボット12を移動させる回数を最小化できるので、ロボットシステム10の作業のサイクルタイムを、効果的に縮減できる。
他の例として、予め定めた条件とは、選択する既定位置BS_iの各々において、第iの教示点群が、ロボット12に対して定めた所定範囲D内に収まることである。この条件に従って既定位置BS_iを選択する場合、プロセッサ52は、上述のステップS22において、第mの教示点Cがロボット12の所定範囲D内に在るか否かを判定することになる。
この構成によれば、ロボット12を、第iの教示点群に含まれる教示点Cの各々に対し、余裕のある姿勢で配置することができるとともに、1つの既定位置BS_iで複数の教示点Cに配置できるので、ロボットシステム10の作業のサイクルタイムの縮減も図ることができる。
次に、図10及び図11を参照して、装置50の他の機能について説明する。本実施形態においては、プロセッサ52は、上述のステップS12の代わりに、図11に示すステップS12’を実行する。具体的には、プロセッサ52は、ステップS22でYESと判定した後、ステップS31において、ロボット12の動作経路Gと環境物Fとが干渉するか否かを判定する。
ここで、互いに隣り合う2つの教示点Cm−1とCとの間に、環境物F(周辺装置、柱等)が存在する場合がある。このような例を図12に示す。図12に示す例では、第3の教示点Cと第4の教示点Cとの間に環境物Fが存在している。この場合、ロボット12がエンドエフェクタ24を第3の教示点Cから第4の教示点Cへ移動させるときの動作経路Gが環境物Fと干渉し、エンドエフェクタ24を移動させることができない場合がある。
そこで、本実施形態においては、プロセッサ52は、このステップS31でロボット12の動作経路Gと環境物Fとの干渉の有無を判定する。なお、プロセッサ52は、このステップS31の開始時点で、第mの教示点Cを特定する番号「m」が、初期値γに設定されている場合(すなわち、第1巡目のステップS22〜S23のループを実行している場合)は、このステップS31で自動的にYESと判定し、ステップS23へ進む。
一方、プロセッサ52は、このステップS31の開始時点で番号「m」が初期値γよりも大きい場合(すなわち、第2巡目以降のステップS22〜S23のループを実行している場合)は、このステップS31で、ロボット12の動作経路Gと環境物Fとが干渉するか否かを判定する。
具体的には、プロセッサ52は、第m−1の教示点Cm−1及び第mの教示点Cの位置情報に基づいて、第m−1の教示点Cm−1から第mの教示点Cへの動作経路Gの、走行装置座標系Cにおける座標(又は関数)を演算する。例えば、この動作経路Gは、教示点Cm−1及びCを結ぶ直線として演算されてもよいし、又は、教示点Cm−1及びCを結ぶ任意の曲線として演算されてもよい。
一方、環境物Fの走行装置座標系Cにおける座標(又は関数)は、記憶部54に予め記憶されている。プロセッサ52は、走行装置座標系Cにおける動作経路G及び環境物Fの座標(又は関数)に基づいて、動作経路Gと環境物Fとが干渉するか否かを判定することができる。
このように、本実施形態においては、プロセッサ52は、動作経路Gと環境物Fとが干渉するか否かを判定する干渉判定部64(図10)として機能する。プロセッサ52は、動作経路Gと環境物Fとが干渉する(すなわち、YES)と判定した場合、ステップS24へ進む一方、動作経路Gと環境物Fとが干渉しない(すなわち、NO)と判定した場合、ステップS23へ進む。
そして、プロセッサ52は、ステップS24において、動作経路Gが環境物Fと干渉しない一群の教示点Cの数Eを計算し、ステップS15において、数Eが最大となる既定位置BS_iを選択する。このように、本実施形態においては、プロセッサ52は、第iの教示点群に含まれる教示点Cにロボット12を配置できる既定位置BS_iを、予め定めた条件に従って選択しており、該予め定めた条件は、ロボット12が環境物Bと干渉することなく、第iの教示点群に含まれる教示点Cの各々に配置できることである。
この構成によれば、1つの既定位置BS_iで、環境物Bと干渉することなく、第iの教示点群に含まれる各教示点Cにロボット12を配置できることから、ロボット12と環境物Bとの干渉を確実に回避できるとともに、ロボットシステム10の作業のサイクルタイムの縮減を図ることができる。
なお、図11に示すフローにおいて、プロセッサ52は、ステップS31でYESと判定した場合に、ロボット12が環境物Bを回避できる動作経路を検索してもよい。この場合において、プロセッサ52は、ロボット12が環境物Bを回避できる動作経路を見出すことができた場合は、ステップS23へ進む一方、ロボット12が環境物Bを回避できる動作経路を見出すことができなかった場合は、ステップS24へ進んでもよい。
なお、上述した実施形態においては、装置50が、ロボット12及び走行装置14を制御する制御装置に実装される場合について述べた。しかしながら、装置50は、ロボット12に動作を教示するための教示装置に実装されてもよい。このような形態を、図13に示す。図13に示すロボットシステム70は、ロボット12、走行装置14、装置50、及び制御装置72を備える。
制御装置72は、プロセッサ及び記憶部(ともに図示せず)を有し、ロボット12及び走行装置14を制御する。本実施形態においては、装置50は、オペレータが把持可能な手持ち式教示装置(いわゆる、教示ペンダント)に実装され、制御装置72に通信可能に接続されている。オペレータは、装置50を把持して入力受付部56を操作することで、図3に示す教示フローを実行することができる。
なお、上述の実施形態においては、既定位置Bの番号「n」の初期値αが、α=1に設定され、また、上限値βが、既定位置Bの総数に設定されている。この場合、プロセッサ52は、ステップS3において、記憶部54に記憶された全ての既定位置Bに関してステップS12のプロセスを実行することになる。しかしながら、初期値α及び上限値βは、第i巡目(i=1、2、3、・・・)のステップS11〜S16のループを実行する毎に変更してもよい。
一例として、初期値α及び上限値βは、第i巡目のステップS11〜S16のループの実行時に、最初にステップS22の判定対象となる第mの教示点C(すなわち、m=γである教示点C)から、所定の距離Hの範囲内にある既定位置Bのみを含むように、設定されてもよい。この距離Hは、ロボット座標系Cの原点から、ロボット12の可動範囲Dの最外縁(換言すれば、ロボット12がエンドエフェクタ24の作業点を配置可能な最遠位点)までの距離であってもよい。
具体的に述べると、例えば、第1巡目のステップS11〜S16のループを実行するとき、最初にステップS22の判定対象となる教示点Cは、第1の教示点Cである(∵ γ=1)。この場合において、第1の教示点Cから距離Hの範囲内にある既定位置Bが、第1の既定位置Bから第4の既定位置Bであるとすると、初期値αは、α=1に設定され、上限値βは、β=4に設定されることになる。これにより、ロボット12を第1の教示点Cに配置不能な既定位置B(n=5、6、7、・・・)を、第1巡目のステップS12のプロセスの対象から除外することができる。
このように、第i巡目のステップS11〜S16のループを実行する毎に、初期値α及び上限値βを、所定の条件に従って適宜設定することにより、プロセッサ52が実行する演算量を最適化し、プロセッサ52の演算処理に係る負担を低減できる。また、ステップS3の実行に要する時間を短縮することもできる。
なお、上述の実施形態においては、複数の教示点Cが設定され、プロセッサ52が、教示点群(第1の教示点群、第2の教示点群、・・・第iの教示点群)毎に既定位置BS_iを選択する場合について述べた。しかしながら、これに限らず、1つのみの教示点Cが設定されてもよい。この場合、装置50から、上述の計算部62及び干渉判定部64を省略することもできる。
また、装置50から入力受付部56を省略することもできる。この場合において、オペレータは、装置50とネットワーク(LAN、インターネット等)を介して通信可能に接続された入力装置(PC、タブレット等)を用いて、遠隔操作により、既定位置B又は教示点Cを装置50に入力してもよい。
また、記憶部54は、必ずしも装置50に内蔵されていなくてもよく、例えば、装置50に外付けされる記憶装置(フラッシュメモリ、HDD等)であってもよいし、又は、装置50とネットワーク(LAN、インターネット等)を介して通信可能に接続された外部機器(サーバ等)に内蔵されてもよい。
また、ロボット12は、垂直多関節ロボットに限らず、水平多関節ロボット、パラレルリンクロボット等、如何なるタイプのロボットであってもよい。また、走行軸Aは、直線に限らず、円弧、又は任意の曲線であってもよい。例えば、走行装置14は、スライダ34(又は、ロボット12)を、所定の中心軸周りに回動させるように構成されてもよい。この場合において、所定の中心軸は、スライダ34の中心、又は、ロボット座標系Cの原点を通過する(ロボット座標系Cのz軸と一致する)ように、配置されてもよい。
以上、実施形態を通じて本開示を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。
10,70 ロボットシステム
12 ロボット
14 走行装置
50 装置
52 プロセッサ
54 記憶部
56 入力受付部
60 位置選択部
62 計算部
64 干渉判定部

Claims (8)

  1. 走行軸に沿って移動する走行装置に搭載されたロボットに教示点を教示するための装置であって、
    前記走行軸における前記走行装置の複数の異なる位置を、複数の既定位置として予め記憶する記憶部と、
    前記教示点の位置情報に基づいて、前記記憶部に記憶された前記複数の既定位置の中から、前記ロボットを前記教示点に配置することができる前記既定位置を選択する位置選択部と、を備える、装置。
  2. 前記位置選択部は、少なくとも1つの前記教示点を各々含む複数の教示点群毎に、該教示点群に含まれる前記教示点に前記ロボットを配置することができる前記既定位置を選択する、請求項1に記載の装置。
  3. 前記位置選択部は、予め定めた条件に従って、前記複数の教示点群毎に前記既定位置を選択し、
    前記予め定めた条件は、
    選択する前記既定位置の数が最小となること、
    選択する前記既定位置の各々において、前記教示点群に含まれる前記教示点が、前記ロボットに対して予め定めた範囲内に収まること、又は
    選択する前記既定位置の各々において、前記ロボットを、周囲の環境物と干渉することなく、前記教示点群に含まれる前記教示点の各々に配置できること、
    である、請求項2に記載の装置。
  4. 前記装置は、前記記憶部に記憶された各々の前記既定位置に関し、前記ロボットの動作範囲内に含まれる前記教示点の数を計算する計算部をさらに備え、
    前記位置選択部は、前記計算部が計算した前記教示点の数が最大となる前記既定位置を選択する、請求項2又は3に記載の装置。
  5. 前記予め定めた条件は、前記ロボットを前記環境物と干渉することなく前記教示点群に含まれる前記教示点の各々に配置できることであり、
    前記装置は、各々の前記既定位置に関し、前記ロボットの動作経路と前記環境物とが干渉するか否かを判定する干渉判定部をさらに備える、請求項3に記載の装置。
  6. 前記教示点又は前記既定位置の入力を受け付ける入力受付部をさらに備える、請求項1〜5のいずれか1項に記載の装置。
  7. 走行軸に沿って移動する走行装置と、
    前記走行装置に搭載されたロボットと、
    請求項1〜6のいずれか1項に記載の装置と、を備える、ロボットシステム。
  8. 走行軸に沿って移動する走行装置に搭載されたロボットに教示点を教示する方法であって、
    前記走行軸における前記走行装置の複数の異なる位置を、複数の既定位置として予め記憶し、
    前記教示点の位置データに基づいて、記憶された前記複数の既定位置の中から、前記ロボットを前記教示点に配置することができる前記既定位置を選択する、方法。
JP2019098026A 2019-05-24 2019-05-24 ロボットに教示点を教示するための装置、ロボットシステム、及びロボットの教示方法 Pending JP2020192621A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019098026A JP2020192621A (ja) 2019-05-24 2019-05-24 ロボットに教示点を教示するための装置、ロボットシステム、及びロボットの教示方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019098026A JP2020192621A (ja) 2019-05-24 2019-05-24 ロボットに教示点を教示するための装置、ロボットシステム、及びロボットの教示方法

Publications (1)

Publication Number Publication Date
JP2020192621A true JP2020192621A (ja) 2020-12-03

Family

ID=73548476

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019098026A Pending JP2020192621A (ja) 2019-05-24 2019-05-24 ロボットに教示点を教示するための装置、ロボットシステム、及びロボットの教示方法

Country Status (1)

Country Link
JP (1) JP2020192621A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023032984A1 (ja) * 2021-08-31 2023-03-09 川崎重工業株式会社 操作端末、ロボットシステム及びコンピュータプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023032984A1 (ja) * 2021-08-31 2023-03-09 川崎重工業株式会社 操作端末、ロボットシステム及びコンピュータプログラム

Similar Documents

Publication Publication Date Title
US11458626B2 (en) Trajectory generating method, and trajectory generating apparatus
EP2699392B1 (en) An industrial robot having a kinematically redundant arm and a method for controlling the robot
CN102216037B (zh) 用于优化工业机器人的编程移动路径的方法和装置
US20150190926A1 (en) Method and system for off-line programming of multiple interacting robots
JP4137909B2 (ja) ロボットプログラム補正装置
US8972056B2 (en) Method of finding feasible joint trajectories for an n-dof robot with rotation invariant process (n>5)
US11433537B2 (en) Automatic path generation device
Bolmsjö et al. Robotic arc welding–trends and developments for higher autonomy
TW202244643A (zh) 數值控制裝置及數值控制系統
JP2009134352A (ja) ロボットの動作経路作成装置及びロボットの動作経路作成方法
US6895299B2 (en) Systems and methods for representing complex n-curves for direct control of tool motion
Decré et al. Extending the iTaSC constraint-based robot task specification framework to time-independent trajectories and user-configurable task horizons
Bhatt et al. Optimizing multi-robot placements for wire arc additive manufacturing
JP7210201B2 (ja) 情報処理方法、プログラム、記録媒体、情報処理装置、ロボットシステム、物品の製造方法
JP2020192621A (ja) ロボットに教示点を教示するための装置、ロボットシステム、及びロボットの教示方法
Ostanin et al. Programming by Demonstration Using Two-Step Optimization for Industrial Robot.
JP7144754B2 (ja) 多関節ロボットおよび多関節ロボットシステム
Hazard et al. Automated design of manipulators for in-hand tasks
Wohlke A neuro-fuzzy-based system architecture for the intelligent control of multi-finger robot hands
KR101640135B1 (ko) 병렬구조 다자유도 시스템 및 이의 최적해 도출 방법
CN108475051A (zh) 用于在工业机器人的编程期间对准工具的方法和系统
Hassan Shabeeb et al. Forward analysis of 5 DOF robot manipulator and position placement problem for industrial applications
Lopes et al. Learning sensory-motor maps for redundant robots
CN111989193A (zh) 控制机器人的运动轨迹的方法和控制系统
JP2009050949A (ja) ロボットアームの軌道教示方法および軌道教示装置