JP2022060003A - 情報処理装置、情報処理装置の制御方法およびプログラム - Google Patents
情報処理装置、情報処理装置の制御方法およびプログラム Download PDFInfo
- Publication number
- JP2022060003A JP2022060003A JP2020167963A JP2020167963A JP2022060003A JP 2022060003 A JP2022060003 A JP 2022060003A JP 2020167963 A JP2020167963 A JP 2020167963A JP 2020167963 A JP2020167963 A JP 2020167963A JP 2022060003 A JP2022060003 A JP 2022060003A
- Authority
- JP
- Japan
- Prior art keywords
- state
- target object
- abnormal state
- information
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Manipulator (AREA)
- Container Filling Or Packaging Operations (AREA)
Abstract
【課題】対象物体の配置作業の途中で異常状態になった場合でも、正常状態に復旧して作業を継続するための技術を提供する。【解決手段】対象物体を操作するロボットを制御する情報処理装置であって、前記対象物体と当該対象物体を配置する配置場所とを撮影して得られた視覚情報を取得する取得手段と、前記視覚情報に基づいて、前記対象物体の配置状態が異常状態であるか否かを判定する状態判定手段と、前記異常状態に対処可能であるか否かを判定する判定手段と、前記異常状態に対処可能であると判定された場合、前記対象物体の位置姿勢を目標状態に修正するための前記ロボットの操作方法を予め学習済みの操作方法から計画する計画手段と、前記計画手段により計画された操作方法に従って前記ロボットを制御する制御手段とを備える。【選択図】 図4
Description
本発明は、情報処理装置、情報処理装置の制御方法およびプログラムに関する。
ロボットによる箱詰め自動化装置では、事前に教示されたロボットの動きを再生することで、所定の位置に置かれた対象物体をロボットハンドに装着した吸着パットでピックし、箱の所定の位置まで移動して配置することで梱包作業を自動化していた。これに対して特許文献1では、対象物体を配置する際に、配置先の箱の向きを変更することによって、箱の底面に対して起立させると倒れやすいパウチのような物体でも、倒れないように配置することで箱詰めできる技術が開示されている。
しかしながら、特許文献1に記載の技術では、対象物体を正確に配置できる前提で箱詰め動作を繰り返すため、作業中に対象物体に対して想定外の干渉が生じて対象物体の位置姿勢がずれてしまった場合、ずれを修正できないという問題があった。
例えば、3つ以上の物体を箱詰めする場合、まず、第一の物体をロボットハンドにより把持し、配置位置へ搬送後、配置し、目標の位置姿勢に配置できたとする。この段階では箱詰め状態は正常状態である。次に、第二の物体を目標の配置位置まで搬送後、配置時にロボットハンドを引き抜くとき、ロボットハンドが意図せず干渉し、第二の物体の位置姿勢が目標の位置姿勢からずれてしまうことがある。その場合、箱詰め状態は事前に想定した対象物体の箱内部の配置とは異なる状態になる。この状態を以後、異常状態と呼ぶ。そして、異常状態になってしまった後に第三の物体を配置しようとしても、第二の物体の位置はずれたまま次の対象物体が配置される動作が継続される。そのため、全ての対象物体が設定時に想定していた正しい配置状態である正常状態で箱詰め作業を完了することができない。しばしば、このような異常状態によりシステムが停止し、作業オペレータによるリセット作業による復旧作業に時間がかかり、生産性が落ちる要因となっていた。
本発明は、上記の課題に鑑みてなされたものであり、対象物体の配置作業の途中で異常状態になった場合でも、正常状態に復旧して作業を継続するための技術を提供することを目的とする。
上記の目的を達成する本発明に係る情報処理装置は、
対象物体を操作するロボットを制御する情報処理装置であって、
前記対象物体と当該対象物体を配置する配置場所とを撮影して得られた視覚情報を取得する取得手段と、
前記視覚情報に基づいて、前記対象物体の配置状態が異常状態であるか否かを判定する状態判定手段と、
前記異常状態に対処可能であるか否かを判定する判定手段と、
前記異常状態に対処可能であると判定された場合、前記対象物体の位置姿勢を目標状態に修正するための前記ロボットの操作方法を予め学習済みの操作方法から計画する計画手段と、
前記計画手段により計画された操作方法に従って前記ロボットを制御する制御手段と、
を備えることを特徴とする。
対象物体を操作するロボットを制御する情報処理装置であって、
前記対象物体と当該対象物体を配置する配置場所とを撮影して得られた視覚情報を取得する取得手段と、
前記視覚情報に基づいて、前記対象物体の配置状態が異常状態であるか否かを判定する状態判定手段と、
前記異常状態に対処可能であるか否かを判定する判定手段と、
前記異常状態に対処可能であると判定された場合、前記対象物体の位置姿勢を目標状態に修正するための前記ロボットの操作方法を予め学習済みの操作方法から計画する計画手段と、
前記計画手段により計画された操作方法に従って前記ロボットを制御する制御手段と、
を備えることを特徴とする。
本発明によれば、対象物体の配置作業の途中で異常状態になった場合でも、正常状態に復旧して作業を継続することができる。
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
(第一の実施形態)
第一の実施形態では、食品や液体内容物を収容するパウチのような物体を箱詰めする工程を例に説明を行う。第一の実施形態では、対象物体を配置した後に対象物体が目標位置姿勢からずれて箱詰め作業が異常状態となった場合に、システムが異常を検知して自動で正常状態へ復旧させることで作業を継続する例について述べる。
第一の実施形態では、食品や液体内容物を収容するパウチのような物体を箱詰めする工程を例に説明を行う。第一の実施形態では、対象物体を配置した後に対象物体が目標位置姿勢からずれて箱詰め作業が異常状態となった場合に、システムが異常を検知して自動で正常状態へ復旧させることで作業を継続する例について述べる。
<システム構成>
図1は、本実施形態における情報処理装置10を備えるロボットシステム100の構成例である。
図1は、本実施形態における情報処理装置10を備えるロボットシステム100の構成例である。
撮影装置1は、レンズを有する電子撮影素子を用いたデジタルカメラなどの視覚センサであり、対象物体3の状態を画像情報として取得する。画像情報として二次元のカラー画像情報や、ステレオカメラであれば距離画像情報を取得する。撮影装置1から出力される画像情報は情報処理装置10の入力として取り込まれる。光源2は対象物体の模様やエッジを顕在化する照明を照射する。また、光源2がプロジェクタの場合には、パターン光を照射することで距離画像を取得できる。撮影装置1および光源2は、撮影対象に対して配置を固定するほか、ロボットなどの移動する機構部分に搭載しても構わない。また、撮影装置1は複数配置してもよい。
対象物体3は、製造装置からベルトコンベア等で次々に排出されたものや、対象の箱に詰められたもので、1つあるいは複数同時に撮影装置1の撮影範囲に入っているものを対象とする。対象物体3は、不定形状で、かつ、配置場所が正確に決まらないような物体である。配置場所が正確に決まらないとは、例えばパウチのような物体をダンボール箱に詰める際、ダンボール内におけるおおよその配置位置は決まっているが、ダンボール側面から何ミリメートルの位置に配置するといったような正確な位置が決まらない場合を指す。本実施形態では、対象物体3が撮影装置1の範囲に移動する場合を示すが、ベルトコンベアを使わずに、配置されている複数の対象物体3に対して作業を行う場合にも、本システムを可動することで対応できる。
ロボット20は、例えば多関節ロボットであり、ロボットアーム等のマニピュレータ202、ロボットハンド等の把持装置203、及び、マニピュレータ202と把持装置203とを制御するコントローラ201を備える。また、ロボット10は、マニピュレータ202の各関節の角度を変更することで把持装置203の位置姿勢を変更可能な位置姿勢変更機構を備える。位置姿勢変更機構は、電動モータによって駆動されてもよいし、油圧や空気圧等の流体圧で作動するアクチュエータによって駆動されてもよい。この位置姿勢変更機構は、情報処理装置10から出力される動作指示情報に従って駆動される。また、ロボット20は、多関節ロボットに限定されるものではなく、数値制御(Numerical Control:NC)可能な可動式の機械であってもよい。コントローラ201は、後述の制御値決定部110から送られた位置姿勢の制御値に基づき、マニピュレータ202および把持装置203を制御する。コントローラ201は、マニピュレータ202に付随するロボットコントローラでもよい。あるいは、プログラマブルロジックコントローラ(PLC)でもよい。また、これら以外でもマニピュレータ202と把持装置203を制御できる構成であれば、どのようなコントローラであってもよい。
ロボット20は、対象物体3を認識するための動作、および、情報処理装置10が提示した位置姿勢の制御値情報に基づき対象物体3を操作するための動作を実行する。
把持装置203は、ロボット20による対象物体3の種類に応じた操作を実現するためのツールであり、モータ駆動可能なチャック機構を有し対象物体を把持可能なハンドや、空気圧で対象物体を吸着する吸着パッドを用いたハンドなどを用いることができる。なお、把持装置203は、マニピュレータ202に対して着脱可能に取り付けられており、対象物体3の種類に応じて交換可能である。また、把持装置203は、必ずしも必要ではなく、マニピュレータ202により対象物体3を操作できるのであれば、把持装置203がなくてもよい。
<機能構成>
続いて、図2は、本実施形態に係る情報処理装置10を含むロボットシステム100の機能ブロック図である。情報処理装置10は、視覚情報取得部101と、目標状態登録部102と、目標状態記憶部103と、配置状態判定部104と、異常状態登録部105と、異常状態記憶部106と、異常状態分類部107と、操作方法登録部108と、操作方法記憶部109と、制御値決定部110とを備える。
続いて、図2は、本実施形態に係る情報処理装置10を含むロボットシステム100の機能ブロック図である。情報処理装置10は、視覚情報取得部101と、目標状態登録部102と、目標状態記憶部103と、配置状態判定部104と、異常状態登録部105と、異常状態記憶部106と、異常状態分類部107と、操作方法登録部108と、操作方法記憶部109と、制御値決定部110とを備える。
視覚情報取得部101は、撮影装置1から出力される視覚情報を取得する。視覚情報取得部101は、取得した視覚情報を画像情報に変換し、目標状態登録部102、異常状態登録部105、操作方法登録部108に出力する。視覚情報取得部102は、例えばキャプチャボードやメモリ(RAM)で構成される。
目標状態登録部102は、対象物体3の配置目標状態を登録する。目標状態登録部102は、視覚情報取得部101から配置目標状態の画像情報を取得し、取得した画像情報にラベルを付けて目標状態記憶部103に出力する。これにより、目標状態登録部102は、目標状態記憶部103に配置目標状態の画像情報をラベルとともに登録する。ここで、配置目標状態とは、対象物体3を対象の箱に詰める際の、所定の位置姿勢に配置されている状態のことである。所定の位置姿勢は、対象物体3をどのように箱詰めするかの仕様によって異なる。また、箱詰めする対象物体3が複数存在する場合、箱詰めする順番によって、それぞれ異なる。そのため、配置目標状態には、対象物体3の位置姿勢情報や、対象物体3をどのような順番で配置していくかを示す情報などが含まれる。具体的には、配置場所である箱内が空の状態から、箱詰めが完了してすべての物体が詰まっている状態までの、対象物体を一つずつ配置した各状態を登録する。このとき、ユーザが手動で一つずつ登録してもよいし、敵対的生成ネットワークなどを利用して生成した画像情報を使って自動で登録してもよい。ラベルは、対象物体3ごとに分類して画像情報に付ける。例えば、ゼリーの入ったパウチを箱詰めするときと、スープの入ったパウチを箱詰めするときとでは、それぞれの画像情報に対して「ゼリー」、「スープ」のラベルを付けて、目標状態として登録する。なお、ラベルを付ける方法は対象物体3ごとに限らず上位概念の種類で付けてもいいし、一つの画像情報に複数のラベルを付けてもよい。例えば、上位概念でラベルを付ける場合、ゼリーの入ったパウチにもスープの入ったパウチにも「食品」のラベルを付けるようにしてもよい。
目標状態記憶部103は、対象物体3の配置目標状態を記憶する。目標状態登録部102から取得した配置目標状態の画像情報と、その画像情報に対するラベルの情報とを記憶する。
配置状態判定部104は、視覚情報取得部101から取得した対象物体3の画像情報と、目標状態記憶部103に記憶されている配置目標状態の情報とに基づき、対象物体3の配置状態が正常状態か異常状態かを判定する。正常である場合はそのまま作業を継続し、異常である場合は異常状態を修正する操作、あるいは異常状態を登録する処理を行う。
異常状態登録部105は、対象物体3の配置異常状態を登録する。異常状態登録部105は、視覚情報取得部101から対象物体3の画像情報を取得し、取得した画像情報にラベルを付けて異常状態記憶部106に出力する。これにより、異常状態登録部105は、異常状態記憶部106に配置異常状態の画像情報をラベルとともに登録する。ここでのラベルは、目標状態登録部102の説明で述べたラベルに加えて、異常状態によって分類して付ける。ここで、異常状態とは、例えば、対象物体3が倒れてしまっていたり、向きが逆だったりといった、正常に配置できていない状態であり、ユーザが任意に分類して登録する。また、必ずしもユーザが分類しなくても、目標状態からの相対的な位置姿勢の差分に基づき自動でラベルを作成し、分類してもよい。
異常状態記憶部106は、対象物体3の配置異常状態を記憶する。異常状態登録部105から取得した配置異常常態の画像情報と、その画像情報に対するラベルの情報とを記憶する。
異常状態分類部107は、配置状態判定部104で異常と判定された場合、視覚情報取得部101が取得した画像情報と、異常状態記憶部106が記憶する配置異常状態とに基づき、配置異常状態を分類する。
操作方法登録部108は、対象物体3の配置状態が異常状態の場合に、正常状態へ修正するための対象物体3を操作する操作方法を登録する。操作方法登録部108は、視覚情報取得部101から対象物体3の画像情報を取得し、取得した画像情報にラベルを付けて操作方法記憶部109に出力する。これにより、操作方法登録部108は、操作方法記憶部109に修正操作方法の画像情報をラベルとともに登録する。このラベルは、目標状態登録部102および異常状態登録部105の説明で述べたものと同様のラベルである。また、登録する画像情報は、複数の静止画像情報や動画像情報を含む。例えば、対象物体3が配置異常状態であるときの静止画像情報と、その異常状態を修正する操作をユーザが行っているときの動画像情報と、修正が完了して正常状態になったときの静止画像情報とのセットであってもよい。ただし、動画像情報だけでもよいし、複数の静止画像情報だけでもよい。
操作方法記憶部109は、対象物体3の修正操作方法を記憶する。操作方法登録部108から取得した修正操作方法の画像情報と、その画像情報に対するラベルの情報とを記憶する。
制御値決定部110は、配置状態判定部104により正常状態と判定された場合、視覚情報取得部101が取得した画像情報と、目標状態記憶部103が記憶する配置目標状態とに基づき、対象物体3を操作するためのロボット20の位置姿勢の制御値を決定する。一方、配置状態判定部104によって異常状態と判定された場合は、視覚情報取得部101が取得した画像情報と、操作方法記憶部109が記憶する修正操作方法とに基づき、対象物体3を操作するためのロボット20の位置姿勢の制御値を決定する。そして、制御値決定部110は、決定した制御値をロボット20に送る。
なお、情報処理装置10は、必ずしも図示の構成要素を全て含んでいる必要はなく、その一部の機能をコントローラ201が実施してもよい。反対に、図示の構成要素に加えて、他の装置が備える構成要素をさらに含むように構成してもよい。
<ハードウェア構成>
情報処理装置10は、例えばパーソナルコンピュータ(PC)により構成されている。図12は、情報処理装置10のハードウェア構成の一例である。情報処理装置10は、CPU11と、ROM12と、RAM13と、外部メモリ14と、入力部15と、表示部16と、通信I/F17と、システムバス18とを備える。CPU11は、情報処理装置10における動作を統括的に制御するものであり、システムバス18を介して、各構成部(11~17)を制御する。ROM12は、CPU11が処理を実行するために必要なプログラムを記憶する不揮発性メモリである。なお、当該プログラムは、外部メモリ14や着脱可能な記憶媒体(不図示)に記憶されていてもよい。RAM13は、CPU11の主メモリ、ワークエリアとして機能する。すなわち、CPU11は、処理の実行に際してROM12から必要なプログラムをRAM13にロードし、当該プログラムを実行することで各種の機能動作を実現する。
情報処理装置10は、例えばパーソナルコンピュータ(PC)により構成されている。図12は、情報処理装置10のハードウェア構成の一例である。情報処理装置10は、CPU11と、ROM12と、RAM13と、外部メモリ14と、入力部15と、表示部16と、通信I/F17と、システムバス18とを備える。CPU11は、情報処理装置10における動作を統括的に制御するものであり、システムバス18を介して、各構成部(11~17)を制御する。ROM12は、CPU11が処理を実行するために必要なプログラムを記憶する不揮発性メモリである。なお、当該プログラムは、外部メモリ14や着脱可能な記憶媒体(不図示)に記憶されていてもよい。RAM13は、CPU11の主メモリ、ワークエリアとして機能する。すなわち、CPU11は、処理の実行に際してROM12から必要なプログラムをRAM13にロードし、当該プログラムを実行することで各種の機能動作を実現する。
外部メモリ14は、例えば、CPU11がプログラムを用いた処理を行う際に必要な各種データや各種情報を記憶している。また、外部メモリ14には、例えば、CPU11がプログラムを用いた処理を行うことにより得られた各種データや各種情報が記憶される。入力部15は、例えばキーボードやマウスのポインティングデバイスにより構成され、オペレータが入力部15を介して当該情報処理装置10に指示を与えることができるようになっている。表示部16は、液晶ディスプレイ(LCD)等のモニタで構成される。通信I/F17は、外部機器と通信するためのインターフェースである。システムバス18は、CPU11、ROM12、RAM13、外部メモリ14、入力部15、表示部16及び通信I/F17を通信可能に接続する。このように、情報処理装置10は、通信I/F17を介して、外部機器である撮影装置1、光源2、ロボット20とそれぞれ通信可能に接続されており、これらの外部機器の動作を制御する。
<処理>
次に、図3及び図4のフローチャートを参照して、本実施形態に係る情報処理装置10を含むロボットシステム100が実行する作業手順の一例を説明する。図3、図4に示される処理は主に、図12に示す情報処理装置10のCPU11が、ROM12もしくは外部メモリ14に格納されたプログラムを読み出して実行することにより実現される。ただし、図3、図4の処理の一部または全部が、専用のハードウェアにより実現されてもよい。図3、図4の処理は、例えばオペレータがロボットシステム100を起動したときに開始される。ただし、開始のタイミングは、ロボットシステム100の起動時に限定されるものではない。
次に、図3及び図4のフローチャートを参照して、本実施形態に係る情報処理装置10を含むロボットシステム100が実行する作業手順の一例を説明する。図3、図4に示される処理は主に、図12に示す情報処理装置10のCPU11が、ROM12もしくは外部メモリ14に格納されたプログラムを読み出して実行することにより実現される。ただし、図3、図4の処理の一部または全部が、専用のハードウェアにより実現されてもよい。図3、図4の処理は、例えばオペレータがロボットシステム100を起動したときに開始される。ただし、開始のタイミングは、ロボットシステム100の起動時に限定されるものではない。
<登録処理>
図3は、本実施形態に係る配置目標状態を登録する処理の手順を示すフローチャートである。
図3は、本実施形態に係る配置目標状態を登録する処理の手順を示すフローチャートである。
S1において、CPU11は、システムの初期化処理を行う。すなわち、CPU11は、ROM12もしくは外部メモリ14に格納されたプログラムをロードし、RAM13上に展開して実行可能な状態とする。また、情報処理装置10に接続された各機器のパラメータの読み込みや初期位置への復帰を行い、使用可能な状態にする。
S2では、ロボット20のコントローラ201は、撮影装置1による撮影のためにマニピュレータ202が移動する位置姿勢の制御値を決定する。あるいは、図示しない配置場所の撮影位置姿勢決定部を用いて決定し、コントローラ201へ送ってもよい。決定される位置姿勢は、箱詰めする場所にある対象物体3を撮影することができれば、どのような方法で決定してもよい。
S3では、コントローラ201は、撮影のためのマニピュレータ202の制御を行う。具体的には、S2で決定された位置姿勢にマニピュレータ202をどのように動かせばよいかを決定する。例えば、S2で生成された位置姿勢に対してマニピュレータ202を移動させるために、目標となる位置姿勢情報を順運動学によってマニピュレータ202の関節角度情報に変換し、マニピュレータ202の各関節のアクチュエータを動作させるための指令値を計算する。計算結果に基づき、マニピュレータ202が動作する。
S4では、撮影装置1は、箱詰めする場所にある対象物体3の撮影を行う。このとき、ユーザは登録したい配置目標状態を作っておく。具体的には、対象物体3を箱詰めの仕様を満たすように配置した状態を作ってから撮影を行う。撮影は自動で開始してもよいし、ユーザからの指示を受け付ける図示しないユーザ指示入力部からの入力指示を受けてから撮影してもよい。例えばタッチパネルのディスプレイに撮影ボタンを表示させておき、撮影ボタンが押されることで撮影のトリガが実行されるようにしておいてもよい。
S5では、視覚情報取得部101は、撮影装置1が出力する対象物体3の画像情報を取得する。
S6では、目標状態登録部102は、視覚情報取得部101から画像情報を取得して、目標状態記憶部103へ配置目標状態を登録する。登録する際、画像内における対象物体3の領域も決定する。画像内の物体領域の決定は、ユーザが手動で行ってもよいし、意味的領域分割の手法などにより自動で行ってもよい。また、画像情報に対するラベル付けを行う。画像情報に対するラベル付けは、ユーザが手動で行ってもよいし、自動で行ってもよい。ユーザが手動で行う場合は、ユーザが任意のラベルを作成して画像に対してラベルを付けていく。自動で行う場合は、意味的領域分割の手法によって求めたラベルを利用してラベル付けを行ってもよいし、手動あるいは自動で決定された領域を入力として物体認識の手法などにより求めた結果を利用してラベル付けを行ってもよい。
S7では、CPU11は、登録する対象物体3があるかどうかを判定する。CPU11は、対象物体3が存在しない場合には処理を終了すると判定して図3に示す処理を終了する。一方、対象物体3が存在する場合には、処理を継続すると判定してS4に戻る。判定方法は、例えば、ユーザが目視することで行い、図示しない登録対象物体の有無を判定する判定入力部からの入力指示を受けて判定してもよいし、配置場所の画像情報から箱詰めが完了したと自動で判定してもよい。または、これら以外の方法で判定してもよい。なお、登録する対象物体3があり、かつ、撮影位置姿勢を変更する場合は、S4ではなくS2に戻って、マニピュレータ202の位置姿勢を変更してもよい。
以上で図3の一連の処理が終了する。
<箱詰め処理>
続いて、図4は、本実施形態に係る対象物体3の箱詰め作業を実行する処理の手順を示すフローチャートである。S1からS5までの手順は図3と同様であるため、説明を省略する。
続いて、図4は、本実施形態に係る対象物体3の箱詰め作業を実行する処理の手順を示すフローチャートである。S1からS5までの手順は図3と同様であるため、説明を省略する。
S8では、配置状態判定部104は、対象物体3の配置状態が正常状態か異常状態かを判定する。判定方法は、例えば深層学習による推定結果を利用する。具体的には、事前の学習として、目標状態記憶部103に記憶された画像情報を正常状態の真値として、異常状態記憶部106に記憶された画像情報を異常状態の真値として、学習データを蓄積する。蓄積した学習データを使って、例えばCNN(Convolutional Neural Network)によって学習することで、学習モデルを生成する。そして、作成したモデルを使って、画像情報を入力として、配置状態が正常か異常かの確率を求める。なお、このとき画像情報として、二次元カラー画像や二次元モノクロ画像、または距離画像を利用してもよい。推定結果の確率は例えば0から1の範囲で正規化して出力するように設計しておき、ユーザが正常状態の閾値を設定することで判定を行う。例えば、通常は閾値を0.5に設定しておき、より厳しく判定したい場合は0.7に設定するなど、ユーザのユースケースに応じて任意に設定を変更してもよい。
なお、ここでは深層学習を用いた例について述べたが、他の方法でも構わない。例えば対象物体3の位置姿勢を認識し、配置目標状態からの相対的な位置姿勢のずれを求め、所定のずれの範囲内であれば正常状態と判定するような幾何学的な方法を用いてもよい。
正常状態と判定した場合はS9へ進み、作業を継続する。一方、異常状態と判定した場合はS17へ進み、異常状態の分類を行う。
S9では、コントローラ201(又は制御値決定部110)は、撮影装置1による撮影のためにマニピュレータ202が移動する位置姿勢の制御値を決定する。あるいは、図示しない供給場所の撮影位置姿勢決定部により決定し、コントローラ201へ送る。決定される位置姿勢は、供給場所にある対象物体3を撮影することができれば、どのような方法で決定してもよい。
S10では、コントローラ201は、撮影のためのマニピュレータ202の制御を行う。具体的には、S9で決定された位置姿勢の制御値に基づいてマニピュレータ202をどのように動かせばよいかを決定する。例えば、S9で決定された位置姿勢に対してマニピュレータ202を移動させるために、目標となる位置姿勢情報を順運動学によってマニピュレータ202の関節角度情報に変換し、マニピュレータ202の各関節のアクチュエータを動作させるための指令値を計算する。計算結果に基づき、マニピュレータ202が動作する。
S11では、撮影装置1は、供給場所にある対象物体3の撮影を行う。
S12では、視覚情報取得部101は、撮影装置1が出力する対象物体3の画像情報を取得する。
S13では、コントローラ201(又は制御値決定部110)は、対象物体3を把持、搬送、配置するためにマニピュレータ202が移動する位置姿勢の制御値をそれぞれ決定する。
まず、把持の制御値は、S12で得られた画像情報に基づき決定する。対象物体3が常に同じ位置姿勢で供給される場合、事前に教示した位置姿勢に基づき把持のための制御値を決定する。一方、対象物体3の位置姿勢が変化する場合は、対象物体3の位置姿勢を検出した後、対象物体3に対して指定した把持位置姿勢に基づき把持のための制御値を決定する。
次に、搬送の制御値は、把持位置姿勢と配置位置姿勢とに基づき決定する。その二点間を結ぶように、適宜デパート位置、アプローチ位置を設定して搬送経路を決定する。デパート距離、アプローチ距離は事前に設定しておいてもよいし、搬送前あるいは搬送中に画像情報を取得して干渉回避を行うように設定してもよい。また、デパート位置、アプローチ位置以外にも経由点を設定してもよい。
そして、配置の制御値は、目標状態記憶部103が記憶する情報に基づき、対象物体3を目標状態へ移動させるように決定する。
S14では、コントローラ201は、対象物体3を操作するためのマニピュレータ202と把持装置203との制御を行う。具体的には、S13で決定した位置姿勢に基づき、マニピュレータ202と把持装置203とをどのように制御すればよいかを決定する。ここで、S13で決定した位置姿勢は画像座標系における位置姿勢であるが、ロボット20を制御するにはロボット座標系に変換する必要があるため、把持位置姿勢を求める場合を例に、座標変換について説明する。
ここで、図5は、座標系の関係を示す図である。撮影装置1の座標系Σc、マニピュレータ202のベース座標系Σb、マニピュレータ202の先端にあたるメカニカルインタフェース座標系Σm、把持装置203の先端にあたるツール座標系Σt、対象物体3を把持するときの対象物体座標系Σoを統一して扱うため、図5に示すように、作業空間内で基準となる座標系として、ワールド座標系Σwを設定する。
まず、ワールド座標系Σwからマニピュレータベース座標系Σbまでの変位を(BX,BY,BZ)とする。また、マニピュレータ202の姿勢を表す3×3の回転行列をBMとする。マニピュレータベース座標系Σbからマニピュレータ先端座標系Σmまでの変位は(MX,MY,MZ)とする。また、マニピュレータ先端の姿勢を表す3×3の回転行列はMMとする。さらに、マニピュレータ先端座標系Σmから把持装置203の座標系Σtまでの変位は(TX,TY,TZ)とする。また、把持装置203の先端の姿勢を表す3×3の回転行列はTMとする。なお、把持装置203の先端とは、把持装置203が対象物体3に接触する部分であり、把持装置203が図5のようにチャックの場合、チャック先端の中央とする。マニピュレータ先端座標系Σmから撮影装置座標系Σcまでの変位は(CX,CY,CZ)とする。また、撮影装置1の姿勢を表す3×3の回転行列はCMとする。さらに、撮影装置座標系Σcから対象物体3の対象物体座標系Σoまでの変位は(OX,OY,OZ)とする。また、対象物体3の姿勢を表す3×3の回転行列はOMとする。ここで、ワールド座標系Σwから見た対象物体3の変位を(WX,WY,WZ)、姿勢を表す3×3の回転行列をWMとする。ここで、マニピュレータ202の先端に取り付けられた把持装置203が対象物体3に接触しているとき、マニピュレータベース座標系Σbからマニピュレータ先端座標系Σmまでの変位を(MX1,MY1,MZ1)とし、マニピュレータ先端の姿勢を表す3×3の回転行列をMM1とすると、以下の式(1)が成り立つ。
また、撮影装置1により対象物体3が撮影されたとき、マニピュレータベース座標系Σbからマニピュレータ先端座標系Σmまでの変位を(MX2,MY2,MZ2)とし、マニピュレータ先端の姿勢を表す3×3の回転行列をMM2とすると、以下の(2)式が成り立つ。
上記(1)式及び(2)式はワールド座標系Σwにおける対象物体3の位置姿勢を表しているので、下記(3)式が成り立つ。
(3)式より、対象物体3を撮影した時のマニピュレータ202の位置姿勢と、マニピュレータ先端座標系Σmと撮影装置座標系Σcの位置姿勢の関係と、撮影装置座標系Σcと対象物体3の位置姿勢の関係と、マニピュレータ先端座標系Σmと把持装置203の位置姿勢の関係が既知である場合、対象物体3を把持した時のマニピュレータ203の位置姿勢が求まる。よって、撮影装置1が対象物体3を撮影した画像から、対象物体3を把持するためのマニピュレータ202の位置姿勢を求めることができる。
ここで、各変位、回転行列の求め方の一例を述べる。(BX,BY,BZ)、BMは、マニピュレータ202の設置時に、設定したワールド座標系Σwとの位置関係から求められる。(MX,MY,MZ)、MMは、マニピュレータ202の関節角度情報から順運動学によって求められる。(TX,TY,TZ)、TMは、把持装置203の寸法から求められる。(CX,CY,CZ)、CMは、撮影装置2の寸法から求められる。もしくは、撮影装置2とマニピュレータ202との相対的な位置姿勢関係からキャリブレーションにより求めてもよい。例えば、マニピュレータ202が異なる複数の位置姿勢を取ったそれぞれの状態において、撮影装置2により、既知の二次元マーカを撮影することによって求まるマニピュレータ202との相対的位置関係を使って求めてもよい。(OX,OY,OZ)、OMは、撮影装置2により対象物体3を撮影することにより求まる。なお、ここではワールド座標系Σwとマニピュレータ202のベース座標系Σbとを分けて考えたが、それらを一致させて考えてもよい。
また、ここでは対象物体3を把持するときの座標系の関係について述べたが、配置するときも同様に考えることができる。S13にて配置位置姿勢を決定した場合、対象物体3の対象物体座標系Σoを配置先に置き換えることで対象物体3を配置するときの座標系も同様に導出できるため、マニピュレータ202及び把持装置203の制御を行うことができる。
S15では、ロボット20は、S14の制御結果に基づいて動作し、把持、搬送、配置といった対象物体3に対する操作を実行する。マニピュレータ202は、まず、把持位置姿勢に移動し、把持装置203は対象物体3の把持を行う。次いで、対象物体3を搬送・配置する動作のためのマニピュレータ202の制御を行う。搬送の経由点はS13で決定してもよいし、事前に設定しておいてもよいし、あるいは、撮影装置1によって得られた画像情報に基づき経路計画を行い決定してもよい。そして、S13で決定した配置位置姿勢に基づき、マニピュレータ202は対象物体3の配置位置姿勢に移動し、対象物体3を配置する。
S16では、CPU11は、次の対象物体3があるかどうかを判定する。CPU11は、対象物体3が存在しない場合には、処理を終了すると判定して図4に示す処理を終了する。一方、対象物体3が存在する場合には、処理を継続すると判定してS2に戻る。判定方法は、例えば、操作すべき対象物体3の有無、かつ、供給場所における対象物体3の有無によって行う。供給場所における対象物体3の有無の判定は、撮影装置1によって対象物体3の供給場所を撮影し、得られた画像情報によって判定する。または、供給場所にセンサを配置しておき、そのセンサ情報から判定してもよい。センサ情報とは、例えば、供給場所に重量センサを配置しておき、供給領域の重さを計測することで秤量によって対象物体3の残りの個数を計測してもよい。または、これら以外の方法で判定してもよい。
S17では、異常状態分類部107は、異常状態の分類を行う。分類方法は、例えば深層学習による推定結果を利用する。具体的には、事前の学習として、異常状態記憶部106に記憶された画像情報に対する異常状態分類のラベルを真値として、学習データを蓄積する。蓄積した学習データを使って、例えばCNNによって学習することで、学習モデルを生成する。作成したモデルを使って、画像情報を入力として、異常状態がそれぞれの分類である可能性の確率を深層学習により推定する。推定結果は、異常状態の分類結果として各クラスに分類される確率を求めて、その中から最も高い確率が求まったクラスとして決定する。確率を求める際は例えばSoftmax関数を用いて、各クラスに分類される確率が正の値かつ総和が1となる処理を行う。ここで、必ずしも最も高い確率のクラスへ分類せずに、閾値を設定することによって、どのクラスにも分類できないという結果を出力してもよい。例えば、Softmax関数を用いた場合、求まる確率は0~1の範囲に収まるため、最大値は1となる。このとき、閾値を0.8に設定した場合、最も高い確率が0.8以上で求まったクラスがあればそのクラスへ分類するが、0.8未満であった場合は最大値であってもそのクラスである可能性が低いとして、どのクラスにも分類できないとする。または、異常状態の分類として、事前に分類不可としてクラス分けできるようにモデルを設計しておいてもよい。
S18では、異常状態分類部107は、S17の分類結果に基づき、事前に学習していた異常状態に分類できた場合は異常対処可能として判定を行う。すなわち、S19へ進む。一方、分類できなかった場合は異常対処不可能として判定を行う。すなわち、S23へ進む。
S19では、制御値決定部110は、異常状態である対象物体3の位置姿勢を、操作方法記憶部109が記憶する情報に基づき修正する。すなわち、対象物体の位置姿勢を目標状態に修正するためのロボットの操作方法を予め学習済みの操作方法に基づいて修正動作計画を生成する。修正方法は、異常状態の分類結果ごとに、物体座標系Σoで学習しておく。これにより、異常が発生した場合、対象物体3の位置姿勢を配置目標状態へどのように移動させればよいかを決定できるため、ロボット20の種類に依存することなく対象物体3の位置姿勢を修正できる。
S20では、コントローラ201(制御値決定部110は、)は、S19で生成された修正動作計画に基づき、対象物体3の配置状態を修正するためにマニピュレータ202が移動する位置姿勢の制御値を決定する。
S21では、コントローラ201が、対象物体3を操作するためのマニピュレータ202と把持装置203の制御を行う。
S22では、ロボット20は、S21の制御結果に基づいて動作し、把持、搬送、配置といった対象物体3に対する操作を実行する。実行後、S2に遷移する。
S23では、異常状態登録部105は、配置異常状態の登録を行う。この場合、既存の異常状態へ分類できなかったため、新規の異常状態として登録を行う。S23に遷移した際、その時点における対象物体3の配置状態が新規の異常状態となっている画像情報は取得済みである。そのため、ユーザはその画像情報に対して、どのような異常状態として分類するかのラベル付けを行う。
ラベルは新規に作成して付けてもよいし、既存のラベルを付けてもよい。なお、前者の場合は未学習のため分類できなかったことを示し、後者の場合は学習済みだが分類できなかったことを示すことになる。
ここで、異常状態の分類方法の例を図6(a)~図6(d)に示す。なお、図6(a)~図6(d)はそれぞれ、図の左側から順番に対象物体3を箱底面に対して起立するように配置する箱詰め作業を行う様子を示す。そのため、対象物体3の順番は左側から順番に1つ目、2つ目と数えることとする。図6(a)は正常状態の例であり、5つの対象物体3が箱詰めされている。図6(b)は、対象物体3を4つ配置し終えて、5つ目の対象物体3を配置する前の状態である。しかし、このままだと5つ目の対象物体3を配置するスペースがなく、正常に配置することができない状態である。図6(c)は、対象物体3を3つ配置し終えて、4つ目の対象物体3配置する前の状態である。しかし、2つ目、3つ目の対象物体3が傾いてしまっていて、このままだと4つ目、5つ目の対象物体3を正しく配置することができない状態である。図6(d)は、2つ目の対象物体3を配置し終えて、3つ目の対象物体3を配置する前の状態である。しかし、このままだと2つ目の対象物体3の上に配置することになってしまい、正常に配置することができない状態である。このように、図6(b)~図6(d)のように異常状態をそれぞれ分類する。それぞれの分類結果に対して、S24では修正方法を登録する。
S24では、操作方法登録部108は、修正操作方法の登録を行う。S23で分類した異常状態と、対象物体3に対して、どのような操作を行えば正常状態になるかの操作方法とを登録する。登録は、例えばダイレクトティーチングで行う。具体的には、ロボット20をユーザが操作して、実際に対象物体3を正常状態にする操作を行い登録する。
ただし、このとき登録する動作はロボット20の制御値を直接登録するのではなく、対象物体3を操作する際の対象物体3に対する相対的な位置姿勢情報を操作情報として登録する。また、登録する情報は、位置姿勢情報に限らず、対象物体3を正常状態にする操作を行える情報であれば他の情報でも構わない。例えば速度情報、加速度情報、力覚情報でも構わない。または、これらのうちの少なくとも1つの情報を含むように構成してもよい。操作情報は、対象物体3を目標状態に近づける操作を行うための情報であってもよい。これにより、物体座標系Σoにおいて修正操作の方法を学習できるため、ロボット20の種類が変わっても登録した修正操作方法を利用可能となる。
また、登録は、必ずしもロボット20で実際に操作することで行わなくてもよい。例えばS17で既知の異常状態にも関わらず分類に失敗していた場合、既に修正操作を登録してあるならば、その修正操作を選択することで登録してもよい。または、物理演算可能なシミュレータによって修正操作を取得してもよい。目標状態記憶部103が記憶する目標状態と、視覚情報取得部101から取得した画像情報とを入力として、対象物体3を目標状態に移動させるための動作を強化学習の手法などを利用して自動で取得してもよい。これにより、ユーザは実際の現場に行かずとも配置異常状態の登録、および、修正操作方法の登録が可能となる。
あるいは、実際に対象物体3を操作する場合でも、リモートでロボット20を操作できるのであれば、必ずしもユーザは現場に行く必要はない。また、ユーザが実際に現場にいても、実際にロボット20を動かさない教示部があるならば、ロボット20を動かす必要はない。例えば、ユーザ自身の手作業で対象物体3を正常状態へ配置する操作を撮影しておくことで修正操作方法を登録してもよい。その際も対象物体3を基準とした物体座標系Σoでの位置姿勢の変化を登録する。または、ユーザに対してユーザの操作を計測して情報を取得可能なセンサを取り付けることで修正操作方法を取得して、登録してもよい。例えば、位置姿勢センサを取り付けて位置姿勢情報や速度情報を取得してもよいし、ハプティックデバイスを取り付けて力覚情報を取得してもよい。登録完了後、S2に遷移する。
ここで、図6を例に、具体的な修正操作方法について述べる。図6(b)は、対象物体3の物体間のスペースが空き過ぎていて、5つ目の対象物体3を配置するスペースがない状態である。そのため、5つ目の対象物体3を配置する際に、5つ目の対象物体3を物体間の隙間に挿入するように配置する操作を登録する。また、図6(c)は、複数の対象物体3が斜めになってしまっていて、4つ目の対象物体3を配置すると3つ目の対象物体3に干渉してしまう状態である。そのため、4つ目の対象物体3を配置するときは、3つ目の対象物体3を1つ目の対象物体3の方向に押し出しながら配置することで、2つ目の対象物体3と同時に位置姿勢を修正するように配置する操作を登録する。また、図6(d)は、2つ目の対象物体3が横たわってしまっていて、3つ目の対象物体3を配置すると2つ目の対象物体3が下敷きになってしまう状態である。そのため、3つ目の対象物体3を配置する前に、まず、2つ目の対象物体3を取り出し、2つ目の対象物体3を配置目標位置姿勢に配置し直した後、3つ目の対象物体3を配置するように修正操作を登録する。
以上で図4の一連の処理が終了する。
以上説明したように、本実施形態では、まず、事前に目標状態登録部102によって、目標状態記憶部103に配置目標状態を記憶しておき、配置状態判定部104が判定するための学習モデルを作成しておく。次いで、ランタイムには、視覚情報取得部101が取得した画像情報に基づき、配置状態判定部104が正常状態か異常状態かの判定を行う。正常状態の場合には制御値決定部110がロボット20の制御値を決定して作業を継続する。一方、異常状態の場合には、異常状態分類部107が異常状態を分類する。分類した結果、対処可能な異常状態の場合には、操作方法記憶部109が記憶する修正操作に基づき、制御値決定部110がロボット20の制御値を決定して作業を継続する。一方、対処不可能な異常状態の場合には、異常状態登録部105によって異常状態記憶部106に異常状態を登録し、さらに操作方法登録部108によって操作方法記憶部109に修正操作を登録する。
これにより、ロボットシステム100が作業を実行中に、異常状態が発生しても、ロボットシステム100が自動で正常状態へ復旧させることができる。また正常状態へ復旧させることが困難な場合は、ユーザが簡単な指示を送ることで、次回から同じ異常状態の場合は正常状態へ復旧可能となる。そのため、作業を継続できる可能性が高まり、生産性が向上する。
本実施形態によれば、箱詰め作業の途中で対象物体が倒れたり崩れたりして異常状態となった場合でも、システムが自動で異常状態となっている対象物体の位置姿勢を修正して正常状態へ復旧させることにより、箱詰め作業を継続できるため、生産性を向上できる。
(第二の実施形態)
第二の実施形態は、第一の実施形態に対して、さらに、ユーザがどのような異常が発生しているか確認できるよう構成したものであり、本実施形態では異常状態の分類結果を可視化する例を説明する。具体的には、第一実施形態と同様に、画像情報と配置目標状態とに基づき配置状態が正常状態か異常状態かを判定する。そして、異常状態の場合、異常状態の分類を行い、発生した異常状態の分類結果を分析することによって、どのような異常状態がどの程度発生し、日々、どの程度改善されているかといった情報を、ユーザが確認できるよう構成する。そのため、工程を管理するユーザは、現場での改善活動が簡単に分かるので、対処すべきトラブルを判定でき、工程の改善活動の効率化が図れる。
第二の実施形態は、第一の実施形態に対して、さらに、ユーザがどのような異常が発生しているか確認できるよう構成したものであり、本実施形態では異常状態の分類結果を可視化する例を説明する。具体的には、第一実施形態と同様に、画像情報と配置目標状態とに基づき配置状態が正常状態か異常状態かを判定する。そして、異常状態の場合、異常状態の分類を行い、発生した異常状態の分類結果を分析することによって、どのような異常状態がどの程度発生し、日々、どの程度改善されているかといった情報を、ユーザが確認できるよう構成する。そのため、工程を管理するユーザは、現場での改善活動が簡単に分かるので、対処すべきトラブルを判定でき、工程の改善活動の効率化が図れる。
<構成>
図7は、本実施形態における情報処理装置10'を備えるロボットシステム100'の構成例を示す図である。図7は機器構成の一例であり、本発明の適用範囲を限定するものではない。以下では、第一の実施形態における図2の構成との差異を中心に説明を行う。
図7は、本実施形態における情報処理装置10'を備えるロボットシステム100'の構成例を示す図である。図7は機器構成の一例であり、本発明の適用範囲を限定するものではない。以下では、第一の実施形態における図2の構成との差異を中心に説明を行う。
情報処理装置10'は、情報処理装置10の構成要素に加えて、分類結果確認部111をさらに備えている。また、ロボットシステム100'は、ロボットシステム100の構成要素に加えて、確認装置4をさらに備えている。
確認装置4は、異常状態の分類結果を情報処理装置10'が可視化して画像として表示する場合には、例えばディスプレイで構成される。確認装置4は、可視化した作業順序を画像として表示できればディスプレイ以外の装置でもよく、例えばプロジェクタにより構成され、投影することで表示してもよい。また、HMD(Head Mounted Display)やAR(Augmented Reality)グラスのようなデバイスにより構成され、指示者がデバイスを装着することで表示してもよい。
また、確認装置4は、異常状態の分類結果を情報処理装置10'が可聴化して音声として出力する場合、例えばスピーカで構成される。スピーカには指向性スピーカを用いることで、特定の方向に対してのみ音声を出力してもよい。また、これらのデバイスを複数組み合わせることで表示および/または音声出力してもよい。
分類結果確認部111は、異常状態分類部107'で分類された分類結果を確認装置4で画像あるいは音声で出力することにより、ユーザが異常状態分類結果を確認できるようにする。なお、本実施形態に係る異常状態分類部107'は、図2の異常状態分類部107と同様であるが、分類結果を分類結果確認部111へ出力する点が異なっている。
<処理>
図8は、本実施形態における情報処理装置10'を含むロボットシステム100'が実行する作業手順を示すフローチャートである。第一の実施形態に示した図4の処理と処理内容が異なる処理を中心に説明する。具体的には、S18とS19との間にS25が追加され、S23とS24との間にS26が追加されている。
図8は、本実施形態における情報処理装置10'を含むロボットシステム100'が実行する作業手順を示すフローチャートである。第一の実施形態に示した図4の処理と処理内容が異なる処理を中心に説明する。具体的には、S18とS19との間にS25が追加され、S23とS24との間にS26が追加されている。
S25では、分類結果確認部111は、異常状態分類部107'から受け取った異常状態分類結果を可視化および/または可聴化する。ここで、図9(a)~図9(c)は、分類結果確認部111が可視化した異常状態の分類結果の例である。分類結果確認部111は、異常状態分類部107'が分類した異常状態の分類結果の情報に基づき、日々の異常状態の分類結果を時系列で表示する。例えば、図9(a)のように、横軸を日時(日付)、縦軸を異常状態の発生件数として、分類した異常ごとに散布図として結果を表示する。図示の例では、異常Aの発生件数が日付の経過に従って次第に増加しており、異常Bの発生件数が日付の経過に従って次第に減少していることが示されている。そして、異常Cの発生件数が5/24に多数発生し、その後急速にゼロに減少していることが示されている。
また、図9(b)のように、時系列情報を利用して、過去の結果から今後の異常発生予想図を表示してもよい。すなわち、予測値で示される箇所のように曲線を補間し、将来予測を行ってもよい。また、図9(c)のように、過去の異常対応の記録を視覚的に認識できるようにテキスト表示などの方法で表示したり、今後対応すべき異常を同様にして表示したりしてもよい。図示の例では、5/24に異常Cに対して〇〇の修正方法を追加して対処したことを示し、さらに、今後は異常Aに対する対策を行われなければ異常Aの発生件数が増加する可能性があることを示している。
また、分類結果確認部111は、異常発生時の様子を動画像あるいは静止画像で表示してもよい。この場合に表示する動画像あるいは静止画像は、撮影した結果をそのまま表示してもよいし、編集・加工して表示してもよい。例えば、動画像を表示する場合、異常発生時の様子をスローモーションで流してもよい。または、動画像あるいは静止画像を表示する場合、異常発生箇所を拡大して表示してもよい。
S26では、分類結果確認部111は、異常状態分類部107'から受け取った異常状態の分類結果を可視化および/または可聴化する。S25では既存の分類結果が使われるが、S26ではS23で新規に登録された分類結果が使われる。
以上で図8の一連の処理が終了する。
以上説明したように、本実施形態では、画像情報と配置目標状態とに基づき配置状態が正常状態か異常状態かを判定する。そして、異常状態の場合、異常状態の分類を行い、発生した異常状態の分類結果を分析することによって、どのような異常状態がどの程度発生し、日々、どの程度改善されているかといった情報を、ユーザが確認できるようにする。
これにより、工程を管理するユーザは、現場での改善活動が簡単に分かるので、対処すべきトラブルを判定でき、工程の改善活動の効率化が図れる。
(第三の実施形態)第三の実施形態は、第一の実施形態の構成に対して、さらに、ロボット20が修正操作を開始する前に、ユーザがロボット20の行う動作を確認できるよう構成したものである。すなわち、本実施形態では、異常状態で修正操作を実行する前に、実行する操作を可視化してユーザへ実行可否を確認する例を説明する。具体的には、第一実施形態と同様に、画像情報と配置目標状態とに基づき配置状態が正常状態か異常状態かを判定する。そして、異常状態の場合は修正操作を実行するが、実行前に、ロボット20がどのような動作をするのかユーザが確認できるよう構成する。そのため、ユーザの意図しない動作をロボットが実行することがなくなるため、誤った修正操作を行うことがないので、トラブルの発生率を減らし、生産性向上が図れる。
<構成>
図10は、本実施形態における情報処理装置10''を備えるロボットシステム100''の構成例を示す図である。図10は機器構成の一例であり、本発明の適用範囲を限定するものではない。以下では、第一の実施形態における図2の構成との差異を中心に説明を行う。
図10は、本実施形態における情報処理装置10''を備えるロボットシステム100''の構成例を示す図である。図10は機器構成の一例であり、本発明の適用範囲を限定するものではない。以下では、第一の実施形態における図2の構成との差異を中心に説明を行う。
情報処理装置10''は、情報処理装置10の構成要素に加えて、確認画像生成部112をさらに備えている。また、ロボットシステム100''は、ロボットシステム100の構成要素に加えて、確認装置4をさらに備えている。この確認装置4は第二の実施形態の確認装置4と同様である。
画像生成部112は、制御値決定部110''が決定した位置姿勢の制御値に基づき、ロボット20が動作する様子の画像を生成する。生成した画像情報は確認装置部4へ送る。
<処理>
図11は、本実施形態における情報処理装置10''を含むロボットシステム100''が実行する作業手順を示すフローチャートである。第一の実施形態に示した図4の処理と処理内容が異なる処理を中心に説明する。具体的には、S20とS21との間にS27、S28が追加されている。
図11は、本実施形態における情報処理装置10''を含むロボットシステム100''が実行する作業手順を示すフローチャートである。第一の実施形態に示した図4の処理と処理内容が異なる処理を中心に説明する。具体的には、S20とS21との間にS27、S28が追加されている。
S27では、確認画像生成部112は、ロボット20の動作の画像生成を行う。この際、ロボット20だけでなく、対象物体3を含めて画像を生成してもよい。また、画像は動画像でもよいし、連続する複数枚あるいは1枚の静止画像でもよい。生成方法は、例えば、操作方法記憶部109に記憶されている配置状態に対して、ロボット20の画像を生成することで行う。ロボット20を合成する位置は、ロボット20の外形寸法情報を利用して、目標位置姿勢へ移動する軌跡に基づいて各関節角度情報から各リンクの位置姿勢情報を求め、外形寸法を考慮して幾何学的計算に基づき決定する。または、深層学習を用いて直接的に画像を生成してもよい。例えば、深層学習を利用し、現在の状態と修正操作後の目標状態の画像を入力とし、目標状態に至るまでの過程の画像を出力として、敵対的生成ネットワークにより学習を行い、画像を生成してもよい。
S28では、画像生成部112は、生成した画像を確認装置4に出力して表示させ、ユーザが確認した結果に基づき作業継続が可能であるか否かを判定する。作業継続可の場合は、S21へ遷移する。一方、作業継続不可の場合は、S23へ遷移して、異常状態を登録し直す。
なお、必ずしもすべての位置姿勢の制御値に対して確認画像を生成し、作業継続可否の判定を行わなくてもよい。例えば、S17で深層学習を利用した場合、異常状態分類部107が異常状態の分類を行った際に出力される分類結果の確率に対して、確認画像を生成するか否かの閾値を設定しておき、閾値異常の確率であれば、分類した異常状態である確率が高いため、確認画像を生成しないでS20からS21へ遷移しS27、S28の処理を行わなくてもよい。
以上で図11の一連の処理が終了する。
以上説明したように、本実施形態では、画像情報と配置目標状態とに基づき配置状態が正常状態か異常状態かを判定する。そして、異常状態で修正操作を実行する場合、実行前に、ロボット20がどのような動作をするのかを確認できる画像を生成し、生成した画像によりユーザが作業可否を判定し、判定結果に基づきロボット20が作業を継続するか、あるいは異常状態を登録し直す。これにより、現場のオペレータは、事前にロボット20の動作を確認でき、誤った修正操作の場合はその場で登録し直せるため、トラブルの発生率を減らし、生産性向上が図れる。
(実施形態の効果)
第一の実施形態によれば、ロボットシステム100が作業を実行中に、異常状態が発生しても、ロボットシステム100が自動で正常状態へ復旧させることができる。また正常状態へ復旧させることが困難な場合は、ユーザが簡単な指示を送ることで、次回から同じ異常状態の場合は正常状態へ復旧可能となる。そのため、作業を継続できる可能性が高まり、生産性が向上する。
第一の実施形態によれば、ロボットシステム100が作業を実行中に、異常状態が発生しても、ロボットシステム100が自動で正常状態へ復旧させることができる。また正常状態へ復旧させることが困難な場合は、ユーザが簡単な指示を送ることで、次回から同じ異常状態の場合は正常状態へ復旧可能となる。そのため、作業を継続できる可能性が高まり、生産性が向上する。
第二の実施形態によれば、異常状態の分類を行い、発生した異常状態の分類結果を分析することによって、どのような異常状態がどの程度発生し、日々、どの程度改善されているかといった情報を、ユーザが確認できるようにする。そのため、工程を管理するユーザは、現場での改善活動が簡単に分かるので、対処すべきトラブルを判定でき、工程の改善活動の効率化が図れる。
第三の実施形態によれば、異常状態で修正操作を実行する場合、実行前に、ロボット20がどのような動作をするのかを確認できる画像を生成し、生成した画像によりユーザが作業可否を判定し、判定結果に基づきロボット20が作業を継続するか、あるいは異常状態を登録し直す。そのため、現場のオペレータは、事前にロボット20の動作を確認でき、誤った修正操作の場合はその場で登録し直せるため、トラブルの発生率を減らし、生産性向上が図れる。
(変形例)
第一~第三の実施形態において、対象物体3は同じ種類の複数の物体を扱う例を述べたが、違う種類の複数の物体を扱ってもよい。例えば、弁当の箱詰めのような、複数種類の物体が配置され箱詰めされるような場合でもよい。その他、対象物体3が不定形上で、かつ、おおよその配置位置が決まっているようなユースケースであれば、その他の物体でもよい。
第一~第三の実施形態において、対象物体3は同じ種類の複数の物体を扱う例を述べたが、違う種類の複数の物体を扱ってもよい。例えば、弁当の箱詰めのような、複数種類の物体が配置され箱詰めされるような場合でもよい。その他、対象物体3が不定形上で、かつ、おおよその配置位置が決まっているようなユースケースであれば、その他の物体でもよい。
第一~第三の実施形態において、異常状態が発生したことをユーザに伝える方法は任意の方法でよい。また、異常対処不可能の場合だけでなく、異常状態可能の場合もユーザに知らせてもよい。知らせる方法は。例えば、ロボットシステム100が停止するだけでなく、警告灯を光らせるなどして視覚的に知らせてもよい。あるいは、警告音を発して聴覚的に知らせてもよいし、ユーザが取り付けているデバイスを振動させることで触覚的に知らせてもよいし、においを発生させて嗅覚的に知らせてもよい。また、異常の分類結果に応じて知らせる方法をそれぞれ変更してもよい。
第三の実施形態において、正常状態でも確認画像を生成して、ユーザに確認を行ってもよい。正常状態の場合、ロボット20の動作だけでなく、目標状態記憶部103が記憶する目標状態に基づき、ロボット20がどのような状態を目指して配置動作を行っているか確認を行っても良い。このとき、確認結果が作業不可と判定された場合は、配置状態の判定結果が誤っているので、例えば深層学習を利用している場合は学習データを追加して追加学習を行ったり、再学習を行ったりすることで判定の精度を高めるようにしてもよい。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
1:撮影装置、2:光源、3:対象物体、4:確認装置、10:情報処理装置、100:ロボットシステム、101:視覚情報取得部、102:目標状態登録部、103:目標状態記憶部、104:配置状態判定部、105:異常状態登録部、106:異常状態記憶部、107:異常状態分類部、108:操作方法登録部、109:操作方法記憶部、110:制御値決定部、111:分類結果確認部、112:確認画像生成部、20:ロボット、201:コントローラ、202:マニピュレータ、203:把持装置
Claims (21)
- 対象物体を操作するロボットを制御する情報処理装置であって、
前記対象物体と当該対象物体を配置する配置場所とを撮影して得られた視覚情報を取得する取得手段と、
前記視覚情報に基づいて、前記対象物体の配置状態が異常状態であるか否かを判定する状態判定手段と、
前記異常状態に対処可能であるか否かを判定する判定手段と、
前記異常状態に対処可能であると判定された場合、前記対象物体の位置姿勢を目標状態に修正するための前記ロボットの操作方法を予め学習済みの操作方法に基づいて計画する計画手段と、
前記計画手段により計画された操作方法に従って前記ロボットを制御する制御手段と、
を備えることを特徴とする情報処理装置。 - 前記異常状態であると判定された場合、異常状態の分類を行う分類手段をさらに備え、
前記判定手段は、前記分類手段により前記異常状態が予め学習済みの異常状態に分類されたか否かに基づいて、当該異常状態に対処可能であるか否かを判定することを特徴とする請求項1に記載の情報処理装置。 - 前記分類手段による異常状態の分類結果をユーザへ表示する表示手段をさらに備えることを特徴とする請求項2に記載の情報処理装置。
- 前記対象物体の異常状態を記憶する異常状態記憶手段と、
前記異常状態に対処不可能であると判定された場合、前記異常状態を新規の異常状態として前記異常状態記憶手段に登録する異常状態登録手段と、
をさらに備えることを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。 - 前記対象物体の異常状態を記憶する異常状態記憶手段をさらに備え、
前記分類手段は、前記視覚情報と、前記異常状態記憶手段に記憶されている情報とに基づいて、異常状態の分類を行うことを特徴とする請求項2又は3に記載の情報処理装置。 - 前記対象物体の配置状態を目標状態に修正するための前記ロボットの操作方法を記憶する操作方法記憶手段と、
前記異常状態に対処不可能であると判定された場合、前記異常状態を新規の異常状態として、前記新規の異常状態に対処して前記対象物体の配置状態を目標状態に修正するための前記ロボットの新規の操作方法を前記操作方法記憶手段に登録する操作方法登録手段と、
をさらに備えることを特徴とする請求項1乃至5の何れか1項に記載の情報処理装置。 - 前記制御手段は、前記対象物体の配置状態が異常状態であると判定された場合、前記視覚情報と、前記操作方法記憶手段に記憶されている情報とに基づいて、前記ロボットの位置姿勢の制御値を決定することを特徴とする請求項6に記載の情報処理装置。
- 前記対象物体を配置するための目標状態を記憶する目標状態記憶手段と、
前記視覚情報に基づいて、目標状態を前記目標状態記憶手段に登録する目標状態登録手段と、
をさらに備えることを特徴とする請求項1乃至7の何れか1項に記載の情報処理装置。 - 前記状態判定手段は、前記視覚情報と、前記目標状態記憶手段に記憶されている情報とに基づいて、前記対象物体の配置状態が異常状態であるか否かを判定することを特徴とする請求項8に記載の情報処理装置。
- 前記制御手段は、前記対象物体の配置状態が正常状態であると判定された場合、前記視覚情報と、前記目標状態記憶手段に記憶されている情報とに基づいて、前記ロボットの位置姿勢の制御値を決定することを特徴とする請求項8又は9に記載の情報処理装置。
- 前記目標状態記憶手段は、前記対象物体の配置場所が空の状態から配置が完了した状態までの、対象物体を1つずつ配置した各状態の画像情報を前記目標状態として記憶することを特徴とする請求項8乃至10の何れか1項に記載の情報処理装置。
- 前記異常状態記憶手段は、前記対象物体の配置場所に配置された対象物体の位置姿勢が前記目標状態と異なる場合を複数の状態に分類して前記異常状態として記憶することを特徴とする請求項4又は5に記載の情報処理装置。
- 前記操作方法記憶手段は、前記対象物体に対する前記ロボットの操作方法を示す相対的な操作情報を記憶することを特徴とする請求項6又は7に記載の情報処理装置。
- 前記操作情報は、前記対象物体を操作する際の前記対象物体に対する相対的な位置姿勢情報、速度情報、加速度情報、及び力覚情報のうちの少なくとも1つの情報を含むことを特徴とする請求項13に記載の情報処理装置。
- 前記操作情報は、前記対象物体を前記目標状態に近づける操作を行うための情報を含むことを特徴とする請求項13又は14に記載の情報処理装置。
- 前記操作方法記憶手段は、ユーザが前記対象物体を操作する様子を撮影した動画像情報又は複数の静止画像情報から学習した操作方法を記憶することを特徴とする請求項6又は7に記載の情報処理装置。
- 前記操作方法記憶手段は、位置姿勢情報と力覚情報との少なくとも1つを取得可能なセンサが取り付けられたユーザが前記対象物体を操作する際に前記センサが取得した情報から学習した操作方法を記憶することを特徴とする請求項6又は7に記載の情報処理装置。
- 前記操作方法記憶手段は、物理演算可能なシミュレータによって学習した操作方法を記憶することを特徴とする請求項6又は7に記載の情報処理装置。
- 前記ロボットが対象物体を操作する前に、前記計画手段により計画された前記ロボットの操作方法をユーザへ表示する第2の表示手段をさらに備えることを特徴とする請求項1乃至18の何れか1項に記載の情報処理装置。
- 対象物体を操作するロボットを制御する情報処理装置の制御方法であって、
前記対象物体と当該対象物体を配置する配置場所とを撮影して得られた視覚情報を取得する取得工程と、
前記視覚情報に基づいて、前記対象物体の配置状態が異常状態であるか否かを判定する状態判定工程と、
前記異常状態に対処可能であるか否かを判定する判定工程と、
前記異常状態に対処可能であると判定された場合、前記対象物体の位置姿勢を目標状態に修正するための前記ロボットの操作方法を予め学習済みの操作方法に基づいて計画する計画工程と、
前記計画工程により計画された操作方法に従って前記ロボットを制御する制御工程と、
を有することを特徴とする情報処理装置の制御方法。 - コンピュータを、請求項1乃至19の何れか1項に記載の情報処理装置として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020167963A JP2022060003A (ja) | 2020-10-02 | 2020-10-02 | 情報処理装置、情報処理装置の制御方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020167963A JP2022060003A (ja) | 2020-10-02 | 2020-10-02 | 情報処理装置、情報処理装置の制御方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022060003A true JP2022060003A (ja) | 2022-04-14 |
Family
ID=81124813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020167963A Pending JP2022060003A (ja) | 2020-10-02 | 2020-10-02 | 情報処理装置、情報処理装置の制御方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022060003A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115309962A (zh) * | 2022-08-05 | 2022-11-08 | 重庆大学 | 人体姿态动作数据处理方法及系统 |
-
2020
- 2020-10-02 JP JP2020167963A patent/JP2022060003A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115309962A (zh) * | 2022-08-05 | 2022-11-08 | 重庆大学 | 人体姿态动作数据处理方法及系统 |
CN115309962B (zh) * | 2022-08-05 | 2024-04-26 | 重庆大学 | 人体姿态动作数据处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110573308B (zh) | 用于机器人设备的空间编程的基于计算机的方法及系统 | |
JP6931457B2 (ja) | モーション生成方法、モーション生成装置、システム及びコンピュータプログラム | |
JP6474179B2 (ja) | 学習データセット作製方法、並びに、物体認識及び位置姿勢推定方法 | |
JP2020055096A (ja) | 情報処理装置、情報処理方法及びシステム | |
JP7154815B2 (ja) | 情報処理装置、制御方法、ロボットシステム、コンピュータプログラム、及び記憶媒体 | |
JP6752615B2 (ja) | 情報処理装置、情報処理方法、ロボット制御装置及びロボットシステム | |
JP6902369B2 (ja) | 提示装置、提示方法およびプログラム、ならびに作業システム | |
EP3342564A1 (en) | Remote control robot system | |
JP7191569B2 (ja) | 把持装置 | |
JP2019188516A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP4976883B2 (ja) | マニピュレータシステム | |
JP2017177294A (ja) | ロボット制御装置、ロボット制御方法、ロボットシステムおよびコンピュータプログラム | |
JP6869060B2 (ja) | マニピュレータの制御装置、制御方法およびプログラム、ならびに作業システム | |
CN110465951A (zh) | 用于机器人编程的方法、设备、计算机可读存储媒体和计算机程序 | |
CN114670189B (zh) | 存储介质、以及生成机器人的控制程序的方法及系统 | |
EP4400274A1 (en) | Command value generating device, method, and program | |
JP2022060003A (ja) | 情報処理装置、情報処理装置の制御方法およびプログラム | |
US11559888B2 (en) | Annotation device | |
JP2016159406A (ja) | ロボット制御装置、ロボット制御方法及びロボットシステム | |
JP6931585B2 (ja) | 作業システム、作業システムの制御方法及びプログラム | |
JP7249221B2 (ja) | センサ位置姿勢キャリブレーション装置及びセンサ位置姿勢キャリブレーション方法 | |
US12036663B2 (en) | Method and control arrangement for determining a relation between a robot coordinate system and a movable apparatus coordinate system | |
WO2022209924A1 (ja) | ロボット遠隔操作制御装置、ロボット遠隔操作制御システム、ロボット遠隔操作制御方法、およびプログラム | |
WO2022195680A1 (ja) | ロボットの作業教示装置及び作業教示方法 | |
CN114585482B (zh) | 控制装置、控制方法以及机器人系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |