(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023130795
(43)【公開日】2023-09-21
(54)【発明の名称】ロボットティーチングシステム
(51)【国際特許分類】
B25J 9/22 20060101AFI20230913BHJP
B25J 9/06 20060101ALI20230913BHJP
B25J 9/12 20060101ALI20230913BHJP
B25J 13/02 20060101ALI20230913BHJP
B25J 13/08 20060101ALI20230913BHJP
【FI】
B25J9/22
B25J9/06 B
B25J9/12
B25J13/02
B25J13/08 A
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022035294
(22)【出願日】2022-03-08
(71)【出願人】
【識別番号】000005197
【氏名又は名称】株式会社不二越
(74)【代理人】
【識別番号】100176072
【弁理士】
【氏名又は名称】小林 功
(74)【代理人】
【識別番号】100169225
【弁理士】
【氏名又は名称】山野 明
(72)【発明者】
【氏名】石井 淳史
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS01
3C707BS10
3C707JS01
3C707JU12
3C707KS03
3C707KS04
3C707KT01
3C707KT06
3C707LS09
3C707LS15
3C707LT12
3C707NS06
(57)【要約】
【課題】容易にロボットのティーチングを行うことができるロボットティーチングシステムを提供する。
【解決手段】ロボットティーチングシステム1は、動作パラメータが予め記憶された記憶部16と、ワーク画像350を撮像装置40から受信する画像受信部11と、ワーク画像350から第一座標を取得する座標取得部12と、ワーク画像350及び第一座標を含む表示コンテンツ400を生成し入出力装置30に出力する表示コンテンツ生成部13と、入出力装置30におけるユーザ70による表示コンテンツ400への操作により入力される入力情報を取得し、入力情報から第二座標を取得する入力取得部14と、ワーク60を第一座標から第二座標の位置に移動させるようにロボット制御装置10がロボット20を動作するための動作フローを動作パラメータに従って生成し記憶部16に記憶する動作生成部15と、を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
ワークの移動を行うロボットと通信しかつ入出力装置と通信するロボット制御装置に対して、前記ロボットの動作をティーチングするためのロボットティーチングシステムであって、
前記ロボットの動作に関する複数の動作パラメータが予め記憶された記憶部と、
前記ワークが配置されている空間の画像を示すワーク画像を外部の撮像装置から受信する画像受信部と、
前記ワーク画像から前記空間における前記ワークの位置に関する情報である第一座標を取得する座標取得部と、
前記ワーク画像及び前記第一座標を含む表示コンテンツを生成し、生成した前記表示コンテンツを前記入出力装置に出力する表示コンテンツ生成部と、
前記入出力装置におけるユーザによる前記表示コンテンツへの操作によって入力される前記ワークの状態に関する情報である入力情報を取得し、前記入力情報から前記ワークの移動先の位置情報である第二座標を取得する入力取得部と、
前記ワークを前記第一座標から前記第二座標の位置に移動させるように、前記複数の動作パラメータに基づき、前記ロボット制御装置が前記ロボットを動作するための動作フローを生成し、前記動作フローを前記記憶部に記憶する動作生成部と、
を備えることを特徴とするロボットティーチングシステム。
【請求項2】
前記入力取得部は、前記入力情報から前記ワークの前記第二座標における回転方向及び回転角度を含む第一回転情報をさらに取得し、
前記動作生成部は、前記ワークを前記第一座標から前記第二座標の位置に移動させることに加えて、前記第一回転情報に従う前記回転方向及び前記回転角度となるように前記ワークを回転させる前記動作フローを生成することを特徴とする請求項1に記載のロボットティーチングシステム。
【請求項3】
前記入力取得部は、前記ワークが前記第一座標から前記第二座標に移動するまでに経由する場所の位置情報である第三座標を前記入力情報からさらに取得し、
前記動作生成部は、前記複数の動作パラメータに従って、前記ワークを前記第一座標から前記第三座標の位置に移動させた後に、前記ワークを前記第三座標から前記第二座標の位置に移動させるように前記動作フローを生成することを特徴とする請求項1又は2に記載のロボットティーチングシステム。
【請求項4】
前記複数の動作パラメータは、アーチモーションに関するパラメータであり、
前記動作生成部は、前記複数の動作パラメータに従って、前記ワークを移動させる場合に前記ロボットの動作が前記アーチモーションとなるように前記動作フローを生成することを特徴とする請求項1~3のいずれか一項に記載のロボットティーチングシステム。
【請求項5】
前記入力取得部は、前記入力情報から前記ワークの移動元の位置情報を取得し、前記第一座標を取得することで移動させる前記ワークを選択することを特徴とする請求項1~4のいずれか一項に記載のロボットティーチングシステム。
【請求項6】
前記入力情報は、前記入出力装置に表示される前記表示コンテンツに含まれる前記ワークを示すオブジェクトを前記ユーザがドラッグアンドドロップによって操作した場合におけるドラッグ操作及びドロップ操作が行われた位置に関する情報を含み、
前記入力取得部は、前記入力情報から前記ドラッグ操作が行われた位置に関する情報を前記ワークの前記移動元の位置情報として取得し、前記入力情報から前記ドロップ操作が行われた位置に関する情報を前記第二座標として取得することを特徴とする請求項5に記載のロボットティーチングシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットティーチングシステムに関する。
【背景技術】
【0002】
従来から、ロボット制御装置の制御に従って、移動元の位置にあるワークを把持して、移動先の位置までワークを移動させ、移動先の位置でワークを解放するロボットが知られている。ロボットによってワークの把持、移動及び解放の一連の動作を行うためには予め、ロボットを動作させるための動作フローをロボット制御装置に記憶させる必要がある。ロボット制御装置にロボットの動作フローを記憶させることは、一般的にティーチングや教示と呼ばれている。
【0003】
これに関し、特許文献1には、定位置にあるワークの高さ位置を座標情報として入力し、手動操作によってカメラをワークの所望の複数箇所の上方へ移動させたときの各位置を取得し、定位置にあるワークの中心位置を仮定し、所定の操作が行われた場合にアーム先端の現在位置とワークの仮定中心位置とに基づいて、カメラの光軸がワークの仮定中心位置を向くようにアーム先端の位置と姿勢を設定することによって、カメラの位置をティーチングする構成が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載の技術では、ロボットのティーチングを行う場合に、手動操作によってロボットのアームを実際に動かす必要があった。ロボットのアームを実際に動かすことによってロボットのティーチングを行う作業は、ティーチングの経験が少ない者にとっては操作難易度が高い作業である。
【0006】
本発明はこのような問題に鑑みてなされたものであり、その目的は、容易にロボットのティーチングを行うことができるロボットティーチングシステムを提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明のロボットティーチングシステムは、ワークの移動を行うロボットと通信しかつ入出力装置と通信するロボット制御装置に対して、前記ロボットの動作をティーチングするためのロボットティーチングシステムであって、前記ロボットの動作に関する複数の動作パラメータが予め記憶された記憶部と、前記ワークが配置されている空間の画像を示すワーク画像を外部の撮像装置から受信する画像受信部と、前記ワーク画像から前記空間における前記ワークの位置に関する情報である第一座標を取得する座標取得部と、前記ワーク画像及び前記第一座標を含む表示コンテンツを生成し、生成した前記表示コンテンツを前記入出力装置に出力する表示コンテンツ生成部と、前記入出力装置におけるユーザによる前記表示コンテンツへの操作によって入力される前記ワークの状態に関する情報である入力情報を取得し、前記入力情報から前記ワークの移動先の位置情報である第二座標を取得する入力取得部と、前記ワークを前記第一座標から前記第二座標の位置に移動させるように、前記複数の動作パラメータに基づき、前記ロボット制御装置が前記ロボットを動作するための動作フローを生成し、前記動作フローを前記記憶部に記憶する動作生成部と、を備える。
【0008】
また、前記入力取得部は、前記入力情報から前記ワークの前記第二座標における回転方向及び回転角度を含む第一回転情報をさらに取得し、前記動作生成部は、前記ワークを前記第一座標から前記第二座標の位置に移動させることに加えて、前記第一回転情報に従う前記回転方向及び前記回転角度となるように前記ワークを回転させる前記動作フローを生成する。
【0009】
また、前記入力取得部は、前記ワークが前記第一座標から前記第二座標に移動するまでに経由する場所の位置情報である第三座標を前記入力情報からさらに取得し、前記動作生成部は、前記複数の動作パラメータに従って、前記ワークを前記第一座標から前記第三座標の位置に移動させた後に、前記ワークを前記第三座標から前記第二座標の位置に移動させるように前記動作フローを生成する。
【0010】
また、前記複数の動作パラメータは、アーチモーションに関するパラメータであり、前記動作生成部は、前記複数の動作パラメータに従って、前記ワークを移動させる場合に前記ロボットの動作が前記アーチモーションとなるように前記動作フローを生成する。
【0011】
また、前記入力取得部は、前記入力情報から前記ワークの移動元の位置情報を取得することで移動させる前記ワークを選択し、前記第一座標を取得した前記移動元の位置情報に更新する。
【0012】
また、前記入力情報は、前記入出力装置に表示される前記表示コンテンツに含まれる前記ワークを示すオブジェクトを前記ユーザがドラッグアンドドロップによって操作した場合におけるドラッグ操作及びドロップ操作が行われた位置に関する情報を含み、前記入力取得部は、前記入力情報から前記ドラッグ操作が行われた位置に関する情報を前記ワークの前記移動元の位置情報として取得し、前記入力情報から前記ドロップ操作が行われた位置に関する情報を前記第二座標として取得する。
【発明の効果】
【0013】
本発明によれば、ロボットティーチングシステムは、容易にロボットのティーチングを行うことができる。
【図面の簡単な説明】
【0014】
【
図1】本実施形態に係るロボットティーチングシステムの構成を示す図である。
【
図2】
図1に示すロボットティーチングシステムの回路構成を示す図である。
【
図3A】
図1における撮像装置が撮像した背景画像を示す図である。
【
図3B】
図1における撮像装置が撮像したワーク画像を示す図である。
【
図4】
図1に示す入出力装置に表示される表示コンテンツを示す図である。
【
図5】
図1に示す入出力装置に表示される表示コンテンツを示す図である。
【
図6】
図1に示すロボットティーチングシステムにおけるロボットの動作を示す図である。
【
図7】
図1に示すロボットティーチングシステムにおけるロボットのアーチモーションに関する動作パラメータを示す図である。
【
図8】
図1に示すロボットティーチングシステムにおける一連の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0015】
以下、添付図面を参照しながら本発明の実施形態(以下、「本実施形態」という。)について説明する。説明の理解を容易にするため、各図面において同一の構成要素及びステップに対しては可能な限り同一の符号を付して、重複する説明は省略する。
【0016】
――-第一実施形態―――
まず、第一実施形態について説明する。
【0017】
<構成>
図1は、本発明の第一実施形態に係るロボットティーチングシステム1の構成を示す図である。
図1に示すように、ロボットティーチングシステム1は、例えば、ロボット制御装置10と、ロボット20と、入出力装置30と、撮像装置40と、基台50とを含んで構成される。
【0018】
基台50は、ワーク60を配置するために設けられている台である。基台50は、例えば、上面にワーク60を配置するためのプレート501及び502が設けられている。また、基台50の上方には、基台50、プレート501及び502がある空間52と、空間52内にあるワーク60とを撮像できるように、撮像装置40が設けられている。
【0019】
プレート501は、ロボット20によって移動が行われる前のワーク60を配置する場所として機能するプレートであり、基台50の上面に設けられる。
【0020】
プレート502は、ロボット20によって移動が行われた後のワーク60を配置する場所として機能するプレートであり、基台50の上面に設けられる。
【0021】
撮像装置40は、例えば、画像センサであり、カメラを含んで構成される。撮像装置40は、上述したように、基台50、プレート501及び502がある空間52をカメラによって撮像し、撮像した画像をロボット制御装置10に送信する。なお、撮像装置40は、撮像した画像に対してエンコード処理などの所定の画像処理を行って、画像処理を行った画像をロボット制御装置10に送信しても良い。
【0022】
ロボット制御装置10は、ロボット20の動作を制御するための制御装置である。ロボット制御装置10は、ロボット20の動作を制御するための動作フローを生成するとともに記憶する。また、ロボット制御装置10は、入出力装置30から動作指示を受信した場合に、記憶した動作フローに従ってロボット20の動作を制御する。なお、ロボット制御装置10は、図示しない入力部にユーザ70から動作指示が入力された場合に、記憶した動作フローに従ってロボット20の動作を制御しても良い。
【0023】
具体的には、ロボット制御装置10は、予め、ロボット20の動作フローを生成するために必要な複数の動作パラメータを記憶する。これらの動作パラメータは、入出力装置30を介してユーザ70によって入力されても良いし、図示しない外部記憶装置などを参照することによって取得しても良い。続いて、ロボット制御装置10は、プレート501にワーク60が配置されていない場合の空間52の画像である背景画像300と、プレート501にワーク60が配置されている場合の空間52の画像であるワーク画像350とを撮像装置40からそれぞれ受信する。
【0024】
さらに、ロボット制御装置10は、背景画像300及びワーク画像350に従って、表示コンテンツ400を生成し、生成した表示コンテンツ400を入出力装置30に送信する。ロボット制御装置10は、入出力装置30に表示される表示コンテンツ400に対してユーザ70が操作を行うことによって生成される入力情報を入出力装置30から受信し、受信した入力情報と予め記憶している複数の動作パラメータに従って、動作フローを生成し記憶する。そして、ロボット制御装置10は、入出力装置30から動作指示を受信した場合、記憶した動作フローに従って、ワーク60をプレート501からプレート502に移動させるようにロボット20の動作を制御する。なお、表示コンテンツ400や、入出力装置30から受信する入力情報の詳細については、後述するため、ここでは省略する。
【0025】
ロボット20は、ロボット制御装置10の制御に従って、基台50に配置されているワーク60に対して把持、移動及び解放などの所定の処理作業を行うロボットであり、ワーク60を把持、移動及び解放するための多関節型のアームを含んで構成される。本実施形態において、ロボット20は、ロボット制御装置10の制御に従って、アームによって基台50のプレート501の上に配置されているワーク60を把持し、ワーク60を把持したアームをプレート502の位置まで移動させ、ワーク60を所定の回転方向に所定の回転角度だけ回転させ、プレート502の上でワーク60を解放することによって、ワーク60をプレート501からプレート502まで移動させる作業を行う。
【0026】
入出力装置30は、例えば、演算装置、キーボード及びマウスなどの入力装置並びにディスプレイなどの表示装置を含んで構成されるPC(Personal Computer)システムや、ノートPC、タブレットPC、スマートフォンなどである。なお、本例では、入出力装置30がタブレットPCである場合について説明する。入出力装置30は、例えば、画像を表示するための表示部(例えば、液晶ディスプレイ)と、ユーザ70による入力を受け付ける入力部(例えば、タッチパネル)とを含んで構成される。
【0027】
入出力装置30は、ロボット制御装置10から表示コンテンツ400を受信し、受信した表示コンテンツ400を表示部に表示する。また、入出力装置30は、入力部によってユーザ70からの表示コンテンツ400に対する操作を入力として受け付け、当該入力に従って、入力情報を生成する。ここで、入力情報は、ワーク60がロボット20によって移動された場合の空間52におけるワーク60の移動先の位置情報である第二座標と、ロボット20による移動が行われる前のワーク60に対する、ロボット20によって第二座標に移動が行われた後のワーク60の回転方向及び回転角度を含む第一回転情報とを含む情報である。入出力装置30は、生成した入力情報をロボット制御装置10に送信する。なお、入力情報は、ワーク60がロボット20によって移動された場合の空間52におけるワーク60の移動元の位置情報を含んでいても良い。なお、ユーザ70による表示コンテンツ400に対する操作の内容の詳細については、後述するため、ここでは省略する。
【0028】
図2は、
図1に示すロボットティーチングシステム1の回路構成を示す図である。
図2に示すように、ロボット制御装置10は、例えば、画像受信部11と、座標取得部12と、表示コンテンツ生成部13と、入力取得部14と、動作生成部15と、記憶部16と、ロボット制御部17とを含んで構成される。
【0029】
画像受信部11は、撮像装置40が撮像した画像を撮像装置40から受信し、受信した画像を座標取得部12又は記憶部16に出力する。具体的には、画像受信部11は、撮像装置40が撮像した基台50並びにプレート501及び502のいずれにもワーク60が配置されていない場合の空間52の画像である背景画像300を撮像装置40から受信し、受信した背景画像300を記憶部16に記憶させる。また、画像受信部11は、撮像装置40が撮像したプレート501にワーク60が配置されている場合の空間52の画像であるワーク画像350を撮像装置40から受信し、受信したワーク画像350を座標取得部12に出力する。
【0030】
座標取得部12は、画像受信部11から受信したワーク画像350に対して画像解析を行う。座標取得部12は、ワーク画像350に対する画像解析によって、ワーク画像350から空間52におけるワーク60の所定の箇所(例えば中心箇所)の位置を座標情報(第一座標)として取得し、取得した第一座標を表示コンテンツ生成部13に出力するとともに記憶部16に記憶する。ここで、第一座標は、ワーク画像350がプレート501上にワーク60が配置されている場合の空間52の画像であることから、ワーク60がロボット20によって移動される場合における移動元の座標を示す。なお、画像解析の方法としては、ワーク画像350と記憶部16が記憶している背景画像300との差分を取得し、差分がある場所から第一座標を特定する方法などが挙げられる。
【0031】
ここで、背景画像300及びワーク画像350について説明する。
図3Aは、
図1における撮像装置40が撮像した背景画像300を示す図である。また、
図3Bは、
図1における撮像装置40が撮像したワーク画像350を示す図である。
【0032】
図3Aに示すように、背景画像300には、基台50と、プレート501と、プレート502とが映っている。また、
図3Bに示すように、ワーク画像350には、基台50と、プレート501と、プレート502と、プレート501に配置されている複数のワーク60とが映っている。なお、本例ではプレート501には複数のワーク60が配置されているが、これに限られるものではなく、プレート501には1つのワーク60が配置されても良い。
【0033】
図2に戻って、表示コンテンツ生成部13は、記憶部16に記憶されている背景画像300と、座標取得部12から出力される第一座標とに従って、表示コンテンツ400を生成し、生成した表示コンテンツ400を入出力装置30に送信する。
【0034】
入力取得部14は、入出力装置30から入力情報を受信し、受信した入力情報から第二座標及び第一回転情報を取得する。また、入力取得部14は、取得した第二座標及び第一回転情報を動作生成部15に出力する。なお、入力取得部14は、受信した入力情報からワーク60の移動元の位置情報を取得しすることで移動させる前記ワークを選択し、さらに第一座標の値を取得した位置情報に更新し、更新した第一座標を記憶部16に記憶しても良い。
【0035】
動作生成部15は、入力取得部14から出力される第二座標及び第一回転情報と、記憶部16に記憶されている第一座標及び複数の動作パラメータとに従って、動作フローを生成する。具体的には、ワーク60を第一座標から第二座標の位置に移動させるとともに、第一回転情報に従う回転方向及び回転角度となるように入力取得部14が選択したワーク60を回転させるように動作フローを生成する。動作生成部15は、生成した動作フローを記憶部16に記憶する。
【0036】
記憶部16は、動作フローの生成に用いる複数の動作パラメータを予め記憶する。また、記憶部16は、画像受信部11から出力される背景画像300を記憶する。また、記憶部16は、座標取得部12から出力される第一座標を記憶する。さらに、記憶部16は、動作生成部15から出力される動作フローを記憶する。なお、記憶部16は、入力取得部14によって更新された第一座標を改めて記憶しても良い。
【0037】
ロボット制御部17は、入出力装置30に対するユーザ70の操作により生成される動作指示を入出力装置30から受信した場合、記憶部16から動作フローを読み出して、読み出した動作フローに従って、ワーク60をプレート501からプレート502に移動させるようにロボット20の動作を制御する。
【0038】
以上、ロボットティーチングシステム1の構成について説明した。続いて、表示コンテンツ400と、表示コンテンツ400に対してユーザ70が行う操作とについて詳しく説明する。
図4は、
図1に示す入出力装置30に表示される表示コンテンツ400を示す図である。
【0039】
図4に示すように、表示コンテンツ400は、基台50と、プレート501及び502との画像を非操作オブジェクトとして含んで構成される。また、表示コンテンツ400は、ユーザ70の入出力装置30への入力によって表示コンテンツ400上において移動及び回転操作が可能なワーク60のオブジェクトであるワークオブジェクト410をさらに含んで構成される。
【0040】
表示コンテンツ400は、ロボット制御装置10の表示コンテンツ生成部13において生成される。表示コンテンツ400の初期状態においては、第一座標の位置にワークオブジェクト410の所定の箇所(例えば中心箇所)が一致するようにワークオブジェクト410が表示コンテンツ400上に配置される。表示コンテンツ400は、ロボット制御装置10から入出力装置30に送信され、入出力装置30にて表示される。
【0041】
入出力装置30は、ユーザ70によるワークオブジェクト410に対してドラッグアンドドロップなどの操作を受け付けた場合、ドラッグアンドドロップ操作に従って表示コンテンツ400上においてワークオブジェクト410を移動させる。さらに、入出力装置30は、ユーザ70がワークオブジェクト410に対してドロップ操作を行った位置を第二座標として取得する。なお、入出力装置30は、ユーザ70がワークオブジェクト410に対してドラッグ操作を行った位置をワーク60の移動元に関する情報として取得しても良い。
【0042】
また、入出力装置30は、ユーザ70によるワークオブジェクト410の2箇所を押下した状態で回転方向R1又はR2に回転角度αで回転させる操作を受け付けた場合、回転方向R1又はR2に回転角度αでワークオブジェクト410を回転させる。さらに、入出力装置30は、ユーザ70による回転操作から回転方向R1又はR2及び回転角度αを含む第一回転情報を取得する。
【0043】
入出力装置30は、第二座標及び第一回転情報を取得した後に、第二座標及び第一回転情報を入力情報として、当該入力情報をロボット制御装置10に送信する。なお、入出力装置30は、ワーク60の移動元に関する位置情報を入力情報に含めても良い。
【0044】
なお、ここで挙げたユーザ70の操作方法は一例であり、ユーザ70によるワークオブジェクト410の操作方法はこれらに限られない。例えば、入出力装置30は、単にユーザ70によって入出力装置30に数値が入力されることによって、移動先の座標である第二座標及び第一回転情報を取得しても良い。また、入出力装置30がノートPCやPCシステムなどの場合、入出力装置30は、ユーザ70によりワークオブジェクト410にマウスポインタが合わさった状態でクリックされた場合に回転ハンドルオブジェクトを出現させても良い。さらに、入出力装置30は、ユーザ70により回転ハンドルオブジェクトに対してドラッグアンドドロップ操作が行われた場合に、ドロップ操作が行われた位置に従って、回転方向及び回転角度を取得しても良い。
【0045】
以上、表示コンテンツ400と、表示コンテンツ400に対してユーザ70が行う操作とについて説明した。続いて、ロボット20がワーク60を移動させる場合のロボット20の動作について詳しく説明する。
図6は、
図1に示すロボットティーチングシステム1におけるロボット20の動作の一例を示す図である。
図6に示すように、本例では、ロボット20は、アーチモーションによって、ワーク60をプレート501からプレート501まで移動させる。
【0046】
ロボット20は、フローaにおいて、プレート501上に配置されているワーク60の位置に相当する第一座標から基台50の上面に対して垂直かつ上方向にある位置p1まで、基台50の上面に対して水平方向にアームを移動させる。フローaにおいて、アームは、位置p1に到達する。
【0047】
フローbにおいて、ロボット20は、ワーク60に向かって所定の高さまで、第一移動速度でアームを基台50の上面に対して垂直方向に下降させる。フローbにおいて、アームは、位置p2に到達する。また、フローcにおいて、ロボット20は、ワーク60に向かってワーク60を把持できる高さまで、第一移動速度より低速である第二移動速度でアームを基台50の上面に対して垂直方向に下降させる。フローcにおいて、アームは、位置p3に到達する。
【0048】
フローdにおいて、ロボット20は、アームによりワーク60を把持する。フローeにおいて、ロボット20は、アームによってワーク60を把持したまま所定の時間待機する。所定の時間が経過した後、フローfにおいて、ロボット20は、第二移動速度でアームを基台50の上面に対して垂直方向に上昇させる。フローfにおいて、アームは、位置p3に到達する。
【0049】
フローgにおいて、ロボット20は、第一移動速度でアームを基台50の上面に対して垂直方向に上昇させる。フローgにおいて、アームは、位置p4に到達する。フローhにおいて、ロボット20は、第一移動速度でアームを基台50の上面に対して垂直方向に上昇させながら、さらにワーク60の移動先の位置を示す座標である第二座標に向かって基台50の上面に対して水平方向にアームを加速させる。フローhにおいて、アームは、位置p1と同じ高さであり、かつ位置p1から第二座標に向けて基台50の上面に対して水平方向に進んだ位置である位置p5に到達する。
【0050】
フローiにおいて、ロボット20は、アームの水平方向への加速を停止し、第二座標に向かけて基台50の上面に対して水平方向に水平移動速度でアームを移動させる。フローiにおいて、アームは、位置p5と同じ高さであり、かつ位置p5から第二座標に向けて基台50の上面に対して水平方向に進んだ位置である位置p6に到達する。
【0051】
フローjにおいて、ロボット20は、アームを第二座標に向けて基台50の上面に対して水平方向に減速させながら、さらに、アームを第一移動速度で基台50の上面に対して垂直方向に下降させる。フローjにおいて、アームは、位置p7に到達する。
【0052】
フローkにおいて、ロボット20は、プレート502に向かって、第一移動速度でアームを基台50の上面に対して垂直方向に下降させる。フローkにおいて、アームは、位置p8に到達する。また、フローlにおいて、ロボット20は、ワーク60に向かってワーク60を解放してプレート502に配置できる高さまで、第二移動速度でアームを基台50の上面に対して垂直方向に下降させる。フローlにおいて、アームは、位置p9に到達する。
【0053】
フローmにおいて、ロボット20は、アームによりワーク60を解放しプレート502にワーク60を配置する。フローnにおいて、ロボット20は、ワーク60を解放したまま所定の時間待機する。所定の時間が経過した後、フローoにおいて、ロボット20は、第二移動速度でアームを基台50の上面に対して垂直方向に上昇させる。フローoにおいて、アームは、位置p9に到達する。
【0054】
フローpにおいて、ロボット20は、第一移動速度でアームを基台50の上面に対して垂直方向に上昇させる。フローpにおいて、アームは、位置p10に到達する。そして、
図6に示すロボット20の一連の動作は、終了する。
【0055】
以上、ロボット20がワーク60を移動させる場合のロボット20の動作について説明した。続いて、ロボットティーチングシステム1が動作フローを生成する場合に用いる動作パラメータについて詳しく説明する。
図7は、
図1に示すロボットティーチングシステム1におけるロボット20のアーチモーションに関する動作パラメータを示す図である。
【0056】
水平移動速度は、ロボット20のアームが基台50の上方で基台50の表面に対して水平方向に移動する際の速度である。具体的には、水平移動速度は、
図6のフローa及びフローhにおいてアームが移動する際の速度である。
【0057】
アキュラシーは、ロボット20のアームがアーチモーションで動作する場合に、アームがカーブする際の長径及び短径を決定するための数値である。具体的には、アキュラシーは、
図6のフローgにおけるアームの基台50の表面に対する水平方向への加速度と、
図6のフローiにおけるアームの基台50の表面に対する水平方向への減速度を示す数値である。なお、
図7では、アキュラシーは、加速度及び減速度を示す1つの数値を含むが、加速度及び減速度にそれぞれ対応する2つの数値を含んでいても良い。
【0058】
第一移動速度は、ロボット20のアームが基台50の上方で基台50の表面に対して垂直方向に上昇及び下降する際の垂直方向の速度であり、第二移動速度より遅い速度である。具体的には、第一移動速度は、
図6のフローb、フローg、フローh、フローj、フローk及びフローpにおいてアームが基台50の表面に対して垂直方向に上昇及び下降する際の垂直方向の速度である。
【0059】
第二移動速度は、ロボット20のアームが基台50の上方で基台50の表面に対して垂直方向に上昇及び下降する際の垂直方向の速度であり、第一移動速度より速い移動速度である。具体的には、第二移動速度は、
図6のフローc、フローf、フローl、フローm及びフローoにおいてアームが基台50の表面に対して垂直方向に上昇及び下降する際の垂直方向の速度である。
【0060】
待機時間は、ロボット20のアームがワーク60を把持又は解放した時に待機する時間である。具体的には、待機時間は、
図6のフローeにおいて、アームがワーク60を把持した後に待機する時間であり、かつ、フローnにおいて、アームがワーク60を解放した後に待機する時間である。
【0061】
<一連の処理の流れ>
以上、ロボットティーチングシステム1が動作フローを生成する場合に用いる動作パラメータについて説明した。次に、ロボットティーチングシステム1の一連の処理の流れについて詳しく説明する。
図8は、
図1に示すロボットティーチングシステム1の一連の処理の流れの一例を示すフローチャートである。
【0062】
(ステップSP10)
撮像装置40は、背景画像300を撮像し、撮像した背景画像300をロボット制御装置10に送信する。そして、処理は、ステップSP12の処理に移行する。
【0063】
(ステップSP12)
ロボット制御装置10は、画像受信部11によって撮像装置40から送信された背景画像300を受信し、受信した背景画像300を記憶部16に記憶する。そして、処理は、ステップSP14の処理に移行する。
【0064】
(ステップSP14)
撮像装置40は、ワーク画像350を撮像し、撮像したワーク画像350をロボット制御装置10に送信する。そして、処理は、ステップSP16の処理に移行する。
【0065】
(ステップSP16)
ロボット制御装置10は、画像受信部11によって、撮像装置40から送信されたワーク画像350を受信する。そして、処理は、ステップSP18の処理に移行する。
【0066】
(ステップSP18)
ロボット制御装置10は、座標取得部12によって、ワーク画像350から第一座標を取得する。ロボット制御装置10は、取得した第一座標を記憶部16に記憶する。そして、処理は、ステップSP20の処理に移行する。
【0067】
(ステップSP20)
ロボット制御装置10は、表示コンテンツ生成部13によって、第一座標及び背景画像300から表示コンテンツ400を生成する。また、ロボット制御装置10は、生成した表示コンテンツ400を入出力装置30に送信する。そして、処理は、ステップSP22の処理に移行する。
【0068】
(ステップSP22)
入出力装置30は、ロボット制御装置10から送信される表示コンテンツ400を受信し、受信した表示コンテンツ400を表示部に表示する。そして、処理は、ステップSP24の処理に移行する。
【0069】
(ステップSP24)
入出力装置30は、入力部を介してユーザ70から表示コンテンツ400に対する操作(典型的にはワークオブジェクト410に対するドラッグアンドドロップ操作で)を受け付ける。そして、処理は、ステップSP26の処理に移行する。
【0070】
(ステップSP26)
入出力装置30は、ユーザ70による表示コンテンツ400に対する操作から第二座標及び第一回転情報を取得し、第二座標及び第一回転情報を含む入力情報を生成する。入出力装置30は、生成した入力情報をロボット制御装置10に送信する。そして、処理は、ステップSP28の処理に移行する。なお、入出力装置30は、ユーザ70による表示コンテンツ400に対する操作からワーク60の移動元に関する位置情報を取得し、入力情報に含めても良い。
【0071】
(ステップSP28)
ロボット制御装置10は、入出力装置30から入力情報を受信する。ロボット制御装置10は、入力取得部14によって、入力情報から第二座標及び第一回転情報を取得する。そして、処理は、ステップSP30の処理に移行する。なお、ロボット制御装置10は、入力情報からワーク60の移動元に関する位置情報を入力取得部14によって取得することで移動させる前記ワークを選択し、さらに第一座標を取得した位置情報に更新し、更新した第一座標を記憶部16に記憶しても良い。
【0072】
(ステップSP30)
ロボット制御装置10は、動作生成部15によって、記憶部16に記憶されているロボット20の動作に関する複数の動作パラメータ(
図7を参照)及び第一座標と、入力取得部14が取得した第二座標及び第一回転情報とに従って、動作フローを生成する。ロボット制御装置10は、生成した動作フローを記憶部16に記憶する。そして、
図8に示す一連の処理は、終了する。
【0073】
<効果>
以上、本実施形態では、ロボットティーチングシステム1は、ユーザ70による表示コンテンツ400への操作によって入力される入力情報からワーク60の移動後の位置情報を示す第二座標を取得する。さらに、ロボットティーチングシステム1は、記憶部16が予め記憶している動作パラメータに従って、第一座標から第二座標にワーク60を移動させるような動作の動作フローを生成するため、容易にロボット20のティーチングを行うことができる。
【0074】
また、本実施形態では、ロボットティーチングシステム1は、入力情報から第一回転情報をさらに取得する。さらに、ロボットティーチングシステム1は、第一回転情報に従う回転方向R1又はR2及び回転角度αとなるようにワーク60を回転させるように動作フローを生成する。これにより、ロボットティーチングシステム1は、ワーク60を移動させるだけでなく回転させる場合の動作についても、容易にロボット20のティーチングを行うことができる。
【0075】
また、本実施形態では、ロボットティーチングシステム1は、アーチモーションに関するパラメータを記憶部16に予め記憶させておく。さらに、ロボットティーチングシステム1は、動作パラメータに従って、ロボット20の動作がアーチモーションとなるように動作フローを生成する。これにより、ロボットティーチングシステム1は、ロボット20の動作がアーチモーションである場合にも、容易にロボット20のティーチングを行うことができる。
【0076】
また、本実施形態では、入出力装置30に表示される表示コンテンツ400におけるワーク60を示すオブジェクト(ワークオブジェクト410)をユーザ70がドラッグアンドドロップによって操作した場合におけるドロップ操作が行われた位置に関する情報を第二座標として取得する。これにより、ロボットティーチングシステム1は、ユーザ70がワーク60を示すオブジェクトに対してドラッグアンドドロップ操作という容易な操作をおこなうだけで、ロボット20のティーチングを行うことができる。
【0077】
――-第二実施形態―――
続いて、第二実施形態について説明する。
【0078】
<構成>
図5は、第二実施形態において、
図1に示す入出力装置30に表示される表示コンテンツ450を示す図である。
【0079】
第二実施形態において、入出力装置30は、第二座標及び第一回転情報に加えて、さらに第三座標及び第二回転情報を取得する。ここで、第三座標は、ワーク60が第一座標から第二座標に至るまでに経由する第一座標及び第二座標に対応する位置とは異なる位置を示す情報である。また、第二回転情報は、第三座標におけるワーク60の回転方向及び回転角度を含む情報である。
【0080】
入出力装置30は、ユーザ70によって、第一座標を始点としてワークオブジェクト410に対して行われるドラッグアンドドロップ操作を受け付けた場合、ドロップ操作が行われた座標を第三座標として取得する。また、入出力装置30は、ユーザ70による第三座標にあるワークオブジェクト410に対する2箇所を押下した状態で回転方向R1又はR2に回転角度βで回転させる操作を受け付けた場合、回転方向R1又はR2に回転角度βでワークオブジェクト410を回転させる。さらに、入出力装置30は、ユーザ70によるワークオブジェクト410に対する当該回転操作から回転方向R1又はR2及び回転角度βを含む第二回転情報を取得する。なお、入出力装置30は、第一座標を始点としてワークオブジェクト410に対して行われるドラッグアンドドロップ操作を受け付けた場合、ドラッグ操作が行われた座標をワーク60の移動元の位置情報として取得しても良い。
【0081】
入出力装置30は、ユーザ70によって、第三座標を始点としてワークオブジェクト410に対して行われるドラッグアンドドロップ操作を受け付けた場合、ドロップ操作が行われた座標を第二座標として取得する。また、入出力装置30は、ユーザ70による第二座標にあるワークオブジェクト410に対する2箇所を押下した状態で回転方向R1又はR2に回転角度αで回転させる操作を受け付けた場合、回転方向R1又はR2に回転角度αでワークオブジェクト410を回転させる。さらに、入出力装置30は、ユーザ70によるワークオブジェクト410に対する当該回転操作から回転方向R1又はR2及び回転角度αを含む第一回転情報を取得する。
【0082】
入出力装置30は、第二座標及び第一回転情報と、第三座標及び第二回転情報とを含む入力情報をロボット制御装置10に送信する。なお、入出力装置30は、ワーク60の移動元の位置情報を入力情報に含めても良い。
【0083】
ロボット制御装置10における入力取得部14は、入出力装置30から入力情報を受信する。入力取得部14は、入力情報から第二座標及び第一回転情報と、第三座標及び第二回転情報とを取得し、取得した第二座標及び第一回転情報と、第三座標及び第二回転情報とを動作生成部15に出力する。なお、ロボット制御装置10は、入力情報からワーク60の移動元の位置情報を取得することで移動させる前記ワークを選択し、第一座標を取得した位置情報に更新して、更新した第一座標を記憶部16に記憶しても良い。
【0084】
ロボット制御装置10における動作生成部15は、記憶部16が記憶している第一座標及び複数の動作パラメータと、第二座標及び第三座標と、第一回転情報及び第二回転情報とに従って、ロボット20の動作フローを生成する。具体的には、動作生成部15は、記憶部16が記憶している複数の動作パラメータに従って、ワーク60を第一座標から第三座標の位置に移動させるとともに、第二回転情報に従う回転方向R1又はR2及び回転角度βとなるようにワーク60を回転させた後に、ワーク60を第三座標から第二座標の位置に移動させるとともに、第一回転情報に従う回転方向R1又はR2及び回転角度αとなるように動作フローを生成する。そして、動作生成部15は、生成した動作フローを記憶部16に記憶する。なお、動作生成部15は、ワーク60を第三座標に移動させた後、所定の時間、ロボット20のアームを待機するように動作フローを生成しても良い。
【0085】
<効果>
以上、第二実施形態では、ロボットティーチングシステム1は、ワーク60を第一座標から第三座標の位置に移動させた後に、ワーク60を第三座標から第二座標の位置に移動させるように動作フローを生成する。これにより、ロボットティーチングシステム1は、ワーク60を第一座標から第三座標を経由して第二座標に移動させる場合においても、容易にロボット20のティーチングを行うことができる。
【0086】
―――変形例―――
なお、本発明は上記の実施形態に限定されるものではない。すなわち、上記の実施形態に、当業者が適宜設計変更を加えたものも、本発明の特徴を備えている限り、本発明の範囲に包含される。また、上記実施形態及び後述する変形例が備える各要素は、技術的に可能な限りにおいて組み合わせることができ、これらを組み合わせたものも本発明の特徴を含む限り本発明の範囲に包含される。
【0087】
例えば、第二実施形態では、ワーク60が第一座標から第三座標を経由して第二座標に至るようにワーク60を移動させるための動作フローを生成する場合について説明したが、これに限られるものではない。例えば、ロボットティーチングシステム1は、ワーク60を第一座標から第二座標に移動させるにあたって、任意の数の位置を経由するように動作フローを生成しても良い。また、ロボットティーチングシステム1は、ワーク60が第二座標に至るまでに経由する位置毎にワーク60を任意の回転方向及び回転角度で回転させるように動作フローを生成しても良い。
【0088】
この構成によれば、ロボットティーチングシステム1は、ワーク60を第一座標から任意の数の位置を経由して第二座標に移動させる場合においても、容易にロボット20のティーチングを行うことができる。
【0089】
また、第一実施形態では、画像受信部11、座標取得部12、表示コンテンツ生成部13、入力取得部14、動作生成部15及び記憶部16は、ロボット制御装置10に設けられていたが、これに限られるものではない。画像受信部11、座標取得部12、表示コンテンツ生成部13、入力取得部14、動作生成部15及び記憶部16は、入出力装置30に設けられていても良く、入出力装置30において、画像受信部11、座標取得部12、表示コンテンツ生成部13、入力取得部14、動作生成部15及び記憶部16がそれぞれの機能を果たしても良い。この場合、ロボットティーチングシステム1は、入出力装置30が記憶している動作フローを入出力装置30がロボット制御装置10のロボット制御部17に送信し、受信した動作フローに従ってロボット制御装置10がロボット20の動作を制御することによって、ロボット20によるワーク60の移動を実現させる。
【0090】
この構成によれば、ロボットティーチングシステム1は、画像受信部11、座標取得部12、表示コンテンツ生成部13、入力取得部14、動作生成部15及び記憶部16が入出力装置30に設けられている場合でも、容易にロボット20のティーチングを行うことができる。
【0091】
また、第一実施形態では、画像受信部11及び座標取得部12は、ロボット制御装置10に設けられていたが、これに限られるものではない。画像受信部11及び座標取得部12は、ロボット制御装置10及び入出力装置30とは異なる別の装置である画像処理装置(図示せず)に設けられていても良い。
【0092】
この構成によれば、ロボットティーチングシステム1は、画像受信部11及び座標取得部12がロボット制御装置10及び入出力装置30とは異なる別の装置である画像処理装置に設けられている場合でも、容易にロボット20のティーチングを行うことができる。
【符号の説明】
【0093】
1…ロボットティーチングシステム、10…ロボット制御装置、11…画像受信部、12…座標取得部、13…表示コンテンツ生成部、14…入力取得部、15…動作生成部、16…記憶部、20…ロボット、30…入出力装置、40…撮像装置、52…空間、60…ワーク、70…ユーザ、350…ワーク画像、400…表示コンテンツ