JP6453922B2 - ワークの取り出し動作を改善するワーク取り出し装置およびワーク取り出し方法 - Google Patents

ワークの取り出し動作を改善するワーク取り出し装置およびワーク取り出し方法 Download PDF

Info

Publication number
JP6453922B2
JP6453922B2 JP2017019468A JP2017019468A JP6453922B2 JP 6453922 B2 JP6453922 B2 JP 6453922B2 JP 2017019468 A JP2017019468 A JP 2017019468A JP 2017019468 A JP2017019468 A JP 2017019468A JP 6453922 B2 JP6453922 B2 JP 6453922B2
Authority
JP
Japan
Prior art keywords
workpiece
loading state
robot
data
unit
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
JP2017019468A
Other languages
English (en)
Other versions
JP2018126802A (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.)
FANUC Corp
Original Assignee
FANUC 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 FANUC Corp filed Critical FANUC Corp
Priority to JP2017019468A priority Critical patent/JP6453922B2/ja
Priority to US15/875,239 priority patent/US10603790B2/en
Priority to DE102018000730.9A priority patent/DE102018000730B4/de
Priority to CN201810118479.7A priority patent/CN108393908B/zh
Publication of JP2018126802A publication Critical patent/JP2018126802A/ja
Application granted granted Critical
Publication of JP6453922B2 publication Critical patent/JP6453922B2/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/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • 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/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme 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/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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/402Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for positioning, e.g. centring a tool relative to a hole in the workpiece, additional detection means to correct position
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • 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/32Operator till task planning
    • G05B2219/32334Use of reinforcement learning, agent acts, receives reward
    • 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/39298Trajectory learning
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40528Ann for learning robot contact surface shape
    • 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/40594Two range sensors for recognizing 3-D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/46Sensing device
    • Y10S901/47Optical

Description

