JP7273692B2 - 制御装置、制御方法およびプログラム - Google Patents

制御装置、制御方法およびプログラム Download PDF

Info

Publication number
JP7273692B2
JP7273692B2 JP2019200061A JP2019200061A JP7273692B2 JP 7273692 B2 JP7273692 B2 JP 7273692B2 JP 2019200061 A JP2019200061 A JP 2019200061A JP 2019200061 A JP2019200061 A JP 2019200061A JP 7273692 B2 JP7273692 B2 JP 7273692B2
Authority
JP
Japan
Prior art keywords
state information
robot
unit
orientation
neural network
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
JP2019200061A
Other languages
English (en)
Other versions
JP2021070136A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2019200061A priority Critical patent/JP7273692B2/ja
Priority to US17/004,292 priority patent/US20210129319A1/en
Publication of JP2021070136A publication Critical patent/JP2021070136A/ja
Application granted granted Critical
Publication of JP7273692B2 publication Critical patent/JP7273692B2/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/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/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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
    • 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
    • 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/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • 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/40607Fixed camera to observe workspace, object, workpiece, global
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Fuzzy Systems (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Analysis (AREA)
  • Manipulator (AREA)
  • Human Computer Interaction (AREA)

Description

本発明の実施形態は、制御装置、制御方法およびプログラムに関する。
ロボットによる物品の箱詰めおよび荷積み作業において、保管スペースおよび運搬を効率化するために、箱詰めおよび荷積み後の容器の充填率を増加させることが求められている。箱詰め対象物の種類および割合に応じて充填率の高い箱詰めを行えるようにする技術として、機械学習を用いて箱詰め位置を決定する技術が提案されている。
Haoyuan Hu, Xiaodong Zhang, Xiaowei Yan, Longfei Wang, Yinghui Xu, "Solving a new 3D bin packing problem with deep reinforcement learning method" arxiv:1708.05930, 2017. Alexandre Laterre, yunguan Fu, Mohamed Khalil Jabri, Alain-Sam Cohen, David Kas, Karl Hajjar, Torbjorn S. Dahl, Amine Kerkeni, Karim Beguir "Ranked reward: Enabling self-play reinforcement learning for combinatorial optimization" arxiv:1807.01672, 2018. Richard S. Sutton and Andrew G. Barto, "Reinforcement Learning: An Introduction" second edition, MIT Press, Cambridge, MA, 2018.
本発明が解決しようとする課題は、物品などの対象物を移動させる処理をより効率的に実行可能とすることである。
実施形態の制御装置は、取得部と、推論部と、ロボット制御部と、を備える。取得部は、ロボットが把持する対象となる対象物の状態を示す第1状態情報と、対象物の移動先の状態を示す第2状態情報と、を取得する。推論部は、第1状態情報および第2状態情報を第1ニューラルネットワークに入力し、第1ニューラルネットワークの出力から、対象物を把持するときのロボットの位置および姿勢をそれぞれ示す第1位置および第1姿勢と、対象物の移動先でのロボットの位置および姿勢をそれぞれ示す第2位置および第2姿勢と、を含む第1出力情報を得る。ロボット制御部は、第1出力情報に基づいてロボットの動作を制御する。
第1の実施形態にかかるロボットシステムの構成例を示す図。 第1の実施形態にかかる制御装置の機能ブロック図。 ニューラルネットワークの構成例を示す図。 第1の実施形態における制御処理の一例を示すフローチャート。 パラメータを学習する際のニューラルネットワークの構成例を示す図。 第1の実施形態における学習処理の一例を示すフローチャート。 表示部に表示される表示画面の一例を示す図。 第2の実施形態にかかる制御装置の機能ブロック図。 第2の実施形態における制御処理の一例を示すフローチャート。 第2の実施形態における学習処理の一例を示すフローチャート。 第1または第2の実施形態にかかる制御装置のハードウェア構成図。
以下に添付図面を参照して、この発明にかかる制御装置の好適な実施形態を詳細に説明する。以下では、物品(対象物の一例)を把持し、把持した物品を移動して容器(移動先の一例)に詰める機能を有するロボットを制御するロボットシステムについて主に説明する。適用可能なシステムはこのようなロボットシステムに限られない。
上記のようなロボットシステムでは、ロボットは箱詰めの対象物をどのように把持したかにより、箱詰め可能な位置および姿勢に制限が生じることがある。従って、必ずしも計画した通りにロボットが箱詰めできるとは限らない。また、把持位置と箱詰め位置との組み合わせによっては、対象物を移動する動作を計画する際に特異点等の理由により効率的な動作が生成できず、ロボットの動作に時間がかかる場合がある。この結果、箱詰め作業の作業時間が長くなる場合がある。箱詰めの対象物を把持した後に、箱詰め可能な位置の中から最適な箱詰め位置を決定することは可能である。しかし、このような技術では、既に把持の仕方は決定されているため、あらゆる把持位置と箱詰め位置との組み合わせの中で最適な組み合わせを選択することはできない。
(第1の実施形態)
第1の実施形態にかかる制御装置は、箱詰めの対象物の把持の位置および姿勢(把持位置・姿勢)と、箱詰めの位置および姿勢(箱詰め位置・姿勢)とを併せて計画(推論)する。これにより、ロボットにより実行可能で、充填率の高い、または、箱詰め作業時間の短い効率的な箱詰めを計画可能となる。ロボットにより実行可能であるとは、例えば、容器および他の物体に干渉することなく対象物を箱詰め可能であることを意味する。
図1は、第1の実施形態にかかる制御装置120を含むロボットシステムの構成の一例を示す図である。図1に示すように、本実施形態のロボットシステムは、ロボット100と、生成部110と、生成部111と、制御装置120と、ネットワーク130と、表示部140と、入力部150と、容器160と、容器170と、シミュレータ180と、を備える。
ロボット100は、操作の対象物161を容器160から容器170へ移動させる機能を有するロボットである。ロボット100は、多関節ロボット、直行ロボット、および、これらの組み合わせ等により構成することができる。以下では、ロボット100が多関節アーム101、エンドエフェクタ102、および、複数のアクチュエータ103を備える多関節ロボットである場合を例に説明する。
エンドエフェクタ102は、対象物(例えば物品)を移動させるために、多関節アーム101の先端に取り付けられる。エンドエフェクタ102は、例えば対象物を把持可能なグリッパー、および、真空式ロボットハンドなどである。多関節アーム101およびエンドエフェクタ102は、アクチュエータ103による駆動に応じて制御される。より具体的には、多関節アーム101は、アクチュエータ103による駆動に応じて、移動、回転、および、伸縮(すなわち関節間の角度の変更)等を行う。エンドエフェクタ102は、アクチュエータ103による駆動に応じて、対象物の把持(グリップまたは吸着)、および、把持の解除(リリース)を行う。
制御装置120は、ロボット100の動作を制御する。制御装置120は、コンピュータ、および、ロボット100の動作を制御するための専用の制御装置等として実現され得る。制御装置120の機能の詳細は後述する。
ネットワーク130は、ロボット100、生成部110、生成部111、および、制御装置120などの構成要素を接続する、例えば、LAN(ローカルエリアネットワーク)およびインターネットなどのネットワークである。ネットワーク130は、有線ネットワークおよび無線ネットワークのいずれであってもよい。ロボット100、生成部110、生成部111、および制御装置120は、ネットワーク130を介してデータ(信号)を送受信できる。なお、データの送受信は、ネットワーク130を介することなく、コンポーネント間の直接的な有線接続または無線接続を用いて行われてもよい。
表示部140は、制御装置120による各種処理で用いられる情報を表示するための装置である。表示部140は、例えば、液晶ディスプレイ(LCD)等の表示装置により構成できる。表示部140は、ロボット100に関する設定、ロボット100の状態、および、ロボット100による作業状況等を表示し得る。
入力部150は、キーボード、および、マウス等のポインティングデバイスを含む入力装置である。表示部140および入力部150は、制御装置120内に組み込まれていてもよい。
ロボット100は、容器160(第1容器)に設置された対象物を把持し、容器170(第2容器)に詰め込む作業を行う。容器170は、空の場合もあるし、既に対象物171が詰め込まれている場合もある。容器160は、例えば倉庫内で物品を保存または移動するための容器(コンテナ)である。また、容器170は、例えば出荷等の用途に用いられる容器(コンテナ)である。容器170は、例えば段ボール箱、および、運送用のパレット等である。
容器160および容器170は、それぞれ作業台162および作業台172の上に配置されている。容器160および容器170は、それぞれを搬送可能なベルトコンベア上に配置されてもよい。その場合、容器160および容器170は、ベルトコンベアの動作によりロボット100が動作可能な範囲に配置される。
また、容器160および容器170の少なくとも一方を使用せず、例えば、ベルトコンベアまたは台車などの作業領域(移動先の一例)に対象物161および/または対象物171を直接配置するように構成してもよい。
生成部110は、対象物161の状態を示す状態情報(第1状態情報)を生成する。生成部111は、対象物161の移動先の状態を示す状態情報(第2状態情報)を生成する。生成部110および生成部111は、例えば画像を生成するカメラ、および、デプス画像(デプスデータ)を生成する距離センサ等である。生成部110および生成部111は、ロボット100を含む環境内(例えば室内の柱、および、天井等)に設置されていてもよいし、ロボット100に取り付けられていてもよい。
作業台162と並行な平面をXY平面とし、XY平面と垂直な方向をZ軸とする3次元座標を用いる場合、画像は、例えばZ軸と平行な方向を撮像方向とするカメラにより生成される。また、デプス画像は、例えばZ軸と平行な方向を測距方向とする距離センサにより生成される。例えばデプス画像は、XY平面上の各位置(x、y)でのZ軸方向のデプス値を表す情報である。
生成部110は、例えば、容器160内の対象物161の少なくとも一部の状態を観測することにより状態情報を生成する。状態情報は、例えば対象物161の画像およびデプス画像の少なくとも一方を含む。
生成部111は、例えば、容器170の少なくとも一部の状態を観測することにより状態情報を生成する。状態情報は、例えば容器170の画像およびデプス画像の少なくとも一方を含む。
生成部110および生成部111は、1つの生成部に統合してもよい。この場合1つの生成部が、対象物161の状態情報の生成、および、容器170の状態情報の生成を実行する。また、3個以上の生成部が備えられてもよい。
制御装置120は、生成部110および生成部111により生成された状態情報を用いて、少なくとも、対象物161の1つを把持し、移動し、容器170に詰め込むまでの動作計画を作成する。制御装置120は、作成された動作計画に基づく制御信号をロボット100のアクチュエータ103に送出することにより、ロボット100を動作させる。
シミュレータ180は、ロボット100による動作を模擬するシミュレータである。シミュレータ180は、例えばコンピュータ等の情報処理装置として実現され、ロボット100による動作の学習および評価に用いられる。なお、ロボットシステムは、シミュレータ180を備えなくてもよい。
図2は、制御装置120の機能構成の一例を示すブロック図である。図2に示すように、制御装置120は、取得部201と、推論部202と、ロボット制御部203と、出力制御部204と、報酬決定部211と、学習部212と、記憶部221と、を備える。
記憶部221は、制御装置120で実行される各種処理で用いられる各種情報を記憶する。例えば記憶部221は、取得部201により取得された状態情報、および、推論部202が推論に使用するモデル(ニューラルネットワーク)のパラメータなどを記憶する。記憶部221は、フラッシュメモリ、メモリカード、RAM(Random Access Memory)、HDD(Hard Disk Drive)、および、光ディスクなどの一般的に利用されているあらゆる記憶媒体により構成することができる。
取得部201は、制御装置120で実行される各種処理で用いられる各種情報を取得する。例えば取得部201は、ネットワーク130を介して、生成部110および生成部111から状態情報を取得(受信)する。取得部201は、取得した状態情報を推論部202に出力するが、その際、取得した状態情報をそのまま出力してもよいし、解像度変換、フレームレート変換、クリッピング、および、トリミング等の処理を加えてから出力してもよい。以下では、生成部110から取得した状態情報をSとし、生成部111から取得した状態情報をSとする。
推論部202は、状態情報Sおよび状態情報Sを用いて、ロボット100が容器160内で対象物161を把持する際の把持位置・姿勢、および、容器170内に対象物161を箱詰めする際の箱詰め位置・姿勢を計画する。例えば推論部202は、状態情報Sおよび状態情報Sをニューラルネットワーク(第1ニューラルネットワーク)に入力し、この入力に対するニューラルネットワークの出力から、把持位置・姿勢(第1位置および第1姿勢)および箱詰め位置・姿勢(第2位置および第2姿勢)を含む出力情報(第1出力情報)を得る。出力情報は、対象物を把持して容器170に詰め込むまでの動作計画を示す情報に相当する。
把持位置・姿勢は、対象物161を把持する際のエンドエフェクタ102の位置を決定する座標値、および、対象物161を把持する際のエンドエフェクタ102の向きまたは傾き等を表す。一方、箱詰め位置・姿勢は、対象物161を置く際のエンドエフェクタ102の位置を決定する座標値、および、対象物161を置く際のエンドエフェクタ102の向きまたは傾き等を表す。位置を決定する座標値は、例えば予め定められた3次元の座標系における座標値(x、y、z)で表される。向きまたは傾きは、例えば、3次元の座標系の各軸回りの回転角度(θ、θ、θ)で表される。
ロボット制御部203は、推論部202からの出力情報に基づいて、計画された位置および姿勢で対象物161を把持、箱詰めするように、ロボット100を制御する。例えばロボット制御部203は、以下のような動作をそれぞれ実行させるためのアクチュエータ103の制御信号を生成する。
・ロボットの100の現在の状態から推論部202によって計画された把持位置・姿勢で対象物161を把持するまでの動作
・対象物161の把持動作
・対象物161を推論部202によって計画された箱詰め位置・姿勢まで移動させる動作
・対象物161を置く動作
・箱詰め後にロボット100を所望の状態にするための動作
ロボット制御部203は、生成した制御信号を例えばネットワーク130を介してロボット100に送出する。制御信号に基づくアクチュエータ103の駆動に応じて、ロボット100が対象物161の把持および箱詰め動作を行う。
出力制御部204は、制御装置120による各種処理で用いられる各種情報の出力を制御する。例えば出力制御部204は、ニューラルネットワークの出力を表示部140に表示する処理を制御する。
報酬決定部211および学習部212は、ニューラルネットワークの学習処理で用いられる構成部である。学習処理を制御装置120の外部(例えば制御装置120と異なる学習装置)で実行する場合は、制御装置120は、報酬決定部211および学習部212を備えなくてもよい。この場合、例えば、学習装置により学習されたニューラルネットワークのパラメータ(重み、バイアスなど)を記憶部221に記憶し、推論部202が参照できるようにしてもよい。以下では、学習部212が強化学習によりニューラルネットワークを学習する場合を例に説明する。
報酬決定部211は、学習部212によるニューラルネットワークの学習処理で用いられる報酬を決定する。例えば報酬決定部211は、ロボット100の動作結果に基づいて強化学習に用いる報酬の値を決定する。報酬は、ロボット制御部203に入力された計画に従って対象物161を把持および箱詰めした結果に従って決定される。対象物161の把持および箱詰めに成功した場合、報酬決定部211は、報酬を正の値に決定する。このとき、報酬決定部211は、対象物161の体積および重量等に基づいて報酬の値を変えてもよい。また、報酬決定部211は、把持から箱詰めまでに要するロボットの作業時間が短いほど大きな報酬となるように決定してもよい。
一方、報酬決定部211は、以下のような場合は、報酬を負の値に決定する。
・対象物161の把持に失敗した場合
・対象物161の移動および箱詰め時に、容器160、容器170、または、対象物171などに衝突(接触)した場合
・計画された位置および姿勢とは異なる状態で対象物161を箱詰めした場合
学習部212は、ニューラルネットワークの学習処理(強化学習)を実行する。例えば学習部212は、状態情報S、状態情報S、報酬決定部211から入力された報酬、および、過去に学習部212が行った計画に基づき、ニューラルネットワークを学習する。
上記各部(取得部201、推論部202、ロボット制御部203、出力制御部204、報酬決定部211、および、学習部212)は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPU(Central Processing Unit)などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のIC(Integrated Circuit)などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
次に、推論部202による推論処理の詳細を説明する。上記のように、推論部202は、例えばニューラルネットワークを用いて把持位置・姿勢および箱詰め位置・姿勢を推論する。図3は、ニューラルネットワークの構成例を示す図である。図3は、中間層が3層の畳み込み層で構成されるニューラルネットワークの例を示す。なお、説明の便宜のため、図3では、配列320、330、340、350を3次元のデータの形状で表しているが、実際は5次元のデータである(図5も同様)。
以下では、状態情報としてデプス画像を用いる場合を例に説明するが、状態情報として画像を用いる場合、および、状態情報として画像とデプス画像との両方を用いる場合にも同様の方法を適用できる。
状態情報300は、取得部201から入力された状態情報Sであり、ここではX行Y列のデプス画像であるものとする。XおよびYは、例えば容器160のX軸方向の長さ(幅)、および、容器160のY軸方向の長さ(奥行き)に相当する値である。
状態情報310は、取得部201から入力された状態情報Sであり、ここではX行Y列のデプス画像であるものとする。XおよびYは、例えば容器170のX軸方向の長さ(幅)、および、容器170のY軸方向の長さ(奥行き)に相当する値である。
また、状態情報300の行列の(x、y)成分(0≦x≦X-1、0≦y≦Y-1)をS(x、y)で表し、状態情報310の行列の(x、y)成分(0≦x≦X-1、0≦y≦Y-1)をS(x、y)で表す。
まず、推論部202は、これら2つの行列(状態情報300、状態情報310)から、ニューラルネットワークの入力となるX×Y×X×Y×Cの配列320を算出する。例えば推論部202は、C=2として、配列320の成分Hを、H(x、y、x、y、0)=S(x、y)、H(x、y、x、y、1)=S(x、y)のように算出する。
取得部201から入力された状態情報SおよびSがともに3チャンネルの画像である場合には、推論部202は、C=6として、配列320の成分Hを、0≦i≦2のときH(x、y、x、y、i)=S(x、y、i)、3≦i≦5のときH(x、y、x、y、i)=S(x、y、i-3)のように算出する。ここで、S(x、y、i)およびS(x、y、i)はそれぞれ画像Sおよび画像Sの第iチャンネルである。
ベルトコンベア等で容器160が順次入れ替わる場合には、入れ替わりで配置される予定の複数の容器160のデプス画像を状態情報300に含めてもよいし、同様に複数の容器170のデプス画像を状態情報310に含めてもよい。
例えば、状態情報300としてM個の容器160のデプス画像を、状態情報310としてN個の容器170のデプス画像を一度に処理する場合、推論部202は、C=M×Nとして、H(x、y、x、y、c)=S (x、y)×S (x、y)のようにHを算出する。ここで、S (x、y)はm番目(0≦m≦M-1)の容器160のデプス画像の(x、y)成分であり、S (x、y)はn番目(0≦n≦N-1)の容器170のデプス画像の(x、y)成分である。cは、mとnとが一意に定まるように(例えばc=m×N+n)対応付けられる。
推論部202は、この後、配列320に対して、状態情報300および状態情報310の成分の分布から算出された統計値および定数を乗じる処理、並びに、上限および下限をクリッピングする処理を行ってもよい。
次に推論部202は、配列320に対する畳み込み計算によりX×Y×X×Y×Cの配列330を算出する。この畳み込み計算は、3層の畳み込み層のうち1層目の畳み込み層の演算に相当する。畳み込みフィルタは、サイズがF×F×F×Fの4次元フィルタであり、出力チャネル数はCである。ただし、フィルタの各次元のサイズは同じでなくてもよい。このフィルタの重みとバイアスは、後述の方法で予め学習された値を用いる。また、畳み込み計算の後に正規化線形関数、シグモイド関数等の活性化関数による変換処理が加えられてもよい。
次に推論部202は、配列330に対する畳み込み計算によりX×Y×X×Y×Cの配列340を算出する。この畳み込み計算は、3層の畳み込み層のうち2層目の畳み込み層の演算に相当する。畳み込みフィルタはサイズがF×F×F×Fの4次元フィルタで、出力チャネル数はCである。ただし、最初の畳み込み計算と同様に、フィルタの各次元のサイズは同じでなくてもよい。このフィルタの重みとバイアスも、後述の方法で予め学習された値を用いる。また、畳み込み計算の後に正規化線形関数、シグモイド関数等の活性化関数による変換処理が加えられてもよい。
次に推論部202は、3層目の畳み込み計算により、配列340からX×Y×X×Y×Rの配列350を算出する。ここで、Rは、把持の際のエンドエフェクタ102の角度と、箱詰めの際のエンドエフェクタ102の角度と、の組み合わせの総数である。把持の際のエンドエフェクタ102の角度と箱詰めの際のエンドエフェクタ102の角度との組み合わせは、予め有限の数に決められる。各組み合わせに対して、1からRまでの整数が重複しないように割り当てられる。
配列350の(x、y、x、y、r)成分(1≦r≦R)は、把持位置が状態情報300のデプス画像における(x、y)成分に相当する位置であり、箱詰め位置が状態情報310のデプス画像における(x、y)成分に相当する位置であり、把持の際のエンドエフェクタ102の角度と箱詰めの際のエンドエフェクタ102の角度とがrで識別される組み合わせに対応する角度である場合の計画の良さ(評価値)に相当する。
従って、推論部202は、評価値が他の成分より大きい成分、例えば、配列350の最大値を与える成分を探索し、探索した成分に相当する計画を出力する。推論部202は、配列350をソフトマックス関数で変換して確率値を算出し、算出した確率に応じて各計画をサンプリングして出力するようにしてもよい。図3のπ(S,S,a)は、状態情報S、状態情報Sのときに行動aをとる確率値を表す。
図3のニューラルネットワークの中間層は、3層の畳み込み層のみで構成していたが、任意の数の畳み込み層で構成することができる。またニューラルネットワークの中間層は、畳み込み層だけでなく、プーリング層を加えてもよい。さらに、図3の例では、中間層が出力する配列(配列330、配列340)のサイズはチャネル数を除いて同一であったが、中間層ごとに異なるサイズの配列を出力するようにすることも可能である。
また、状態情報300と状態情報310の複数の組をバッチ化して一度に処理を行うようにしてもよい。例えば、推論部202は、各組をそれぞれ並列に図3のようなニューラルネットワークに入力して推論処理を行うことができる。
次に、このように構成された第1の実施形態にかかる制御装置120による制御処理について説明する。図4は、第1の実施形態における制御処理の一例を示すフローチャートである。
取得部201は、生成部110から、対象物161の状態情報Sを取得する(ステップS101)。取得部201は、生成部111から、移動先の容器170の状態情報Sを取得する(ステップS102)。
推論部202は、取得された状態情報SおよびSをニューラルネットワークに入力し、ニューラルネットワークの出力から、ロボット100の把持位置・姿勢および箱詰め位置・姿勢を決定する(ステップS103)。
ロボット制御部203は、決定された把持位置・姿勢および箱詰め位置・姿勢となるようにロボット100の動作を制御する(ステップS104)。
次に、学習部212による学習処理の詳細を説明する。図5は、図3のニューラルネットワークのパラメータを学習する際のニューラルネットワークの構成例を示す図である。学習部212は、Q-Learning、Sarsa、REINFORCE、および、Actor-Criticなど様々な強化学習手法を用いることができる。以下ではActor-Criticを用いる場合について説明する。
状態情報500は、取得部201から入力された状態情報S′であり、X′行Y′列のデプス画像である。ニューラルネットワークの中間層は畳み込み層のみで構成しているため、学習時のデプス画像のサイズであるX′およびY′は、図3における推論時のデプス画像のサイズXおよびYとそれぞれ同じ値でもよいし、異なっていてもよい。特に、X′<XかつY′<Yとすることにより、学習時の入力パターンの数を推論時の入力パターンの数よりも減らすことができるため、学習を効率化することができる。
状態情報510は、取得部201から入力された状態情報S′であり、X′行Y′列のデプス画像である。X′およびY′は、図3におけるXおよびYとそれぞれ同じ値でもよいし、異なっていてもよい。特に、X′<XかつY′<Yとすることにより、学習を効率化することができる。
学習部212は、これら2つの行列(状態情報500、状態情報510)から、図3の配列320を算出する演算と同様の演算により、ニューラルネットワークの入力となるX′×Y′×X′×Y′×Cの配列520を算出する。
次に学習部212は、配列520に対する畳み込み計算によりX′×Y′×X′×Y′×Cの配列530を算出する。畳み込みフィルタのサイズは、図3における配列320を算出する際の畳み込みフィルタと同じである。ただし、学習部212は、学習開始時にはフィルタの重みとバイアスにランダムな値を設定し、学習過程でバックプロパゲーションにより重みとバイアスの値を更新する。畳み込み計算後に活性化関数を用いる場合は、学習部212は、図3の配列320を算出するときの同じ活性化関数を用いる。
学習部212は、同様の畳み込み計算を繰り返すことにより、X′×Y′×X′×Y′×Cの配列540、および、X′×Y′×X′×Y′×Rの配列550を算出する。
最後に学習部212は、図3で配列350から把持位置・姿勢および箱詰め位置・姿勢を計画する処理と同様の方法で、配列550から把持位置・姿勢および箱詰め位置・姿勢を計画する。
ベクトル560は、配列540を1次元化したベクトルである。学習部212は、ベクトル560に対して全結合層の演算を行ってスカラー570を算出する。スカラー570は、強化学習において価値関数(図5では、V(S′,S′))と呼ばれる値である。
学習部212は、学習開始時には、全結合層の演算に用いる重みとバイアスにランダムな値を設定し、学習過程でバックプロパゲーションにより重みとバイアスの値を更新する。この全結合層の処理は、学習時のみ必要となる。
ロボット制御部203は、配列550から計画された把持位置・姿勢および箱詰め位置・姿勢に基づき、対象物161を把持し、移動し、箱詰めするようにロボット100の動作を制御する。
報酬決定部211は、この動作の結果に基づいて報酬の値を決定し、学習部212に送る。学習部212は、報酬決定部211から送られた報酬と、スカラー570の算出結果と、に基づき、バックプロパゲーションにより全結合層の重みとバイアス、および畳み込み層の重みとバイアスを更新する。さらに、学習部212は、報酬決定部211から送られた報酬と、スカラー570の算出結果と、配列550の算出結果と、に基づき、バックプロパゲーションにより畳み込み層の重みとバイアスの更新処理を行う。重みとバイアスの更新量は、例えば非特許文献3に記載された方法で算出することができる。
学習部212は、状態情報500のサイズ、および、状態情報510のサイズを、学習中に変更してもよい。例えば、学習部212は、学習開始時にはX′、Y′、X′、Y′それぞれの値を小さく設定し、学習が進むにつれて段階的に大きな値となるようにこれらの値を変更する。このような制御により、学習効率をさらに高めることができる。
学習部212は、実際にロボット100を動作させてニューラルネットワークを学習してもよいし、シミュレータ180による模擬動作によりニューラルネットワークを学習してもよい。また、ニューラルネットワークは必ずしも強化学習で学習する必要はなく、教示データを与えて教師あり学習を行ってもよい。
次に、このように構成された第1の実施形態にかかる制御装置120による学習処理について説明する。図6は、第1の実施形態における学習処理の一例を示すフローチャートである。
取得部201は、生成部110から、対象物161の状態情報S′を取得する(ステップS201)。取得部201は、生成部111から、移動先の容器170の状態情報S′を取得する(ステップS202)。
学習部212は、取得された状態情報S′およびS′をニューラルネットワークに入力し、ニューラルネットワークの出力から、ロボット100の把持位置・姿勢および箱詰め位置・姿勢を決定する(ステップS203)。
ロボット制御部203は、決定された把持位置・姿勢および箱詰め位置・姿勢となるようにロボット100の動作を制御する(ステップS204)。
報酬決定部211は、ロボット100の動作の結果に基づいて報酬の値を決定する(ステップS205)。学習部212は、報酬の値、および、ニューラルネットワークの出力(スカラー570の算出結果、配列550の算出結果)を用いて、バックプロパゲーションにより畳み込み層の重みとバイアスを更新する(ステップS206)。
学習部212は、学習を終了するか否かを判定する(ステップS207)。学習部212は、例えば、価値関数の値が収束したか、または、学習の繰り返しの回数が上限値に達したかなどにより、学習の終了を判定する。学習を継続する場合は(ステップS207:No)、ステップS201に戻り、処理が繰り返される。学習が終了したと判定された場合(ステップS207:Yes)、学習処理を終了する。
次に、出力制御部204による出力制御処理の詳細を説明する。図7は、表示部140に表示される表示画面700の一例を示す図である。表示画面700は、容器160の各位置における把持位置の評価結果(評価値)を表した画像610、および、容器170の各位置における箱詰め位置の評価結果(評価値)を表す画像620を含む。画像610および画像620では、把持位置および箱詰め位置の評価が高い位置ほど明るく表示される。把持位置の評価および箱詰め位置の評価は、配列550から算出された値である。
出力制御部204は、例えば、ロボット100を動作させながら画像610および画像620を表示させる。これにより、把持位置および箱詰め位置が適正に算出されているかを確認することができる。出力制御部204は、ロボット100を動作させる前に画像610と画像620を表示させてもよい。これにより、ロボット動作前に推論部202の処理に不具合がないかを確認することができる。
図7では把持位置および箱詰め位置の評価結果のみを表示しているが、出力制御部204は、把持位置および箱詰め位置ごと、および、最適な姿勢(向き)ごとに色を変えて表示するなど、姿勢に関する評価結果もわかるように表示してもよい。例えば出力制御部204は、把持の際のエンドエフェクタ102の角度と、箱詰めの際のエンドエフェクタ102の角度と、の組み合わせごとに色を定め、把持位置および箱詰め位置に対応する画素を最適な角度に対応する色としてもよい。また出力制御部204は、容器160および容器170のデプス画像を、評価結果を示す画像と重畳して表示してもよい。
このように、第1の実施形態にかかる制御装置では、移動前の対象物の状態情報と、移動先の状態情報とを用いて、把持位置・姿勢および箱詰め位置・姿勢を併せて計画(推論)する。これにより、ロボットにより実行可能で、充填率の高い、または、箱詰め作業時間の短い効率的な箱詰めを計画可能となる。この結果、物品などの対象物を移動させる処理をより効率的に実行可能となる。
(第2の実施形態)
第2の実施形態にかかる制御装置は、推論部により得られた結果(計画)をさらに修正する機能を備える。
図8は、第2の実施形態にかかる制御装置120-2の構成の一例を示すブロック図である。図8に示すように、制御装置120-2は、取得部201と、推論部202と、ロボット制御部203-2と、出力制御部204と、修正部205-2と、報酬決定部211と、学習部212-2と、記憶部221と、を備える。
第2の実施形態では、修正部205-2を追加したこと、並びに、ロボット制御部203-2および学習部212-2の機能が第1の実施形態と異なっている。その他の構成および機能は、第1の実施形態にかかる制御装置120のブロック図である図2と同様であるので、同一符号を付し、ここでの説明は省略する。
修正部205-2は、取得部201から入力された状態情報Sと取得部201から入力された状態情報Sとを用いて、推論部202が計画する把持位置・姿勢および箱詰め位置・姿勢の修正値を算出する。例えば修正部205-2は、状態情報Sおよび状態情報Sをニューラルネットワーク(第2ニューラルネットワーク)に入力し、この入力に対するニューラルネットワークの出力から、把持位置・姿勢(第1位置および第1姿勢)および箱詰め位置・姿勢(第2位置および第2姿勢)を修正するための修正値を含む出力情報(第2出力情報)を得る。修正部205-2が用いるニューラルネットワークは、畳み込み層、プーリング層、および、全結合層を含むように構成することができる。
把持位置・姿勢の修正値は、推論部202によって算出された、対象物161を把持する際のエンドエフェクタ102の位置を決定する座標値に対する修正値である。把持位置・姿勢の修正値は、さらに対象物161を把持する際のエンドエフェクタ102の向きまたは傾きに対する修正値を含んでいてもよい。
箱詰め位置・姿勢の修正値は、推論部202によって算出された、対象物161を置く際のエンドエフェクタ102の位置を決定する座標値に対する修正値である。箱詰め位置・姿勢の修正値は、さらに対象物161を置く際のエンドエフェクタ102の向きまたは傾きに対する修正値を含んでいてもよい。
ロボット制御部203-2は、推論部202からの出力情報を、修正部205-2により得られた修正値により修正し、修正した出力情報に基づいて、計画された位置および姿勢で対象物161を把持、箱詰めするように、ロボット100を制御する。
学習部212-2は、修正部205-2が使用するニューラルネットワーク(第2ニューラルネットワーク)を学習する機能をさらに備える点が、第1の実施形態の学習部212と異なっている。推論部202が使用するニューラルネットワーク(第1ニューラルネットワーク)が既に学習されている場合は、学習部212-2は、修正部205-2が使用するニューラルネットワーク(第2ニューラルネットワーク)を学習する機能のみを備えてもよい。
学習部212-2は、例えば、状態情報S、状態情報S、報酬決定部211から入力された報酬、過去に学習部212-2が算出した修正値に基づき、ニューラルネットワークを学習する。学習部212-2は、例えば、バックプロパゲーションによりニューラルネットワークを学習する。ニューラルネットワークの重みおよびバイアス等のパラメータの更新量は、例えば非特許文献3に記載された方法で算出することができる。
次に、このように構成された第2の実施形態にかかる制御装置120-2による制御処理について図9を用いて説明する。図9は、第2の実施形態における制御処理の一例を示すフローチャートである。
ステップS301からステップS303までは、第1の実施形態にかかる制御処理(図4)におけるステップS101からステップS103までと同様の処理なので、その説明を省略する。
本実施形態では、修正部205-2は、取得された状態情報SおよびSをニューラルネットワーク(第2ニューラルネットワーク)に入力し、ニューラルネットワークの出力から、ロボット100の把持位置・姿勢および箱詰め位置・姿勢を修正するための修正値を含む出力情報(第2出力情報)を決定する(ステップS304)。
ロボット制御部203-2は、決定された修正値により修正した把持位置・姿勢および箱詰め位置・姿勢となるようにロボット100の動作を制御する(ステップS305)。
次に、このように構成された第2の実施形態にかかる制御装置120-2による学習処理について図10を用いて説明する。図10は、第2の実施形態における学習処理の一例を示すフローチャートである。図10は、修正部205-2が用いるニューラルネットワーク(第2ニューラルネットワーク)を学習する処理の例を示す。
取得部201は、生成部110から、対象物161の状態情報Sを取得する(ステップS401)。取得部201は、生成部111から、移動先の容器170の状態情報Sを取得する(ステップS402)。
学習部212-2は、取得された状態情報SおよびSを、推論部202が用いるニューラルネットワーク(第1ニューラルネットワーク)に入力し、ニューラルネットワークの出力から、ロボット100の把持位置・姿勢および箱詰め位置・姿勢を決定する(ステップS403)。
学習部212-2は、取得された状態情報SおよびSを、修正部205-2が用いるニューラルネットワーク(第2ニューラルネットワーク)に入力し、ニューラルネットワークの出力から、把持位置・姿勢および箱詰め位置・姿勢の修正値を決定する(ステップS404)。
ロボット制御部203は、ステップS404で決定された修正値を用いて、ステップS403で決定された把持位置・姿勢および箱詰め位置・姿勢を修正し、修正された把持位置・姿勢および箱詰め位置・姿勢となるようにロボット100の動作を制御する(ステップS405)。
報酬決定部211は、ロボット100の動作の結果に基づいて報酬の値を決定する(ステップS406)。学習部212-2は、報酬の値、および、ニューラルネットワーク(第2ニューラルネットワーク)の出力を用いて、バックプロパゲーションによりニューラルネットワークの重みとバイアスを更新する(ステップS407)。
学習部212-2は、学習を終了するか否かを判定する(ステップS408)。学習を継続する場合は(ステップS408:No)、ステップS401に戻り、処理が繰り返される。学習が終了したと判定された場合(ステップS408:Yes)、学習処理を終了する。
修正部205-2を備えた構成は、以下のように、ロボット100の動きが場所(位置)により制限されるような場合に有効である。
・ロボット100から遠い位置にエンドエフェクタ102を移動させる際の入射角の範囲が、ロボット100から近い位置にエンドエフェクタ102を移動させる際の範囲よりも狭くなる場合
・対象物161を水平に把持したままエンドエフェクタ102を回転できる角度が箱詰め位置によって変わるような場合
上記のように、推論部202が用いるニューラルネットワーク(第1ニューラルネットワーク)は、中間層を畳み込み層のみとする構成、または、中間層を畳み込み層およびプーリング層のみとする構成である。このような構成では、学習が効率的に行えるものの、位置ごとの制限の違いを考慮することができない。そこで、修正部205-2により位置ごとの修正値のみをニューラルネットワーク(第2ニューラルネットワーク)に学習させ、学習したニューラルネットネットワークを用いて推論部202の出力した計画を修正する。これにより、位置ごとの制限の違いを考慮できるようになる。
以上説明したとおり、第1から第2の実施形態によれば、物品などの対象物を移動させる処理をより効率的に実行可能となる。
次に、第1または第2の実施形態にかかる制御装置のハードウェア構成について図11を用いて説明する。図11は、第1または第2の実施形態にかかる制御装置のハードウェア構成例を示す説明図である。
第1または第2の実施形態にかかる制御装置は、CPU(Central Processing Unit)51などの制御装置と、ROM(Read Only Memory)52やRAM(Random Access Memory)53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、各部を接続するバス61を備えている。
第1または第2の実施形態にかかる制御装置で実行されるプログラムは、ROM52等に予め組み込まれて提供される。
第1または第2の実施形態にかかる制御装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD-R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
さらに、第1または第2の実施形態にかかる制御装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第1または第2の実施形態にかかる制御装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
第1または第2の実施形態にかかる制御装置で実行されるプログラムは、コンピュータを上述した制御装置の各部として機能させうる。このコンピュータは、CPU51がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100 ロボット
110、111 生成部
120、120-2 制御装置
130 ネットワーク
140 表示部
150 入力部
201 取得部
202 推論部
203、203-2 ロボット制御部
204 出力制御部
205-2 修正部
211 報酬決定部
212、212-2 学習部
221 記憶部

Claims (9)

  1. ロボットが把持する対象となる対象物の状態を示す画像またはデプス画像に係る第1状態情報と、前記対象物の移動先の状態を示す画像またはデプス画像に係る第2状態情報と、を取得する取得部と、
    学習時に入力した前記第1状態情報および前記第2状態情報に対し、前記画像または前記デプス画像のサイズが異なる前記第1状態情報および前記第2状態情報を第1ニューラルネットワークに入力し、前記第1ニューラルネットワークの出力から、前記対象物を把持するときの前記ロボットの位置および姿勢をそれぞれ示す第1位置および第1姿勢と、前記対象物の移動先での前記ロボットの位置および姿勢をそれぞれ示す第2位置および第2姿勢と、を含む第1出力情報を得る推論部と、
    前記第1出力情報に基づいて前記ロボットの動作を制御するロボット制御部と、
    を備える制御装置。
  2. 前記第1出力情報は、前記第1位置、前記第1姿勢、前記第2位置、および、前記第2姿勢の組み合わせごとの評価値を含み、
    前記ロボット制御部は、前記評価値が他の組み合わせより大きい組み合わせに含まれる、前記第1位置、前記第1姿勢、前記第2位置、および、前記第2姿勢に基づいて前記ロボットの動作を制御する、
    請求項1に記載の制御装置。
  3. 前記評価値を出力する出力制御部をさらに備える、
    請求項2に記載の制御装置。
  4. 前記第1ニューラルネットワークを学習する学習部をさらに備え、
    前記学習部は、学習の経過とともに前記画像のサイズまたは前記デプス画像のサイズを大きくした前記第1状態情報および前記第2状態情報を用いて前記第1ニューラルネットワークを学習する、
    請求項1に記載の制御装置。
  5. 前記第1状態情報および前記第2状態情報を第2ニューラルネットワークに入力し、前記第2ニューラルネットワークの出力から、前記第1位置、第1姿勢、前記第2位置、および、前記第2姿勢の修正値を含む第2出力情報を得る修正部をさらに備え、
    前記ロボット制御部は、前記第2出力情報により前記第1出力情報を修正し、修正した前記第1出力情報に基づいて前記ロボットの動作を制御する、
    請求項1に記載の制御装置。
  6. 前記第2ニューラルネットワークを学習する学習部をさらに備える、
    請求項5に記載の制御装置。
  7. 前記第1ニューラルネットワークは、畳み込み層、または、畳み込み層とプーリング層と、を含む、
    請求項1に記載の制御装置。
  8. ロボットが把持する対象となる対象物の状態を示す画像またはデプス画像に係る第1状態情報と、前記対象物の移動先の状態を示す画像またはデプス画像に係る第2状態情報と、を取得する取得ステップと、
    学習時に入力した前記第1状態情報および前記第2状態情報に対し、前記画像または前記デプス画像のサイズが異なる前記第1状態情報および前記第2状態情報を第1ニューラルネットワークに入力し、前記第1ニューラルネットワークの出力から、前記対象物を把持するときの前記ロボットの位置および姿勢をそれぞれ示す第1位置および第1姿勢と、前記対象物の移動先での前記ロボットの位置および姿勢をそれぞれ示す第2位置および第2姿勢と、を含む第1出力情報を得る推論ステップと、
    前記第1出力情報に基づいて前記ロボットの動作を制御するロボット制御ステップと、を有する制御方法。
  9. コンピュータを、
    ロボットが把持する対象となる対象物の状態を示す画像またはデプス画像に係る第1状態情報と、前記対象物の移動先の状態を示す画像またはデプス画像に係る第2状態情報と、を取得する取得部と、
    学習時に入力した前記第1状態情報および前記第2状態情報に対し、前記画像または前記デプス画像のサイズが異なる前記第1状態情報および前記第2状態情報を第1ニューラルネットワークに入力し、前記第1ニューラルネットワークの出力から、前記対象物を把持するときの前記ロボットの位置および姿勢をそれぞれ示す第1位置および第1姿勢と、前記対象物の移動先での前記ロボットの位置および姿勢をそれぞれ示す第2位置および第2姿勢と、を含む第1出力情報を得る推論部と、
    前記第1出力情報に基づいて前記ロボットの動作を制御するロボット制御部と、
    として機能させるためのプログラム。
JP2019200061A 2019-11-01 2019-11-01 制御装置、制御方法およびプログラム Active JP7273692B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019200061A JP7273692B2 (ja) 2019-11-01 2019-11-01 制御装置、制御方法およびプログラム
US17/004,292 US20210129319A1 (en) 2019-11-01 2020-08-27 Controller, control method, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019200061A JP7273692B2 (ja) 2019-11-01 2019-11-01 制御装置、制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2021070136A JP2021070136A (ja) 2021-05-06
JP7273692B2 true JP7273692B2 (ja) 2023-05-15

Family

ID=75688657

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019200061A Active JP7273692B2 (ja) 2019-11-01 2019-11-01 制御装置、制御方法およびプログラム

Country Status (2)

Country Link
US (1) US20210129319A1 (ja)
JP (1) JP7273692B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021002465A1 (ja) * 2019-07-03 2021-01-07 株式会社Preferred Networks 情報処理装置、ロボットシステム、および、情報処理方法
JP7286524B2 (ja) * 2019-12-10 2023-06-05 株式会社東芝 ピッキングロボット、ピッキング方法及びプログラム
JP7566589B2 (ja) 2020-11-05 2024-10-15 株式会社東芝 情報処理装置、情報処理方法およびプログラム
JP2022162857A (ja) * 2021-04-13 2022-10-25 株式会社デンソーウェーブ 機械学習装置及びロボットシステム
DE102021204846B4 (de) 2021-05-12 2023-07-06 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung
DE102022204724A1 (de) 2022-05-13 2023-11-16 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung
CN115284287B (zh) * 2022-08-09 2024-08-16 山东大学 基于深度强化学习的机械臂装箱与倒库协同方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013132742A (ja) 2011-12-27 2013-07-08 Canon Inc 物体把持装置、物体把持装置の制御方法、およびプログラム
JP2018151950A (ja) 2017-03-14 2018-09-27 富士ゼロックス株式会社 情報処理装置、情報処理システム及びプログラム
JP2018205929A (ja) 2017-05-31 2018-12-27 株式会社Preferred Networks 学習装置、学習方法、学習モデル、検出装置及び把持システム
JP2019038054A (ja) 2017-08-23 2019-03-14 ファナック株式会社 物品積み付け装置及び機械学習装置
JP2019056966A (ja) 2017-09-19 2019-04-11 株式会社東芝 情報処理装置、画像認識方法および画像認識プログラム
JP2019093495A (ja) 2017-11-24 2019-06-20 ファナック株式会社 収容領域又は治具にワークを配置するワーク配置システム
WO2019159419A1 (ja) 2018-02-16 2019-08-22 パナソニックIpマネジメント株式会社 処理方法およびそれを利用した処理装置
US20190275671A1 (en) 2019-05-28 2019-09-12 Intel Corporation Methods and apparatus for complex assembly via autonomous robots using reinforcement learning action primitives

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10089575B1 (en) * 2015-05-27 2018-10-02 X Development Llc Determining grasping parameters for grasping of an object by a robot grasping end effector
US10303977B2 (en) * 2016-06-28 2019-05-28 Conduent Business Services, Llc System and method for expanding and training convolutional neural networks for large size input images
US10438322B2 (en) * 2017-05-26 2019-10-08 Microsoft Technology Licensing, Llc Image resolution enhancement
US11007642B2 (en) * 2018-10-23 2021-05-18 X Development Llc Machine learning methods and apparatus for automated robotic placement of secured object in appropriate location
US11701771B2 (en) * 2019-05-15 2023-07-18 Nvidia Corporation Grasp generation using a variational autoencoder

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013132742A (ja) 2011-12-27 2013-07-08 Canon Inc 物体把持装置、物体把持装置の制御方法、およびプログラム
JP2018151950A (ja) 2017-03-14 2018-09-27 富士ゼロックス株式会社 情報処理装置、情報処理システム及びプログラム
JP2018205929A (ja) 2017-05-31 2018-12-27 株式会社Preferred Networks 学習装置、学習方法、学習モデル、検出装置及び把持システム
JP2019038054A (ja) 2017-08-23 2019-03-14 ファナック株式会社 物品積み付け装置及び機械学習装置
JP2019056966A (ja) 2017-09-19 2019-04-11 株式会社東芝 情報処理装置、画像認識方法および画像認識プログラム
JP2019093495A (ja) 2017-11-24 2019-06-20 ファナック株式会社 収容領域又は治具にワークを配置するワーク配置システム
WO2019159419A1 (ja) 2018-02-16 2019-08-22 パナソニックIpマネジメント株式会社 処理方法およびそれを利用した処理装置
US20190275671A1 (en) 2019-05-28 2019-09-12 Intel Corporation Methods and apparatus for complex assembly via autonomous robots using reinforcement learning action primitives

Also Published As

Publication number Publication date
JP2021070136A (ja) 2021-05-06
US20210129319A1 (en) 2021-05-06

Similar Documents

Publication Publication Date Title
JP7273692B2 (ja) 制御装置、制御方法およびプログラム
US11065762B2 (en) Robot work system and method of controlling robot work system
US11654564B2 (en) Efficient data generation for grasp learning with general grippers
JP6807949B2 (ja) 干渉回避装置
US11724398B2 (en) Efficient robot control based on inputs from remote client devices
JP6860863B2 (ja) 経路出力方法
JP7021160B2 (ja) ハンドリング装置、ハンドリング方法及びプログラム
US10828778B2 (en) Method for operating a robot
JP6931457B2 (ja) モーション生成方法、モーション生成装置、システム及びコンピュータプログラム
JP6671694B1 (ja) 機械学習装置、機械学習システム、データ処理システム及び機械学習方法
Kaldestad et al. Collision avoidance with potential fields based on parallel processing of 3D-point cloud data on the GPU
US11975451B2 (en) Simulation-in-the-loop tuning of robot parameters for system modeling and control
US11420328B2 (en) Generating a robot control policy from demonstrations
KR20240093690A (ko) 로봇 디바이스들에 대한 비선형 궤적 최적화
WO2020012712A1 (ja) 把持姿勢評価装置及び把持姿勢評価プログラム
JP2020110885A (ja) 経路生成装置、経路生成方法、及び経路生成プログラム
JP2022187983A (ja) 高次元のロボット作業を学習するためのネットワークモジュール化
JP7423387B2 (ja) 較正システム、情報処理システム、ロボット制御システム、較正方法、情報処理方法、ロボット制御方法、較正プログラム、情報処理プログラム、較正装置、情報処理装置、及びロボット制御装置
US20220134545A1 (en) Information processing device, information processing method, and computer program product
JP2021146433A (ja) 制御装置、ロボット装置、シミュレーション装置、制御方法、シミュレーション方法、物品の製造方法、プログラム及び記録媒体
CN114585482B (zh) 控制装置、控制方法以及机器人系统
WO2024080210A1 (ja) 物品移動装置及びその制御方法
Wittmann et al. Supervised Autonomous Interaction in Unknown Territories-A Concept for Industrial Applications in the Near Future

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230301

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230428

R151 Written notification of patent or utility model registration

Ref document number: 7273692

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151