JP7154815B2 - 情報処理装置、制御方法、ロボットシステム、コンピュータプログラム、及び記憶媒体 - Google Patents

情報処理装置、制御方法、ロボットシステム、コンピュータプログラム、及び記憶媒体 Download PDF

Info

Publication number
JP7154815B2
JP7154815B2 JP2018087447A JP2018087447A JP7154815B2 JP 7154815 B2 JP7154815 B2 JP 7154815B2 JP 2018087447 A JP2018087447 A JP 2018087447A JP 2018087447 A JP2018087447 A JP 2018087447A JP 7154815 B2 JP7154815 B2 JP 7154815B2
Authority
JP
Japan
Prior art keywords
holding
target object
holding position
success
probability distribution
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
JP2018087447A
Other languages
English (en)
Other versions
JP2019188580A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2018087447A priority Critical patent/JP7154815B2/ja
Priority to US16/386,140 priority patent/US11285603B2/en
Publication of JP2019188580A publication Critical patent/JP2019188580A/ja
Application granted granted Critical
Publication of JP7154815B2 publication Critical patent/JP7154815B2/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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme 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/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/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/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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • 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/37Measurements
    • G05B2219/37563Ccd, tv camera
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37572Camera, tv, vision
    • 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/39395Expectation based visual servoing, use of model
    • 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

Description