本発明は、ワークの取り出し動作を改善するワーク取り出し装置およびワーク取り出し方法に関する。
従来、例えば、コンテナなどの収容物内にバラバラに積まれた部品(三次元空間にバラ積みされたワーク)をロボットによって取り出す装置(ワーク取り出し装置)が、様々な分野で使用されている。このようなワーク取り出し装置において、例えば、最後のワークを取り出すまで安定的に稼働させることは、一般的に困難なものとなっている。
例えば、ワーク(部品)を取り出すために、ロボットのハンドをワークに近づける動作(アプローチ動作)を行っているときに、ハンドと収容物や他のワークとの干渉が発生し、その結果、取り出そうとしたワークを保持できないといった事態が発生するためである。また、例えば、ワークを予め定められた持ち方で保持して取り出し処理を行う場合、三次元的に任意の姿勢をとるワークに対して、その予め定められた持ち方を行えないといったことも頻繁に生じる。具体的に、ワークに対する持ち方が1つしか定められていない場合、保持したい面が下を向いてしまっていると、そのワークを所定の持ち方で保持することは困難になってしまう。
そのため、ワーク取り出し装置(バラ積み取り出しシステム)では、収容物内にワークが残っているにも関わらず、それ以上ワークを取り出せない状況に陥ってしまうといったことが多々ある。
ところで、従来、多数のワークからの取り出し失敗を減らし、またリトライ動作も減らしたワーク取り出し装置として、データベースに蓄えられた過去の取り出し成否の情報に基づいて、センサで計測したワークの一部の掴みやすさを推定し、掴みにくそうなものは優先して掴まないが、他に掴めそうなものがないときは、ハンドの開閉量・動作速度・把持力のうち少なくとも1つを調整して、より丁寧な取り出し動作をおこなうようにしたものが提案されている(例えば、特許文献1参照)。
また、従来、装置を大型化させることなく、バラ積みされたワークを把持する確率を向上させ、後工程における作業の成功率を向上させるワーク供給技術として、バラ積みされたワークを計測した計測データと予め蓄積されたワークの形状データを照合してワークの位置および姿勢を算出し、算出したワークの位置から把持するワークを選択し、その選択したワークの位置および姿勢と、ワークを供給対象物に供給可能に算出されたワークと把持機構の位置関係を示す複数の把持姿勢との対応付けを行ってワークの把持姿勢を決定するものも提案されている(例えば、特許文献2参照)。
さらに、従来、バラ積みされたワークの位置と姿勢を確実に変化させ、新たなバラ積み状態を生成するピッキング用ワーク供給技術として、複数のワークをバラ積み可能とした上方が開いた容器本体の底部から上方内側に進退自在に突出部を設け、その突出部を進退自在に動作させて、ロボットに取り付けられたロボットハンドでワークを1つずつ取り出すものも提案されている(例えば、特許文献3参照)。
特開2013−052490号公報 特開2016−132086号公報 特開2012−183616号公報
しかしながら、上述したワーク取り出し装置では、例えば、取り出しを行うワークに対して他のワークの一部が重なっている場合、その状況を改善してワークを取り出すことは難しいため、効果が限定的である。また、例えば、複数の把持姿勢との対応付けを行うには、膨大な把持姿勢の候補を用意する必要が生じるため現実的ではない。さらに、例えば、容器本体の突出部を進退自在に動作させるには、その動作を行わせるための専用のハード機構が必要となり、また、ワークが重量物だと、容器本体の突出部を進退自在に動作させることは困難な場合も生じる。
このように、従来、ワーク取り出し装置としては様々な提案がなされているが、バラ積みされたワークを満足できる程度に取り出すことが難しく、或いは、専用のハード機構が必要になるといった課題がある。
第1実施形態によれば、三次元空間にバラ積みされた複数のワークを計測するセンサと、前記ワークを保持するロボットと、前記ロボットに取り付けられたワークを保持可能なハンドと、前記センサの出力に基づいて、前記ロボットにより前記ワークを保持する位置および姿勢の保持位置姿勢データを算出する保持位置姿勢算出部と、前記センサの出力に基づいて、前記ロボットにより前記ワークの積載状態を改善する動作の積載状態改善動作データを生成する積載状態改善動作生成部と、前記ロボットおよび前記ハンドを制御するロボット制御部と、少なくとも1つの前記保持位置姿勢算出部、および、少なくとも1つの前記積載状態改善動作生成部を含み少なくとも1つの動作候補を出力する動作候補出力部と、前記動作候補出力部の出力の少なくとも1つの動作候補から1つの動作を決定し、その決定された動作に基づいて前記ロボット制御部を介して前記ロボットを制御する動作決定部と、を備え、前記ロボット制御部は、前記保持位置姿勢算出部および前記積載状態改善動作生成部の出力に基づいて、前記ロボットおよび前記ハンドを制御することで前記ワークの取り出しもしくは積載状態改善動作を行い、前記動作決定部は、機械学習を行って前記動作候補出力部が出力する少なくとも1つの動作候補から1つの動作を決定する動作決定を学習する第1機械学習装置を備え、前記第1機械学習装置は、前記センサで取得される計測データ、少なくとも1つの前記保持位置姿勢算出部の出力に基づく保持位置姿勢データ、および、少なくとも1つの前記積載状態改善動作生成部の出力に基づく積載状態改善動作データを、状態データとして観測する第1状態観測部と、前記センサで計測し、前記ロボットおよび前記ハンドでワークを取り出す一連の動作であるハンドリングに関連する時間データを、判定データとして取得する第1判定データ取得部と、前記第1状態観測部が取得する状態データおよび前記第1判定データ取得部が取得する判定データに基づいて、前記動作候補出力部が出力する少なくとも1つの動作候補から1つの動作を決定する動作決定を学習する第1学習部と、を備えるワーク取り出し装置が提供される。
第2実施形態によれば、三次元空間にバラ積みされた複数のワークを計測するセンサと、前記ワークを保持するロボットと、前記ロボットに取り付けられたワークを保持可能なハンドと、前記センサの出力に基づいて、前記ロボットにより前記ワークを保持する位置および姿勢の保持位置姿勢データを算出する保持位置姿勢算出部と、前記センサの出力に基づいて、前記ロボットにより前記ワークの積載状態を改善する動作の積載状態改善動作データを生成する積載状態改善動作生成部と、前記ロボットおよび前記ハンドを制御するロボット制御部と、を備え、前記ロボット制御部は、前記保持位置姿勢算出部および前記積載状態改善動作生成部の出力に基づいて、前記ロボットおよび前記ハンドを制御することで前記ワークの取り出しもしくは積載状態改善動作を行い、前記積載状態改善動作生成部は、機械学習を行って前記ロボットにより前記ワークの積載状態を改善する動作を学習する第2機械学習装置を備え、前記第2機械学習装置は、前記センサの出力に基づく前記ワークそれぞれの計測データ、および、前記保持位置姿勢算出部の出力に基づく前記ワークそれぞれの前記保持位置姿勢データを、状態データとして観測する第2状態観測部と、前記計測データに基づいて、前記ワークの積載状態を改善する動作の前後における前記積載状態の変化の有無、および、前記ワークの積載状態を改善する動作を行った後における前記ワークそれぞれの前記保持位置姿勢データを、判定データとして取得する第2判定データ取得部と、前記第2状態観測部からの出力および前記第2判定データ取得部からの出力を受け取って、前記ワークの積載状態を改善する動作を学習する第2学習部と、を備えるワーク取り出し装置が提供される。
開示のワーク取り出し装置およびワーク取り出し方法によれば、取り出すことが困難なワークの数を低減することができるという効果を奏する。
図1は、ワーク取り出し装置の一例を模式的に示す図である。 図2は、図1に示すワーク取り出し装置の動作の一例を説明するための図である。 図3は、第1実施例に係るワーク取り出し装置を概略的に示すブロック図である。 図4は、図3に示すワーク取り出し装置の動作の一例を説明するための図である。 図5は、第1実施例に係るワーク取り出し装置によるワーク取り出し処理の一例を説明するためのフローチャートである。 図6は、第2実施例に係るワーク取り出し装置を示すブロック図である。 図7は、ニューロンのモデルを模式的に示す図である。 図8は、図7に示すニューロンを組み合わせて構成した三層のニューラルネットワークを模式的に示す図である。 図9は、第2実施例に係るワーク取り出し装置によるワーク取り出し処理の一例を説明するためのフローチャートである。 図10は、第3実施例に係るワーク取り出し装置を示すブロック図である。 図11は、第3実施例に係るワーク取り出し装置を示すブロック図である。 図12は、第3実施例に係るワーク取り出し装置によるワーク取り出し処理の一例を説明するためのフローチャート(その1)である。 図13は、第3実施例に係るワーク取り出し装置によるワーク取り出し処理の一例を説明するためのフローチャート(その2)である。
まず、ワーク取り出し装置およびワーク取り出し方法の実施例を詳述する前に、図1および図2を参照して、ワーク取り出し装置の一例およびその課題を説明する。図1は、ワーク取り出し装置の一例を模式的に示す図である。図1に示されるように、ワーク取り出し装置500は、例えば、コンテナ40などの収容物内にバラ積みされた複数のワーク(部品)4a〜4dを順番に取り出すもので、ロボット1、センサ2、ロボット制御装置3を含む。なお、ワーク4a〜4dは、コンテナ40に収納されたものに限定されず、例えば、三次元空間にバラ積みされたものであってもよいのはいうまでもない。
ロボット1の側方には、上面が開放されたボックス形状のコンテナ40が配置されている。コンテナ40は上面が開口され、コンテナ40内の収容空間には、バラ積みされた複数のワーク(バラ積みされた状態を含む、乱雑に置かれた複数のワーク)4a〜4d(4)が収納されている。なお、ワーク4は、ロボット1に取り付けられたハンド10により保持することができ、ロボット制御装置3で制御されるロボット1およびハンド10の動作により、コンテナ40からワーク4(4a〜4d)が1つずつ取り出されるようになっている。また、コンテナ40の中央部上方には、センサ2が設置され、センサ2の出力(計測データ)2aは、ロボット制御装置3に入力されている。
ここで、図1では、説明を簡略化するために、コンテナ40内に4つの円盤形状のワーク4a〜4d(4)がバラバラに積まれた状態で、各ワーク4の中央部の穴をハンド(内径チャック)10で保持する例が示されているが、ワーク4の形状は円盤形状に限定されず、また、ワーク4の保持機構も内径チャックに限定されるものではない。すなわち、ハンド10は、ワーク4を保持可能であれば様々な形態を有していてもよく、例えば、2本または複数の爪部を開閉することによってワーク4を把持する形態、或いは、ワーク4に対して吸引力を発生する電磁石または負圧発生装置を備えたものであってもよい。
さらに、センサ2は、それぞれのワーク4a〜4dの三次元位置および姿勢の情報を取得する三次元視覚センサであり、例えば、カメラ2台のステレオ方式、レーザスリット光を走査する方式、レーザスポット光を走査する方式、プロジェクタ等の装置を用いてパターン光を物品に投影する方式、光が投光機から出射されてからワーク4の表面で反射し受光器に入射するまでの時間を利用する方式等を適用したものであってもよい。また、センサ2の出力(2a)に基づいて、バラ積みされた複数のワーク4a〜4dの三次元位置および姿勢、並びに、コンテナ40の三次元形状等の計測を行う場合、例えば、三角計測法、光切断法、Time-of-flight法、Depth from Defocus法、または、これらを併用した方法を適用することができる。
なお、図1において、センサ(視覚センサ)2の出力(計測データ)2aは、ロボット制御装置3に入力され、ロボット制御装置3において画像処理等を行うようになっているが、センサ2の出力2aは、ロボット制御装置3とは別に設けた専用の画像処理装置等により処理し、その画像処理装置の出力をロボット制御装置3に入力するように構成してもよい。さらに、センサ2は、コンテナ40の中央部上方に固定して設けられているが、例えば、ロボット1の手先(先端部)に取り付けたハンドアイとして設けることもできる。
このように、図1に示すワーク取り出し装置500において、ロボット制御装置3は、バラ積みされた複数のワーク4a〜4d(4)の三次元位置および姿勢、並びに、コンテナ40の三次元形状等を測定するセンサ2の出力2aに基づいて、ロボット1の内径チャック10によりワーク4を保持する位置および姿勢の保持位置姿勢データを算出し、ロボット1および内径チャック10を制御して1つずつワーク4の取り出しを行うようになっている。
図2は、図1に示すワーク取り出し装置の動作の一例を説明するための図である。ここで、図2(a)は、図1に示すコンテナ40内に収納された4つのワーク4a〜4dにおいて、1つのワーク4cの中央部(穴の位置)にロボット1の内径チャック(ハンド)10を移動し、内径チャック10を開いてワーク4cを保持した様子を示す。また、図2(b)は、図2(a)で保持したワーク4cを持ち上げて取り出し動作を行う様子を示す。さらに、図2(c)は、コンテナ40内の4つのワーク4a〜4dにおいて、2つのワーク4cおよび4dの取り出し処理が終了した状態を示す。
上述したように、ワーク取り出し装置500は、センサ2の出力2aに基づいて、ロボット1の内径チャック10によりワーク4を保持する位置および姿勢の保持位置姿勢データを算出し、ロボット1および内径チャック10を制御して1つずつワーク4の取り出しを行う。しかしながら、例えば、図2(c)に示されるように、ワーク4bの上にワーク4aが乗った状態で、しかも、ワーク4aがコンテナ40の隅に立っている(ワーク4aがコンテナ40の壁面に鋭い角度で寄り掛かっている)場合、ワーク4aおよび4bのいずれも取り出すことが困難になる。
具体的に、ワーク4bに関して、例えば、ワーク4bの上にワーク4aが乗っているため、ワーク4bの中央部にロボット1の内径チャック10を移動させて穴に挿入するのが困難である。また、ワーク4aに関して、例えば、コンテナ40の壁面に鋭い角度で寄り掛かっているワーク4aの中央部にロボット1の内径チャック10を挿入しようとすると、ロボット1の一部がコンテナ40の壁に干渉し、或いは、内径チャック10を適切な角度で挿入するのが難しい。そのため、例えば、ロボット制御装置3は、ロボット1の内径チャック10によりワーク4aまたは4bを保持する保持位置姿勢データの算出に失敗することになる。このように、コンテナ40内にはワーク4aおよび4bが残存しているにも関わらず、これらのワーク4aおよび4bを取り出すことができない場合には、生産性の低下等を来すことになる。
以下、本発明に係るワーク取り出し装置およびワーク取り出し方法の実施例を、添付図面を参照して詳述する。図3は、第1実施例に係るワーク取り出し装置100を示すブロック図であり、ロボット制御装置3の構成を概略的に示すものである。また、図4は、図3に示すワーク取り出し装置の動作の一例を説明するための図であり、図4(a)は、ロボット1(ハンド10)がワーク(4a)に接近するアプローチ位置を示し、図4(b)は、ロボット1がワーク(4aおよび4b)の積載状態を改善する動作を開始する積載状態改善動作開始位置を示し、そして、図4(c)は、ロボット1がワーク(4aおよび4b)の積載状態を改善する動作を終了する積載状態改善動作終了位置を示す。なお、図4(a)は、前述した図2(c)に示すワーク4aまたは4bを保持する保持位置姿勢データの算出に失敗する状態に相当する。
すなわち、図4(a)〜図4(c)と、前述した図1および図2(a)〜図2(c)の比較から明らかなように、第1実施例に係るワーク取り出し装置100は、外見上、上述したワーク取り出し装置500と同様であるが、ロボット制御装置3の機能(構成)、すなわち、ロボット1(ロボット1のハンド(内径チャック)10)により保持することが可能なワークが存在しないときに行う積載状態改善動作の機能が異なっている。
図3に示されるように、第1実施例のワーク取り出し装置100において、ロボット制御装置3は、ロボット制御部30、保持位置姿勢算出部31および積載状態改善動作生成部32を備える。保持位置姿勢算出部31は、センサ2の出力(計測データ)2aに基づいて、ロボット1の内径チャック10によりワーク4(4a〜4d)を保持する位置および姿勢の保持位置姿勢データ31aを算出する。積載状態改善動作生成部32は、センサ2の出力(計測データ)2aに基づいて、ロボット1の内径チャック10によりワーク4の積載状態を改善する動作の積載状態改善動作データ32aを生成する。なお、ロボット制御部30は、保持位置姿勢算出部31および積載状態改善動作生成部32の出力2aに基づいてロボット1および内径チャック10を制御する。
すなわち、保持位置姿勢算出部31は、ロボット1(ロボット1の内径チャック10)により保持することが可能なワーク4が存在するとき、例えば、図1に示す4つのワーク4a〜4dにおけるワーク4cが存在するとき、センサ2の出力2aに基づいて、ワーク4cを保持するための保持位置姿勢データ31aを算出してロボット制御部30に出力し、ロボット1の内径チャック10(ロボット1)を制御してワーク4cの取り出し処理を行う。なお、このワーク4cの取り出し処理は、図2(a)および図2(b)を参照して説明したのと同様のものである。
これに対して、ロボット1の内径チャック10により保持することが可能なワーク4が存在しないとき、例えば、図2(c)に示されるように、残存する2つのワーク4aまたは4bを保持するための保持位置姿勢データの算出に失敗する場合、積載状態改善動作生成部32は、センサ2の出力2aおよび保持位置姿勢算出部31の出力に基づいて、ワーク4(4aおよび4b)の積載状態を改善するための積載状態改善動作データ32aを生成してロボット制御部30に出力し、ロボット1の内径チャック10(ロボット1)を制御してワーク4aおよび4bの積載状態の改善を行う。
ここで、積載状態改善動作生成部32が生成する積載状態改善動作データ32aとしては、例えば、図4(a)に示すロボット1(ロボット1の内径チャック10)がワーク4aに接近するアプローチ位置、図4(b)に示すロボット1がワーク4aおよび4bの積載状態を改善する動作を開始する積載状態改善動作開始位置、並びに、図4(c)に示すロボット1がワーク4aおよび4bの積載状態を改善する動作を終了する積載状態改善動作終了位置、のデータを含む。
さらに、積載状態改善動作データ32aとしては、例えば、ロボット1(ロボット1の内径チャック10)がアプローチ位置から積載状態改善動作開始位置まで移動する速度のデータ(第1速度データ)、および、ロボット1が積載状態改善動作開始位置から積載状態改善動作終了位置まで移動する速度のデータ(第2速度データ)を含んでもよい。なお、これらのデータは、単なる例であり、積載状態改善動作データ32aは、さらに他のデータを含んでもよいのはもちろんである。
このように、ロボット1の内径チャック10を、図4(b)に示す積載状態改善動作開始位置から図4(c)に示す積載状態改善動作終了位置まで移動させることにより、例えば、コンテナ40の壁面に鋭い角度で寄り掛かっているワーク4aは、下方向に押されて倒れる。その結果、例えば、保持位置姿勢算出部31は、積載状態改善動作が行われた後の(倒れた)ワーク4aに対する保持位置姿勢データ31aを算出して、ワーク4aの中央部(穴の位置)にロボット1の内径チャック10を移動して挿入することができ、ワーク4aを取り出すことが可能になる。
ここで、積載状態を改善する動作として、ワーク4を移動したり倒したりするために、ハンド(内径チャック)10によりバラ積みされたワーク4に外力を加える動作を示しているが、積載状態改善動作としては、例えば、ハンド10が吸引ハンドやマグネットハンドの場合には、任意のワーク4を仮保持してから落とす(開放する)といった動作を始めとして、様々な動作が可能なのはいうまでもない。また、例えば、積載状態改善動作を行っているとき、ロボットおよびハンドの少なくとも一方に掛かる負荷を計測し、積載状態改善動作中に、ロボット1およびハンド10の少なくとも一方に所定以上の負荷が掛かったら積載状態改善動作を停止(中断)して、ロボット1を退避させることでより安定的にシステムを稼働することが可能になる。さらに、積載状態改善動作にインピーダンス制御を適用することで、ワークに適切な外力を加えながら積載状態改善動作を行うことも可能になる。
なお、積載状態改善動作を行った後、例えば、ワーク4aではなくてワーク4bに対する保持位置姿勢データ31aの算出が可能な場合には、ワーク4bの取り出しを行うことができる。また、積載状態改善動作を行ったが、依然として、残存するワーク4aおよび4bのいずれに対しても保持位置姿勢データ31aの算出に失敗する場合には、再度、積載状態改善動作生成部32が生成する、さらなる積載状態改善動作データ32aに基づいて積載状態改善動作を行うことができるのはいうまでもない。このように、第1実施例のワーク取り出し装置100によれば、取り出すことが困難なワークの数を低減することができ、生産性の向上を図ることが可能になる。
すなわち、第1実施例のワーク取り出し装置によれば、例えば、コンテナ内にワークが残っているにも関わらずワークを取り出すことが難しいといった状態を打開して、取り出すことができるワークの数を向上することが可能になり、例えば、最後の1つのワークまで取り出すことができる。また、第1実施例のワーク取り出し装置によれば、例えば、コンテナを揺らすといった専用の装置を設けることなく、ロボットがハンドを用いて積載状態を改善し、ワークの取り出し動作を続けることが可能になる。なお、このような積載状態改善動作を、従来のティーチングプレイバックの枠組みで実現しようとすると、臨機応変な動作を予め全てプログラミングする必要があり、ユーザの高度な熟練と多大な作業時間を要するが、本実施例のワーク取り出し装置によれば、システム稼働中にロボット自身が積載状態改善動作を行うため、ユーザが簡単に安定的なシステムを立ちあげることが可能になる。これらの効果は、第1実施例のワーク取り出し装置に限定されるものではなく、後述する機械学習を適用した第2および第3実施例により、より一層大きなものとして得られることになる。
図5は、第1実施例に係るワーク取り出し装置によるワーク取り出し処理の一例を説明するためのフローチャートである。図5に示されるように、第1実施例のワーク取り出し装置100によるワーク取り出し処理の一例が開始すると、ステップST11において、センサ2の出力に基づく計測データ2aを取得し、ステップST12に進んで、保持位置姿勢算出部31により保持位置姿勢(保持位置姿勢データ31a)を算出してステップST13に進む。
ステップST13では、保持位置姿勢算出部31による保持位置姿勢算出が成功したかどうかを判定し、保持位置姿勢データ31aの算出に成功したと判定する(ST13:Yes)と、ステップST14に進んで、算出された保持位置姿勢データ31aに基づいてハンドリング動作(ロボット1の内径チャック10によるワーク4の保持および取り出し動作)を行い、ステップST15に進む。
ステップST15では、例えば、コンテナ40内に収納された複数のワーク4a〜4dの取り出しが全て終了したかどうかを判定し、全て終了したと判定する(ST15:Yes)と、ワーク取り出し処理を終了し、全て終了してはいないと判定する(ST15:No)と、ステップST11に戻って、同様の処理を繰り返す。
また、ステップST13において、保持位置姿勢の算出に失敗したと判定する(ST13:No)と、ステップST16に進んで、積載状態改善動作生成部32により積載状態改善動作(積載状態改善動作データ32a)を生成してステップST17に進む。ステップST17では、積載状態改善動作の価値関数を更新して、ステップST11に戻り、前述したのと同様の処理を繰り返す。ここで、ステップST16における積載状態改善動作データ32aの生成処理、および、ステップST17における価値関数の更処理新は、例えば、機械学習(深層学習,強化学習)を適用して行うことができる。
或いは、ステップST16における積載状態改善動作データ32aの生成処理、および、ステップST17における価値関数の更処理新としては、機械学習を適用せずに、例えば、予め設定された積載状態改善動作に基づいて、ロボット1およびハンド(内径チャック)10を制御することでワーク4の積載状態改善動作を行うこともできる。このとき、例えば、積載状態改善動作として、複数の積載状態改善動作データ32aを予め設定しておき、ステップST12で算出された保持位置姿勢データ31aにより最適な積載状態改善動作データを選択し、その選択された積載状態改善動作データに基づいて、積載状態改善動作を行うことができるのは、いうまでもない。
図6は、第2実施例に係るワーク取り出し装置200を示すブロック図であり、積載状態改善動作生成部32として機械学習装置(第2機械学習装置)5を適用したものに相当する。なお、図6では、図示されていないが、保持位置姿勢算出部31は、例えば、ロボット1およびセンサ2等が含まれる環境に設けられ、保持位置姿勢算出部31からの保持位置姿勢データ31aは、状態データ(状態変数,状態量)として機械学習装置5に入力される。また、機械学習装置5は、例えば、ロボット制御部30および保持位置姿勢算出部31を含むロボット制御装置3(図示しない)に内蔵することもできるが、ロボット制御装置3とは別に専用の装置として設けることもできる。なお、図6では、ワーク4として円柱形状のものを示し、ハンド10として2本の爪部を開閉することによってワーク4を把持するものを示すが、これらは様々なものであってもよいのは前述した通りである。
図6に示されるように、第2実施例のワーク取り出し装置200において、機械学習装置5は、例えば、図3に示す第1実施例のワーク取り出し装置100における積載状態改善動作生成部32の機能を実現するものであり、状態観測部(第2状態観測部)51、判定データ取得部(第2判定データ取得部)52、学習部(第2学習部)53、および、意思決定部54を備える。状態観測部51は、センサ2の出力である計測データ2a、および、保持位置姿勢算出部(31)の出力に基づくワーク4それぞれの保持位置姿勢データ31aを、状態データとして観測する。
判定データ取得部52は、計測データ2aに基づくワーク4の積載状態を改善する動作の前後における積載状態の変化の有無、並びに、ワーク4の積載状態を改善する動作を行った後におけるワーク4それぞれの保持位置姿勢データ31aを、判定データとして取得する。意思決定部54は、学習部53からの出力を参照し、ロボット1(ハンド10)に対してワーク4の積載状態を改善する動作を決定する。
学習部53は、報酬計算部(第2報酬計算部)531および価値関数更新部(第2価値関数更新部)532を備え、状態観測部51からの出力および判定データ取得部52からの出力を受け取って、ワーク4の積載状態を改善する動作を学習する。ここで、報酬計算部531は、判定データ取得部52の出力であるワーク4の積載状態を改善する動作の前後における積載状態の変化の有無、並びに、ワーク4の積載状態を改善する動作を行った後におけるワーク4それぞれの保持位置姿勢データ31aに基づいて報酬を計算する。また、価値関数更新部532は、ワーク4の積載状態を改善する動作の価値を定める価値関数を有し、報酬に応じて価値関数を更新する。
すなわち、報酬計算部531は、例えば、ワーク4の積載状態を改善する動作の前後における積載状態の変化が有ればプラスの報酬を設定し、積載状態の変化が無ければマイナスの報酬を設定(第3報酬設定)する。また、報酬計算部531は、例えば、ワーク4の積載状態を改善する動作を行った後におけるワーク4それぞれの保持位置姿勢データ31aの算出に成功すればプラスの報酬を設定し、保持位置姿勢データ31aの算出に失敗すればマイナスの報酬を設定(第4報酬設定)する。なお、報酬計算部531は、第3報酬設定および第4報酬設定の両方を行ってもよいが、どちらか一方を行ってもよい。
このように、第2実施例のワーク取り出し装置200によれば、ロボット1のハンド10による保持および取り出し(ハンドリング)が困難なワーク4が残存している場合でも、機械学習装置5を適用することでワーク4の積載状態を改善する動作を更新し、ハンドリングが可能な状態にすることができる。これにより、取り出すことが困難なワークの数を低減して生産性の向上を図ることが可能になる。
ここで、機械学習装置5は、それぞれのロボット1を制御するロボット制御装置3(エッジ)に対して設けてもよいが、例えば、複数のロボット1(ロボットシステム)を有する工場ごと(例えば、フォグサーバ)、或いは、複数の工場とインターネット等の通信回線を介して接続されたクラウドサーバに設けることもできる。なお、それぞれのロボットに対して設けられた機械学習装置5は、例えば、少なくとも1つの他の機械学習装置(5)と接続可能とされ、その少なくとも1つの他の機械学習装置(5)との間で機械学習の結果を相互に交換または共有することも可能である。
ところで、機械学習装置5は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準等を解析により抽出し、その判断結果を出力するとともに、知識の学習(機械学習)を行う機能を有する。機械学習の手法は様々であるが、大別すれば、例えば、「教師あり学習」、「教師なし学習」および「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習(ディープラーニング:Deep Learning)」と呼ばれる手法がある。
なお、図6に示す機械学習装置5は、「強化学習(Q学習)」を適用したものである。この機械学習装置5は、汎用の計算機若しくはプロセッサを用いることもできるが、例えば、GPGPU(General-Purpose computing on Graphics Processing Units)や大規模PCクラスター等を適用すると、より高速に処理することが可能になる。ここで、機械学習の全般に関して、概略を説明する。
まず、教師あり学習とは、教師データ、すなわち、ある入力と結果(ラベル)のデータの組を大量に機械学習装置に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル(誤差モデル)、すなわち、その関係性を帰納的に獲得するものである。例えば、後述のニューラルネットワーク等のアルゴリズムを用いて実現することが可能である。
また、教師なし学習とは、入力データのみを大量に機械学習装置に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮・分類・整形等を行う装置で学習する手法である。例えば、それらのデータセットにある特徴を、似た者どうしにクラスタリングすること等ができる。この結果を使って、何らかの基準を設けてそれを最適化するような出力の割り当てを行うことにより、出力の予測を実現することができる。
なお、教師なし学習と教師あり学習との中間的な問題設定として、半教師あり学習と呼ばれるものもあり、これは、例えば、一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合が対応する。
次に、強化学習について、説明する。まず、強化学習の問題設定として、次のように考える。
・ワーク取り出し装置(すなわち、ロボット1およびロボット制御装置(ロボット制御部30および機械学習装置5を含む)3)200は、環境の状態を観測し、行動を決定する。
・環境は、何らかの規則に従って変化し、さらに、自分の行動が、環境に変化を与えることもある。
・行動するたびに、報酬信号が帰ってくる。
・最大化したいのは、将来にわたっての(割引)報酬の合計である。
・行動が引き起こす結果を全く知らない、または、不完全にしか知らない状態から学習はスタートする。すなわち、ロボット制御部は、実際に行動して初めて、その結果をデータとして得ることができる。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・人間の動作を真似るように、事前学習(前述の教師あり学習や、逆強化学習といった手法)した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
ここで、強化学習とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、すなわち、将来的に得られる報酬を最大にするための学習する方法を学ぶものである。以下に、例として、Q学習の場合で説明を続けるが、Q学習に限定されるものではない。
Q学習は、或る環境状態sの下で、行動aを選択する価値Q(s,a)を学習する方法である。つまり、或る状態sのとき、価値Q(s,a)の最も高い行動aを最適な行動として選択すればよい。しかし、最初は、状態sと行動aとの組合せについて、価値Q(s,a)の正しい値は全く分かっていない。そこで、エージェント(行動主体)は、或る状態sの下で様々な行動aを選択し、その時の行動aに対して、報酬が与えられる。それにより、エージェントは、より良い行動の選択、すなわち、正しい価値Q(s,a)を学習していく。
さらに、行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にQ(s,a)=E[Σ(γt)rt]となるようにすることを目指す。ここで、期待値は、最適な行動に従って状態変化したときについてとるものとし、それは、分かっていないので、探索しながら学習することになる。このような価値Q(s,a)の更新式は、例えば、次の式(1)により表すことができる。
Figure 0006453922
上記の式(1)において、stは、時刻tにおける環境の状態を表し、atは、時刻tにおける行動を表す。行動atにより、状態はst+1に変化する。rt+1は、その状態の変化により得られる報酬を表している。また、maxの付いた項は、状態st+1の下で、その時に分かっている最もQ値の高い行動aを選択した場合のQ値にγを乗じたものになる。ここで、γは、0<γ≦1のパラメータで、割引率と呼ばれる。また、αは、学習係数で、0<α≦1の範囲とする。
上述した式(1)は、試行atの結果、帰ってきた報酬rt+1を元に、状態stにおける行動atの評価値Q(st,at)を更新する方法を表している。すなわち、状態sにおける行動aの評価値Q(st,at)よりも、報酬rt+1 + 行動aによる次の状態における最良の行動max aの評価値Q(st+1,max at+1)の方が大きければ、Q(st,at)を大きくし、反対に小さければ、Q(st,at)を小さくすることを示している。つまり、或る状態における或る行動の価値を、結果として即時帰ってくる報酬と、その行動による次の状態における最良の行動の価値に近付けるようにしている。
ここで、Q(s,a)の計算機上での表現方法は、すべての状態行動ペア(s,a)に対して、その値をテーブルとして保持しておく方法と、Q(s,a)を近似するような関数を用意する方法がある。後者の方法では、前述の式(1)は、確率勾配降下法等の手法で近似関数のパラメータを調整していくことにより、実現することができる。なお、近似関数としては、後述のニューラルネットワークを用いることができる。
また、強化学習での価値関数の近似アルゴリズムとして、ニューラルネットワークを用いることができる。図7は、ニューロンのモデルを模式的に示す図であり、図8は、図7に示すニューロンを組み合わせて構成した三層のニューラルネットワークを模式的に示す図である。すなわち、ニューラルネットワークは、例えば、図7に示すようなニューロンのモデルを模した演算装置およびメモリ等で構成される。
図7に示されるように、ニューロンは、複数の入力x(図7では、一例として入力x1〜x3)に対する出力(結果)yを出力するものである。各入力x(x1,x2,x3)には、この入力xに対応する重みw(w1,w2,w3)が乗算される。これにより、ニューロンは、次の式(2)により表現される結果yを出力する。なお、入力x、結果yおよび重みwは、すべてベクトルである。また、下記の式(2)において、θは、バイアスであり、fkは、活性化関数である。
Figure 0006453922
図8を参照して、図7に示すニューロンを組み合わせて構成した三層のニューラルネットワークを説明する。図8に示されるように、ニューラルネットワークの左側から複数の入力x(ここでは、一例として、入力x1〜入力x3)が入力され、右側から結果y(ここでは、一例として、結果y1〜入力y3)が出力される。具体的に、入力x1,x2, x3は、3つのニューロンN11〜N13の各々に対して、対応する重みが掛けられて入力される。これらの入力に掛けられる重みは、まとめてW1と標記されている。
ニューロンN11〜N13は、それぞれ、z11〜z13を出力する。図8において、これらz11〜z13は、まとめて特徴ベクトルZ1と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルZ1は、重みW1と重みW2との間の特徴ベクトルである。z11〜z13は、2つのニューロンN21およびN22の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてW2と標記されている。
ニューロンN21,N22は、それぞれz21,z22を出力する。図8において、これらz21,z22は、まとめて特徴ベクトルZ2と標記されている。この特徴ベクトルZ2は、重みW2と重みW3との間の特徴ベクトルである。z21,z22は、3つのニューロンN31〜N33の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてW3と標記されている。
最後に、ニューロンN31〜N33は、それぞれ、結果y1〜結果y3を出力する。ニューラルネットワークの動作には、学習モードと価値予測モードとがある。例えば、学習モードにおいて、学習データセットを用いて重みWを学習し、そのパラメータを用いて予測モードにおいて、ロボット制御部の行動判断を行う。なお、便宜上、予測と書いたが、検出・分類・推論等多様なタスクが可能なのはいうまでもない。
ここで、予測モードで実際にロボット制御部を動かして得られたデータを即時学習し、次の行動に反映させる(オンライン学習)ことも、予め収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う(バッチ学習)こともできる。或いは、その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。
また、重みW1〜W3は、誤差逆伝搬法(誤差逆転伝播法:バックプロパゲーション:Backpropagation)により学習可能なものである。なお、誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力xが入力されたときの出力yと真の出力y(教師)との差分を小さくするように、それぞれの重みを調整(学習)する手法である。このようなニューラルネットワークは、三層以上に、さらに層を増やすことも可能である(深層学習と称される)。また、入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することも可能である。
ここで、図6を参照して説明したように、本実施例の機械学習装置5は、例えば、Q学習を実施すべく、状態観測部51、判定データ取得部52,学習部53、および、意思決定部54を備えている。ただし、本発明に適用される機械学習方法は、Q学習に限定されるものではなく、また、機械学習装置5は、例えば、GPGPUや大規模PCクラスター等を適用することで実現可能なのは、前述した通りである。
図9は、第2実施例に係るワーク取り出し装置によるワーク取り出し処理の一例を説明するためのフローチャートであり、積載状態改善動作(積載状態改善処理)の一例を説明するためのものである。図9に示されるように、第2実施例のワーク取り出し装置200によるワーク取り出し処理(積載状態改善処理)の一例が開始すると、ステップST21において、状態データ(センサ2の出力に基づく計測データ2a)を取得し、ステップST22に進んで、行動出力を行い、さらに、ステップST23に進む。
ここで、ステップST22における行動出力は、前述した図3における積載状態改善動作生成部32が生成する積載状態改善動作データ32aに相当するもので、例えば、前述した図4(a)に示すロボット1がワーク4に接近するアプローチ位置、図4(b)に示すロボット1がワーク4の積載状態を改善する動作を開始する積載状態改善動作開始位置、および、図4(c)に示すロボット1がワーク4の積載状態を改善する動作を終了する積載状態改善動作終了位置、のデータに基づく行動を行うことに対応する。さらに、ステップST22における行動出力は、さらに、例えば、前述したロボット1がアプローチ位置から積載状態改善動作開始位置まで移動する速度のデータ(第1速度データ)、および、ロボット1が積載状態改善動作開始位置から積載状態改善動作終了位置まで移動する速度のデータ(第2速度データ)に基づく行動を含んでもよい。
ステップST23では、ステップST22の行動出力に基づく判定データを取得し、ステップST24の判定条件1による判定、並びに、ステップST27の判定条件2による判定を行う。すなわち、ステップST23における判定データの取得は、例えば、積載状態改善動作を行う前の計測データと積載状態改善動作を行った後の計測データを比較して得られる積載状態の変化の有無(判定条件1)、並びに、積載状態改善動作を行った後の計測データを用いて保持位置姿勢の算出を行ったときの成否(判定条件2)を取得する。
まず、ステップST24では、ステップST23で取得したワーク4の積載状態を改善する動作の前後における積載状態の変化の有無のデータに基づいて、例えば、ワーク4の積載状態を改善する動作の前後における積載状態の変化が有ると判定すると、ステップST25に進んで、プラスの報酬を設定し、積載状態の変化が無いと判定すると、ステップST26に進んで、マイナスの報酬を設定する。
また、ステップST27では、ステップST23で取得したワーク4の積載状態を改善する動作を行った後におけるワーク4それぞれの保持位置姿勢(保持位置姿勢データ31a)に基づいて、例えば、ワーク4の積載状態を改善する動作を行った後におけるワーク4それぞれの保持位置姿勢データ31aの算出に成功したと判定すると、ステップST28に進んで、プラスの報酬を設定し、保持位置姿勢データ31aの算出に失敗したと判定すると、ステップST29に進んで、マイナスの報酬を設定する。
なお、ステップST24における判定は、ワーク4の積載状態を改善する動作の前後における積載状態の変化の有無ではなく、積載状態の変化の程度により報酬を決めてもよい。具体的に、例えば、積載状態の変化の程度LVを、2つの閾値TH1,TH2(ただし、TH1>TH2)で分割し、積載状態の変化LVが閾値TH1よりも大きければプラスの報酬(LV>TH1:報酬+5)を設定し、積載状態の変化LVが閾値TH1とTH2の間であれば零の報酬(TH1≧LV≧TH2:報酬0)を設定し、積載状態の変化LVが閾値TH2よりも小さければマイナスの報酬(TH2>LV:報酬−5)を設定することもできる。また、積載状態の変化の程度LVは、例えば、計測データが距離画像であった場合、距離画像上で変化のあった画素数をカウントしても良いし、画素の変化量を畳み込んでも良く、その手法は問わない。
さらに、ステップST24の判定条件1による判定と、ステップST27の判定条件2による判定で重みを異ならせることも可能である。具体的に、例えば、判定条件2による保持位置姿勢データ31aの算出に成功した場合のステップST28におけるプラスの報酬(例えば、+10)を、判定条件1による積載状態の変化が有った場合のステップST25におけるプラスの報酬(例えば、+5)よりも大きく設定することができる。これは、判定条件1による積載状態の変化が有った場合でも、判定条件2による保持位置姿勢データ31aの算出に成功しないと、ワーク4を保持して取り出すことが困難なため、判定条件2による判定結果(報酬)の重みを大きくするのが好ましいからである。なお、判定条件としては、ステップST24の判定条件1およびステップST27の判定条件2に限定されず、他の条件を追加してもよく、或いは、判定条件1または判定条件2のいずれかであってもよいのはもちろんである。
次に、ステップST30に進んで、ステップST24の判定条件1による判定およびステップST27の判定条件2による判定に基づいて、すなわち、ステップST25,ST26,ST28およびST29による報酬の合計に基づいて、ワーク4の積載状態を改善する動作の価値を定める価値関数を更新し、ステップST31に進む。ステップST31では、積載状態改善処理を継続するかどうかを判定し、さらに継続すると判定する(ST31:Yes)と、ステップST21に戻って、上述した処理を繰り返し、継続しないと判定する(ST31:No)と、積載状態改善処理を終了する。このように、機械学習(強化学習)を適用して積載状態改善処理を行うことにより、取り出すことが困難なワークの数を、より一層低減することが可能になる。
図10は、第3実施例に係るワーク取り出し装置300を示すブロック図であり、ロボット制御装置3の構成を概略的に示すものである。図10と、前述した図3の比較から明らかなように、第3実施例のワーク取り出し装置300において、ロボット制御装置3は、ロボット制御部30、少なくとも1つの保持位置姿勢算出部31-1〜31-nおよび少なくとも1つ積載状態改善動作生成部32-1〜32-mを含む動作候補出力部33、および、動作決定部34を備える。
動作決定部34は、動作候補出力部33の出力に基づいて、ロボット制御部30を介してロボット1を制御する。ここで、動作決定部34は、機械学習(強化学習)を行ってロボット1によりワーク(4)の積載状態を改善する動作を学習する機械学習装置6を備える。
図11は、第3実施例に係るワーク取り出し装置300を示すブロック図であり、動作決定部34として機械学習装置6を適用したものに相当する。なお、第3実施例に係るワーク取り出し装置300における機械学習装置(第1機械学習装置)6は、図6を参照して説明した第2実施例に係るワーク取り出し装置200における機械学習装置(第2機械学習装置)5に対応するものであり、例えば、図7および図8等を参照して説明したのと同様に、例えば、ニューラルネットワークにより構成することができ、また,GPGPUや大規模PCクラスター等を適用することで実現可能である。さらに、機械学習装置6により学習された少なくとも1つ以上の動作候補から1つの動作を決定する動作決定は、通信媒体を介して複数の対応する機械学習装置(6)で相互にデータを共有または交換することができるのも、第2実施例と同様である。また、機械学習装置6は、例えば、ロボット制御部30および保持位置姿勢算出部31-1〜31-n等を含むロボット制御装置3(図示しない)に内蔵することもできるが、ロボット制御装置3とは別に専用の装置として設けることもできる。
図11に示されるように、機械学習装置6は、状態観測部(第1状態観測部)61、判定データ取得部(第1判定データ取得部)62、学習部(第1学習部)63、および、意思決定部54を備える。ここで、状態観測部61は、例えば、センサ2の出力に基づくワーク4それぞれの計測データ2a、少なくとも1つの保持位置姿勢算出部31-1〜31-nの出力に基づく保持位置姿勢データ31a-1〜31a-n、および、少なくとも1つの積載状態改善動作生成部32-1〜32-mの出力に基づく積載状態改善動作データ32a-1〜32a-mを、状態データとして観測する。また、判定データ取得部62は、例えば、ロボット1によるワーク4のハンドリング(ハンドリング動作)に関連する時間データを、判定データとして取得する。そして、学習部63は、例えば、状態観測部61からの出力および判定データ取得部62からの出力を受け取ってワーク4の積載状態を改善する動作を学習する。
第1学習部63は、判定データ取得部62の出力であるワーク4のハンドリングに関連する時間データに基づいて報酬を計算する報酬計算部(第1報酬計算部)631)、並びに、少なくとも1つの動作候補から1つの動作を決定する動作決定の価値を定める価値関数を有し、報酬に応じて価値関数を更新する価値関数更新部(第1価値関数更新部)632を備える。ここで、報酬計算部631は、例えば、1つのワーク4のハンドリングに要した時間を平均した平均サイクルタイムが短くなればプラスの報酬を設定し、平均サイクルタイムが長くなればマイナスの報酬を設定(第1報酬設定)する。また、報酬計算部631は、例えば、1つのワーク4のハンドリングに要した時間の分散を示す分散サイクルタイムが小さくなればプラスの報酬を設定し、分散サイクルタイムが大きくなればマイナスの報酬を設定(第2報酬設定)する。なお、報酬計算部631は、第1報酬設定および第2報酬設定の両方を行ってもよいが、どちらか一方を行ってもよい。なお、第3実施例のワーク取り出し装置300において、積載状態改善動作生成部32-1〜32-mは、例えば、前述した第2実施例のように機械学習装置5を適用して積載状態改善動作データ32a-1〜32a-mを生成するように構成してもよい。
図12および図13は、第3実施例に係るワーク取り出し装置によるワーク取り出し処理の一例を説明するためのフローチャートであり、図12は、全体的な処理の流れを説明するものであり、図13は、機械学習(強化学習)による動作決定処理を説明するためのものである。
まず、図12に示されるように、第3実施例のワーク取り出し装置300によるワーク取り出しの全体的な処理の一例が開始すると、ステップST41において、センサ2の出力に基づく計測データ2aを取得し、ステップST42に進んで、1以上(少なくとも1つ)の保持位置姿勢の候補および1以上の積載状態改善動作の候補(動作候補群)を出力し、ステップST43に進む。ステップST43では、例えば、複数の保持位置姿勢および積載状態改善動作から、どの動作を行うかを決定し、ステップST44に進む。
ステップST44では、ハンドリング動作(例えば、ロボット1および内径チャック(ハンド)10でワーク4を取り出す一連の動作)を行うかどうかを判定し、ハンドリング動作を行うと判定する(ST44:Yes)と、ステップST45に進んで、ハンドリング動作を行って、ステップST47に進む。また、ステップST44において、ハンドリング動作を行わないと判定する(ST44:No)と、ステップST46に進んで、積載状態改善動作を行って、ステップST47に進む。
ここで、機械学習(強化学習)を行う場合、取り出し動作(ハンドリング動作)であれば、例えば、取り出し成功の有無を機械学習装置6に入力し、また、積載状態改善動作であれば、例えば、積載状態変更の有無を機械学習装置6に入力する。なお、ハンドリング動作および積載状態改善動作のどちらであっても、例えば、システム開始(処理を開始)してからの累計経過時間、システム開始してからの累計取出し成功数、および、計測データ2a等を機械学習装置6に入力する。
ステップST47では、少なくとも1つの動作候補から1つの動作を決定する動作決定の価値関数を更新して、ステップST48に進み、例えば、全てのワークの取り出しが終了したかどうかを判定し、全てのワークの取り出しが終了したと判定する(ST48:Yes)と、処理を終了し、全てのワークの取り出しが終了していないと判定する(ST48:No)と、ステップST41に戻り、前述したのと同様の処理を繰り返す。ここで、計測データ2aは、例えば、機械学習装置6による学習で用いたものを流用してもよい。
次に、図13に示されるように、第3実施例のワーク取り出し装置300(機械学習装置6)による動作決定処理の一例が開始すると、ステップST51において、状態データを取得し、ステップST52に進んで、行動出力を行い、さらに、ステップST53に進む。ここで、ステップST51で取得する状態データは、例えば、センサ2の出力に基づく計測データ2a,少なくとも1つの保持位置姿勢算出部31-1〜31-nの出力に基づく少なくとも1つの保持位置姿勢データ31a-1〜31a-n、および、少なくとも1つの積載状態改善動作生成部32-1〜32-mの出力に基づく少なくとも1つの積載状態改善動作データ32a-1〜32a-m等である。
また、ステップST52における行動出力は、動作候補部が出力した少なくとも1つの動作候補から1つの動作を決定することに対応する。さらに、ステップST52における行動出力は、例えば、ロボット1が動作決定に基づいて、取り出し動作または積載状態改善動作を行うことを含む。
ステップST53では、ステップST52の行動出力に基づく判定データを取得し、ステップST54の判定条件Aによる判定、並びに、ステップST57の判定条件Bによる判定を行う。すなわち、ステップST53における判定データの取得は、例えば、1つのワーク4のハンドリングに要した時間を平均した平均サイクルタイム(判定条件A)、並びに、1つのワーク4のハンドリングに要した時間の分散を示す分散サイクルタイム(判定条件B)を取得する。
まず、ステップST54では、ステップST53で取得した1つのワーク4のハンドリングに要した時間を平均した平均サイクルタイムに基づいて、例えば、平均サイクルタイムが短くなったと判定すると、ステップST55に進んで、プラスの報酬を設定し、平均サイクルタイムが長くなったと判定すると、ステップST56に進んで、マイナスの報酬を設定する。すなわち、平均サイクルタイムは、短い方が単位時間当たりに処理できるワークの数が多くなるため、平均サイクルタイムが短くなると、プラスの報酬を設定するようになっている。
また、ステップST57では、ステップST53で取得した、1つのワーク4のハンドリングに要した時間の分散を示す分散サイクルタイムに基づいて、例えば、分散サイクルタイムが小さくなったと判定すると、ステップST58に進んで、プラスの報酬を設定し、分散サイクルタイムが大きくなったと判定すると、ステップST59に進んで、マイナスの報酬を設定する。すなわち、分散サイクルタイム(サイクルタイムの分散)は、小さい方が一定の間隔で安定してハンドリングを行うことができるため、分散サイクルタイムが小さくなると、プラスの報酬を設定するようになっている。
さらに、ステップST60に進んで、ステップST54の判定条件Aによる判定およびステップST57の判定条件Bによる判定に基づいて、すなわち、ステップST55,ST56,ST58およびST59による報酬の合計に基づいて、動作決定の価値関数を更新し、ステップST61に進む。ステップST61では、動作決定処理を継続するかどうかを判定し、さらに継続すると判定する(ST61:Yes)と、ステップST51に戻って、上述した処理を繰り返し、継続しないと判定する(ST61:No)と、動作決定処理を終了する。このように、機械学習(強化学習)を適用して動作決定処理を行うことにより、取り出すことが困難なワークの数を、より一層低減することが可能になる。
なお、ステップST54の判定条件Aによる判定と、ステップST57の判定条件Bによる判定で重みを異ならせることも可能であり、例えば、判定条件Aによる判定結果(報酬)の重みを大きくすることで、単位時間当たりにワークを取り出すことができる数を重要視して機械学習を行わせることが可能になる。また、判定条件としては、ステップST54の判定条件AおよびステップST57の判定条件Bに限定されず、他の条件を追加してもよく、或いは、判定条件Aまたは判定条件Bのいずれかであってもよいのはいうまでもない。
以上、詳述したように、各実施例によれば、取り出すことが困難なワークの数を低減することができ、例えば、最後のワークまで取り出すことが可能になり、その結果、生産性の向上を図ることができる。
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではない。また、明細書のそのような記載は、発明の利点および欠点を示すものでもない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
1 ロボット
2 センサ
3 ロボット制御装置
4,4a〜4d ワーク
5 機械学習装置(第2機械学習装置)
6 機械学習装置(第1機械学習装置)
10 内径チャック(ハンド)
30 ロボット制御部
31 保持位置姿勢算出部
32 積載状態改善動作生成部
40 コンテナ
51 状態観測部(第2状態観測部)
52 判定データ取得部(第2判定データ取得部)
53 学習部(第2学習部)
54,64 意思決定部
61 状態観測部(第1状態観測部)
62 判定データ取得部(第1判定データ取得部)
63 学習部(第1学習部)
100,20,300,500 ワーク取り出し装置
531 報酬計算部(第2報酬計算部)
532 価値関数更新部(第2価値関数更新部)
631 報酬計算部(第1報酬計算部)
632 価値関数更新部(第1価値関数更新部)

