JP2023145814A - 制御システム、制御方法、および制御装置 - Google Patents
制御システム、制御方法、および制御装置 Download PDFInfo
- Publication number
- JP2023145814A JP2023145814A JP2020140404A JP2020140404A JP2023145814A JP 2023145814 A JP2023145814 A JP 2023145814A JP 2020140404 A JP2020140404 A JP 2020140404A JP 2020140404 A JP2020140404 A JP 2020140404A JP 2023145814 A JP2023145814 A JP 2023145814A
- Authority
- JP
- Japan
- Prior art keywords
- camera
- end effector
- control
- target
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 33
- 239000012636 effector Substances 0.000 claims abstract description 284
- 230000008859 change Effects 0.000 claims abstract description 158
- 238000003384 imaging method Methods 0.000 claims abstract description 58
- 230000005540 biological transmission Effects 0.000 claims abstract description 15
- 230000033001 locomotion Effects 0.000 claims description 94
- 230000003287 optical effect Effects 0.000 claims description 44
- 238000010586 diagram Methods 0.000 description 61
- 230000009471 action Effects 0.000 description 29
- 230000008569 process Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 13
- 239000000284 extract Substances 0.000 description 6
- 239000004744 fabric Substances 0.000 description 6
- 238000011217 control strategy Methods 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000008602 contraction Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000007789 sealing Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
【課題】エンドエフェクタを制御する際に、カメラにおいて対象物の状態の変化をより正確に認識できるようにする。【解決手段】カメラと、エンドエフェクタと、カメラおよびエンドエフェクタを制御する制御装置と、を備えた制御システムにおいて、制御装置は、撮像対象物の状態の変化方向を示す状態変化方向情報を取得する取得部と、状態変化方向情報に基づいてカメラの動作を制御するカメラ制御部と、エンドエフェクタを制御する制御信号をエンドエフェクタに送信する送信部と、を備え、制御装置は、カメラ制御部がカメラの動作を制御した後、送信部がエンドエフェクタに制御信号を送信する。【選択図】図8
Description
本開示は、制御システム、制御方法、および制御装置に関する。
特許文献1には、ロボット制御装置が記載されている。ロボット制御装置は、プログラムにより自動制御されるロボットハンドの動きに対して動作確認を行う撮像手段を備えている。ロボット制御装置は、撮像手段から入力された画像に基づいて上記動作確認を行う。ロボット制御装置は、撮像手段による撮像領域を変更する撮像領域変更手段と、ロボットハンドの位置を検出する位置検出手段とを備えている。ロボット制御装置は、位置検出手段が検出したロボットハンドの位置に応じて、撮像領域変更手段により撮像手段の撮像領域を変更する。これにより、ロボットハンドの作業領域が広くて1台の撮像手段の撮像領域ではその領域全てをカバーすることが困難な場合であっても、1台の撮像手段が広い撮像領域を確保することができる。
本開示は、エンドエフェクタを制御する際に、カメラにおいて対象物の状態の変化をより正確に認識できる制御システム、制御方法、および制御装置を提供することを目的とする。
本開示は、カメラと、エンドエフェクタと、前記カメラおよび前記エンドエフェクタを制御する制御装置と、を備え、前記制御装置は、撮像対象物の状態の変化方向を示す状態変化方向情報を取得する取得部と、前記状態変化方向情報に基づいて前記カメラの動作を制御するカメラ制御部と、前記エンドエフェクタを制御する制御信号を前記エンドエフェクタに送信する送信部と、を備え、前記制御装置は、前記カメラ制御部が前記カメラの動作を制御した後、前記送信部が前記エンドエフェクタに前記制御信号を送信する、制御システムを提供する。
また、本開示は、取得部と、カメラ制御部と、送信部とを備えた制御装置による、カメラおよびエンドエフェクタの制御方法であって、前記取得部が、撮像対象物の状態の変化方向を示す状態変化方向情報を取得するステップと、前記カメラ制御部が、前記状態変化方向情報に基づいて前記カメラの動作を制御するステップと、前記送信部が、前記エンドエフェクタを制御する制御信号を前記エンドエフェクタに送信するステップと、を有する、制御方法を提供する。
また、本開示は、撮像対象物の状態の変化方向を示す状態変化方向情報を取得する取得部と、前記状態変化方向情報に基づいて前記カメラの動作を制御するカメラ制御部と、エンドエフェクタを制御する制御信号を前記エンドエフェクタに送信する送信部と、を備え、前記カメラ制御部が前記カメラの動作を制御した後、前記送信部が前記エンドエフェクタに前記制御信号を送信する、制御装置を提供する。
本開示によれば、エンドエフェクタを制御する際に、カメラにおいて対象物の状態の変化をより正確に認識できる制御システム、制御方法、および制御装置を提供できる。
(本開示に至る経緯)
ロボットハンド等のエンドエフェクタは、制御装置によって制御されて、ワークを掴む等の作業を行う。カメラは、この作業が行われる領域(作業領域)を撮像して撮像画像を取得する。制御装置は撮像画像に映りこんだ撮像対象物(例えばワーク)の変化に基づいてエンドエフェクタを制御して、エンドエフェクタが作業を行う。このように、カメラを用いることにより、エンドエフェクタが正確に作業を行うことができる。
ロボットハンド等のエンドエフェクタは、制御装置によって制御されて、ワークを掴む等の作業を行う。カメラは、この作業が行われる領域(作業領域)を撮像して撮像画像を取得する。制御装置は撮像画像に映りこんだ撮像対象物(例えばワーク)の変化に基づいてエンドエフェクタを制御して、エンドエフェクタが作業を行う。このように、カメラを用いることにより、エンドエフェクタが正確に作業を行うことができる。
作業が進行するにつれて、撮像画像に映りこむ撮像対象物の状態は変化する。例えば、エンドエフェクタが撮像対象物の一例としてのワークを把持してワークを移動させる作業を行う場合、ワークの形状や位置が変化する。
制御装置は、カメラの撮像画像に基づいて、撮像対象物の状態の変化をうまく認識することができない場合がある。例えば、エンドエフェクタが保持したワークの形状の変化方向やワークの移動方向が、カメラの光軸と平行であった場合、カメラはワークの形状や位置の変化を正しく認識できない場合がある。これは、撮像対象物の状態の変化が、撮像画像中のピクセルの明確な変化として現れないためである。
そこで、以下の実施の形態では、エンドエフェクタを制御する際に、カメラにおいて対象物の状態の変化をより正確に認識できる制御システム、制御方法、および制御装置について詳述する。
以下、適宜図面を参照しながら、本開示に係る制御システム、制御方法、および制御装置を具体的に開示した実施形態(以下、「本実施形態」という)を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために提供されるのであって、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
(制御システム100の概要)
図1は、制御システム100の一例を示す概念図である。制御システム100は、カメラ13と、エンドエフェクタ11と、カメラ13およびエンドエフェクタ11を制御する制御装置2とを少なくとも備える。
図1は、制御システム100の一例を示す概念図である。制御システム100は、カメラ13と、エンドエフェクタ11と、カメラ13およびエンドエフェクタ11を制御する制御装置2とを少なくとも備える。
図1に示した例においては、ロボット1が、エンドエフェクタ11と、ロボットアーム12と、カメラ13と、カメラアーム14とを備える。ここで、図1中の参照符号の131は、カメラ13の光軸を示している。ロボット1は、例えば、工場などのオートメーションで用いられるロボット装置である。制御装置2はロボット1と通信可能に接続されている。制御システム100は、図1に示した構成には限られない。例えば、図3に基づいて後述するように、カメラ13は、ロボット1以外の箇所に設置されていてもよい。制御装置2がロボット1に内蔵されていてもよい。
エンドエフェクタ11は、典型的には1本以上の指を有するロボットハンドである。エンドエフェクタ11は、ロボットアーム12に取り付けられて、例えばワークWkを把持して移動させる等の作業を行う。なお、エンドエフェクタ11は指を有するロボットハンドには限られない。例えば、エンドエフェクタ11は柔軟性のある球形のものであってよく、この場合、エンドエフェクタ11は変形しながらワークWkを包み込むようにして把持する。制御装置2がカメラ13による撮像画像を用いてエンドエフェクタ11の動作を認識する場合、撮像画像から状態の変化を検知できればよいので、エンドエフェクタ11は透明なものであってもよい。これらには限られず、エンドエフェクタ11は当業者にとって一般的なものが用いられてよい。
ロボットアーム12には、エンドエフェクタ11が取付けられる。ロボットアーム12は1以上の関節を有する。この関節を基点にしてロボットアーム12が変形することにより、ワークWkに対するエンドエフェクタ11の相対位置または相対角度が変わる。ロボットアーム12が変形することにより、ワークWkに対するエンドエフェクタ11の相対位置および相対角度が変わってもよい。なお、ロボットアーム12は変形可能であれば良いので、必ずしも関節を有していなくともよい。ロボットアーム12は、伸縮が可能な構成を備えてもよい。
カメラ13は、カメラアーム14を介してロボットアーム12と接続されている。カメラアーム14は伸縮および変形が可能である。カメラアーム14を伸縮および変形させるための構成は、当業者にとって一般的なものであってよい。カメラ13の位置や角度は、ロボットアーム12の変形(および伸縮)と、カメラアーム14の変形および伸縮とに応じて変わる。
カメラ13は、光軸131方向にある撮像対象物を撮像する。撮像対象物は、例えば、エンドエフェクタ11、エンドエフェクタ11が保持する物体、および、エンドエフェクタ11またはエンドエフェクタ11が保持する物体による作業対象物のうちいずれか1つを含む。これらの撮像対象物の具体例については、図6A~図6Dに基づいて後述する。
カメラ13は、撮像対象物を撮像して得られた撮像画像を、制御装置2に送信する。制御装置2は、取得した撮像画像に基づいて、エンドエフェクタ11、ロボットアーム12、カメラ13、およびカメラアーム14を制御する。制御装置2の構成例については、図4に基づいて後述する。
カメラ13は、図5に基づいて後述する目標動作に必要な特徴を撮像画像から抽出してもよい。撮像画像から抽出された特徴は、撮像画像に映り込んだ撮像対象物の移動や動作等の状態変化を制御装置2が検出する際に用いられる。カメラ13は、例えばデプスセンサや3次元距離センサ等であってもよい。なお、制御装置2が撮像画像からの特徴抽出を実行してもよく、撮像対象物の状態変化をカメラ13が検出してもよい。
図2は、ロボット1が用いる座標(座標系)の例を示す概念図である。ロボット1は例えば、ロボット1そのものに対応する座標であるロボット座標、エンドエフェクタ11に対応する座標であるエンドエフェクタ座標、カメラ13に対応する座標であるカメラ座標等を用いる。図示を省略する制御装置2は、これらの相異なる座標を相互に変換しながら、ロボット1が備える各部材の位置や角度を制御する。
図3は、制御システム101の一例を示す概念図である。図3に示されている制御システム101は、図1に示されている制御システム100と基本的に同様の構成を有しているので、相違点のみ説明する。制御システム101において、カメラ13はロボットアーム12ではなく、例えば壁や天井等にカメラアーム14を介して取付けられている。すなわち、カメラ13はロボット1に取り付けられていなくてもよい。図示されているように、制御装置2はロボット1と接続可能に有線接続されている。一方、図示は省略するが、制御装置2はカメラ13およびカメラアーム14と通信可能に無線接続されていてよい。また、壁や天井等にカメラ13およびカメラアーム14を制御する機器が配置されており、制御装置2はこの機器と通信可能に接続されていてもよい。制御装置2は、カメラ13およびカメラアーム14と有線接続されていてもよい。制御装置2は、カメラ13およびカメラアーム14を制御する。
図4は、制御システム100のハードウェア構成例を示すブロック図である。ロボット1の構成は図1に基づいて説明したものと同様であるため説明を省略する。制御装置2は、プロセッサ21とメモリ22とを備える。
プロセッサ21は、例えばCPU(Central Processing Unit)またはFPGA(Field Programmable Gate Array)を用いて構成され、メモリ22と協働して、各種の処理および制御を行う。具体的には、プロセッサ21は、メモリ22に保持されたプログラムを参照し、そのプログラムを実行することにより、撮像画像取得部211、状態変化方向情報取得部212、カメラ制御部213、および送信部214を機能的に実現する。なお、状態変化方向情報取得部212を、単に取得部と表現することがある。
メモリ22は、例えばプロセッサ21の処理を実行する際に用いられるワークメモリとしてのRAM(Random Access Memory)と、プロセッサ21の処理を規定したプログラムを格納するROM(Read Only Memory)とを有する。RAMには、プロセッサ21により生成あるいは取得されたデータが一時的に保存される。ROMには、プロセッサ21の処理を規定するプログラムが書き込まれている。また、メモリ22は、撮像画像取得部211が取得した撮像画像データ、状態変化方向情報取得部が制御装置2の外部から取得した状態変化方向を示す情報をそれぞれ記憶する。メモリ22は、エンドエフェクタ11が行うべき動作の内容を規定する情報である動作内容情報をさらに記憶してよい。動作内容情報には、例えば、エンドエフェクタ11がある動作を行う為のプログラムが含まれる。また、動作内容内情報には、図5に基づいて後述する動作テーブルのデータが含まれてよい。
撮像画像取得部211は、カメラ13が撮像した撮像画像をカメラ13から取得する。撮像画像取得部211は、取得された撮像画像をメモリ22に記憶させる。なお、撮像画像取得部211は、撮像画像に対してサイズ変換、色調補正等の各種の画像処理を行って、画像処理後の撮像画像をメモリ22に記憶させてもよい。
状態変化方向情報取得部212は、カメラ13による撮像対象物の状態の変化方向を示す状態変化方向情報を取得する。撮像対象物は、カメラ13が撮像した撮像画像に映り込む物体である。撮像対象物は、例えば、エンドエフェクタ11、エンドエフェクタ11が保持する物体などを含む。撮像対象物は、エンドエフェクタ11またはエンドエフェクタ11が保持した物体による作業対象物を含んでもよい。状態変化方向情報は、これらの撮像対象物の状態が変化する方向を特定するための情報である。これらの撮像対象物および状態変化方向情報の具体例については、図6A~図6Dに基づき後述する。
図4において、状態変化方向情報取得部212は、カメラ13またはロボットアーム12から状態変化方向情報を取得する。ただし、状態変化方向情報の取得元はこれらには限られない。状態変化方向情報取得部212は例えば、メモリ22から状態変化方向情報を取得してもよい。例えば、エンドエフェクタ11の動作に応じて所定の方向が予め規定されている場合は、その所定の方向を示す情報がメモリ22に保存されていてよい。状態変化方向情報取得部は、制御装置2から見た外部装置から状態変化方向情報を取得してもよい。外部装置の一例は、制御装置2と通信可能に接続された外部サーバや、作業者がロボット1を操作するためのコントローラ等である。
状態変化方向情報取得部212は、取得した状態変化方向情報をメモリ22に保存することができる。
カメラ制御部213は、状態変化方向情報取得部212が取得した状態変化方向情報に基づいて、カメラ13の動作を制御する。ここで言うカメラ13の動作は、カメラ13の位置および角度を含む。なお、カメラ13はカメラアーム14に取り付けられているので、カメラ13の位置および角度は、カメラアーム14の伸縮や形状変形にも応じて定まるものである。そのため、図4に示したブロック図において、カメラ制御部213は、カメラアーム14を介してカメラ13の動作を制御している。ただし、カメラ制御部213がカメラ13単体の動作を制御してもよい。
送信部214は、エンドエフェクタ11を制御する制御信号をエンドエフェクタ11に送信する。図4に示したブロック図において、エンドエフェクタ11はロボットアーム12に取り付けられている。そのため送信部214は、ロボットアーム12を介して制御信号をエンドエフェクタ11に送信している。ただし送信部214は、ロボットアーム12を介さずに制御信号をエンドエフェクタ11に送信してもよい。また、エンドエフェクタ11を制御する制御信号が、ロボットアーム12を制御する制御信号を含み、カメラ制御部213はロボットアーム12とカメラ13の双方を制御してもよい。
制御装置2は、プロセッサ21およびメモリ22以外の構成要素をさらに含んでよい。例えば、作業者がコントローラやティーチペンダント等の外部機器を用いてロボット1を制御する場合、制御装置2は、外部機器が発した制御信号を取得する機能ブロックを更に含む。この場合制御装置2は、外部機器から取得した制御信号に基づいてロボット1を制御する。制御装置2が、撮像画像を画像認識する機能ブロックを更に備えてもよい。
図5は、エンドエフェクタ11の動作、目標動作および付随動作を例示する図である。エンドエフェクタ11が何らかの動作(作業)を行う時に、この動作(作業)を目標動作(目標作業)の組み合わせにより実行することができる。例えば、ロボットハンドであるエンドエフェクタ11がシールを貼るという動作(作業)を、「ロボットハンドがシール位置に移動する」、「ロボットハンドがシールをつかむ」、「ロボットハンドがシールを貼る位置に移動する」、「ロボットハンドがシールを貼り付ける」、「ロボットハンドがシールから離れる」、「ロボットハンドがシールを押さえる位置に移動する」、「ロボットハンドがシールを押す」、「ロボットハンドがシールから離れる」という複数の目標動作(目標作業)の組み合わせにより実現することができる。なお、図5では、図5の複雑化を避けるため、ロボットハンドをハンドと略称している。
例えば、ロボットハンドであるエンドエフェクタ11は、ワークWk等の把持対象を移動する動作(作業)を、「ロボットハンドが把持対象の把持位置に移動する」、「ロボットハンドが把持対象をつかむ」、「ロボットハンドが把持対象を移動する」、「ロボットハンドが把持対象を放す」、「ロボットハンドが把持対象から離れる」という複数の目標動作(目標作業)の組み合わせにより実現することができる。
目標動作(目標作業)のそれぞれは、付随動作へとさらに分割されることができる。例えば、エンドエフェクタ11であるロボットハンドは、「ロボットハンドがシール位置に移動する」という目標動作(目標作業)を、「ロボットハンドがシール位置に近づく」という付随動作を複数回実行することにより、実現することができる。例えば、エンドエフェクタ11であるロボットハンドは、「ロボットハンドがシールをつかむ」という目標動作(目標作業)を、「ロボットハンドが指先をシールの所定位置に近づける」という付随動作を複数回実行することにより、実現することができる。図5に示されている他の目標動作(目標作業)についても同様である。なお、図5では、図5の複雑化を避けるため、ロボットハンドの指先を、指先と略称している。
目標動作を動作Aとしたとき、付随動作を動作A1、A2、A3…、と表現することができる。付随動作A1、A2、A3…を実行することにより、動作Aが実行されることになる。
エンドエフェクタ11の動作(作業)は、図5に示されている例には限られない。例えば、エンドエフェクタ11がドライバーを把持してネジ締めを行う、エンドエフェクタ11がハサミを把持して布を切断する、等の動作(作業)も考えられる。
制御装置2のメモリ22は、図5に示されているような動作(作業)、目標動作(目標作業)および付随動作の対応関係を規定した表データ(動作テーブル)を記憶してよい。また、メモリ22は、動作テーブルに含まれる各動作をロボット1に行わせるためのプログラムを記憶してもよい。プロセッサ21はこれらのプログラムを実行する。
ロボット1が行うべき目標動作の選択は、プロセッサ21が実行するか、または作業者がティーチペンダントやコントローラを介して実行する。プロセッサ21が備える送信部214は、選択された目標動作に応じて、エンドエフェクタ11を制御する制御信号をエンドエフェクタ11に送信する。プロセッサ21はこの制御信号を、カメラ13が撮像した撮像画像に基づいて生成するのが好ましい。すなわちプロセッサ21は、撮像画像に映りこんだ撮像対象物を画像認識して、撮像対象物の撮像画像中の位置を基準にして、選択された目標動作または付随動作を行った後のエンドエフェクタ11の位置および向きを決定する。エンドエフェクタ11はエンドエフェクタ11が前述の位置および向きになるような制御信号を生成する。そのため、プロセッサ21は、撮像画像を画像認識する機能ブロックと、画像認識された撮像対象物の位置に基づいて制御信号を生成する機能ブロックを備えていてよい。
図6A~図6Dはそれぞれ、撮像対象物の状態の変化方向を例示する概念図である。上述のように、撮像対象物は、カメラ13が撮像した撮像画像に映り込む物体である。状態変化方向情報は、撮像対象物の状態が変化する方向を特定するための情報である。
図6A~図6Dのそれぞれに描かれている直線状の黒い矢印は、撮像対象物の状態変化方向を示している。撮像対象物の一つ目の例は、エンドエフェクタ11である(図6Aおよび図6B参照)。例えばエンドエフェクタ11がワークWkをつかむ動作を行う場合、エンドエフェクタ11自体がワークWkに近づくように移動し(図6A)、またエンドエフェクタ11の指がワークWkを挟み込むように閉じる(図6B)。これらの場合、エンドエフェクタ11の動作方向が、撮像対象物の状態変化方向に相当する。
撮像対象物の二つ目の例は、エンドエフェクタ11が保持する物体である(図6C参照)。例えばエンドエフェクタ11がドライバーを把持してネジ締めの動作を行う場合、ネジOBJ1を先端に付着させたドライバーが、ネジ穴を有する板OBJ2に向かって上から近づくように移動する。この場合、エンドエフェクタ11が保持する物体であるドライバーの動作方向が、撮像対象物の状態変化方向に相当する。
撮像対象物の三つ目の例は、エンドエフェクタ11またはエンドエフェクタ11が保持した物体による作業対象物である(図6D参照)。例えばエンドエフェクタ11がドライバーを把持してネジ締めの動作を行う場合、ネジOBJ1を先端に付着させたドライバーが、ネジ穴を有する板OBJ2に向かって上から近づくように移動する。ネジOBJ1は、エンドエフェクタ11が保持したドライバーによる作業対象物である。この場合、エンドエフェクタ11が保持したドライバーによる作業対象物であるネジOBJ1の動作方向が、撮像対象物の状態変化方向に相当する。ネジ穴を有する板OBJ2も、エンドエフェクタ11が保持したドライバーによる作業対象物である。ここで、ネジ穴にネジOBJ1をねじ込むと、板OBJ2のネジ穴付近にひび割れが発生する可能性がある。このひび割れは、板OBJ2の状態の変化に相当する。ひび割れは、板OBJ2の上面におけるあらゆる方向に発生し得るので、例えば図6Dの板OBJ2の上面に示された矢印の方向は、板OBJ2の状態の変形方向に相当する。この場合、エンドエフェクタ11が保持したドライバーによる作業対象物である板OBJ2の変形方向が、撮像対象物の状態変化方向に相当する。
なお、図示は省略するが、エンドエフェクタ11がハサミを保持して布を切断する動作を行った場合、布に生じた切断線の方向は、エンドエフェクタ11が保持した物体(ハサミ)による作業対象物(布)の変形方向に相当する。また、エンドエフェクタ11自体がハサミの形状を呈している場合、布に生じた切断線の方向は、エンドエフェクタ11による作業対象物(布)の変形方向に相当する。
ここで再び図4を参照すると、状態変化方向情報取得部212は、撮像対象物の状態変化方向情報を、カメラ13や、エンドエフェクタ11が取付けられたロボットアーム12から取得する。また、状態変化方向情報取得部212は、撮像画像取得部211が取得して画像処理を行った後の撮像画像や、メモリ22に記憶された動作テーブル(図5参照)のデータ等を併せて取得し、取得した各種の情報に基づいて、状態変化方向情報を導出してもよい。
(第1の制御例)
図7は、制御装置2によるカメラ13およびエンドエフェクタ11の第1の制御例を示すフローチャートである。なお、エンドエフェクタ11が行うべき動作(作業)は、例えば「シールを貼る」などのように、既に決定済みであるという前提で説明する。プロセッサ21は、メモリ22に記憶されている動作テーブル(図5)を参照する等して、エンドエフェクタが行うべき動作に対応した目標動作を選択する(St101)。
図7は、制御装置2によるカメラ13およびエンドエフェクタ11の第1の制御例を示すフローチャートである。なお、エンドエフェクタ11が行うべき動作(作業)は、例えば「シールを貼る」などのように、既に決定済みであるという前提で説明する。プロセッサ21は、メモリ22に記憶されている動作テーブル(図5)を参照する等して、エンドエフェクタが行うべき動作に対応した目標動作を選択する(St101)。
撮像画像取得部211は、カメラ13が撮像した撮像画像を取得する(St102)。撮像画像取得部211は、取得した撮像画像から、撮像対象物の特徴を抽出する(St103)。撮像画像から特徴を抽出するためのアルゴリズムは、従来のアルゴリズムが用いられてよい。撮像画像取得部211は、機械学習に基づいた画像認識技術を用いて撮像画像から特徴を抽出してもよい。なお、撮像画像から抽出された特徴は、撮像対象物の撮像時の状態を示している。プロセッサ21は、抽出された特徴と、目標動作が終わった後の撮像対象物の状態(目標状態)を示す特徴とを比較することができる。この比較のために、目標状態における撮像対象物の状態を示す画像や、この画像から抽出された特徴を示す情報がメモリ22に保存されていてよい。
プロセッサ21は、目標動作が終了したか否かを判定する(St104)。プロセッサ21は、目標動作が終了したか否かの判定を、種々の方法により行うことができる。制御装置2は例えば、図5に示されている目標動作毎に終了条件を予め定めて、終了条件を示す情報をメモリ22に記憶しておく。プロセッサ21は、選択された目標動作について終了条件を満たしているときに、目標動作が終了したと判定する。
終了条件は、例えば、目標動作の開始時を基準として、エンドエフェクタ11が所定の方向に所定の距離だけ移動したことであってよい。また、制御装置2が、目標動作が終了した後の撮像対象物の状態(目標状態)を示す情報(目標状態情報)をメモリ22に記憶しておき、プロセッサ21が、現在の撮像対象物の状態を示す情報と、目標状態情報とを比較してもよい。目標状態情報は、例えばカメラ13が撮像した撮像画像または、撮像画像から抽出された特徴情報である。特徴情報は、例えば、撮像対象物に設けられたマーカーや、一般的な画像特徴点抽出処理で得られた複数の点の、撮像画像中の位置や大きさなどである。終了条件は、例えば、プロセッサ21が撮像対象物の現在の状態と目標状態を比較した場合に、撮像画像から抽出された特徴同士の距離が所定の閾値(単位:ピクセル)以下であることであってよい。終了条件は、例えば、エンドエフェクタ11が作業を行った事により作業対象物同士が結合あるいは分離等した際に発生した音を、制御装置2が別途備えたマイク等により検知したことであってよい。終了条件は、エンドエフェクタ11が把持した電動ドライバーによるネジ締め動作の停止を、音や振動等に基づいて制御装置2が検知したことであってよい。制御装置2は、これら以外にも、種々の終了条件を設定してよい。
なお、撮像対象物の目標状態情報は、同一のロボットを同一の環境で用いて事前に取得された情報である。ただし、同一のロボットを同一の環境で用いずに得られた情報を、目標状態情報としてもよい。例えば、環境は同一であるが、別のロボットを用いて事前に取得された情報を目標状態情報としてもよい。また、異なる種類のカメラを用いて撮像された撮像画像に基づき取得された情報を目標状態情報としてもよい。また、GPU等を備えたサーバ装置がロボット1と同様の構成を有するロボットの3Dモデルを仮想空間上で仮想的に動かすことにより仮想空間における座標系で取得した画像や、3Dモデルの特徴点の位置座標などを、目標状態情報としてもよい。
目標動作が終了していない場合(St104:No)、ステップSt105へと処理が進み、目標動作が終了していた場合(St104:Yes)、ステップSt106へと処理が進む。
ステップSt105では、プロセッサ21が、ロボット1の制御処理を実行する。ロボット1の制御処理の詳細については、図8に基づき後述する。
ステップSt106では、プロセッサ21が、全ての動作が完了したか否かを判定する。全ての動作が完了していた場合(St106:Yes)、図7に示した処理は終了する。全ての動作が完了していなかった場合(St106:No)、ステップSt101に戻って、プロセッサ21が次の目標動作を選択する。
図8は、図7に示されているロボット1の制御処理を説明するフローチャートである。プロセッサ21は、選択された目標動作に対応したエンドエフェクタ11の目標位置を算出する(St201)。例えば選択された目標動作が「ロボットハンドがシール位置に移動する」であった場合(図5参照)、プロセッサ21は、この目標動作が行われた後の位置である、ロボットハンドがシールをつかめるような位置を算出する。カメラ13の撮像画像を用いる場合、プロセッサ21は、撮像画像に映り込んだ撮像対象物が目標状態となるような、エンドエフェクタ11の目標位置を算出する。
プロセッサ21は、ステップSt201で算出されたエンドエフェクタ11の目標位置にエンドエフェクタ11が移動するための、エンドエフェクタの制御方針を決定する(St202)。エンドエフェクタの制御方針は、エンドエフェクタ11およびロボットアーム12をどのように動かして、エンドエフェクタ11を目標位置まで移動させるかの方針である。制御方針の決定は、逆運動学などの従来の手法を用いて行われてよい。
プロセッサ21は、カメラ13の目標位置を算出する(St203)。カメラ13の目標位置は、エンドエフェクタ11が動作する間に撮像対象物の状態変化をカメラ13が認識しやすい位置である。カメラ13の目標位置は、例えば撮像対象物の状態変化方向とカメラ13の光軸とのなす角が90度となるような位置である。このような位置にカメラ13が移動すれば、カメラ13は、撮像対象物の状態変化を撮像画像中のより大きなピクセルの変化として認識することができる。なお、撮像対象物の状態変化方向とカメラ13の光軸とのなす角は、30度から150度の間の角度であってもよい(図15参照)。プロセッサ21は、状態変化方向情報取得部212が取得した撮像対象物の状態変化方向情報に基づいて、カメラ13の目標位置を算出する。
プロセッサ21は、ステップSt203で算出されたカメラ13の目標位置にカメラ13が移動するための、カメラ13の制御方針を決定する(St204)。カメラ13の制御方針は、カメラ13およびカメラアーム14をどのように動かして、カメラ13を目標位置まで移動させるかの方針である。制御方針の決定は、逆運動学などの従来の手法を用いて行われてよい。
プロセッサ21は、カメラ13の位置が目標位置になるように、カメラ13を移動させる(St205)。図4を併せて参照すると、カメラ制御部213がカメラアーム14に制御信号を送ることによりカメラ13の動作を制御する。カメラ制御部213は、カメラ13が撮像対象物を撮像可能に位置するようにカメラ13の動作を制御する。なお、カメラ13の現在位置が目標位置と一致している場合は、カメラ13は移動不要である。
プロセッサ21は、エンドエフェクタ11の位置が目標位置になるように、エンドエフェクタ11を制御する(St206)。図4を併せて参照すると、送信部214がロボットアーム12経由でエンドエフェクタ11に制御信号を送信する。この制御信号に基づいてエンドエフェクタ11が目標動作を行う。なお、制御信号に基づいて、エンドエフェクタ11とロボットアーム12の双方が動作してもよい。
制御装置2は、カメラ制御部213がカメラ13の動作を制御(ステップSt205)した後、送信部214がエンドエフェクタ11に制御信号を送信(ステップSt206)する。これにより、エンドエフェクタ11が動作する時に、カメラ13は撮像対象物の状態の変化をより正確に認識することができる。
(カメラ13の位置固定)
カメラ13が撮像対象物を撮像する時に、カメラ13の絶対位置(図2の絶対座標における位置)が固定されてよい。カメラ13の絶対位置を固定することにより、エンドエフェクタ11が動作を行う際に、カメラ13が同じ位置から撮像を行うことができるので、撮像対象物の状態の変化が認識しやすくなる。そこで制御装置2は、カメラ制御部213が、カメラ13が撮像対象物を撮像可能に位置するようにカメラ13の動作を制御した後、カメラ13の位置を固定するようにカメラ13の動作を制御する。カメラ13がロボットアーム12に取り付けられている場合(図1参照)、カメラ制御部213は、ロボットアーム12の移動に伴ったカメラ13の移動を打ち消すように、カメラ13の動作を制御する。カメラ13が壁などの移動しない物に取り付けられている場合(図3参照)、カメラ制御部213は、カメラアーム14を動かさないように、カメラ13の動作を制御する。
カメラ13が撮像対象物を撮像する時に、カメラ13の絶対位置(図2の絶対座標における位置)が固定されてよい。カメラ13の絶対位置を固定することにより、エンドエフェクタ11が動作を行う際に、カメラ13が同じ位置から撮像を行うことができるので、撮像対象物の状態の変化が認識しやすくなる。そこで制御装置2は、カメラ制御部213が、カメラ13が撮像対象物を撮像可能に位置するようにカメラ13の動作を制御した後、カメラ13の位置を固定するようにカメラ13の動作を制御する。カメラ13がロボットアーム12に取り付けられている場合(図1参照)、カメラ制御部213は、ロボットアーム12の移動に伴ったカメラ13の移動を打ち消すように、カメラ13の動作を制御する。カメラ13が壁などの移動しない物に取り付けられている場合(図3参照)、カメラ制御部213は、カメラアーム14を動かさないように、カメラ13の動作を制御する。
図9は、制御装置2によるカメラ13およびエンドエフェクタ11の第1の制御例に対応するシーケンス図である。図中、破線状の矢印の方向に時間が経過している。動作A、動作Bおよび動作Cはそれぞれ、図5に示されている目標動作に相当する。
まずプロセッサ21が、目標動作Aについてのエンドエフェクタ11およびカメラ13の動作(制御方針)を決定する。次に、決定された制御方針に従って、カメラ13が目標位置に移動する。次に、決定された制御方針に従って、エンドエフェクタ11が目標位置に移動する(目標動作A)。目標動作Aが完了したら、プロセッサ21が、目標動作Bについてのエンドエフェクタ11およびカメラ13の動作(制御方針)を決定する。次に、決定された制御方針に従って、カメラ13が目標位置に移動する。次に、決定された制御方針に従って、エンドエフェクタ11が目標位置に移動する(目標動作B)。制御装置2は、目標動作C以降も同様に行うことにより、「シールを貼る」「把持対象を移動する」等の動作をエンドエフェクタ11に実現させる。
(第2の制御例)
図10は、制御装置2によるカメラ13およびエンドエフェクタ11の第2の制御例を示すフローチャートである。なお、エンドエフェクタ11が行うべき動作(作業)は、例えば「シールを貼る」などのように、既に決定済みであるという前提で説明する。プロセッサ21は、メモリ22に記憶されている動作テーブル(図5)を参照する等して、エンドエフェクタが行うべき動作に対応した目標動作を選択する(St301)。
図10は、制御装置2によるカメラ13およびエンドエフェクタ11の第2の制御例を示すフローチャートである。なお、エンドエフェクタ11が行うべき動作(作業)は、例えば「シールを貼る」などのように、既に決定済みであるという前提で説明する。プロセッサ21は、メモリ22に記憶されている動作テーブル(図5)を参照する等して、エンドエフェクタが行うべき動作に対応した目標動作を選択する(St301)。
撮像画像取得部211は、カメラ13が撮像した撮像画像を取得する(St302)。撮像画像取得部211は、取得した撮像画像から、撮像対象物の特徴を抽出する(St303)。撮像画像から特徴を抽出するためのアルゴリズムは、従来のアルゴリズムが用いられてよい。撮像画像取得部211は、機械学習に基づいた画像認識技術を用いて撮像画像から特徴を抽出してもよい。なお、抽出された特徴は、撮像対象物の撮像時の状態を示している。プロセッサ21は、抽出された特徴と、目標動作が終わった後の撮像対象物の状態(目標状態)を示す特徴とを比較することができる。この比較のために、目標状態における撮像対象物の状態を示す画像や、この画像から抽出された特徴を示す情報がメモリ22に保存されていてよい。
プロセッサ21は、目標動作が終了したか否かを判定する(St304)。プロセッサ21は、目標動作が終了したか否かの判定を、種々の方法により行うことができる。制御装置2は例えば、図5に示されている目標動作毎に終了条件を予め定めて、終了条件を示す情報をメモリ22に記憶しておく。プロセッサ21は、選択された目標動作について終了条件を満たしているときに、目標動作が終了したと判定する。
終了条件は、例えば、目標動作の開始時を基準として、エンドエフェクタ11が所定の方向に所定の距離だけ移動したことであってよい。また、制御装置2が、目標動作が終了した後の撮像対象物の状態(目標状態)を示す情報(目標状態情報)をメモリ22に記憶しておき、プロセッサ21が、現在の撮像対象物の状態を示す情報と、目標状態情報とを比較してもよい。目標状態情報は、例えばカメラ13が撮像した撮像画像または、撮像画像から抽出された特徴情報である。特徴情報は、例えば、撮像対象物に設けられたマーカーや、一般的な画像特徴点抽出処理で得られた複数の点の、撮像画像中の位置や大きさなどである。終了条件は、例えば、プロセッサ21が撮像対象物の現在の状態と目標状態を比較した場合に、撮像画像から抽出された特徴同士の距離が所定の閾値(単位:ピクセル)以下であることであってよい。終了条件は、例えば、エンドエフェクタ11が作業を行った事により作業対象物同士が結合あるいは分離等した際に発生した音を、制御装置2が別途備えたマイク等により検知したことであってよい。終了条件は、エンドエフェクタ11が把持した電動ドライバーによるネジ締め動作の停止を、音や振動等に基づいて制御装置2が検知したことであってよい。制御装置2は、これら以外にも、種々の終了条件を設定してよい。
なお、撮像対象物の目標状態情報は、同一のロボットを同一の環境で用いて事前に取得された情報である。ただし、同一のロボットを同一の環境で用いずに得られた情報を、目標状態情報としてもよい。例えば、環境は同一であるが、別のロボットを用いて事前に取得された情報を目標状態情報としてもよい。また、異なる種類のカメラを用いて撮像された撮像画像に基づき取得された情報を目標状態情報としてもよい。また、GPU等を備えたサーバ装置がロボット1と同様の構成を有するロボットの3Dモデルを仮想空間上で仮想的に動かすことにより仮想空間における座標系で取得した画像や、3Dモデルの特徴点の位置座標などを、目標状態情報としてもよい。
目標動作が終了していない場合(St304:No)、ステップSt305へと処理が進み、目標動作が終了していた場合(St304:Yes)、ステップSt306へと処理が進む。
ステップSt305では、プロセッサ21が、ロボット1の制御処理を実行する。ロボット1の制御処理の詳細については、図11に基づき後述する。
ステップSt306では、プロセッサ21が、全ての動作が完了したか否かを判定する。全ての動作が完了していた場合(St306:Yes)、図10に示した処理は終了する。全ての動作が完了していなかった場合(St306:No)、ステップSt301に戻って、プロセッサ21が次の目標動作を選択する。
図11は、図10に示されているロボット1の制御処理を説明するフローチャートである。プロセッサ21は、選択された目標動作に対応したエンドエフェクタ11の目標位置を算出する(St401)。例えば選択された目標動作が「ロボットハンドがシール位置に移動する」であった場合(図5参照)、プロセッサ21は、この目標動作が行われた後の位置である、ロボットハンドがシールをつかめるような位置を算出する。カメラ13の撮像画像を用いる場合、プロセッサ21は、撮像画像に映り込んだ撮像対象物が目標状態となるような、エンドエフェクタ11の目標位置を算出する。
プロセッサ21は、ステップSt401で算出されたエンドエフェクタ11の目標位置にエンドエフェクタ11が移動するための、エンドエフェクタの制御方針を決定する(St402)。エンドエフェクタの制御方針は、エンドエフェクタ11およびロボットアーム12をどのように動かして、エンドエフェクタ11を目標位置まで移動させるかの方針である。制御方針の決定は、逆運動学などの従来の手法を用いて行われてよい。
プロセッサ21は、カメラ13の目標位置を算出する(St403)。カメラ13の目標位置は、エンドエフェクタ11が動作する間に撮像対象物の状態変化をカメラ13が認識しやすい位置である。カメラ13の目標位置は、例えば撮像対象物の状態変化方向とカメラ13の光軸とのなす角が90度となるような位置である。このような位置にカメラ13が移動すれば、カメラ13は、撮像対象物の状態変化を撮像画像中のより大きなピクセルの変化として認識することができる。なお、撮像対象物の状態変化方向とカメラ13の光軸とのなす角は、30度から150度の間の角度であってもよい(図15参照)。プロセッサ21は、状態変化方向情報取得部212が取得した撮像対象物の状態変化方向情報に基づいて、カメラ13の目標位置を算出する。
プロセッサ21は、ステップSt403で算出されたカメラ13の目標位置にカメラ13が移動するための、カメラ13の制御方針を決定する(St404)。カメラ13の制御方針は、カメラ13およびカメラアーム14をどのように動かして、カメラ13を目標位置まで移動させるかの方針である。制御方針の決定は、逆運動学などの従来の手法を用いて行われてよい。
プロセッサ21は、カメラ13の位置が目標位置になるように、カメラ13を移動させる(St405)。図4を併せて参照すると、カメラ制御部213がカメラアーム14に制御信号を送ることによりカメラ13の動作を制御する。カメラ制御部213は、カメラ13が撮像対象物を撮像可能に位置するようにカメラ13の動作を制御する。なお、カメラ13の現在位置が目標位置と一致している場合は、カメラ13は移動不要である。
撮像画像取得部211は、カメラ13が撮像した撮像画像を取得する(St406)。
プロセッサ21は、ステップSt301で選択された目標動作に対応した付随動作がすべて終了したか否かを判定する(St407)。すなわちプロセッサ21は、現在対象となっている付随動作が終了しており、かつ、選択された目標動作の終了条件が満たれているかを確認する。目標動作に対応した付随動作がすべて終了した場合(St407:Yes)、図11に示した処理は終了する。目標動作に対応した付随動作がすべて終了していない場合(St407:No)、ステップSt408へと処理が進む。
プロセッサ21は、ステップSt407における判定をステップSt406で取得された撮像画像を用いて行ってよい。例えば、プロセッサ21は撮像画像から撮像対象物の特徴を抽出し、この特徴の撮像画像内の位置に応じて、上述の判定を行ってよい。また、プロセッサ21は、撮像画像を用いない手法によって、ステップSt407における判定を行ってもよい。例えば、ロボット1が内部的に有する制御パラメータ(ロボットアームの角度等)によって、エンドエフェクタ11の現在の状態を把握することができるのであれば、プロセッサ21はこの制御パラメータに基づいてステップSt407における判定を行うことができる。また、エンドエフェクタ11が把持するワークWk(図1等参照)にスイッチが設けられており、このスイッチが押されたら、「ロボットハンドがワークをつかむ」という目標動作が終了したとプロセッサ21が判定してもよい。その他、作業者が手持ちのコントローラ等を介して目標動作の終了を示す信号を制御装置2に送信し、制御装置2がこの信号を受信した場合、目標動作が終了したとプロセッサ21が判定してもよい
プロセッサ21は、付随動作についてのエンドエフェクタ11の目標位置を算出する(St408)。例えば選択された付随動作が「ロボットハンドがシール位置に近づく」であった場合(図5参照)、プロセッサ21は、この付随動作が行われた後の位置である、ロボットハンドがシールをつかめるような位置(目標動作についての目標位置)により近づいた位置を算出する。カメラ13の撮像画像を用いる場合、プロセッサ21は、撮像画像に映り込んだ撮像対象物が付随動作についての目標状態となるような、エンドエフェクタ11の目標位置を算出する。
プロセッサ21は、ステップSt408で算出されたエンドエフェクタ11の目標位置にエンドエフェクタ11が移動するための、エンドエフェクタの制御方針を決定する(St409)。エンドエフェクタ11の制御方針は、エンドエフェクタ11およびロボットアーム12をどのように動かして、エンドエフェクタ11を付随動作についての目標位置まで移動させるかの方針である。制御方針の決定は、逆運動学などの従来の手法を用いて行われてよい。
プロセッサ21は、エンドエフェクタ11の位置が付随動作についての目標位置になるように、エンドエフェクタ11を微小移動させる(ステップSt410)。図4を併せて参照すると、送信部214がロボットアーム12を経由してエンドエフェクタ11に制御信号を送ることにより、エンドエフェクタ11の微小移動を制御する。なお、制御信号に基づいて、エンドエフェクタ11とロボットアーム12の双方が動作してもよい。ステップSt410が終了したら、処理がステップSt406へと戻り、目標動作に含まれる次の付随動作について、ステップSt406からSt410を繰り返す。なお、カメラ13が移動(ステップSt405)した後にステップSt406からSt410が繰り返されるので、送信部214からエンドエフェクタ11に送信される複数の制御信号により、エンドエフェクタ11が複数の動作(付随動作)を行うことになる。
なお、制御装置2は、カメラ制御部213がカメラ13の動作を制御(ステップSt405)した後、送信部214がエンドエフェクタ11に制御信号を送信(ステップSt410)する。これにより、エンドエフェクタ11が動作する時に、カメラ13は撮像対象物の状態の変化をより正確に認識することができる。
(カメラ13の位置固定)
カメラ13が撮像対象物を撮像する時に、カメラ13の絶対位置(図2の絶対座標における位置)が固定されてよい。カメラ13の絶対位置を固定することにより、エンドエフェクタ11が動作を行う際に、カメラ13が同じ位置から撮像を行うことができるので、撮像対象物の状態の変化が認識しやすくなる。そこで制御装置2は、カメラ制御部213が、カメラ13が撮像対象物を撮像可能に位置するようにカメラ13の動作を制御した後、カメラ13の位置を固定するようにカメラ13の動作を制御する。カメラ13がロボットアーム12に取り付けられている場合(図1参照)、カメラ制御部213は、ロボットアーム12の移動に伴ったカメラ13の移動を打ち消すように、カメラ13の動作を制御する。カメラ13が壁などの移動しない物に取り付けられている場合(図3参照)、カメラ制御部213は、カメラアーム14を動かさないように、カメラ13の動作を制御する。
カメラ13が撮像対象物を撮像する時に、カメラ13の絶対位置(図2の絶対座標における位置)が固定されてよい。カメラ13の絶対位置を固定することにより、エンドエフェクタ11が動作を行う際に、カメラ13が同じ位置から撮像を行うことができるので、撮像対象物の状態の変化が認識しやすくなる。そこで制御装置2は、カメラ制御部213が、カメラ13が撮像対象物を撮像可能に位置するようにカメラ13の動作を制御した後、カメラ13の位置を固定するようにカメラ13の動作を制御する。カメラ13がロボットアーム12に取り付けられている場合(図1参照)、カメラ制御部213は、ロボットアーム12の移動に伴ったカメラ13の移動を打ち消すように、カメラ13の動作を制御する。カメラ13が壁などの移動しない物に取り付けられている場合(図3参照)、カメラ制御部213は、カメラアーム14を動かさないように、カメラ13の動作を制御する。
図12は、制御装置2によるカメラ13およびエンドエフェクタ11の第2の制御例に対応するシーケンス図である。図中、破線状の矢印の方向に時間が経過している。動作Aおよび動作Bはそれぞれ、図5に示されている目標動作に相当する。付随動作A1、A2、A3、B1、B2、B3は、図5に示されている付随動作に相当する。
まずプロセッサ21が、目標動作Aについてのエンドエフェクタ11およびカメラ13の動作(制御方針)を決定する。次に、決定された制御方針に従って、カメラ13が目標位置に移動する。次に、エンドエフェクタ11が付随動作A1、A2、A3…を順次行う。目標動作Aに相当する付随動作が全て完了したら、プロセッサ21が、目標動作Bについてのエンドエフェクタ11およびカメラ13の動作(制御方針)を決定する。次に、決定された制御方針に従って、カメラ13が目標位置に移動する。次に、エンドエフェクタ11が付随動作B1、B2、B3…を順次行う。制御装置2は、図示を省略した目標動作C以降も同様に行うことにより、「シールを貼る」「把持対象を移動する」等の動作をエンドエフェクタ11に実現させる。
図13は、制御装置2によるカメラ13およびエンドエフェクタ11の第1の制御例に対応するシーケンス図の変形例である。図中、破線状の矢印の方向に時間が経過している。動作Aが図5に示されている目標動作に相当する。付随動作A1、A2、A3は、図5に示されている付随動作に相当する。
まずプロセッサ21が、目標動作Aについてのエンドエフェクタ11およびカメラ13の動作(制御方針)を決定する。次に、決定された制御方針に従って、カメラ13が移動する。この段階で、カメラ13は目標動作Aについての目標位置まで到達していなくてもよいが、撮像対象物がカメラ13の画角に入る位置まで移動している事が好ましい。次に、エンドエフェクタ11が付随動作A1、A2、A3…を順次行う。エンドエフェクタ11が付随動作A1、A2、A3…を順次行う間も、カメラ13が決定された制御方針に従って少しずつ移動する。図示は省略するが、目標動作Aの後に行われる目標動作B、目標動作C…についても、目標動作Aと同様である。
例えば、目標動作Aに対応する付随動作A1、A2、A3…が全て終了した後で、カメラ13が撮像対象物を撮像するような状況が考えられる。この時、撮像が必要な時点で、カメラ13が所定の目標位置に到着していればよい。従って、付随動作A1が行われる前に、カメラ13は必ずしも目標位置に到着していなくてもよい。また、エンドエフェクタ11の動作を作業者が手持ちのコントローラ等を介して指示する場合が考えられる。このような場合、エンドエフェクタが付随動作A1、A2、A3…を順次行う際にカメラ13も少しずつ移動すれば、撮像対象物がカメラ13の画角から外れずに、作業者が撮像画像に基づいてエンドエフェクタ11の動作を指示することができる。
図14は、撮像対象物が複数存在する場合のカメラの位置決め例を示す概念図である。例えばエンドエフェクタ11がドライバーを把持してネジ締めする動作を行う場合(図6Cおよび図6D参照)を考える。カメラ13で撮像したい撮像対象物は、エンドエフェクタ11(第1の撮像対象物)と、板に設けられたネジ穴(第2の撮像対象物)であってよい。エンドエフェクタ11およびネジ穴の状態変化方向は、図中の直線状の矢印でそれぞれ示した方向である。例えば撮像対象物の状態変化方向とカメラ13の光軸とのなす角が90度となるような位置をカメラ13の目標位置とする場合、第1の撮像対象物に対するカメラ13の目標位置、および、第2の撮像対象物に対するカメラ13の目標位置はそれぞれ、図中の破線で示したような位置である。
例えば図14に示されているように撮像対象物が複数存在した場合、カメラ制御部213は、複数の撮像対象物の各々に対応する状態変化方向情報に基づいて、カメラ13の動作を制御する。カメラ制御部213は、カメラ13の光軸の方向が、一の撮像対象物(例えば第1の撮像対象物)に対応する状態変化方向情報に基づいたカメラ13の光軸の方向と、他の撮像対象物(例えば第2の撮像対象物)に対応する状態変化方向情報に基づいたカメラ13の光軸の方向との間の方向になるように、カメラ13の動作を制御する。カメラ制御部213が上述のようにカメラ13の動作を制御した場合の、カメラ13の目標位置は、例えば図中実線で描かれているカメラ13の位置であってよい。撮像対象物が3つ以上存在した場合も同様である。カメラ制御部213は、カメラ13の光軸の方向が、各撮像対象物に対応する状態変化方向情報に基づいたカメラ13の光軸の方向の間の方向になるように、カメラ13の動作を制御する。複数の光軸の方向の間の方向は、厳密に中間の方向である必要はない。例えば、カメラ13の光軸の方向は、一の撮像対象物(例えば第1の撮像対象物)に対応する状態変化方向情報に基づいたカメラ13の光軸の方向よりも、他の撮像対象物(例えば第2の撮像対象物)に対応する状態変化方向情報に基づいたカメラ13の光軸の方向により近い方向であってもよい。
図15は、撮像対象物の状態変化方向とカメラ13の光軸131との間のなす角を示す概念図である。撮像対象物の状態変化方向(例えばエンドエフェクタ11の動作方向)が、図中の太い直線状の矢印が示す方向であったとする。また、カメラ13の目標位置の候補を、候補A、候補B、候補C、および候補Dとする。なお、図の可読性を確保するため、候補B~候補Dについて、カメラ13および光軸131の参照符号は省略されている。
カメラ13の目標位置が候補Aの位置であった場合、撮像対象物の状態変化は、カメラ13による撮像画像に映り込まない。そのためカメラ制御部213は、少なくとも、カメラ13の光軸131が撮像対象物の状態変化方向と平行にならないようにカメラ13の動作を制御する。
カメラ13が撮像対象物の状態変化を撮像画像中の最も大きなピクセルの変化として認識することができるのは、カメラ13の目標位置が候補Bの位置だった場合である。候補Bの場合、撮像対象物の状態変化方向とカメラ13の光軸とのなす角が90度となる。カメラ制御部213は、撮像対象物の状態変化方向とカメラ13の光軸131とのなす角が90度となるようにカメラ13の動作を制御してよい。これにより、カメラ13は撮像対象物の状態変化を撮像画像中の最も大きなピクセルの変化として認識することができる。
候補Bにおける、撮像対象物の状態変化に基づく撮像画像中のピクセルの変化の度合い(画像変化量)を、仮に1とする。この時、候補Aにおける画像変化量は0である。
候補Cおよび候補Dは、撮像対象物の状態変化方向とカメラ13の光軸とのなす角がそれぞれ30度および150度となる。候補Cおよび候補Dにおける画像変化量は1/2である。従って、カメラ13が撮像対象物の状態変化を撮像画像中のある程度大きいピクセルの変化(画像変化量1/2以上)として認識することができるようにするためには、カメラ13の目標位置は候補Cと候補Dの間の位置になる。そのため、カメラ制御部213は、撮像対象物の状態変化方向とカメラ13の光軸131とのなす角が30度から150度の間の角度となるようにカメラ13の動作を制御する。
なお、工場の管理者や作業者が画像変化量の許容値を適宜決定してよい。例えば画像変化量の許容値が√3/2以上であった場合、カメラ制御部213は、撮像対象物の状態変化方向とカメラ13の光軸131とのなす角が60度から120度の間の角度となるようにカメラ13の動作を制御する。
特に、エンドエフェクタ11が保持したワークWk等を制御装置2の制御により精密に移動させるためには、撮像画像中の画像変化量は大きい事が好ましい。そのため、カメラ制御部213は、撮像対象物の状態変化方向とカメラ13の光軸131とのなす角がなるべく90度に近い角度となるように、カメラ13の動作を制御する。
図16A~図19Bに基づいて、エンドエフェクタ11が実行するシール貼り作業についての実施例を説明する。
図16Aは、エンドエフェクタ11が実行するシール貼り作業の第1の状態を示す概念図である。図16Bは、図16Aに対応するカメラ画像と目標状態を示す概念図である。図16Aと図16Bを併せて参照して説明する。ロボット1が備えるエンドエフェクタ11がシールSを把持しており、物体OBJに設けられたシール貼り位置に、シールSを貼る。エンドエフェクタ11が行おうとしている動作は「シールを貼る」であり、目標動作は「ロボットハンドがシールを貼る位置に移動」である(ステップSt101、St301、および図5参照)。カメラ13は、シールSを把持したエンドエフェクタ11を撮像する。撮像された画像が、カメラ画像である。制御装置2は、このカメラ画像が目標状態になるまで、エンドエフェクタ11およびロボットアーム12を制御する。目標状態において、エンドエフェクタ11が把持するシールはシール貼り位置に重なる。エンドエフェクタ11の付近に描かれている直線状の矢印は、撮像対象物であるエンドエフェクタ11の状態変化方向(動作方向)を示している。
図17Aは、エンドエフェクタ11が実行するシール貼り作業の第2の状態を示す概念図である。図17Bは、図17Aに対応するカメラ画像を示す概念図である。図17Aと図17Bを併せて参照して説明する。カメラ制御部213は、撮像対象物の状態変化方向とカメラ13の光軸131とのなす角が90度となるようにカメラ13の動作を制御する。また、カメラ制御部213は、カメラ13が撮像対象物である物体OBJを撮像可能に位置するようにカメラ13の動作を制御する。より具体的には、カメラ制御部213からの制御信号により、カメラアーム14が伸びて、物体OBJがカメラ13の撮像領域内(画角内)に入る。
図18Aは、エンドエフェクタ11が実行するシール貼り作業の第3の状態を示す概念図である。図18Bは、図18Aに対応するカメラ画像を示す概念図である。図18Aと図18Bを併せて参照して説明する。送信部214はエンドエフェクタ11とロボットアーム12の双方を制御する制御信号を送信する。この制御信号により、エンドエフェクタ11は指を閉じた姿勢を維持し、ロボットアーム12が変形する。送信部214が制御信号を送信している間、カメラ制御部213は、カメラ13の位置を固定するように、カメラ13の動作を制御する。シール貼り作業の第3の状態においては、カメラ制御部213は、カメラアーム14が縮みつつロボットアーム12に対するカメラアーム14の角度が変わり、カメラ13の向きも維持するように、カメラ13の動作を制御する。
図19Aは、エンドエフェクタ11が実行するシール貼り作業の第4の状態を示す概念図である。図19Bは、図19Aに対応するカメラ画像と目標状態を示す概念図である。図19Aと図19Bを併せて参照して説明する。プロセッサ21は、目標動作の終了(ステップSt104、St304参照)をカメラ13の撮像画像に基づいて判定してよい。プロセッサ21は、カメラ画像と目標状態を示す画像とを比較して目標動作が終了したか否かを判定してよい。
図20A~図22Bに基づいて、エンドエフェクタ11が実行する、把持対象を移動する作業についての実施例を説明する。
図20Aは、エンドエフェクタ11が実行する把持対象を移動する作業の第1の状態を示す概念図である。図20Bは、図20Aに対応するカメラ画像と目標状態を示す概念図である。図20Aと図20Bを併せて参照して説明する。ロボット1が備えるエンドエフェクタ11がワークWkに近づいて、ワークWkを把持し、ワークWkを別の場所へと移動する。エンドエフェクタ11が行おうとしている動作は「把持対象を移動する」であり、目標動作は「ロボットハンドが把持対象の把持位置に移動」である(ステップSt101、St301および図5参照)。カメラ13は、エンドエフェクタ11とワークWkとを撮像する。撮像された画像が、カメラ画像である。制御装置2は、このカメラ画像が目標状態になるように、エンドエフェクタ11およびロボットアーム12を制御する。目標状態において、エンドエフェクタ11はワークWkを把持可能な位置まで接近している。エンドエフェクタ11付近に描かれた直線状の矢印は、撮像対象物であるエンドエフェクタ11の状態変化方向(動作方向)を示している。
図21Aは、エンドエフェクタ11が実行する把持対象を移動する作業の第2の状態を示す概念図である。図21Bは、図21Aに対応するカメラ画像と目標状態を示す概念図である。図21Aと図21Bを併せて参照して説明する。カメラ制御部213は、撮像対象物の状態変化方向とカメラ13の光軸131とのなす角が90度となるようにカメラ13の動作を制御する。また、カメラ制御部213は、カメラ13が撮像対象物であるワークWkを撮像可能に位置するようにカメラ13の動作を制御する。より具体的には、カメラ制御部213からの制御信号によりカメラアーム14が伸び、カメラアーム14のロボットアーム12に対する角度も変わって、ワークWkがカメラ13の撮像領域内(画角内)に入る。この時点では、エンドエフェクタ11はカメラ13の撮像領域内(画角内)に入っていない。図示は省略するが、エンドエフェクタ11の目標動作「ロボットハンドが把持対象の把持位置に移動」が終了すると、エンドエフェクタ11がカメラ13の撮像領域内(画角内)に入る。
図22Aは、エンドエフェクタ11が実行する把持対象を移動する作業の第3~第5の状態を示す概念図である。図22Bは、図22Aに対応するカメラ画像(第3~第5の状態)と目標状態を示す概念図である。図22Aと図22Bを併せて参照して説明する。エンドエフェクタ11が行おうとしている動作は「把持対象を移動する」のままであり、図22Aおよび図22Bについての(次の)目標動作は「ロボットハンドが把持対象をつかむ」である(ステップSt101およびSt301の2周目、ならびに図5参照)。
目標動作「ロボットハンドが把持対象をつかむ」の付随動作は、「ロボットハンドが閉じていく」である。図22Bにおける直線状の実線矢印は、撮像対象物であるエンドエフェクタ11の、付随動作についての状態変化方向(動作方向)を示している。
カメラ制御部213は、撮像対象物の状態変化方向とカメラ13の光軸131とのなす角が90度となるようにカメラ13の動作を制御する。また、カメラ制御部213は、カメラ13が撮像対象物であるワークWkを撮像可能に位置するようにカメラ13の動作を制御する。ここで、撮像対象物の状態変化方向とカメラ13の光軸131とのなす角は既に90度になっており、さらに、カメラ13が撮像対象物であるワークWkを撮像可能な位置に既に移動済である(図21Aおよび図21Bを併せて参照)。そこでカメラ制御部213は、カメラアーム14の姿勢およびカメラ13の向きを変更しないように、カメラ13の動作を制御する。
送信部214は、ロボットアーム12を固定したまエンドエフェクタ11を制御する制御信号を送信する。この制御信号により、ロボットアーム12は姿勢を維持し、エンドエフェクタ11の指が閉じていく。送信部214が制御信号を送信している間、カメラ制御部213は、カメラ13の位置を固定するように、カメラ13の動作を制御する。
図23~図25に基づいて、エンドエフェクタ11が実行するネジ締め作業についての実施例を説明する。
図23は、ネジ締めについての撮像領域を示す概念図である。本実施例では、図示されていないエンドエフェクタ11が、ワークWkであるドライバーを把持して、板状の物体OBJに設けられたネジ穴にネジを挿入する。図には、カメラ13の撮像領域が太字の矩形枠で描かれている。2種類の矢印はそれぞれ、ドライバーおよびネジの動作方向と、物体OBJの状態変位方向を示している。なお、ドライバーおよびネジの動作方向は、撮像対象物であるドライバーやネジの状態変位方向に相当する。カメラ13による撮像対象物は、ネジと物体OBJである。
複数の撮像対象物が存在するので、プロセッサ21は、カメラ13がそれぞれの撮像対象物の状態変化を撮像画像中の大きなピクセルの変化として認識することができる位置を、カメラ13の目標位置として算出する(St203、St403、および図14参照)。この目標位置に移動したカメラの撮像領域の例が図23に示されている。
図24は、エンドエフェクタ11がドライバーを把持してネジ締めを行う作業の第1の状態を示す概念図である。第1の状態でのエンドエフェクタ11の目標動作は「ネジを位置合わせする」である。エンドエフェクタ11はワークWkであるドライバーを把持し、ドライバーの先端に保持されているネジを、板状の物体OBJに設けられたネジ穴に位置合わせしている。この時の撮像対象物は、ネジと物体OBJのネジ穴である。プロセッサ21は、カメラ13がそれぞれの撮像対象物の状態変化を撮像画像中の大きなピクセルの変化として認識することができる位置を、カメラ13の目標位置として算出する(St203、St403、および図14参照)。そしてプロセッサ21は、カメラ13の位置が目標位置になるように、カメラ13を移動させる(St205、St405)。この移動前のカメラ13が図中の破線で、移動後のカメラが図中の実線で、それぞれ示されている。
図25は、エンドエフェクタ11がドライバーを把持してネジ締めを行う作業の第2の状態を示す概念図である。第2の状態でのエンドエフェクタ11の目標動作は「ネジを締める」である。エンドエフェクタ11はワークWkであるドライバーを把持し、ドライバーの先端に保持されているネジを、板状の物体OBJに設けられたネジ穴に近づけている。この時の撮像対象物は、ネジと物体OBJのネジ穴である。プロセッサ21は、カメラ13がそれぞれの撮像対象物の状態変化を撮像画像中の大きなピクセルの変化として認識することができる位置を、カメラ13の目標位置として算出する(St203、St403、および図14参照)。そしてプロセッサ21は、カメラ13の位置が目標位置になるように、カメラ13を移動させる(St205、St405)。この移動後のカメラ13が図中の実線で示されている。ここで、図24と図25とを対比すると、ネジの動作方向が異なる為、目標位置に移動後のカメラ13の位置も異なっている。
(作業者の操作に基づく制御)
図7のステップSt101や図10のステップSt301において、プロセッサ21が目標動作を選択していた。しかし、ロボット1の操作者等の作業者がティーチペンダントやコントローラ(図示省略)を用いて目標動作を指示してもよい。目標動作の指示は、通信回線を介した遠隔操作によって行われてもよい。この遠隔操作の際に制御装置2は、作業者からの目標動作の指示を所定の時間間隔ごと(例えば1/60秒ごと)に受信してよい。作業者が目標操作を指示する場合、その指示に従ってエンドエフェクタ11(およびロボットアーム12)が動作する前に、カメラ13が目標位置に移動する。作業者からの目標動作の指示(制御信号)を受信した制御装置2は、送信部214がエンドエフェクタ11に制御信号を送信する前に、カメラ制御部213がカメラ13の動作を制御する。
図7のステップSt101や図10のステップSt301において、プロセッサ21が目標動作を選択していた。しかし、ロボット1の操作者等の作業者がティーチペンダントやコントローラ(図示省略)を用いて目標動作を指示してもよい。目標動作の指示は、通信回線を介した遠隔操作によって行われてもよい。この遠隔操作の際に制御装置2は、作業者からの目標動作の指示を所定の時間間隔ごと(例えば1/60秒ごと)に受信してよい。作業者が目標操作を指示する場合、その指示に従ってエンドエフェクタ11(およびロボットアーム12)が動作する前に、カメラ13が目標位置に移動する。作業者からの目標動作の指示(制御信号)を受信した制御装置2は、送信部214がエンドエフェクタ11に制御信号を送信する前に、カメラ制御部213がカメラ13の動作を制御する。
以上のように、制御システム100、101が、カメラ13と、エンドエフェクタ11と、カメラ13およびエンドエフェクタ11を制御する制御装置2と、を備え、制御装置2は、カメラ13による撮像対象物の状態の変化方向を示す状態変化方向情報を取得する取得部212と、状態変化方向情報に基づいてカメラ13の動作を制御するカメラ制御部213と、エンドエフェクタ11を制御する制御信号をエンドエフェクタ11に送信する送信部214と、を備え、制御装置2は、カメラ制御部213がカメラ13の動作を制御した後、送信部214がエンドエフェクタ11に制御信号を送信する。これにより、カメラ13が撮像した画像に基づいて制御装置2がエンドエフェクタ11を制御する際に、カメラ13において撮像対象物の状態の変化をより正確に認識できる。
カメラ制御部213は、カメラ13が撮像対象物を撮像可能に位置するようにカメラ13の動作を制御した後、送信部214がエンドエフェクタ11に制御信号を送信する。これにより制御装置2は、カメラ13で撮像対象物を確実に撮像しながらエンドエフェクタ11を制御できる。
カメラ制御部213は、カメラ13が撮像対象物を撮像可能に位置するようにカメラ13の動作を制御した後、カメラ13の位置を固定するようにカメラ13の動作を制御する。これにより、エンドエフェクタ11が動作を行う際に、カメラ13が同じ位置から撮像を行うことができるので、撮像対象物の状態の変化が認識しやすくなる。
カメラ制御部213は、カメラ13の光軸131が状態変化方向と平行にならないようにカメラ13の動作を制御する。これにより、撮像対象物の状態変化が、カメラ13による撮像画像に確実に映り込むようにすることができる。
カメラ制御部213は、状態変化方向とカメラ13の光軸131とのなす角が30度から150度の間の角度となるようにカメラ13の動作を制御する。これにより、カメラ13が撮像対象物の状態変化を撮像画像中のある程度大きいピクセルの変化(画像変化量1/2以上)として認識することができる。
カメラ制御部213は、状態変化方向とカメラ13の光軸131とのなす角が90度となるようにカメラ13の動作を制御する。これによりカメラ13が撮像対象物の状態変化を撮像画像中の最も大きいピクセルの変化(画像変化量1)として認識することができる。
撮像対象物が複数存在し、カメラ制御部213は、複数の撮像対象物の各々に対応する状態変化方向情報に基づいて、カメラ13の動作を制御する。より詳しくは、カメラ制御部213は、カメラ13の光軸の方向が、一の撮像対象物に対応する状態変化方向情報に基づいたカメラ13の光軸の方向と、他の撮像対象物に対応する状態変化方向情報に基づいたカメラ13の光軸の方向との間の方向になるように、カメラ13の動作を制御する。これにより、撮像対象物が複数ある場合であっても、カメラ13が各撮像対象物の状態変化を撮像画像中の大きなピクセルの変化として認識することができる。
撮像対象物がエンドエフェクタ11を含み、エンドエフェクタ11に対応する状態変化方向は、エンドエフェクタ11の動作方向である。これにより、カメラ13がエンドエフェクタ11の動作を撮像画像中の大きなピクセルの変化として認識することができる。
撮像対象物はエンドエフェクタ11が保持する物体を含み、物体に対応する状態変化方向は、物体の動作方向である。これにより、カメラ13が、エンドエフェクタ11が保持する物体の動作を撮像画像中の大きなピクセルの変化として認識することができる。
撮像対象物は、エンドエフェクタ11またはエンドエフェクタ11が保持した物体による作業対象物を含み、作業対象物に対応する状態変化方向は、作業対象物の動作方向または変形方向である。これにより、カメラ13が、作業対象物の動作方向または変形方向を撮像画像中の大きなピクセルの変化として認識することができる。
送信部214からエンドエフェクタ11に送信される複数の制御信号に基づいて、エンドエフェクタ11は複数の動作を行う。これにより、エンドエフェクタ11が上述の付随動作を複数組み合わせて行うことができる。そのため、複数の付随動作の組み合わせにより実現される目標動作を、適切な位置に移動済みのカメラ13が撮像することができる。
取得部212と、カメラ制御部213と、送信部214とを備えた制御装置2が、カメラ13およびエンドエフェクタ11を制御する。この制御方法において、取得部212が、カメラ13による撮像対象物の状態の変化方向を示す状態変化方向情報を取得する。この制御方法において、カメラ制御部213が、状態変化方向情報に基づいてカメラ13の動作を制御する。この制御方法において、送信部214が、エンドエフェクタ11を制御する制御信号をエンドエフェクタ11に送信する。これにより、カメラ13が撮像した画像に基づいて制御装置2がエンドエフェクタ11を制御する際に、カメラ13において撮像対象物の状態の変化をより正確に認識できる。
制御装置2が、カメラ13による撮像対象物の状態の変化方向を示す状態変化方向情報を取得する取得部212を備える。制御装置2が、状態変化方向情報に基づいてカメラ13の動作を制御するカメラ制御部213を備える。制御装置2が、エンドエフェクタ11を制御する制御信号をエンドエフェクタ11に送信する送信部214を備える。カメラ制御部213がカメラの動作を制御した後、送信部がエンドエフェクタに制御信号を送信する。これにより、カメラ13が撮像した画像に基づいて制御装置2がエンドエフェクタ11を制御する際に、カメラ13において撮像対象物の状態の変化をより正確に認識できる。
以上、図面を参照して、本開示に係る制御システム、制御方法、および制御装置について説明したが、本開示はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例、修正例、置換例、付加例、削除例、均等例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。また、発明の趣旨を逸脱しない範囲において、上述した各種の実施の形態における各構成要素を任意に組み合わせてもよい。
本開示は、エンドエフェクタを制御する際に、カメラにおいて対象物の状態の変化をより正確に認識できる制御システム、制御方法、および制御装置として有用である。
1 ロボット
11 エンドエフェクタ
12 ロボットアーム
13 カメラ
131 光軸
14 カメラアーム
2 制御装置
21 プロセッサ
211 撮像画像取得部
212 状態変化方向情報取得部(取得部)
213 カメラ制御部
214 送信部
22 メモリ
100 制御システム
101 制御システム
Wk ワーク
11 エンドエフェクタ
12 ロボットアーム
13 カメラ
131 光軸
14 カメラアーム
2 制御装置
21 プロセッサ
211 撮像画像取得部
212 状態変化方向情報取得部(取得部)
213 カメラ制御部
214 送信部
22 メモリ
100 制御システム
101 制御システム
Wk ワーク
Claims (14)
- カメラと、
エンドエフェクタと、
前記カメラおよび前記エンドエフェクタを制御する制御装置と、を備え、
前記制御装置は、
撮像対象物の状態の変化方向を示す状態変化方向情報を取得する取得部と、
前記状態変化方向情報に基づいて前記カメラの動作を制御するカメラ制御部と、
前記エンドエフェクタを制御する制御信号を前記エンドエフェクタに送信する送信部と、を備え、
前記制御装置は、前記カメラ制御部が前記カメラの動作を制御した後、前記送信部が前記エンドエフェクタに前記制御信号を送信する、
制御システム。 - 前記カメラ制御部は、前記カメラが前記撮像対象物を撮像可能に位置するように前記カメラの動作を制御した後、前記送信部が前記エンドエフェクタに前記制御信号を送信する、
請求項1に記載の制御システム。 - 前記カメラ制御部は、前記カメラが前記撮像対象物を撮像可能に位置するように前記カメラの動作を制御した後、前記カメラの位置を固定するように前記カメラの動作を制御する、
請求項2に記載の制御システム。 - 前記カメラ制御部は、前記カメラの光軸が前記状態変化方向と平行にならないように前記カメラの動作を制御する、
請求項1から3のうちいずれか一項に記載の制御システム。 - 前記カメラ制御部は、前記状態変化方向と前記カメラの光軸とのなす角が30度から150度の間の角度となるように前記カメラの動作を制御する、
請求項4に記載の制御システム。 - 前記カメラ制御部は、前記状態変化方向と前記カメラの光軸とのなす角が90度となるように前記カメラの動作を制御する、
請求項5に記載の制御システム。 - 前記撮像対象物が複数存在し、
前記カメラ制御部は、前記複数の撮像対象物の各々に対応する状態変化方向情報に基づいて、前記カメラの動作を制御する、
請求項1から請求項5のうちいずれか一項に記載の制御システム。 - 前記カメラ制御部は、前記カメラの光軸の方向が、一の前記撮像対象物に対応する状態変化方向情報に基づいた前記カメラの光軸の方向と、他の前記撮像対象物に対応する状態変化方向情報に基づいた前記カメラの光軸の方向との間の方向になるように、前記カメラの動作を制御する、
請求項7に記載の制御システム。 - 前記撮像対象物が前記エンドエフェクタを含み、
前記エンドエフェクタに対応する前記状態変化方向は、前記エンドエフェクタの動作方向である、
請求項1から請求項8のうちいずれか一項に記載の制御システム。 - 前記撮像対象物は前記エンドエフェクタが保持する物体を含み、
前記物体に対応する前記状態変化方向は、前記物体の動作方向である、
請求項1から請求項8のうちいずれか一項に記載の制御システム。 - 前記撮像対象物は、前記エンドエフェクタまたは前記エンドエフェクタが保持した物体による作業対象物を含み、
前記作業対象物に対応する前記状態変化方向は、前記作業対象物の動作方向または変形方向である、
請求項1から請求項8のうちいずれか一項に記載の制御システム。 - 前記送信部から前記エンドエフェクタに送信される複数の制御信号に基づいて、前記エンドエフェクタは複数の動作を行う、
請求項1から請求項11のうちいずれか一項に記載の制御システム。 - 取得部と、カメラ制御部と、送信部とを備えた制御装置による、カメラおよびエンドエフェクタの制御方法であって、
前記取得部が、撮像対象物の状態の変化方向を示す状態変化方向情報を取得するステップと、
前記カメラ制御部が、前記状態変化方向情報に基づいて前記カメラの動作を制御するステップと、
前記送信部が、前記エンドエフェクタを制御する制御信号を前記エンドエフェクタに送信するステップと、を有する、
制御方法。 - 撮像対象物の状態の変化方向を示す状態変化方向情報を取得する取得部と、
前記状態変化方向情報に基づいてカメラの動作を制御するカメラ制御部と、
エンドエフェクタを制御する制御信号を前記エンドエフェクタに送信する送信部と、を備え、
前記カメラ制御部が前記カメラの動作を制御した後、前記送信部が前記エンドエフェクタに前記制御信号を送信する、
制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020140404A JP2023145814A (ja) | 2020-08-21 | 2020-08-21 | 制御システム、制御方法、および制御装置 |
PCT/JP2021/025571 WO2022038913A1 (ja) | 2020-08-21 | 2021-07-07 | 制御システム、制御方法、および制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020140404A JP2023145814A (ja) | 2020-08-21 | 2020-08-21 | 制御システム、制御方法、および制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023145814A true JP2023145814A (ja) | 2023-10-12 |
Family
ID=80350306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020140404A Pending JP2023145814A (ja) | 2020-08-21 | 2020-08-21 | 制御システム、制御方法、および制御装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2023145814A (ja) |
WO (1) | WO2022038913A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11745956B2 (en) | 2021-03-29 | 2023-09-05 | Dexterity, Inc. | Tray handling autonomous robot |
WO2022221089A2 (en) * | 2021-04-16 | 2022-10-20 | Dexterity, Inc. | Robotic tray gripper |
WO2023203726A1 (ja) * | 2022-04-21 | 2023-10-26 | ヤマハ発動機株式会社 | 画像取得装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009279706A (ja) * | 2008-05-22 | 2009-12-03 | Shibuya Kogyo Co Ltd | ロボット制御装置 |
US11977365B2 (en) * | 2017-11-28 | 2024-05-07 | Kawasaki Jukogyo Kabushiki Kaisha | Skill transfer mechanical apparatus |
-
2020
- 2020-08-21 JP JP2020140404A patent/JP2023145814A/ja active Pending
-
2021
- 2021-07-07 WO PCT/JP2021/025571 patent/WO2022038913A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022038913A1 (ja) | 2022-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022038913A1 (ja) | 制御システム、制御方法、および制御装置 | |
US11090814B2 (en) | Robot control method | |
US9884425B2 (en) | Robot, robot control device, and robotic system | |
JP4961860B2 (ja) | ロボット装置及びロボット装置の制御方法 | |
US11040451B2 (en) | Teaching device and teaching method | |
US20100119146A1 (en) | Robot system, robot control device and method for controlling robot | |
JP7111114B2 (ja) | 情報処理装置、情報処理方法及び情報処理システム | |
JP4001105B2 (ja) | ロボットによる任意形状物体の把持方法 | |
JP6897396B2 (ja) | 制御装置、ロボットシステムおよび制御方法 | |
JP7186349B2 (ja) | エンドエフェクタの制御システムおよびエンドエフェクタの制御方法 | |
CN110856932A (zh) | 干涉回避装置以及机器人系统 | |
US11376732B2 (en) | Robot system for correcting teaching of robot using image processing | |
JP2008183690A (ja) | ロボット制御装置及びロボット制御システム | |
JP5195465B2 (ja) | ロボット制御装置及び方法 | |
JP6322949B2 (ja) | ロボット制御装置、ロボットシステム、ロボット、ロボット制御方法及びロボット制御プログラム | |
WO2020220930A1 (en) | Robot-based insertion mounting of workpieces | |
Schiebener et al. | Discovery, segmentation and reactive grasping of unknown objects | |
US11759955B2 (en) | Calibration method | |
US20200338764A1 (en) | Object detection method and robot system | |
JP2005205519A (ja) | ロボットハンド装置 | |
CN114559131A (zh) | 一种焊接控制方法、装置及上位机 | |
WO2016083972A1 (en) | Robotic system comprising a telemetric device with a laser measuring device and a passive video camera | |
US20190061162A1 (en) | Robot System | |
WO2019064751A1 (ja) | ロボット教示システム、ロボット教示方法、制御装置、及びコンピュータプログラム | |
WO2019064752A1 (ja) | ロボット教示システム、ロボット教示方法、制御装置、及びコンピュータプログラム |