Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7785779B2 - 保持パラメータ推定装置及び保持パラメータ推定方法 - Google Patents
[go: Go Back, main page]

JP7785779B2 - 保持パラメータ推定装置及び保持パラメータ推定方法 - Google Patents

保持パラメータ推定装置及び保持パラメータ推定方法

Info

Publication number
JP7785779B2
JP7785779B2 JP2023540418A JP2023540418A JP7785779B2 JP 7785779 B2 JP7785779 B2 JP 7785779B2 JP 2023540418 A JP2023540418 A JP 2023540418A JP 2023540418 A JP2023540418 A JP 2023540418A JP 7785779 B2 JP7785779 B2 JP 7785779B2
Authority
JP
Japan
Prior art keywords
holding
end effector
control unit
held
area
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
JP2023540418A
Other languages
English (en)
Other versions
JPWO2023013743A5 (ja
JPWO2023013743A1 (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.)
Kyocera Corp
Original Assignee
Kyocera Corp
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 Kyocera Corp filed Critical Kyocera Corp
Publication of JPWO2023013743A1 publication Critical patent/JPWO2023013743A1/ja
Publication of JPWO2023013743A5 publication Critical patent/JPWO2023013743A5/ja
Application granted granted Critical
Publication of JP7785779B2 publication Critical patent/JP7785779B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1628Program controls characterised by the control loop
    • B25J9/1653Program controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1612Program controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1656Program controls characterised by programming, planning systems for manipulators
    • B25J9/1664Program controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1694Program 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/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1656Program controls characterised by programming, planning systems for manipulators
    • B25J9/1664Program controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39543Recognize object and plan hand shapes in grasping movements
    • 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/40053Pick 3-D object from pile of objects
    • 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/45Nc applications
    • G05B2219/45063Pick and place manipulator

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Manipulator (AREA)

Description

関連出願の相互参照
本出願は、2021年8月4日に日本国に特許出願された特願2021-128476の優先権を主張するものであり、この先の出願の開示全体をここに参照のために取り込む。
本開示は、保持パラメータ推定装置及び保持パラメータ推定方法に関する。
従来、コンピュータ上の画像から物体を把持する位置及び姿勢を適切に決定するための学習を行う学習装置が知られている(例えば特許文献1参照)。
特開2018-205929号公報
第1の観点による保持パラメータ推定装置は、
任意の開き幅で保持対象物を保持する保持部を有するエンドエフェクタに関する情報、前記保持対象物を示す保持対象情報、及び前記保持対象物に関するデプスデータを取得する取得部と、
前記情報に基づいて該エンドエフェクタが存在しうる領域を示すエンドエフェクタモデルを取得し、該エンドエフェクタモデルと前記保持対象情報と前記デプスデータとに基づいて、該保持対象物を保持させるために前記保持部の開き幅を推定する制御部と、を備える。
第2の観点による保持パラメータ推定方法は、
保持対象物を保持する保持部を有するエンドエフェクタに関する情報、前記保持対象物を示す保持対象情報、及び前記保持対象物に関するデプスデータを取得し、
前記情報に基づいて該エンドエフェクタが存在しうる領域を示すエンドエフェクタモデルを取得し、
前記エンドエフェクタモデル、前記保持対象情報、及び前記デプスデータに基づいて、該保持対象物を保持させるために前記保持部の開き幅を推定する。
一実施形態に係るロボット制御システムの構成例を示す模式図である。 保持対象物をエンドエフェクタで保持する例を示す側面図である。 一実施形態に係るロボット制御システムの構成例を示すブロック図である。 保持対象物を保持する平面における保持対象物の外形を表すマスク画像の一例を示す図である。 保持部が2本の指を有するエンドエフェクタモデルのフィンガーの開口幅を表すモデルを示す図である。 保持部が2本の指を有するエンドエフェクタモデルのフィンガーのストロークを表すモデルを示す図である。 保持部が2本の指を有するエンドエフェクタモデルのフィンガーの開口幅とストロークとを合わせた全体モデルを示す図である。 保持部が3本の指を有するエンドエフェクタモデルのフィンガーの開口幅を表すモデルを示す図である。 保持部が2本の指を有するエンドエフェクタモデルのフィンガーのストロークを表す第1のモデルを示す図である。 保持部が2本の指を有するエンドエフェクタモデルのフィンガーのストロークを表す第2のモデルを示す図である。 アプローチマップの一例を示す図である。 アプローチマップの第2の領域を生成する手法を表す図である。 アプローチマップの作成途中における第2の領域に対象物領域及び障害物領域を配置した図である。 図7のアプローチマップに膨張処理を施した図である。 アプローチマップに対してエンドエフェクタモデルを投影する位置の例を示す図である。 アプローチマップに対してエンドエフェクタモデルを投影できる位置と投影できない位置とを示す図である。 アプローチマップへのエンドエフェクタモデルの投影に基づく存在可能領域の推定方法を説明するための図である。 保持部毎に対応する存在可能領域の中心位置を示す図である。 特殊な形状の保持対象物の外観図である。 図15の保護対象物に対して作成されるアプローチマップへのエンドエフェクタモデルの投影に基づく存在可能領域の中心位置が可動直線から外れていることを説明するための図である。 推定した開き幅に基づいて開き幅モデルを作成する方法を説明する図である。 周辺環境マップの一例を示す図である。 保持対象物の中心を表す物体マップを示す図である。 ユーザが指定した保持位置の優先度を表す物体マップを示す図である。 接触マップの一例を示す図である。 保持パラメータ推定方法の手順例を示すフローチャートである。 図21の保持パラメータ推定方法で推定した保持位置を修正して学習させる手順例を示すフローチャートである。
以下、本開示を適用した保持パラメータ推定装置の実施形態について、図面を参照して説明する。
(ロボット制御システム100の構成例)
図1、図2、及び図3に示されるように、本開示の一実施形態に係るロボット制御システム100は、ロボット2と、カメラ4と、ロボット制御装置110と、保持パラメータ推定装置10とを備える。ロボット2は、保持対象物80をエンドエフェクタ2Bによって保持して作業を実行する。ロボット制御装置110は、ロボット2を制御する。保持パラメータ推定装置10は、ロボット2が保持対象物80を保持するために、後述するエンドエフェクタ2Bの開き幅、及び保持するときに接触する位置を保持位置として推定し、ロボット制御装置110に出力する。
本実施形態において、ロボット2は、作業開始台6上に位置した保持対象物80を保持する。つまり、ロボット制御装置110は、作業開始台6において、保持対象物80を保持するようにロボット2を制御する。ロボット2は、保持対象物80を作業開始台6から作業目標台7へ移動させてよい。保持対象物80は、作業対象とも称される。ロボット2は、動作範囲5の内側で動作する。
<ロボット2>
ロボット2は、アーム2Aと、エンドエフェクタ2Bとを備える。アーム2Aは、例えば、6軸又は7軸の垂直多関節ロボットとして構成されてよい。アーム2Aは、3軸又は4軸の水平多関節ロボット又はスカラロボットとして構成されてもよい。アーム2Aは、2軸又は3軸の直交ロボットとして構成されてもよい。アーム2Aは、パラレルリンクロボット等として構成されてもよい。アーム2Aを構成する軸の数は、例示したものに限られない。言い換えれば、ロボット2は、複数の関節で接続されるアーム2Aを有し、関節の駆動によって動作する。
エンドエフェクタ2Bは、例えば、任意の開き幅で保持対象物80を保持できるように構成されるグリッパーを含んでよい。グリッパーは、少なくとも1本の保持部を有している。各保持部は、所定の方向に沿って移動可能に構成されていてよい。
保持部は、保持対象物80を保持する際に保持対象物80に接触してよい。保持部は、1つ以上の関節を有してよい。保持部は、例えば、保持対象物80を挟込んで保持する2つ以上の指であってよい。指は、互いに対向して移動可能な部材により形成されてよい。又は、保持部は、保持対象物80を吸着によって保持する少なくとも1つの吸着部、又は保持対象物80を掬うことができるように構成される掬いハンドであってよい。エンドエフェクタ2Bは、これらの例に限られず、他の種々の動作ができるように構成されてよい。図1に例示される構成において、エンドエフェクタ2Bは、グリッパーを含むとする。
ロボット2は、アーム2Aを動作させることによって、エンドエフェクタ2Bの位置を制御できる。エンドエフェクタ2Bは、保持対象物80に対して作用する方向の基準となる軸を有してもよい。エンドエフェクタ2Bが軸を有する場合、ロボット2は、アーム2Aを動作させることによって、エンドエフェクタ2Bの軸の方向を制御できる。ロボット2は、エンドエフェクタ2Bが保持対象物80に作用する動作の開始及び終了を制御する。ロボット2は、エンドエフェクタ2Bの位置、又は、エンドエフェクタ2Bの軸の方向を制御しつつ、エンドエフェクタ2Bの動作を制御することによって、保持対象物80を動かしたり加工したりすることができる。図1に例示される構成において、ロボット2は、作業開始台6においてエンドエフェクタ2Bに保持対象物80を保持させ、エンドエフェクタ2Bを作業目標台7へ移動させる。ロボット2は、作業目標台7でエンドエフェクタ2Bに保持対象物80を解放させる。このようにすることで、ロボット2は、保持対象物80を作業開始台6から作業目標台7へ移動させることができる。
<カメラ4>
図1に示される構成例において、ロボット制御システム100は、ロボット2のエンドエフェクタ2Bに取り付けられたカメラ4を備えるとする。カメラ4は、保持対象物80を撮影する。カメラ4は、例えば、エンドエフェクタ2Bが保持対象物80を保持する方向から保持対象物80を撮影してもよい。保持対象物80を撮影した画像は、保持対象画像とも称される。また、カメラ4は、デプスセンサを備え、保持対象物80のデプスデータを取得可能に構成される。デプスデータとは、デプスセンサの画角範囲内の方向別の距離に関するデータである。より具体的には、デプスデータは、カメラ4から測定点までの距離に関する情報ともいえる。カメラ4が撮影する画像は、モノクロの輝度情報を含んでもよいし、RGB(Red,Green,Blue)等で表される各色の輝度情報を含んでもよい。カメラ4の数は、1つに限られず、2つ以上であってもよい。カメラ4は、保持対象物80から所定範囲内に位置する他の物体も障害物として撮影し、障害物のデプスデータも取得してよい。カメラ4は、エンドエフェクタ2Bに取り付けられる構成に限定されず、保持対象物80を撮影可能な任意の位置に設けられてよい。エンドエフェクタ2B以外の構造物に取り付けられる構成においては、当該構造物に取り付けられたカメラ4の撮像した画像に基づいて、上記の保持対象画像が合成されてよい。保持対象画像は、カメラ4の取付位置及び姿勢に対する、エンドエフェクタ2Bの相対位置及び相対姿勢に基づいて画像変換することにより合成されてよい。或いは、保持対象画像は、CAD及び図面データから生成可能であってよい。
<保持パラメータ推定装置10>
図3に示されるように、保持パラメータ推定装置10は、制御部12と、インタフェース(取得部)14とを備える。
制御部12は、種々の機能を実行するための制御及び処理能力を提供するために、少なくとも1つのプロセッサを含んで構成されてよい。プロセッサは、制御部12の種々の機能を実現するプログラムを実行してよい。プロセッサは、単一の集積回路として実現されてよい。集積回路は、IC(Integrated Circuit)とも称される。プロセッサは、複数の通信可能に接続された集積回路及びディスクリート回路として実現されてよい。プロセッサは、他の種々の既知の技術に基づいて実現されてよい。
制御部12は、記憶部を備えてよい。記憶部は、磁気ディスク等の電磁記憶媒体を含んでよいし、半導体メモリ又は磁気メモリ等のメモリを含んでもよい。記憶部は、各種情報を格納する。記憶部は、制御部12で実行されるプログラム等を格納する。記憶部は、非一時的な読み取り可能媒体として構成されてもよい。記憶部は、制御部12のワークメモリとして機能してよい。記憶部の少なくとも一部は、制御部12とは別体として構成されてもよい。
制御部12は、インタフェース14で取得した情報又はデータに基づいてロボット2に保持対象物80を保持させるためにエンドエフェクタの一部を変位させるときの開き幅を推定する。開き幅は、保持部における保持に際して保持対象物80に接触する部分の、基準位置に対して所定の方向に開いた位置である。基準位置は、移動可能な所定の方向における最も閉じた位置である。最も閉じた位置は、少なくとも1本の保持部を有する構成において、例えば、当該所定の方向における、保持対象物を吸着可能な方向側の変位可能端である。最も閉じた位置は、複数の保持部を有する構成において、例えば、他の保持部に近づく方向側の変位可能端である。
開き幅の推定は、後述する、エンドエフェクタモデル、保持対象情報、及びデプスデータに基づく。保持対象情報は、カメラによる撮像時における保持対象物の位置を示す情報であり、例えば、情報としての保持対象画像である。以下の説明における保持対象画像は、保持対象情報を具体化して記載したものであり、画像に限定されない情報を含んでよい。制御部12は、更に、インタフェース14で取得した情報又はデータに基づいてロボット2に保持対象物80を保持させる保持位置を推定してよい。
インタフェース14は、外部装置から保持対象物80等に関する情報又はデータを取得する。インタフェース14は、ユーザから情報又はデータ等の入力を受け付ける入力デバイスを含んで構成されてもよい。入力デバイスは、例えば、タッチパネル若しくはタッチセンサ、又はマウス等のポインティングデバイスを含んで構成されてよい。入力デバイスは、物理キーを含んで構成されてもよい。入力デバイスは、マイク等の音声入力デバイスを含んで構成されてもよい。
インタフェース14は、例えば、カメラ4から保持対象物80を撮影した保持対象画像及び当該保持対象画像に対応付けられるデプスデータを取得する。インタフェース14は、例えば、ロボット2又は入力デバイスからエンドエフェクタ2Bに関する情報を取得する。
インタフェース14は、更には外部装置に情報又はデータを出力してよい。インタフェース14は、制御部12が推定するエンドエフェクタ2Bの開き幅を出力してよい。インタフェース14は、制御部12が推定する保持対象物80を保持させる保持位置を出力してよい。
インタフェース14は、ユーザに情報又はデータを認識させるように出力してもよい。インタフェース14は、ユーザに対して情報又はデータ等を出力する出力デバイスを含んで構成されてよい。インタフェース14は、出力デバイスによって、例えば推定した開き幅などによるロボットの制御を実行する際に、推定結果をユーザに提示して、実行可否に関するユーザの指示を受け付けてもよい。なお、ユーザの指示は、上記の入力デバイスによって取得してもよい。なお、保持パラメータ推定装置10は、推定した開き幅の推定結果に基づくユーザの指示を求めることなく、推定した開き幅などをロボット制御装置110に出力してもよい。
出力デバイスは、例えば、画像又は文字若しくは図形等の視覚情報を出力する表示デバイスを含んでよい。表示デバイスは、例えば、LCD(Liquid Crystal Display)、有機EL(Electro-Luminescence)ディスプレイ若しくは無機ELディスプレイ、PDP(Plasma Display Panel)等を含んで構成されてよい。表示デバイスは、これらのディスプレイに限られず、他の種々の方式のディスプレイを含んで構成されてよい。表示デバイスは、LED(Light Emission Diode)、LD(Laser Diode)等の発光デバイスを含んで構成されてよい。表示デバイスは、他の種々のデバイスを含んで構成されてよい。出力デバイスは、例えば、音声等の聴覚情報を出力するスピーカ等の音声出力デバイスを含んでよい。出力デバイスは、これらの例に限られず、他の種々のデバイスを含んでよい。
インタフェース14は、有線又は無線で通信可能に構成される通信デバイスを含んで構成されてよい。通信デバイスは、種々の通信規格に基づく通信方式で通信可能に構成されてよい。通信デバイスは、既知の通信技術により構成することができる。
<ロボット制御装置110>
ロボット制御装置110は、保持パラメータ推定装置10から、開き幅を特定する情報を取得してよい。ロボット制御装置110は、後述するアプローチ領域への、エンドエフェクタ2Bの一部の変位に際して、推定した開き幅にエンドエフェクタ2Bを開くようロボット2を制御してよい。ロボット制御装置110は、更に、保持パラメータ推定装置10から保持位置を特定する情報を取得してよい。ロボット制御装置110は、推定した保持位置でロボット2が保持対象物80を保持するようにロボット2を制御してよい。
ロボット制御装置110は、種々の機能を実行するための制御及び処理能力を提供するために、少なくとも1つのプロセッサを含んで構成されてよい。ロボット制御装置110の各構成部は、少なくとも1つのプロセッサを含んで構成されてもよい。ロボット制御装置110の各構成部のうち複数の構成部が1つのプロセッサで実現されてもよい。ロボット制御装置110の全体が1つのプロセッサで実現されてもよい。プロセッサは、ロボット制御装置110の種々の機能を実現するプログラムを実行しうる。プロセッサは、保持パラメータ推定装置10で用いられるプロセッサと同一又は類似に構成されてよい。
ロボット制御装置110は、記憶部を備えてよい。記憶部は、保持パラメータ推定装置10で用いられる記憶部と同一又は類似に構成されてよい。
ロボット制御装置110は、保持パラメータ推定装置10を含んでもよい。ロボット制御装置110と保持パラメータ推定装置10とは、別体として構成されてもよい。
(ロボット制御システム100の動作例)
ロボット制御システム100は、ロボット制御装置110によってロボット2を制御してロボット2に作業を実行させる。本実施形態において、ロボット2に実行させる作業は、保持対象物80を保持するための動作を含む。更に、ロボット2に実行させる作業は保持対象物80を保持する動作を含んでよい。ロボット制御システム100において、保持パラメータ推定装置10は、保持対象物80へのエンドエフェクタ2Bの変位時の開き幅を推定する。ロボット制御装置110は、エンドエフェクタ2Bを推定した開き幅に開くようにロボット2を制御してよい。ロボット制御システム100において、保持パラメータ推定装置10は、更に、ロボット2による保持対象物80の保持位置を推定してよい。ロボット制御装置110は、保持位置でロボット2が保持対象物80を保持するようにロボット2を制御してよい。
制御部12は、エンドエフェクタ2Bが2つ以上の指を保持部として有する構成において、保持部が保持対象物80を把持する際に保持部が保持対象物80に接触する位置の組み合わせを保持位置として推定してよい。制御部12は、エンドエフェクタ2Bが吸着部を保持部として有する構成において、エンドエフェクタ2Bが保持対象物80を吸着する際に吸着部が保持対象物80に接触する位置を保持位置として推定してよい。
保持パラメータ推定装置10は、インタフェース14を介して、カメラ4から保持対象物80を撮影した保持対象画像と保持対象物80のデプスデータとを取得する。制御部12は、保持対象画像とデプスデータとに基づいて保持対象物80の外形及び位置を認識する。制御部12は、図4に例示されるように、保持対象物80をエンドエフェクタ2Bに取り付けられているカメラ4から見たときの、保持対象物80の認識結果を表すマスク画像20を生成する。マスク画像20は、カメラ4から見て保持対象物80が存在する領域を表す窓22と、それ以外の領域を表すマスク24とを含む。図4において、窓22は、白塗りの領域として表されている。図4において、マスク24は、右上がり斜線のハッチングが付された領域として表されている。なお、マスク画像20においてマスク24の部分は、図面記載の便宜上、ハッチングが付された領域として表されているが、現実の実施態様において黒塗りの領域として表されてよい。又は、マスク画像20において、窓22及びマスク24の部分の色塗りは逆であってよい。又は、マスク画像20において、窓22及びマスク24の部分それぞれの色塗り及びハッチングは逆であってよい。
制御部12は、インタフェース14を介して、エンドエフェクタ2Bに関する情報を取得する。エンドエフェクタ2Bに関する情報は、例えば、把持する保持部の間隔の最大値、保持部の太さ、及び保持部の幅等を特定する情報を含む。保持部の太さは、保持部の開閉方向における長さである。保持部の幅は、保持部の開閉方向に垂直な方向における長さである。制御部12は、エンドエフェクタ2Bに関する情報に基づいてエンドエフェクタモデル30を生成してもよい。エンドエフェクタモデル30は、エンドエフェクタ2Bが存在しうる領域を示す。制御部12は、インタフェース14を介して、エンドエフェクタモデル30を、エンドエフェクタ2Bに関する情報として取得してもよい。
保持部が2本の指を有するエンドエフェクタモデル30は、図5Aに示されるように、グリッパーの保持部が所定の間隔を空けて位置している範囲を表す保持部位置32と、保持部位置32以外の範囲を表す動作外範囲38とを特定する保持部モデルを含む。なお、保持部が3本の指を有するエンドエフェクタモデル30の場合は、エンドエフェクタモデル30は、図6Aに示されるように、グリッパーの保持部が所定の間隔を空けて位置している範囲を表す保持部位置32と、保持部位置32以外の範囲を表す動作外範囲38とを特定する保持部モデルを含んでよい。つまり、保持部モデルは、グリッパーの保持部の開口幅を表す。保持部位置32は、保持部が最大の間隔を空けて位置している範囲を表してもよい。この場合、保持部モデルは、保持部の最大開口幅を表す。図5A、6Aに示される保持部モデルは、保持部の最大開口幅を表しているとする。保持部位置32は、白塗りの領域として表されている。動作外範囲38は、右上がり斜線のハッチングが付された領域として表されている。なお、動作外範囲38は、図面記載の便宜上、ハッチングが付された領域として表されているが、現実の実施態様において黒塗りの領域として表されてよい。又は、保持部位置32及び動作外範囲38の部分の色塗りは逆であってよい。又は、保持部位置32及び動作外範囲38の部分それぞれの色塗り及びハッチングは逆であってよい。
保持部が2本の指を有するエンドエフェクタモデル30は、図5Bに示されるように、グリッパーの保持部が動作する範囲を表すストローク範囲34を特定するストロークモデルを含む。なお、保持部が3本の指を有するエンドエフェクタモデル30の場合は、エンドエフェクタモデル30は、図6B又は図6Cに示されるように、グリッパーの保持部が動作する範囲を表すストローク範囲34を特定するストロークモデルを含んでよい。ストローク範囲34は、白塗りの領域として表されている。動作外範囲38は、右上がり斜線のハッチングが付された領域として表されている。なお、動作外範囲38は、図面記載の便宜上、ハッチングが付された領域として表されているが、現実の実施態様において黒塗りの領域として表されてよい。又は、ストローク範囲34及び動作外範囲38の部分の色塗りは逆であってよい。又は、ストローク範囲34及び動作外範囲38の部分それぞれの色塗り及びハッチングは逆であってよい。
エンドエフェクタモデル30は、図5Cに示されるように、図5Aの保持部モデルと図5Bのストロークモデルとを合わせた全体モデルを含む。全体モデルは、保持部の動作範囲36を特定している。保持部の動作範囲36は、保持部位置32を含む。なお、図5Cにおいて、保持部の動作範囲36のうち保持部部分が破線によって区別して示されているが、現実の実施態様においては区別されなくてもよい。また、本実施形態では、エンドエフェクタモデル30は、保持部が最大の間隔(最大の開口幅)を開けて位置している範囲を表すとしているが、これに限られない。エンドエフェクタモデル30は、グリッパーの保持部が任意の間隔(所定の間隔)を開けて位置している範囲を表すものであってよい。例えば、エンドエフェクタモデル30は、エンドエフェクタ2Bが把持しようとする物体の大きさに応じたグリッパーの保持部の間隔を表すものとされてもよい。
制御部12は、エンドエフェクタモデル30として全体モデルだけ生成してもよい。この場合、保持部位置32を特定する情報を全体モデルに関連づけることによって保持部位置32が特定されてもよい。保持部位置32を特定する情報は、保持部の特徴点を表す数値を含んでよい。
保持部が吸着部を有する構成において、エンドエフェクタモデル30は、吸着部が保持対象物80を吸着する際に他の物体と干渉する範囲を規定するモデルとして構成される。
制御部12は、保持対象物80のデプスデータに基づいて、保持対象物80を保持する高さを設定する。具体的に、制御部12は、図2に例示されるように、作業開始台6の上に配置されている保持対象物80を保持する位置として、作業開始台6からの高さを設定する。図2において、保持対象物80をエンドエフェクタ2Bの保持部で挟んで把持する位置が、保持点82として表されている。作業開始台6からの保持点82の高さはHで表されている。制御部12は、保持対象物80を保持する高さとしてHを設定する。制御部12は、保持対象物80のデプスデータに基づいて、保持対象物80のうち作業開始台6から最も高い点までの距離より小さい値に、保持対象物80を保持する高さを設定する。制御部12は、保持対象物80の高さの半分程度の値に、保持対象物80を保持する高さを設定してもよい。
制御部12は、保持対象物80を保持する高さと、保持対象物80のデプスデータとに基づいてマスク画像20を生成してもよい。具体的に、制御部12は、保持対象物80を保持する高さの平面による保持対象物80の断面形状を窓22とするマスク画像20を生成してもよい。
制御部12は、保持対象物80を保持させるためにエンドエフェクタ2Bの一部を変位させるときの開き幅を特定するためのアプローチマップを作成してよい。制御部12は、保持対象画像、及びデプスデータに基づいてアプローチマップを作成してよい。
図7に示すように、アプローチマップ90は、少なくともアプローチ領域91を示してよい。アプローチマップ90は、更に対象物領域92、非アプローチ領域93、及び第1の領域94を示してよい。アプローチ領域91は、保持対象物80を保持する高さにおいて、エンドエフェクタ2Bを保持対象物80以外の物体に干渉させずに開き得る領域である。対象物領域92は、保持対象物80の存在領域である。非アプローチ領域93は、後述する第2の領域の外部領域であり、アプローチマップ90の全体領域からアプローチ領域91、対象物領域92、及び第1の領域94以外の全領域である。第1の領域94は、保持対象物80以外の物体、言換えると障害物の存在領域における保持対象物80に面する外縁から保持対象物80とは反対側を向く領域である。アプローチ領域91は、白塗りの領域として表されている。対象物領域92、非アプローチ領域93、及び第1の領域94は、右上がり斜線のハッチングが付された領域として表されている。対象物領域92、非アプローチ領域93、及び第1の領域94は、図面記載の便宜上、ハッチングが付された領域として表されているが、現実の実施態様において黒塗りの領域として表されてよい。又は、アプローチ領域91と、対象物領域92、非アプローチ領域93、及び第1の領域94との部分の色塗りは逆であってよい。又は、アプローチ領域91と、対象物領域92、非アプローチ領域93、及び第1の領域94との部分それぞれの色塗り及びハッチングは逆であってよい。
制御部12は、アプローチマップ90を作成するために、マスク画像20に基づいて、第2の領域を生成してよい。第2の領域は、保持対象物80のみに着目して、保持対象物80の周囲でエンドエフェクタ2Bを保持対象物80に干渉させずに開き得る領域である。言換えると、第2の領域は、保持対象物80の外縁から、エンドエフェクタ2Bの保持部の最大開口幅を有する領域であってよい。制御部12は、マスク画像20に対してエンドエフェクタモデル30の畳み込みを実行することにより第2の領域を生成してよい。より具体的には、制御部12は、マスク画像20に含まれる窓22に対して、エンドエフェクタモデル30で特定される保持部の動作範囲36の少なくとも一部が重なるように、保持部の動作範囲36を移動させてよい。保持部の動作範囲36の移動において、保持部の動作範囲36を表す矩形は、例えば窓22の左上の隅の点に矩形の少なくとも一部が重なるように種々の角度に回転して配置され得る。制御部12は、保持部の動作範囲36を移動させたときに保持部の動作範囲36が通過する領域を第2の領域として生成してよい。図8において、保持部の動作範囲36が移動するときに窓22から最も遠い点が描く軌跡は、第2の領域の境界95として表される。境界95は、破線で表されている。
図9に示すように、制御部12は、生成した第2の領域96に、保持対象物80のデプスデータに基づいて対象物領域92を生成する。制御部12は、保持対象物80を保持する高さよりも高い位置において保持対象物80が存在する範囲を対象物領域92として生成する。また、制御部12は、生成した第2の領域96に、保持対象物80以外の物体のデプスデータに基づいて障害物領域97を配置する。制御部12は、保持対象物80を保持する高さよりも高い位置において保持対象物80以外の物体が存在する範囲を障害物領域97として生成する。
制御部12は、対象物領域92及び障害物領域97に基づいて、第1の領域94を生成する。第1の領域94は、障害物領域97を含む、障害物領域97の外側に広がる領域であり、前述のように、障害物領域97における保持対象物80に面する外縁から保持対象物80とは反対側を向く領域である。制御部12は、例えば、対象物領域92の中心C92を通り、障害物領域97に重なる直線を算出する。制御部12は、中心C92を軸に当該直線を回転させて、当該直線の障害物領域97より外側の線分が通る軌跡を第1の領域94として生成する。又は、制御部12は、対象物領域92の中心C92を通り、障害物領域97の外縁に一点において交わる2直線SLを引く。図7、9に示すように、制御部12は、当該2直線SL、第2の領域96の外縁、及び障害物領域97における対象物領域92側の外縁に囲まれる領域を第1の領域94として生成する。
制御部12は、第2の領域96から、対象物領域92及び第1の領域94を除外することによりアプローチ領域91を生成する。図10に示すように、制御部12は、対象物領域92を膨張させた領域92ex及び第1の領域94を膨張させた領域94exの少なくとも一方を、第2の領域96から除外してアプローチ領域91を生成してよい。第2の領域96から除外する対象物領域92及び第1の領域94は、保持部の幅方向に当該保持部の幅の半分以上の大きさ、且つ保持部の太さ方向に当該保持部の太さの半分以上の大きさで膨張されてよい。以下の説明において、対象物領域92又は膨張させた領域92exを、「対象物領域92、92ex」と呼ぶこともある。また、第1の領域94又は膨張させた領域94exを、「第1の領域94、94ex」と呼ぶこともある。
制御部12は、マスク画像20の窓22の範囲内の任意の点における開き幅を推定する。任意の点は、例えば、エンドエフェクタ2Bに保持対象物80を保持させるときのエンドエフェクタ2Bの基準となる位置である。窓22の範囲内で選択した任意の点は、図11に示されるように、アプローチマップ90において、対象物領域92、92exに含まれるアプローチ位置70に対応する。つまり、制御部12は、マスク画像20の窓22の範囲内の任意の点をアプローチ位置70として設定する。制御部12は、アプローチ位置70にエンドエフェクタモデル30の中心を合わせて投影する。投影したエンドエフェクタモデル30は、図11において投影モデル72a及び72bとして表される。投影モデル72aは、エンドエフェクタモデル30を、対象物領域92、92exの短辺方向に沿って回転させたモデルに対応する。投影モデル72bは、エンドエフェクタモデル30を、対象物領域92、92exの短辺方向から時計回りに45度回転させたモデルに対応する。
制御部12は、エンドエフェクタモデル30に含まれる保持部位置32が対象物領域92、92exに重なる場合にエンドエフェクタモデル30を投影できないと判断する。図12に示すように、投影モデル72aは投影モデル72aに含まれる保持部の投影位置74aが対象物領域92、92exに重ならない。したがって、制御部12は、投影モデル72aをアプローチマップ90に投影できる。一方で、投影モデル72cは投影モデル72cに含まれる保持部の投影位置74cが対象物領域92、92exに重なる。したがって、制御部12は、投影モデル72cをアプローチマップ90に投影できない。保持部位置32が対象物領域92、92exに重なる場合にエンドエフェクタモデル30を投影しないことによって、エンドエフェクタ2Bが保持対象物80に接近する間にエンドエフェクタ2Bが保持対象物80に衝突するアプローチ位置70が判別される。エンドエフェクタ2Bが保持対象物80に衝突するアプローチ位置70を判別することにより、推定するために選択する任意の点として除外すべき位置が判別される。
また、制御部12は、対象物領域92と、第1の領域94との間隔が、保持部の太さよりも短いと判定し得る場合にエンドエフェクタモデル30を投影できないと判断する。当該間隔が保持部の太さよりも短いと判定し得るのは、対象物領域92及び第1の領域94のいずれかを膨張させたアプローチマップ90においては、当該間隔が保持部の太さの1/2よりも短い場合である。又は、当該間隔が保持部の太さよりも短いと判定し得るのは、対象物領域92及び第1の領域94の両者を膨張させたアプローチマップ90においては膨張させた領域92ex、94exが少しでも重なる場合である。このような構成により、エンドエフェクタ2Bに保持対象物80を保持させるためにエンドエフェクタ2Bの一部を保持対象物80に変位させる時に、エンドエフェクタ2Bが障害物に衝突するアプローチ位置70が判別される。エンドエフェクタ2Bが障害物に衝突するアプローチ位置70を判別することにより、開き幅を推定するために選択する任意の点として除外すべき位置が判別される。
制御部12は、エンドエフェクタモデル30において保持部位置32が特定されていない構成において、エンドエフェクタモデル30に関連づけられている保持部の特徴点に基づいて、エンドエフェクタモデル30を投影できるか否かを判別する。
アプローチマップ90に投影できるエンドエフェクタモデル30の位置及び回転角度に対応するエンドエフェクタ2Bの位置は、アプローチマップ90に適合する位置であるともいえる。制御部12は、アプローチマップ90に適合する各位置に対する開き幅を推定する位置であるともいえる。
制御部12は、アプローチマップ90にエンドエフェクタモデル30を投影できた場合、アプローチマップ90におけるアプローチ領域91と、エンドエフェクタモデル30におけるエンドエフェクタ2Bが存在しうる領域とに基づいて、開き幅を推定してよい。図13に示すように、制御部12は、開き幅の推定のために、保持部毎に存在可能領域99を推定する。存在可能領域99は、アプローチマップ90へのエンドエフェクタモデル30の重合わせにおいて、アプローチ領域91と保持部の動作範囲36とが重なる領域である。
制御部12は、保持部の存在可能領域99内の任意の地点を、開き幅に対応する、保持部の位置として推定してよい。制御部12は、保持部毎に、言換えると各保持部に対応する各存在可能領域99における保持部の位置を推定する。
制御部12は、例えば、以下のような方法により、開き幅に対応する保持部の位置を推定してよい。図14に示すように、制御部12は、保持部毎に対応する存在可能領域99の中心位置である第1中心位置CP1を算出する。制御部12は、第1中心位置CP1を起点として、保持部の各々の所定の方向に沿って保持部を変位させたときに保持対象物80及び保持対象物80以外の物体と干渉するか否かを判別する。制御部12は、第1中心位置CP1を起点として、対応する存在可能領域99の端に到達するまで保持部を変位させる。すなわち、制御部12は、存在可能領域99の端に到達するまで保持部が通過する領域のうち、保持対象物80及び当該保持対象物80以外の物体と干渉しない任意の位置を、当該存在可能領域99における開き幅に対応する保持部の位置として推定する。言換えると、制御部12は、存在可能領域99の端に到達するまでに保持部が通過する領域とアプローチ領域91とが重なる領域の中で任意の位置を、当該存在可能領域99における開き幅に対応する保持部の位置として推定する。より具体的には、制御部12は、第1中心位置CP1を、所定の方向に沿って変位させる。更に、制御部12は、第1中心位置CP1から変位させた点がアプローチ領域91内に位置し得る任意の点を保持部の位置として推定する。
なお、エンドエフェクタ2Bが複数の保持部を有し、当該複数の保持部は同じ幅で開閉する構成においては、開き幅に相当する各保持部の位置は、全保持部において開き幅が同じになる位置に推定される。
図15に示すように、任意の高さにおける断面が、本体81及び鉤括弧部材83を有する物体が保持対象物80になることが考えられる。このような形状の保持対象物80に対しては、図16に示すように、アプローチ位置70によっては、1つの保持部に対応する存在可能領域99の第1中心位置CP1が、当該保持部の幅方向の中央から外れることがある。言換えると、第1中心位置CP1が、エンドエフェクタ2Bが存在しうる領域の中心位置(アプローチ位置70)を通る、保持部の開閉方向に平行な可動直線ALから外れることがある。制御部12は、上述の例のように、第1中心位置CP1が可動直線ALから外れる場合、第1中心位置CP1から可動直線ALに下ろした垂線と当該可動直線ALとの交点を第1中心位置CP1とみなして、上述するように、開き幅に対応する保持部の位置を推定してよい。
制御部12は、第1中心位置CP1からエンドエフェクタモデル30におけるエンドエフェクタ2Bが存在しうる領域、言換えると保持部の動作範囲36の中心位置に向けて、保持部を最初に変位させてよい。制御部12は、保持部を当該中心位置に向けて変位させる場合でアプローチ領域91が存在しないとき、存在可能領域99における第1中心位置CP1より外側においてアプローチ領域91を探索してよい。
制御部12は、例えば、制御部12は、第1中心位置CP1を起点として所定の方向に沿って点を変位させながら、最初にアプローチ領域91に到達した位置を、任意の位置として選択して、保持部の位置として推定してよい。例えば、図14に示すように、任意の単一の保持部に対応する存在可能領域99が可動直線ALに沿った方向の全域に亘って保持部と同じ幅を有する場合、第1中心位置CP1を保持部の位置として推定してよい。
制御部12は、アプローチ位置70をマスク画像20の窓22の範囲内で走査するように移動させるとともに、各位置においてエンドエフェクタモデル30を回転させてアプローチマップ90に投影する。制御部12は、エンドエフェクタモデル30をアプローチマップ90に投影できる、アプローチ位置70、エンドエフェクタモデル30の回転角度、エンドエフェクタ2Bの開き幅の組合せを抽出する。
制御部12は、推定した開き幅に基づいて、開き幅モデルを作成してよい。開き幅モデルは、保持部の位置として推定された開き幅の範囲内でエンドエフェクタ2Bが存在しうる領域を特定する。図17に示すように、開き幅モデル31は、保持部の動作範囲36の中心から開き幅に対応する保持部の位置WPまでの長さで、保持部の幅を有する領域を、保持部毎に描くことにより生成される。
制御部12は、開き幅モデル31と、後述するルールマップとに基づいて、エンドエフェクタ2Bが保持対象物80と接触する保持位置を推定してよい。制御部12は、保持位置の推定のために、ルールマップを生成してよい。ルールマップは、保持対象物80を保持する高さ毎に生成されてよい。ルールマップは2次元状に表現した画像の表示形態によってルールを特定してよい。制御部12は、保持対象画像及びデプスデータの少なくとも一つに基づいてルールマップを生成してよい。制御部12は、インタフェース14を介して、ルールマップを外部機器から取得してよい。
ルールマップは、エンドエフェクタ2Bが保持に際して使用すべき、言換えると接触すべき保持対象物80の位置、すなわち保持位置を規定するマップを含んでよい。ルールマップは、保持対象物80を保持する高さに基づいて生成されるマップを含んでもよい。ルールマップは、例えば、周辺環境マップ40(図18参照)、物体マップ50(図19A、19B参照)、又は接触マップ60(図20参照)等に分類されてよい。制御部12は、保持対象物80の形状データ及び保持対象画像に対応づけられるデプスデータの少なくとも1つに基づくルールマップを取得してよい。
周辺環境マップ40は、図18に示すように、アプローチ領域41、対象物領域42、非アプローチ領域43、及び第1の領域44を特定してよい。周辺環境マップ40は、膨張処理を施さないアプローチマップ90と同一であってよい。したがって、周辺環境マップ40におけるアプローチ領域41、対象物領域42、非アプローチ領域43、及び第1の領域44は、それぞれ、アプローチマップ90におけるアプローチ領域91、対象物領域92、非アプローチ領域93、及び第1の領域94と同一であってよい。周辺環境マップ40は、アプローチマップ90と同じ方法により生成されてよい。
制御部12は、生成した周辺環境マップ40に対して境界を曖昧にするぼかし処理を実行してもよい。上述してきた手順で生成した周辺環境マップ40に含まれる各領域は、マップ中の各座標における数値として区別され得る。制御部12は、例えば、アプローチ領域41に含まれる座標における数値として、その座標で特定される点がエンドエフェクタ2Bの動作範囲に含まれることを表す1を設定してよい。一方、制御部12は、対象物領域42、非アプローチ領域43、及び第1の領域44に含まれる座標における数値として、その座標で特定される点がエンドエフェクタ2Bの動作範囲に含まれないことを表す数値として0(ゼロ)を設定してよい。制御部12は、1が設定されている領域と0が設定されている領域との境界から所定範囲内の点を特定する座標における数値を、0より大きくかつ1より小さい、例えば0.5等の値を設定する。制御部12は、このように領域の境界を曖昧にする処理をぼかし処理として実行する。
また、上述してきた手順で生成した周辺環境マップ40は、マップ中の各座標における色として区別され得る。制御部12は、例えば、アプローチ領域41に含まれる点を白で表し、それ以外の領域に含まれる点を黒で表してよい。制御部12は、白で表される領域と黒で表される領域との境界から所定範囲内の点の色を、グレースケールで表してよい。制御部12は、このように領域の境界を曖昧にする処理をぼかし処理として実行してもよい。各領域の色を黒、白及びグレーで表すことは、各領域に設定される数値を輝度値として表すことに相当する。
制御部12がぼかし処理を実行することによって、エンドエフェクタ2Bの動作範囲の誤差、又は、保持対象物80若しくは障害物の外形の誤差によってエンドエフェクタ2Bが予期せず物体に衝突する可能性が低減され得る。つまり、制御部12は、ぼかし処理によって、種々のマージンを考慮して保持対象物80に対するエンドエフェクタ2Bの位置を推定できる。ぼかし処理は、生成した周辺環境マップ40に含まれる各領域の周辺部分に対して実行されてよい。ぼかし処理によって各領域が拡大される。
物体マップ50は、仮に作業者が保持対象物80を保持する場合に保持対象物80のどの位置で保持対象物80を保持するか判断するために参照する情報を表す。物体マップ50は、例えば、保持対象物80の形状、材質又は密度分布等の情報を表す。
例えば、保持対象物80の中心に近づくほどルールに対して適正な保持位置となる保持対象物80の存在が仮定される。このように仮定した保持対象物80に関する物体マップ50は、図19Aに示されるように、保持対象物80を保持する高さの平面によって切断した場合に得られる断面52において、保持対象物80の中心に近いほどルールに対して適正な保持位置であることに対応する白に近い色で表され、中心から離れるほどルールに対して適正でない保持位置であることに対応する黒に近い色で表されるグレースケールで表されてよい。また、物体マップ50は、図19Bに示されるように、保持対象物80を保持する位置を推定するルールとしてユーザが任意に設定したルールを特定するグレースケールで表されてよい。図19Bに示す、保持対象物80の中心に近づいていくことに従って、適正な把持位置となる物体マップ50を作成する場合、保持対象物80の断面52の水平方向に沿って中心に近いほど、適正な保持位置であることに対応する白に近い色で表され、中心から離れるほど、適正でない保持位置であることに対応する黒に近い色で表されている。また、図19Bの物体マップ50は、断面52の高さ方向に沿って同じ色で表されている。
図19A、19Bにおいて、物体マップ50の断面52を囲む黒色の実線は、単に断面52の輪郭を表す線であり、ルールを示すものではない。黒色の実線が描かれている座標が適正でない保持位置であることを表すものではない。
物体マップ50は、保持対象物80を保持する位置を仮定して、仮定した位置で保持することの適正さを評価する際に、白に近い色で表される領域の近くを保持することによって適正さの評価を表す適性値が大きくなるように構成されてよい。また、物体マップ50は、周辺環境マップ40のように、各座標の色に数値を対応づけることによって表されてもよい。制御部12は、例えば白で表される座標に1を設定し、黒で表される座標に0を設定してよい。
制御部12は、上述の例に限られず、種々のルールを特定するように、各座標に色又は数値を設定した物体マップ50を生成してよい。制御部12は、例えば、保持対象物80の重心からの距離に応じて各座標に色又は数値を設定した物体マップ50を生成してよい。制御部12は、例えば、保持する位置として避けるべき位置又は保持する位置として禁止する位置を特定するように、各座標に色又は数値を設定した物体マップ50を生成してよい。
制御部12は、1つのルールを特定する物体マップ50を混合することによって、複数のルールを特定する1つの物体マップ50を生成してもよい。制御部12は、複数の物体マップ50を混合する場合、各物体マップ50に重みづけ係数を設定して混合してよい。制御部12は、例えば保持対象物80の重心位置が重要である場合、重心位置を特定する物体マップ50の重みづけ係数を大きく設定してよい。
物体マップ50は、保持対象物80自身の有する特性に基づき規定されてよい。物体マップ50は、保持対象物80の形状、材質、テクスチャ、重量、又は摩擦係数のいずれかに基づき規定されてよい。物体マップ50は、保持対象物80の保持位置についてユーザが任意に定めた規定に基づくものであってよい。例えば、保持対象物80の部分のうち、接触することで破損又は変形しやすい部分、グリス等が付着している部分、滑りやすく保持に適さない部分など、様々な理由で保持位置とすべきでない部分がルールとして物体マップ50に規定され得る。同様に、破損又は変形がしにくい部分、グリス等が付着していない部分、滑りにくい部分、その他、経験則に基づいて保持位置とすべき部分(保持しやすいとされる部分)がルールとして物体マップ50に規定され得る。物体マップ50を二次元状の画像として表すことで、保持対象物80の保持位置として、どのようなルールが規定されているのか把握することが容易となる。物体マップ50は、保持対象物80の種類ごとに生成されてよい。
接触マップ60は、エンドエフェクタ2Bの指と保持対象物80の表面の状態との関係に基づいて定まるルールを表す。接触マップ60は、物体マップ50のように、仮に作業者が保持対象物80を保持する場合に保持対象物80のどの位置で保持対象物80を保持するか判断するために参照する情報を表す。接触マップ60は、エンドエフェクタ2Bの保持対象物80との接触部分の形状と、保持対象物80の形状とに基づき規定される。接触マップ60は、エンドエフェクタ2Bが保持対象物80と接触する位置としての適正さを表す。例えば、エンドエフェクタ2Bの保持対象物80との接触部分の形状若しくは材質と、保持対象物80の保持位置の形状若しくは材質との関係で保持位置とすべき部分、又は保持位置とすべきでない部分が接触マップ60に規定され得る。より具体的には、エンドエフェクタ2Bと保持対象物80との接触面積が小さくなる部分、エンドエフェクタ2Bと保持対象物80との摩擦係数が所定値より小さい部分、又は、その他、経験則に基づいて使用するエンドエフェクタ2Bにとって保持しにくいとされる部分が、保持位置とすべきでない部分を表すルールとして接触マップ60に規定され得る。同様に、エンドエフェクタ2Bと保持対象物80との接触面積が大きくなる部分、エンドエフェクタ2Bと保持対象物80との摩擦係数が所定値より大きい部分、又は、その他、経験則に基づいて使用するエンドエフェクタ2Bにとって保持しやすいとすべき部分が、保持位置とすべき部分を表すルールとして接触マップ60に規定され得る。
接触マップ60は、例えば、保持対象物80をエンドエフェクタ2Bで保持するときの保持対象物80の表面とエンドエフェクタ2Bの指との接触面積、又は、保持対象物80の表面とエンドエフェクタ2Bの指との間に作用する摩擦力等を表す。仮に保持対象物80の表面が凹凸を有する場合、エンドエフェクタ2Bの指の位置が少しずれただけで接触面積が大きく異なり得る。
接触マップ60は、図20に示されるように、保持対象物80を保持する高さの平面によって切断した場合に得られる断面の外周62において、各辺の中央に近いほど適正な保持位置であることに対応する白に近い色で表され、中心から離れて隅に近づくほど適正でない保持位置であることに対応する黒に近い色で表されるグレースケールで表されてよい。図20に例示される接触マップ60は、各辺の中央に近い位置を保持する場合に保持対象物80の表面とエンドエフェクタ2Bの指との接触面積が大きくなり、隅に近い位置を保持する場合に接触面積が小さくなることを表している。
図20において、接触マップ60の外周62を囲む黒色の実線は、単に外周62の輪郭を表す線である。黒色の実線が描かれている座標が適正でない保持位置であることを表すものではない。
制御部12は、1つのルールを特定する接触マップ60を混合することによって、複数のルールを特定する1つの接触マップ60を生成してもよい。制御部12は、複数の接触マップ60を混合する場合、各接触マップ60に重みづけ係数を設定して混合してよい。制御部12は、例えば保持対象物80の表面とエンドエフェクタ2Bの指との接触面積が重要である場合、接触面積を特定する接触マップ60の重みづけ係数を大きく設定してよい。
制御部12は、生成したルールマップに基づいて、保持対象物80を保持する位置を推定する。具体的に、制御部12は、ルールマップに対して開き幅モデル31を仮の保持位置として投影し、投影した位置における一致度を算出することによって仮の保持位置で実際に保持対象物80を保持することの適正さを評価する。
制御部12は、エンドエフェクタ2Bの開き幅とともに抽出したアプローチ位置70及びエンドエフェクタ2Bの回転角度の組み合わせそれぞれにおいて、周辺環境マップ40における一致度を算出する。具体的に、制御部12は、抽出したアプローチ位置70及び回転角度で開き幅モデル31を、周辺環境マップ40に投影する。制御部12は、周辺環境マップ40におけるアプローチ領域41と開き幅モデル31と重なる範囲の各座標に設定されている数値又は色の輝度の平均値を一致度として算出する。
周辺環境マップ40に投影できる開き幅モデル31の位置及び回転角度に対応するエンドエフェクタ2Bの位置は、周辺環境マップ40に適合する位置であるともいえる。制御部12は、周辺環境マップ40に適合する位置の中から保持位置を推定するともいえる。
制御部12は、エンドエフェクタ2Bの開き幅とともに抽出したアプローチ位置70及びエンドエフェクタ2Bの回転角度の組み合わせそれぞれにおいて、物体マップ50における一致度を算出する。具体的に制御部12は、抽出したアプローチ位置70及び回転角度で開き幅モデル31を、物体マップ50に投影する。制御部12は、物体マップ50における保持対象物80の断面52と開き幅モデル31と重なる範囲の各座標に設定されている数値又は色の輝度値の平均値を一致度として算出する。
物体マップ50は、保持対象物80を保持する位置としての適正さを表す。物体マップ50に投影する開き幅モデル31の位置及び回転角度に対応するエンドエフェクタ2Bの位置は、物体マップ50に適合する位置であるともいえる。制御部12は、物体マップ50に適合する位置の中から保持位置を推定するともいえる。
制御部12は、エンドエフェクタ2Bの開き幅とともに抽出したアプローチ位置70及びエンドエフェクタ2Bの回転角度の組み合わせそれぞれにおいて、接触マップ60における一致度を算出する。具体的に制御部12は、抽出したアプローチ位置70及び回転角度で開き幅モデル31を、接触マップ60に投影する。制御部12は、接触マップ60における外周62と開き幅モデル31と重なる範囲の各座標に設定されている数値又は色の輝度値の平均値を一致度として算出する。
接触マップ60は、エンドエフェクタ2Bの保持対象物80との接触部分の、保持対象物80と接触する位置としての適正さを表す。制御部12は、接触マップ60に投影する複数の開き幅モデル31の位置及び回転角度に対応するエンドエフェクタ2Bの複数の位置の中から保持位置を推定するともいえる。
制御部12は、開き幅モデル31の各保持部位置32それぞれがストローク範囲34の方向に沿って外周62に対して入射する角度を算出してよい。言い換えれば、制御部12は、開き幅モデル31のストローク範囲34の方向に沿った線と外周62との2つの交点それぞれにおける交差の角度を算出してよい。本実施形態において、制御部12は、保持部位置32が外周62に対して垂直に入射する場合の入射角度を0度として算出する。制御部12は、算出した角度を接触マップ60における一致度の値に反映してよい。制御部12は、角度が0度に近いほど一致度の値を大きい値として算出してよい。制御部12は、例えば、接触マップ60の外周62のうち投影された開き幅モデル31と重なる範囲の各座標に設定されている数値又は色の輝度値の平均値と、算出した角度のコサインの値(余弦値)との積を一致度として算出してもよい。
制御部12は、外周62が凹凸を有する場合、エンドエフェクタ2Bの保持部の太さ又は幅若しくは長さに基づいて外周62を平坦化したモデルを生成し、平坦化したモデルに対して保持部位置32が入射する角度を算出してもよい。
制御部12は、アプローチ位置70及び開き幅モデル31の回転角度の組み合わせ毎に、各ルールマップにおいて算出した一致度を合算し、総合一致度を算出する。制御部12は、各ルールマップにおいて算出した一致度に対して重みづけを行って合算してよい。制御部12は、各ルールマップにおいて算出した一致度に対して行う重みづけを、全ての組み合わせにおいて同一とする。各ルールマップにおいて算出した一致度に対して適用される重みづけの係数は、マップ係数とも称される。マップ係数は、各マップについて定められてよい。
以上述べてきたように、制御部12は、開き幅モデル31とルールマップとに基づいて各保持位置について総合一致度を算出する。総合一致度は、各保持位置の適正さを表す適正値に対応する。また、ルールマップは、ルールマップの各位置(各座標)に割り当てた数値又は色の輝度値等によって、保持対象物80を保持する位置としての適正さを表す。制御部12は、エンドエフェクタモデル30をルールマップに重ねた場合に各位置に割り当てた値を演算することによって、適正値を算出できる。
制御部12は、アプローチ位置70及びエンドエフェクタモデル30の回転角度の各組み合わせについて算出した総合一致度を比較し、総合一致度が高い組み合わせを選択する。制御部12は、選択した組み合わせのアプローチ位置70及びエンドエフェクタモデル30の回転角度に基づいて定まる、エンドエフェクタ2Bの指がストローク方向に沿って動いたときに保持対象物80に入射する位置を、保持対象物80を保持する位置として推定する。つまり、制御部12は、エンドエフェクタモデル30とルールマップとに基づいて保持位置を推定する。また、制御部12は、適正値に基づいて保持位置を推定するともいえる。制御部12は、推定した保持位置を、インタフェース14を介してロボット制御装置110に出力する。
(保持パラメータ推定方法の手順例)
保持パラメータ推定装置10の制御部12は、図21に例示されるフローチャートの手順を含む保持パラメータ推定方法を実行してもよい。保持パラメータ推定方法は、保持パラメータ推定装置10の制御部12を構成するプロセッサに実行させる保持位置推定プログラムとして実現されてもよい。保持パラメータ推定プログラムは、非一時的なコンピュータ読み取り可能な媒体に格納されてよい。
制御部12は、エンドエフェクタ2Bに関する情報、保持対象物80を撮影した保持対象画像、及び保持対象物80のデプスデータを含むデータを取得する(ステップS1)。制御部12は、エンドエフェクタモデル30を生成する(ステップS2)。制御部12は、保持対象物80を保持する高さを推定する(ステップS3)。制御部12は、マスク画像20を生成する(ステップS4)。
制御部12は、アプローチマップ90と、周辺環境マップ40、物体マップ50、及び接触マップ60等のルールマップとを作成する(ステップS5)。制御部12は、アプローチマップ90にエンドエフェクタモデル30を投影する(ステップS6)。制御部12は、アプローチマップ90へのエンドエフェクタモデル30の投影により、エンドエフェクタ2Bの開き幅を推定する(ステップS7)。制御部12は、推定した開き幅に基づいて開き幅モデル31を作成する(ステップS8)。制御部12は、各ルールマップに開き幅モデル31を投影する(ステップS9)。制御部12は、各ルールマップと各ルールマップに投影した開き幅モデル31との一致度を算出する(ステップS10)。制御部12は、総合一致度を算出するために、各ルールマップについて算出した一致度に重みづけを行う(ステップS11)。制御部12は、総合一致度が高くなるときの開き幅モデル31の投影位置を選出し、選出した位置においてエンドエフェクタ2Bの保持部が保持対象物80に入射する位置を保持位置として推定する(ステップS12)。制御部12は、ステップS12の手順の実行後、図21のフローチャートの手順の実行を終了する。
制御部12は、マスク画像20を生成するステップS4の手順を、ステップS2又はS3の前に実行してもよい。
(小括)
以上述べてきたように、本実施形態に係る保持パラメータ推定装置10によれば、エンドエフェクタモデル30と前記保持対象画像と前記デプスデータとに基づいて、保持対象物80を保持させるために前記エンドエフェクタ2Bの一部を変位させるときの開き幅が推定される。保持のためにエンドエフェクタ2Bの一部を保持対象物80に変位させるときのエンドエフェクタ2Bの開き幅が保持対象物80の幅に近い場合、変位中に保持対象物に衝突する虞がある。一方、当該開き幅が広すぎる場合、エンドエフェクタ2Bの一部の保持対象物80への変位後に、保持対象物80を保持するまでの時間が長くなる。更に、当該開き幅が広すぎる場合、変位後にエンドエフェクタ2Bを保持のために閉じる動作において、保持対象物80の周囲の障害物に衝突する虞がある。このような事象に対して、上述の構成を有する保持パラメータ推定装置10は、変位時の開き幅を推定するので、エンドエフェクタ2Bを保持対象物80に近づける時の適切な状態を推定し得る。したがって、保持パラメータ推定装置10は、適切な開き幅となるようにロボット2を操作するパラメータを提供し得る。
また、本実施形態の保持パラメータ推定装置10では、アプローチマップ90におけるアプローチ領域91は、保持対象物80の存在領域及び第1の領域94を、エンドエフェクタ2Bが有する保持部の幅方向に当該保持部の幅の半分以上の大きさ、且つ当該保持部の太さ方向に当該保持部の太さの半分以上の大きさで膨張させた領域を除外した領域である。このような構成により、保持パラメータ推定装置10は、保持対象物80及び保持対象物80以外の物体と干渉する可能性の低い領域内で開き幅を推定させ得る。
また、本実施形態の保持パラメータ推定装置10では、エンドエフェクタ2Bの保持部毎の存在可能領域99の中心位置である第1中心位置CP1を算出し、保持部の各々についての所定の方向に沿って、第1中心位置CP1を起点として保持部を保持対象物80へ向かって変位させた場合に、存在可能領域99の端に到達するまでに保持部が通過する領域のうち、保持対象物80及び保持対象物80以外の物体と干渉しない任意の位置を、該存在可能領域99における前記開き幅に対応する保持部の位置として推定する。このような構成により、保持パラメータ推定装置10は、任意の位置における保持部の全領域の干渉の有無を判別することなく、一点のみで干渉の有無を判別し得る。したがって、保持パラメータ推定装置10は、開き幅を高速に推定し得る。
また、本実施形態の保持パラメータ推定装置10では、制御部12は第1中心位置CP1が可動直線ALから外れている場合、第1中心位置CP1から当該可動直線ALに下ろした垂線と当該可動直線ALの交点を第1中心位置CP1とみなして、開き幅に対応する保持部の位置を推定する。このような構成により、保持パラメータ推定装置10は、保持部の移動可能な範囲内の最も内側における保持対象物80の表面と、保持部の最大開き幅の間に保持対象物80の一部等が位置する場合であっても、開き幅に対応する保持部の位置を可動直線AL上で推定し得る。
また、本実施形態の保持パラメータ推定装置10によれば、保持対象物80をロボット2のエンドエフェクタ2Bで保持するときの保持位置がルールマップに基づいて推定される。ルールマップに基づいて保持位置を推定することによって、作業者の経験等をルールマップに反映させることができる。例えば、作業者が種々の保持対象物80を保持する場合に、保持対象物80それぞれについて、どの位置で保持するか考えて保持する。作業者は、例えば、保持対象物80の重心、保持対象物80の周囲に存在する障害物、又は、保持対象物80を持つ位置が広いこと等を考えて保持位置を決める。つまり、本実施形態に係る保持パラメータ推定装置10によれば、作業者の考えをルールマップに反映し、各ルールマップにおける一致度を算出し、一致度に重みづけを行って算出した総合一致度に基づいて、把持位置が推定される。その結果、作業者が考える保持位置で、ロボット2に保持対象物80を保持させることができる。つまり、物体の保持位置が簡易に人間の意図に沿った位置に推定され得る。
また、作業者が保持位置をルール化したルールマップを使用できる。その結果、学習が不要になる。また、新たなルールが発生した場合にルールマップを追加することによって、環境の変化に対応しやすくなる。例えば、保持対象物80の保持を含む作業は、作業者又は作業現場の環境等に応じた種々の構成要素を含み得る。したがって、各構成要素に基づいて保持対象物80の保持位置を推定して保持する必要がある。種々の構成要素を反映したルールマップを生成して一致度の算出対象に追加することによって、各作業者又は各現場における特殊なルール等にも対応が容易になる。
(他の実施形態)
以下、他の実施形態が説明される。
<他の手法に基づく推定結果の利用>
保持パラメータ推定装置10は、他の手法に基づいて推定された保持対象物80の保持位置を取得してよい。保持パラメータ推定装置10は、取得した保持位置に対して本実施形態に係る保持パラメータ推定方法を実行することによって、取得した保持位置毎の開き幅を推定してよい。
具体的に、保持パラメータ推定装置10の制御部12は、インタフェース14を介して他の手法に基づいて推定された保持対象物80の保持位置を取得する。制御部12は、取得した保持位置に対応する、アプローチ位置70とエンドエフェクタモデル30の回転角度との組み合わせを算出する。制御部12は、取得した保持位置に対応する組み合わせでエンドエフェクタモデル30をアプローチマップ90に投影し、開き幅を推定する。更に、制御部12は、推定した開き幅に基づいて開き幅モデル31を作成してよい。制御部12は、開き幅モデル31を各ルールマップに投影し、各ルールマップにおける一致度を算出してよい。制御部12は、各ルールマップにおける一致度に重みづけを行って合算し、総合一致度として算出してよい。制御部12は、総合一致度の値が大きい組み合わせに対応する開き幅及び保持位置を選択してロボット制御装置110に出力してよい。
保持パラメータ推定装置10は、取得した保持位置における総合一致度を算出して取得した保持位置の適正さを評価してもよい。制御部12は、算出した総合一致度に基づいて、取得した保持位置が妥当であるか評価する。制御部12は、例えば、算出した総合一致度が所定値以上となった場合に、取得した保持位置が妥当であると判定してよい。
保持パラメータ推定装置10は、他の手法に基づいて推定された、エンドエフェクタ2Bの中心位置及び回転角度を取得してもよい。保持パラメータ推定装置10は、取得したエンドエフェクタ2Bの中心位置をアプローチ位置70とみなすことによってアプローチ位置70と回転角度との組み合わせを算出し、本実施形態に係る保持パラメータ推定方法を実行できる。
保持パラメータ推定装置10は、他の手法に基づいて推定された保持対象物80の保持位置を取得することによって、一致度の算出対象とするアプローチ位置70と回転角度との組み合わせの数を低減できる。その結果、計算負荷が低減され得る。
<学習による重みづけの調整>
保持パラメータ推定装置10は、各ルールマップについて算出した一致度に対して重みづけを行って合算することによって、総合一致度を算出する。保持パラメータ推定装置10は、推定した保持位置に対するアノテーションの情報に基づいて学習することによって、重みづけの係数を更新してよい。保持パラメータ推定装置10は、重みづけの係数を更新することによって保持位置の推定精度を向上できる。
具体的に、保持パラメータ推定装置10の制御部12は、推定した保持位置をインタフェース14によってユーザに通知してよい。制御部12は、インタフェース14によって、推定した保持位置に対するアノテーションとして保持位置を修正する入力をユーザから受け付ける。制御部12は、ユーザによる修正の情報に基づいて、修正した保持位置をロボット制御装置110に出力してよい。制御部12は、ユーザによる修正の情報に基づいて学習することによって重みづけの係数を更新し、保持位置の推定をやり直してもよい。
制御部12は、複数の保持位置の候補を推定してインタフェース14によってユーザに通知してよい。制御部12は、総合一致度が所定値以上となる保持位置を候補として推定してよい。制御部12は、インタフェース14によって、推定した保持位置に対するアノテーションとして保持位置の候補から選択する入力をユーザから受け付ける。制御部12は、ユーザが選択した保持位置をロボット制御装置110に出力してよい。制御部12は、ユーザが選択した情報に基づいて学習することによって重みづけの係数を更新してもよい。
制御部12は、総合一致度が所定値以上となる保持位置を、保持対象物80を保持可能な候補位置として抽出し、ユーザに通知してよい。制御部12は、インタフェース14によって、候補位置に対するアノテーションとして、候補位置を修正する入力、又は、候補位置を選択する入力をユーザから受け付ける。制御部12は、候補位置に対する修正又は選択の入力に基づいて、各候補位置の適正さを評価する。制御部12は、ユーザの入力に基づいて保持位置としての適正さが高いと評価した候補位置について総合一致度の値が大きくなるように、重みづけの係数を更新してよい。制御部12は、選択された候補位置を保持位置としてロボット制御装置110に出力してもよい。制御部12は、修正された候補位置を保持位置としてロボット制御装置110に出力してもよい。
保持パラメータ推定装置10の制御部12は、図22に示されるフローチャートの手順を実行してもよい。制御部12は、例えば図22のフローチャートの手順を実行することによって、保持位置の候補を選出する(ステップS21)。制御部12は、保持位置の候補をインタフェース14に出力する(ステップS22)。制御部12は、ユーザによる修正の入力に基づいて保持位置を修正する(ステップS23)。制御部12は、修正内容を学習する(ステップS24)。制御部12は、学習結果に基づいて重みづけを更新する(ステップS25)。制御部12は、ステップS25の手順の実行後、図22のフローチャートの手順の実行を終了する。
以上述べてきたように、保持パラメータ推定装置10は、ユーザによるアノテーションの内容に基づいて重みづけを更新できる。その結果、種々の作業環境に対応できるロバスト性が向上し得る。
保持パラメータ推定装置10は、ルールマップを生成するために複数のマップに重みづけを実行して混合する。例えば、保持パラメータ推定装置10は、複数の物体マップ50を混合して1つの物体マップ50を生成する。複数のマップに重みづけを実行して混合する場合において、保持パラメータ推定装置10は、各マップに対する重みづけ係数をアノテーションに基づく学習によって更新してもよい。
保持パラメータ推定装置10は、複数の保持位置に対するアノテーションの情報を取得し、アノテーションの情報に基づいて適正値を補正してもよい。
<画像に基づくマップの生成>
保持パラメータ推定装置10は、カメラ4で撮影した保持対象画像に基づいて、ルールマップを生成してもよい。保持パラメータ推定装置10の制御部12は、例えば、保持対象画像に基づいて保持対象物80の重心を推定し、重心位置を特定する物体マップ50を生成してもよい。制御部12は、例えば、保持対象画像に基づいて保持対象物80の材質を推定し、保持対象物80の表面とエンドエフェクタ2Bの保持部との間に作用する摩擦力を特定する接触マップ60を生成してもよい。制御部12は、保持対象物80の色若しくは模様、又は、凹凸に関する情報に基づいて、保持対象物80の材質を推定してもよい。
<保持位置の高さの設定>
保持パラメータ推定装置10は、最初に保持対象物80を保持する高さを設定し、設定した高さにおける開き幅及び保持位置を推定する。保持パラメータ推定装置10は、保持対象物80を保持する高さを変化させ、それぞれの高さにおいて保持パラメータ推定方法を実行し、総合一致度の値が最も大きくなるときの保持の高さと、アプローチ位置70、及び回転角度の組み合わせとを、保持位置として開き幅とともに推定してもよい。このようにすることで、保持の安定性が向上し得る。
以上、保持パラメータ推定装置10の実施形態を説明してきたが、本開示の実施形態としては、装置を実施するための方法又はプログラムの他、プログラムが記録された記憶媒体(一例として、光ディスク、光磁気ディスク、CD-ROM、CD-R、CD-RW、磁気テープ、ハードディスク、又はメモリカード等)としての実施態様をとることも可能である。
また、プログラムの実装形態としては、コンパイラによってコンパイルされるオブジェクトコード、インタプリタにより実行されるプログラムコード等のアプリケーションプログラムに限定されることはなく、オペレーティングシステムに組み込まれるプログラムモジュール等の形態であってもよい。さらに、プログラムは、制御基板上のCPUにおいてのみ全ての処理が実施されるように構成されてもされなくてもよい。プログラムは、必要に応じて基板に付加された拡張ボード又は拡張ユニットに実装された別の処理ユニットによってその一部又は全部が実施されるように構成されてもよい。
本開示に係る実施形態について説明する図は模式的なものである。図面上の寸法比率等は、現実のものとは必ずしも一致していない。
本開示に係る実施形態について、諸図面及び実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形又は改変を行うことが可能であることに注意されたい。従って、これらの変形又は改変は本開示の範囲に含まれることに留意されたい。例えば、各構成部等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の構成部等を1つに組み合わせたり、或いは分割したりすることが可能である。
本開示に記載された構成要件の全て、及び/又は、開示された全ての方法、又は、処理の全てのステップについては、これらの特徴が相互に排他的である組合せを除き、任意の組合せで組み合わせることができる。また、本開示に記載された特徴の各々は、明示的に否定されない限り、同一の目的、同等の目的、または類似する目的のために働く代替の特徴に置換することができる。したがって、明示的に否定されない限り、開示された特徴の各々は、包括的な一連の同一、又は、均等となる特徴の一例にすぎない。
さらに、本開示に係る実施形態は、上述した実施形態のいずれの具体的構成にも制限されるものではない。本開示に係る実施形態は、本開示に記載された全ての新規な特徴、又は、それらの組合せ、あるいは記載された全ての新規な方法、又は、処理のステップ、又は、それらの組合せに拡張することができる。
本開示において「第1」及び「第2」等の記載は、当該構成を区別するための識別子である。本開示における「第1」及び「第2」等の記載で区別された構成は、当該構成における番号を交換することができる。例えば、第1の領域は、第2の領域と識別子である「第1」と「第2」とを交換することができる。識別子の交換は同時に行われる。識別子の交換後も当該構成は区別される。識別子は削除してよい。識別子を削除した構成は、符号で区別される。本開示における「第1」及び「第2」等の識別子の記載のみに基づいて、当該構成の順序の解釈、小さい番号の識別子が存在することの根拠に利用してはならない。
2 ロボット
2A アーム
2B エンドエフェクタ
4 カメラ
5 ロボットの動作範囲
6 作業開始台
7 作業目標台
10 保持パラメータ推定装置
12 制御部
14 インタフェース
20 マスク画像
22 窓
24 マスク
30 エンドエフェクタモデル
31 開き幅モデル
32 保持部位置
34 ストローク範囲
36 保持部の動作範囲
38 動作外範囲
40 周辺環境マップ
41 アプローチ領域
42 対象物領域
43 非アプローチ領域
44 第1の領域
50 物体マップ
52 断面
60 接触マップ
62 外周
70 アプローチ位置
72a、72b、72c 投影モデル
74a、74c 保持部の投影位置
80 保持対象物
81 本体
82 保持点
83 鉤括弧状部材
90 アプローチマップ
91 アプローチ領域
92 対象物領域
93 非アプローチ領域
94 第1の領域
94ex 第1の領域を膨張させた領域
95 境界
96 第2の領域
96ex 対象物領域を膨張させた領域
97 障害物領域
98 外部領域
99 存在可能領域
100 ロボット制御システム
110 ロボット制御装置
AL 可動直線
CP1 第1中心位置
C92 対象物領域の中心
SL 対象物領域の中心を通り且つ障害物領域の外縁に一点において交わる直線
WP 開き幅に対応する保持部の位置

Claims (14)

  1. 任意の開き幅で保持対象物を保持する保持部を有するエンドエフェクタに関する情報、前記保持対象物を示す保持対象情報、及び前記保持対象物に関するデプスデータを取得する取得部と、
    前記情報に基づいて該エンドエフェクタが存在しうる領域を示すエンドエフェクタモデルを取得し、該エンドエフェクタモデルと前記保持対象情報と前記デプスデータとに基づいて、該保持対象物を保持させるために前記保持部の開き幅を推定する制御部と、を備え、
    前記保持対象情報は、前記保持対象物の領域を示す情報である
    保持パラメータ推定装置。
  2. 請求項1に記載の保持パラメータ推定装置において、
    前記制御部は、
    前記保持対象情報及び前記デプスデータに基づいて、前記保持対象物を保持する高さにおいて、前記エンドエフェクタを該保持対象物以外の物体に干渉させずに開き得るアプローチ領域を示すアプローチマップを作成し、
    前記アプローチ領域と前記エンドエフェクタが存在しうる領域とに基づき、前記開き幅を推定する
    保持パラメータ推定装置。
  3. 請求項2に記載の保持パラメータ推定装置において、
    前記アプローチ領域は、前記保持対象物の周囲で前記エンドエフェクタを保持対象物に干渉させずに開き得る領域から、前記保持対象物の存在領域と、該保持対象物以外の物体の存在領域における該保持対象物に面する外縁から前記保持対象物とは反対側を向く第1の領域とを除外した領域である
    保持パラメータ推定装置。
  4. 請求項3に記載の保持パラメータ推定装置において、
    前記エンドエフェクタは、前記保持対象物を保持する際に前記保持対象物に接触させる保持部を有し、
    前記アプローチ領域は、前記保持対象物の存在領域及び前記第1の領域を、前記エンドエフェクタが有する保持部の幅方向に該保持部の幅の半分以上の大きさ、且つ該保持部の太さ方向に該保持部の太さの半分以上の大きさで膨張させた領域を除外した領域である
    保持パラメータ推定装置。
  5. 請求項2から4のいずれか1項に記載の保持パラメータ推定装置において、
    前記制御部は、
    前記アプローチマップへの前記エンドエフェクタモデルの重合わせにおいて、前記アプローチ領域と前記エンドエフェクタモデルが重なる存在可能領域を、前記エンドエフェクタの保持部毎に推定し、
    前記保持部毎の前記存在可能領域の任意の地点を、該存在可能領域における前記開き幅に対応する保持部の位置として推定する
    保持パラメータ推定装置。
  6. 請求項5に記載の保持パラメータ推定装置において、
    前記保持部は、所定の方向に沿って移動可能に構成されており、
    前記制御部は、
    前記エンドエフェクタの保持部毎の前記存在可能領域の中心位置である第1中心位置を算出し、
    前記保持部の各々についての前記所定の方向に沿って、前記第1中心位置を起点として前記保持部を保持対象物へ向かって変位させた場合に、前記存在可能領域の端に到達するまでに前記保持部が通過する領域のうち、前記保持対象物及び該保持対象物以外の物体と干渉しない任意の位置を、該存在可能領域における前記開き幅に対応する保持部の位置として推定する
    保持パラメータ推定装置。
  7. 請求項6に記載の保持パラメータ推定装置において、
    前記制御部は、前記第1中心位置が、前記エンドエフェクタモデルにおける前記エンドエフェクタが存在しうる領域の中心位置を通る前記保持部の開閉方向に平行な可動直線から外れている場合、前記第1中心位置から該可動直線に下ろした垂線と該可動直線の交点を前記第1中心位置とみなして、前記開き幅に対応する保持部の位置を推定する
    保持パラメータ推定装置。
  8. 請求項6に記載の保持パラメータ推定装置において、
    前記制御部は、前記第1中心位置から前記エンドエフェクタモデルにおける前記エンドエフェクタが存在しうる領域の中心位置に向けて変位させ、前記アプローチ領域が存在しない場合、前記第1中心位置より外側の前記存在可能領域において前記アプローチ領域を探索する
    保持パラメータ推定装置。
  9. 請求項2から4のいずれか1項に記載の保持パラメータ推定装置において、
    前記エンドエフェクタの保持部は、対向して移動可能な少なくとも2の部材により形成されている、
    保持パラメータ推定装置。
  10. 請求項1から4のいずれか1項に記載の保持パラメータ推定装置において、
    前記制御部は、
    前記開き幅の範囲内で前記エンドエフェクタが存在しうる領域を特定する開き幅モデルを作成し、
    前記保持対象情報に基づいて、前記エンドエフェクタが保持に使用すべき前記保持対象物の領域を規定するマップを含むルールマップを生成し、
    前記開き幅モデルと前記ルールマップとに基づいて、前記エンドエフェクタが前記保持対象物と接触する位置を保持位置として推定する
    保持パラメータ推定装置。
  11. 請求項10に記載の保持パラメータ推定装置において、
    前記制御部は、
    前記開き幅モデルと前記ルールマップとに基づいて、前記保持位置の適正さを表す適正値を複数の前記保持位置について算出し、
    前記適正値に基づいて前記保持位置を推定する
    保持パラメータ推定装置。
  12. 請求項11に記載の保持パラメータ推定装置において、
    前記開き幅モデル及び前記ルールマップは、各位置に割り当てた前記保持対象物を保持する位置としての適正さを示す値で表され、
    前記制御部は、前記開き幅モデルを前記ルールマップに重ねた場合に各位置に割り当てた値を演算することによって、前記適正値を算出する
    保持パラメータ推定装置。
  13. 請求項11に記載の保持パラメータ推定装置において、
    前記制御部は、前記ルールマップに含まれる複数の前記マップに基づく前記適正値と、各々の前記マップについて定めたマップ係数とに基づいて、前記ルールマップに基づく前記適正値を算出する
    保持パラメータ推定装置。
  14. 保持対象物を保持する保持部を有するエンドエフェクタに関する情報、前記保持対象物を示す保持対象情報、及び前記保持対象物に関するデプスデータを取得し、
    前記情報に基づいて該エンドエフェクタが存在しうる領域を示すエンドエフェクタモデルを取得し、
    前記エンドエフェクタモデル、前記保持対象情報、及び前記デプスデータに基づいて、該保持対象物を保持させるために前記保持部の開き幅を推定し、
    前記保持対象情報は、前記保持対象物の領域を示す情報である
    保持パラメータ推定方法。
JP2023540418A 2021-08-04 2022-08-04 保持パラメータ推定装置及び保持パラメータ推定方法 Active JP7785779B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2021128476 2021-08-04
JP2021128476 2021-08-04
PCT/JP2022/030016 WO2023013743A1 (ja) 2021-08-04 2022-08-04 保持パラメータ推定装置及び保持パラメータ推定方法

Publications (3)

Publication Number Publication Date
JPWO2023013743A1 JPWO2023013743A1 (ja) 2023-02-09
JPWO2023013743A5 JPWO2023013743A5 (ja) 2024-04-25
JP7785779B2 true JP7785779B2 (ja) 2025-12-15

Family

ID=85155801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023540418A Active JP7785779B2 (ja) 2021-08-04 2022-08-04 保持パラメータ推定装置及び保持パラメータ推定方法

Country Status (5)

Country Link
US (1) US20240342905A1 (ja)
EP (1) EP4382266A4 (ja)
JP (1) JP7785779B2 (ja)
CN (1) CN117794709A (ja)
WO (1) WO2023013743A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7651691B2 (ja) * 2021-05-28 2025-03-26 京セラ株式会社 保持位置決定装置、及び保持位置決定方法
US20260042207A1 (en) * 2024-08-06 2026-02-12 GM Global Technology Operations LLC Systems and methods for manufacturing with an end effector having two or more independent tools
JP7840089B1 (ja) * 2025-06-06 2026-04-03 コネクテッドロボティクス株式会社 保持システム、及びプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012066819A1 (ja) 2010-11-17 2012-05-24 三菱電機株式会社 ワーク取り出し装置
JP2019089157A (ja) 2017-11-14 2019-06-13 オムロン株式会社 把持方法、把持システム及びプログラム
JP2020151780A (ja) 2019-03-18 2020-09-24 株式会社東芝 ハンドリングシステム、ロボット管理システム、およびロボットシステム
US20200398433A1 (en) 2018-03-01 2020-12-24 The Governing Council Of The University Of Toronto Method of calibrating a mobile manipulator
WO2021029064A1 (ja) 2019-08-15 2021-02-18 オムロン株式会社 情報処理装置及び情報処理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6546618B2 (ja) 2017-05-31 2019-07-17 株式会社Preferred Networks 学習装置、学習方法、学習モデル、検出装置及び把持システム
US12145280B2 (en) * 2021-01-27 2024-11-19 The Boeing Company Image-based guidance for robotic wire pickup

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012066819A1 (ja) 2010-11-17 2012-05-24 三菱電機株式会社 ワーク取り出し装置
JP2019089157A (ja) 2017-11-14 2019-06-13 オムロン株式会社 把持方法、把持システム及びプログラム
US20200398433A1 (en) 2018-03-01 2020-12-24 The Governing Council Of The University Of Toronto Method of calibrating a mobile manipulator
JP2020151780A (ja) 2019-03-18 2020-09-24 株式会社東芝 ハンドリングシステム、ロボット管理システム、およびロボットシステム
WO2021029064A1 (ja) 2019-08-15 2021-02-18 オムロン株式会社 情報処理装置及び情報処理方法

Also Published As

Publication number Publication date
CN117794709A (zh) 2024-03-29
EP4382266A4 (en) 2025-08-13
WO2023013743A1 (ja) 2023-02-09
EP4382266A1 (en) 2024-06-12
US20240342905A1 (en) 2024-10-17
JPWO2023013743A1 (ja) 2023-02-09

Similar Documents

Publication Publication Date Title
JP7785779B2 (ja) 保持パラメータ推定装置及び保持パラメータ推定方法
US11969893B2 (en) Automated personalized feedback for interactive learning applications
CN114670189B (zh) 存储介质、以及生成机器人的控制程序的方法及系统
JP7693313B2 (ja) 干渉判定装置、ロボット制御システム、及び干渉判定方法
JP2014137644A (ja) 認識プログラム評価装置および認識プログラム評価方法
KR20220067719A (ko) 딥러닝과 마커를 이용한 비전인식을 통한 로봇 제어장치 및 그 방법
JP2025147230A (ja) ロボットの保持態様決定装置、保持態様決定方法、及びロボット制御システム
US20240144532A1 (en) CALIBRATION METHOD FOR CAMERA, and CAMERA CALIBRATION SYSTEM
CN113504063B (zh) 一种基于多轴机械臂的立体空间触屏设备可视化测试方法
JP7651691B2 (ja) 保持位置決定装置、及び保持位置決定方法
JP2022163836A (ja) ロボット画像の表示方法、コンピュータープログラム、及び、ロボット画像の表示システム
JP2023059863A (ja) 人の両手の実演による双腕ロボットの教示
US20250073910A1 (en) Method For Estimating Posture Of Object, Control Device, And Robot System
CN115082550A (zh) 从对象的相机图像中定位对象的位置的设备和方法
CN115082554A (zh) 用于控制机器人来拿起对象的装置和方法
JP7660686B2 (ja) ロボット制御装置、ロボット制御システム、及びロボット制御方法
JP7657936B2 (ja) ロボット制御装置、ロボット制御システム、及びロボット制御方法
US20240383151A1 (en) Estimation device, estimation method, and control device
Pedrosa et al. A skill-based architecture for pick and place manipulation tasks
US20240346674A1 (en) Information processing device, information processing method, imaging device, and information processing system
JP7717169B2 (ja) 学習済みモデル生成方法、学習済みモデル生成装置、学習済みモデル、及び保持態様の推定装置
JP2026065956A (ja) ロボット制御装置、ロボット動作学習方法及びロボット動作学習装置
WO2025253624A1 (ja) 教示装置およびロボットシステム
WO2024204418A1 (ja) 処理装置及びプログラム
JP2023146331A (ja) コンピュータープログラム、生成方法、および、生成装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240201

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20241001

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20241125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250507

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20250703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250908

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: 20251104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20251203

R150 Certificate of patent or registration of utility model

Ref document number: 7785779

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150