Claims (13)

  1. 三次元空間にバラ積みされた複数のワークを計測するセンサと、
    前記ワークを保持するロボットと、
    前記ロボットに取り付けられたワークを保持可能なハンドと、
    前記センサの出力に基づいて、前記ロボットにより前記ワークを保持する位置および姿勢の保持位置姿勢データを算出する保持位置姿勢算出部と、
    前記センサの出力に基づいて、前記ロボットにより前記ワークの積載状態を改善する動作の積載状態改善動作データを生成する積載状態改善動作生成部と、
    前記ロボットおよび前記ハンドを制御するロボット制御部と、
    少なくとも1つの前記保持位置姿勢算出部、および、少なくとも1つの前記積載状態改善動作生成部を含み少なくとも1つの動作候補を出力する動作候補出力部と、
    前記動作候補出力部の出力の少なくとも1つの動作候補から1つの動作を決定し、その決定された動作に基づいて前記ロボット制御部を介して前記ロボットを制御する動作決定部と、を備え、
    前記ロボット制御部は、前記保持位置姿勢算出部および前記積載状態改善動作生成部の出力に基づいて、前記ロボットおよび前記ハンドを制御することで前記ワークの取り出しもしくは積載状態改善動作を行い、
    前記動作決定部は、機械学習を行って前記動作候補出力部が出力する少なくとも1つの動作候補から1つの動作を決定する動作決定を学習する第1機械学習装置を備え、前記第1機械学習装置は、
    前記センサで取得される計測データ、少なくとも1つの前記保持位置姿勢算出部の出力に基づく保持位置姿勢データ、および、少なくとも1つの前記積載状態改善動作生成部の出力に基づく積載状態改善動作データを、状態データとして観測する第1状態観測部と、
    前記センサで計測し、前記ロボットおよび前記ハンドでワークを取り出す一連の動作であるハンドリングに関連する時間データを、判定データとして取得する第1判定データ取得部と、
    前記第1状態観測部が取得する状態データおよび前記第1判定データ取得部が取得する判定データに基づいて、前記動作候補出力部が出力する少なくとも1つの動作候補から1つの動作を決定する動作決定を学習する第1学習部と、を備える、
    ことを特徴とするワーク取り出し装置。
  2. 前記保持位置姿勢算出部は、前記ロボットにより保持することが可能な前記ワークが存在するとき、前記保持位置姿勢データを前記ロボット制御部に出力し、
    前記積載状態改善動作生成部は、前記ロボットにより保持することが可能な前記ワークが存在しないとき、前記ロボット制御部に対して前記積載状態改善動作データを前記ロボット制御部に出力する、
    ことを特徴とする請求項1に記載のワーク取り出し装置。
  3. 前記第1学習部は、
    前記第1判定データ取得部が取得する判定データである時間データに基づいて報酬を計算する第1報酬計算部と、
    前記少なくとも1つの動作候補から動作を決定する動作決定の価値を定める価値関数を有し、前記報酬に応じて前記価値関数を更新する第1価値関数更新部と、を備え、前記動作決定部は前記価値関数に基づいて動作決定を行う、
    ことを特徴とする請求項1または請求項2に記載のワーク取り出し装置。
  4. 前記第1報酬計算部は、
    1つの前記ワークのハンドリングに要した時間を平均した平均サイクルタイムが短くなればプラスの報酬を設定し、前記平均サイクルタイムが長くなればマイナスの報酬を設定する第1報酬設定と、
    1つの前記ワークのハンドリングに要した時間の分散を示す分散サイクルタイムが小さくなればプラスの報酬を設定し、前記分散サイクルタイムが大きくなればマイナスの報酬を設定する第2報酬設定、の少なくとも一方を行う、
    ことを特徴とする請求項に記載のワーク取り出し装置。
  5. 三次元空間にバラ積みされた複数のワークを計測するセンサと、
    前記ワークを保持するロボットと、
    前記ロボットに取り付けられたワークを保持可能なハンドと、
    前記センサの出力に基づいて、前記ロボットにより前記ワークを保持する位置および姿勢の保持位置姿勢データを算出する保持位置姿勢算出部と、
    前記センサの出力に基づいて、前記ロボットにより前記ワークの積載状態を改善する動作の積載状態改善動作データを生成する積載状態改善動作生成部と、
    前記ロボットおよび前記ハンドを制御するロボット制御部と、を備え、
    前記ロボット制御部は、前記保持位置姿勢算出部および前記積載状態改善動作生成部の出力に基づいて、前記ロボットおよび前記ハンドを制御することで前記ワークの取り出しもしくは積載状態改善動作を行い、
    前記積載状態改善動作生成部は、機械学習を行って前記ロボットにより前記ワークの積載状態を改善する動作を学習する第2機械学習装置を備え、前記第2機械学習装置は、
    前記センサの出力に基づく前記ワークそれぞれの計測データ、および、前記保持位置姿勢算出部の出力に基づく前記ワークそれぞれの前記保持位置姿勢データを、状態データとして観測する第2状態観測部と、
    前記計測データに基づいて、前記ワークの積載状態を改善する動作の前後における前記積載状態の変化の有無、および、前記ワークの積載状態を改善する動作を行った後における前記ワークそれぞれの前記保持位置姿勢データを、判定データとして取得する第2判定データ取得部と、
    前記第2状態観測部からの出力および前記第2判定データ取得部からの出力を受け取って、前記ワークの積載状態を改善する動作を学習する第2学習部と、を備える、
    ことを特徴とするワーク取り出し装置。
  6. 前記第2学習部は、
    前記第2判定データ取得部の出力である前記ワークの積載状態を改善する動作の前後における前記積載状態の変化の有無、および、前記ワークの積載状態を改善する動作を行った後における前記ワークそれぞれの前記保持位置姿勢データに基づいて報酬を計算する第2報酬計算部と、
    前記ワークの積載状態を改善する動作の価値を定める価値関数を有し、前記報酬に応じて前記価値関数を更新する第2価値関数更新部と、を備え、
    前記積載状態改善動作生成部は第2価値関数に基づいて積載状態改善動作データを生成する、
    ことを特徴とする請求項に記載のワーク取り出し装置。
  7. 前記第2報酬計算部は、
    前記ワークの積載状態を改善する動作の前後における前記積載状態の変化が有ればプラスの報酬を設定し、前記積載状態の変化が無ければマイナスの報酬を設定する第3報酬設定と、
    前記ワークの積載状態を改善する動作を行った後における前記ワークそれぞれの前記保持位置姿勢データの算出に成功すればプラスの報酬を設定し、前記保持位置姿勢データの算出に失敗すればマイナスの報酬を設定する第4報酬設定、の少なくとも一方を行う、
    ことを特徴とする請求項に記載のワーク取り出し装置。
  8. 前記第1機械学習装置により学習された動作決定、或いは、前記第2機械学習装置により学習された前記ワークの積載状態を改善する動作は、通信媒体を介して複数の対応する第1または第2機械学習装置で相互にデータを共有または交換するようになっている、
    ことを特徴とする請求項乃至請求項のいずれか1項に記載のワーク取り出し装置。
  9. 前記積載状態改善動作データは、
    前記ロボットが前記ワークに接近するアプローチ位置、
    前記ロボットが前記ワークの積載状態を改善する動作を開始する積載状態改善動作開始位置、および、
    前記ロボットが前記ワークの積載状態を改善する動作を終了する積載状態改善動作終了位置、のデータを含む、
    ことを特徴とする請求項1乃至請求項のいずれか1項に記載のワーク取り出し装置。
  10. 前記積載状態改善動作データは、さらに、
    前記ロボットが、前記アプローチ位置から前記積載状態改善動作開始位置まで移動する第1速度データ、および、
    前記ロボットが、前記積載状態改善動作開始位置から前記積載状態改善動作終了位置まで移動する第2速度データ、を含む、
    ことを特徴とする請求項に記載のワーク取り出し装置。
  11. 前記ハンドは、マグネットハンドまたは吸着ハンドであり、
    前記積載状態改善動作は、前記載状態改善動作開始位置で前記ワークを仮保持し、前記載状態改善動作終了位置で前記ワークを解放する、
    ことを特徴とする請求項または請求項10に記載のワーク取り出し装置。
  12. 前記積載状態改善動作を行っているとき、前記ロボットおよび前記ハンドの少なくとも一方に掛かる負荷を計測し、前記積載状態改善動作中に、前記ロボットおよび前記ハンドの少なくとも一方に所定以上の負荷が掛かったら前記積載状態改善動作を中断して前記ロボットを退避させる、
    ことを特徴とする請求項1乃至請求項11のいずれか1項に記載のワーク取り出し装置。
  13. 前記積載状態改善動作は、
    前記ハンドによって前記ワークに外力を加えることで、前記ワークを移動または倒す動作であり、或いは、
    前記積載状態改善動作にインピーダンス制御を適用することで前記ワークに適切な外力を加えながら行う動作である、
    ことを特徴とする請求項1乃至請求項12のいずれか1項に記載のワーク取り出し装置。
