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

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

▶ 株式会社日立ハイテクノロジーズの特許一覧

<>
  • 特許-作業教示方法、及び作業教示システム 図1
  • 特許-作業教示方法、及び作業教示システム 図2
  • 特許-作業教示方法、及び作業教示システム 図3
  • 特許-作業教示方法、及び作業教示システム 図4
  • 特許-作業教示方法、及び作業教示システム 図5
  • 特許-作業教示方法、及び作業教示システム 図6
  • 特許-作業教示方法、及び作業教示システム 図7
  • 特許-作業教示方法、及び作業教示システム 図8
  • 特許-作業教示方法、及び作業教示システム 図9
  • 特許-作業教示方法、及び作業教示システム 図10
  • 特許-作業教示方法、及び作業教示システム 図11
  • 特許-作業教示方法、及び作業教示システム 図12
  • 特許-作業教示方法、及び作業教示システム 図13
  • 特許-作業教示方法、及び作業教示システム 図14
  • 特許-作業教示方法、及び作業教示システム 図15
  • 特許-作業教示方法、及び作業教示システム 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-29
(45)【発行日】2024-12-09
(54)【発明の名称】作業教示方法、及び作業教示システム
(51)【国際特許分類】
   B25J 9/22 20060101AFI20241202BHJP
   G05B 19/42 20060101ALI20241202BHJP
