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

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

▶ 株式会社ダイヘンの特許一覧

<>
  • 特開-教示データ蓄積装置 図1
  • 特開-教示データ蓄積装置 図2
  • 特開-教示データ蓄積装置 図3
  • 特開-教示データ蓄積装置 図4
  • 特開-教示データ蓄積装置 図5
  • 特開-教示データ蓄積装置 図6
  • 特開-教示データ蓄積装置 図7
  • 特開-教示データ蓄積装置 図8
  • 特開-教示データ蓄積装置 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024083061
(43)【公開日】2024-06-20
(54)【発明の名称】教示データ蓄積装置
(51)【国際特許分類】
   B25J 9/22 20060101AFI20240613BHJP
   G05B 19/42 20060101ALI20240613BHJP
【FI】
B25J9/22 A
G05B19/42 J
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022197362
(22)【出願日】2022-12-09
(71)【出願人】
【識別番号】000000262
【氏名又は名称】株式会社ダイヘン
(74)【代理人】
【識別番号】100115749
【弁理士】
【氏名又は名称】谷川 英和
(74)【代理人】
【識別番号】100121223
【弁理士】
【氏名又は名称】森本 悟道
(72)【発明者】
【氏名】檀上 梓紗
(72)【発明者】
【氏名】鳴川 雄太
(72)【発明者】
【氏名】古川 直樹
(72)【発明者】
【氏名】久保 正樹
(72)【発明者】
【氏名】北野 豊和
【テーマコード(参考)】
3C269
3C707
【Fターム(参考)】
3C269AB12
3C269AB33
3C269BB09
3C269SA15
3C269SA17
3C707AS11
3C707BS10
3C707JU03
3C707LS06
3C707LS08
3C707LW03
3C707MT01
3C707MT04
(57)【要約】
【課題】複数の実ロボットを導入することなく、教示時間を短縮できるようにする。
【解決手段】教示データ蓄積装置3は、実環境と表示装置4a,4bとの相対的な位置関係をそれぞれ取得する位置関係取得部33と、仮想ロボットの3次元モデル10a,10bへの操作及び教示の指示を受け付ける受付部34と、3次元モデル10a,10bと相対的な位置関係に基づいて、操作された3次元モデル10a,10bを表示するための表示装置4a,4b用の各表示画像を生成する画像生成部35と、各表示画像を表示装置4a,4bに出力する出力部36と、3次元モデル10a,10bに対する教示の指示が受け付けられた際に教示データを教示データ記憶部32に蓄積する蓄積部37とを備える。このようにして、複数の実ロボットを導入することなく、教示時間を短縮することができる。
【選択図】図1
【特許請求の範囲】
【請求項1】
実ロボットに対応する仮想ロボットの第1及び第2の3次元モデルが記憶されるモデル記憶部と、
前記実ロボットの教示データが記憶される教示データ記憶部と、
実環境と、画像を実環境の画像または実環境そのものに重ねて表示する第1及び第2の表示装置との相対的な位置関係である第1及び第2の相対的な位置関係をそれぞれ取得する位置関係取得部と、
前記仮想ロボットの第1及び第2の3次元モデルに対する操作及び教示の指示をそれぞれ受け付ける受付部と、
前記第1及び第2の3次元モデルと前記第1及び第2の相対的な位置関係とに基づいて、操作された第1及び第2の3次元モデルを実環境の所定の位置に表示するための前記第1及び第2の表示装置用の第1及び第2の表示画像をそれぞれ生成する画像生成部と、
前記第1及び第2の表示画像を前記第1及び第2の表示装置にそれぞれ出力する出力部と、
前記受付部によって前記仮想ロボットの第1の3次元モデルに対する教示の指示が受け付けられた際に、当該仮想ロボットの第1の3次元モデルに応じて第1の教示データを前記教示データ記憶部に蓄積し、前記受付部によって前記仮想ロボットの第2の3次元モデルに対する教示の指示が受け付けられた際に、当該仮想ロボットの第2の3次元モデルに応じて第2の教示データを前記教示データ記憶部に蓄積する蓄積部と、を備えた教示データ蓄積装置。
【請求項2】
前記教示データ記憶部で記憶されている第1及び第2の教示データを一つの教示データに統合する統合部をさらに備えた、請求項1記載の教示データ蓄積装置。
【請求項3】
前記第1及び第2の教示データは、教示対象の同じ領域における教示データを少なくとも一部に含んでおり、
前記統合部は、前記第1及び第2の教示データのうち、教示対象の同じ領域における第1及び第2の教示データについては、両者を平均することによって一つの教示データに統合する、請求項2記載の教示データ蓄積装置。
【請求項4】
前記画像生成部は、視覚的に区別可能に前記第1の教示データに応じた教示位置と前記第2の教示データに応じた教示位置との両方をも表示するための第1及び第2の表示画像を生成する、請求項1記載の教示データ蓄積装置。
【請求項5】
前記教示データ記憶部には、教示対象の領域を示す教示対象領域情報が記憶されており、
前記画像生成部は、前記教示対象領域情報で示される領域のうち、教示データが蓄積されていない領域をも表示するための第1及び第2の表示画像をそれぞれ生成する、請求項1記載の教示データ蓄積装置。
【請求項6】
前記教示データ記憶部には、教示対象の領域を示す教示対象領域情報が記憶されており、
前記画像生成部は、教示対象領域情報で示される領域のうち、前記第1の表示装置に近い領域をも示す第1の表示画像、及び教示対象領域情報で示される領域のうち、前記第2の表示装置に近い領域をも示す第2の表示画像をそれぞれ生成する、請求項1記載の教示データ蓄積装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、教示データを蓄積する教示データ蓄積装置に関する。
【背景技術】
【0002】
ティーチングプレイバック方式のロボットを制御する場合には、まず、ロボットを操作することによってティーチングを行って教示データを生成することが行われる。その教示データの生成を効率化するため、複数のロボットを複数人でそれぞれ操作して教示を行うことも行われている(例えば、特許文献1参照)。このようにすることで、教示にかかる時間を短縮することができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003-340756号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1に記載された方法では、並行した教示のために複数の実ロボットを準備する必要があり、それに応じてコストがかかるという問題がある。また、複数の実ロボットを導入することができない場合には、教示のための時間を短縮することができないという問題もある。
【0005】
本発明は、上記課題を解決するためになされたものであり、複数の実ロボットを導入することなく、教示のための時間を短縮することができる装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の一態様による教示データ蓄積装置は、実ロボットに対応する仮想ロボットの第1及び第2の3次元モデルが記憶されるモデル記憶部と、実ロボットの教示データが記憶される教示データ記憶部と、実環境と、画像を実環境の画像または実環境そのものに重ねて表示する第1及び第2の表示装置との相対的な位置関係である第1及び第2の相対的な位置関係をそれぞれ取得する位置関係取得部と、仮想ロボットの第1及び第2の3次元モデルに対する操作及び教示の指示をそれぞれ受け付ける受付部と、第1及び第2の3次元モデルと第1及び第2の相対的な位置関係とに基づいて、操作された第1及び第2の3次元モデルを実環境の所定の位置に表示するための第1及び第2の表示装置用の第1及び第2の表示画像をそれぞれ生成する画像生成部と、第1及び第2の表示画像を第1及び第2の表示装置にそれぞれ出力する出力部と、受付部によって仮想ロボットの第1の3次元モデルに対する教示の指示が受け付けられた際に、仮想ロボットの第1の3次元モデルに応じて第1の教示データを教示データ記憶部に蓄積し、受付部によって仮想ロボットの第2の3次元モデルに対する教示の指示が受け付けられた際に、仮想ロボットの第2の3次元モデルに応じて第2の教示データを教示データ記憶部に蓄積する蓄積部と、を備えたものである。
【発明の効果】
【0007】
本発明の一態様による教示データ蓄積装置によれば、仮想ロボットの2個の3次元モデルを用いて教示を行うことによって、教示のための時間を短縮することができる。また、仮想ロボットを用いて教示を行うため、複数の実ロボットを導入しなくても教示を行うことができる。
【図面の簡単な説明】
【0008】
図1】本発明の実施の形態による教示データ蓄積装置の構成を示すブロック図
図2】同実施の形態による教示データ蓄積装置の動作を示すフローチャート
図3】同実施の形態における仮想ロボットの3次元モデルの表示の一例を示す図
図4】同実施の形態における仮想ロボットの3次元モデルの表示の一例を示す図
図5】同実施の形態におけるワーク及び溶接線の一例を示す斜視図(図5(a))及び平面図(図5(b))
図6】同実施の形態における溶接線(図6(a))、及び教示データ(図6(b))の一例を示す図
図7】同実施の形態における教示データの一例を示す図
図8】同実施の形態における溶接線と教示対象の領域とを示す図(図8(a)及び図8(b))
図9】同実施の形態における溶接線と表示装置ごとの教示対象の領域とを示す図
【発明を実施するための形態】
【0009】
以下、本発明による教示データ蓄積装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態による教示データ蓄積装置は、仮想ロボットの複数の3次元モデルを用いて行われた教示の結果である教示データを蓄積するものである。
【0010】
図1は、本実施の形態による教示データ蓄積装置3を含む情報処理システム100の構成を示す模式図である。図1で示されるように、情報処理システム100は、ロボット1と、ロボット制御装置2と、教示データ蓄積装置3と、第1の表示装置4a及び第2の表示装置4bとを備える。なお、各装置間は、例えば、有線または無線で接続されてもよい。また、本実施の形態では、図1で示されるように実ロボットであるロボット1が実環境に存在する場合について主に説明するが、そうでなくてもよい。例えば、実環境にロボット1が存在していなくてもよい。この場合には、情報処理システム100は、例えば、ロボット1やロボット制御装置2を備えていなくてもよい。
【0011】
ロボット1は、通常、産業用ロボットであり、モータにより駆動される関節によって連結された複数のアーム(すなわち、リンク)を有するマニピュレータであってもよい。ロボット1は、例えば、垂直多関節ロボットであってもよく、水平多関節ロボットであってもよい。また、ロボット1は、例えば、搬送ロボットであってもよく、溶接ロボットであってもよく、組立ロボットであってもよく、塗装ロボットであってもよく、または、その他の用途のロボットであってもよい。本実施の形態では、ロボット1が溶接ロボットである場合について主に説明する。なお、ロボット1は、実環境に存在するロボットであるため、仮想環境に存在する3次元モデルの仮想ロボットと区別するために実ロボットと呼ぶこともある。実環境とは、実空間の環境のことである。
【0012】
ロボット制御装置2は、ティーチングプレイバック方式によってロボット1の動作を制御する。教示データに基づいてロボット1を動作させるロボット制御装置2は、すでに公知であり、その詳細な説明を省略する。なお、情報処理システム100は、例えば、ロボット1のティーチングを行うためのティーチングペンダントをさらに有していてもよく、また、ロボット1が溶接ロボットである場合には、必要に応じて溶接電源やワイヤ送給装置等をさらに有していてもよい。
【0013】
教示データ蓄積装置3は、ロボット1に対応する仮想ロボットの2個の3次元モデル10a,10bを用いて、ロボット1の教示データを蓄積するものである。教示データ蓄積装置3の詳細については後述する。
【0014】
第1及び第2の表示装置4a,4bは、画像を実環境の画像または実環境そのものに重ねて表示する。すなわち、教示を行う作業者は、第1及び第2の表示装置4a,4bによって、実環境と仮想環境の画像との両方を見ることができる。なお、第1及び第2の表示装置4a,4bを特に区別しない場合には、表示装置4と呼ぶこともある。表示装置4は、教示を行う作業者が頭部に装着する装着型の表示装置であってもよく、または、タブレット端末などの可搬型の情報処理端末である表示装置であってもよい。装着型の表示装置は、例えば、ヘッドマウントディスプレイであってもよい。また、表示装置4は、例えば、透過型ディスプレイを有するものであってもよい。この場合には、表示装置4は、画像を実環境そのものに重ねて表示することになる。透過型ディスプレイを有する装着型の表示装置4としては、例えば、HoloLens(登録商標)等が知られている。このような透過型ディスプレイを有する表示装置4は、複合現実(MR:Mixed Reality)を実現するための表示装置であると考えることもできる。また、表示装置4は、例えば、非透過型ディスプレイを有するものであってもよい。この場合には、表示装置4は、画像を実環境の画像に重ねて表示することになる。したがって、非透過型ディスプレイを有する表示装置4は、実環境を撮影するためのカメラを有しているか、または、実環境を撮影するカメラと接続されていることが好適である。カメラで撮影された実環境の画像は、リアルタイムで非透過型ディスプレイに表示される。非透過型ディスプレイを有する装着型の表示装置4としては、例えば、Oculus Quest等が知られている。このような非透過型ディスプレイを有する表示装置4は、拡張現実(AR:Augmented Reality)を実現するための表示装置であると考えることもできる。タブレット端末などの可搬型の情報処理端末である表示装置4は、例えば、カメラとディスプレイとを有しており、カメラで撮影した実環境の画像をリアルタイムでティスプレイに表示してもよい。本実施の形態では、第1及び第2の表示装置4a,4bがそれぞれ透過型のディスプレイを有するヘッドマウントディスプレイである場合について主に説明する。
【0015】
図1で示されるように、教示データ蓄積装置3は、ロボット制御装置2及び表示装置4と接続されており、モデル記憶部31と、教示データ記憶部32と、位置関係取得部33と、受付部34と、画像生成部35と、出力部36と、蓄積部37と、統合部38とを備える。
【0016】
モデル記憶部31では、実ロボットであるロボット1に対応する仮想ロボットの第1及び第2の3次元モデル10a,10bが記憶される。なお、第1及び第2の3次元モデル10a,10bを特に区別しない場合には、3次元モデル10と呼ぶこともある。仮想ロボットの3次元モデル10は、3次元モデルで構成されている以外は、実ロボットであるロボット1と同じサイズ及び構成であるものとする。また、この3次元モデル10は、ロボット1と同様に、複数のアームの関節の角度などを変更可能になっているものとする。第1及び第2の3次元モデル10a,10bは、両者ともにロボット1に対応しており、3次元モデルとしては同じものであるが、各関節の角度は独立して操作できるため、両者について異なる操作が行われた後には、両者の各関節の角度は異なるものとなる。
【0017】
モデル記憶部31に仮想ロボットの3次元モデルの情報が記憶される過程は問わない。例えば、記録媒体を介して情報がモデル記憶部31で記憶されるようになってもよく、通信回線等を介して送信された情報がモデル記憶部31で記憶されるようになってもよい。モデル記憶部31は、不揮発性の記録媒体によって実現されることが好適であるが、揮発性の記録媒体によって実現されてもよい。記録媒体は、例えば、半導体メモリや磁気ディスクなどであってもよい。また、モデル記憶部31で記憶されている第1及び第2の3次元モデル10a,10bの形状や各関節の角度は、例えば、受け付けられた操作に応じて変更されてもよい。
【0018】
教示データ記憶部32では、実ロボットであるロボット1の教示データが記憶される。ロボット1の教示データは、蓄積部37によって教示データ記憶部32に蓄積される。また、後述するように、教示データ記憶部32に蓄積された複数の教示データは、統合部38によって一つの教示データに統合されてもよい。なお、教示データ記憶部32に蓄積された教示データは、実ロボットであるロボット1の制御に用いられる教示データである。そのため、例えば、教示データ記憶部32で記憶されている教示データは、ロボット制御装置2に出力されてもよい。この場合には、教示データ蓄積装置3は、例えば、教示データ記憶部32で記憶されている教示データをロボット制御装置2や、その他の装置、着脱可能な記録媒体等に出力するための図示しない教示データ出力部を有していてもよい。また、例えば、ロボット制御装置2がロボット1を制御する際に、教示データ記憶部32で記憶されている教示データにアクセスしてもよい。教示データは、例えば、教示点ごとにロボット1の位置及び姿勢を示すものであってもよい。ロボット1の位置及び姿勢を示す情報は、例えば、ロボット1の手先の位置及び姿勢を示す情報であってもよく、ロボット1の各軸における角度を示す情報であってもよい。また、教示データには、例えば、直線補間、曲線補間、円弧補間などの教示点間の補間方法を示す情報も含まれていてもよい。また、教示データには、例えば、複数の教示点が補間された教示線が含まれていてもよい。教示データが教示点などの位置の情報を含む場合に、その位置の情報は、例えば、ロボットのローカル座標系における情報であってもよく、または、ワールド座標系における情報であってもよい。仮想ロボットの3次元モデル10が実ロボットであるロボット1とは異なる位置に表示される際には前者が好適である。本実施の形態では、その前者の場合について主に説明する。なお、後者の場合には、教示データは、通常、ワールド座標系における所定の位置に配置されたロボット1について用いられる教示データとなる。教示データ記憶部32は、不揮発性の記録媒体によって実現されることが好適であるが、揮発性の記録媒体によって実現されてもよい。記録媒体は、例えば、半導体メモリや磁気ディスクなどであってもよい。
【0019】
なお、モデル記憶部31と、教示データ記憶部32とは、同一の記録媒体によって実現されてもよく、または、別々の記録媒体によって実現されてもよい。前者の場合には、例えば、仮想ロボットの3次元モデル10を記憶している領域がモデル記憶部31となり、教示データを記憶している領域が教示データ記憶部32となる。
【0020】
位置関係取得部33は、実環境と第1の表示装置4aとの相対的な位置関係(以下、これを「第1の相対的な位置関係」と呼ぶことがある。)、及び、実環境と第2の表示装置4bとの相対的な位置関係(以下、これを「第2の相対的な位置関係」と呼ぶことがある。)をそれぞれ取得する。なお、実環境は、例えば、ロボット1が存在する実環境であってもよい。本実施の形態では、この場合について主に説明する。実環境と表示装置4との相対的な位置関係を取得するとは、例えば、実環境の座標系であるワールド座標系と、表示装置4のローカル座標系である表示座標系との相対的な位置関係を取得することであってもよい。その相対的な位置関係は、例えば、両座標系間の変換を示す同次変換行列によって示されてもよい。なお、実環境と表示装置4との相対的な位置関係は、例えば、実環境に存在するロボット1や他のオブジェクト、または後述する基準マーカと、表示装置4との相対的な位置関係であってもよく、実環境における表示装置4の位置や姿勢を示す情報であってもよい。
【0021】
位置関係取得部33が、この相対的な位置関係を取得する方法は問わない。例えば、実環境の環境地図が用意されている場合には、位置関係取得部33は、実環境の環境地図と、表示装置4によって取得された周囲の物体までの距離や周囲の画像とを用いて、SLAM(Simultaneous Localization and Mapping)や、Visual-SLAMの手法を用いて、3次元の実環境における表示装置4の位置や姿勢を示す情報である相対的な位置関係を取得してもよい。この場合には、例えば、教示データ蓄積装置3において環境地図が保持されており、位置関係取得部33は、表示装置4から受け取った周囲の物体までの距離や周囲の画像と、環境地図とを用いて、相対的な位置関係を取得してもよい。また、例えば、SLAMやVisual-SLAMの手法を用いた相対的な位置関係の取得は表示装置4において行われ、その相対的な位置関係が位置関係取得部33に渡されてもよい。この場合には、位置関係取得部33による相対的な位置関係の取得は、相対的な位置関係の受け付けであってもよい。また、この場合には、表示装置4は、周囲の物体までの距離を測定可能な深度センサや、周囲の画像を取得可能なカメラを有していてもよい。また、位置関係取得部33は、表示装置4のカメラで撮影された画像を受け取り、その画像に含まれるロボット1や他のオブジェクト、または後述する基準マーカの3以上の特徴点を用いて、ワールド座標系と表示座標系との間の変換を示す同次変換行列を取得してもよい。
【0022】
また、位置関係取得部33は、上記した以外の方法によって、実環境と表示装置4との相対的な位置関係を取得してもよい。その方法の一例については、例えば、次の文献1~3等を参照されたい。また、後述する表示画像の生成ごとに、位置関係取得部33によって上記のようにして相対的な位置関係が取得されてもよく、または、そうでなくてもよい。後者の場合には、例えば、相対的な位置関係が取得された後の表示装置4の位置や姿勢の変化を用いて、実環境と表示装置4との相対的な位置関係が更新されてもよい。この更新は、例えば、位置関係取得部33によって行われてもよい。また、この更新が行われる場合には、表示装置4は、例えば、加速度センサや表示装置4の向きを取得するためのセンサ等を備えており、それらのセンサを用いて位置の変化や姿勢の変化が取得されてもよい。なお、それらのセンサによって取得された値は、例えば、位置関係取得部33などの相対的な位置関係を更新する構成要素に渡されてもよい。表示装置4の向きを取得するためのセンサは、例えば、ジャイロセンサや方位センサ等であってもよい。
文献1:特開2017-100234号公報
文献2:特開2020-055075号公報
文献3:特開2020-069538号公報
【0023】
受付部34は、仮想ロボットの第1及び第2の3次元モデル10a,10bに対する操作をそれぞれ受け付ける。また、受付部34は、仮想ロボットの第1及び第2の3次元モデル10a,10bに対する教示の指示をそれぞれ受け付ける。例えば、第1の3次元モデル10aに対する操作や教示の指示は、第1の表示装置4aの表示画像を見ている作業者から受け付けられてもよく、第2の3次元モデル10bに対する操作や教示の指示は、第2の表示装置4bの表示画像を見ている作業者から受け付けられてもよい。3次元モデル10に対する操作は、例えば、3次元モデル10の少なくとも一部の位置や姿勢を変化させるための操作であってもよい。操作や教示の指示の受け付けは、例えば、実環境に存在するティーチングペンダントなどの入力デバイスを介して行われてもよく、表示装置4のディスプレイに表示された仮想ボタンや仮想ティーチングペンダントなどの仮想入力インターフェースを介して行われてもよい。後者の場合には、例えば、仮想ロボットの第1の3次元モデル10aに対する操作や教示の指示の受け付けは、例えば、第1の表示装置4aを介して行われ、仮想ロボットの第2の3次元モデル10bに対する操作や教示の指示の受け付けは、例えば、第2の表示装置4bを介して行われてもよい。仮想入力インターフェースは、例えば、エアタップなどの動作に応じて表示装置4のディスプレイに表示され、作業者の指やポインティングデバイスによってボタン等が選択された場合に、そのボタン等の操作に応じた入力が表示装置4から受付部34に渡されてもよい。また、作業者の手などのジェスチャによって、仮想ロボットの3次元モデル10の少なくとも一部(例えば、ツールなどの手先など)の位置や姿勢を変更できてもよい。この場合には、例えば、作業者がディスプレイに表示された3次元モデル10を手でつまむ動作(ホールド動作)を行うことによって、その手でつまんだ部分が操作の対象として特定され、その手の位置や姿勢を変化させることによって、特定された対象の位置や姿勢を変化させる操作が行われ、そのつまむ動作を終了させることによって、特定された対象への操作が終了されてもよい。この場合には、例えば、操作の対象を示す情報(例えば、3次元モデル10における位置や部分を示す情報)と、操作の内容を示す情報(例えば、位置の変更や姿勢の変更などを示す情報)とが表示装置4から受付部34に渡されてもよく、または、表示装置4において取得されたハンドトラッキングの結果が受付部34に渡され、教示データ蓄積装置3において、操作の対象や操作の内容が特定されてもよい。表示装置4において操作の対象を示す情報と操作の内容を示す情報とが取得される場合には、表示装置4は、教示データ蓄積装置3で保持されている、仮想空間における仮想ロボットの現時点の3次元モデル10の情報にアクセス可能であってもよい。なお、作業者の手を用いた操作が行われる場合には、表示装置4はカメラを有しており、そのカメラで撮影された作業者の手のハンドトラッキングが行われることによって、作業者の手が、ディスプレイ上のどの位置に存在するのかが特定されてもよい。また、作業者の手などのジェスチャに応じた3次元モデルの表示画像への操作を、3次元仮想空間における3次元モデルの位置や姿勢の変化に変換する方法はすでに公知であり、その詳細な説明を省略する。
【0024】
受付部34で受け付けられる操作や教示の指示は、第1の3次元モデル10aに対するものであるのか、または第2の3次元モデル10bに対するものであるのかが分かるようになっていることが好適である。そのため、例えば、操作や教示の指示は、操作等の入力を行う機器の識別子に対応付けられて受け付けられてもよい。例えば、第1の表示装置4aから第1の3次元モデル10aに対する操作等が受け付けられ、第2の表示装置4bから第2の3次元モデル10bに対する操作等が受け付けられることになっている場合には、第1の表示装置4aの識別子に対応付けられた操作が受け付けられた際に、その操作が第1の3次元モデル10aに対する操作であると判断され、第2の表示装置4bの識別子に対応付けられた操作が受け付けられた際に、その操作が第2の3次元モデル10bに対する操作であると判断されてもよい。受付部34は、3次元モデル10に対する操作や教示の指示以外を受け付けてもよい。受付部34は、例えば、教示が終了した旨や、複数の教示データを統合する旨の指示などを受け付けてもよい。受付部34は、例えば、入力デバイスや表示装置4から入力された情報を受け付けてもよく、有線または無線の通信回線を介して送信された情報を受信してもよい。なお、受付部34は、受け付けを行うためのデバイス(例えば、入力デバイスや通信デバイスなど)を含んでもよく、または含まなくてもよい。また、受付部34は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0025】
画像生成部35は、モデル記憶部31で記憶されている第1の3次元モデル10aと、位置関係取得部33によって取得された第1の相対的な位置関係とに基づいて、第1の3次元モデル10aを実環境の所定の位置に表示するための第1の表示装置4a用の第1の表示画像を生成する。また、画像生成部35は、モデル記憶部31で記憶されている第2の3次元モデル10bと、位置関係取得部33によって取得された第2の相対的な位置関係とに基づいて、第2の3次元モデル10bを実環境の所定の位置に表示するための第2の表示装置4b用の第2の表示画像を生成する。また、仮想ロボットの第1及び第2の3次元モデル10a,10bへの操作が受け付けられた場合には、画像生成部35は、操作された第1及び第2の3次元モデル10a,10bを表示するための第1及び第2の表示画像をそれぞれ生成する。画像生成部35は、例えば、モデル記憶部31で記憶されている第1及び第2の3次元モデル10a,10bの各関節の角度を、受け付けられた操作に応じて変更してもよい。なお、3次元モデル10を実環境の所定の位置に表示するとは、例えば、実ロボットであるロボット1と仮想ロボットの3次元モデル10とが所定の位置関係となるように3次元モデル10を表示することであってもよく、後述するように、基準マーカと仮想ロボットの3次元モデル10とが所定の位置関係となるように3次元モデル10を表示することであってもよい。所定の位置関係は、例えば、あらかじめ決められた位置関係であってもよく、作業者が変更することができる位置関係であってもよい。仮想ロボットの3次元モデル10は、例えば、ロボット1または基準マーカの位置に表示されてもよく、ロボット1または基準マーカと異なる位置に表示されてもよい。仮想ロボットの3次元モデル10をロボット1の位置に表示するとは、ロボット1と同じ位置に仮想ロボットが配置されるように3次元モデル10を表示することであり、例えば、仮想ロボットの3次元モデル10の基端側の端部(例えば、床面などへの取り付け部分)が、ロボット1の基端側の端部に重なるように表示することであってもよい。仮想ロボットの3次元モデル10を基準マーカの位置に表示するとは、基準マーカの位置に実ロボットを配置した状況が仮想的に再現されるように仮想ロボットの3次元モデル10を表示することであってもよく、例えば、仮想ロボットの3次元モデル10の基端側の端面(例えば、床面などへの取り付け面)が、基準マーカの面と一致するように仮想ロボットの3次元モデル10を表示することであってもよい。ロボット1や基準マーカと異なる位置に仮想ロボットの3次元モデル10が表示される場合には、例えば、ロボット1や基準マーカの隣に3次元モデルが表示されてもよい。いずれにしても、仮想ロボットの3次元モデル10は、実環境における位置が変化しないように表示されることになる。したがって、表示装置4において、作業者が表示装置4の向きを変化させたとしても、実環境における仮想ロボットの3次元モデル10の表示位置は変化しないことになる。
【0026】
ワールド座標系におけるロボット1や基準マーカの配置位置は既知である。また、例えば、ロボット1や基準マーカと仮想ロボットの3次元モデル10との位置関係も決まっている。したがって、これらの情報を用いることによって、画像生成部35は、ロボット1や基準マーカの配置位置があらかじめ決まっている仮想空間において、そのロボット1の配置位置と所定の位置関係となるように仮想ロボットの3次元モデル10を配置することができる。なお、仮想ロボットの3次元モデル10における各関節の角度は、操作が行われていない場合には初期値となり、操作が行われた場合には操作後の値となる。操作後の各関節の角度は、例えば、実ロボットと同様に、操作後の仮想ロボットの3次元モデル10における手先の位置及び姿勢を用いた逆運動学によって算出されてもよい。また、画像生成部35は、位置関係取得部33によって取得された相対的な位置関係によって、ワールド座標系と表示装置4のローカル座標系である表示座標系との関係を知ることができるため、仮想空間における表示装置4の位置及び向きを特定することができる。したがって、画像生成部35は、仮想空間における仮想ロボットの3次元モデル10を、表示装置4の位置及び向きを基準としてレンダリングすることによって、3次元モデル10を表示するための2次元の表示画像を生成することができる。仮想ロボットの3次元モデル10が操作されると、上記のように、仮想空間における仮想ロボットの3次元モデル10の形状が、それに応じて変更されることになる。また、表示装置4の位置や向きが実環境において変化した場合には、それに応じて仮想空間上の視点の位置や方向が変更されることになる。そして、その変更後にレンダリングが行われることによって、操作後の3次元モデル10の表示画像や、表示装置4の位置や向きの変化後の3次元モデル10の表示画像が生成されることになる。なお、画像生成部35は、仮想ロボットの3次元モデル10の表示画像が表示装置4のディスプレイに表示された際に、その表示画像の大きさが実環境と整合するように、表示画像を生成するものとする。すなわち、表示装置4のディスプレイに表示された仮想ロボットの3次元モデル10と、その3次元モデル10と同じ相対的な位置関係となるように実環境に配置された実ロボットとが、表示装置4を介して見たときに同じ大きさになるように、表示画像が生成されることになる。
【0027】
画像生成部35は、教示データに応じた教示位置をも表示するための第1及び第2の表示画像を生成してもよい。すなわち、第1及び第2の表示画像に、教示位置も表示されてもよい。教示位置が表示されることによって、作業者は、教示された位置を知ることができるようになる。教示位置を表示するとは、例えば、教示点を表示することであってもよく、複数の教示点の補間結果である教示線を表示することであってもよい。また、例えば、統合前の教示データに応じた教示位置が表示されてもよく、統合後の教示データに応じた教示位置が表示されてもよい。また、後述する第1の教示データに応じた教示位置と第2の教示データに応じた教示位置との両方が、第1及び第2の表示画像にそれぞれ含まれてもよく、または、第1の教示データに応じた教示位置が第1の表示画像に含まれ、第2の教示データに応じた教示位置が第2の表示画像に含まれてもよい。なお、教示データに含まれる位置の情報が、ロボットのローカル座標系の情報であっても、ワールド座標系の情報であっても、教示データによって、仮想ロボットの3次元モデル10と、教示位置との位置関係を知ることができる。したがって、仮想空間における教示位置が決まることになるため、画像生成部35は、上記説明と同様にして、仮想ロボットの3次元モデル10と教示位置とを含む表示画像を生成することができる。
【0028】
第1の教示データに応じた教示位置と第2の教示データに応じた教示位置との両方が各表示画像に含まれる場合には、画像生成部35は、例えば、視覚的に区別可能に第1の教示データに応じた教示位置と第2の教示データに応じた教示位置との両方をも表示するための第1及び第2の表示画像を生成してもよい。第1及び第2の教示データに応じた教示位置を視覚的に区別可能に表示するとは、例えば、第1及び第2の教示データに応じた教示位置を、それぞれ異なる表示色(例えば、青色、赤色、緑色など)で表示することであってもよく、第1及び第2の教示データに応じた教示点を、それぞれ異なる種類の図形(例えば、丸形状、三角形状、四角形状など)で表示することであってもよく、第1及び第2の教示データに応じた教示線を、それぞれ異なる線種(例えば、実線、破線、一点鎖線など)で表示することであってもよい。
【0029】
なお、受け付けられた操作に応じて仮想ロボットを操作できないこともあり得る。例えば、仮想ロボットの3次元モデル10の手先を、移動可能な範囲を超えて移動させる操作または回転可能な範囲を超えて回転させる操作が受け付けられることもある。このような場合には、画像生成部35は、その操作に応じた表示画像を生成しなくてもよく、または、可能な範囲内で移動または回転を行った仮想ロボットの3次元モデル10の表示画像を生成してもよい。
【0030】
出力部36は、画像生成部35によって生成された第1の表示画像を第1の表示装置4aに出力し、画像生成部35によって生成された第2の表示画像を第2の表示装置4bに出力する。なお、出力部36は、表示画像のみを出力してもよい。この場合には、表示装置4において、実環境の画像または実環境そのものに表示画像が重ねられて表示されることになる。一方、表示装置4が非透過型ディスプレイを有する場合であって、表示装置4で撮影された実環境の画像が教示データ蓄積装置3で受け付けられている場合には、実環境の画像と表示画像とが合成された結果が、表示装置4に出力されてもよい。この合成は、例えば、教示データ蓄積装置3が有する図示しない合成部によって行われてもよい。
【0031】
蓄積部37は、受付部34によって仮想ロボットの第1の3次元モデル10aに対する教示の指示が受け付けられた際に、仮想ロボットの第1の3次元モデル10aに応じて第1の教示データを教示データ記憶部32に蓄積する。また、蓄積部37は、受付部34によって仮想ロボットの第2の3次元モデル10bに対する教示の指示が受け付けられた際に、仮想ロボットの第2の3次元モデル10bに応じて第2の教示データを教示データ記憶部32に蓄積する。すなわち、蓄積部37は、教示の指示が受け付けられた際に表示されている第1の3次元モデル10aまたは第2の3次元モデル10bの位置及び姿勢を示す情報を第1または第2の教示データとして教示データ記憶部32に蓄積する。1回の教示の指示の受け付けに応じて蓄積されるのは、通常、1個の教示点に応じた教示データである。この教示データの蓄積が繰り返されることによって、例えば、ロボットの手先の経路に応じた教示データが教示データ記憶部32で記憶されるようになる。蓄積対象の教示データは、上記したように、例えば、教示点ごとの3次元モデル10の手先の位置及び姿勢を示す情報であってもよく、教示点ごとの3次元モデル10の各関節の角度を示す情報であってもよい。なお、教示データには、教示位置を示す情報が含まれていることが好適である。教示位置を表示することができるようにするためである。蓄積部37は、教示データの蓄積に必要な情報、例えば、仮想ロボットの3次元モデル10のローカル座標系であるロボット座標系における手先の位置や姿勢、または各関節の角度などの情報を画像生成部35から取得してもよく、モデル記憶部31で記憶されている3次元モデル10から取得してもよく、または、他の構成から取得してもよい。本実施の形態では、蓄積部37が教示データの蓄積に必要な情報を画像生成部35から取得する場合について主に説明する。仮想ロボットの3次元モデル10のロボット座標系における手先の位置や姿勢は、例えば、仮想空間における手先の位置や姿勢を、仮想空間と仮想ロボットの3次元モデル10のロボット座標系との間の変換を示す同次変換行列を用いて変換することによって取得することができる。
【0032】
統合部38は、教示データ記憶部32で記憶されている第1及び第2の教示データを一つの教示データに統合する。統合部38は、統合後の教示データを教示データ記憶部32に蓄積してもよい。2個の教示データを一つの教示データに統合するとは、例えば、2個の教示データを実行する順序、すなわちプレイバック動作の順序を決めることであってもよい。この場合には、統合部38は、例えば、一方の教示データの最後の教示点と、他方の教示データの最初の教示点との距離のうち、近い方の距離に対応する教示点が連続するように教示データを繋げてもよい。例えば、第1の教示データの最後の教示点と第2の教示データの最初の教示点との距離が、第2の教示データの最後の教示点と第1の教示データの最初の教示点との距離よりも短い場合には、第1の教示データの後に第2の教示データが実行されるように両者が統合されてもよい。また、統合部38は、例えば、2個の教示データに応じたプレイバック動作の時間が最短になるように、2個の教示データを統合してもよい。また、統合する順序があらかじめ設定されている場合には、統合部38は、その設定に応じて2個の教示データを統合してもよい。例えば、第1の教示データの後に第2の教示データが実行されるように設定されている場合には、統合部38は、そのようになるように教示データを統合してもよい。その順序の設定は、例えば、教示の指示に対応付けられて受け付けられてもよい。具体的には、統合の順序が1番目である旨が受け付けられた後に、複数の教示の指示が受け付けられた場合には、その複数の教示の指示に応じて蓄積された教示データの統合の順序が1番目になってもよい。また、統合部38は、複数の教示データを統合する際に、例えば、複数の教示データごとに教示データを実行するために必要な時間の算出や、複数の教示データ間の移動のために必要な移動時間の算出などを行ってもよい。この場合には、統合部38は、例えば、複数の教示データ間の移動時間が最小となるように、複数の教示データを統合してもよい。また、統合部38は、例えば、第1の教示データと第2の教示データとを繋げて統合する際に、第1の教示データの最後の教示点から、第2の教示データの最初の教示点までの経路も生成してもよい。その経路は、例えば、直線であってもよく、移動時間が最小になる経路であってもよい。また、統合部38は、例えば、第1及び第2の教示データ、または、統合後の教示データにおいて、複数の教示点を補間した教示線を生成してもよい。
【0033】
なお、本実施の形態では、2個の表示装置4を用いて2人の作業者が並行して教示を行う場合について説明するが、3個以上の表示装置4を用いて3人以上の作業者が並行して教示を行ってもよいことは言うまでもない。この場合には、統合部38は、3個以上の教示データを一つの教示データに統合してもよい。
【0034】
次に、教示データ蓄積装置3の動作について図2のフローチャートを用いて説明する。
(ステップS101)位置関係取得部33は、実環境と第1の表示装置4aとの第1の相対的な位置関係、及び実環境と第2の表示装置4bとの第2の相対的な位置関係を取得する。
【0035】
(ステップS102)画像生成部35は、仮想ロボットの第1及び第2の3次元モデル10a,10bと、ステップS101で取得された第1及び第2の相対的な位置関係とを用いて、仮想ロボットの第1の3次元モデル10aを表示するための第1の表示画像と、仮想ロボットの第2の3次元モデル10bを表示するための第2の表示画像とを生成する。なお、表示対象の3次元モデル10は、操作が受け付けられる前は初期の形状であり、操作が受け付けられた後は、その操作後の形状になる。
【0036】
(ステップS103)出力部36は、生成された第1の表示画像を第1の表示装置4aに出力し、生成された第2の表示画像を第2の表示装置4bに出力する。
【0037】
(ステップS104)受付部34は、仮想ロボットの3次元モデル10への操作を受け付けたかどうか判断する。そして、仮想ロボットの3次元モデル10への操作を受け付けた場合には、ステップS105に進み、そうでない場合には、ステップS108に進む。
【0038】
(ステップS105)位置関係取得部33は、実環境と表示装置4との相対的な位置関係を取得する。
【0039】
(ステップS106)画像生成部35は、仮想ロボットの3次元モデル10と、ステップS104で取得された相対的な位置関係とを用いて、操作後の仮想ロボットの3次元モデル10を表示するための表示画像を生成する。
【0040】
(ステップS107)出力部36は、生成された表示画像を表示装置4に出力する。そしてステップS104に戻る。
【0041】
なお、ステップS104において第1の3次元モデル10aに対する操作が受け付けられた場合には、ステップS105~S107において、第1の相対的な位置関係が取得され、第1の表示画像が生成され、第1の表示装置4aに第1の表示画像が出力されることになる。一方、ステップS104において第2の3次元モデル10bに対する操作が受け付けられた場合には、ステップS105~S107において、第2の相対的な位置関係が取得され、第2の表示画像が生成され、第2の表示装置4bに第2の表示画像が出力されることになる。
【0042】
(ステップS108)受付部34は、教示の指示を受け付けたかどうか判断する。そして、教示の指示を受け付けた場合には、ステップS109に進み、そうでない場合には、ステップS110に進む。
【0043】
(ステップS109)蓄積部37は、その時点の仮想ロボットの3次元モデル10の位置及び姿勢に応じた教示データを教示データ記憶部32に蓄積する。そして、ステップS104に戻る。なお、ステップS108において、第1の3次元モデル10aに対する教示の指示が受け付けられた場合には、蓄積部37は、第1の3次元モデル10aに応じた第1の教示データを蓄積する。一方、ステップS108において、第2の3次元モデル10bに対する教示の指示が受け付けられた場合には、蓄積部37は、第2の3次元モデル10bに応じた第2の教示データを蓄積する。
【0044】
(ステップS110)画像生成部35は、第1及び第2の表示画像の生成を行うかどうか判断する。そして、第1及び第2の表示画像を生成する場合には、ステップS101に戻り、そうでない場合には、ステップS111に進む。なお、画像生成部35は、例えば、第1及び第2の表示画像の生成を行うと定期的に判断してもよい。この判断が行われることによって、例えば、操作が行われていなくても、表示装置4の位置や向きが変更された場合には、その変更後の位置や向きに応じた表示画像が表示装置4で表示されるようになる。
【0045】
(ステップS111)統合部38は、第1及び第2の教示データに関する教示が終了したかどうか判断する。そして、教示が終了した場合には、ステップS112に進み、そうでない場合には、ステップS104に戻る。統合部38は、例えば、第1及び第2の教示データの蓄積が終了した旨の情報や、第1及び第2の教示データの統合を行う旨の指示が受付部34で受け付けられた際に、第1及び第2の教示データに関する教示が終了したと判断してもよく、または、教示対象の領域があらかじめ設定されている場合には、その教示対象の領域のすべてにおいて教示データが蓄積された際に、第1及び第2の教示データに関する教示が終了したと判断してもよい。
【0046】
(ステップS112)統合部38は、教示データ記憶部32で記憶されている第1及び第2の教示データを統合して一つの教示データにする。そして、教示データを生成する一連の処理は終了となる。
【0047】
なお、図2のフローチャートにおいて、ステップS112の後段において、統合後の教示データが出力されてもよい。また、図2のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。
【0048】
次に、第1及び第2の3次元モデル10a,10bの表示位置について説明する。第1及び第2の3次元モデル10a,10bは、例えば、図3で示されるように、実ロボットであるロボット1の位置に表示されてもよい。なお、図3では、ロボット1に重ねて第1及び第2の3次元モデル10a,10bが表示されているが、例えば、第1の表示画像には、第1の3次元モデル10aが表示されていて第2の3次元モデル10bは表示されておらず、第2の表示画像には、第2の3次元モデル10bが表示されていて第1の3次元モデル10aは表示されていなくてもよい。この場合には、例えば、実ロボットであるロボット1のために配置されているワークWを用いて、第1及び第2の3次元モデル10a,10bを用いた教示を行うことも可能である。
【0049】
また、第1及び第2の3次元モデル10a,10bは、例えば、図4で示されるように、実ロボットであるロボット1と異なる位置に配置された基準マーカ6a,6bの位置に表示されてもよい。この場合には、基準マーカ6a,6bを任意の場所に配置することによって、任意の位置に3次元モデル10を表示することができる。そのため、例えば、2人の作業者は、それぞれ異なる場所で教示の作業を行うこともできるようになる。なお、基準マーカ6a,6bを特に区別しない場合には、基準マーカ6と呼ぶこともある。
【0050】
基準マーカ6は、2次元の所定の画像である。基準マーカ6は、例えば、ARマーカであってもよく、QRコード(登録商標)であってもよく、2次元のあらかじめ形状の決まっているその他の画像であってもよい。基準マーカ6のサイズは、例えば、あらかじめ決まっていてもよい。本実施の形態では、基準マーカ6がシートに表示されている場合について主に説明する。基準マーカ6は、例えば、紙や樹脂製のシートに印刷されていてもよい。
【0051】
なお、3次元モデル10は、基準マーカ6の位置以外に表示されてもよい。この場合でも、3次元モデル10は、基準マーカ6と所定の位置関係となるように表示されることが好適である。例えば、3次元モデル10は、基準マーカ6の隣に表示されてもよい。また、基準マーカ6a,6bは、それぞれ異なるマーカであってもよい。例えば、基準マーカ6a,6bがARマーカやQRコード(登録商標)である場合に、基準マーカ6a,6bから読み取られた情報はそれぞれ異なっていてもよい。この場合には、基準マーカ6a,6bから読み取った情報を用いて基準マーカ6a,6bを区別することができるため、例えば、位置関係取得部33は、基準マーカ6aと第1の表示装置4aとの相対的な位置関係や、基準マーカ6bと第2の表示装置4bとの相対的な位置関係を取得することができる。
【0052】
また、図4で示されるように、基準マーカ6a,6bの近傍に教示で用いられるワークWa,Wbが配置される際には、例えば、第1の3次元モデル10aとワークWaとの相対的な位置関係、及び第2の3次元モデル10bとワークWbとの相対的な位置関係が、図3におけるロボット1とワークWとの相対的な位置関係と同じになるように、基準マーカ6a,6bに対してワークWa,Wbがそれぞれ配置されてもよい。また、図4では、異なる基準マーカ6a,6bの位置にそれぞれ第1及び第2の3次元モデル10a,10bが表示される場合について説明したが、例えば、1つの基準マーカ6の位置に、第1及び第2の3次元モデル10a,10bがそれぞれ表示されてもよい。
【0053】
次に、本実施の形態による教示データ蓄積装置3の動作について、具体例を用いて説明する。この具体例では、図5(a)、図5(b)で示されるように、ワークW1,W2がT字型に組み合わされたT継手において隅肉溶接を行うための教示データを蓄積する場合について説明する。図5(a)はT継手の斜視図であり、図5(b)はT継手の平面図である。この場合には、ワークW1,W2の接合部分である溶接線L1,L2に沿って溶接を行うための教示が行われるものとする。
【0054】
また、本具体例では、頭部装着型の第1の表示装置4aを装着している作業者(以下、「第1の作業者」と呼ぶこともある。)が、溶接線L1に沿った教示を行い、頭部装着型の第2の表示装置4bを装着している作業者(以下、「第2の作業者」と呼ぶこともある。)が、溶接線L2に沿った教示を行う場合について説明する。
【0055】
まず、ロボット1の近傍のあらかじめ決められた位置にワークW1,W2を配置する。次に、教示データ蓄積装置3を起動すると、位置関係取得部33は、第1及び第2の表示装置4a,4bからそれぞれ受け取った撮影画像を用いて、実環境に配置されたロボット1と第1及び第2の表示装置4a,4bとの相対的な位置関係である第1及び第2の相対的な位置関係をそれぞれ取得して画像生成部35に渡す(ステップS101)。そして、画像生成部35は、第1及び第2の相対的な位置関係と、モデル記憶部31で記憶されている第1及び第2の3次元モデル10a,10bとを用いて、ロボット1の位置に仮想ロボット10a,10bを表示するための第1及び第2の表示画像を生成して出力部36に渡す(ステップS102)。第1及び第2の表示画像を受け取ると、出力部36は、第1の表示画像を第1の表示装置4aに出力し、第2の表示画像を第2の表示装置4bに出力する(ステップS103)。その結果、第1の作業者は、ロボット1に重ねて表示された第1の3次元モデル10aを見ることができ、第2の作業者は、ロボット1に重ねて表示された第2の3次元モデル10bを見ることができる。なお、第1及び第2の表示画像は、定期的に更新されてもよい(ステップS110、S101~S103)。
【0056】
その後、第1の作業者は、ティーチングペンダントなどの入力デバイスや、ジェスチャなどによって第1の3次元モデル10aを操作して、第1の3次元モデル10aの溶接トーチの先端が溶接線L1の端点P1の位置となるようにする(ステップS104~S107)。その結果、操作後の第1の3次元モデル10aを表示するための第1の表示画像が第1の表示装置4aに出力され、第1の作業者は、操作後の第1の3次元モデル10aの溶接トーチの位置や姿勢について確認することができる。その後、第1の作業者が、ティーチングペンダントなどの入力デバイスや、ジェスチャなどによって教示の指示を入力すると、その教示の指示に応じて端点P1の教示点に応じた第1の教示データが教示データ記憶部32に蓄積される(ステップS108,S109)。その後、溶接線L1上の他の教示点についても、同様にして第1の教示データが蓄積される(ステップS104~S109)。このようにして、教示線L1の端点P1から端点P2までの教示が行われ、その教示線L1に応じた第1の教示データが教示データ記憶部32で記憶されるようになったとする。溶接線L1に沿った教示が終了すると、第1の作業者は、教示の作業が終了した旨を入力する。その入力は受付部34で受け付けられて、統合部38に渡される。
【0057】
また、同様にして、第2の作業者によって、教示線L2の端点P3から端点P4までの教示が並行して行われ、その教示線L2に応じた第2の教示データが教示データ記憶部32に蓄積されたとする(ステップS104~S109)。溶接線L2に沿った教示が終了すると、第2の作業者は、教示の作業が終了した旨を入力する。その入力は受付部34で受け付けられて、統合部38に渡される。
【0058】
統合部38は、第1及び第2の作業者のそれぞれから受け付けられた教示の作業が終了した旨を受け取ると、教示が終了したと判断し(ステップS111)、教示データ記憶部32で記憶されている第1及び第2の教示データを統合する(ステップS112)。具体的には、統合部38は、第1の教示データの後に第2の教示データが実行されるように両者を統合してもよい。また、この統合された教示データは、ロボット制御装置2に出力されてもよい。
【0059】
以上のように、本実施の形態による教示データ蓄積装置3によれば、仮想ロボットの2個の3次元モデル10を用いて教示を行うことができるため、教示の時間を短縮することができる。また、複数の実ロボットを用いなくても並行した教示の作業が可能となるため、低コストで教示を行うことができるようになる。また、統合部38によって第1及び第2の教示データを自動的に統合することによって、2個の教示データを手作業で統合しなくてもよいことになり、作業者の利便性が向上されることになる。
【0060】
なお、上記具体例では、2人の作業者が異なる溶接線についてそれぞれ教示を行う場合について説明したが、2人の作業者が1つの溶接線について教示を行ってもよい。この場合には、例えば、第1及び第2の教示データが、教示対象の同じ領域における教示データを少なくとも一部に含んでいてもよい。第1及び第2の教示データが、教示対象の同じ領域における教示データを一部に含むとは、第1の教示データに応じた教示位置(例えば、教示線)と、第2の教示データに応じた教示位置との両方に、1つの溶接線の一部の領域に対応する同じ教示位置が含まれることであってもよい。より具体的には、図6(a)で示される溶接線L3について、第1の作業者が端点P5から矢印A1で示される向きに教示を行い、第2の作業者が端点P6から矢印A2で示される向きに教示を行う場合に、教示線L3の真ん中付近の領域、すなわち図6(b)の両矢印で示される領域において、第1の作業者によって教示された教示線TL1と、第2の作業者によって教示された教示線TL2とが重なっているときに、第1及び第2の教示データが、教示対象の同じ領域における教示データを一部に含んでいるとされてもよい。このような一部で重複した教示を行うことによって、溶接線L3の真ん中付近において教示漏れが発生することを防止することができる。
【0061】
この場合には、統合部38は、第1及び第2の教示データのうち、教示対象の同じ領域における第1及び第2の教示データについては、両者を平均することによって一つの教示データに統合してもよい。このようにすることで、2個の教示データが存在する領域について、教示データを一本化することができる。第1及び第2の教示データを平均するとは、例えば、第1及び第2の教示データに応じた教示位置を平均することと、その教示位置に応じたロボットの手先の姿勢を平均することとを含んでいてもよい。
【0062】
教示位置の平均は、例えば、次のようにして行われてもよい。統合部38は、例えば、図6(b)の両矢印で示される領域において、統合後の教示データに応じた教示位置を示す教示線が教示線TL1,TL2の中心の破線で示される位置となるようにしてもよい。この場合には、統合後の教示データに応じた教示位置を示す教示線は、図6(b)の両矢印で示される領域については、破線の位置となってもよい。統合後の教示線、すなわち破線の位置で示される教示線は、例えば、両矢印の領域の教示線TL1,TL2が幅方向の両端となる太線を細線化することによって特定されてもよい。細線化の処理としては、例えば、田村の方法や、Hilditch、Zhang-Suen等が知られている。また、ロボットの手先の姿勢の平均は、例えば、次のようにして行われてもよい。統合部38は、例えば、図6(b)の破線で示される教示線上のある点に応じた姿勢を、その点を通る破線に垂直な直線と教示線TL1との交点に対応した姿勢と、その直線と教示線TL2との交点に対応した姿勢との平均にしてもよい。このようにして、統合後の教示データは、図6(b)の両矢印で示される領域以外においては、第1の教示データまたは第2の教示データをそのまま含み、図6(b)の両矢印で示される領域においては、第1及び第2の教示データを平均した結果を含んでもよい。なお、この場合には、統合後の教示データにおいて、例えば、平均化された教示データと、そうでない教示データとが滑らかに繋がるようにされてもよい。具体的には、図6(b)において、両矢印で示される領域における破線の教示線と、それ以外の領域における実線の教示線とが滑らかに繋がるように統合されてもよい。
【0063】
なお、ここでは、2個の教示データが存在する領域について、2個の教示データを平均することによって、両者を一本化する場合について説明したが、そうでなくてもよい。2個の教示データが存在する領域については、一方の教示データを選択するようにしてもよい。この場合には、例えば、ランダムに選択してもよく、より正確性の高い教示データを選択してもよい。後者の場合には、例えば、作業者ごとに教示の正確性を示すスコアが管理されており、第1及び第2の作業者のうち、より正確性の高いことがスコアによって示される作業者の教示データが選択されてもよい。
【0064】
また、画像生成部35は、上記したように、第1及び第2の教示データに応じた教示位置を視覚的に区別可能に表示するための表示画像を生成してもよい。この場合には、画像生成部35は、例えば、仮想空間において、第1の教示データに応じた教示位置を示す第1の図形と、第2の教示データに応じた教示位置を示す第2の図形とを配置した状態でレンダリングを行うことによって、図7で示されるように、第1の教示データで示される教示点TP11~TP14と、第2の教示データで示される教示点TP21~TP24との両方をそれぞれ表示する第1及び第2の表示画像を生成してもよい。図7では、教示点TP11~TP14の位置が丸形状の図形で示されており、教示点TP21~TP24の位置がX形状の図形で示されることによって、両者が視覚的に区別可能になっている。また、そのような表示画像を見ることによって、第1及び第2の作業者は、教示点TP11~TP14、及び教示点TP21~TP24の位置を知ることができ、共同して教示作業を行っている相手方が、どこまで教示を行ったのかについて容易に把握することができ、より適切に教示作業を分担することができるようになる。
【0065】
また、教示データ記憶部32には、教示対象の領域を示す教示対象領域情報が記憶されていてもよい。教示対象領域情報は、例えば、ワールド座標系における領域を示す情報であってもよく、ロボット座標系における領域を示す情報であってもよい。例えば、両座標系の間の変換を示す同次変換行列を用いることなどによって、適宜、座標系を変換することができるからである。画像生成部35は、例えば、仮想空間において教示対象領域情報によって示される領域を示す図形を配置した状態でレンダリングを行うことによって、図8(a)で示されるように、教示対象領域情報で示される領域AR1をも表示するための第1及び第2の表示画像を生成することができる。教示対象領域情報によって示される領域を示す図形は、例えば、図8(a)で示されるように、教示対象領域情報によって示される領域を囲む線状の図形であってもよく、その領域を示す網掛けなどの図形であってもよい。このように、第1及び第2の表示画像に、教示対象領域情報によって示される領域も表示されることよって、作業者は、教示対象の領域を容易に特定することができるようになる。
【0066】
また、画像生成部35は、例えば、教示対象領域情報で示される領域のうち、教示データが蓄積されていない領域をも表示するための第1及び第2の表示画像をそれぞれ生成してもよい。教示データが蓄積されていない領域とは、第1の教示データが蓄積されておらず、かつ、第2の教示データも蓄積されていない領域のことである。この場合には、教示対象領域情報で示される領域内に含まれる教示位置に応じた教示データが教示データ記憶部32に蓄積された際には、画像生成部35は、その教示位置が領域内に含まれなくなるように表示対象の領域を縮小してもよい。例えば、画像生成部35は、教示位置が領域内に含まれなくなるように、教示対象領域情報で示される領域を溶接線に沿った方向に縮小することによって、表示対象の領域を特定してもよい。例えば、図7で示されるように、教示点TP11~TP14、及び教示点TP21~TP24に応じた教示データが教示データ記憶部32に蓄積された場合には、画像生成部35は、図8(b)で示されるように、教示点TP11~TP14、及び教示点TP21~TP24の位置を除外した領域AR2を表示するための第1及び第2の表示画像を生成してもよい。この場合には、領域AR2は、まだ教示が行われていない領域、すなわち未教示領域を示すことになる。したがって、作業者は、未教示領域を容易に把握することができるようになる。
【0067】
また、教示対象領域情報が教示データ記憶部32で記憶されている場合に、画像生成部35は、教示対象領域情報で示される領域のうち、第1の表示装置4aに近い領域をも示す第1の表示画像、及び教示対象領域情報で示される領域のうち、第2の表示装置4bに近い領域をも示す第2の表示画像をそれぞれ生成してもよい。教示対象領域情報で示される領域のうち、第1の表示装置4aに近い領域とは、例えば、教示対象領域情報で示される領域のうち、第2の表示装置4bよりも第1の表示装置4aに近い領域のことであってもよい。また、教示対象領域情報で示される領域のうち、第2の表示装置4bに近い領域とは、例えば、教示対象領域情報で示される領域のうち、第1の表示装置4aよりも第2の表示装置4bに近い領域のことであってもよい。なお、第1及び第2の表示画像は、両画像で示される領域によって、教示対象領域情報で示される全領域がカバーされるように生成されることが好適である。この場合には、画像生成部35は、例えば、表示対象領域情報で示される領域を、溶接線に沿った方向における真ん中で2個の領域に分けてもよい。そして、2個の領域の各代表位置と、第1及び第2の表示装置4a,4bの位置との距離を取得し、第1の表示装置4aとの距離が近い代表位置に対応する領域が第1の表示画像で示されるようにし、第2の表示装置4bとの距離が近い代表位置に対応する領域が第2の表示画像で示されるようにしてもよい。なお、第1及び第2の表示装置4a,4bの位置は、第1及び第2の相対的な位置関係によって特定することができる。また、代表位置は、例えば、重心の位置であってもよい。例えば、図9で示されるように、溶接線L3の半分を含む領域AR3を示す第1の表示画像が、その領域AR3に近い位置に存在する第1の表示装置4aに出力され、溶接線L3の他の半分を含む領域AR4を示す第2の表示画像が、その領域AR4に近い位置に存在する第2の表示装置4bに出力されてもよい。このようにすることで、各作業者は、自分の担当する教示対象の領域を容易に把握することができるようになる。そして、第1の作業者は、自分に近い領域AR3において教示の作業を行うことができ、第2の作業者は、自分に近い領域AR4において教示の作業を行うことができるようになる。なお、教示対象領域情報で示される全領域について、一方の表示装置4の方が、他方の表示装置4よりも近い場合には、このような表示は行われなくてもよい。また、図9では、図3で示されるように、実空間における1つの溶接線を用いて第1及び第2の作業者が教示を行う場合について示しているが、図4で示されるように、実空間における異なる溶接線を用いて第1及び第2の作業者が教示を行う場合においても、このような第1及び第2の表示画像の生成が行われてもよい。
【0068】
なお、本実施の形態では、溶接のための教示が行われる場合について主に説明したが、それ以外の目的で教示が行われてもよいことは言うまでもない。溶接以外の教示が行われる場合には、上記した溶接線は、例えば、作業線や、ロボットの手先の移動経路などであってもよい。
【0069】
また、本実施の形態では、第1及び第2の3次元モデル10a,10bについて、第1の3次元モデル10aが第1の表示画像で表示され、第2の3次元モデル10bが第2の表示画像で表示される場合について主に説明したが、そうでなくてもよい。第1及び第2の3次元モデル10a,10bの両方が、第1の表示画像で表示されると共に、第2の表示画像でも表示されてもよい。この場合には、第1及び第2の3次元モデル10a,10bは、視覚的に区別可能に表示されることが好適である。例えば、両者は異なる色で表示されてもよい。
【0070】
また、本実施の形態では、教示を行う作業者が装着している第1及び第2の表示装置4a,4bに出力するための第1及び第2の表示画像のみが生成される場合について主に説明したが、そうでなくてもよい。例えば、教示作業を見ている第三者(例えば、作業者の上司や、教示作業の訓練生など)が装着している他の表示装置4(以下、「第3の表示装置4」と呼ぶこともある。)に出力するための表示画像も生成されてもよい。この場合には、位置関係取得部33は、実環境と、第3の表示装置との相対的な位置関係をも取得してもよい。また、画像生成部35は、その相対的な位置関係と、第1及び第2の3次元モデル10a,10bとに基づいて、第1及び第2の3次元モデル10a,10bを表示するための表示画像を生成してもよい。また、出力部36は、その表示画像を、第3の表示装置4に出力してもよい。この場合には、その表示画像によって、教示データに応じた教示位置も表示されることが好適である。このようにして、例えば、作業者の上司や訓練生は、作業者が仮想ロボットを用いて教示している様子について見ることができるようになる。
【0071】
また、第1及び第2の作業者は、同じ箇所についてそれぞれ教示を行ってもよい。例えば、図6(a)で示される溶接線L3について、第1及び第2の作業者が、端点P5から端点P6までの全範囲をそれぞれ教示してもよい。この場合には、表示画像によって、教示データに応じた教示位置も表示されることが好適である。このようにして、2人の作業者の教示結果を比較することもできる。例えば、第1の作業者が熟練者であり、第2の作業者が初心者である場合に、初心者の教示データが、熟練者の教示データに近いかどうかを確認することができる。このように、本実施の形態による教示データ蓄積装置3を教育目的で使用することもできる。
【0072】
また、実ロボットであるロボット1がプレイバック動作を行っている際に、教示データ蓄積装置3を用いた教示が行われてもよい。この場合には、ロボット1は、教示データが蓄積された直後に、その教示データを用いたプレイバック動作を行ってもよい。
【0073】
また、本実施の形態では、第1及び第2の教示データが統合される場合について説明したが、そうでなくてもよい。第1及び第2の教示データは統合されなくてもよい。この場合には、教示データ蓄積装置3は、統合部38を備えていなくてもよい。また、第1及び第2の教示データが統合されない場合には、例えば、教示データ記憶部32で記憶されている第1及び第2の教示データが出力されてもよい。
【0074】
また、本実施の形態では、基準マーカ6が2次元の所定の画像である場合について主に説明したが、そうでなくてもよい。マーカレスARと同様に、基準マーカとして、実環境に存在する物が用いられてもよい。実環境に存在する物は特に限定されるものではないが、例えば、実ロボットの設置に用いられる土台部分や、ロボットを配置する位置の近傍に存在する治具等であってもよい。また、各面にマーカを貼り付けた立体形状(例えば、直方体形状など)の物体におけるマーカを、基準マーカとしてもよい。また、基準マーカは、例えば、土台や治具などのように、3次元のものであってもよい。
【0075】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。例えば、教示データ蓄積装置3の少なくとも一部の構成は、物理的には、ディスプレイを有する装置などに含まれてもよい。したがって、図1で示される装置の切り分けは、物理的な装置に応じたものではなく、機能に応じた便宜上のものであると考えてもよい。
【0076】
また、上記実施の形態において、教示データ蓄積装置3に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
【0077】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
【0078】
また、以上の実施の形態は、本発明を具体的に実施するための例示であって、本発明の技術的範囲を制限するものではない。本発明の技術的範囲は、実施の形態の説明ではなく、特許請求の範囲によって示されるものであり、特許請求の範囲の文言上の範囲及び均等の意味の範囲内での変更が含まれることが意図される。
【符号の説明】
【0079】
3 教示データ蓄積装置、4a 第1の表示装置、4b 第2の表示装置、10a 第1の3次元モデル、10b 第2の3次元モデル、31 モデル記憶部、32 教示データ記憶部、33 位置関係取得部、34 受付部、35 画像生成部、36 出力部、37 蓄積部、38 統合部
図1
図2
図3
図4
図5
図6
図7
図8
図9