JP2017019468A 2017-02-06 2017-02-06 ワークの取り出し動作を改善するワーク取り出し装置およびワーク取り出し方法 Active JP6453922B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017019468A JP6453922B2 (ja) 2017-02-06 2017-02-06 ワークの取り出し動作を改善するワーク取り出し装置およびワーク取り出し方法
US15/875,239 US10603790B2 (en) 2017-02-06 2018-01-19 Workpiece picking device and workpiece picking method for improving picking operation of workpieces
DE102018000730.9A DE102018000730B4 (de) 2017-02-06 2018-01-30 Werkstückaufnahmevorrichtung und Werkstückaufnahmeverfahren zum Verbessern des Aufnahmevorgangs eines Werkstücks
CN201810118479.7A CN108393908B (zh) 2017-02-06 2018-02-06 改善工件取出动作的工件取出装置以及工件取出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017019468A JP6453922B2 (ja) 2017-02-06 2017-02-06 ワークの取り出し動作を改善するワーク取り出し装置およびワーク取り出し方法

Publications (2)

Publication Number Publication Date
JP2018126802A JP2018126802A (ja) 2018-08-16
JP6453922B2 true JP6453922B2 (ja) 2019-01-16

Family

ID=62982755

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017019468A Active JP6453922B2 (ja) 2017-02-06 2017-02-06 ワークの取り出し動作を改善するワーク取り出し装置およびワーク取り出し方法

Country Status (4)

Country Link
US (1) US10603790B2 (ja)
JP (1) JP6453922B2 (ja)
CN (1) CN108393908B (ja)
DE (1) DE102018000730B4 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6616170B2 (ja) * 2015-12-07 2019-12-04 ファナック株式会社 コアシートの積層動作を学習する機械学習器、積層コア製造装置、積層コア製造システムおよび機械学習方法
JP6603257B2 (ja) * 2017-03-31 2019-11-06 ファナック株式会社 行動情報学習装置、管理装置、ロボット制御システム及び行動情報学習方法
JP6680750B2 (ja) * 2017-11-22 2020-04-15 ファナック株式会社 制御装置及び機械学習装置
JP6911798B2 (ja) * 2018-03-15 2021-07-28 オムロン株式会社 ロボットの動作制御装置
CN110340884A (zh) * 2018-04-05 2019-10-18 发那科株式会社 测定动作参数调整装置、机器学习装置以及系统
JP7102241B2 (ja) * 2018-06-14 2022-07-19 ヤマハ発動機株式会社 機械学習装置及びこれを備えたロボットシステム
JP6940542B2 (ja) * 2019-03-14 2021-09-29 ファナック株式会社 把持力調整装置及び把持力調整システム
JP7173317B2 (ja) * 2019-05-22 2022-11-16 日本電気株式会社 動作規則決定装置、動作規則決定方法およびプログラム
JP7207207B2 (ja) * 2019-07-09 2023-01-18 トヨタ自動車株式会社 演算装置、機械学習方法及び制御プログラム
EP3878608A3 (en) * 2020-03-11 2021-12-08 Tetra Laval Holdings & Finance S.A. Pusher arrangement
EP3915734A1 (de) * 2020-05-29 2021-12-01 SW Automation GmbH Aufnahmevorrichtung zum aufnehmen eines beliebig angeordneten gegenstands sowie verfahren zum betreiben einer aufnahmevorrichtung
JP2022122670A (ja) * 2021-02-10 2022-08-23 オムロン株式会社 ロボットモデルの学習装置、ロボットモデルの機械学習方法、ロボットモデルの機械学習プログラム、ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
KR102346900B1 (ko) 2021-08-05 2022-01-04 주식회사 애자일소다 픽 앤 플레이스 시스템을 위한 심층 강화학습 장치 및 방법
DE102021209646A1 (de) 2021-09-02 2023-03-02 Robert Bosch Gesellschaft mit beschränkter Haftung Robotervorrichtung, Verfahren zum computerimplementierten Trainieren eines Roboter-Steuerungsmodells und Verfahren zum Steuern einer Robotervorrichtung
CN114800512A (zh) * 2022-05-10 2022-07-29 上海交通大学 一种基于深度强化学习的机器人推拨装箱方法及系统
WO2023242942A1 (ja) * 2022-06-14 2023-12-21 日本電信電話株式会社 スケジュール実行支援装置、方法およびプログラム
DE102022130461B3 (de) 2022-11-17 2024-01-25 Aumann AG Verfahren und Vorrichtung zum roboterbasierten Vereinzeln von Objekten aus einem Aufnahmebehälter

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08305433A (ja) * 1995-04-27 1996-11-22 Nissan Motor Co Ltd デパレタイジング制御装置
JP2000263480A (ja) * 1999-03-12 2000-09-26 Meidensha Corp ビンピッキング装置
JP3925020B2 (ja) 1999-12-21 2007-06-06 株式会社明電舎 ロボットの制御装置
JP3930490B2 (ja) 2004-04-23 2007-06-13 ファナック株式会社 物品取出し装置
JP4199264B2 (ja) 2006-05-29 2008-12-17 ファナック株式会社 ワーク取り出し装置及び方法
WO2010024796A1 (en) * 2008-08-29 2010-03-04 Abb Research Ltd. Bin-picking robot with means for stirring the parts in the bin
JP5402697B2 (ja) * 2009-10-26 2014-01-29 株式会社安川電機 ロボット装置及びワーク取り出しシステム並びにワーク取り出し方法
JP4938115B2 (ja) 2010-07-27 2012-05-23 ファナック株式会社 ワーク取出し装置およびワーク取出し方法
JP2012135820A (ja) 2010-12-24 2012-07-19 Ihi Corp 自動ピッキング装置及び自動ピッキング方法
JP2012183616A (ja) 2011-03-07 2012-09-27 Fuji Electric Co Ltd ピッキング用ワーク供給装置、およびワークピッキング装置
JP5835926B2 (ja) * 2011-04-11 2015-12-24 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム
WO2013002099A1 (ja) 2011-06-29 2013-01-03 三菱電機株式会社 部品供給装置
JP5623358B2 (ja) 2011-09-06 2014-11-12 三菱電機株式会社 ワーク取り出し装置
JP5266377B2 (ja) 2011-12-19 2013-08-21 ファナック株式会社 物品の姿勢を修正する機能を備えた取出し装置
JP5899951B2 (ja) * 2012-01-18 2016-04-06 セイコーエプソン株式会社 ロボット装置および位置姿勢検出方法
JP5642759B2 (ja) 2012-10-31 2014-12-17 ファナック株式会社 物品取出装置及び物品取出方法
JP2014138964A (ja) 2013-01-21 2014-07-31 Toyota Motor Corp ロボットハンドの制御装置及び制御方法
JP5929854B2 (ja) * 2013-07-31 2016-06-08 株式会社安川電機 ロボットシステムおよび被加工物の製造方法
JP5905549B1 (ja) * 2014-09-16 2016-04-20 ファナック株式会社 バラ積みされた物品を取出す物品取出装置
JP6335806B2 (ja) 2015-01-22 2018-05-30 三菱電機株式会社 ワーク供給装置およびワーク把持姿勢計算方法
JP6522488B2 (ja) * 2015-07-31 2019-05-29 ファナック株式会社 ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法
DE102016009030B4 (de) * 2015-07-31 2019-05-09 Fanuc Corporation Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
EP3557521A4 (en) * 2016-12-19 2020-08-05 Kabushiki Kaisha Yaskawa Denki IMAGE RECOGNITION PROCESSOR AND CONTROL UNIT FOR INDUSTRIAL DEVICE
JP6526100B2 (ja) * 2017-04-28 2019-06-05 ファナック株式会社 物品取出システム
JP6695843B2 (ja) * 2017-09-25 2020-05-20 ファナック株式会社 装置、及びロボットシステム
JP6676030B2 (ja) * 2017-11-20 2020-04-08 株式会社安川電機 把持システム、学習装置、把持方法、及び、モデルの製造方法

