JP7482359B2 - ロボット制御方法 - Google Patents

ロボット制御方法 Download PDF

Info

Publication number
JP7482359B2
JP7482359B2 JP2022559051A JP2022559051A JP7482359B2 JP 7482359 B2 JP7482359 B2 JP 7482359B2 JP 2022559051 A JP2022559051 A JP 2022559051A JP 2022559051 A JP2022559051 A JP 2022559051A JP 7482359 B2 JP7482359 B2 JP 7482359B2
Authority
JP
Japan
Prior art keywords
information
robot
control
image
target
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.)
Active
Application number
JP2022559051A
Other languages
English (en)
Other versions
JPWO2022091895A1 (ja
JPWO2022091895A5 (ja
Inventor
佑馬 山倉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Publication of JPWO2022091895A1 publication Critical patent/JPWO2022091895A1/ja
Publication of JPWO2022091895A5 publication Critical patent/JPWO2022091895A5/ja
Application granted granted Critical
Publication of JP7482359B2 publication Critical patent/JP7482359B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40557Tracking a tool, compute 3-D position relative to camera
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40584Camera, non-contact sensor mounted on wrist, indep from gripper

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Description

本開示は、ロボットに搭載されたセンサを用いて作業を行うロボット制御方法に関する。
特許文献1は、カメラにより撮影した画像データに基づいて位置姿勢の制御を行うための視覚認識装置を開示している。この開示では、ビジュアルサーボによる位置姿勢の制御で、作業対象物の認識ができない位置をあらかじめ検出し、禁止領域として設定する。これにより、禁止領域を回避するように制御をすることで、確実に作業対象物を認識しながら目標位置まで移動制御することが可能となる。
特開2003-305675号公報
本開示は、センサで作業対象物を検出できない場合においても、精度を担保しつつ、作業を実行することができるロボット制御方法を提供することを目的とする。
また、本開示におけるロボット制御方法は、作業対象物に対して作業を行うロボットと、ロボットに搭載されたセンサと、に接続された制御装置におけるロボット制御方法である。最初に、ロボットの周囲の環境を複数の位置と角度からセンサを用いて取得した複数の環境センサ情報に基づいて、ロボットの周囲の環境を示す環境情報を算出する。次に、センサを用いて第1のセンサ情報を取得し、ロボットの作業対象物に対する作業目標を示す目標作業情報と、環境情報と、第1のセンサ情報とに基づいて、ロボットが作業目標に近づくような第1の制御情報を算出する第1のステップを実行する。また、センサを用いて第2のセンサ情報を取得し、目標作業情報と、第2のセンサ情報とに基づいて、ロボットが作業目標に近づくような第2の制御情報を算出する第2のステップを実行する。さらに、第1の制御情報と、第2の制御情報に基づいて、前記第1の制御情報と前記第2の制御情報との重み付き和により第3の制御情報を算出し、ロボットに第3の制御情報を送信する第3のステップを実行する。
本開示のロボット制御方法によれば、センサで作業対象物を検出できない場合においても、精度を担保しつつ、作業を実行することができる。
実施の形態1におけるロボットの制御システムの構成を示すシステム構成図 実施の形態1におけるロボットの環境情報を算出する動作を示すシーケンス図 実施の形態1におけるロボットの目標作業情報を算出する動作を示すシーケンス図 実施の形態1におけるロボットの作業を実現する制御動作を示すシーケンス図 実施の形態1におけるロボットの制御システムのハードウェア構成を示すブロック図 実施の形態1における環境情報の算出方法を示すフローチャート図 実施の形態1における環境画像情報を示す模式図 実施の形態1におけるロボットの環境情報を示す模式図 実施の形態1における目標作業情報の算出を示すフローチャート図 実施の形態1におけるロボットの目標状態を示す模式図 実施の形態1における目標撮像画像を示す模式図 実施の形態1における第1の目標画像情報を示す模式図 実施の形態1における第2の目標画像情報を示す模式図 実施の形態1におけるロボットの制御動作を示すフローチャート図 実施の形態1におけるロボットの初期状態におけるカメラの撮像画像を示す模式図 実施の形態2におけるロボットの作業を実現する制御動作を示すシーケンス図 実施の形態2におけるロボットの制御システム1のハードウェア構成を示すブロック図 実施の形態2におけるロボットの制御動作を示すフローチャート図
[本開示に至る経緯]
人間の代わりに作業を行うロボットは、制御装置によって制御されて、作業対象物のピックアンドプレース等の作業を行う。このとき、環境に適応した精密な制御を行うために、センサから取得した情報を用いるフィードバック制御が行われる。制御装置はセンサから取得したセンサ情報に基づいてロボットを制御する。このように、センサを用いることにより、ロボットが環境に適応した作業を行うことができる。
しかし、実際にロボットを用いて作業を行う場合、必ずしもセンサ情報に作業対象物の情報があるとは限らない。例えば、センサとしてカメラを用いる場合、ロボットが作業を開始するためには、カメラから取得した撮像画像に作業対象物が写っている必要がある。そのためには、専用の作業環境の設計と実機の調整が必要となる。
センサ情報に作業対象物の情報がない場合、撮像画像に基づいてロボットを制御することができない。例えば、作業対象物を把持する場合、センサ情報に基づいて作業対象物を認識することで、作業対象物の把持位置を決定する。したがって、作業対象物を認識できない場合、把持位置を決定することができず、作業を実行することができない。
そこで、以下の実施の形態では、作業対象物だけではなく、作業台(ロボットの周辺の環境に存在する物体)の情報も用いて制御を実行する。それにより、センサ情報に作業対象物が存在していない場合においても、精度を担保しつつ、作業を実行することができる。
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために、提供されるのであって、これらにより請求の範囲に記載の主題を限定することは意図されていない。
なお、以下の実施の形態では、センサとしてカメラを用いたロボット制御を説明する。
[実施の形態1]
以下、図1~15を用いて、実施の形態1を説明する。
[制御システム図の説明]
図1は、実施の形態1におけるロボットの制御システムの構成を示すシステム構成図である。実施の形態1における制御システム1は、ロボット10と、制御装置2と、作業対象物であるネジ穴11と、作業台である基板12および壁13と、を少なくとも備える。制御装置2は、ロボット10と接続され通信できる。なお、制御装置2は、ロボット10に内蔵されていてもよい。また、ロボット10は、ロボットアーム101、エンドエフェクタとしてドライバ102、およびセンサとしてカメラ103を備える。制御システム1は、図1に示した構成には限られない。
ロボットアーム101は、1以上の関節を有する機構を備える。ロボットアーム101は、ドライバ102の位置と姿勢を制御することができる。なお、ロボットアームは、必ずしも関節を有していなくともよい。例えば、ロボットアームは、伸縮が可能な機構を備えてもよい。これに限らず、ロボットアームは、当事者にとって一般的なものが用いられてもよい。
ドライバ102は、ネジ穴11に対しネジを挿入する作業を行うことができるエンドエフェクタである。ドライバ102は、ロボットアーム101の先端に搭載されている。例えば、図1に示すように、ロボットアーム101の先端のリンクの向きと、ドライバ102の向きと、が平行になるように、ドライバ102を取り付ける。なお、エンドエフェクタはドライバ102に限られない。例えば、エンドエフェクタとして1本以上の指を備えるものを用いてもよい。他の例として、エンドエフェクタとして、作業対象物を包み込むように把持することができる球形の柔軟物であってもよい。これに限らず、エンドエフェクタは、当事者にとって一般的なものが用いられてもよい。
カメラ103は、ロボット10の周辺の環境の情報を取得するセンサの一種として用いられる。カメラ103は、図1に示すように、撮像範囲1031を撮像することで、ネジ穴11(作業対象物)、または基板12および壁13(作業台)を含む撮像画像を取得する。カメラ103は、ロボットアーム101の先端に搭載されている。例えば、図1に示すように、ドライバ102が取り付けられているリンクに取り付けることで、ドライバ102で作業をする部分を撮像するように、カメラ103を搭載する。なお、カメラ103は、ロボットアーム101の先端以外に取り付けられていてもよい。例えば、ロボットアーム101の根本のリンクに取り付けることで、周辺の環境を回転するようにして撮像してもよい。なお、カメラ103は、撮像画像以外の情報も取得してもよい。例えば、カメラ103は、カメラ103のパラメータを取得してもよい。例えば、カメラ103は、デプスセンサであり、デプス画像を取得してもよい。例えば、カメラ103は、3次元距離センサであり、デプス情報を取得してもよい。これに限らず、カメラ103は、当事者にとって一般的なものが用いられてもよい。
ネジ穴11(作業対象物)は、ロボット10が作業を行うときに、ロボットアーム101またはドライバ102を用いて、作業を行う対象の物体である。例えば、図1に示すように、ネジ締め作業を行う場合、ロボット10の作業は、ドライバ102を用いて、ネジ穴11にネジを挿入することである。
基板12および壁13(作業台)は、ロボット10の周辺の環境に存在する物体を含む、作業を行う場所である。例えば、図1に示すように、ネジ締め作業を行う場合、ロボット10の周辺には、ネジ穴11がある基板12と、作業を行う場所を囲む壁13がある。
また、環境とは、ネジ穴11(作業対象物)と基板12および壁13(作業台)とを含む、作業を行う場所のことである。
作業対象物と作業台との他の例を挙げる。制御システム1において、基板12の運搬作業を行う場合、ロボット10の作業は、エンドエフェクタとして2指ハンドを用いて、基板12を把持し指定された場所に運ぶことである。このとき、作業対象物は基板12のことである。また、作業台は壁13である。このように、同じ制御システム1に対して作業を行うとしても、作業内容により、作業対象物と作業台が異なることがある。
なお、作業台は作業に関係のない物体を含んでもよい。例えば、作業台に天井が含まれてもよい。例えば、作業台にロボット10が設置されているものとは別の机が含まれていてもよい。つまり、カメラ103で撮像画像を取得した場合、作業台は撮像範囲1031に含まれている全ての物体のことである。
[作業の説明]
本実施の形態では、ロボット10のネジ締め作業を考える。ロボットアーム101はリンクが直列つなぎである6軸の産業用ロボットである。エンドエフェクタとしてドライバ102を用いる。ただし、ネジはドライバ102の先端につけてあるものとする。カメラ103はRGB画像を取得する。作業対象物はネジ穴11、作業台は基板12および壁13である。基板12と壁13には、画像処理により特徴点を抽出できるような模様があると仮定する。図1では、この模様を簡潔に図示している。また、環境とは、ネジ穴11、基板12、および壁13のことである。
ネジ締め作業を実行するとき、初期時刻のロボット10の姿勢は、図1で示すように壁13を向いている。制御装置2は、カメラで撮像した画像を用いて、ロボット10がネジ締め作業を実行できるように制御を実行する。ネジ締め作業を実行するときのロボット10の姿勢、つまり目標状態は、ドライバ102の姿勢がネジ穴11に垂直であり、ドライバ102の位置がネジ穴11の真上にある状態である。目標状態のときのロボット10の模式図は図10で後述する。
[シーケンス図の説明]
シーケンス図では、操作者S1、制御装置2、ロボット10、およびカメラ103の間のデータのやり取りを示す。操作者S1とは、ロボット10を操作する人のことである。また、制御装置2、ロボット10、およびカメラ103は図1に基づいて説明したものを用いる。
[環境情報を算出するシーケンス]
図2は、実施の形態1におけるロボットの環境情報を算出する動作を示すシーケンス図である。
カメラ103から取得した撮像画像に画像処理を行った環境画像情報に基づいて、制御装置2は環境情報を算出する。環境画像情報とは、カメラ103により撮像した撮像画像に基づく環境の画像情報である。環境情報とは、環境の特徴の3次元の位置情報を示す情報である。ここで、環境情報は環境画像情報から算出するため、環境情報を正確に取得するためには、環境の画像情報をカメラ103の様々な位置・角度から複数枚取得することが望ましい。本実施の形態において、環境画像情報とは、ネジ穴11、基板12、および壁13を撮像した画像群であり、環境情報とは、ネジ穴11、基板12、および壁13の特徴の3次元位置を示す3次元点群である。撮像画像はセンサデータの一例であり、環境画像情報は環境センサ情報の一例である。
以下、環境情報を環境画像情報から算出するシーケンス図を説明する。最初に、操作者S1は制御装置2に環境情報を取得する命令を送信する(S001)。なお、操作者S1は制御装置2に環境画像情報を取得するためのロボット動作を定義し送信してもよい。なお、環境画像情報を取得するために、プログラミングペンダント等を用いて操作者S1が制御装置2に動的に制御情報を送信してもよい。また、操作者S1が手でロボットを直接動かしてもよい。このように、操作者S1は対話的に制御装置2に制御情報を入力し、ロボット10を操作してもよい。
ステップS001の後、制御装置2はロボット10に環境情報を取得するための動作を含む制御情報を送信し、ロボット10を動作させる(S002)。
また、制御装置2はカメラ103に環境画像情報を取得する命令を送信する(S003)。なお、環境画像を取得するために、ロボット10にカメラ103を搭載して撮像する必要はない。つまり、操作者S1がカメラ103を持ち、撮像画像を取得してもよい。なお、ステップS002とステップS003は順番が前後してもよい。
ステップS002およびステップS003の後、カメラ103は、撮像画像を取得し、制御装置2に撮像画像を送信し、制御装置2は撮像画像を記憶する(S004)。ステップS004は、ステップS002で制御装置2がロボット10を動かしている間、カメラ103による撮像を行うため、制御装置2はカメラ103の複数の位置・姿勢から取得された撮像画像を1枚ずつ受信し、記憶する。
ロボット10がステップS002で規定された動作を終了したとき、ロボット10は制御装置2にロボット10の動作が終了した信号を送信する(S005)。
ステップS005の後、制御装置2はカメラ103にカメラ103の撮像を終了する命令を送信する(S006)。ステップS006の後、カメラ103は撮像を終了し、カメラ103は制御装置2に撮像を終了した信号を送信する(S007)。このとき、制御装置2はカメラ103で環境を網羅的に撮影することにより得た環境画像情報を取得している。
ステップS007の後、制御装置2はステップS004で取得した環境画像情報に基づいて、環境情報を算出する(S008)。制御装置2は、算出した環境情報を記憶する。環境情報を算出する方法は、図6の環境情報の算出フローで後述する。
ステップS008の後、制御装置2は、操作者S1に環境情報の取得信号を送信し、環境情報の算出を終了したことを通知する(S009)。操作者S1は制御装置が環境情報を算出し終わった通知を受け取り、次の作業である目標作業情報の算出を実行することができる。
[目標作業情報を算出するシーケンス]
図3は、実施の形態1におけるロボットの目標作業情報を算出する動作を示すシーケンス図である。ロボット10の目標作業情報の算出は、図2に基づいて説明した環境情報を取得した後に実行する必要がある。
環境情報と目標画像情報とに基づいて、制御装置2は目標作業情報を取得する。目標画像情報とは、ネジ締め作業を実行するときに、カメラ103により撮像される撮像画像である。目標作業情報とは、目標画像情報および環境情報を用いて算出される、ネジ締め作業を実行するときのロボット10が用いる情報であり、ネジ締め作業を実行するときのカメラ103の位置・姿勢、および目標画像情報におけるネジ穴11の特徴点を含む。特徴点は特徴情報の一例である。
以下、目標作業情報を目標画像情報から算出するシーケンス図を説明する。最初に、操作者S1は制御装置2に目標作業情報を取得する命令を送信する(S101)。なお、操作者S1は制御装置2に目標作業情報を取得するためのロボット動作を定義し送信してもよい。なお、目標作業情報を取得するために、プログラミングペンダント等を用いて操作者S1が制御装置2に動的に制御情報を送信してもよい。また、操作者S1が手でロボットを直接動かしてもよい。このように、操作者S1は対話的に制御装置2に制御情報を入力し、ロボット10を操作してもよい。
ステップS101の後、制御装置2はロボット10に目標画像情報を取得するための動作の命令(制御情報)を送信し、ロボット10を動作させる(S102)。
ステップS102の後、ロボット10は制御装置2に動作を終了する通知を送信する(S103)。ステップS103の後、ロボット10の姿勢は作業を達成したときの姿勢になる。
ステップS103の後、制御装置2はカメラ103に目標画像情報を取得する命令を送信する(S104)。ステップS104の後、カメラ103は、目標画像情報を取得し、制御装置2に目標画像情報を送信し、制御装置2は目標画像情報を記憶する(S105)。カメラ103から取得する目標画像情報には、ネジ穴11が写っている。なお、目標画像情報を取得するために、ロボット10にカメラ103を搭載して撮像する必要はない。つまり、操作者S1がカメラ103を持ち、撮像画像を取得してもよい。
ステップS105の後、環境情報と目標画像情報とに基づいて、目標作業情報を算出する(S106)。目標作業情報を算出する方法は、図9の目標作業情報の算出フローで後述する。
ステップS106の後、制御装置2は操作者S1に目標作業情報の取得信号を送信し、目標作業情報の算出を終了したことを通知する(S107)。操作者S1は制御装置が目標作業情報を算出し終わった通知を受け取り、次の作業であるロボット10の制御を実行することができる。
[ロボットを制御するシーケンス]
図4は、実施の形態1におけるロボットの作業を実現する制御動作を示すシーケンス図である。ロボットの制御は図2に基づいて説明した環境情報と、図3に基づいて説明した目標作業情報と、を取得した後に実行する必要がある。
本実施の形態のロボット制御の特徴は、第1のステップの後に第2のステップを実行するという、2段階の制御である。第1のステップは3つの処理からなる。1つ目の処理は、カメラ103から第1の画像情報を取得する。2つ目の処理は、環境情報、第1の画像情報、および目標作業情報に基づいて、第1の制御情報を算出する。3つ目の処理は、第1の制御情報に基づいて、制御を実行する。第2のステップも3つの処理からなる。1つ目の処理は、カメラ103から第2の画像情報を取得する。2つ目の処理は、第2の画像情報、および目標作業情報に基づいて、第2の制御情報を算出する。3つ目の処理は、第2の制御情報に基づいて、制御を実行する。画像情報はセンサ情報の一例である。
この2つのステップによる制御は、ある単一の目標画像情報により実行される制御である。言い換えると、第1のステップと第2のステップとによる制御の結果が、理想的には同じになるということである。第1のステップは第2のステップと異なり、作業対象物の情報だけではなく環境情報を用いる制御を行うため、撮像画像中に作業対象物が存在しない場合でも制御が可能である。これは、第2のステップの、撮像画像中に作業対象物が存在しない場合に制御が不可能であるという問題点を補完している。
しかし、本実施の形態では、環境情報を算出する際に、2次元画像から3次元の位置情報に変換しているため、環境情報への変換に誤差が生じる可能性がある。そのため、第1のステップの制御には、変換に起因する誤差が生じる可能性がある。一方で、第2のステップでは、第1のステップと異なり2次元画像を変換せず、2次元画像の特徴を直接用いることにより、上記で説明した変換による誤差が生じない。つまり、第1のステップに比べて、第2のステップの方が、精度の良い制御が可能である。
したがって、本実施の形態では、第1のステップによる制御の後に第2のステップによる制御を実行する。最初に第1のステップによる制御を実行することで、撮像画像中に作業対象物が存在しない場合から、撮像画像中に作業対象物が写り込ませることで、次に第2のステップを実行できるようにする。次に、環境情報に変換する際の誤差を考慮し、第2のステップによる制御を実行することで、撮像画像中に作業対象物の特徴が存在する場合から、ロボット10は目標作業情報を達成するように精密に制御される。これにより、作業対象物の位置に関係なく、精密な制御が実行される。
本実施の形態では、第1の画像情報とは、カメラ103から取得した環境を撮像した画像の特徴点である。また、第2の画像情報とは、カメラ103から取得した撮像した画像のネジ穴11の特徴点である。また、第1の制御情報と第2の制御情報とは、ロボット10の関節角の位置の制御量であり、ロボット10は制御情報を用いて関節角の位置制御を実行する。
最初に、操作者S1は制御装置2にロボットの制御を開始する命令を送信する(S201)。
ステップS201の後、制御装置2はカメラ103に第1の画像情報を取得する命令を送信する(S202)。ステップS202の後、カメラ103は、第1の画像情報を取得し、制御装置2に第1の画像情報を送信し、制御装置2は第1の画像情報を記憶する(S203)。
ステップS203の後、環境情報、目標作業情報、および第1の画像情報に基づいて、制御装置2は第1の制御情報を算出する(S204)。第1の制御情報を算出する方法は、図14のロボットの制御動作の算出フローで後述する。
ステップS204の後、制御装置2はロボット10に第1の制御情報を送信する(S205)。ステップS205の後、ロボット10は、受信した制御情報に基づいて制御された後、第1の制御終了の信号を制御装置2に送信する(S206)。
ステップS206の後、制御装置2はカメラ103に第2の画像情報を取得する命令を送信する(S207)。ステップS207の後、カメラ103は、第2の画像情報を取得し、制御装置2に第2の画像情報を送信し、制御装置2に第2の画像情報を記憶する(S208)。
ステップS208の後、目標作業情報、および第2の画像情報に基づいて、制御装置2は第2の制御情報を算出する(S209)。第2の制御情報を算出する方法は、図14のロボットの制御動作の算出フローで後述する。
ステップS209の後、制御装置2はロボット10に第2の制御情報を送信する(S210)。ステップS210の後、ロボット10は、受信した第2の制御情報に基づいて制御された後、第2の制御終了の信号を制御装置2に送信する(S211)。
ステップS211の後、制御装置2は、操作者S1に制御終了の信号を送信し、ロボット10の制御を終了したことを通知する(S212)。
なお、各シーケンスは操作者S1が命令を送信せずに順に実行されてもよい。
[ブロック図の説明]
図5は、実施の形態1におけるロボット10の制御システム1のハードウェア構成を示すブロック図である。ロボット10とカメラ103は図1に基づいて説明したものと同様であるため、説明を省略する。
メモリ21は、プロセッサ22で処理を実行するための情報を記憶する。例えば、RAM(Random Access Memory)とROM(Read Only Memory)とを有する。RAMは、プロセッサ22により生成または取得したデータを一時的に保存するためのワーキングメモリである。ROMは、プロセッサ22による処理を規定したプログラムを格納するためのストレージである。例えば、メモリ21は、画像情報取得部221から取得した撮像画像、環境画像情報、目標画像情報、第1の画像情報、および第2の画像情報、環境情報算出部224から取得した環境情報、および目標作業情報算出部225から取得した目標作業情報を記憶してもよい。また、メモリ21は、各取得部および算出部の処理におけるデータを記憶してもよい。また、メモリ21は、カメラ103およびロボット10のパラメータを記憶してもよい。
プロセッサ22は、メモリ21に記憶されているプログラムを参照し、そのプログラムを実行することにより処理を実行する。例えば、プロセッサ22は、CPU(Central Processing Unit)またはFPGA(Field Programmable Gate Array)を用いて構成される。例えば、プロセッサ22は、画像情報取得部221、制御部222、状態取得部223、環境情報算出部224、目標作業情報算出部225、第1の制御情報算出部226、および第2の制御情報算出部227を機能的に実現する。
画像情報取得部221は、カメラ103が撮像した撮像画像をカメラ103から取得する。画像情報取得部221は、環境の特徴を抽出する第1の画像処理と、ネジ穴11の特徴を抽出する第2の画像処理とを実行することができる。ここで、第1の画像処理は第1のステップによる制御のための画像処理であり、第2の画像処理は第2のステップによる制御のための画像処理である。
環境情報を算出するとき、画像情報取得部221は、撮像画像群に第1の画像処理を実行することで、環境画像情報を算出し、環境画像情報をメモリ21に記憶させる。目標作業情報を算出するとき、画像情報取得部221は、撮像画像に第1の画像処理および第2の画像処理を実行することで、第1の目標画像情報および第2の目標画像情報を算出する。第1の制御情報を算出するとき、画像情報取得部221は、撮像画像に第1の画像処理を実行することで、第1の画像情報を算出する。第2の制御情報を算出するとき、画像情報取得部221は、撮像画像に第2の画像処理を実行することで、第2の画像情報を算出する。なお、画像情報取得部221は、それぞれの処理で算出したデータをメモリ21に記憶させてもよい。なお、画像情報取得部221は、カメラ103からカメラ103のパラメータを取得し、カメラ103のパラメータをメモリ21に記憶させてもよい。
制御部222は、第1の制御情報算出部226または第2の制御情報算出部227から、第1の制御情報または第2の制御情報を取得する。制御部222は、第1の制御情報または第2の制御情報をロボット10が受信できる制御信号に変換する。制御部222は、制御信号をロボット10に送信する。ロボット10は、制御信号を受信したときに、受信した制御信号に従って動作する。例えば、制御部222が第1の制御情報または第2の制御情報として、関節角の位置の数値配列を取得したとき、制御部222は制御情報を文字列で表される制御信号に変換し、ロボット10に送信する。これに限らず、制御情報および制御信号は、当事者にとって一般的なものが用いられてもよい。
状態取得部223は、ロボット10の状態をロボット10から取得する。状態取得部223は、取得したロボット10の状態をメモリ21に記憶させる。なお、状態取得部223は、ロボット10からロボット10のパラメータを取得し、ロボット10のパラメータをメモリ21に記憶させてもよい。
環境情報算出部224は、画像情報取得部221から取得した環境画像情報に基づいて、環境情報を取得する。環境情報算出部224は、取得した環境情報をメモリ21に記憶させる。
目標作業情報算出部225は、画像情報取得部221から取得した第1の目標画像情報と、環境情報と、に基づいて、第1の目標作業情報を取得する。目標作業情報算出部225は、画像情報取得部221から取得した第2の目標画像情報に基づいて、第2の目標作業情報を取得する。第1の目標作業情報と第2の目標作業情報とを合わせて、目標作業情報とする。目標作業情報算出部225は、取得した目標作業情報をメモリ21に記憶させる。ここで、第1の目標作業情報は第1のステップによる制御のための作業情報であり、第2の目標作業情報は第2のステップによる制御のための作業情報である。
第1の制御情報算出部226は、画像情報取得部221から取得した第1の画像情報、環境情報、および第1の目標作業情報に基づいて、ロボット10を制御する第1の制御情報を算出する。第1の制御情報算出部226は、算出した第1の制御情報をメモリ21に記憶させる。なお、第1の制御情報算出部226は、状態取得部223で取得したロボット10の状態にも基づいて、第1の制御情報を算出してもよい。
第2の制御情報算出部227は、画像情報取得部221から取得した第2の画像情報と、第2の目標作業情報と、に基づいて、ロボット10を制御する第2の制御情報を算出する。第2の制御情報算出部227は、算出した第2の制御情報をメモリ21に記憶させる。なお、第2の制御情報算出部227は、状態取得部223で取得したロボット10の状態にも基づいて、第2の制御情報を算出してもよい。
制御装置2は、メモリ21およびプロセッサ22以外の構成要素をさらに含んでいてもよい。例えば、処理を指示するための入力装置と、入力に応じてプロセッサに処理を命令する機能ブロックを更に含んでいてもよい。例えば、処理を出力するための出力装置と、出力する情報を参照するための機能ブロックを更に含んでいてもよい。例えば、制御装置2は、プログラミングペンダントが発した制御信号を取得し、制御情報を算出し、制御部222に制御情報を送信する機能ブロックを更に含んでいてもよい。例えば、制御装置2は、インターネットに接続するための通信装置と、通信の信号に応じて処理を行う機能ブロックを更に含んでいてもよい。
[フローチャート図の説明]
本実施の形態において、ロボットの作業を実現する動作を、フローチャート図を用いて説明する。
[環境情報を算出するフロー]
図6は、実施の形態1における環境情報の算出方法を示すフローチャート図である。
最初に、制御部222はロボット10を動作させる(S301)。
ステップS301の後に、環境情報算出部224は、画像情報取得部221から、カメラ103が撮像した撮像画像から第1の画像処理により得た環境画像情報を取得する(S302)。
なお、第1の画像処理を実現する公知の手法として、エッジ検出、コーナー検出、ハフ変換、SHOT(Signature of Histograms of OrienTations)、FAST(Features from Accelerated Segment Test)、およびSURF(Speeded-Up Robust Features)が挙げられる。第1の画像処理は、環境の広範囲の情報を取得するため、汎用的な画像処理であることが望ましい。
ステップS302の後に、さらに環境画像情報の取得を終了するかどうかを判断する(S303)。例えば、事前に環境画像情報の取得を行うための処理を記述し、それを順番に行い、その処理がすべて終了した場合(S303:True)は環境画像情報の取得を終了し、それ以外の場合(S303:False)はさらに環境画像情報を取得する。
環境画像情報の取得を行うための処理が終了しておらず、さらに環境画像情報を取得する場合(S303:False)、ステップS301の処理に戻る。ステップS301とS302の処理を繰り返すことにより、後述するステップS304で環境情報を算出するための複数の環境画像情報を取得する。
図7は、実施の形態1における環境画像情報を示す模式図である。丸に十字の記号は、第1の画像処理により取得した、環境画像情報の2次元空間における特徴を表している。本実施の形態において、特徴はネジ穴11の円周上の4点、基板12の頂点、壁13の頂点、および模様の端点であり、2次元画像中の座標点の集合で表される。環境画像情報は、撮像した画像の上に特徴点を描画することで表現している。特徴点P1~P9は、取得した特徴点の中で説明のために特に注目する点である。3枚の撮像画像に基づく環境画像情報E1~E3を例に説明しているが、実際は必要に応じてより多くの撮像画像を取得している。
図6のステップS302の後に、環境画像情報の取得を終了する場合(S303:True)、環境画像情報に基づき、環境情報算出部224は環境情報を算出する(S304)。なお、環境を撮影した動画を事前に取得し、それを複数の画像に変換し、環境画像として利用してもよい。なお、途中で環境画像を追加し、カメラ103で環境画像を追加しながら、オンラインで環境情報を更新してもよい。
なお、環境情報を算出する公知の手法として、SLAM(Simulataneous Localization And Mapping)がある。SLAMはセンサの自己位置推定とセンサで取得した情報に基づく地図生成を同時に行う技術である。SLAMのうち、画像特徴点を用いた疎な手法(feature based method)では、PTAMやORB-SLAMがある。SLAMのうち、画像全体の輝度を用いた密な手法(direct method)では、DTAM、LSD-SLAM、DSO、およびSVOがある。
図8は、実施の形態1におけるロボットの環境情報を示す模式図である。丸に十字の記号は、環境情報の3次元点群である。環境情報は、図1で示した環境の上に特徴点を描画することで表現している。図8の環境情報に示す3次元点群の特徴点P1は、図7の環境画像情報E1の特徴点P1と、環境画像情報E2の特徴点P1とに基づいて算出されたものである。同様に、図8の環境情報に示す3次元点群の特徴点P3は、図7の環境画像情報E2の特徴点P3と、環境画像情報E3の特徴点P3とに基づいて算出されたものである。このように、複数の環境画像情報の特徴点に基づいて、3次元点群の特徴点で表される環境情報に変換される。
[目標作業情報を算出するフロー]
図9は、実施の形態1における目標作業情報の算出方法を示すフローチャート図である。目標作業情報の算出は、環境情報を算出した後に行い、算出した環境情報と目標撮像画像とを用いて行う。目標作業情報には、第1の目標画像情報に対応する第1の目標作業情報と、第2の目標画像情報に対応する第2の目標作業情報とがある。
最初に、制御部222は、ロボット10に目標画像情報を取得するための制御情報を送信し、ロボット10を動作させる(S401)。ステップS401により、ロボット10は作業を達成することができる姿勢、つまりロボット10の目標状態となる。
図10は、実施の形態1におけるロボットの目標状態を示す模式図である。
図9のステップS401の後、画像情報取得部221はカメラ103が撮像した撮像画像を取得する(S402)。これを目標撮像画像と呼ぶ。目標撮像画像は、目標作業情報を算出するときの画像以外であってもよい。
図11は、実施の形態1における目標撮像画像を示す模式図である。目標撮像画像にはネジ穴11が写っている。また、目標撮像画像には基板12および壁13が写っていてもよい。
図9のステップS402の後、画像情報取得部221は環境情報と目標撮像画像とに基づいて、第1の目標画像情報を算出し、目標作業情報算出部225は環境情報と第1の目標画像情報とに基づいて、第1の目標作業情報を算出する(S403)。図12は、実施の形態1における第1の目標画像情報を示す模式図である。図12中の丸に十字の記号は、目標撮像画像を第1の画像処理により処理した、2次元空間における特徴を表している。特徴は、図11で説明した目標画像の上に描画している。特徴点P11~P19は、目標撮像画像に基づいて、第1の画像処理により特徴点を抽出したものである。第1の画像処理とは、環境情報を取得する際に用いた画像処理である。
第1の目標作業情報は、図8で示されるような環境情報と、図12で示されるような第1の目標画像情報とに基づき、図8中の特徴点P1~P9と図12中の特徴点P11~P19をそれぞれ対応付けることにより算出される。このように対応付けることで、図12を撮像したときの、図8におけるカメラの位置・姿勢を算出することができ、その処理により求めたカメラの位置・姿勢が第1の目標作業情報である。第1の目標作業情報を算出する公知の手法として、SLAMが挙げられる。
図9のステップS403の後、画像情報取得部221は目標撮像画像に基づいて、第2の目標画像情報を算出し、目標作業情報算出部225は第2の目標画像情報に基づいて、第2の目標作業情報を算出する(S404)。
図13は、実施の形態1における第2の目標画像情報を示す模式図である。図13中の丸に十字の記号は、目標撮像画像を第2の画像処理により処理した、2次元空間における特徴を示している。特徴は、図11で説明した目標画像の上に描画している。第2の画像処理とは、作業対象物(ネジ穴11)に着目した画像処理である。
本実施の形態における第2の画像処理は、ネジ穴11に着目し、その特徴点を抽出することである。具体的には、第2の画像処理で抽出したネジ穴11の特徴は、ネジ穴11の中心座標と、ネジ穴11を楕円として認識したときの長軸および短軸のネジ穴11の輪郭との交点を抽出する。
なお、第2の画像処理を実現する公知の手法として、ハフ変換、マーカー検出が挙げられる。第2の画像処理は、作業対象物(ネジ穴11)の局所的な情報を取得するため、作業対象物(ネジ穴11)のみに作用するような限定的な画像処理であることが望ましい。
第2の目標作業情報は、第2の目標画像情報をそのまま用いる。なお、第2の目標画像情報に基づいて、第2の目標作業情報を別途算出してもよい。例えば、第2の目標画像情報を2次元空間の特徴点の集合としたとき、その特徴点の中から使用するものを選択し、それ以外のものを用いなくてもよい。
[ロボットを制御するフロー]
図14は、実施の形態1におけるロボットの制御動作を示すフローチャート図である。ロボットの制御は、環境情報および目標作業情報を算出した後に行う。
最初に、画像情報取得部221は、撮像画像を取得し、取得した撮像画像に第1の画像処理を実行し、第1の画像情報を取得する(S501)。
図15は、実施の形態1におけるロボット10の初期状態におけるカメラ103の撮像画像を示す模式図である。ロボット10の初期状態は図1に示しているように、ロボットアーム101、ドライバ102、およびカメラ103が壁13に向いているため、撮像画像にネジ穴11が写っていない。第1の画像処理を実行した場合、壁13の模様から特徴点を取ることができる。しかし、第2の画像処理を実行した場合、撮像画像にネジ穴11が存在しないため、ネジ穴11の特徴点を抽出することができない。したがって、従来のネジ穴11の特徴点を用いた手法では、制御を行うことができない。そのため、本実施の形態では、環境の特徴点をも用いることで、制御を実行する。
図14のステップS501の後、第1のステップによる制御を行う(S502~S505)。まず、第1の制御情報算出部226は、環境情報、第1の目標作業情報、および第1の画像情報に基づいて、第1の制御情報を算出する(S502)。第1の作業情報の制御手順を次に述べる。
まず、環境情報と第1の画像情報とに基づいて、環境情報における撮像時点での第1の作業情報を取得する。ここで、本実施の形態において、作業情報はカメラ103の位置・姿勢である。なお、第1の作業情報を算出する公知の手法として、SLAMが挙げられる。
その後に、第1の目標作業情報(本実施の形態では目標となるカメラの位置・姿勢)と第1の作業情報(本実施の形態の場合、現在のカメラの位置・姿勢)の差分を0にするような第1の制御情報を算出する。なお、第1の制御情報を算出する公知の方法として、ビジュアルサーボが挙げられる。
ステップS502の後、制御部222は、算出した第1の制御情報を用いて、ロボット10を制御する(S503)。ステップS503の後、画像情報取得部221は、ステップS501と同様に、第3の画像情報を取得する(S504)。
ステップS504の後、プロセッサ22は、ステップS503で取得した第3の画像情報にネジ穴11が存在するかどうかを判別する(S505)。例えば、第3の画像情報に第2の画像処理を実行し、ネジ穴11の特徴点を抽出し、特徴点を抽出できた場合「True」に、それ以外の場合「False」に判断する。具体的には、第3の画像情報に第2の画像処理を実行し、ネジ穴11の特徴点を抽出し、特徴点が撮像画像の中心から半径100ピクセル以内にあれば「True」に、それ以外の場合「False」に判断する。例えば、撮像画像にYOLO(You Only Look Once)を使用し、撮像画像にネジ穴11が存在していた場合「True」に、それ以外の場合「False」に判定する。
なお、ステップS505の処理は上記に限らない。例えば、作業目標を達成しているかどうかを判別してもよい。例えば、環境情報と第3の画像情報とに基づいて第3の作業情報を取得し、第3の作業情報が第1の目標作業情報に収束している場合「True」に、それ以外の場合「False」に判定する。具体的には、第3の作業情報(本実施の形態ではカメラの位置・姿勢)と、第1の目標作業情報(本実施の形態では目標となるカメラの位置・姿勢)を比較したときに、カメラの位置の誤差が5[mm]以内かつカメラの姿勢の誤差が0.1[rad]以内である場合「True」に、それ以外の場合「False」に判断する。
ステップS505で第3の画像情報にネジ穴11が存在しない場合(S505:False)、第3の画像情報を第1の画像情報と置き換えて、第1のステップ(S502~S505)の処理を実行する。目標作業情報にはネジ穴11の情報が含まれているため、第1のステップ(S502~S505)を繰り返し実行することで、第3の画像情報にネジ穴11が含まれるようになる。
ステップS505で第3の画像情報にネジ穴11が存在する場合(S505:True)、画像情報取得部221は、画像情報を取得し、取得した撮像画像に第2の画像処理を実行し、第2の画像情報を算出する(S506)。なお、ステップS504で第3の画像情報を算出するために用いた撮像画像を用いて、第2の画像情報を算出してもよい。なお、ステップS505で第2の画像処理を実行していた場合、そのときの情報を用いて第2の画像情報を算出してもよい。
ステップS506の後、第2のステップによる制御を行う(S507~S511)。まず、第2の制御情報算出部227は、第2の目標作業情報、および第2の画像情報に基づいて、第2の制御情報を算出する(S507)。第2の作業情報の制御手順を次に述べる。
第2の目標作業情報(本実施の形態の場合、目標となるネジ穴11の楕円の特徴)と現在の作業情報(本実施の形態の場合、ネジ穴11の楕円の特徴)の差分を0にするような第2の制御情報を算出する。なお、第2の制御情報を算出する公知の方法として、ビジュアルサーボが挙げられる。
ステップS507の後、制御部222は、算出した第2の制御情報を用いて、ロボット10を制御する(S508)。ステップS508の後、画像情報取得部221は、ステップS506と同様に、第4の画像情報を取得する(S509)。
ステップS509の後、プロセッサ22は、ステップS509で取得した第4の画像情報が目標作業情報を達成しているかどうかを判別する(S510)。なお、第4の画像情報が目標作業情報を達成しているとは、例えば、第2の目標作業情報における特徴と第4の画像情報における特徴の誤差がある値以下のときである。
ステップS509で第4の画像情報が第2の目標作業情報を達成している場合、(S510:True)、制御を終了する。例えば、第4の画像情報と第2の目標作業情報との各要素を比較したときに、各要素の誤差が1ピクセル未満の場合「True」に、それ以外の場合「False」に判定してもよい。
ステップS509で第4の画像情報が第2の目標作業情報を達成していない場合、(S510:False)、第4の画像情報の特定の範囲内に、ネジ穴11が存在するかどうかを判別する(S511)。ステップS511での判別は、ステップS505と同様に行ってもよい。
ステップS511で第4の画像情報の特定の範囲内にネジ穴11が存在すると判別したとき(S511:True)、第4の画像情報を第2の画像情報と置き換えて、第2のステップ(S507~S511)の処理を実行する。第2のステップ(S507~S511)を繰り返すことで、第4の画像情報の特徴は目標作業情報に収束する。
ステップS511で第4の画像情報の特定の範囲内にネジ穴11が存在しないと判別したとき(S511:False)、再度第2のステップを行うことができない。したがって、再度ネジ穴11を捕捉するために、第1のステップ(S502~S505)に戻る。
[効果等]
以上のように、本実施の形態では、事前に環境情報および目標画像情報を算出し、環境情報に基づいて第1の制御情報を算出し、第1の制御情報による制御を実行し、その後環境情報に基づいて第2の制御情報を算出し、第2の制御情報による制御を実行する。
これにより、カメラで撮像した画像中にネジ穴11が存在していない場合においても、精度を担保しつつ、作業を実行することができる。そのため、ロボット周辺の環境を厳密に設計せずに、ロボットを制御し、ロボットに作業をさせることが可能になる。
[実施の形態2]
以下、図16~18を用いて、実施の形態2を説明する。なお、実施の形態2における作業は実施の形態1のものと同じものを用いるため、省略する。
[シーケンス図の説明]
本実施の形態では、環境情報を算出するシーケンス図と、目標作業情報を算出するシーケンス図は相違がないため、ロボットの制御シーケンスについてのみ説明する。
[ロボットを制御するシーケンス]
図16は、実施の形態2におけるロボット10の作業を実現する制御動作を示すシーケンス図である。ステップS201~S204、S207~S209、S212は図4を参照する。
ステップS209の後、制御装置2は、第1の制御情報と第2の制御情報とに基づいて、第3の制御情報を算出する(S601)。
ステップS601の後、制御装置2はロボット10に第3の制御情報を送信する(S602)。ステップS602の後、ロボット10は受信した制御情報に基づいて動作する(S603)。
[ブロック図の説明]
図17は、実施の形態2におけるロボット10の制御システム1Aのハードウェア構成を示すブロック図である。制御システム1A、制御装置2A、およびプロセッサ22Aは、第3の制御情報算出部228を有する点で、実施の形態1と異なる。実施の形態1と同様の構成については同一の符号を付して説明を省略する。
第3の制御情報算出部228は、第1の制御情報算出部226から算出した第1の制御情報と、第2の制御情報算出部227から算出した第2の制御情報とに基づいて、第3の制御情報を算出し、制御部222へ第3の制御情報を送信する。
[フローチャート図の説明]
実施の形態2の制御システム1Aは、環境情報を算出するフローチャート図と、目標作業情報を算出するフローチャート図については、実施の形態1の制御システム1と相違がないため、ロボットの制御動作についてのみ説明する。
[ロボットを制御するフロー]
図18は、実施の形態2におけるロボットの制御動作を示すフローチャート図である。ロボットの制御は、環境情報および目標作業情報を算出した後に行う。
最初に、プロセッサ22Aは、画像情報取得部221から、撮像画像を取得し、第1の画像処理で第1の画像情報を、第2の画像処理で第2の画像情報を算出する(S701)。ここで、実施の形態1とは異なり、実施の形態2では撮像画像から必ず第1の画像情報と第2の画像情報の両方を算出する。
ステップS701の後、プロセッサ22Aは、撮像画像が作業目標を達成しているかどうかを判断する(S702)。ステップS702は実施の形態1のステップS510と同様に判別を行えばよい。
ステップS702で撮像画像が作業目標を達成している場合(S702:True)、制御を終了する。
ステップS702で撮像画像が作業目標を達成していない場合(S702:False)、プロセッサ22Aは、第1のステップ(S703)の処理と第2のステップ(S704)の処理を同時に行い、第1のステップ(S703)の処理と第2のステップS704)の処理が終了するまで第3のステップ(S705およびS706)の処理を実行しない。
ステップS702の後、プロセッサ22Aは、環境情報と、第1の目標作業情報と、第1の画像情報とに基づいて、第1の制御情報を算出する(S703)。ステップS703は実施の形態1のステップS502と同様に算出すればよい。
ステップS702の後、プロセッサ22Aは、第2の目標作業情報と、第2の画像情報とに基づいて、第2の制御情報を算出する(S704)。ステップS704は実施の形態1のステップS507と同様に算出すればよい。
ステップS703およびステップS704の後、プロセッサ22Aは、第1の制御情報と第2の制御情報とに基づいて、第3の制御情報を算出する(S705)。例えば、第3の制御情報は、第1の制御情報と第2の制御情報の重み付き和で求めてもよい。例えば、第3の制御情報は、第2の制御情報が求められないとき、第1の制御情報をそのまま用いてもよい。例えば、第3の制御情報は、第2の目標作業情報と第2の画像情報との誤差が小さければ小さいほど、第2の制御情報の重みを大きくしてもよい。
このように、第1の制御情報と第2の制御情報とを用いることで、第1の制御情報の利点であるカメラで撮像した画像中に作業対象物が存在していない場合に制御できる点と、第2の制御情報の利点である精度良く制御できる点を組み合わせた制御を行うことができる。実施の形態1では2段階の制御で上記の内容を実現していたのに対し、実施の形態2では階層的な構造を持たない制御が可能である。
ステップS705の後、制御部222は、算出した第2の制御情報を用いて、ロボット10を制御する(S706)。ステップS706の後、ステップS701に戻る。
[効果等]
以上のように、本実施の形態では、事前に環境情報および目標画像情報を算出し、環境情報に基づいて算出される第1の制御情報、および環境情報に基づいて算出される第2の制御情報に基づいて、第3の制御情報を算出し、第3の制御情報による制御を実行する。
これにより、カメラで撮像した画像中に作業対象物が存在していない場合においても、精度を担保しつつ、作業を実行することができる。そのため、ロボット周辺の環境を厳密に設計せずに、ロボットを制御し、ロボットに作業をさせることが可能になる。
[他の実施の形態]
以上のように、本出願において開示する技術の例示として、実施の形態1および実施の形態2を説明した。しかしながら、本開示における技術は、これに限定されず、変更、置き換え、付加、省略などを行った実施の形態にも適用できる。また、上記実施の形態1および実施の形態2で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。
実施の形態1および実施の形態2では、撮像画像の特徴は、2次元画像における座標点の集合であった。しかし、他の例も考えることができる。例えば、線の場合、その特徴は2次元画像の始点と終点との座標のペアの集合である。例えば、楕円の場合、その特徴は2次元画像の楕円の中心座標と長軸と短軸のベクトルとのペアの集合である。例えば、矩形の場合、その特徴は2次元画像のある点の座標と2本のベクトルとのペアの集合である。例えば、直方体の場合、その特徴は2次元画像のある点の座標と3本のベクトルとのペアの集合である。また、これらの例を組み合わせて使用してもよい。このように、平面図形や立体図形は最終的に、点または線のパラメータの集合で表示させることができる。また、画像の色や画像の輝度などのパラメータで示すこともできる。したがって、撮像画像の特徴は2次元画像での特徴を示すパラメータの集合により示すことができる。
実施の形態1および実施の形態2では、環境情報の特徴は、3次元空間における座標点の集合であった。しかし、他の例も考えることができる。例えば、環境情報に線を用いる場合、環境情報は3次元空間の始点と終点とのペアの集合で示すことができる。例えば、環境情報に楕円を用いる場合、環境情報は3次元空間の楕円の中心座標、および長軸と短軸とのベクトルのペアの集合で示すことができる。例えば、環境情報に矩形を用いる場合、環境情報は3次元空間のある点の座標と2本のベクトルとのペアの集合で示すことができる。例えば、環境情報に直方体を用いる場合、環境情報は3次元空間のある点の座標と3本のベクトルとのペアの集合で示すことができる。また、これらの例を組み合わせて使用してもよい。このように、平面図形や立体図形は最終的に、点または線のパラメータの集合で表示させることができる。また、画像の色や画像の輝度などを3次元空間に投影したパラメータで示すこともできる。したがって、環境情報は3次元空間での特徴を示すパラメータの集合により示すことができる。
実施の形態1および実施の形態2では、第1の目標作業情報および第1の作業情報は、カメラの位置・姿勢であった。しかし、第1の目標作業情報および第1の作業情報は、環境情報と、第1の目標画像情報または第1の画像情報から算出できればよい。例えば、カメラの位置から見たときの作業対象物の相対位置である。例えば、カメラの位置から見たときの撮像範囲外を含む特徴である。
実施の形態1および実施の形態2では、第2の目標作業情報および第2の作業情報は、撮像画像における座標点の集合であった。しかし、第2の目標作業情報および第2の作業情報は、第2の目標画像情報または第2の画像情報から算出できればよい。例えば、画像中における作業対象物の位置・姿勢である。例えば、画像中における作業対象物の特徴と位置・姿勢の組み合わせである。
実施の形態1および実施の形態2では、制御前に環境情報を算出した。しかし、制御中に環境が変動し、実際の環境と算出した環境情報に相違が生じる場合がある。そのため、撮像画像を用いて環境情報を更新することで、実際の環境に環境情報を適応させてよい。
実施の形態1および実施の形態2では、制御前に目標作業情報を算出した。しかし、制御中に他の作業を実行させる、または環境の変化に対して目標作業情報を合わせることが考えられる。そのため、実行したい作業または実際の環境に合わせた目標作業情報へと動的に変更してもよい。
実施の形態1および実施の形態2では、センサとしてカメラを用いた。しかし、環境の情報を取得できればよいため、カメラ以外のセンサを用いてもよい。例えば、センサとしてデプスセンサを用いる場合を考える。デプスセンサを用いた場合、第1の画像処理として、デプスの変化が大きい部分を抽出する。これにより、実施の形態1のような環境の模様に対応する、環境の特徴を算出することができる。第2の画像処理として、デプスの形状が楕円型の部分を抽出する。これにより、実施の形態1のようなネジ穴11の穴に対応する、作業対象物の特徴を抽出する。環境情報は、第1の画像処理で抽出されたデプス情報の特徴を3次元点群として表現する。目標作業情報は、ロボットの目標状態で取得したデプス情報を用いて、第1の画像処理および第2の画像処理で抽出された情報を利用する。デプス情報を処理し、特徴として利用することで、実施の形態1および実施の形態2で説明した内容と同様に制御が可能である。
実施の形態1では、作業対象物に対して作業を行うロボットと、ロボットに搭載されたセンサと、に接続された制御装置におけるロボット制御方法であって、ロボットの周囲の環境を複数の位置と角度から取得した複数の環境画像情報に基づいて、ロボットの周囲の環境を示す環境情報を算出し、カメラで第1の画像情報を取得し、ロボットの作業対象物に対する作業目標を示す目標作業情報と、環境情報と、第1の画像情報とに基づいて、ロボットが作業目標に近づくような第1の制御情報を算出し、ロボットに第1の制御情報を送信する第1のステップと、第1のステップの後、カメラで第2の画像情報を取得し、目標作業情報と、第2の画像情報とに基づいて、ロボットが作業目標に近づくような第2の制御情報を算出し、ロボットに第2の制御情報を送信する第2のステップと、に基づいて制御を実行する。第1のステップにより、撮像画像で作業対象物を捉えていない場合であっても、環境情報を利用することで制御を行うことができる。また、第2のステップにより、撮像画像に基づいた精度の高い制御ができる。
第1のステップを実行した後、カメラで画像情報を取得し、画像情報に基づいて、画像情報中に作業対象物が存在しないと判断した場合に、第1のステップを実行する。第1のステップでは、第1の作業情報が第1の目標作業情報に近づくように制御が実行される。ここで、第1の目標作業情報には、作業対象物についての情報が含まれている。したがって、画像情報に作業対象物の情報が存在していないときから、作業対象物の情報が存在するまで制御を実行するため、第2のステップを実行することができるようになる。
第1のステップを実行した後、カメラで画像情報を取得し、環境情報と画像情報とに基づいて、ロボットが作業目標を満たしていないと判断した場合に、第1のステップを実行する。これにより、1回の制御で作業目標を達成できなかった場合に、再度作業目標に近づくように制御をすることで、作業目標を達成する制御を行うことができる。
第2のステップを実行した後、カメラで画像情報を取得し、画像情報に基づいて、ロボットが作業目標を満たしていないと判断した場合に、第2のステップを実行する。これにより、1回の制御で作業目標を達成できなかった場合に、再度作業目標に近づくように制御をすることにより、作業目標を達成できるような制御を行うことができる。
第2のステップを実行した後、カメラで画像情報を取得し、現在の画像情報のある範囲内に、作業対象物が存在しない場合に、第1のステップを実行する。これにより、第2のステップ中に作業対象物を見失った場合であっても、第1のステップに戻ることで、作業対象物を再捕捉するように制御することができる。
目標作業情報は、作業を終了する時の、作業対象物の特徴情報を含み、環境情報は、作業対象物と作業台とを含む特徴情報に対応する、環境に存在する作業対象物と作業台との特徴情報に対応する3次元の位置情報を含み、第1の画像情報は、取得時点での作業対象物と作業台との少なくとも一方の特徴情報を含む。
3次元の位置情報は、点、線、平面図形を示すパラメータ、または立体図形を示すパラメータから構成される、物体に特有な表現を持つ。
目標作業情報は、作業を実行するときの、作業対象物の特徴情報を含み、第2の画像情報は、取得時点での作業対象物の特徴情報を含む。
目標作業情報は、作業を実行するときの、作業対象物の特徴情報を含む。
特徴情報は、点、線、平面図形を示すパラメータ、または立体図形を示すパラメータから構成される、物体に特有な表現を持つ。
第1の画像情報および第2の画像情報を用いて、環境情報を更新する。これにより、環境が変化した場合であっても、環境情報を更新することで、環境に適応した制御を行うことができる。
環境画像情報は、カメラにより撮像された撮像画像である。
実施の形態2では、作業対象物に対して作業を行うロボットと、ロボットに搭載されたセンサと、に接続された制御装置におけるロボット制御方法であって、ロボットの周囲の環境を複数の位置と角度から撮影した複数の環境画像情報に基づいて、ロボットの周囲の環境を示す環境情報を算出し、カメラを用いて第1の画像情報と第2の画像情報とを取得し、ロボットの作業対象物に対する作業目標を示す目標作業情報と、環境情報と、第1の画像情報とに基づいて、ロボットが作業目標に近づくような第1の制御情報を算出する第1のステップと、目標作業情報と、第2の画像情報と、に基づいて、作業目標に近づくような第2の制御情報を算出する第2のステップと、第1の制御情報と、第2の制御情報に基づいて、第3の制御情報を算出し、ロボットに第3の制御情報を送信する第3のステップと、に基づいて制御を実行する。これにより、第1のステップで作業対象物を捉えていない場合でも制御できるような制御情報を算出し、第2のステップで作業対象物に対する精度の高い制御情報を算出し、第3のステップで第1のステップと第2のステップを組み合わせることでお互いの欠点を補うような制御ができる。
第3のステップを実行した後、ロボットが作業目標を満たしていないと判断した場合に、目標作業情報と環境情報とカメラを用いて取得した第3の画像情報とに基づいて、ロボットが前記作業目標に近づくような第4の制御情報を算出し、目標作業情報と、カメラを用いて取得した第4の画像情報とに基づいて、作業目標に近づくような第5の制御情報を算出し、第4の制御情報と第5の制御情報とに基づいて、第6の制御情報を算出し、ロボットに第6の制御情報を送信する。これにより、1回の制御で作業目標を達成できなかった場合に、再度作業目標に近づくように制御をすることにより、作業目標を達成できるような制御を行うことができる。
なお、上述の実施の形態は、本開示における技術を例示するためのものであるから、請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
本開示は、様々な環境に適応してロボットによる作業を行う制御装置に適用可能である。具体的には、工場の組み立て作業、倉庫の整理作業、バックヤードの納品・品出し作業などに、本開示は適用可能である。
1、1A 制御システム
10 ロボット
101 ロボットアーム
102 ドライバ
103 カメラ
1031 撮像範囲
11 ネジ穴
12 基板
13 壁
2、2A 制御装置
21 メモリ
22、22A プロセッサ
221 画像情報取得部
222 制御部
223 状態取得部
224 環境情報算出部
225 目標作業情報算出部
226 第1の制御情報算出部
227 第2の制御情報算出部
228 第3の制御情報算出部
E1、E2、E3 環境画像情報
P1~P9、P11~P19 特徴点

Claims (9)

  1. 作業対象物に対して作業を行うロボットと、前記ロボットに搭載されたセンサと、に接続された制御装置におけるロボット制御方法であって、
    前記ロボットの周囲の環境を複数の位置と角度から前記センサを用いて取得した複数の環境センサ情報に基づいて、前記ロボットの前記周囲の環境を示す環境情報を算出し、
    前記センサを用いて第1のセンサ情報と第2のセンサ情報とを取得し、
    前記ロボットの前記作業対象物に対する作業目標を示す目標作業情報と、前記環境情報と、前記第1のセンサ情報とに基づいて、前記ロボットが前記作業目標に近づくような第1の制御情報を算出する第1のステップを実行し、
    前記目標作業情報と前記第2のセンサ情報とに基づいて、前記ロボットが前記作業目標に近づくような第2の制御情報を算出する第2のステップを実行し、
    前記第1の制御情報と前記第2の制御情報に基づいて、前記第1の制御情報と前記第2の制御情報との重み付き和により第3の制御情報を算出し、前記ロボットに前記第3の制御情報を送信する第3のステップを実行する、
    ロボット制御方法。
  2. 前記第3のステップを実行した後、前記ロボットが前記作業目標を満たしていないと判断した場合に、
    前記目標作業情報と前記環境情報と前記センサを用いて取得した第3のセンサ情報とに基づいて、前記ロボットが前記作業目標に近づくような第4の制御情報を算出し、
    前記目標作業情報と前記センサを用いて取得した第4のセンサ情報とに基づいて、前記ロボットが前記作業目標に近づくような第5の制御情報を算出し、
    前記第4の制御情報と前記第5の制御情報とに基づいて、第6の制御情報を算出し、前記ロボットに前記第6の制御情報を送信する、
    請求項に記載のロボット制御方法。
  3. 前記目標作業情報は、作業を終了する時の、前記作業対象物の特徴情報を含み、
    前記環境情報は、前記周囲の環境に存在する前記作業対象物と作業台との特徴情報に対応する3次元の位置情報を含み、
    前記第1のセンサ情報は、取得時点での前記作業対象物と前記作業台との少なくとも一方の特徴情報を含む、
    請求項1または2に記載のロボット制御方法。
  4. 前記3次元の位置情報は、点、線、平面図形を示すパラメータ、または立体図形を示すパラメータから構成される、物体に特有な表現を持つ、
    請求項に記載のロボット制御方法。
  5. 前記目標作業情報は、作業を実行するときの、前記作業対象物の特徴情報を含む、
    請求項1~のいずれか一項に記載のロボット制御方法。
  6. 前記第2のセンサ情報は、取得時点での前記作業対象物の特徴情報を含む、
    請求項に記載のロボット制御方法。
  7. 前記特徴情報は、点、線、平面図形を示すパラメータ、または立体図形を示すパラメータから構成される、物体に特有な表現を持つ、
    請求項5または6に記載のロボット制御方法。
  8. 前記第1のセンサ情報および前記第2のセンサ情報を用いて、前記環境情報を更新する、
    請求項1~のいずれか一項に記載のロボット制御方法。
  9. 前記センサは、カメラであり、
    前記環境センサ情報は、前記カメラにより撮像された撮像画像である、
    請求項1~のいずれか一項に記載のロボット制御方法。
JP2022559051A 2020-10-30 2021-10-20 ロボット制御方法 Active JP7482359B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2020182018 2020-10-30
JP2020182018 2020-10-30
PCT/JP2021/038697 WO2022091895A1 (ja) 2020-10-30 2021-10-20 ロボット制御方法

Publications (3)

Publication Number Publication Date
JPWO2022091895A1 JPWO2022091895A1 (ja) 2022-05-05
JPWO2022091895A5 JPWO2022091895A5 (ja) 2023-07-12
JP7482359B2 true JP7482359B2 (ja) 2024-05-14

Family

ID=81382337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022559051A Active JP7482359B2 (ja) 2020-10-30 2021-10-20 ロボット制御方法

Country Status (6)

Country Link
US (1) US20230256614A1 (ja)
EP (1) EP4238720A4 (ja)
JP (1) JP7482359B2 (ja)
CN (1) CN116348257A (ja)
TW (1) TW202231427A (ja)
WO (1) WO2022091895A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003015739A (ja) 2001-07-02 2003-01-17 Yaskawa Electric Corp 外環境地図、並びに自己位置同定装置および誘導制御装置
JP6262568B2 (ja) 2014-02-28 2018-01-17 株式会社フジキン ダイヤフラム弁用アクチュエータ及びこのアクチュエータを備えた流体制御器
JP2020146773A (ja) 2019-03-12 2020-09-17 株式会社不二越 ハンドリング装置およびロボット装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3326851B2 (ja) * 1993-03-08 2002-09-24 株式会社デンソー 視覚に基く三次元位置および姿勢の認識方法とその装置
JP2003305675A (ja) 2002-04-15 2003-10-28 Denso Wave Inc 視覚認識装置
JP4961860B2 (ja) * 2006-06-27 2012-06-27 トヨタ自動車株式会社 ロボット装置及びロボット装置の制御方法
JP6000579B2 (ja) * 2012-03-09 2016-09-28 キヤノン株式会社 情報処理装置、情報処理方法
JP2015003348A (ja) * 2013-06-19 2015-01-08 セイコーエプソン株式会社 ロボット制御システム、制御装置、ロボット、ロボット制御システムの制御方法及びロボットの制御方法
JP7323993B2 (ja) * 2017-10-19 2023-08-09 キヤノン株式会社 制御装置、ロボットシステム、制御装置の動作方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003015739A (ja) 2001-07-02 2003-01-17 Yaskawa Electric Corp 外環境地図、並びに自己位置同定装置および誘導制御装置
JP6262568B2 (ja) 2014-02-28 2018-01-17 株式会社フジキン ダイヤフラム弁用アクチュエータ及びこのアクチュエータを備えた流体制御器
JP2020146773A (ja) 2019-03-12 2020-09-17 株式会社不二越 ハンドリング装置およびロボット装置

Also Published As

Publication number Publication date
EP4238720A1 (en) 2023-09-06
US20230256614A1 (en) 2023-08-17
TW202231427A (zh) 2022-08-16
EP4238720A4 (en) 2024-04-10
CN116348257A (zh) 2023-06-27
JPWO2022091895A1 (ja) 2022-05-05
WO2022091895A1 (ja) 2022-05-05

Similar Documents

Publication Publication Date Title
CN109153125B (zh) 用于定向工业机器人的方法和工业机器人
JP5977544B2 (ja) 情報処理装置、情報処理方法
JP7111114B2 (ja) 情報処理装置、情報処理方法及び情報処理システム
US9878446B2 (en) Determination of object-related gripping regions using a robot
JP2015199155A (ja) 情報処理装置および情報処理方法、プログラム
Shi et al. Collision avoidance for redundant robots in position-based visual servoing
JP2015150636A (ja) ビジュアルフィードバックを利用したロボットシステム
WO2018043525A1 (ja) ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法
KR20140008262A (ko) 로봇 시스템, 로봇, 로봇 제어 장치, 로봇 제어 방법 및 로봇 제어 프로그램
JP2013186088A (ja) 情報処理装置、情報処理方法
CN109909999B (zh) 一种获取机器人tcp坐标的方法和装置
JP3415427B2 (ja) ロボットシミュレーションにおけるキャリブレーション装置
WO2018043524A1 (ja) ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法
US11964400B2 (en) Device and method for controlling a robot to pick up an object in various positions
CN115205371A (zh) 用于根据对象的摄像机图像定位对象的部位的设备和方法
JP7482359B2 (ja) ロボット制御方法
JP4956964B2 (ja) ロボットハンドの把持制御装置
JPH0847881A (ja) ロボットの遠隔操作方法
WO2020010625A1 (zh) 机器人运动学模型优化方法、系统和存储装置
WO2020192882A1 (en) Method and control arrangement for determining a relation between a robot coordinate system and a movable apparatus coordinate system
WO2022195944A1 (ja) ロボットシステム、およびロボットシステムの制御方法
JP7366264B2 (ja) ロボット教示方法及びロボット作業方法
JP2022142773A (ja) オブジェクトのカメラ画像からオブジェクトの場所を位置特定するための装置及び方法
WO2019114630A1 (zh) 一种获取机器人tcp坐标的方法和装置
Hwang et al. A visual servoing with collision avoidance mechanism for redundant manipulators

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230417

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240201

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240401

R150 Certificate of patent or registration of utility model

Ref document number: 7482359

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150