本発明は、操作対象となる対象物体を操作するロボットの制御技術に関する。
アーム等の保持装置を備えるロボットを用いて対象物体を保持する場合、ロボットの動作を制御するコンピュータ等の情報処理装置は、対象物体を三次元計測した画像情報に基づいて対象物体の保持位置を推定する。情報処理装置は、例えば画像情報から対象物体のCAD(Computer-Aided Design)モデルを生成して、保持位置の推定を行う。保持位置の推定を行うことで、ロボットは、例えば乱雑にバラ積みされた対象物体の保持を行うことができる。これに対して特許文献1は、CADモデルを生成せずに、対象物体の保持位置の推定を行う機械学習装置を用いたロボットシステムを提示する。機械学習装置は、深層学習を使って認識から保持まで画像情報や保持実行結果といった事例データを学習することにより、CADモデルデータなしで保持位置を推定する。機械学習装置は、推定結果に基づいてロボットによりバラ積み状態から対象物体を保持することが可能である。
特開2017-30135号公報
保持装置による対象物体の保持の失敗は、作業効率が低下する原因となる。バラ積みの対象物体がビニール袋や緩衝材に包まれている場合、光の反射や表面形状が変化することで、情報処理装置は、保持位置を正確に推定することが困難である。保持位置を正確に推定することができないために、ロボットは対象物体の保持に失敗する可能性が高くなる。そのためにロボットは、複数回の保持動作を繰り返すことが必要な場合がある。その場合、高い位置にある対象物体から順に保持したり、再度三次元計測を行うといった方法が考えられるが、作業効率が低い。
本発明は、このような従来の問題を解決するため、ロボットによる対象物体の保持をより短時間で行うことで、作業効率を向上させることができる情報処理装置を提供することを主たる目的とする。
本発明の情報処理装置は、操作対象である対象物体を保持するための保持装置を有するロボットの動作を制御する情報処理装置であって、前記対象物体の視覚情報を取得する取得手段と、前記視覚情報に基づいて、前記対象物体を保持するための位置毎の前記保持装置による前記対象物体の保持の成否の確率分布を決定する確率分布決定手段と、前記確率分布に基づいて前記対象物体の保持位置を決定する保持位置決定手段と、前記保持位置に基づいて前記ロボットを移動させて、前記保持装置に前記対象物体の保持動作を行わせる制御手段と、を備え、前記保持位置決定手段は、前記保持装置による前記対象物体の保持が失敗した場合に、前記保持位置において前記保持装置が前記対象物体に作用する保持範囲の中の前記保持位置の周辺に、前記確率分布で所定の閾値以上の保持の成功確率が存在する場合には、前記所定の閾値以上の保持の成功確率である当該位置から次の保持位置を決定することを特徴とする。
本発明によれば、ロボットによる対象物体の保持をより短時間で行うことが可能となり、作業効率を向上させることができる。
ロボットシステムの構成例示図。 情報処理装置のハードウェア構成図。 情報処理装置の機能説明図。 ロボットシステムの制御処理を表すフローチャート。 (a)~(c)は、保持成否確率分布の説明図。 座標系の説明図。 (a)~(c)は、保持成否確率分布と保持位置との関係の説明図。 情報処理装置の機能説明図。 ロボットシステムの制御処理を表すフローチャート。 (a)~(c)は、保持位置の決定方法の説明図。 情報処理装置の機能説明図。 ロボットシステムの制御処理を表すフローチャート。 (a)~(d)は、保持位置の決定方法の説明図 情報処理装置の機能説明図。 ロボットシステムの制御処理を表すフローチャート。
以下、図面を参照して、実施形態を詳細に説明する。
(第1実施形態)
図1は、本実施形態の情報処理装置を有するロボットシステムの構成例示図である。図1は機器構成の一例であり、本発明の適用範囲を限定するものではない。ロボットシステム100は、ロボット10及び情報処理装置20を備える。
ロボット10は、例えば多関節ロボットであり、ロボットアーム等のマニピュレータ1及びロボットハンド等の保持装置3を備える。ロボット10は、マニピュレータ1の各関節の角度を変更することで、保持装置3の位置姿勢を変更可能な位置姿勢変更機構を備える。位置姿勢変更機構は、駆動装置として、電動モータ或いは油圧や空気圧等の流体圧で作動するアクチュエータを備える。位置姿勢変更機構は、情報処理装置20の制御により駆動される。
保持装置3は、ロボット10による操作対象である対象物体の種類に応じた操作を実現するためのツールである。保持装置3は、モータ駆動可能なチャック機構を有して対象物体を把持可能なハンドや、空気圧で対象物体を吸着する吸着パッドを用いたハンドを用いて、対象物体を保持することができる。「保持」とは、対象物体を把持或いは吸着することであり、対象物体を搬送できる状態にすることである。保持装置3は、マニピュレータ1に対して着脱可能に取り付けられており、対象物体の種類に応じて交換可能である。なお、ロボット10は、多関節ロボットに限定されるものではなく、数値制御(NC:Numerical Control)可能な可動式の機械であってもよい。
ロボット10は、情報処理装置20の制御により行動を実行し、対象物体41の搬送や保持等の操作を行う。本実施形態において、「行動」は、対象物体41を認識或いは操作するためのロボット10の動作である。対象物体41は、ビニール袋に包まれているケーブルのような、ロボット10によって保持されて搬送されることが想定される部品である。対象物体41は、バラ積みされた複数の物体のうち、保持対象の物体であり、保持位置或いは保持対象の変更に伴い変化する。対象物体41の周辺には、周辺物体42が存在する。周辺物体42は、対象物体41の周辺に位置する対象物体41以外の全ての物体である。周辺物体42は、例えば、対象物体41の周辺に存在する対象物体41と同じ種類のバラ積みされた物体や、対象物体41を収容している容器、箱、その容器、箱の周辺の物体も含む。
ロボットシステム100は、撮像装置2及び光源4をさらに備える。撮像装置2は、カメラや、光を検出するセンサやフォトダイオード等で構成される視覚センサである。撮像装置2は、対象物体41及び周辺物体42の視覚情報として、例えば画像情報を生成する。「画像情報」は、例えば二次元カラー画像情報や距離画像情報である。撮像装置2は、取得した画像情報を情報処理装置20へ送信する。光源4は、例えばプロジェクタによって構成され、可視光や赤外光を出射することで、対象物体41及び周辺物体42に対して均一照明光やパターン光を投射する。撮像装置2は、光源4によって光が投射された対象物体41及び周辺物体42の画像を撮像する。なお、撮像装置2は、光源4によって光が投射されていない状態で、対象物体41及び周辺物体42の画像を撮像することも可能である。距離画像の撮像方法は、Light Coding方式、ToF(Time of Flight)方式、三角測量の原理によりステレオカメラを使った視差情報から距離情報を得る方式等がある。Light Coding方式は、光源4から投光した赤外線パターンを撮像装置2で読み取り、三角測量の原理で距離情報を得る方式である。TOF方式は、投光した赤外線パルスが反射して戻ってくるまでの時間から距離情報を得る方式である。
撮像装置2及び光源4は、図1に示すように、ロボット10に搭載される他に、撮像対象空間の上方への固定配置や、他の作業機械へ搭載されていてもよい。また、撮像装置2は複数配置されていてもよい。
図2は、情報処理装置20のハードウェア構成図である。情報処理装置20は、ロボット10の動作を制御するロボット制御装置であり、例えばパーソナルコンピュータにより実現される。情報処理装置20は、CPU(Central Processing Unit)21と、ROM(Read Only Memory)22と、RAM(Random Access Memory)23と、を備える。情報処理装置20は、外部メモリ24と、入力部25と、表示部26と、通信I/F27と、システムバス28とを備える。
CPU21は、ROM22及び外部メモリ24の少なくとも一方に格納されるコンピュータプログラムを、RAM23を作業領域に用いて実行することで、ロボットシステム100の動作を制御する。外部メモリ24は、例えば、CPU21が処理を行う際に必要な各種データや各種情報を記憶している。また、外部メモリ24には、CPU21が処理を行うことにより得られた各種データや各種情報が記憶される。入力部25は、例えばキーボード、マウス等のポインティングデバイス、タッチパネル等により構成される。オペレータは、入力部25を介して情報処理装置20に指示を入力することができるようになっている。表示部26は、液晶ディスプレイ等のモニタにより構成される。通信I/F27は、外部機器と通信するためのインターフェースである。システムバス28は、CPU21、ROM22、RAM23、外部メモリ24、入力部25、表示部26及び通信I/F27を通信可能に接続する。このような構成の情報処理装置20は、通信I/F27を介して、ロボット10等の外部機器の動作を制御する。
本実施形態では、情報処理装置20は、視覚センサである撮像装置2から取得する対象物体の視覚情報(画像情報)に基づいて、位置毎の対象物体の保持成否確率分布を生成する。情報処理装置20は、保持成否確率分布に基づいて、保持位置を決定し、決定した保持位置に基づいてロボット10による保持動作を実行する。その際、情報処理装置20は、保持実行結果の成否判定を行う。保持が失敗した場合、情報処理装置20は、保持成否確率分布に基づいて、前回の保持位置とは異なる保持位置を決定し、再度、保持動作を行う処理を繰り返す。これによりロボットシステム100は、対象物体の保持を、より少ない回数で成功させることができるために、作業効率を向上させることができる。
本実施形態において、対象物体41とは、上記の通りロボットによる保持の対象となる物体である。対象物体41は、例えば、ビニール袋や緩衝材に包まれたケーブルのような光の反射や形状が変化する物体を含む。「保持成否確率分布」は、視覚情報や、ロボット10の保持成否判定結果のいずれか一つ以上に基づいて作成された学習モデルを利用して決定される、保持に成功する確率を位置毎に示した分布である。
視覚情報に基づいて学習モデルが作成される場合、例えば、情報処理装置20は、画像に対して、対象物体41の保持が成功しそうな位置に人間が付けた真値を保持成功予測位置として学習する。このとき、入力は画像情報、出力は画像における位置となる。ロボット10の保持成否判定結果に基づいて学習モデルが作成される場合、例えば、情報処理装置20は、対象物体41の認識を画像処理によって行う。情報処理装置20は、認識された画像中の位置毎に、ロボット10で保持できるかを試した結果に基づいて真値を付けて、保持成功位置或いは保持失敗位置として学習が行われる。このとき、入力は画像処理されたデータ、出力はそのデータに対して保持が成功するか失敗するかといった推定結果となる。視覚情報とロボット10の保持成否に基づき学習モデルが生成される場合、例えば、情報処理装置20は、画像を入力として、ロボット10が対象物体を保持できるか否かで学習する。このとき、入力は画像情報、出力は画像情報から決定した位置における保持が成功するか失敗するかといった推定結果となる。保持位置とは、対象物体を保持するための位置であり、例えば保持装置3として装着する吸着機構の吸着位置のことである。
図3は、このような動作を実現するための、情報処理装置20の機能説明図である。情報処理装置20は、画像情報取得部201、保持成否確率分布決定部202、保持位置決定部203、制御部204、及び保持成否判定部205として機能する。これらの各機能は、CPU21がコンピュータプログラムを実行することで実現される他に、少なくとも一部がハードウェアにより実現されてもよい。
画像情報取得部201は、撮像装置2から視覚情報として画像情報を取得する。画像情報取得部201は、取得した画像情報を保持成否確率分布決定部202へ送信する。画像情報取得部201は、例えばキャプチャボードやメモリによって構成される。
保持成否確率分布決定部202は、画像情報取得部201から取得した画像情報に基づいて、ロボット10による対象物体41の保持が成功/失敗する確率分布を画像内の位置毎に決定する。保持成否確率分布決定部202は、決定した保持成否確率分布を保持位置決定部203へ送信する。保持成否確率分布決定部202は、保持成否確率分布を生成する際に、学習モデルとして例えば深層学習モデルの一例であるCNN(Convolutional Neural Network)を用いて推定を行ってもよい。この場合、保持成否確率分布決定部202は、適宜、データベースDBを参照する。保持成否確率分布決定部202は、データベースDBに保存されたモデルを利用して、保持成否確率分布を決定する。保持成否確率分布の確率値は、例えば0~1の間の数値で表され、保持に成功する確率が高い方が大きい値で表される。
保持位置決定部203は、保持装置3による保持のためのマニピュレータ1の保持位置或いは保持位置姿勢を決定する。保持位置決定部203は、保持位置或いは保持位置姿勢だけでなく、保持位置への軌道を決定してもよい。保持位置或いは保持位置姿勢は、保持成否確率分布決定部202により決定された保持成否確率分布に基づいて決定される。保持位置決定部203は、決定した保持位置或いは保持位置姿勢を制御部204へ送信する。
制御部204は、マニピュレータ1、撮像装置2、及び保持装置3の動作を制御する。制御部204は、撮像時に、撮像装置2に対象物体41や周辺物体42を撮像させるため、マニピュレータ1の位置姿勢を制御する。制御部204は、撮像装置2が移動すると、撮像装置2に撮像トリガーを送信する。撮像トリガーにより、撮像装置2が撮像動作を行う。なお、制御部204は、撮像に合わせて光源4の発光制御も適宜行う。制御部204は、対象物体41の保持時に、保持装置3に対象物体41を保持させるために、マニピュレータ1を保持位置姿勢になるよう制御する。保持装置3が移動すると、制御部204は、保持装置3に保持トリガーを送信する。保持トリガーにより、保持装置3が保持動作を行う。
保持成否判定部205は、保持装置3が対象物体41の保持動作を行ったときに、保持に成功したか、或いは失敗したかの判定を行う。例えば、保持装置3が吸着機構の場合、保持成否判定部205は、吸着時の真空到達度を計測することによって、この判定を行う。具体的には、保持成否判定部205は、吸着成功と判定するための真空到達度の閾値を予め設定する。保持成否判定部205は、吸着動作実行時に真空到達度を計測し、計測結果が閾値に達していれば吸着できているために吸着成功(保持成功)と判定し、閾値に達していなければ吸着できていないために吸着失敗(保持失敗)と判定する。
図4は、以上のような構成の情報処理装置20によるロボットシステム100の制御処理を表すフローチャートである。この処理は、例えばオペレータがロボットシステム100を起動したときに開始される。ただし、開始のタイミングは、ロボットシステム100の起動時に限定されるものではない。
CPU21は、処理を開始すると、まずロボットシステム100の初期化処理を行う(S1)。初期化処理では、CPU21は、ROM22及び外部メモリ24のいずれかに格納されたコンピュータプログラムをロードしてRAM23上に展開し、実行可能な状態とする。また、CPU21は、情報処理装置20に接続された各機器のパラメータの読み込みや初期位置への復帰を行い、各機器を使用可能な初期状態にする。
制御部204は、撮像装置2による撮像のためにマニピュレータ1を移動させる位置姿勢を取得する(S2)。この位置姿勢は、例えばCPU21が撮像位置姿勢決定部として機能して決定する。決定される位置姿勢は、撮像装置2が対象物体41や周辺物体42を撮像することができるような位置姿勢であれば、どのような方法で決定されてもよい。例えば位置姿勢は、乱数による決定、設計者が予め固定値で決定、又は範囲を指定して、その範囲内において乱数で決定される。
制御部204は、撮像のためにマニピュレータ1の動作を制御する(S3)。具体的には、制御部204は、S2の処理で取得した位置姿勢にマニピュレータ1をどのように動かせばいいかを決定する。例えば、制御部204は、S2の処理で取得された位置姿勢にマニピュレータ1を移動させるために、目標となる位置姿勢情報を順運動学によってマニピュレータ1の関節角度情報に変換する。制御部204は、関節角度情報に応じてマニピュレータ1の各関節のアクチュエータを動作させるための指令値を算出する。制御部204は、指令値に応じてマニピュレータ1を動作させる。
制御部204は、撮像のために撮像装置2の動作を制御する(S4)。撮像装置2は、制御部204による制御に基づいて、対象物体41や周辺物体42の撮像を行う。この際、制御部204は、適宜、光源4の発光制御を行う。画像情報取得部201は、撮像装置2から対象物体41及び周辺物体42の画像情報を取得する(S5)。画像情報取得部201は、取得した画像情報を保持成否確率分布決定部202へ送信する。
保持成否確率分布決定部202は、画像情報取得部201から取得した画像情報に基づいて、対象物体41の保持に成功/失敗する位置毎の確率分布を決定する(S6)。保持成否確率分布決定部202は、決定した保持成否確率分布を保持位置決定部203へ送信する。撮像装置2から得られる画像情報は、二次元カラー画像と距離画像の情報である。確率分布の決定方法は、例えば深層学習による推定結果を利用して行われる。具体的には、保持装置3が吸着パッドである場合、事前の学習として、バラ積み状態のケーブルの二次元カラー画像に対して、画像中のどの位置を吸着すれば対象物体41を保持できるかの真値を、人間が入力部25により画像上で与える。
「真値」は、学習における正解データのことである。本実施形態では、真値は、深層学習の一種であるCNNに入力する画像において、保持に成功すると学習される画像中の位置である。真値の与え方は、例えば、人間が入力部25であるマウス等のポインティングデバイスにより表示部26に表示される画像を画面上で位置指定することで行われる。このとき、バラ積み状態が異なる複数の異なる画像に対して、1つ或いは複数の真値が与えられる。保持成否確率分布決定部202は、入力部25で指示された画素を注目画素として、取得した画像から、注目画素近傍画像となる適当なサイズの画像(例えば128×128画素のRGB画像)を切り出す。保持成否確率分布決定部202は、切り出した注目画素近傍画像に対して、与えられた真値を正解ラベルとして学習データを蓄積する。保持成否確率分布決定部202は、蓄積した学習データを用い、例えばCNNによって学習することで、学習モデルを生成する。
保持成否確率分布決定部202は、作成したモデルを使い、カラー画像を入力として、保持成否の確率を深層学習により推定する。推定方法は、例えば以下のようになる。保持成否確率分布決定部202は、画像内で対象物体41が存在する範囲が分かる場合、例えば対象物体41が箱に入っているとして、その箱内だけが推定範囲内になるようにROI(Region of Interest)を設定する。ROIを設定すると、保持成否確率分布決定部202は、ROI範囲内全体をスキャンするように、スライディングウィンドウにより画像を切り出す。このとき保持成否確率分布決定部202は、画像内の所定の画素を推定位置とし、この推定位置を中心として、該画像から、適当なサイズ(例えば128×128画素)を切り出して、推定画素近傍画像とする。
保持成否確率分布決定部202は、推定画素近傍画像をCNNに入力し、それぞれの推定画素近傍の画像毎に保持成否確率を推定する。保持成否確率は、推定画素であるスライディングウィンドウの中心画素に対して与えられる。その際、保持成否確率分布決定部202は、ROI範囲外は保持が失敗する位置として確率を推定する。ただし、ROIは必ずしも設定しなくてもよく、画像全体に対して推定を行ってもよい。なお、保持成否確率分布決定部202は、保持成否確率を求める際に必ずしも1画素毎に推定する必要はなく、計算時間等とのトレードオフを考慮して適切なストライドを設定して、スライディングウィンドウにより推定してもよい。
保持成否確率分布決定部202は、このように求めた推定画素近傍の画像に対する保持成否確率を用いて、二次元カラー画像に対する保持成否確率の分布を決定する。決定される保持成否確率分布は、例えば、二次元カラー画像の画素毎に0~1までの連続的な値となる。図5は、二次元カラー画像から決定された保持成否確率分布の説明図である。図5(a)は、図1に示すようなロボット10と対象物体41との相対的位置関係における、撮像装置2から対象物体41と周辺物体42とを撮像したときに得られる二次元カラー画像の例示図である。図5(b)は、図5(a)の二次元カラー画像から決定された保持成否確率分布を、図5(a)の二次元カラー画像に重畳表示した画像を表す。図中、色が濃い部分ほど、保持の成功確率が高いと推定される位置である。保持成否確率には閾値thが設定されており、閾値以下の位置は一定の濃さで表される。図5(c)は、図5(b)の図において、A-A’の断面で見たときの保持成否確率分布の高さを示した図である。なお、図5(b)、図5(c)には色の濃い部分が複数あるが、これは保持する対象物体41の候補が複数あることを意味している。
ここでは深層学習を認識の処理に対して利用する方法を記載したが、深層学習は、認識の処理以外に利用されてもよい。例えば、深層学習は、認識から保持までの処理に利用されてもよい。具体的には、保持装置3に吸着パッドを用いた場合、保持位置決定部203は、事前の学習として、バラ積み状態のケーブルの二次元カラー画像を入力として、ロボット10が画像内のどの位置を保持するかの保持位置を決定する。このとき保持位置は、画像処理により決定されてもよく、乱数で決定されてもよく、設計者が予め範囲を指定して、その範囲内において乱数で決定されてもよい。
保持位置を決定すると、制御部204は、保持位置にロボット10を移動させて保持動作を実行させる。保持動作の実行後、保持成否確率分布決定部202は、保持に成功したか否かの結果に基づいて、入力とした二次元カラー画像の一部である、保持した位置を注目画素として、注目画素近傍画像に対して保持成功/失敗のラベルを付ける。ラベルを付ける範囲は、保持装置3に吸着パッドを用いている場合、入力とした二次元カラー画像における吸着パッドの直径分の範囲の画素に対して付けてもよく、適宜調整してもよい。このような方法によって、保持成否確率分布決定部202は、学習データを蓄積し、学習モデルを作成する。
保持成否確率分布決定部202は、作成したモデルを用い、二次元カラー画像を入力として保持成否の確率を深層学習により推定する。認識の処理を深層学習により学習した方法では、入力は二次元カラー画像であり、出力は人が保持に成功するであろうと考えて付けた真値を推定する結果である。これに対して、認識から保持までの処理を学習した場合、入力は同じ二次元カラー画像であるが、出力はロボット10が実際に保持を行う場合の推定結果となる。推定時は、認識の処理を深層学習により学習した方法同様に、ROIを設定したりスライディングウィンドウを使用したりしてもよい。二次元カラー画像を入力することで、ロボット10により保持する時の保持成否確率分布が決定される。
また、深層学習を保持だけの処理に対して利用してもよい。具体的には、認識処理は画像処理によって行い、処理された画像情報を入力として、ロボット10が保持動作を実行する。この画像情報とは、例えば、二次元カラー画像からクロップされた所定のサイズの画像情報であり、注目画素近傍の画像でもよい。ロボット10が保持動作を実行すると、保持に成功したか否かの結果に基づいて、入力とした画像情報に対して保持成功/失敗のラベルが付けられる。このような方法によって、保持成否確率分布決定部202は、学習データを蓄積して学習モデルを作成してもよい。この方法では、深層学習への入力は、例えば認識処理が行われた画像、出力はロボット10で実際に保持を行う場合の推定結果となる。推定時は、認識の処理或いは認識と保持の処理を深層学習により学習した方法と同様に、ROIを設定したりスライディングウィンドウを使用してもよい。認識処理が行われた画像を入力することで、ロボット10により保持する位置が推定される。推定された結果を用いて、保持成否確率分布が決定される。
ここでは主に二次元カラー画像を用いて保持成否確率分布を決定したが、二次元カラー画像でなく距離画像を用いてもよいし、あるいは二次元カラー画像と距離画像の両方を用いてもよい。
保持位置決定部203は、S6において保持成否確率分布決定部202により決定された保持成否確率分布に基づいて、1回目の保持位置を決定する(S7)。保持位置決定部203は、例えば、保持成否確率分布において最も保持成功の確率が高い位置を1回目の保持位置として決定する。保持成否確率分布は、図5に示すように、二次元カラー画像に対応して決定される。そのために保持成否確率分布から決定された位置の座標は、二次元カラー画像の同座標の位置と一致する。保持位置決定部203は、二次元カラー画像において保持位置を決定すると、距離画像において、二次元カラー画像の保持位置に対応する位置を求める。保持位置決定部203は、これらの二次元カラー画像、距離画像における決定された保持位置の情報を、制御部204へ送信する。
保持位置へのロボット10のアプローチの際の軌道は、例えば、保持位置に対して最短距離となるような軌道、ロボット10の移動速度が最大となるような軌道、保持成否確率分布に基づいた軌道等である。保持成否確率分布に基づいた軌道とは、例えば、保持成否確率分布の高い領域を含んだアプローチ動作のことである。具体的には、まず、保持位置決定部203が、保持成否確率分布に対して一定の閾値を設けておき、保持成否確率が閾値を上回っている領域のうち最も保持成否確率が高い位置を1回目の保持位置として決定する。ここで、保持成否確率が高いとは、確率が所定値より大きく、保持に成功しやすいと推定したということである。決定した保持位置の周囲半径rの範囲の保持成否確率が閾値を上回っている場合、保持位置決定部203は、その範囲内が保持に成功する確率が高いと判定する。そのため、ロボット10は、保持位置へアプローチ動作をする際に、半径rの範囲内或いは範囲を含んで、円弧状の螺旋軌道、或いはランダムな軌道を移動する。これによりロボット10は、保持位置の周辺の保持成否確率が高い領域を、1回のアプローチ動作で保持対象の範囲に含んで移動することができる。
制御部204は、保持動作のためにマニピュレータ1を制御する(S8)。具体的には、制御部204は、保持位置決定部203により決定された保持位置、保持位置姿勢、或いは軌道に基づいて、マニピュレータ1をどのように動かせばいいかを決定する。制御部204は、保持位置決定部203で決定された保持位置が画像内における位置であるため、マニピュレータ1を制御するに、この位置をロボット座標系に変換する必要がある。
図6は、座標系の説明図である。撮像装置2の座標系Σc、マニピュレータ1の座標系Σr、マニピュレータ1の先端座標系Σt、保持装置3の座標系Σf、及び対象物体41の座標系Σoが統一して扱われる。そのために、図6に示すように、作業空間内で基準となる座標系として、ワールド座標系Σwが設定される。
ワールド座標系Σwからマニピュレータ座標系Σrまでの変位を(RX,RY,RZ)とする。マニピュレータ1の姿勢を表す3×3の回転行列をRMとする。マニピュレータ座標系Σrからマニピュレータ先端座標系Σtまでの変位を(TX,TY,TZ)とする。マニピュレータ先端の姿勢を表す3×3の回転行列をTMとする。マニピュレータ先端座標系Σtから保持装置3の座標系Σfまでの変位を(FX,FY,FZ)とする。保持装置3の先端の姿勢を表す3×3の回転行列をFMとする。保持装置3の先端は、保持装置3が対象物体41或いは周辺物体42に接触する部分である。マニピュレータ先端座標系Σtから撮像装置座標系Σcまでの変位を(CX,CY,CZ)とする。撮像装置2の姿勢を表す3×3の回転行列をCMとする。撮像装置座標系Σcから対象物体41の対象物体座標系Σoまでの変位を(OX,OY,OZ)とする。対象物体41の姿勢を表す3×3の回転行列をOMとする。ワールド座標系Σwから見た対象物体41の変位を(WX,WY,WZ)、姿勢を表す3×3の回転行列をWMとする。
マニピュレータ1の先端に取り付けられた保持装置3が対象物体41に接触しているときのマニピュレータ座標系Σrからマニピュレータ先端座標系Σtまでの変位を(TX1,TY1,TZ1)とする。また、マニピュレータ先端の姿勢を表す3×3の回転行列をTM1とする。この場合、以下の式が成り立つ。
Figure 0007154815000001
撮像装置2により対象物体41が撮像されたときのマニピュレータ座標系Σrからマニピュレータ先端座標系Σtまでの変位を(TX2,TY2,TZ2)とする。また、マニピュレータ先端の姿勢を表す3×3の回転行列をTM2とする。この場合、以下の式が成り立つ。
Figure 0007154815000002
以上の2つの式は、ワールド座標系Σwにおける対象物体41の位置姿勢を表している。そのために、以下の式が成り立つ。
Figure 0007154815000003
この式により、制御部204は、対象物体41を保持するときのマニピュレータ1の位置姿勢を算出する。この場合、撮像時のマニピュレータ1の位置姿勢、マニピュレータ先端座標系Σtと撮像装置座標系Σcの位置姿勢の関係、撮像装置座標系Σcと対象物体41の位置姿勢の関係、マニピュレータ先端座標系Σtと保持装置3の位置姿勢の関係が既知である。このように制御部204は、撮像装置2が対象物体41を撮像した画像から、マニピュレータ1が対象物体41を保持するときの位置姿勢を求めることができる。
各変位、回転行列の求め方の一例を説明する。(RX,RY,RZ)及びRMは、マニピュレータ1の設置時に設定したワールド座標系Σwとの位置関係から求められる。(TX,TY,TZ)及びTMは、マニピュレータ1の関節角度情報から順運動学によって求められる。(FX,FY,FZ)及びFMは、保持装置3の寸法から求められる。(CX,CY,CZ)及びCMは、撮像装置2の寸法から求められる。或いは、(FX,FY,FZ)及びFMは、撮像装置2とマニピュレータ1との相対的な位置姿勢関係からキャリブレーションにより求められる。例えば、(FX,FY,FZ)及びFMは、マニピュレータ1が異なる複数の位置姿勢を取ったそれぞれの状態において、撮像装置2により、既知の二次元マーカーを撮像することによって求まるマニピュレータ1との相対的位置関係に応じて求められる。(OX,OY,OZ)及びOMは、撮像装置2により対象物体41を撮像することにより求められる。例えば、(OX,OY,OZ)及びOMは、保持位置決定部203が保持位置を二次元カラー画像により決定した場合、保持位置に対応する距離画像における座標の値から保持位置までの距離が決定されることから求められる。なお、ここではワールド座標系Σwとマニピュレータ1の座標系Σrとを分けて考えたが、それらを一致させて考えてもよい。
制御部204は、保持動作のために保持装置3を制御する(S9)。制御部204の制御により、マニピュレータ1は保持位置姿勢に移動し、保持装置3は対象物体41の保持動作を行う。
保持成否判定部205は、保持装置3が対象物体41の保持に成功したか否かを判定する(S10)。保持成否の判定は、例えば、保持装置3が吸着装置である場合、吸着しているときのエジェクターの真空到達度を評価することで行うことができる。具体的には、保持成否判定部205は、予め吸着成功と判定する真空到達度の閾値を設定しておき、吸着動作実行時に真空到達度を計測する。保持成否判定部205は、計測結果が閾値に達していれば吸着成功(保持成功)、閾値に達していなければ吸着失敗(保持失敗)と判定する。保持装置3が把持装置である場合、保持成否の判定は、把持幅を評価することで行うことができる。具体的には、保持成否判定部205は、保持動作実行時の保持装置3の把持幅を計測し、計測結果が対象物体41の大きさに合致するようであれば保持成功と判定する。計測結果が対象物体41の大きさに対して閉じ過ぎていたり開き過ぎていたりする場合、保持装置3は、何も保持できていなかったり対象物体41とは異なる物体、或いは複数の物体を保持していたり、意図しない状態で保持していたりする可能性がある。そのために保持成否判定部205は、保持失敗と判定する。
保持装置が保持に失敗した場合(S10:N)、保持成否判定部205は、保持位置決定部203へ保持に失敗したことを表す情報を送信する。この情報を受信した保持位置決定部203は、保持成否確率分布に基づいて前回とは異なる保持位置を決定する(S7)。保持位置を再び決定する際の保持位置決定部203の処理を説明する。
保持位置決定部203は、保持失敗と判定された場合、保持成否確率分布に基づいて、前回までの保持位置とは異なる位置を次の保持位置として決定する。例えば、前回の保持位置が、保持位置中心だけが保持成否確率が高く、保持位置中心の周辺の保持成否確率が低い場合、保持位置中心の周辺を保持しようとしても、保持に失敗する可能性が高い。図7は、保持成否確率分布と保持位置との関係の説明図である。
図7(a)は、保持成否確率と、保持位置中心、保持位置中心の周辺、及び保持範囲の関係を例示する。保持位置中心は、保持装置3に吸着パッドを用いた場合、吸着パッドの直径Dp内に設定した範囲Dcのことである。保持位置中心の周辺は、吸着パッドの直径Dp範囲内かつDc範囲外の範囲のことである。保持範囲は、吸着パッドの直径Dp範囲内のことである。ただし、保持位置中心及び保持位置中心の周辺は、必ずしも吸着パッドの直径Dpを基準にせず、任意に設定してもよく、値は適宜変更されてもよい。図7(b)に示すように、前回の保持位置中心の周辺の保持成否確率が、保持範囲外の保持成否確率よりも低い場合、保持位置決定部203は、次の保持位置を前回の保持範囲外から決定する。例えば、保持位置決定部203は、保持成否確率分布から前回の保持範囲を除き、保持成否確率が最も高い位置を次の保持位置として決定する。図7(c)に示すように、前回の保持位置中心の周辺の保持成否確率分布が、前回の保持範囲外の保持成否確率より高い場合、前回の保持位置中心の周辺が、保持に成功する可能性が高いと考えられる。その場合、保持位置決定部203は、保持成否確率分布に従って、前回の保持位置中心の周辺の範囲から次の保持位置を決定する。なお、前回の保持位置中心の周辺の保持成否確率分布が高い場合とは、必ずしも、前回の保持位置中心の周辺の保持成否確率が、前回の保持範囲外の保持成否確率よりも高いことを意味しない。例えば、保持成否確率に対して、一定の閾値を設けておき、前回の保持位置中心の周辺の保持成否確率が、その閾値を上回っている場合は、前回の保持位置中心の周辺の保持成否確率分布が高い場合と判定してもよい。
次の保持位置を前回の保持位置中心の周辺から決定する場合、保持位置決定部203は、次の保持位置を前回の保持位置中心の周辺のうち、保持成否確率が高い位置から決定する。例えば、前回の保持位置中心を含んで、楕円状に保持成否確率が高い範囲が存在する場合、保持位置決定部203は、その楕円状範囲内で次の保持位置を決定する。保持位置決定部203は、次の保持位置を、楕円状範囲内から、保持成否確率が高い位置から順に決定してもよく、ランダムに決定してもよく、設定した規則に従って決定してもよい。
次の保持位置を決定する際、画像処理を併用し、対象物体41が存在しない範囲に応じて保持成否確率分布が更新されてもよい。例えば、画像処理によって対象物体41が存在しない範囲を認識する方法を併用して、次の保持位置が決定される。具体的には、対象物体41が箱に入っている場合、保持成否確率分布決定部202は、画像情報に基づいて画像処理によって対象物体41が存在しない範囲を求めて、保持成否確率が「0」であると決定する。対象物体41が存在しない範囲は、例えば、二次元カラー画像の箱が見えている範囲と、箱だけ撮像した画像との差分画像から求めことができる。或いは、距離画像から箱の底よりも近くに物体が存在しない範囲は、対象物体41が存在しない範囲であってもよい。
次の保持位置を決定する際、保持装置3の姿勢が変更されてもよい。例えば、保持動作で対象物体41へアプローチする際、保持装置3は、図1に示すように鉛直下方向の対象物体41に向かってアプローチするだけでなく、ロボット10の姿勢の変更を伴ってアプローチしてもよい。具体的には、保持位置決定部203は、保持成否確率分布に基づいて次の保持位置を決定する際に、保持成否確率に加えて対象物体41の簡易モデルを用意してモデルフィッティングした結果を併用する。対象物体41がビニール袋や緩衝材に包まれたケーブルのように形状が変化する部品である場合、正確なモデルフィッティングが困難である。しかし、おおよその寸法からモデルを用意することができるため、保持位置決定部203は、二次元カラー画像と距離画像とによって、対象物体41の長軸方向をおおよそ推定し、対象物体41の中心軸を推定することができる。保持装置3に吸着パッドを用いる場合、制御部204が中心軸に対して垂直にアプローチするようにロボット10を制御することで、保持装置3は、対象物体41の表面の法線にならってアプローチできる。そのために対象物体41の表面と吸着パッド表面とが、隙間ができにくく接触することができる。これにより保持装置3は、吸着時の空気のリークが少なくなり、保持に成功しやすくなる。さらに、保持装置3は、対象物体41と周辺物体42との間を保持することが少なくなり、対象物体41と周辺物体42を一緒に保持してしまう可能性も少なくなる。この場合、保持位置決定部203が決定する値は保持位置ではなく保持位置姿勢となる。
保持に失敗したものの、対象物体41を持ち上げるまでは保持に成功していたような場合、保持装置3は、対象物体41までの距離が足りなかったと判断される。この場合、保持位置決定部203は、保持装置3の箱の底に対する平面方向の位置は変化させずに、距離方向の位置を、より対象物体41に近づける方向へ変化させて、次の保持位置とする。
なお、S10の保持成否判定処理は、S8の処理と同時に行われてもよい。例えば、S7の処理で決定した保持位置に応じて、S8の処理でマニピュレータ1が移動する。保持装置3が吸着装置である場合、保持成否判定部205は、移動中にも常に真空到達度を計測する。保持成否判定部205が吸着(保持)に成功したと判定した時点で、制御部204は、マニピュレータ1の保持を行うための移動動作を中断し、次の処理に移行する。
対象物体41の保持に成功した場合(S10:Y)、保持成否判定部205は、制御部204へ保持に成功したことを表す情報を送信する。この情報を受信した制御部204は、対象物体41を搬送・配置するために、マニピュレータ1の動作を制御する(S11)。制御部204は、搬送の経由点や配置の位置を、事前に設定しておいてもよいし、撮像装置2によって得られた搬送経路・配置場所の画像情報に基づいて決定してもよい。
CPU21は、対象物体41の搬送・配置が終了すると、次の対象物体41の有無を判定する(S12)。CPU21は、対象物体41が存在しない場合には処理を終了する(S12:Y)。CPU21は、対象物体41が存在する場合(S12:N)、S2以降の処理を対象物体41が存在しなくなるまで繰り返し実行する。対象物体41の有無の判定は、例えば、事前に処理回数を設定しておき、保持の成功回数がその回数に達したか否かで行ってもよく、対象物体41の供給場所にセンサを配置しておき、該センサの検出結果に基づいて行ってもよい。センサは、例えば対象物体41の供給場所に配置される重量センサを用いることができる。重量センサが供給場所の重さを計測することで、秤量によって対象物体41の残りの個数が計測可能である。また、撮像装置2によって対象物体41の供給場所を撮像し、得られた画像情報によって対象物体41の有無を判定することも可能である。
以上のように本実施形態のロボットシステム100は、情報処理装置20により、撮像装置2が撮像した画像に基づいて保持成否確率分布を生成する。情報処理装置20の保持成否確率分布決定部202は、画像情報から保持に成功/失敗する保持成否確率分布を決定する。情報処理装置20の保持位置決定部203は、決定した保持成否確率分布に基づいて対象物体41の保持位置を決定する。情報処理装置20の制御部204は、決定した保持位置に基づいてロボット10の動作を制御して、ロボット10に対象物体41を保持する動作を実行させる。情報処理装置20の保持成否判定部205は、ロボット10の保持動作の成功/失敗を判定する。失敗した場合、保持位置決定部203は、保持成否確率分布決定部202で決定された分布に基づいて、前回までの保持位置とは異なる次の保持位置を決定する。情報処理装置20は、対象物体41を保持するまで、繰り返し保持位置を更新しながらロボット10に保持動作を行わせることになる。
情報処理装置20は、保持成否確率分布に基づいて保持位置を決定することで、1回で保持に失敗しても、2回目以降も保持の成功確率が高い位置を保持位置として決定することができる。このような制御により、撮像装置2によって位置および姿勢を正確に認識できず、保持装置3が保持に失敗する可能性があるような、ビニール袋や緩衝材に包まれた対象物体41であっても、保持に失敗したときに撮像からやり直す必要が無くなる。また、保持装置3は、対象物体41を高い位置にある物体から順に取り出す必要がなくなる。そのためにロボットシステム100は、短時間で対象物体41の保持が可能となり、作業の効率化を図ることができる。
情報処理装置20は、保持成否確率分布を決定するための情報として、二次元のカラー画像情報に限らず、距離画像情報やグレー画像情報等を用いることもできる。また、情報処理装置20は、視覚センサから得られる情報に基づいて保持成否確率分布を決定してもよい。距離画像を用いる場合、保持成否確率分布決定部202は、三次元的な情報を取得できるために、位置姿勢の保持成否確率を決定することが可能となる。また、情報処理装置20は、対象物体41の保持に失敗したときの保持位置の履歴をRAM23に記憶しておき、該対象物体41の状態が変化するまで、該保持位置を新たな対象物体41の保持位置に決定しないように構成されてもよい。対象物体41の状態が変化は、保持の成功、所定回数の視覚情報(画像情報)の取得、保持失敗による位置の変化などである。
(第2実施形態)
第2実施形態のロボットシステムは、第1実施形態のロボットシステム100に、視覚センサ以外の検出装置による検出結果を併用して対象物体41の保持位置を決定する。具体的には、第2実施形態のロボットシステムは、第1実施形態と同様に、視覚センサにより撮像された対象物体41の視覚情報(画像情報)に基づいて対象物体41の保持成否確率分布を決定する。次に、ロボットシステムは、保持成否確率分布に基づいて保持位置を決定して、保持動作を実行する。その際、ロボットシステムは、保持実行結果の成否判定を行い、保持が失敗した場合、保持成否確率分布とロボット10が物体に接触したときの力覚情報とに基づいて前回の保持位置とは異なる保持位置を決定して、再度、保持動作を行う。これにより画像情報だけでは分かりにくいビニール内の物体の位置情報を考慮して次の保持位置が決定される。そのためにロボットシステムは、より短時間で対象物体41の保持に成功することができ、作業効率を向上することができる。
図8は、第2実施形態の情報処理装置の機能説明図である。第2実施形態のロボットシステム101は、第1実施形態のロボットシステム100の構成に力覚センサ5が追加された構成である。情報処理装置2001のハードウェア構成は、図2に示す第1実施形態の情報処理装置20のハードウェア構成と同様である。情報処理装置2001の機能ブロックは、図3に示す第1実施形態の情報処理装置20の機能ブロックに、力覚情報取得部206を追加した構成である。また、情報処理装置2001は、保持位置決定部2031の機能が第1実施形態の保持位置決定部203とは異なる。情報処理装置2001には、力覚センサ5が接続される。他の構成は同様である。ここでは、相違する部分について説明し、同様の構成、処理については説明を省略する。
力覚センサ5は、保持装置3に作用する外力を計測可能な位置に取り付けられている。例えば、力覚センサ5は、保持装置3の基端や、マニピュレータ1の先端に取り付けられる。力覚センサ5は、歪みゲージや圧電素子によって構成され、保持装置3が対象物体41或いは周辺物体42に接触しているときに保持装置3に作用する力(反力)、モーメントを検出する。力覚センサ5は、検出結果から力覚情報を生成して、情報処理装置2001へ送信する。力覚センサ5は、例えば6軸力覚センサ(Force/Torqueセンサ)や、3軸力覚センサである。また、力覚センサ5は、1次元の圧力センサや、接触の有無を判別する接触センサを複数配置して力、モーメントを検出してもよい。
力覚情報取得部206は、力覚センサ5から力覚情報を取得し、取得した力覚情報を保持位置決定部2031へ送信する。力覚情報取得部206は、例えばメモリによって構成される。保持位置決定部2031は、力覚情報取得部206から取得した力覚情報及び保持成否確率分布に基づいて、保持位置を決定する。
図9は、以上のような構成の情報処理装置2001によるロボットシステム101の制御処理を表すフローチャートである。図9では、図4に示す第1実施形態の処理と同じ処理については、同じステップ番号を付してある。同じ処理については説明を省略する。
S8の処理で制御部204が保持動作のためにマニピュレータ1を制御すると、力覚情報取得部206は、力覚センサ5から力覚情報を取得する(S22)。力覚情報取得部206は、取得した力覚情報を保持位置決定部2031へ送信する。なお、この処理は、S8の処理でマニピュレータ1が移動している際に、同時に行われてもよい。例えば、保持位置へマニピュレータ1が移動する際に、力覚情報取得部206は、移動中に常に力覚情報を取得する。制御部204は、力覚情報の値が設定した閾値以上の力及びモーメントの少なくとも一方となった時点で、マニピュレータ1の移動を中断して、S9の保持動作を実行する。
図10は、保持位置の決定方法の説明図である。図10(a)に示すように、画像情報から決定された保持位置が実際の対象物体41の高さよりも低い場合、マニピュレータ1が保持位置まで移動する途中で、保持装置3が対象物体41に接触する。この場合、対象物体41の保持が失敗であるために、保持位置が、力覚センサ5から取得した力覚情報に基づいて修正される。
保持位置にマニピュレータ1が移動した後に取得した力覚情報が閾値以上の力及びモーメントの少なくとも一方を満たさない場合、制御部204は、マニピュレータ1の移動を継続してから保持動作を実行してもよい。図10(b)に示すように、画像情報から決定された保持位置が実際の対象物体41の高さよりも高い場合、マニピュレータ1が保持位置に移動しても保持装置3が対象物体41に接触しないことがある。この場合、制御部204は、力覚情報が閾値以上になるまでマニピュレータ1の移動動作を継続する。このとき、予め動作を継続する距離や時間が設定されていてもよく、力覚情報が閾値以上になるまではマニピュレータ1の移動動作を継続し続けてもよい。
保持位置の決定処理(S21)について説明する。保持位置決定部2031は、力覚情報と保持成否確率分布とに基づいて保持位置の決定を行う。ただし、初回の保持位置決定時には、保持装置3が対象物体41或いは周辺物体42に接触していないため、力覚情報が得られない。そのために保持位置決定部2031は、保持成否確率分布にのみ基づいて初回の保持位置を決定する。2回目以降の保持位置は、例えば、S22の処理で取得した力覚情報を用いて決定される。力覚情報が図10(c)に示すように+x方向の回転モーメントであった場合、保持位置決定部2031は、現在の保持位置よりも+y方向に並進移動した位置が保持に成功する確率が高いと推定する。これは、保持装置3が対象物体41に接触したとき、保持装置3に+x方向回転のモーメントが作用するということは、+y方向に物体があると推測されるためである。このように、保持位置決定部2031は、力覚情報から保持に成功しやすいと思われる位置を推定し、保持成否確率分布と合わせて次の保持位置を決定する。
例えば、保持成否確率分布では、現在の保持位置の+y方向、-y方向のいずれの方向でも保持の成功確率が変わらない場合、力覚情報から+y方向の方が物体のある可能性が高いと推測されれば、+y方向を優先して保持位置が決定される。保持成否確率分布では+y方向よりも-y方向の方が保持の成功確率が高いが、力覚情報では+y方向の方が保持の成功確率が高いと判定されるように、両者から相反する推定が行われた場合がある。この場合、保持位置決定部2031は、予め両者の推定結果に対して重み付けをして、保持位置を決定する。例えば、取得した力覚情報がモーメントである場合、保持位置決定部2031は、予め閾値を設定しておき、その閾値以上のモーメントであれば保持成否確率分布よりも力覚情報を優先するといった方法を採用することができる。また、保持位置決定部2031は、重み付けを用いずに保持成否確率分布の値と力覚情報の値とを直接、推定の入力として用いてもよい。その場合、保持位置決定部2031は、保持成否確率分布の値及び力覚情報の値を入力、保持成否結果を出力として学習を行い、その学習モデルを利用して保持位置を決定する。
以上のように本実施形態のロボットシステム101は、情報処理装置2001により、撮像装置2が撮像した画像(画像情報)に基づいて保持成否確率分布を生成する。情報処理装置2001の保持成否確率分布決定部202は、画像情報から保持に成功/失敗する保持成否確率分布を決定する。情報処理装置20の保持位置決定部2031は、決定した保持成否確率分布に基づいて対象物体41の保持位置を決定する。情報処理装置20の制御部204は、決定した保持位置に基づいてロボット10の動作を制御して、ロボット10に対象物体41を保持する動作を実行させる。この際、力覚センサ5は、保持装置3に作用する力或いはモーメントに応じた力覚情報を生成する。情報処理装置2001は、力覚センサ5から力覚情報を取得して、対象物体41の保持を失敗したときの保持位置の修正に利用する。情報処理装置2001の保持成否判定部205は、ロボット10の保持動作の成功/失敗を判定する。失敗した場合、保持位置決定部2031は、力覚情報及び保持成否確率分布に基づいて、前回までの保持位置とは異なる次の保持位置を決定する。情報処理装置2001は、対象物体41を保持するまで、繰り返し保持位置を更新しながらロボット10に保持動作を行わせることになる。
情報処理装置2001は、力覚センサ5を併用することで、ビニール袋や緩衝材の内部の位置情報を取得できる。そのために情報処理装置2001は、ビニール袋や緩衝材の内部の対象物体41の位置を推定して保持位置を決定することができる。このような制御により、画像情報によって位置及び姿勢を正確に認識できず、保持装置3が保持に失敗する可能性があるようなビニール袋や緩衝材に包まれた対象物体41であっても、対象物体41の位置情報を決定することができる。ロボットシステム101は、ビニール袋や緩衝材の内部のどの位置に対象物体41があるかまで推定して保持位置を決定できるため、短時間で対象物体41の保持が可能となり、作業の効率化を図ることができる。
ロボットシステム101は、力覚センサ5に代えて物体と保持装置3との近接距離を検出する近接覚センサを備えてもよい。力覚センサ5を用いた場合、接触により対象物体41の位置が検出されるが、近接覚センサを用いた場合、対象物体41の表面の法線が検出される。近接近センサは、物体と保持装置3との近接距離を表す近接覚情報を生成して、情報処理装置2001へ送信する。近接近センサは、撮像装置2が撮像した画像だけでは検出が困難な対象物体41表面の法線を正確に検出できる。近接覚センサは複数用いられてもよい。情報処理装置2001は、近接覚情報取得部により近接覚情報を取得して、対象物体41の保持を失敗したときの保持位置の修正に利用する。対象物体41の保持を失敗した場合、保持位置決定部2031は、近接覚情報及び保持成否確率分布に基づいて、前回までの保持位置とは異なる次の保持位置を決定することになる。
対象物体41の表面の法線が検出されるために、対象物体41に対して法線方向に保持装置3がアプローチを行うことができるようになる。これにより、例えば保持装置3が吸着パッドの場合、保持装置3は、エアーのリークが少なくなるように対象物体41にアプローチできる。そのために保持の成功確率が向上する。情報処理装置2001は、近接覚センサ6による検出結果から対象物体41の位置や表面の法線方向の情報を取得して、該情報と保持成否確率分布とに基づいて保持位置を決定する。
(第3実施形態)
第3実施形態のロボットシステムは、第1実施形態のロボットシステム100において、システム制約条件も考慮して対象物体41の保持位置を決定する構成である。具体的には、第3実施形態のロボットシステムは、第1実施形態と同様に、視覚センサにより撮像して得られた対象物体41の視覚情報(画像情報)に基づいて対象物体41の保持成否確率分布を決定する。次に、ロボットシステムは、保持成否確率分布にシステム制約条件を考慮して保持位置を決定して、保持動作を実行する。「システム制約条件」は、ロボット10の運用時に優先する制約条件である。システム制約条件は、例えばシステムのチョコ停の防止優先や、システムのタクトを短くすることを優先する、といった条件である。
チョコ停とは、短時間のシステムの停止であり、重大な故障ではないが、システムを再稼働させるために人手作業が必要になり、一時的に生産ラインが止まってしまう現象である。チョコ停を防止するためのパラメータは、周辺物体42へのロボット10の干渉のしにくさや、対象物体41を保持しているときの周辺物体42への対象物体41の干渉のしにくさである。そのために、チョコ停の防止を優先する場合、例えばロボット10が周辺物体42にできるだけ干渉しないように保持位置が決定される。
タクトとは、システムが生産対象の物品を1つ作成するのに必要な時間であり、1日あたりの稼働時間を1日あたりの生産数で除した値である。タクトを短くするためのパラメータは、移動距離の短さや速度の出しやすさである。移動距離は、例えば保持位置間の距離である。速度の出しやすさは、例えばマニピュレータ1の関節角度から求まる可操作度(マニュピレータ1先端の位置や姿勢を、どの程度自由に操作できるのかを表す指標)である。そのために、タクトを短くことを優先する場合、例えばロボット10の移動距離を短くしたり、速度を速くしやすい状態を保ったりするよう保持位置が決定される。
ロボットシステムは、保持動作後に保持実行結果の成否判定を行う。保持が失敗した場合、ロボットシステムは、保持成否確率分布及びシステム制約条件に基づいて前回の保持位置とは異なる保持位置を決定して、再び保持動作を行う。これによりロボットシステムに求められる機能を優先して次の保持位置が決められるために、作業効率が向上する。
図11は、第3実施形態の情報処理装置の機能説明図である。第3実施形態のロボットシステム102は、第1実施形態のロボットシステム100と同じ構成である。情報処理装置2002のハードウェア構成は、図2に示す第1実施形態の情報処理装置20のハードウェア構成と同様である。情報処理装置2002の機能ブロックは、図3に示す第1実施形態の情報処理装置20の機能ブロックと同じ構成であるが、保持位置決定部2032及び制御部2041の機能が第1実施形態の保持位置決定部203及び制御部204とは異なる。制御部2041は、予め設定されるシステム制約条件を保持位置決定部2032へ送信する。保持位置決定部2032は、システム制約条件を考慮した保持位置の決定を行う。他の構成は同様である。ここでは、相違する部分について説明し、同様の構成、処理については説明を省略する。
制御部2041は、システム制約条件に関する情報を保持位置決定部2032へ送信する。保持位置決定部2032は、制御部2041から取得したシステム制約条件に関する情報を考慮して、保持成否確率分布に基づいて保持位置を決定する。システム制約条件は、設計者やオペレータに適宜設定されて、例えば予めRAM23や外部メモリ24に格納される。上記の通り、システム制約条件は、システムのチョコ停の防止優先や、システムのタクトを短くすることを優先する、といった条件である。
チョコ停の原因には、以下のようなものがある。例えば、ロボット10が周辺物体42に干渉することで対象物体41が入った箱が動いて対象物体41が箱から落下すると、チョコ停が発生する。また、撮像装置2や保持装置3の相対的位置関係が変化してキャリブレーションをやり直す必要が発生すると、チョコ停が発生する。そのため、ロボット10が周辺物体42に干渉しないように保持位置を決定する必要がある。ロボット10が周辺物体42に干渉しにくい保持位置とは、例えば、マニピュレータ1の可動領域が十分に確保できている位置姿勢である。マニピュレータ1が可動領域の限界近くで動作する場合、ひねるような動作を行い、オペレータの意図とは異なる軌道によりロボット10が周辺物体42に干渉してしまう可能性がある。そのために制御部2041は、チョコ停を防止するためのシステム制約条件として、マニピュレータ1の関節角度情報或いは位置姿勢情報を保持位置決定部2032へ送信する。
タクトを短くする要因には、ロボット10の移動距離を短くしたり、ロボット10が速度を出しやすい状態を保ったりすることがあげられる。そのために保持位置間の距離を短くしたり、マニピュレータ1の可操作度を高く保ったりできるように保持位置が決定される。保持位置間の距離を短くするには、現在のマニピュレータ1の位置姿勢情報からの差分を取る必要がある。そのために制御部2041は、タクトを短くするためのシステム制約条件として、マニピュレータ1の関節角度情報或いは位置姿勢情報を保持位置決定部2032へ送信する。マニピュレータ1の可操作度を高く保つには、マニピュレータ1の関節角度情報から可操作度を計算する必要があるため、制御部2041は、マニピュレータ1の関節角度情報を保持位置決定部2032へ送信する。
図12は、以上のような構成の情報処理装置2002によるロボットシステム101の制御処理を表すフローチャートである。図12では、図4に示す第1実施形態の処理と同じ処理については、同じステップ番号を付してある。同じ処理については説明を省略する。
S6の処理で保持成否確率分布決定部202が保持成否確率分布を決定すると、保持位置決定部2032は、システム制約条件及び保持成否確率分布に基づいて保持位置を決定する(S31)。図13は、この場合の保持位置の決定方法の説明図である。図13(a)は、撮像装置2から取得した画像を例示する。図13(b)は、この画像から得られる保持成否確率分布を例示する。
システム制約条件がチョコ停防止の場合、保持位置は、できるだけ箱の中心付近となる方が、ロボット10が箱に干渉する可能性が低くなる。具体的には、図13(c)に示すように、箱の中から周囲に向かって1~4の順番で保持位置の候補となる位置の優先順位が付けられる。この順番で保持動作が実行されると、ロボット10は、箱の中心付近から順に保持動作を行うことになる。そのためにロボット10が箱に干渉する可能性の低い位置から順番に、保持動作を行うことができる。なお、図13(c)の優先順位4のように箱の壁面から一定距離内の位置の場合、ロボット10が箱に干渉する可能性が高い。この場合、この位置が優先順位から除外されてもよい。
優先順位が付される保持位置の候補となる位置は、例えば、保持成否確率が所定の閾値を上回っている位置に関しては同等に扱われて、保持位置候補として決定される。決定された複数の保持位置候補に対して、システム制約条件を考慮して、優先順位付けが行われる。或いは、保持成否確率とシステム制約条件との重み付けを行って保持位置候補の優先順位を決定してもよい。例えば、保持位置候補は、箱の中央に近いほど「1」に近いスコアが付けられ、箱の隅に近いほど「0」に近いスコアが付けられる。スコアは線形でも非線形でもよい。その際、各位置に対して、保持成否確率とスコアの乗算した結果から各位置の優先順位が付けられてもよい。
保持に失敗して再度保持動作を行う場合、保持装置3は、周辺物体42に干渉しないように考慮される。具体的には、保持装置3は、保持動作時に対象物体41及び周辺物体42に近い位置にある。保持に失敗して次の保持位置へ移動する場合、そのまま横にスライドさせるように保持装置3を動かすと、保持装置3が対象物体41や周辺物体42に干渉する。これにより対象物体41や周辺物体42に傷がついたり、保持装置3が壊れてしまう恐れがある。そのためにロボット10が対象物体41や周辺物体42に干渉しないようにロボット10の軌道が決定される。例えば、撮像装置2により撮像された画像から確認される周辺物体42の配置に基づいて、周辺物体42に干渉しないように軌道が決定される。
また、保持装置3は、保持動作時の干渉だけでなく、保持後の搬送・配置動作も考慮される。例えば、保持装置3は、保持動作後に対象物体41を保持している状態で周辺物体42に対象物体41が干渉することがある。この場合、対象物体41が、落下したり傷ついたりする可能性がある。そのため、対象物体41が周辺物体42に干渉しないようにロボット10の軌道が決定される。例えば、撮像装置2により撮像された画像から確認される周辺物体42の配置に基づいて、保持装置3により保持されている対象物体41が周辺物体42に干渉しないように軌道が決定される。
システム制約条件がタクトを短くする場合、前回と今回の保持位置間の距離をできるだけ短くする方がタクトは短くなる。例えば、図13(b)に示すような保持成否確率分布の場合、まずは図13(d)に示すように、保持成否確率が最も高い保持位置候補が1番目の保持位置に決定される。次に、1番目の保持位置からの距離を考慮して、2番目の保持位置が決定される。2番目の保持位置を図13(d)のように決定する理由は、1番目の保持位置から他の3つの保持位置候補得までの距離を比較したとき、1番目の保持位置に最も近いためである。保持位置候補が複数ある場合、単に1番目の保持位置に応じて2番目の保持位置を決定するだけでなく、その後の3、4番目以降の保持位置候補までの距離を総合的に判断して、2番目以降の保持位置を決定してもよい。また、1番目の保持位置は、その他の保持位置候補との位置関係を考慮して、必ずしも保持成否確率が最も高い保持位置候補としなくてもよい。
また、システム制約条件がタクトを短くする場合の他の例として、ロボット10の速度が出しやすい状態を保てるよう保持位置を決定することで、タクトを短くすることができる。例えば、移動距離が略同じの複数の保持位置候補が存在する場合、現在のマニピュレータ1の可操作性楕円体や、移動後のマニピュレータ1の位置姿勢を考慮して優先度が決定される。可操作性楕円体は、可操作度を空間において表現しており、主軸半径の長い方向が速度を出しやすく、主軸半径の短い方向が速度を出しにくい楕円体である。可操作性楕円体を考慮することで、速度の出しやすい方向にある保持位置候補の優先度を高くする。移動後のマニピュレータ1の位置姿勢を考慮することで、より可操作度が高い位置姿勢で保持を行える保持位置候補の優先度が上げられる。このようにしてマニピュレータ1の速度をできるだけ出しやすい位置姿勢を取りながら保持動作を行えるため、タクトの短縮が可能となる。
以上のように本実施形態のロボットシステム102は、情報処理装置2002により、撮像装置2が撮像した画像に基づいて保持成否確率分布を生成する。情報処理装置2002の保持成否確率分布決定部202は、画像情報から保持に成功/失敗する保持成否確率分布を決定する。情報処理装置20の保持位置決定部2032は、決定した保持成否確率分布及び制御部2041から取得するシステム制約条件に基づいて対象物体41の保持位置を決定する。情報処理装置20の制御部2041は、決定した保持位置に基づいてロボット10の動作を制御して、ロボット10に対象物体41を保持する動作を実行させる。情報処理装置2002の保持成否判定部205は、ロボット10の保持動作の成功/失敗を判定する。失敗した場合、保持位置決定部2032は、システム制約条件及び保持成否確率分布に基づいて、前回までの保持位置とは異なる次の保持位置を決定する。情報処理装置2002は、対象物体41を保持するまで、繰り返し保持位置を更新しながらロボット10に保持動作を行わせることになる。
情報処理装置2002は、チョコ停防止やタクト短縮などのシステム制約条件を考慮することで、より目的にあったロボットシステム102の運用を行うことができる。このような制御により、撮像装置2によって位置及び姿勢を正確に認識できず、保持装置3が保持に失敗する可能性があるような、ビニール袋や緩衝材に包まれた対象物体41であっても、システム制約条件を考慮することで目的に応じた運用が可能となる。そのためにロボットシステム102は、作業の効率化を図ることができる。
(第4実施形態)
第4実施形態のロボットシステムは、保持に失敗したときに、再度、保持成否確率分布に基づいて保持位置を決定することなく、マニピュレータ・保持制御を行う。具体的には、第4実施形態のロボットシステムは、第1実施形態と同様に、視覚センサにより撮像して得られた対象物体41の視覚情報(画像情報)に基づいて対象物体41の保持成否確率分布を決定する。次に、ロボットシステムは、保持成否確率分布に基づいて、保持位置の候補となる複数の保持位置候補と各保持位置候補の優先順位を決定し、保持動作を実行する。
ロボットシステムは、対象物体41の保持を失敗した場合に、複数の保持位置候補の優先順位に応じて次の保持位置を決定し、再び保持動作を行う。これによりロボットシステムは、保持位置の決定処理の回数が少なくなり、より短時間で保持動作を行うことが可能となり、作業効率が向上する。つまり、保持成否確率分布に基づく保持位置の決定処理が一回だけであり、保持位置の決定処理を繰り返さないため、より短時間で保持に成功することができ、作業効率が向上する。
図14は、第4実施形態の情報処理装置の機能説明図である。第4実施形態のロボットシステム103は、第1実施形態のロボットシステム100と同じ構成である。情報処理装置2003のハードウェア構成は、図2に示す第1実施形態の情報処理装置20のハードウェア構成と同様である。情報処理装置2003の機能ブロックは、図3に示す第1実施形態の情報処理装置20の機能ブロックと同じ構成であるが、保持位置決定部2033、制御部2042、及び保持成否判定部2051の機能が第1実施形態とは異なる。
保持位置決定部2033は、保持成否確率分布決定部202で決定された保持成否確率分布に基づいて、複数の保持位置候補とその優先順位を決定する。保持位置決定部2033は、決定した複数の保持位置候補とその優先順位を制御部2042へ送信する。
保持成否判定部2051は、保持装置3が対象物体41を保持したときに、保持の成否を判定する。判定方法は、第1実施形態で説明した通りである。保持成否判定部2051は、判定結果を制御部2042へ送信する。
制御部2042は、撮像時に、マニピュレータ1の位置姿勢を制御して、撮像装置2が移動すると撮像装置2に撮像トリガーを送信する。制御部2042は、保持時に、マニピュレータ1を保持位置姿勢になるよう制御して、保持装置3が移動すると保持装置3に保持トリガーを送信する。制御部2042は、マニピュレータ1の保持位置姿勢を決定するための保持位置候補を、保持位置決定部2033から取得する。保持位置候補が複数ある場合、制御部2042は、複数の保持位置候補を優先順位とともに取得する。制御部2042は、保持成否判定部2051から保持に失敗したことを表す情報を取得した場合、保持位置決定部2033から取得した保持位置候補の優先順位に応じた保持位置で再度保持動作を行うように、マニピュレータ・保持制御を行う。
図15は、以上のような構成の情報処理装置2003によるロボットシステム103の制御処理を表すフローチャートである。図15では、図4に示す第1実施形態の処理と同じ処理については、同じステップ番号を付してある。同じ処理については説明を省略する。
S6の処理で保持成否確率分布決定部202が保持成否確率分布を決定すると、保持位置決定部2032は、保持成否確率分布に基づいて複数の保持位置候補及びそれらの優先順位を決定する(S41)。保持位置決定部2032は、決定した複数の保持位置候補及び優先順位を制御部2042へ送信する。
複数の保持位置候補は、例えば、保持成否確率分布から確率の高い位置を抽出してクラスタリングすることで所定数の候補範囲を決定し、候補範囲の中心を保持位置候補とすることで決定される。クラスタリングする際の範囲は、保持装置3に吸着パッドを用いている場合、吸着パッドの直径とすることができる。複数の保持位置候補の優先順位は、各候補範囲内において、保持成否確率分布の確率が所定の閾値以上である位置の数の多さや、保持成否確率分布の確率の最大値の大きさから決定することができる。
また、複数の保持位置候補は、最初に一つ保持位置候補を決定し、この保持位置候補に対して所定の動作で周囲を保持するように他の保持位置候補を決定してもよい。例えば、最初に決定した保持位置候補を中心とした半径rの円周上で、角度θの間隔の各位置が保持位置候補に決定される。保持成否確率の高い範囲の形に応じて、最初に決定した保持位置候補の周囲を保持位置候補としてもよい。例えば、最初の保持位置候補を中心として保持成否確率の高い範囲が楕円形状になっている場合、その楕円形状の範囲内から保持位置候補が決定される。最初の保持位置候補に対して、対象物体41までの距離(平面に配置している場合は高さ)のみを変化させて、他の保持位置候補を決定してもよい。
制御部2042は、保持動作のためにマニピュレータ1の動作を制御する(S42)。具体的には、制御部2042は、保持位置決定部2033が決定した位置姿勢や軌道に基づいてマニピュレータ1をどのように動かせばいいかを決定して、マニピュレータ1を動作させる。
保持成否判定部2051は、保持装置3が対象物体41の保持に成功したか否かを判定する(S43)。保持成否判定の方法は、第1実施形態と同様である。保持成否判定部2051が保持に成功したと判定した場合(S43:Y)、情報処理装置2003は、S11以降の処理を行う。保持に失敗したと判定された場合(S43:N)、保持成否判定部2051は、制御部2042に保持に失敗したという情報を送信する。制御部2042は、保持に失敗したという情報を取得すると、再度、保持動作を行うために、保持位置決定部2033により決定された複数の保持位置候補から優先順位に応じて保持位置を決定する。制御部2042は。該保持位置による保持動作を行うようにマニピュレータ1を制御する(S42)。
以上のように本実施形態のロボットシステム103は、情報処理装置2003により、撮像装置2が撮像した画像に基づいて保持成否確率分布を生成する。情報処理装置2003の保持成否確率分布決定部202は、画像情報から保持に成功/失敗する保持成否確率分布を決定する。情報処理装置20の保持位置決定部2032は、決定した保持成否確率分布に基づいて対象物体41の複数の保持位置候補及び各保持位置候補の優先順位を決定する。情報処理装置20の制御部2041は、保持位置候補から決定した保持位置に基づいてロボット10の動作を制御して、ロボット10に対象物体41を保持する動作を実行させる。情報処理装置2003の保持成否判定部205は、ロボット10の保持動作の成功/失敗を判定する。失敗した場合、制御部2042は、優先順位に基づいて、前回までの保持位置とは異なる次の保持位置を保持位置候補から決定する。情報処理装置2003は、対象物体41を保持するまで、繰り返し保持位置を更新しながらロボット10に保持動作を行わせることになる。
情報処理装置2003は、保持成否確率分布に基づいて複数の保持位置候補と各保持位置候補の優先順位を一度に決定する。このような制御により、決定処理の回数が低減され、短時間で対象物体41の保持が可能となる。そのためにロボットシステム102は、作業の効率化を図ることができる。
以上のような第1~第4実施形態では、保持位置を決定するための情報として、距離画像の信頼度が用いられてもよい。ビニール袋や緩衝材に包まれたような距離画像が正確に得にくい対象物体41に対して、距離画像の信頼度に基づいて保持位置を決定することで、対象物体41へのアプローチがより成功しやすくなる。そのために短時間で保持が成功でき、作業効率が向上する。また、第1~第4実施形態では、対象物体41は、例えば、変形や光の反射が原因で保持位置の正確な推定が困難な物体、電源コードのような柔軟物体や金属、半透明の物体であってもよい。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (19)

  1. 操作対象である対象物体を保持するための保持装置を有するロボットの動作を制御する情報処理装置であって、
    前記対象物体の視覚情報を取得する取得手段と、
    前記視覚情報に基づいて、前記対象物体を保持するための位置毎の前記保持装置による前記対象物体の保持の成否の確率分布を決定する確率分布決定手段と、
    前記確率分布に基づいて前記対象物体の保持位置を決定する保持位置決定手段と、
    前記保持位置に基づいて前記ロボットを移動させて、前記保持装置に前記対象物体の保持動作を行わせる制御手段と、を備え、
    前記保持位置決定手段は、前記保持装置による前記対象物体の保持が失敗した場合に、前記保持位置において前記保持装置が前記対象物体に作用する保持範囲の中の前記保持位置の周辺に、前記確率分布で所定の閾値以上の保持の成功確率が存在する場合には、前記所定の閾値以上の保持の成功確率である当該位置から次の保持位置を決定することを特徴とする、
    情報処理装置。
  2. 前記確率分布決定手段は、前記ロボットによる前記対象物体の保持の成否に基づいて作成された学習モデルを用いて、前記確率分布を決定することを特徴とする、
    請求項1に記載の情報処理装置。
  3. 前記保持位置決定手段は、前記保持装置による前記対象物体の保持が失敗した場合に、前記保持範囲に前記所定の閾値以上の保持の成功確率である位置が存在しなければ、前記保持範囲の外における前記所定の閾値以上の保持の成功確率である位置から次の保持位置に決定することを特徴とする、
    請求項1又は2に記載の情報処理装置。
  4. 前記保持装置が物体に接触したときに作用する外力を表す力覚情報を取得する力覚情報取得手段をさらに備えており、
    前記保持位置決定手段は、前記力覚情報及び前記確率分布に基づいて前回とは異なる保持位置を決定することを特徴とする、
    請求項1~3のいずれか1項に記載の情報処理装置。
  5. 前記保持装置と前記対象物体との近接距離を表す近接覚情報を取得する近接覚情報取得手段をさらに備えており、
    前記保持位置決定手段は、前記近接覚情報及び前記確率分布に基づいて前回とは異なる保持位置を決定することを特徴とする、
    請求項1~3のいずれか1項に記載の情報処理装置。
  6. 前記ロボットの運用時に優先する制約条件を格納する格納手段をさらに備えており、
    前記保持位置決定手段は、前記制約条件及び前記確率分布に基づいて前回とは異なる保持位置を決定することを特徴とする、
    請求項1~3のいずれか1項に記載の情報処理装置。
  7. 前記格納手段は、前記ロボットの移動に関するパラメータ或いは前記対象物体を含む物体の配置に関する条件を前記制約条件として格納することを特徴とする、
    請求項6に記載の情報処理装置。
  8. 前記保持位置決定手段は、前記確率分布に基づいて前記保持位置の候補となる複数の保持位置候補と各保持位置候補の優先順位とを決定し、
    前記制御手段は、前記保持位置決定手段に代わって、前記優先順位に基づいて前記複数の保持位置候補から前記保持位置を決定し、該保持位置に基づいて前記ロボットを移動させて、前記ロボットに前記対象物体の保持動作を行わせることを特徴とする、
    請求項1~3のいずれか1項に記載の情報処理装置。
  9. 前記制御手段は、前記判定手段が、前記保持装置による前記対象物体の保持が失敗したと判定した場合に、前記保持位置決定手段に代わって、前記優先順位に基づいて前回とは異なる保持位置を前記複数の保持位置候補から決定することを特徴とする、
    請求項8に記載の情報処理装置。
  10. 前記判定手段が、前記保持装置による前記対象物体の保持が失敗したと判定した場合にそのときの保持位置を記憶する記憶手段をさらに備えており、
    前記保持位置決定手段は、該対象物体の状態が変化するまで、該保持位置を保持位置に決定しないことを特徴とする、
    請求項1~9のいずれか1項に記載の情報処理装置。
  11. 前記取得手段は、前記視覚情報として、前記対象物体の画像情報及び前記対象物体の距離情報のいずれかを取得することを特徴とする、
    請求項1~10のいずれか1項に記載の情報処理装置。
  12. 前記保持装置は、吸着パッドを有しており、前記保持範囲は、前記吸着パッドの直径であることを特徴とする、
    請求項1~11のいずれか1項に記載の情報処理装置。
  13. 操作対象である対象物体を保持するための保持装置を有するロボットの動作を制御する情報処理装置により実行される方法であって、
    前記対象物体の視覚情報に基づいて、前記対象物体を保持するための位置毎の前記保持装置による前記対象物体の保持の成否の確率分布を決定し、
    前記確率分布に基づいて前記対象物体の保持位置を決定し、
    前記保持位置に基づいて前記ロボットを移動させて、前記保持装置に前記対象物体の保持動作を行わせ、
    前記保持装置による前記対象物体の保持が失敗した場合に、前記保持位置において前記保持装置が前記対象物体に作用する保持範囲の中の前記保持位置の周辺に、前記確率分布で所定の閾値以上の保持の成功確率が存在する場合には、前記所定の閾値以上の保持の成功確率である当該位置から次の保持位置を決定することを特徴とする、
    制御方法。
  14. 操作対象である対象物体を保持するための保持装置を有するロボットと、
    前記ロボットの動作を制御する情報処理装置と、を備え、
    前記情報処理装置は、
    前記対象物体の視覚情報を取得する取得手段と、
    前記視覚情報に基づいて、前記対象物体を保持するための位置毎の前記保持装置による前記対象物体の保持の成否の確率分布を決定する確率分布決定手段と、
    前記確率分布に基づいて前記対象物体の保持位置を決定する保持位置決定手段と、
    前記保持位置に基づいて前記ロボットを移動させて、前記保持装置に前記対象物体の保持動作を行わせる制御手段と、を備え、
    前記保持位置決定手段は、前記保持装置による前記対象物体の保持が失敗した場合に、前記保持位置において前記保持装置が前記対象物体に作用する保持範囲の中の前記保持位置の周辺に、前記確率分布で所定の閾値以上の保持の成功確率が存在する場合には、前記所定の閾値以上の保持の成功確率である当該位置から次の保持位置を決定することを特徴とする、
    ロボットシステム。
  15. 前記ロボットは、前記保持装置が着脱可能に取り付けられたマニピュレータと、
    前記対象物体の前記視覚情報を生成する視覚センサと、をさらに備えることを特徴とする、
    請求項1に記載のロボットシステム。
  16. 前記ロボットは、前記保持装置に作用する外力を検出して、検出した前記外力を表す力覚情報を生成する力覚センサをさらに備え、
    前記保持位置決定手段は、前記力覚情報及び前記確率分布に基づいて前回とは異なる保持位置を決定することを特徴とする、
    請求項1に記載のロボットシステム。
  17. 前記ロボットは、前記保持装置と前記対象物体との近接距離を検出して、検出した前記近接距離を表す近接覚情報を生成する近接覚センサをさらに備え、
    前記保持位置決定手段は、前記近接覚情報及び前記確率分布に基づいて前回とは異なる保持位置を決定することを特徴とする、
    請求項1に記載のロボットシステム。
  18. 操作対象である対象物体を保持するための保持装置を有するロボットの動作を制御するコンピュータを、
    前記対象物体の視覚情報を取得する取得手段、
    前記視覚情報に基づいて、前記対象物体を保持するための位置毎の前記保持装置による前記対象物体の保持の成否の確率分布を決定する確率分布決定手段、
    前記確率分布に基づいて前記対象物体の保持位置を決定する保持位置決定手段、
    前記保持位置に基づいて前記ロボットを移動させて、前記保持装置に前記対象物体の保持動作を行わせる制御手段として機能させ、
    前記保持位置決定手段に、前記保持装置による前記対象物体の保持が失敗した場合に、前記保持位置において前記保持装置が前記対象物体に作用する保持範囲の中の前記保持位置の周辺に、前記確率分布で所定の閾値以上の保持の成功確率が存在する場合には、前記所定の閾値以上の保持の成功確率である当該位置から次の保持位置を決定させる、
    コンピュータプログラム。
  19. 請求項18に記載のコンピュータプログラムを記憶する、コンピュータにより読み取り可能な記憶媒体。