Also Published As

Publication number Publication date
DE102018000730A1 (de) 2018-08-16
CN108393908A (zh) 2018-08-14
US20180222046A1 (en) 2018-08-09
CN108393908B (zh) 2020-03-13
DE102018000730B4 (de) 2019-10-31
US10603790B2 (en) 2020-03-31
JP2018126802A (ja) 2018-08-16

Similar Documents

Publication Publication Date Title
JP6453922B2 (ja) ワークの取り出し動作を改善するワーク取り出し装置およびワーク取り出し方法
US20230321837A1 (en) Machine learning device, robot system, and machine learning method for learning object picking operation
JP7100426B2 (ja) ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法
JP6810087B2 (ja) 機械学習装置、機械学習装置を用いたロボット制御装置及びロボットビジョンシステム、並びに機械学習方法
CN107150347B (zh) 基于人机协作的机器人感知与理解方法
JP6616170B2 (ja) コアシートの積層動作を学習する機械学習器、積層コア製造装置、積層コア製造システムおよび機械学習方法
JP6240689B2 (ja) 人の行動パターンを学習する機械学習装置、ロボット制御装置、ロボットシステム、および機械学習方法
CN109906132B (zh) 机器人操纵的深度强化学习
JP6438450B2 (ja) レーザ加工ロボットの加工順序を学習する機械学習装置、ロボットシステムおよび機械学習方法
JP6514171B2 (ja) 最適な物品把持経路を学習する機械学習装置、及び機械学習方法
US11945114B2 (en) Method and system for grasping an object
CN107825422A (zh) 机械学习装置、机器人系统以及机械学习方法
CN114952828A (zh) 一种基于深度强化学习的机械臂运动规划方法和系统
Eppner et al. Visual detection of opportunities to exploit contact in grasping using contextual multi-armed bandits
Laplaza et al. Attention deep learning based model for predicting the 3D Human Body Pose using the Robot Human Handover Phases
KR102044786B1 (ko) 사용자 감성 인식 장치 및 방법
Kroemer et al. Active learning using mean shift optimization for robot grasping
CN113034575A (zh) 一种模型构建方法、位姿估计方法及物体拣取装置
CN116276973A (zh) 基于深度学习的视觉感知抓取训练方法
Mao et al. Shape-based object classification and recognition through continuum manipulation
CN114454194A (zh) 一种服务机器人、机器人手爪控制方法、系统及存储介质
Kimura et al. Estimating multimodal attributes for unknown objects
van der Wal Object Grasping with the NAO
Gouko et al. Active perception model extracting object features from unlabeled data
JP7416199B2 (ja) 制御装置、制御方法及びプログラム

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180618

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180918

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181022

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181213

R150 Certificate of patent or registration of utility model

Ref document number: 6453922

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150