【FI】
B25J9/22 A
G05B19/42 P
【請求項の数】 14
(21)【出願番号】P 2023549292
(86)(22)【出願日】2021-09-27
(86)【国際出願番号】 JP2021035348
(87)【国際公開番号】W WO2023047574
(87)【国際公開日】2023-03-30
【審査請求日】2024-01-17
(73)【特許権者】
【識別番号】501387839
【氏名又は名称】株式会社日立ハイテク
(74)【代理人】
【識別番号】110002572
【氏名又は名称】弁理士法人平木国際特許事務所
(72)【発明者】
【氏名】高橋 弘樹
(72)【発明者】
【氏名】小山 昌宏
(72)【発明者】
【氏名】井上 智博
(72)【発明者】
【氏名】三枝 高志
(72)【発明者】
【氏名】石川 慎一
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開平06-250730(JP,A)
【文献】特開平06-324732(JP,A)
【文献】特開2011-062793(JP,A)
【文献】特開2015-054378(JP,A)
【文献】特開2017-077614(JP,A)
【文献】特開2018-051652(JP,A)
【文献】特開2019-119027(JP,A)
【文献】国際公開第2015/153739(WO,A1)
【文献】欧州特許出願公開第03733355(EP,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/10-13/08
G05B 19/404-19/42
(57)【特許請求の範囲】
【請求項1】
被把持物を把持する把持部を有し、前記把持部に把持された前記被把持物を移動させるロボットに作業を教示する作業教示装置により実行される作業教示方法であって、
前記作業教示方法は、
作業環境座標系を定義するマーカーを設けるとともに、前記被把持物の計測用マーカーを取り付ける第1工程と、
教示者が前記作業環境で前記被把持物を把持して移動させた際の前記被把持物の計測用マーカーを前記作業環境に設置された撮像手段によって検出して前記被把持物の位置及び姿勢の第1時系列データを出力し、前記第1時系列データに対応する前記ロボットの動作の第1教示データを生成する第2工程と、
前記第2工程の後に、前記作業環境へ前記ロボットを移動させる第3工程と、
前記第3工程の後で、且つ前記ロボットによる実作業の実行前に、前記第1教示データを用いて前記ロボットを動作させた際の前記被把持物の計測用マーカーを前記作業環境に設置された撮像手段によって検出して前記被把持物又は前記把持部の位置及び姿勢の第2時系列データを出力する第4工程と、
前記第1時系列データと前記第2時系列データの差に応じて前記ロボットの動作の第2教示データを生成する第5工程と、
を有し、
前記第1時系列データ、前記第2時系列データ、前記第1教示データ及び前記第2教示データは、前記座標系を基準として生成され、
前記第3工程は、前記作業環境の座標系を定義するマーカーを前記ロボットが備える撮像手段によって検出し、前記作業環境の座標系を前記ロボットに認識させること、を含む、
ことを特徴とする作業教示方法。
【請求項2】
前記作業環境の座標系を定義するマーカーは、作業台に設けられる
ことを特徴とする請求項1に記載の作業教示方法。
【請求項3】
前記第2工程は、前記ロボットが前記作業を行う前記作業環境に設置された複数の撮像手段によって撮像された複数の画像であって、前記教示者が把持して移動させる前記被把持物の計測用マーカーを撮像した複数の画像から前記第1時系列データを出力することを含み、
前記第4工程は、前記複数の撮像手段によって撮像された複数の画像であって、前記ロボットが把持して移動させる前記被把持物の計測用マーカーを撮像した複数の画像から前記第2時系列データを出力することを含む、
ことを特徴とする請求項1に記載の作業教示方法。
【請求項4】
被把持物を把持する把持部を有し、前記把持部に把持された前記被把持物を移動させるロボットに作業を教示する作業教示装置により実行される作業教示方法であって、
前記作業教示方法は、
作業環境に座標系のマーカーを準備する第1工程と、
教示者が前記作業環境で前記被把持物を把持して移動させた際の前記被把持物の位置及び姿勢の第1時系列データを出力し、前記第1時系列データに対応する前記ロボットの動作の第1教示データを生成する第2工程と、
前記第2工程の後に、前記作業環境へ前記ロボットを移動させる第3工程と、
前記第3工程の後で、且つ前記ロボットによる実作業の実行前に、前記第1教示データを用いて前記ロボットを動作させた際の前記被把持物又は前記把持部の位置及び姿勢の第2時系列データを出力する第4工程と、
前記第1時系列データと前記第2時系列データの差に応じて前記ロボットの動作の第2教示データを生成する第5工程と、
を有し、
前記第1時系列データ、前記第2時系列データ、前記第1教示データ及び前記第2教示データは、前記座標系を基準として生成され、
前記第3工程は、前記ロボットに前記座標系のマーカーを計測させて前記座標系を認識させること、を含
前記第2工程は、前記ロボットが前記作業を行う前記作業環境に設置された複数の撮像手段によって撮像された複数の画像であって、前記教示者が把持して移動させる前記被把持物の複数の画像から前記第1時系列データを出力することを含み、
前記第4工程は、前記複数の撮像手段によって撮像された複数の画像であって、前記ロボットが把持して移動させる前記被把持物の複数の画像から前記第2時系列データを出力することを含み、
前記複数の撮像手段は、前記被把持物に取り付けられた3個以上のマーカー又は前記把持部に取り付けられた3つ以上のマーカーを撮像する、
ことを特徴とする作業教示方法。
【請求項5】
前記第1時系列データ及び前記第2時系列データは、前記被把持物の位置及び姿勢の時系列データである、
ことを特徴とする請求項1に記載の作業教示方法。
【請求項6】
前記第2教示データの生成は、前記第2時系列データの前記第1時系列データとの誤差が規定値より大きい場合に、実行される、
ことを特徴とする請求項1に記載の作業教示方法。
【請求項7】
前記第5工程では、前記第2時系列データの前記第1時系列データとの誤差を用いて、前記第2教示データを生成する、
ことを特徴とする請求項1に記載の作業教示方法。
【請求項8】
作業環境に設けられる座標系を定義するマーカーと、
前記作業環境へ移動が可能で、被把持物を把持する把持部を有し、前記把持部に把持された前記被把持物を移動させるロボットと、
教示者が前記作業環境で前記被把持物を把持して移動させた際の前記被把持物の計測用マーカーを前記作業環境に設置された撮像手段によって検出して前記被把持物の位置及び姿勢の第1時系列データを出力する出力手段と、
前記第1時系列データに対応する前記ロボットの動作の第1教示データを生成する生成手段と、を備え、
前記出力手段は、前記ロボットを前記作業環境に移動させた状態で、前記ロボットによる実作業の実行前に、前記第1教示データを用いて前記ロボットを動作させた際の前記被把持物の計測用マーカーを前記作業環境に設置された撮像手段によって検出して前記被把持物又は前記把持部の位置及び姿勢の第2時系列データを出力し、
前記生成手段は、前記ロボットによる実作業の実行前に、前記第1時系列データと前記第2時系列データの差に応じて前記ロボットの動作の第2教示データを生成し、
前記第1時系列データ、前記第2時系列データ、前記第1教示データ及び前記第2教示データは、前記座標系を基準とし、
前記ロボットは、前記作業環境の座標系を定義するマーカーを前記ロボットが備える撮像手段によって検出し、前記作業環境の座標系を認識する、
ことを特徴とする作業教示システム。
【請求項9】
前記作業環境の座標系を定義するマーカーは、作業台に設けられる
ことを特徴とする請求項8に記載の作業教示システム。
【請求項10】
前記第1時系列データ及び前記第2時系列データの出力手段は、前記作業環境に設置された撮像手段によっ前記被把持物の計測用マーカーを撮像した複数の画像から前記第1時系列データ及び前記第2時系列データを出力する、
ことを特徴とする請求項8に記載の作業教示システム。
【請求項11】
作業環境に設けられる座標系のマーカーと、
前記作業環境へ移動が可能で、被把持物を把持する把持部を有し、前記把持部に把持された前記被把持物を移動させるロボットと、
教示者が前記作業環境で前記被把持物を把持して移動させた際の前記被把持物の位置及び姿勢の第1時系列データを出力する出力手段と、
前記第1時系列データに対応する前記ロボットの動作の第1教示データを生成する生成手段と、を備える作業教示システムであって
前記出力手段は、前記ロボットを前記作業環境に移動させた状態で、前記ロボットによる実作業の実行前に、前記第1教示データを用いて前記ロボットを動作させた際の前記被把持物又は前記把持部の位置及び姿勢の第2時系列データを出力し、
前記生成手段は、前記ロボットによる実作業の実行前に、前記第1時系列データと前記第2時系列データの差に応じて前記ロボットの動作の第2教示データを生成し、
前記第1時系列データ、前記第2時系列データ、前記第1教示データ及び前記第2教示データは、前記座標系を基準とし、
前記ロボットは、前記座標系のマーカーを計測し、前記座標系を認識
前記作業教示システムは、前記ロボットが作業を行う作業環境に設置された複数の撮像手段をさらに備え、
前記出力手段は、前記撮像手段によって撮像された前記被把持物の複数の画像から前記第1時系列データ及び前記第2時系列データを出力し、
前記撮像手段は、前記被把持物に取り付けられた3個以上のマーカー又は前記把持部に取り付けられた3つ以上のマーカーを撮像する、
ことを特徴とする作業教示システム。
【請求項12】
前記第1時系列データ及び前記第2時系列データは、前記被把持物の位置及び姿勢の時系列データである、
ことを特徴とする請求項8に記載の作業教示システム。
【請求項13】
前記生成手段は、前記第2時系列データの前記第1時系列データとの誤差が規定値より大きい場合に、前記第2教示データを生成する、
ことを特徴とする請求項8に記載の作業教示システム。
【請求項14】
前記生成手段は、前記第2時系列データの前記第1時系列データとの誤差を用いて、前記第2教示データを生成する、
ことを特徴とする請求項8に記載の作業教示システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットに作業を教示する作業教示方法及び作業教示装置、及び作業教示システムに関する。
【背景技術】
【0002】
特許文献1には、ロボットに作業を教示する作業教示方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2017-217738号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ロボットは、一般に、繰り返す作業において同じ位置で作業を再現する高い精度を有するのに対して、実空間における絶対位置の位置決め精度(以下、絶対位置決め精度、と呼ぶ)は保証されていないケースが多い。そのため、ロボットに作業を教示する際には、絶対位置決め精度が問題となる。指令値としてロボットに与えた座標と実空間における位置決めされる位置との間には、誤差が生じる。このため、ロボットに正確に作業を実施させるためには、この誤差の影響を対策する必要がある。しかし、この誤差は、ロボットの構造、ロボットに与える指令値の経路、ロボットが把持する対象物の重量など、様々な要因に起因して変化する。
【0005】
特許文献1に開示される作業教示方法では、超音波距離計を用いて作業者の作業動作を三次元計測し、この三次元計測データを用いて多軸ロボットの作業動作の補正制御を行う。特許文献1では、多軸ロボットに実作業を実行させている間に、多軸ロボットの作業動作を超音波距離計で計測して、事前に取得した作業者の作業動作に係る三次元測定データを用いて多軸ロボットの作業動作の補正制御を行う。
【0006】
特許文献1では、多軸ロボットに実作業を実行させている間に補正制御を行うため、常に超音波距離計が必要となる。また、作業動作が高速であれば、作業中の補正制御が間に合わないため、高速な作業には適用しづらいという課題があった。
【0007】
本発明は、簡単な構成でロボットに実作業を実行させることが可能で、且つ、高速な作業を行うロボットにも教示者の作業動作を高精度に教示することが可能なロボットの作業教示方法及び作業教示装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明に係るロボットの作業教示方法は、被把持物を把持する把持部を有し、把持部に把持された被把持物を移動させるロボットに作業を教示する作業教示装置により実行される作業教示方法であって、作業教示方法は、教示者が被把持物を把持して移動させた際の被把持物の位置及び姿勢の時系列データを参照経路として出力し、参照経路に対応するロボットの教示データを生成する生成ステップと、ロボットによる実作業の実行前に、教示データを用いてロボットを動作させた際の被把持物又は把持部の位置及び姿勢の時系列データを動作経路として出力し、動作経路を参照経路と一致させるように教示データを修正する修正ステップと、を有する。
【発明の効果】
【0009】
本発明によれば、簡単な構成でロボットに実作業を実行させることが可能で、且つ、高速な作業を行うロボットにも教示者の作業動作を高精度に教示することが可能なロボットの作業教示方法及び作業教示装置を提供することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0010】
図1】実施例1の作業教示装置の構成図である。
図2】制御装置のハードウェア構成を示すブロック図である。
図3】作業台へのカメラの配置を示す図である。
図4】マーカープレートを被把持物に取り付けた様子を示す図である。
図5】試験管を把持するロボットのハンドに設定された座標系を示す図である。
図6】試験管を把持するロボットのハンドに設定された座標系とマーカープレートに設定された座標系との関係を示す図である。
図7】制御装置の動作を示すフローチャートである。
図8】生成ステップにおける作業教示装置の構成図である。
図9】生成ステップの詳細を示すフローチャートである。
図10】修正ステップにおける作業教示装置の構成図である。
図11】修正ステップの詳細を示すフローチャートである。
図12】ロボットに実作業を実行させる際の作業教示装置の構成図である。
図13】生成ステップで計測する参照経路の模式図である。
図14】修正ステップで計測する動作経路の模式図である。
図15】実施例2におけるロボットのハンドに設定された座標系を示す図である。
図16】実施例2におけるロボットのハンドに設定された座標系とマーカープレートに設定された座標系との関係を示す図である。
【発明を実施するための形態】
【0011】
以下に、本発明の作業教示方法、作業教示装置及び作業教示装置を備えるロボットの実施例を、図面を用いて説明する。
<実施例1>
実施例1では、教示者が行う作業を高精度にロボットに教示することが可能な作業教示方法及び作業教示装置の例について、図1図14を用いて説明する。
【0012】
(作業教示装置1)
図1は、実施例1の作業教示装置の構成図である。実施例1では、教示者11が教示する作業の例として、作業台10において、右手で把持したマイクロピペット310を使って、左手で把持した試験管320に試薬を分注する作業を、ロボット12に教示する。作業教示装置1は、作業台10に設置されたモーションキャプチャシステム用のカメラ201~204と、マイクロピペット310に取り付けられたマーカープレート311と、試験管320に取り付けられたマーカープレート321と、制御装置100と、を備える。カメラ201~204は、本発明の撮像手段の一例である。ロボット12は、被把持物(実施例1では、マイクロピペット310及び試験管320)の把持、及び、把持した被把持物の移動を行う。ロボット12は、マイクロピペット310及び試験管320を把持及び移動する双腕を有し、可動範囲内で任意の位置に被把持物を移動させることが可能であり、且つ、把持物を任意の姿勢で把持することが可能である。ロボット12の動作は、制御装置100によって制御される。なお、実施例1では、ロボット12とは別体の制御装置100がロボット12に作業を教示するが、ロボット12に制御装置100を組み込んでも良い。また、制御装置100は、オンプレミスであっても良いし、クラウドであっても良い。
【0013】
(ロボット12)
ロボット12は、頭部の目にあたる部分に設置されたステレオカメラ12cを備える。ロボット12は、首に1又は複数の関節軸を備え、ステレオカメラ12cを作業台10の任意の方向に向けることが可能である。ロボット12は、図示しない無人搬送車上に設置されており、予め作成した部屋の地図を用いて、部屋内を移動して作業台10の前に自律移動する。
【0014】
(制御装置100のソフトウェア構成)
制御装置100は、ポーズ計測部101、教示データ生成・修正部102及び教示データ実行部103を含む。ポーズ計測部101は、カメラ201~204が撮像した複数の画像から、マーカープレート311及び321の各々の三次元位置及び姿勢の時系列データを出力する。ポーズ計測部101は、本発明の出力手段の一例である。以下、マーカープレート311及び321の三次元位置及び姿勢をポーズと称する。ポーズ計測部101が出力するポーズの時系列データは、参照経路104又は動作経路105として、記録される。
【0015】
教示データ生成・修正部102は、参照経路104からロボット12への指令値となるデータを算出し、このデータは、教示データ106として、記録される。また、教示データ生成・修正部102は、記録された教示データ106を修正して、記録する。教示データ生成・修正部102は、本発明の生成手段の一例である。
【0016】
教示データ実行部103は、教示データ106及び修正した教示データ106を用いて、ロボット12を動作させる。参照経路104、動作経路105及び教示データ106の詳細については、後述する。
【0017】
実施例1では、双腕を有するロボット12へ作業を教示する例を示すが、1台または複数台の単腕のロボットを用いても構わない。また、複数台の単腕のロボットを用いる場合、それぞれ異なる種類の単腕のロボットであっても構わない。
【0018】
(制御装置100のハードウェア構成)
図2は、制御装置のハードウェア構成を示すブロック図である。図2に示すように、制御装置100は、プロセッサ120と、通信インターフェース(以下、インターフェースをI/Fと略する)121と、主記憶装置122と、補助記憶装置123と、入出力I/F124と、上記した各ユニットを通信可能に接続するバス125と、を有する。
【0019】
プロセッサ120は、制御装置100の各部の動作の制御を行う中央処理演算装置である。プロセッサ120は、例えば、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)等である。プロセッサ120は、補助記憶装置123に記憶されたプログラムを主記憶装置122の作業領域に実行可能に展開する。主記憶装置122は、プロセッサ120が実行するプログラム、当該プロセッサ120が処理するデータ等を記憶する。プロセッサ120は、主記憶装置122に展開されたプログラムを実行することによって、上記したポーズ計測部101、教示データ生成・修正部102、及び、教示データ実行部103として機能する。主記憶装置122は、フラッシュメモリ、RAM(Random Access Memory)、ROM(Read Only Memory)等である。補助記憶装置123は、各種のプログラム及び各種のデータを記憶する。補助記憶装置123は、例えば、OS(Operating System)、各種プログラム、各種テーブル等を記憶する。補助記憶装置123は、不揮発性半導体メモリ(フラッシュメモリ、EPROM(Erasable Programmable ROM))を含むシリコンディスク、ソリッドステートドライブ装置、ハードディスク(HDD、Hard Disk Drive)装置等である。入出力I/F124には、図示しないキーボードやマウスなどの入力デバイスやディスプレイなどの出力デバイスが接続される。通信I/F121は、カメラ201~204やロボット12と通信可能に接続されている。カメラ201~204によって撮像された画像は、通信I/F121を介して、プロセッサ120に入力される。プロセッサ120に入力された画像は、プロセッサ120によって処理されて、参照経路104や動作経路105として、補助記憶装置123に記録される。また、プロセッサ120は、補助記憶装置123に記録された参照経路104を処理して、教示データ106を生成し、この教示データ106を補助記憶装置123に記録する。また、プロセッサ120は、教示データ106を修正し、修正した教示データ106を補助記憶装置123に記録する。通信I/F121は、プロセッサ120からの指示に従い、教示データ106や修正した教示データ106をロボット12に出力する。
【0020】
図3は、作業台10へのカメラ201~204の配置を示す図である。作業台10に向かって作業する教示者11が把持するマイクロピペット310及び試験管320には、マーカープレート311及び321が取り付けられている。マーカープレート311及び321のポーズの時系列データを出力するため、カメラ201~204は、作業台10を挟んで教示者11と反対側に設置される。カメラ201~204は、その視野210が重なり合いながら作業台10上を覆うように、互いに間隔を空けて設置される。モーションキャプチャシステムは、キャリブレーションを実行して、作業台10に設置されたカメラ201~204間の相対位置関係を把握し且つモーションキャプチャシステムによる計測時の座標系となる作業台座標系2100(Σ)を設定する。キャリブレーションにおいて、カメラ201~204は、配置が既知の反射マーカーを複数回撮像する。参照経路104、動作経路105及び教示データ106は、作業台座標系2100(Σ)を基準とする。作業台座標系2100は、ロボット12が作業を行う作業環境を表す作業環境座標系である。作業台10上には、3個のマーカー12mが設置されている。マーカー12mの配置は、予め制御装置100に登録されており、ロボット12が作業台10の前で動作する際には、ステレオカメラ12cによりマーカー12mを撮像することで、ロボット12と作業台座標系2100(Σ)との位置関係を把握する。
【0021】
図4は、マーカープレートを被把持物に取り付けた様子を示す図である。マーカープレート311及び321の各々には、4個の反射マーカー311a~311d及び321a~321dが配置される。反射マーカー311a~311d及び321a~321dは、マーカープレート311及び321上で上下左右非対称に配置される。マーカープレート311及び321の各々には、マーカープレート座標系3100(ΣRM)及び3200(ΣLM)が設定されている。ポーズ計測部101には、反射マーカー311a~311d及び321a~321dの配置パターンと、マーカープレート座標系3100(ΣRM)及び3200(ΣLM)との位置関係が予め登録されている。そして、ポーズ計測部101は、作業台座標系2100(Σ)を基準としたマーカープレート座標系3100(ΣRM)及び3200(ΣLM)のポーズを計測する。反射マーカー311a~311dと反射マーカー321a~321dとを異なる配置パターンにすることによって、ポーズ計測部101は、マーカープレート311及び321を区別しながら、マーカープレート311及び321のポーズを同時に計測可能となる。なお、異なる配置パターンとする代わりに、反射マーカー311a~311dの大きさや色を反射マーカー321a~321dとは異なるものとすることで、マーカープレート311及び321を識別することも可能である。また、マーカープレート311及びマーカープレート321に配置する反射マーカーの個数は、3個以上であれば個数が異なっていても構わない。また、図3では反射マーカーは、二次元的に配置されているが、立体的な配置であっても構わない。マーカープレート311は、アタッチメント312を介してマイクロピペット310に取り付けられる。マーカープレート321は、アタッチメント322を介して試験管320に取り付けられる。アタッチメント312及び322は、教示者11がマイクロピペット310及び試験管320を把持及び移動する際の妨げとならないような形状となっている。これにより、モーションキャプチャシステムは、教示者11がマイクロピペット310及び試験管320を把持し移動させる時のマーカープレート311及び321のポーズを容易に計測することができる。
【0022】
(ハンドの詳細)
次に、被把持物を把持するロボット12のハンドの詳細について説明する。ロボット12のハンドは、本発明の把持部の一例である。ここでは、試験管320を把持するロボット12の左ハンドの詳細を、図5及び6を用いて説明する。
【0023】
図5は、試験管320を把持するロボット12の左ハンド620に設定された座標系を示す図であり、図6は、左ハンド620に設定された座標系とマーカープレート321に設定された座標系との関係を示す図である。左ハンド620は、開閉する2本の指620aを有し、これらの指620aの先端の凹部で試験管320を挟んで把持する。指620aの先端には、切り欠き部620bが設けられており、マーカープレート321が取り付けられた試験管320を把持できる様になっている。左ハンド620の指620aの把持中心には、左把持部座標系6200(ΣLT)が設定され、左ハンド620を取り付けるロボット12の左手首フランジ620cの中心には左リンク先端座標系7200(ΣLE)が設定されている。左リンク先端座標系7200(ΣLE)に対する左把持部座標系6200(ΣLT)の位置関係は、ロボット12のリンクパラメータとして予め制御装置100に登録され、ロボット12への指令値は左把持部座標系6200(ΣLT)のポーズとして与えられる。また、図6に示すマーカープレート座標系3200(ΣLM)と左把持部座標系6200(ΣLT)の位置関係も予め制御装置100に登録されている。そして、モーションキャプチャシステムによりマーカープレート321を計測してマーカープレート座標系3200(ΣLM)のポーズを計測することで、これに対応する左把持部座標系6200(ΣLT)のポーズを計算することが可能である。実施例1では、左把持部座標系6200(ΣLT)のポーズを教示データ106として用いる。ここでは、試験管320を把持する左ハンド620を例に説明したが、マイクロピペット310を把持する右ハンドについても同様である。
【0024】
(制御装置100の動作)
図7は、制御装置の動作を示したフローチャートである。図7に示すように、実施例1の制御装置100は、ロボット12に作業を教示する教示段階と、ロボット12に実作業を実行させる実行段階と、を実行する。ロボット12に作業を教示する教示段階は、教示者11が作業を実演して教示データ106を生成する生成ステップ(図9参照)と、教示データ106を修正する修正ステップ(図11参照)と、の2つの工程を有している。生成ステップでは、教示者11が被把持物を把持して移動させた際の被把持物の位置及び姿勢の時系列データを参照経路104として出力し、この参照経路104に対応するロボット12の教示データを生成する。そして、修正ステップでは、ロボット12による実作業の実行前に、教示データ106によりロボット12を動作させた際の被把持物の位置及び姿勢の時系列データを動作経路105として出力する。そして、修正ステップでは、この動作経路105を参照経路104と一致させるように教示データ106を修正する。その後、実行段階において、制御装置100は、教示データ106又は修正ステップで修正した教示データ106を用いて、ロボット12に実作業を実行させる。
【0025】
(生成ステップ)
まず、教示データ106を生成する生成ステップについて、図8及び9を用いて説明する。図8は、生成ステップにおける作業教示装置1の構成図であり、図9は、生成ステップの詳細を示すフローチャートである。生成ステップでは、まず、教示者11が作業台10に向かう。教示者11は、マーカープレート311及び321が取り付けられたマイクロピペット310及び試験管320を把持して移動する作業を実演する。ポーズ計測部101は、マーカープレート311及び321のポーズを所定のサンプリング周期(例えば10Hz)で計測し、マーカープレート座標系3100及び3200(ΣRM、ΣLM)のポーズの時系列データを参照経路104として出力し、記録する(S901)。このマーカープレート311及び321のポーズの時系列データが、本発明の参照経路(被把持物の位置及び姿勢の時系列データ)の一例である。続いて、教示データ生成・修正部102は、参照経路104に対応するロボット12の教示データ106を生成する。具体的には、教示データ生成・修正部102は、記録した参照経路104からロボット12の両腕の把持部座標系6200(ΣLT、ΣRT)のポーズの時系列データを生成し、これを教示データ106とする(S902)。また、教示データ生成・修正部102は、生成した教示データ106の実行が可能かどうかについて確認する(S903)。具体的には、教示データ生成・修正部102は、ロボット12が作業台10の前の所定の位置に設置されているものとして教示データ106に対する逆運動学計算を実施する。そして、ロボット12の関節角の解が得られるかどうか、得られた関節角の解が非連続でないかどうか、得られた関節角の解においてロボット12自身やロボット12と周囲環境との干渉が生じないかどうか、を確認する。いずれも問題が無く、教示データ106の実行が可能である場合、ロボット12での実行が可能なデータとして教示データ106を記録する(S904)。これにより、生成ステップは完了となる。なお、S903において、教示データ106の実行が不可能であると判断した場合は、教示者11にその旨を提示し、改めて参照経路104の計測(S901)を、やり直す。
【0026】
(修正ステップ)
次に、教示データ106を修正する修正ステップについて、図10及び11を用いて説明する。必要な計算の詳細については、後述するものとし、ここでは手順の流れについて説明する。図10は、修正ステップにおける作業教示装置1の構成図であり、図11は、修正ステップの詳細を示すフローチャートである。修正ステップでは、教示者11は作業台10から離れ、替わりに無人搬送車によりロボット12が作業台10の前の位置に移動する。ロボット12は、マーカープレート311及び321を取り付けたマイクロピペット310及び試験管320を把持する。ロボット12は、ステレオカメラ12cにより作業台10上のマーカー12mを計測し、作業台座標系2100(Σ)を認識する(S1101)。作業台10に対するロボット12の立ち位置の誤差は、これにより把握される。次に、教示データ実行部103は、生成ステップで記録した教示データ106を用いてロボット12を動作させ、マーカープレート311及び321が取り付けられたマイクロピペット310及び試験管320を把持して、移動させる。このとき、ポーズ計測部101は、マーカープレート311及び321のポーズの時系列データを動作経路105として計測し、記録する(S1102)。このマーカープレート311及び321のポーズの時系列データは、本発明の動作経路(被把持物の位置及び姿勢の時系列データ)の一例である。マーカープレート311及び321のポーズの時系列データは、本発明の被把持物の位置及び姿勢の時系列データである。
【0027】
S1102における動作経路105の計測の際、教示データ106をそのまま実行するのではなく、数点おきにロボット12の動作を停止させ、停止時のマーカープレート311及び321のポーズの時系列データを動作経路105として計測する。続いて、教示データ生成・修正部102は、参照経路104と動作経路105との間の誤差(以下、位置決め誤差と呼ぶ)を算出する(S1103)。この位置決め誤差が所定の規定値を越えている場合(S1104:Yes)、教示データ生成・修正部102は、位置決め誤差を用いて教示データ106を修正する(S1105)。修正した教示データ106は、補助記憶装置123に記録される。そして、教示データ実行部103は、修正した教示データ106を用いて、ロボット12を動作させ、再び動作経路105の計測(S1102)、及び、位置決め誤差の算出(S1103)を行う。再び算出した位置決め誤差が所定の規定値を越えている場合、又は、教示データ106の修正回数が所定回数を超過するまで、ステップS1102~ステップS1105を繰り返す。位置決め誤差が所定の規定値以内となった場合、又は、教示データ106の修正回数が所定回数を超過した場合、教示データ106又は修正した教示データ106を記録する(S1106)。これにより、修正ステップは完了となる。
【0028】
(実行ステップ)
次に、教示データ106又は修正した教示データ106を用いてロボット12が行う実作業について、図12を用いて説明する。図12は、教示段階が終了したロボット12に実作業を実行させる作業教示装置1の構成図である。教示段階の終了後、マーカープレート311及び321をマイクロピペット310及び試験管320から取り外す。また、カメラ201~204を作業台10から取り外す。ロボット12は、作業台10の前の位置に移動する。ロボット12は、ステレオカメラ12cにより作業台10上のマーカー12mを計測し、作業台座標系2100(Σ)を認識する。作業台10に対するロボット12の立ち位置の誤差は、これにより把握される。次に、教示データ実行部103は、教示データ106又は修正した教示データ106を用いてロボット12に実作業を実行させる。ロボット12は、教示データ106又は修正した教示データ106に従って動作し、マイクロピペット310及び試験管320を把持し、移動させる。
【0029】
(教示データ106及び修正した教示データ106の算出方法)
教示データ106及び修正した教示データ106を算出する方法の詳細について、図13及び14を用いて説明する。なお、参照経路104、動作経路105及び教示データ106は、いずれもロボット12の両腕分のデータを含んでいるが、簡単のためここでは左腕を例として説明する。
【0030】
まず、参照経路104から教示データ106を求める方法について説明する。図13は、生成ステップで計測した参照経路104の模式図である。S901において計測された参照経路104は、モーションキャプチャシステムにより所定のサンプリング周期で計測されたマーカープレート321のポーズの時系列データであり、次式で表現する。
【数1】
【0031】
数式1中において、左上の添字「W」は作業台座標系2100(Σ)を基準であることを示し、右下の添字「LM」はマーカープレート座標系3200(ΣLM)を対象とすることを示す。引数「i」は、時系列データの順番を示す。数式における添字の意味は、以降も同様である。LM(i)は、4×4の同次変換行列であり、LM(i)は、姿勢を表す3×3の回転行列、LM(i)は、位置を表す3×1の位置ベクトルである。姿勢の表現については、回転行列の他、オイラー角やクオータニオンを用いた表現であっても構わない。図13は、参照経路104に含まれる姿勢及び位置のうちX座標104xのみを図示した例であり、所定のサンプリング周期Δtでx(i)が並んだデータである。
S902では、次式により参照経路104から教示データ106を生成する。
【数2】
【0032】
数式2中のLTLMは、左把持部座標系6200(ΣLT)から見たマーカープレート座標系3200(ΣLM)のポーズであり、図6より既知である。数式2により得られるLT(i)は、作業台座標系2100(Σ)基準の左把持部座標系6200(ΣLT)のポーズの時系列データであり、これが教示データ106である。
【0033】
次に、修正ステップで動作経路105から教示データ106を修正する方法について説明する。図14は、修正ステップで計測する動作経路105の模式図である。動作経路105は、S1102において教示データ106を用いてロボット12を動作させ、数点おきにロボット12を停止させて計測されたマーカープレート321のポーズの時系列データであり、数式1の右肩にプライムを振って、次式で表現する。
【数3】
【0034】
図14は、図13と同様に動作経路105に含まれる位置及び姿勢のうちX座標105xのみを図示した例であり、2点おきにi=1,4,7……の点で測定している。
【0035】
S1103における位置決め誤差は、参照経路104と動作経路105との間の差であり、動作経路105を測定したiにおいて、位置誤差p(i)及び姿勢誤差R(i)を次式のように定義する。
【数4】
【数5】
【0036】
数式4及び5から分かるように、位置誤差p(i)は、単純な位置ベクトルの差であり、姿勢誤差R(i)は、参照経路104の姿勢から見た動作経路105の姿勢の回転行列である。動作経路105を測定していないiについては、式4及び5により得られた位置決め誤差を補間して位置決め誤差を求める。補間方法は、線形補間の他、スプライン補間など任意の補間方法で構わない。但し、姿勢誤差R(i)は、3×3の回転行列であるため、行列形式のまま補間計算をすると回転行列の制約を満たさなくなるケースがある。そこで、オイラー角やクオータニオンなど他の表現形式に変換してから補間計算をし、改めて回転行列に変換することで、参照経路104の全てのiに対して、位置誤差p(i)及び姿勢誤差R(i)を得ることができる。
【0037】
この位置決め誤差が規定値を越えている場合、位置決め誤差を用いて教示データ106が修正される。動作経路105が参照経路104と一致するように、修正後の教示データ106は、次式により求まる。
【数6】
【0038】
数式6により得られるLT(i)が、位置決め誤差により修正された教示データ106である。修正した教示データ106を用いてロボットを動作させ、改めて計測した動作経路105を、数式3の右肩にプライムを追加して、次式で表現する。
【数7】
S1103において改めて求める位置決め誤差は、参照経路104と動作経路105との間の差であり、次式のように表される。
【数8】
【数9】
【0039】
S1104において位置決め誤差が再び規定値を超過している場合、S1105において修正した教示データ106を修正する。この時の教示データ106の計算は、数式4及び5の1回目の位置決め誤差と、数式8及び9の2回目の位置決め誤差の両方を用いて、次式により表される。
【数10】
【0040】
上記のように、動作経路105の計測と教示データ106の修正とを反復することで、動作経路105が参照経路104とほぼ一致する修正した教示データ106を得ることができる。
【0041】
(実施例1の効果)
実施例1では、ロボット12による実作業の実行前に、修正ステップS702を実行する。これにより、ロボット12による実作業中には、マーカープレート311及び321及び当該マーカープレート311及び321を撮像するカメラ201~204を設ける必要が無いので、簡単な構成でロボットに実作業を実行させることができる。
【0042】
また、実施例1では、ロボット12による実作業の実行前に、修正ステップS702を実行することによって、高速な作業を行うロボット12にも教示者11の作業動作を高精度に教示することができる。
【0043】
また、実施例1では、ロボット12は、作業台座標系2100(Σ)を認識してから、作業台座標系2100(Σ)を基準とした教示データにより動作する。これにより、作業台10に対するロボット12の立ち位置の精度が悪くても、ロボット12による作業台座標系2100(Σ)の認識によって、作業台10に対するロボット12の立ち位置の誤差を把握することができる。その結果、ロボット12が把持する被把持物の絶対位置決め精度が保証される。
【0044】
実施例1では、マーカープレート311及び321の4個の反射マーカー311a~311d及び321a~321dをカメラ201~204で撮像することによって、被把持物の三次元位置及び姿勢を容易に測定することができる。
【0045】
実施例1では、参照経路104及び動作経路105の両方が、被把持物の位置及び姿勢の時系列データであるから、教示者11が把持した被把持物の位置及び姿勢と、ロボット12が把持した被把持物の位置及び姿勢とを、精度良く一致させることができる。
【0046】
実施例1では、参照経路104と動作経路105との誤差が規定値より大きい場合に修正ステップが実行されるので、不要な修正ステップが実行されるのを防止することができる。また、修正ステップでは、参照経路104と動作経路105との誤差を用いて、教示データ106を修正することができるので、誤差に応じた適切な教示データ106の修正を行うことができる。
【0047】
実施例1では、生成ステップにおいて教示者11が作業を実演した際の参照経路104と修正ステップでロボット12を動作させた際の動作経路105との間の誤差(位置決め誤差)が規定値以内となるような教示データ106を得ることできる。これにより、教示者11が実演した作業と一致するような高精度な作業をロボットに実行させることができる。なお、位置決め誤差の要因としては、ロボット12の実際のリンクパラメータが制御装置100内と厳密には一致していないことによる誤差、ロボット12や被把持物の重量によるたわみ変形による誤差、モーションキャプチャシステムの計測誤差、マーカープレート311及び321の取付位置の誤差など様々挙げられる。しかし、実施例1では、教示者11とロボット12とが同じ計測環境の中で被把持物を把持して移動させた際の参照経路104と動作経路105とを一致させるように教示データ106を修正する。これにより、上記したいずれの誤差の影響も取り除いて、教示者11が教示した参照経路104の通りに、ロボット12を動作させることができる。
【0048】
実施例1では、被把持物のポーズの計測に光学式のモーションキャプチャシステムを用いる例を示したが、その他の非接触の三次元計測手段であっても構わない。例えば、磁気式の三次元計測器、レーザートラッカー、教示者11の動作をカメラで撮影した画像を解析するシステムなどが挙げられる。非接触の三次元計測手段を用いることで、教示者11は、計測手段による拘束を受けずに作業を教示することができる。
【0049】
実施例1では、S901において、参照経路104を所定のサンプリング周期で計測した時系列データとして記録する例を示した。しかし、必ずしも所定のサンプリング周期である必要はなく、軌道の代表点であっても構わない。特徴的な点のみを時系列データとして記録することで、扱うデータのサイズを小さくすることができる。
【0050】
また、S902において教示データ106を生成する際、参照経路104と教示データ106との時系列データの時間幅は一致している必要は無い。例えば、参照経路104をダウンサンプリングしてから、教示データ106を生成しても構わない。これにより、教示データ106のデータのサイズを小さくすることができ、最終的にロボット12を動作させるために必要なデータを小さくすることができる。
【0051】
実施例1では、S1102において動作経路105を計測する際、教示データ106を用いてロボット12を動作させて、数点おきにロボット12の動作を停止させてポーズ計測部101により計測する例を示した。しかし、一点ずつ停止して計測しても構わない。この場合、動作経路105の計測に時間を要するが、各点における位置決め誤差を補間することなく得られる。さらに、一点ずつ停止する場合、ロボット12を低速で動作させることになるため、ロボット12が安全に動作するかの確認を兼ねることができる。なお、数点おきにロボット12を停止させる場合の時間間隔は一定でなくても構わない。例えば、事前に教示データ106の各点間の移動量を求めておき、所定の移動量を超えるたびにロボット12を停止させて動作経路105を計測する。これにより、移動量が小さい箇所で必要以上にロボット12を停止することがなくなり、修正ステップに要する時間を短縮することができる。
【0052】
<実施例2>
実施例2では、実施例1より作業の教示が簡単なロボットの作業教示装置について、図15及び16を用いて説明する。図15は、実施例2におけるロボット12の左ハンド620に設定された座標系を示す図であり、図16は、左ハンド620に設定された座標系とマーカープレート321に設定された座標系との関係を示す図である。図15及び16において、図5及び6と同じもの又は同一機能のものは同一の符号を付して重複する説明を省略する。実施例2におけるロボット12の左ハンド620は、開閉する2本の指620d及び620eを有し、これらの指620d及び620eの先端の凹部で試験管320を挟んで把持する。指620eの側面には、マーカープレート321を設置することが可能なマーカープレート設置部620fが形成されている。
【0053】
実施例2における作業教示の手順は、実施例1と同様に、教示者11が作業を実演して教示データ106を生成する生成ステップと、ロボット12に作業を実施させて教示データ106を修正する修正ステップと、の二つの工程を有している。その後、修正ステップで修正された教示データ106を用いて、ロボット12に作業を実行させる。以下、実施例1と異なる点について、詳細に説明する。
生成ステップの手順については、実施例1と同様である。なお、実施例2の生成ステップで生成されるマーカープレート311及び321のポーズの時系列データは、本発明の参照経路(把持部の位置及び姿勢の時系列データ)の一例である。
【0054】
(修正ステップ)
修正ステップの手順について、図11のフローチャートに沿って説明する。修正ステップでは、教示者11は作業台10から離れ、替わりに無人搬送車によりロボット12を作業台10の前の所定の位置に移動させる。実施例1とは異なり、ロボット12には何も持たせず、図16のように左ハンド620の指620eにマーカープレート321を設置する。マーカープレート座標系3200(ΣLM)と左把持部座標系6200(ΣLT)との位置関係が、左ハンド620で試験管320を把持した時と一致するように、指620dと620eとの開き幅を調整する。右ハンドも同様に、マーカープレート311を設置し、右ハンドの指の開き幅を調整する。ロボット12は、ステレオカメラ12cにより作業台10上のマーカー12mを計測し、作業台座標系2100(Σ)を認識する(S1101)。作業台10に対するロボット12の立ち位置の誤差は、これにより把握される。次に、教示データ実行部103は、生成ステップで記録した教示データ106を用いてロボット12を動作させ、マーカープレート311及び321が取り付けられた両ハンドを動作させる。このとき、ポーズ計測部101は、マーカープレート311及び321のポーズの時系列データを動作経路105として計測し、記録する(S1102)。マーカープレート311及び321のポーズの時系列データは、本発明の動作経路(把持部の位置及び姿勢の時系列データ)の一例である。
【0055】
S1102における動作経路105の計測の際、教示データ106をそのまま実行するのではなく、数点おきにロボット12の動作を停止させ、停止時のマーカープレート311及び321のポーズの時系列データを動作経路105として計測する。続いて、教示データ生成・修正部102は、生成ステップで記録した参照経路104と修正ステップで記録した動作経路105との間の誤差(位置決め誤差)を算出する(S1103)。この位置決め誤差が所定の規定値を越えている場合(S1104:Yes)、教示データ生成・修正部102は、位置決め誤差を用いて教示データ106を修正する(S1105)。修正した教示データ106は、補助記憶装置123に記録される。そして、教示データ実行部103は、修正後の教示データ106を用いて、ロボット12を動作させ、再び動作経路105の計測(S1102)、及び、位置決め誤差の算出(S1103)を行う。再び算出した位置決め誤差が所定の規定値を越えている場合、又は、教示データ106の修正回数が所定回数を超過するまで、S1102~S1105を繰り返す。位置決め誤差が所定の規定値以内となった場合、又は、教示データ106の修正回数が所定回数を超過した場合、教示データ106又は修正した教示データ106を記録する(S1106)。これにより、修正ステップは完了となる。
【0056】
(実行ステップ)
次に、教示データ106又は修正した教示データ106を用いてロボット12が行う実作業について、説明する。教示段階の終了後、マーカープレート311及び321をロボット12の両ハンドから取り外す。また、カメラ201~204を作業台10から取り外す。ロボット12は、作業台10の前の位置に配置される。ロボット12は、ステレオカメラ12cにより作業台10上のマーカー12mを計測し、作業台座標系2100(Σ)を認識する。作業台10に対するロボット12の立ち位置の誤差は、これにより把握される。次に、教示データ実行部103は、教示データ106又は修正した教示データ106を用いてロボット12を動作し、マイクロピペット310及び試験管320を把持し、移動させる。教示されたロボット12による実作業中に試験管320を左ハンドで把持する様子は、図15に示す通りである。
【0057】
(実施例2の効果)
実施例2では、修正ステップにおいてロボット12に被把持物を把持させる必要がないため、扱う被把持物の種類が多い場合に、作業教示の工数を低減することができる。
【0058】
また、実施例2では、ロボット12による実作業時に、マーカープレート311及び321をロボット12の両ハンドから取り外す例について示した。しかし、マーカープレート311及び321が実作業の妨げにならないのであれば、取り外さなくても構わない。教示者11による作業教示用のマーカープレート311及び321と、ロボット12の両ハンドへの取り付け用のマーカープレート311及び321と、を二組用意しておけば、作業教示時の生成ステップから修正ステップへの移行が簡単となる。また、作業教示の工数を低減することができる。
その他の効果については、実施例1と同様である。
【0059】
<変形例>
本開示は、上述した実施形態に限定されるものでなく、様々な変形例を含んでいる。例えば、上述した実施形態は、本開示を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備える必要はない。また、ある実施形態の一部を他の実施形態の構成に置き換えることができる。また、ある実施形態の構成に他の実施形態の構成を加えることもできる。また、各実施形態の構成の一部について、他の実施形態の構成の一部を追加、削除又は置換することもできる。
【符号の説明】
【0060】
1…ロボットの作業教示装置、10…作業台、11…教示者、12…ロボット、12c…ステレオカメラ、12m…マーカー、100…制御装置、101…ポーズ計測部、102…教示データ生成・修正部、103…教示データ実行部、104…参照経路、105…動作経路、106…教示データ、201~204…カメラ、210…カメラの視野、310…マイクロピペット、320…試験管、311、321…マーカープレート、311a~311d、321a~321d…反射マーカー、312、322…アタッチメント、620…左ハンド、2100…作業台座標系、3100、3200…マーカープレート座標系、6200…左把持部座標系、7200…左リンク先端座標系
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16