JP2018087447A 2018-04-27 2018-04-27 情報処理装置、制御方法、ロボットシステム、コンピュータプログラム、及び記憶媒体 Active JP7154815B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018087447A JP7154815B2 (ja) 2018-04-27 2018-04-27 情報処理装置、制御方法、ロボットシステム、コンピュータプログラム、及び記憶媒体
US16/386,140 US11285603B2 (en) 2018-04-27 2019-04-16 Information processing apparatus, control method, robot system, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018087447A JP7154815B2 (ja) 2018-04-27 2018-04-27 情報処理装置、制御方法、ロボットシステム、コンピュータプログラム、及び記憶媒体

Publications (2)

Publication Number Publication Date
JP2019188580A JP2019188580A (ja) 2019-10-31
JP7154815B2 true JP7154815B2 (ja) 2022-10-18

Family

ID=68292044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018087447A Active JP7154815B2 (ja) 2018-04-27 2018-04-27 情報処理装置、制御方法、ロボットシステム、コンピュータプログラム、及び記憶媒体

Country Status (2)

Country Link
US (1) US11285603B2 (ja)
JP (1) JP7154815B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7135750B2 (ja) * 2018-11-12 2022-09-13 富士通株式会社 学習プログラム、学習方法、学習装置、検知プログラム、検知方法及び検知装置
JP7059968B2 (ja) * 2019-03-01 2022-04-26 オムロン株式会社 制御装置および位置合わせ装置
JP2021049597A (ja) * 2019-09-24 2021-04-01 ソニー株式会社 情報処理装置、情報処理システム及び情報処理方法
US11229494B2 (en) * 2019-10-24 2022-01-25 Verb Surgical Inc. Regulating joint space velocity of a surgical robotic arm
CN112775957B (zh) * 2019-11-08 2022-06-14 珠海一微半导体股份有限公司 作业机器人的控制方法、作业机器人系统及芯片
CN111251271B (zh) * 2020-03-17 2023-02-21 青岛聚远网络科技有限公司 一种旋转激光雷达及室内地图构建和定位的slam机器人
JP6811505B1 (ja) * 2020-08-20 2021-01-13 地方独立行政法人鳥取県産業技術センター ピッキング装置およびピッキング方法
CN113359639B (zh) * 2021-06-23 2022-07-15 浙江安防职业技术学院 基于安全检测机器人的工厂设备监控方法及系统
EP4292772A1 (en) * 2022-06-15 2023-12-20 Siemens Aktiengesellschaft Heuristic-based robotic grasps
WO2024047924A1 (ja) * 2022-08-29 2024-03-07 パナソニックIpマネジメント株式会社 画像認識装置、画像認識方法およびプログラム
US20240109191A1 (en) * 2022-09-30 2024-04-04 Ats Corporation Automated workpiece transfer systems and methods of implementing thereof

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001179669A (ja) 1999-12-21 2001-07-03 Meidensha Corp ロボットの制御装置
US20040249509A1 (en) 2003-04-22 2004-12-09 John Rogers System of path planning for robotic manipulators based on maximum acceleration and finite jerk constraints
JP2013119121A (ja) 2011-12-06 2013-06-17 Ihi Corp 対象物取り出し装置と方法
JP2013184279A (ja) 2012-03-09 2013-09-19 Canon Inc 情報処理装置、情報処理方法
JP2015089589A (ja) 2013-11-05 2015-05-11 ファナック株式会社 バラ積みされた物品をロボットで取出す装置及び方法
JP2017136677A (ja) 2015-07-29 2017-08-10 キヤノン株式会社 情報処理装置、情報処理方法、ロボット制御装置及びロボットシステム
WO2017151206A1 (en) 2016-03-03 2017-09-08 Google Inc. Deep machine learning methods and apparatus for robotic grasping

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE529377C2 (sv) * 2005-10-18 2007-07-24 Morphic Technologies Ab Publ Metod och arrangemang för att lokalisera och plocka upp föremål från en bärare
US9995047B2 (en) * 2015-06-09 2018-06-12 Integrated Construction Enterprises, Inc. Construction board installation robot
JP6522488B2 (ja) 2015-07-31 2019-05-29 ファナック株式会社 ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法
US9694494B1 (en) * 2015-12-11 2017-07-04 Amazon Technologies, Inc. Feature identification and extrapolation for robotic item grasping
CN111226237A (zh) * 2017-09-01 2020-06-02 加利福尼亚大学董事会 用于稳健抓取和瞄准物体的机器人系统和方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001179669A (ja) 1999-12-21 2001-07-03 Meidensha Corp ロボットの制御装置
US20040249509A1 (en) 2003-04-22 2004-12-09 John Rogers System of path planning for robotic manipulators based on maximum acceleration and finite jerk constraints
JP2013119121A (ja) 2011-12-06 2013-06-17 Ihi Corp 対象物取り出し装置と方法
JP2013184279A (ja) 2012-03-09 2013-09-19 Canon Inc 情報処理装置、情報処理方法
JP2015089589A (ja) 2013-11-05 2015-05-11 ファナック株式会社 バラ積みされた物品をロボットで取出す装置及び方法
JP2017136677A (ja) 2015-07-29 2017-08-10 キヤノン株式会社 情報処理装置、情報処理方法、ロボット制御装置及びロボットシステム
WO2017151206A1 (en) 2016-03-03 2017-09-08 Google Inc. Deep machine learning methods and apparatus for robotic grasping

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JEFFREY MAHLER, JACKY LIANG, SHERDIL NIYAZ, MICHAEL LASKEY, RICHARD DOAN, XINYU LIU, JUAN APARICIO OJEA, KEN GOLDBERG,Dex-Net 2.0: Deep Learning to Plan Robust Grasps with Synthetic Point Clouds and Analytic Grasp Metrics,COMPUTER SCIENCE_ ROBOTICS,no. arXiv:1703.09312,2017年08月08日

Also Published As

Publication number Publication date
JP2019188580A (ja) 2019-10-31
US20190329409A1 (en) 2019-10-31
US11285603B2 (en) 2022-03-29

Similar Documents

Publication Publication Date Title
JP7154815B2 (ja) 情報処理装置、制御方法、ロボットシステム、コンピュータプログラム、及び記憶媒体
US10839261B2 (en) Information processing apparatus, information processing method, and storage medium
JP6752615B2 (ja) 情報処理装置、情報処理方法、ロボット制御装置及びロボットシステム
JP2019188516A (ja) 情報処理装置、情報処理方法、及びプログラム
JP6586532B2 (ja) ロボットの把持のための深層機械学習方法および装置
US10335951B2 (en) Information processing apparatus, information processing method, robot control apparatus, and robot system
CN110046538B (zh) 抓握装置、抓握系统、确定方法、学习装置、模型和方法
US10800033B2 (en) Robot control apparatus, robot control method, robot system, and storage medium
US11541545B2 (en) Information processing apparatus, information processing method, and system
CN111788041A (zh) 由机器人基于使用(一个或多个)机器学习模型确定的抓取策略对物体的抓取
US9415511B2 (en) Apparatus and method for picking up article randomly piled using robot
US9089971B2 (en) Information processing apparatus, control method thereof and storage medium
KR20210096615A (ko) 자동 패키지 등록 메커니즘을 갖는 로봇 시스템 및 이의 동작방법
US11331799B1 (en) Determining final grasp pose of robot end effector after traversing to pre-grasp pose
JP6816070B2 (ja) 干渉回避装置およびロボットシステム
US20230321821A1 (en) Method and system for object grasping
US11393063B2 (en) Object detecting method, object detecting device, and robot system
JP2016196077A (ja) 情報処理装置、情報処理方法、およびプログラム
US11235463B2 (en) Robot system and robot control method for cooperative work with human
US20230030852A1 (en) Control apparatus for robotic system, control method for robotic system, computer-readable storage medium storing a computer control program, and robotic system
JP7163116B2 (ja) 情報処理装置及びピッキングシステム
WO2024023934A1 (ja) ワーク取出し装置、ワーク取出し方法及び制御装置
US11679502B2 (en) Robot control system
US20240123627A1 (en) Robot control device
JP2023063110A (ja) ピッキングシステム、ピッキング装置、制御装置、プログラム、及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220601

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221005

R151 Written notification of patent or utility model registration

Ref document number: 7154815

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151