(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024102425
(43)【公開日】2024-07-31
(54)【発明の名称】補正方法、補正システム、および、プログラム
(51)【国際特許分類】
B25J 13/08 20060101AFI20240724BHJP
B25J 9/10 20060101ALI20240724BHJP
【FI】
B25J13/08 A
B25J9/10 A
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023006295
(22)【出願日】2023-01-19
(71)【出願人】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】溝口 安志
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707BS12
3C707KS03
3C707KS04
3C707KS05
3C707KT03
3C707KT05
3C707LS15
3C707LT12
(57)【要約】
【課題】システムの立ち上げにかかる時間を短縮する。
【解決手段】ロボットアームの動作経路を補正する補正方法は、(a)画像センサーを用いて、ロボットアームの作業の対象である対象物の位置および姿勢を表す画像を取得するステップと、(b)画像センサーにより取得された画像と、画像を用いて生成された点群データと、を含第1情報、および、対象物が配置されるべき基準位置および基準姿勢を表す基準情報、を用いて、対象物の現在の位置および姿勢と、基準位置および基準姿勢と、のズレ量を算出するステップと、(c)基準位置に基準姿勢で配置されている対象物に対して作業を行うためにロボットアームについてあらかじめ計画された動作経路を表す経路情報を、ズレ量を用いて補正するステップと、を含む。
【選択図】
図6
【特許請求の範囲】
【請求項1】
ロボットアームの動作経路を補正する補正方法であって、
(a)画像センサーを用いて、前記ロボットアームの作業の対象である対象物の位置および姿勢を表す画像を取得するステップと、
(b)前記画像センサーにより取得された前記画像と、前記画像を用いて生成された点群データと、を含む第1情報、および、前記対象物が配置されるべき基準位置および基準姿勢を表す基準情報、を用いて、前記対象物の現在の位置および姿勢と、前記基準位置および前記基準姿勢と、のズレ量を算出するステップと、
(c)前記基準位置に前記基準姿勢で配置されている前記対象物に対して作業を行うために前記ロボットアームについてあらかじめ計画された動作経路を表す経路情報を、前記ズレ量を用いて補正するステップと、
を含む補正方法。
【請求項2】
請求項1に記載の補正方法であって、
(d)前記ステップ(a)が実行されるより前に実行されるステップであって、前記画像センサーが取り付けられた前記ロボットアームがあらかじめ決められた移動経路を辿る間に、前記画像センサーを用いて、前記基準位置に前記基準姿勢で配置された前記対象物の少なくとも一部および前記対象物の決められた位置に付されたマークについての前記位置および前記姿勢を表す基準画像を取得し、前記基準画像を用いて前記基準情報を生成するステップ、
をさらに含み、
前記ステップ(a)において、前記ロボットアームが前記移動経路と同一の経路を辿る間に、前記ステップ(d)における取得条件と同じ条件で、前記画像センサーを用いて、前記対象物の少なくとも一部および前記対象物の決められた位置に付された前記マークについての前記位置および前記姿勢を表す前記画像である対象画像を取得する、
補正方法。
【請求項3】
請求項2に記載の補正方法であって、
前記ステップ(d)において、前記対象物の表面の前記決められた位置に形成された3次元形状を有する前記マークについての前記基準画像を取得し、
前記ステップ(a)において、前記対象物の表面の前記決められた位置に形成された3次元形状を有する前記マークについての前記対象画像を取得する、
補正方法。
【請求項4】
請求項2に記載の補正方法であって、
前記ステップ(d)において、前記対象物の表面の前記決められた位置に取り付けられた左右非対称の形状を有する前記マークについての前記基準画像を取得し、
前記ステップ(a)において、記対象物の表面の前記決められた位置に取り付けられた左右非対称の形状を有する前記マークについての前記対象画像を取得する、
補正方法。
【請求項5】
請求項3または4に記載の補正方法であって、
前記ステップ(c)において、さらに、前記ロボットアームと前記対象物との相対的な位置関係を表す情報を、前記ズレ量を用いて補正する、
補正方法。
【請求項6】
請求項5に記載の補正方法であって、
前記画像センサーは、ネットワークを介して遠隔地にあるコンピューターと通信可能であり、
前記ステップ(b)において、前記コンピューターは、前記画像センサーから供給された前記画像と前記画像を用いて生成された前記点群データとを含む前記第1情報、および、前記基準情報、を用いて前記ズレ量を算出し、
前記ステップ(c)において、前記コンピューターは、前記ズレ量を用いて前記経路情報を補正する、
補正方法。
【請求項7】
請求項6に記載の補正方法であって、
前記ズレ量を示す情報と、補正後の前記経路情報をユーザーに提示するステップ、
をさらに含む、
補正方法。
【請求項8】
ロボットアームの動作経路を補正する補正システムであって、
画像センサーを用いて、前記ロボットアームの作業の対象である対象物の位置および姿勢を表す画像を取得する取得部と、
前記画像センサーにより取得された前記画像と、前記画像を用いて生成された点群データと、を含む第1情報、および、前記対象物が配置されるべき基準位置および基準姿勢を表す基準情報、を用いて、前記対象物の現在の位置および姿勢と、前記基準位置および前記基準姿勢との、ズレ量を算出する算出部と、
前記基準位置に前記基準姿勢で配置されている前記対象物に対して作業を行うために前記ロボットアームについてあらかじめ計画された動作経路を表す経路情報を、前記ズレ量を用いて補正する補正部と、
を備える補正システム。
【請求項9】
ロボットアームの動作経路を補正するためのプログラムであって、
コンピューターに、
前記ロボットアームの作業の対象である対象物の位置および姿勢を表す画像を、画像センサーを用いて取得する機能と、
前記画像センサーにより取得された前記画像と、前記画像を用いて生成された点群データと、を含む第1情報、および、前記対象物が配置されるべき基準位置および基準姿勢を表す基準情報、を用いて、前記対象物の現在の前記位置および前記姿勢と、前記基準位置および前記基準姿勢と、のズレ量を算出する機能と、
前記基準位置に前記基準姿勢で配置されている前記対象物に対して作業を行うために前記ロボットアームについてあらかじめ計画された動作経路を表す経路情報を、前記ズレ量を用いて補正する機能と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、補正方法、補正システム、および、プログラムに関する。
【背景技術】
【0002】
ロボットは、作業空間内に存在する障害物との衝突を回避しながら動作する必要がある。このため、特許文献1に記載されているように、ロボットの作業空間内に存在する障害物を特定するため、ロボットの周囲の障害物の形状および位置についての3次元情報を表すCADデータが用いられることがある。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載されているように、ロボットの周囲の障害物の形状および位置についての3次元情報を表すCADデータを用いる方法を用いる場合、ロボットシステムを新たな作業環境に移設するときには、移設先の作業環境に関するCADデータを新たに登録し、CADデータを用いてロボットの動作経路を新たに生成する必要がある。このため、ロボットシステムの立ち上げに時間がかかる。よって、ロボットシステムの移設時におけるシステムの立ち上げにかかる時間を短縮できる技術が望まれていた。
【課題を解決するための手段】
【0005】
本開示は、以下の形態として実現することが可能である。
【0006】
本開示の第1形態によれば、ロボットアームの動作経路を補正する補正方法が提供される。この補正方法は、(a)画像センサーを用いて、ロボットアームの作業の対象である対象物の位置および姿勢を表す画像を取得するステップと、(b)前記画像センサーにより取得された前記画像と、前記画像を用いて生成された点群データと、を含む第1情報、および、前記対象物が配置されるべき基準位置および基準姿勢を表す基準情報、を用いて、前記対象物の現在の位置および姿勢と、前記基準位置および前記基準姿勢と、のズレ量を算出するステップと、(c)前記基準位置に前記基準姿勢で配置されている前記対象物に対して作業を行うために前記ロボットアームについてあらかじめ計画された動作経路を表す経路情報を、前記ズレ量を用いて補正するステップと、を含む。
【0007】
本開示の第2形態によれば、ロボットアームの動作経路を補正する補正システムが提供される。この補正システムは、画像センサーを用いて、前記ロボットアームの作業の対象である対象物の位置および姿勢を表す画像を取得する取得部と、前記画像センサーにより取得された前記画像と、前記画像を用いて生成された点群データと、を含む第1情報、および、前記対象物が配置されるべき基準位置および基準姿勢を表す基準情報、を用いて、前記対象物の現在の位置および姿勢と、前記基準位置および前記基準姿勢との、ズレ量を算出する算出部と、前記基準位置に前記基準姿勢で配置されている前記対象物に対して作業を行うために前記ロボットアームについてあらかじめ計画された動作経路を表す経路情報を、前記ズレ量を用いて補正する補正部と、を備える。
【0008】
本開示の第3形態によれば、ロボットアームの動作経路を補正するためのプログラムが提供される。このプログラムは、コンピューターに、ロボットアームの作業の対象である対象物の位置および姿勢を表す画像を、画像センサーを用いて取得する機能と、前記画像センサーにより取得された前記画像と、前記画像を用いて生成された点群データと、を含む第1情報、および、前記対象物が配置されるべき基準位置および基準姿勢を表す基準情報、を用いて、前記対象物の現在の前記位置および前記姿勢と、前記基準位置および前記基準姿勢と、のズレ量を算出する機能と、前記基準位置に前記基準姿勢で配置されている前記対象物に対して作業を行うために前記ロボットアームについてあらかじめ計画された動作経路を表す経路情報を、前記ズレ量を用いて補正する機能と、を実現させる。
【図面の簡単な説明】
【0009】
【
図1】位置補正システムの全体構成を示す概略図である。
【
図3】情報処理装置の概略構成を示すブロック図である。
【
図4】基準情報を取得する処理を表したフローチャートである。
【
図5】3Dセンサーと治具との位置関係の一例を表す図である。
【
図6】ズレを検出する処理を表したフローチャートである。
【
図7】マークを撮像した第2撮像画像の一例である。
【
図8】マークを撮像した第2撮像画像の他の例である。
【発明を実施するための形態】
【0010】
A.実施形態:
図1は、本実施形態にかかる位置補正システム10の全体構成を示す概略図である。位置補正システム10は、ロボットシステムにおいて、ロボットの動作経路を補正する。より具体的には、位置補正システム10は、ロボットの作業対象である治具の位置ズレを検出し、検出した位置ズレを用いてロボットの動作経路を補正する。位置補正システムを補正システムともよぶ。
【0011】
位置補正システム10は、ロボット100と、ロボットコントローラー200と、3Dセンサー300と、作業台600と、治具700と、情報処理装置800と、を備える。ロボット100と、ロボットコントローラー200と、3Dセンサー300と、作業台600と、治具700と、をひとまとめにして、ロボットシステムとよぶことがある。
【0012】
ロボット100は、基台110と、アーム120と、エンドエフェクター150とを備える。基台110は、ロボット100を構成する部材を支持している。基台110は、作業台600に固定されている。
【0013】
アーム120は、6つの関節J1~J6を含む。関節J1、J4、J6はねじり関節である。関節J2、J3、J5は曲げ関節である。各関節には、サーボモーターと、減速機と、角度センサーとがそれぞれ設けられている。なお、
図1において、サーボモーターと、減速機と、角度センサーとは図示していない。サーボモーターは、ロボットコントローラー200から電流を供給され、各関節を駆動するための回転出力を生成する。減速機は、サーボモーターから与えられた回転入力を、回転速度が低い回転出力に変換、すなわち、減速する。ロボット100は、関節J1~J6それぞれをサーボモーターで回転させることにより、3次元空間中の指定された位置に指定された姿勢で、エンドエフェクター150および3Dセンサー300を配することができる。ロボット100をロボットアームともよぶ。
【0014】
角度センサーは、例えば、エンコーダー、ポテンションメーター、レゾルバーである。角度センサーは、サーボモーターの出力軸の回転角度(軸の位置)を、その関節の回転角度として検出する。検出された回転角度は、ロボットコントローラー200に出力される。
【0015】
エンドエフェクター150は、アームエンド120eに装着されている。実施形態では、エンドエフェクター150は、ワークWKに微細な穴を開けるドリルである。ワークWKは、回路基板である。なお、
図1においては、技術の理解の容易のために、エンドエフェクター150を単なる円筒として図示している。
【0016】
ロボットコントローラー200は、ロボット100を駆動することによって、ロボット座標系RCにおいてロボット100の制御点の位置を制御する。ロボット100の制御点は、例えば、関節J6の回転軸上のあらかじめ決められた位置に設定される。制御点は、3次元空間におけるエンドエフェクター150の位置を代表する地点である。制御点を、TCP(Tool Center Point)とよぶことがある。ロボットコントローラー200は、プロセッサー、メモリー等を備えたコンピューターである。ロボットコントローラー200は、撮像装置310は、有線通信または無線通信により情報処理装置800と通信できる。
【0017】
ロボット座標系RCは、基台110の位置に対して固定されている座標系である。ロボット座標系RCは、水平面上において、互いに直交するX軸およびY軸と、鉛直上向きを正方向とするZ軸と、によって規定される三次元直交座標系である。ロボット座標系RCにおける位置は、X軸方向の位置と、Y軸方向の位置と、Z軸方向の位置とにより表すことができる。また、ロボット座標系RCにおける姿勢は、X軸回りの回転の角度位置と、Y軸回りの回転の角度位置と、Z軸回りの回転の角度位置とにより表すことができる。対象座標系WCは、配置される基準位置に取るべき基準姿勢で配置されている治具700に対して固定されている三次元直交座標系である。技術の理解の容易のため、実施形態においては、対象座標系WCにおけるXY平面は水平面に平行であるものとする。
【0018】
3Dセンサー300は、対象物を撮像した画像を取得する。3Dセンサー300は、対象物の位置および姿勢を検出するために用いられる。3Dセンサー300は、アーム120の先端近傍に取り付けられている。ロボット100の先端部の位置および姿勢を変更することにより、3Dセンサー300の位置および姿勢を変えることができる。3Dセンサー300は、撮像装置310と、プロジェクター320とを有する。3Dセンサー300を画像センサーともよぶ。
【0019】
撮像装置310は、CCD(Charge Coupled Device)、CMOS(Complementary Metal Oxide Semiconductor)等の撮像素子を備えるカメラである。実施形態において、技術の理解の容易のために、撮像装置310は、モノクロの静止画像を撮像するものとする。撮像装置310は、有線通信または無線通信により情報処理装置800と通信できる。撮像装置310は、撮像した画像を表す画像データを情報処理装置800へ送信する。
【0020】
プロジェクター320は、投影画像を被写体に投写する。実施形態において、後述する治具700に付されたマークM1が被写体である。プロジェクター320は、有線通信または無線通信により情報処理装置800と通信できる。プロジェクター320は、情報処理装置800から供給された画像データが示す投影画像を被写体に投写する。
【0021】
作業台600は、ロボット100および治具700を支持する台である。治具700は、ワークWKの位置決めのために用いられる。治具700を、ロボット100の作業の対象である対象物ともよぶ。治具700は、作業台600上にネジで固定されている。治具700は、ワークWKを収容するための凹部を有する。例えば、不図示のロボット100とは異なる他のロボットがワークWKを治具700の凹部に収納する。その後、ロボット100は、治具700の凹部に収容されたワークWKにドリルで微細な穴を開ける。
図1においては、ワークWKを図示しているが、ロボットの動作経路を補正する際には、治具700にはワークWKが収容されていないものとする。
【0022】
図2は、マークM1についての説明図である。
図2においては、治具700を単純な板状部材として表している。実施形態においては、治具700の決められた位置に、マークM1が付されている。マークM1は、樹脂製の方形の板状の部材の中央部に、十字形の凹部が形成されたものである。マークM1は、治具700の片隅に固定されている。マークM1は、ロボット100の動作経路の補正に用いられる。マークM1の用途の詳細については後述する。
【0023】
図3は、情報処理装置800の概略構成を示すブロック図である。情報処理装置800は、メモリー820と、インターフェイス部830と、入力装置840と、表示装置850と、プロセッサー860と、を備えるコンピューターである。
【0024】
メモリー820は、情報処理装置800が実行する各種処理に使用される各種のプログラムおよびデータを記憶する。インターフェイス部830には、入力装置840と、表示装置850と、ロボットコントローラー200と、3Dセンサー300とが接続されている。入力装置840は、例えば、キーボード、マウスである。表示装置850は、例えば、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイである。
【0025】
プロセッサー860は、メモリー820に記憶されているプログラムを実行することにより様々な機能を実現する。プロセッサー860は、メモリー820に格納されているプログラムを実行することで、取得部910と、算出部920と、補正部930として機能する。
【0026】
取得部910は、3Dセンサー300を用いて、ロボット100の治具700の位置および姿勢を表す画像を取得する。
【0027】
実施形態において、三次元計測として、ストラクチャードライト方式を用いた位相シフト法が用いられる。このため、取得部910は、まず、プロジェクター320により、被写体にパターン光を投影する。撮像装置310は、プロジェクター320が投影画像を被写体に投影しているときに被写体を撮像する。取得部910は、撮像した画像を表す画像データを撮像装置310から取得する。被写体に投影画像が投影されているときに撮像された画像を第1撮像画像IM1という。取得部910は、第1撮像画像IM1を撮像装置310から受け付ける。
【0028】
さらに、撮像装置310は、投影画像が被写体に投影されていないときに被写体を撮像する。被写体に投影画像が投影されていないとき撮像された画像を第2撮像画像IM2という。取得部910は、第2撮像画像IM2を撮像装置310から受け付ける。マークM1を撮像することにより取得された第1撮像画像IM1および第2撮像画像IM2は、治具700の位置および姿勢を表す情報として扱われる。
【0029】
算出部920は、治具700が配置されるべき基準位置および基準姿勢と、第1撮像画像IM1および第2撮像画像IM2とを用いて、治具700の現在の位置および姿勢と、基準位置および基準姿勢とのズレ量を算出する。実施形態においては、基準位置とは、XYZ空間内において、治具700が配置されるべき位置のことをいい、基準姿勢とは、X軸、Y軸、Z軸の各軸まわりの回転を含む、治具700が取るべき姿勢のことをいう。基準姿勢を取っている状態において、治具700に付されたマークM1は、対象座標系WCにおけるXY平面に平行な面に沿って配置されている。
【0030】
まず、算出部920は、第1撮像画像IM1と、第2撮像画像IM2とを用いて、マークM1の位置および姿勢を算出する。そして、算出部920は、マークM1の現在の位置および姿勢と、マークM1についてあらかじめ決められた位置および姿勢とのズレ量を算出する。マークM1の位置および姿勢の算出の方法の詳細と、ズレ量の算出の方法の詳細とについては後述する。
【0031】
補正部930は、ロボット100についてあらかじめ計画された動作経路を表す経路情報を、算出部920により算出されたズレ量を用いて補正する。あらかじめ計画された動作経路は、基準位置に基準姿勢で配置されている治具700に対して、ロボット100が作業を行うことを前提として計画されている。
【0032】
経路情報を補正する理由は以下の通りである。ロボットシステムを、例えば、海外の工場に導入することがある。ここで、現地の工場にいる作業者が、ロボット100に作業用の動作経路を覚えさせるための十分なスキルを有していないことがある。このため、ロボットシステムを海外の工場に輸送する前に、ロボットシステムの製造元において十分なスキルを有する作業者が、ロボット100に作業用の動作経路を覚えさせる。この際、ロボット100の作業対象の治具700を作業台600に固定した状態で、ロボット100と治具700との相対的な位置関係が決定される。これにより、ロボット100は、導入先の海外の工場において、覚えた作業用の動作経路どおりに動作する。
【0033】
ここで、問題となるのが、輸送中における振動等により、作業台600に治具700を固定するネジの締め付けに緩みが生じることがある。また、ロボットシステムの製造元における温度環境と導入先の海外の工場における温度環境との差により、作業台600に治具700を固定するネジが膨張し、ネジの締め付けに緩みが生じることがある。この結果、ロボット100と治具700との相対的な位置関係にズレが生じる。
【0034】
ロボット100により精密な加工作業を行うことが予定されている場合、わずかな位置ズレであっても、位置ズレに対応して経路情報を補正する必要がある。例えば、ワークWKへの加工について、50ミクロンオーダーの精度が要求されている場合には、治具700の位置が1ミリずれていることは大きな問題となる。このため、経路情報を補正する必要があった。
【0035】
従来は、熟練した技術者が導入先の海外の工場に派遣され、位置ズレに対応するため、ロボット100の動作経路を補正する作業を行うことが必要であった。このため、技術者が現地に移動して、動作経路の補正に関する作業を完了するまでは、ロボットシステムを稼働することができなかった。さらに、技術者の移動および現地での滞在のため、コストもかさむ傾向にあった。よって、位置ズレに対応させるためロボット100の動作経路を容易に補正できる技術が望まれていた。
【0036】
図4は、基準情報を取得する処理を表したフローチャートである。
図4に示す処理は、取得部910として機能する、情報処理装置800のプロセッサー860により実行される。基準情報は、ロボット100が作業用の動作経路PWに沿って動作するときに、治具700が配置されるべき基準位置および基準姿勢を表す情報である。作業用の動作経路PWは、ロボット100が、初期位置から加工作業を行う位置への移動動作および治具700に収容されているワークWKへの作業動作のため、辿るべき経路である。作業用の動作経路PWをあらかじめ計画された動作経路ともよぶ。基準情報を取得する処理は、ロボットシステムが移設される前に実行される。例えば、作業者が入力装置840を介して処理の開始を指示すると、プロセッサー860は
図4に示す処理を開始する。
【0037】
ステップS101において、プロセッサー860は、ロボットコントローラー200を介して、ロボット100に画像撮像用の動作経路PIに沿った移動を開始させる。なお、
図4に示す処理が実行されるに先立って、画像撮像用の動作経路PIをロボット100に覚えさせていることを前提とする。ロボット100は、画像撮影用の動作経路PIにおいて設定されたポイントP1、および、終点に到達すると、停止するようにプログラムされている。画像撮影用の動作経路PIをあらかじめ決められた移動経路ともよぶ。
【0038】
図5は、ポイントP1に配された3Dセンサー300と、治具700との位置関係の一例を表す図である。
図5においては、治具700を単純な板状部材として表している。
図5においては、ロボット100の図示を省略している。ポイントP1は、ポイントP1に配置された撮像装置310の視野範囲およびプロジェクター320の投写範囲それぞれに、治具700に付されたマークM1が含まれる位置である。
図5に示す例では、開始点P0と終点とは同じ位置に設定されている。
【0039】
ステップS102において、プロセッサー860は、ロボット100がポイントP1に到達したか否かを判定する。ロボット100がポイントP1に到達したと判定した場合(ステップS102;YES)、プロセッサー860はステップS103を実行する。ロボット100が次のポイントに到達していない場合(ステップS102;NO)、プロセッサー860は待機する。
【0040】
ステップS103において、プロセッサー860は、ロボットコントローラー200を介して、ロボット100の関節J1~J6それぞれに設けられた角度センサーの検出値をセンサー情報として取得する。
【0041】
ステップS104において、プロセッサー860は、第1基準画像IM10を取得する。具体的には、プロセッサー860は、プロジェクター320により被写体に対してパターン光を投影させる。前述のように治具700に付されたマークM1が被写体である。実施形態においては、π/2ずつ位相をずらしながら、正弦波パターン光が4回被写体に投影される。正弦波パターン光は、輝度が正弦波関数に従って変化する縞模様のパターン光である。プロセッサー860は、パターン光の4回の投影それぞれに合わせて、撮像装置310により被写体を撮像させる。4つの第1基準画像IM10それぞれは、マークM1と、マークM1が付された治具700の少なくとも一部と、が撮像された画像である。プロセッサー860は、4つの第1基準画像IM10をメモリー820に格納する。
【0042】
ステップS105において、プロセッサー860は、パターン光の投影が行われていない状態で撮像装置310により被写体を撮像させることにより、第2基準画像IM20を取得する。第2基準画像IM20は、マークM1と、マークM1が付された治具700の少なくとも一部と、が撮像された画像である。プロセッサー860は、第2基準画像IM20をメモリー820に格納する。第1基準画像IM10および第2基準画像IM20を基準画像ともよぶ。
【0043】
ステップS106において、プロセッサー860は、以下の処理を行うことにより、治具700が配置されるべき基準位置および基準姿勢を表す基準情報を生成する。
【0044】
プロセッサー860は、第2基準画像IM20と、マークM1の形状を表した3次元CADデータとを用いたマッチング処理により、マークM1の輪郭を抽出する。マークM1の形状を表した3次元CADデータは、あらかじめメモリー820に格納されている。マークM1の輪郭として、少なくとも、マークM1の十字形の凹部の輪郭が抽出される。マークM1の輪郭として、マークM1の十字形の凹部の輪郭と、板状部材の外形の輪郭とが抽出されてもよい。プロセッサー860は、第2基準画像IM20におけるマークM1の輪郭を構成する画素の座標値のデータを2次元データD21としてメモリー820に格納する。
【0045】
プロセッサー860は、4つの第1基準画像IM10を用いてマークM1の立体的な形状を表す点群データを位相シフト法により生成する。被写体に投影されたパターン光は被写体で反射するが、被写体の表面の形状に依存して反射光に歪みが生じ、これが位相ずれとなって表れる。位相シフト法では、この位相ずれを解析することにより、被写体の立体的な形状を検出する。なお、撮像装置310とプロジェクター320とのそれぞれの位置関係を表す情報(外部パラメーター)、プロジェクター320の投写レンズの焦点およびレンズ歪みを示す情報(内部パラメーター)等、距離の算出に必要なパラメーターは、あらかじめメモリー820に格納されている。点群データは、マークM1の立体的な形状を、点群のデータとして取得したデータである。点群データには、点群の一点一点の3次元空間における位置をそれぞれ表す座標の情報が含まれる。
【0046】
プロセッサー860は、生成した点群データと、マークM1の形状を表した3次元CADデータと用いたマッチング処理により、マークM1の3次元空間における位置および姿勢を検出する。プロセッサー860は、マークM1の立体的な形状を表す点群の座標値のデータを3次元データD31としてメモリー820に格納する。その後、
図4に示す処理が終了される。
【0047】
実施形態においては、2次元データD21と、3次元データD31とを合わせて、基準情報DSとよぶ。上記の処理により基準情報DSが生成される。
【0048】
さらに、プロセッサー860は、ポイントP1において取得されたセンサー情報を用いて、各関節の変位量を求める。プロセッサー860は、各関節の変位量を用いて、順運動学に基づいて、ポイントP1におけるロボット100の手先の位置および姿勢を表すロボット座標系RCにおける座標値を算出する。なお、関節を結ぶリンクの長さ等、算出に必要な情報はメモリー820にあらかじめ格納されている。プロセッサー860は、算出した座標値をポイントP1における位置情報C1としてメモリー820に格納する。その後、
図4に示す処理が終了される。以上が、ステップS107にかかる処理である。
【0049】
図6は、ズレを検出する処理を表したフローチャートである。
図6に示す処理は、取得部910、算出部920、および、補正部930として機能する、プロセッサー860により実行される。
図6に示す処理が実行される前に、基準情報DSがメモリー820に格納されていることを前提とする。ズレを検出する処理は、ロボットシステムが移設後に実行される。例えば、作業者が入力装置840を介して処理の開始を指示すると、プロセッサー860は
図6に示す処理を開始する。
【0050】
ステップS201において、プロセッサー860は、ロボットコントローラー200を介して、ロボット100に画像撮像用の動作経路PIに沿った移動を開始させる。ロボット100は、画像撮影用の動作経路PIにおいて設定されたポイントP1、および、終点に到達すると、停止するようにプログラムされている。ステップS201において、ロボット100は、基準情報を取得した際と同じ画像撮影用の動作経路PIに沿って移動する。また、
図4に示す処理で取得されたポイントP1における位置情報C1を用いたフィードバック制御により、ロボット100の手先の位置および姿勢を、基準情報を取得したときのポイントの位置に一致させる制御が行われてもよい。
【0051】
ステップS202において、プロセッサー860は、ロボット100がポイントP1に到達したか否かを判定する。ロボット100がポイントP1に到達したと判定した場合、(ステップS202;YES)、プロセッサー860はステップS204を実行する。ロボット100が次のポイントに到達していない場合(ステップS202;NO)、プロセッサー860は待機する。
【0052】
ステップS204において、プロセッサー860は、現在のポイントにおける第1撮像画像IM1を取得する。第1撮像画像IM1の取得方法は、
図4に示すステップS104の第1基準画像IM10の取得方法と同様である。ステップS204においては、
図4に示すステップS104における撮像条件と同じ条件で、第1撮像画像IM1が取得されることを前提とする。撮像条件には、3Dセンサー300の位置および姿勢についての条件も含まれる。プロセッサー860は、4つの第1撮像画像IM1をメモリー820に格納する。
【0053】
ステップS205において、プロセッサー860は、第2撮像画像IM2を取得する。第2撮像画像IM2の取得方法は、
図4に示すステップS105の第2基準画像IM20の取得方法と同様である。ステップS205においては、
図4に示すステップS105における撮像条件と同じ条件で、第2撮像画像IM2が取得されることを前提とする。プロセッサー860は、第2撮像画像IM2をメモリー820に格納する。取得された第1撮像画像IM1および第2撮像画像IM2を対象画像ともよぶ。
【0054】
ステップS207において、プロセッサー860は、現在のマークM1の位置および姿勢と、基準位置および基準姿勢と、のズレの大きさを表すズレ量を算出する。
【0055】
まず、プロセッサー860は、第2撮像画像IM2と、マークM1の形状を表した3次元CADデータとを用いたマッチング処理により、マークM1の輪郭を抽出する。マークM1の輪郭として、少なくとも、マークM1の十字形の凹部の輪郭が抽出される。マークM1の輪郭として、マークM1の十字形の凹部の輪郭と、板状部材の外形の輪郭とが抽出されてもよい。プロセッサー860は、第2撮像画像IM2におけるマークM1の輪郭を構成する画素の座標値のデータを2次元データD22としてメモリー820に格納する。プロセッサー860は、2次元データD22と、
図4に示す処理で取得された2次元データD21とを用いて、対象座標系WCにおけるX軸およびY軸がなす平面内における、マークM1の現在の位置と基準位置とのズレ量を算出する。2次元データD21の取得に用いられた第2基準画像IM20と、2次元データD22の取得に用いられた第2撮像画像IM2とは、同じ取得条件での撮像により取得されたものである。マークM1についての位置を表す第2基準画像IM20と、同じ取得条件で取得された、マークM1についての位置を表す第2撮像画像IM2と、を用いるので、2次元空間におけるマークM1の現在の位置と基準位置とのズレ量を容易に算出できる。
【0056】
図6は、マークM1のズレについての説明図である。
図7は、基準位置に配置されている治具700のマークM1が撮像された画像と、基準位置からずれて配置されている治具のマークM1が撮像された第2撮像画像IM2とを重ね合わせた様子を表す。
図7において、基準位置に基準姿勢で配置されているマークM1を一点鎖線で表している。
図7においては、マークM1がXY平面内において、-Y軸方向および+X軸方向に移動した例を示す。この場合、プロセッサー860は、画像の左右方向に沿ったX軸上におけるズレの大きさを表しズレ量g1、画像の上下方向に沿ったY軸上におけるズレの大きさを表すズレ量g2を算出できる。
【0057】
図8は、マークM1のズレについての説明図である。
図8では、基準位置に配置されている治具700のマークM1が撮像された画像と、基準位置からずれて配置されている治具のマークM1が撮像された第2撮像画像IM2とを重ね合わせた様子を表す。
図8において、基準位置に基準姿勢で配置されているマークM1を一点鎖線で表している。
図8においては、マークM1がXY平面内において回転移動した例を示す。この場合、プロセッサー860は、回転の中心と、回転角度とをズレ量として算出できる。
【0058】
さらに、プロセッサー860は、4つの第1撮像画像IM1を用いてマークM1の立体的な形状を表す点群データを位相シフト法により生成する。プロセッサー860は、生成した点群データと、マークM1の形状を表した3次元CADデータと用いたマッチング処理により、マークM1の3次元空間における位置および姿勢を検出する。プロセッサー860は、マークM1の立体的な形状を表す点群の座標値のデータを3次元データD32としてメモリー820に格納する。プロセッサー860は、3次元データD32と、
図4に示す処理で取得された3次元データD31とを用いて、対象座標系WCにおけるマークM1の現在の位置と基準位置とのズレ量と、マークM1の現在の姿勢と基準姿勢とのズレ量とを算出する。3次元データD31の取得に用いられた第1基準画像IM10と、3次元データD32の取得に用いられ得た第1撮像画像IM1とは、同じ取得条件での撮像により取得されたものである。マークM1についての位置および姿勢を表す第1基準画像IM10と、同じ取得条件で取得された、マークM1についての位置および姿勢を表す第1撮像画像IM1と、を用いるので、3次元空間におけるマークM1の現在の位置および姿勢と、基準位置および基準姿勢とのズレ量を容易に算出できる。
【0059】
プロセッサー860は、第2撮像画像IM2を用いて算出したズレ量と、第1撮像画像IM1を用いて算出したズレ量と、を表すデータD10をメモリー820に格納する。
【0060】
図9は、マークM1の姿勢を表した一例である。
図9においては、XY平面に対して傾いているマークM1を示す。なお、基準位置および基準姿勢において、マークM1は、XY平面に平行な面に沿って配置されていることを前提とする。
図9において、基準位置に基準姿勢で配置されているマークM1を一点鎖線で表している。
図9に示すような場合、XY平面に対する傾き角度がズレ量として算出される。
【0061】
図6に示す、ステップS208において、プロセッサー860は、ロボット100の作業用の動作経路PWを表す経路情報を、算出したズレ量を表すデータD10を用いて補正する。例えば、動作経路PWを表すデータと、ズレ量を表すデータD10とを、入力することにより、動作経路PWを補正する既存のアプリケーションプログラムを用いて動作経路PWが補正される。例えば、
図7に示すように、マークM1がXY平面において基準位置からズレており、
図9に示すように、XY平面に対して傾いているとする。この場合、XY平面内における基準位置に対するズレと、XY平面に対する傾きが表す基準姿勢に対するズレと、を用いて、動作経路PWが補正される。その後、
図6に示す処理が終了される。
【0062】
以上説明したように、実施形態によれば、3Dセンサー300を用いてマークM1を撮像することにより取得された第1撮像画像IM1と第2撮像画像IM2を用いて生成された点群データ、および、あらかじめ生成された基準情報を用いてズレ量が算出される。第1撮像画像IM1と第2撮像画像IM2を用いて生成された点群データとを第1情報ともよぶ。さらに、ズレ量を用いて、あらかじめ計画された動作経路PWが補正される。これにより、補正後の動作経路PWは、治具700が配置されるべき基準位置および基準姿勢に対して生じたズレが考慮されたものとなる。よって、ロボット100が対象物に精密な作業を行う場合であっても、ロボット100の作業の精度を十分に確保することができる。
【0063】
実施形態においては、情報処理装置800が上述の処理を行うことにより、移設先のロボットシステムについてあらかじめ計画された動作経路PWを容易に補正できる。従来のように、熟練した技術者がロボットシステムの導入先の工場に派遣され、ロボット100の動作経路を補正する作業を行う必要がない。ロボットシステムを稼働させるまでの立ち上げ期間の短縮およびコストの削減することができる。また、ロボット100と治具700との相対的な位置関係のズレを定期的に確認することが必要な場合がある。このような場合であっても、情報処理装置800が、ロボットシステムにおける治具700とロボット100との相対的な位置関係に生じたズレを容易に検出できる。
【0064】
また、実施形態においては、同じ取得条件で、基準情報を生成するのに用いられる第1基準画像IM10および第2基準画像IM20、第1撮像画像IM1および第2撮像画像が取得される。取得条件が同じであるとは、撮像条件が同様であること、同じ画像撮像用の動作経路PIを用いることを含む。前述のように、撮像条件には、3Dセンサー300の位置および姿勢についての条件も含まれる。これにより、例えば、2次元におけるズレを検出する場合には、撮像画像におけるマークM1の位置および姿勢の変化量を検出するだけでよい。治具700にマークM1が付されていない場合、治具700の特徴点を撮像画像から抽出する必要がある。治具700にマークM1が付されていない態様に比べて、ズレを検出する処理の負荷を低減できる。
【0065】
実施形態においては、情報処理装置800は、ロボット100の作業用の動作経路PWを表す経路情報を補正するため、立体的に形成されているマークM1を撮像した画像から生成された点群データを用いたマッチング処理と、マークM1を撮像した2次元画像を用いたマッチング処理と、を行う。点群データを用いたマッチング処理と2次元画像を用いたマッチング処理とを組み合わせることにより、ズレ量の算出の精度を向上させることができる。また、実施形態においては、3Dセンサー300が、1つの地点から、1つの姿勢で、マークM1を撮像するだけで、ロボット100の経路情報の補正をすることができる。3Dセンサー300により複数の地点からマークM1を撮像すること、あるいは、異なる複数の姿勢で3Dセンサー300がマークM1を撮像することは不要であるので、手間がかからない。
【0066】
B.他の実施形態:
B1.他の実施形態1
情報処理装置800は、さらに、算出したズレ量を用いて動作経路PWを補正した後、算出したズレ量を用いて、メモリー820に格納されているロボット100と治具700との相対的な位置関係を表す情報を補正できる。この情報は、例えば、基準情報が生成されたときにメモリー820に格納されたものである。これにより、ロボット100と治具700との相対的な位置関係の最新の状態を、情報処理装置800が有するロボット100と治具700との相対的な位置関係を表す情報に反映させることができる。
【0067】
B2.他の実施形態2
また、情報処理装置800は、算出したズレ量を用いて動作経路PWを補正した後、算出しズレ量を示す情報と、補正後の動作経路PWを表す情報を、情報処理装置800を操作するユーザーに提示してもよい。ユーザーは、算出されたズレ量と、ズレ量を用いて補正された補正後の経路情報とについて把握できる。これにより、ユーザーは、必要に応じて補正後の経路を修正することができる。
【0068】
あるいは、情報処理装置800は、算出されたズレ量だけをユーザーに提示してもよい。この場合、ユーザーは、算出されたズレ量を用いて動作経路PWを補正できる。
【0069】
B3.他の実施形態3
図10は、マークM1の形状の他の例を示す図である。実施形態においては、樹脂製の方形の板状の部材に、十字形の凹部が形成された例を説明したが、これに限られない。(a1)は、マークM1の他の例を上から見たときの図である。(a1)に示すように、樹脂製の方形の板状の部材に、円形の凹部が形成されてもよい。(a2)は、(a1)におけるA2-A2切断線で切ったときの断面を示す図である。(a1)に示す円形の凹部は、円の中心を通る1本の直線で分割された2つの半円の領域を含む。一方の半円の領域の深さは、他方の半円の領域の深さと、異なるように設定されている。
【0070】
(b1)は、マークM1のさらに他の例を上から見たときの図である。(b1)に示すように、樹脂製の方形の板状の部材に、円形の凹部が形成されている。(b2)は、(b1)におけるB2-B2切断線で切ったときの断面を示す図である。(b3)は、(b1)におけるB3-B3切断線で切ったときの断面を示す図である。(b1)に示す円形の凹部は、円の中心を通り、互いに直交する2本の直線で分割された4つの扇形の領域を含む。図示する例では、4つの扇形の領域それぞれの深さは、隣り合う2つの扇形の領域の深さと異なり、4つの扇形の領域のうち互いに隣り合わない2つの扇形の領域の深さは、同じとなるように設定されている。このように、凹部の形状が左右対称の形状を有する場合、垂直方向に沿った回転軸まわりにマークが90度回転した場合に、回転によるズレを検出できない可能性がある。しかし、凹部の形状を左右非対称にすることにより、ズレを検出できないという問題を回避できる。
【0071】
マークの形状を変更した場合も、実施形態と同様に、基準画像の取得条件と同じ条件で第1撮像画像IM1および第2撮像画像IM2を取得する。よって、実施形態と同様に、ズレ量の算出が容易である。
【0072】
B4.他の実施形態4
実施形態においては、樹脂製のマークM1が治具700に固定される例を説明した。あるいは、治具700の表面にマークM1が直接形成されていてもよい。この場合、マークM1は、治具700の表面において3Dセンサー300の視野に入る位置に形成された3次元形状を有するものである。この場合、治具700に対してマークM1の位置がずれること、マークM1が治具700から分離することを防止できる。
【0073】
B5.他の実施形態5
実施形態においては、情報処理装置800が、撮像装置310から供給された画像を用いて点群データを生成する例を説明した。しかしながら、撮像装置310が、撮像した画像を用いて点群データを生成し、点群データを情報処理装置800に送信してもよい。この場合、情報処理装置800は点群データの生成を行う必要がない。
【0074】
B6.他の実施形態6
実施形態においては、プロジェクター320に、情報処理装置800から投影画像を示す画像データが供給される例を説明した。しかしながら、プロジェクター320の内部のメモリーにあらかじめ投影画像を示す画像データが格納されていてもよい。この場合、情報処理装置800は、投影画像を示す画像データをプロジェクター320に供給する必要がない。
【0075】
B7.他の実施形態7
また、
図6に示す処理は、情報処理装置800とは異なるコンピューターが遠隔地から実行してもよい。このコンピューターは、情報処理装置800と同様の機能を備え、ネットワークを介した通信により、ロボット100、ロボットコントローラー200、および、3Dセンサー300を、遠隔地から制御できるものとする。よって、遠隔地からあらかじめ計画された動作経路PWを容易に補正できる。
【0076】
B8.他の実施形態8
実施形態においては、1つの治具700がロボット100の作業の対象である例を説明した。例えば、作業台600に2つの治具700が固定されているとする。この場合、それぞれの治具700にマークM1が設けられる。ロボット100は、画像撮像用の動作経路PIに沿って移動する際に、2つの治具700それぞれ設けられているマークM1を撮像するため、2地点で停止する。3Dセンサー300は、一方の地点で、一方の治具700のマークM1を撮像し、他方の地点で、他方の治具700のマークM1を撮像する。情報処理装置800は、それぞれのマークM1を撮像した画像を用いて、それぞれの治具700についての基準情報を取得する。情報処理装置800は、それぞれの治具700のズレ量を、対応する基準情報を用いて算出する。治具700が3つ以上の場合も同様である。
【0077】
B9.他の実施形態9
実施形態においては、三次元計測の方法として、ストラクチャードライト方式を用いた位相シフト法を用いる例を説明した。しかしながら、三次元計測の方法はこれに限られない。例えば、ToF(Time Of Flight)方式により三次元計測が行われてもよい。この場合、3Dセンサー300として、ToFカメラが用いられる。あるいは、ステレオヴビジョン方式により三次元計測が行われてもよい。この場合、3Dセンサー300として、2眼のカメラが用いられる。あるいは、3Dセンサー300として、1眼のカメラを用いて、ロボット100により、カメラの位置を移動するようにしてもよい。
【0078】
実施形態においては、関節J1~J6を有する6軸ロボットの例を説明したが、ロボット100が有する関節の数は6つに限られない。また、実施形態のロボット100は垂直多関節ロボットであったが、ロボット100は水平多関節ロボットであってもよい。
【0079】
また、情報処理装置800の機能を実現する手段は、ソフトウェアに限られず、その一部または全部を、専用のハードウェアによって実現してもよい。例えば、専用のハードウェアとして、FPGA(Field Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)に代表される回路を使用してもよい。
【0080】
C.他の形態:
本開示は、上述の実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態中の技術的特徴は、上述の課題の一部または全部を解決するために、あるいは、上述の効果の一部または全部を達成するために、適宜、差し替え、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【0081】
(1)本開示の第1形態によれば、ロボットアームの動作経路を補正する補正方法が提供される。この補正方法は、(a)画像センサーを用いて、前記ロボットアームの作業の対象である対象物の位置および姿勢を表す画像を取得するステップと、(b)前記画像センサーにより取得された前記画像と、前記画像を用いて生成された点群データと、を含む第1情報、および、前記対象物が配置されるべき基準位置および基準姿勢を表す基準情報、を用いて、前記対象物の現在の位置および姿勢と、前記基準位置および前記基準姿勢と、のズレ量を算出するステップと、(c)前記基準位置に前記基準姿勢で配置されている前記対象物に対して作業を行うために前記ロボットアームについてあらかじめ計画された動作経路を表す経路情報を、前記ズレ量を用いて補正するステップと、を含む。
上記形態によれば、画像センサーを用いて取得された画像および点群データと基準情報とから算出したズレ量を用いて、あらかじめ計画された動作経路を補正することができる。
【0082】
(2)上記形態において、(d)前記ステップ(a)が実行されるより前に実行されるステップであって、前記画像センサーが取り付けられた前記ロボットアームがあらかじめ決められた移動経路を辿る間に、前記画像センサーを用いて、前記基準位置に前記基準姿勢で配置された前記対象物の少なくとも一部および前記対象物の決められた位置に付されたマークについての前記位置および前記姿勢を表す基準画像を取得し、前記基準画像を用いて前記基準情報を生成するステップ、をさらに含み、前記ステップ(a)において、前記ロボットアームが前記移動経路と同一の経路を辿る間に、前記ステップ(d)における取得条件と同じ条件で、前記画像センサーを用いて、前記対象物の少なくとも一部および前記対象物の決められた位置に付された前記マークについての前記位置および前記姿勢を表す前記画像である対象画像を取得してもよい。
この形態によれば、対象物に付されたマークについての位置および姿勢を表す基準画像と、同じ取得条件で取得された、対象物に付されたマークについての位置および姿勢を表す対象画像と、を用いるので、ズレ量を容易に算出できる。
【0083】
(3)上記形態において、前記ステップ(d)において、前記対象物の表面の前記決められた位置に形成された3次元形状を有する前記マークについての前記基準画像を取得し、前記ステップ(a)において、前記対象物の表面の前記決められた位置に形成された3次元形状を有する前記マークについての前記対象画像を取得してもよい。
この形態によれば、対象物の表面に3次元形状を有するマークが形成されているので、マークの位置ズレ、対象物からのマークが分離することを防止できる。
【0084】
(4)上記形態において、前記ステップ(d)において、前記対象物の表面の前記決められた位置に取り付けられた左右非対称の形状を有する前記マークについての前記基準画像を取得し、前記ステップ(a)において、記対象物の表面の前記決められた位置に取り付けられた左右非対称の形状を有する前記マークについての前記基準画像を取得してもよい。
この形態によれば、回転による位置ズレを検出できないという問題を回避できる。
【0085】
(5)上記形態において、前記ステップ(c)において、さらに、前記ロボットアームと前記対象物との相対的な位置関係を表す情報を、前記ズレ量を用いて補正してもよい。
この形態によれば、ロボットアームと対象物との相対的な位置関係の最新の状態を、相対的な位置関係を表す情報に反映させることができる。
【0086】
(6)上記形態において、前記画像センサーは、ネットワークを介して遠隔地にあるコンピューターと通信可能であり、前記ステップ(b)において、前記コンピューターは、前記画像センサーから供給された前記画像と前記画像を用いて生成された前記点群データとを含む前記第1情報、および、前記基準情報、を用いて前記ズレ量を算出し、前記ステップ(c)において、前記コンピューターは、前記ズレ量を用いて前記経路情報を補正してもよい。
この形態によれば、遠隔地からあらかじめ計画された動作経路を容易に補正できる。
【0087】
(7)上記形態において、前記ズレ量を示す情報と、補正後の前記経路情報をユーザーに提示するステップ、をさらに含んでもよい。
この形態によれば、ユーザーは、算出されたズレ量と、ズレ量を用いて補正された補正後の経路情報とについて把握できる。
【0088】
(8)本開示の第2形態によれば、ロボットアームの動作経路を補正する補正システムが提供される。この補正システムは、画像センサーを用いて、前記ロボットアームの作業の対象である対象物の位置および姿勢を表す画像を取得する取得部と、前記画像センサーにより取得された前記画像と、前記画像を用いて生成された点群データと、を含む第1情報、および、前記対象物が配置されるべき基準位置および基準姿勢を表す基準情報、を用いて、前記対象物の現在の位置および姿勢と、前記基準位置および前記基準姿勢との、ズレ量を算出する算出部と、前記基準位置に前記基準姿勢で配置されている前記対象物に対して作業を行うために前記ロボットアームについてあらかじめ計画された動作経路を表す経路情報を、前記ズレ量を用いて補正する補正部と、を備える。
上記形態によれば、画像センサーを用いて取得された画像および点群データと基準情報とから算出したズレ量を用いて、あらかじめ計画された動作経路を補正することができる。
【0089】
(9)本開示の第3形態によれば、ロボットアームの動作経路を補正するためのプログラムが提供される。このプログラムは、コンピューターに、前記ロボットアームの作業の対象である対象物の位置および姿勢を表す画像を、画像センサーを用いて取得する機能と、前記画像センサーにより取得された前記画像と、前記画像を用いて生成された点群データと、を含む第1情報、および、前記対象物が配置されるべき基準位置および基準姿勢を表す基準情報、を用いて、前記対象物の現在の前記位置および前記姿勢と、前記基準位置および前記基準姿勢と、のズレ量を算出する機能と、前記基準位置に前記基準姿勢で配置されている前記対象物に対して作業を行うために前記ロボットアームについてあらかじめ計画された動作経路を表す経路情報を、前記ズレ量を用いて補正する機能と、を実現させる。
上記形態によれば、画像センサーを用いて取得された画像および点群データと基準情報とから算出したズレ量を用いて、あらかじめ計画された動作経路を補正することができる。
【0090】
本開示は、上記以外の種々の形態で実現することも可能である。例えば、コンピュータープログラムを記録した一時的でない記録媒体(non-transitory storage medium)の形態で実現することができる。
【符号の説明】
【0091】
10…位置補正システム、100…ロボット、110…基台、120…アーム、120e…アームエンド、150…エンドエフェクター、200…ロボットコントローラー、300…3Dセンサー、310…撮像装置、320…プロジェクター、600…作業台、700…治具、800…情報処理装置、820…メモリー、830…インターフェイス部、840…入力装置、850…表示装置、860…プロセッサー、910…取得部、920…算出部、930…補正部、C1…位置情報、D10…データ、D21,D22…2次元データ、D31,D32…3次元データ、DS…基準情報、g1,g2…ズレ量、IM1…第1撮像画像、IM2…第2撮像画像、IM10…第1基準画像、IM20…第2基準画像、J1~J6…関節、M1…マーク、P0…開始点、P1…ポイント、PI…動作経路、PW…動作経路、RC…ロボット座標系、WC…対象座標系、WK…ワーク