Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6752615B2 - 情報処理装置、情報処理方法、ロボット制御装置及びロボットシステム - Google Patents
[go: Go Back, main page]

JP6752615B2 - 情報処理装置、情報処理方法、ロボット制御装置及びロボットシステム - Google Patents

情報処理装置、情報処理方法、ロボット制御装置及びロボットシステム Download PDF

Info

Publication number
JP6752615B2
JP6752615B2 JP2016092681A JP2016092681A JP6752615B2 JP 6752615 B2 JP6752615 B2 JP 6752615B2 JP 2016092681 A JP2016092681 A JP 2016092681A JP 2016092681 A JP2016092681 A JP 2016092681A JP 6752615 B2 JP6752615 B2 JP 6752615B2
Authority
JP
Japan
Prior art keywords
information
robot
target object
gripping
contact
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
JP2016092681A
Other languages
English (en)
Other versions
JP2017136677A (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 US15/209,489 priority Critical patent/US10335951B2/en
Publication of JP2017136677A publication Critical patent/JP2017136677A/ja
Application granted granted Critical
Publication of JP6752615B2 publication Critical patent/JP6752615B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、情報処理装置、情報処理方法、ロボット制御装置及びロボットシステムに関する。
従来、乱雑に山積みされた対象物体を1つ1つロボットが把持するための技術として、視覚センサを用いて対象物体の位置および姿勢を把握するロボット装置が知られている。特許文献1には、対象物体と同一形状の物体を複数の方向から撮像して教示モデルを作成しておき、教示モデルと山積みされた対象物体を撮像した画像データとのマッチングを行うことで、対象物体の位置および姿勢を認識することが開示されている。
特許第3300682号公報
視覚センサを用いた計測では、撮像した物体の表面位置の情報しか取得することができない。そのため、上記特許文献1に記載の技術では、対象物体がビニール袋や緩衝材によって包まれている場合、画像データ内の対象物体が教示モデルとマッチングしない。したがって、この場合、ビニール袋や緩衝材に包まれた中身である対象物体の位置および姿勢を適切に認識できず、ロボットは対象物体を把持することができない。
そこで、本発明は、表面位置情報だけでは対象物体を正確に認識できない場合であっても、対象物体の位置および姿勢を適切に認識することを目的とする。
上記課題を解決するために、本発明に係る情報処理装置の一態様は、対象物体と周辺物体からなる物体を認識する情報処理装置であって、物体の表面位置情報を取得する取得手段と、前記取得手段により取得された前記表面位置情報に基づいて、前記物体を実測するための計測位置を決定する決定手段と、前記決定手段により決定された前記計測位置において前記物体に接触したときの接触位置情報を計測する計測手段と、前記計測手段により計測された前記接触位置情報に基づいて、前記物体の空間的な位置情報を示す地図情報を作成する作成手段と、前記作成手段により作成された前記地図情報に基づいて、前記物体の位置および姿勢を認識する認識手段と、を備え、前記計測手段は、接近した前記物体までの距離を取得する距離の取得手段を備え、前記物体に接触しているときに前記距離の取得手段によって取得された距離に基づいて、前記接触位置情報を計測する。
本発明によれば、表面位置情報だけでは対象物体を正確に認識できない場合であっても、対象物体の位置および姿勢を適切に認識することができる。
第一の実施形態のロボットシステムの構成例を示す図である。 情報処理装置のハードウェア構成例を示す図である。 第一の実施形態における情報処理装置の機能ブロック図である。 第一の実施形態における動作を説明するためのフローチャートである。 第一の実施形態における動作を説明するための図である。 第二の実施形態のロボットシステムの構成例を示す図である。 第二の実施形態における情報処理装置の機能ブロック図である。 第二の実施形態における動作を説明するためのフローチャートである。 第三の実施形態のロボットシステムの構成例を示す図である。
以下、添付図面を参照して、本発明を実施するための形態について詳細に説明する。
なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
(第一の実施形態)
第一の実施形態では、撮像装置により撮像して得られた物体(対象物体およびその周辺の周辺物体)の画像情報をもとに計測した物体の3次元位置情報と、力覚センサによる計測情報とを統合して、物体の地図情報を作成する。そして、作成した地図情報を利用して、対象物体の位置および姿勢を認識する。本実施形態において、対象物体とは、ロボットによる操作の対象となる物体であり、例えばビニール袋や緩衝材に包まれたトナーカートリッジのような部品を含む。また、力覚センサによる計測とは、力覚センサによってロボットが物体へ接触していることが検知されているときに、位置検出センサによってロボットによる接触位置を計測することをいう。さらに、地図情報とは、対象物体および周辺物体の空間的な位置情報である。
図1は、本実施形態における情報処理装置20を備えるロボットシステム100の構成例を示す図である。
ロボットシステム100は、ロボット10と、情報処理装置20と、を備える。ロボット10は、例えば多関節ロボットであり、ロボットアーム等のマニピュレータや、ロボットハンド等のエンドエフェクタ11を備える。また、ロボット10は、マニピュレータの各関節の角度を変更することでエンドエフェクタ11の位置姿勢を変更可能な位置姿勢変更機構を備える。位置姿勢変更機構は、電動モータによって駆動されてもよいし、油圧や空気圧等の流体圧で作動するアクチュエータによって駆動されてもよい。この位置姿勢変更機構は、情報処理装置20から出力される動作指示情報に従って駆動される。
また、エンドエフェクタ11は、ロボット10の対象物体の種類に応じた操作を実現するためのツールであり、モータ駆動可能なチャック機構を有し対象物体を把持可能なハンドや、空気圧で対象物体を吸着する吸着パッドを用いたハンドを用いることができる。なお、エンドエフェクタ11は、ロボットアームに対して着脱可能に取り付けられており、ワークの種類に応じて交換可能である。また、ロボット10は、多関節ロボットに限定されるものではなく、数値制御(Numerical Control:NC)可能な可動式の機械であってもよい。
ロボット10は、情報処理装置20によって決定された行動を実施し、対象物体41を搬送したり把持したりする操作を実行する。本実施形態において、行動とは、対象物体41を認識あるいは操作するためのロボット10の動作のことである。
対象物体41は、トナーカートリッジのような、ロボット10によって把持され搬送されることが想定される部品であり、ビニール袋や緩衝材に包まれている場合もある。つまり、対象物体41の周辺には、対象物体41を包んでいるビニール袋や緩衝材といった周辺物体42が存在する。なお、周辺物体42は、対象物体41の周辺に位置する対象物体41以外の全ての物体であり、例えば、山積みされた対象物体41を収容している容器や、その容器の周辺に置かれた物体も含む。
また、ロボットシステム100は、撮像装置31と、光源32と、力覚センサ33と、位置検出センサ34とをさらに備える。
撮像装置31は、カメラや、光を検出するセンサ、フォトダイオードなどで構成される視覚センサであり、対象物体41および周辺物体42の画像情報を取得する。撮像装置31は、取得した画像情報を情報処理装置20に出力する。光源32は、例えばプロジェクタによって構成され、可視光を出射したり、レーザ光源から赤外光を出射したりすることで、対象物体41および周辺物体42に対して均一照明光やパターン光を投射する。撮像装置31は、光源32によって光が投射された対象物体41および周辺物体42の画像を撮像する。なお、撮像装置31は、光源32によって光が投射されていない状態で、対象物体41および周辺物体42の画像を撮像することもできる。撮像装置31および光源32は、図1に示すように、撮像対象空間の上方に固定配置してもよいし、ロボット10に搭載したり、他の作業機械に搭載したりしてもよい。また、撮像装置31は複数配置してもよい。
力覚センサ33は、ロボット10のエンドエフェクタ11の基部に取り付けられている。この力覚センサ33は、歪みゲージや圧電素子によって構成され、ロボット10が対象物体41あるいは周辺物体42に接触しているときのロボット10にかかる力(反力)を計測し、計測結果である力覚情報を情報処理装置20へ出力する。力覚センサ33は、6軸力覚センサ(Force/Torqueセンサ)であってもよいし、3軸力覚センサであってもよい。また、力覚センサ33は、1次元の圧力センサであってもよいし、接触の有無を判別する接触センサであってもよい。
位置検出センサ34は、ロボット10の位置を検出し、検出結果である位置検出情報を情報処理装置20へ出力する。位置検出センサ34は、ロボット10に取り付けられたエンコーダを含んで構成され、エンコーダから取得した角度情報をもとに順運動学を用いることで、ロボット10の位置を検出することができる。この位置検出センサ34は、力覚センサ33と一緒に用いられることで、ロボット10が対象物体41や周辺物体42に接触しているときのロボット10の位置を検出することができる。なお、ロボット10の位置を検出する方法は、上記の位置検出センサ34を用いる方法に限定されない。
情報処理装置20は、ロボット10の動作を制御するロボット制御装置である。情報処理装置20は、例えばパーソナルコンピュータ(PC)により構成されている。図2は、情報処理装置20のハードウェア構成の一例である。情報処理装置20は、CPU21と、ROM22と、RAM23と、外部メモリ24と、入力部25と、表示部26と、通信I/F27と、システムバス28とを備える。
CPU21は、情報処理装置20における動作を統括的に制御するものであり、システムバス28を介して、各構成部(22〜27)を制御する。ROM22は、CPU21が処理を実行するために必要なプログラムを記憶する不揮発性メモリである。なお、当該プログラムは、外部メモリ24や着脱可能な記憶媒体(不図示)に記憶されていてもよい。RAM23は、CPU21の主メモリ、ワークエリアとして機能する。すなわち、CPU21は、処理の実行に際してROM22から必要なプログラムをRAM23にロードし、当該プログラムを実行することで各種の機能動作を実現する。
外部メモリ24は、例えば、CPU21がプログラムを用いた処理を行う際に必要な各種データや各種情報を記憶している。また、外部メモリ24には、例えば、CPU21がプログラムを用いた処理を行うことにより得られた各種データや各種情報が記憶される。入力部25は、例えばキーボードやマウスのポインティングデバイスにより構成され、オペレータが入力部25を介して当該情報処理装置20に指示を与えることができるようになっている。表示部26は、液晶ディスプレイ(LCD)等のモニタで構成される。通信I/F27は、外部機器と通信するためのインターフェースである。システムバス28は、CPU21、ROM22、RAM23、外部メモリ24、入力部25、表示部26及び通信I/F27を通信可能に接続する。
このように、情報処理装置20は、通信I/F27を介して、外部機器であるロボット10、撮像装置31、光源32、力覚センサ33とそれぞれ通信可能に接続されており、これらの外部機器の動作を制御する。
図3は、情報処理装置20の機能ブロック図である。
情報処理装置20は、画像取得部201と、表面位置計測部202と、地図情報作成部203と、計測位置決定部204と、行動計画部205と、を備える。さらに、情報処理装置20は、力覚情報取得部206と、力計測部207と、位置情報取得部208と、位置計測部209と、把持位置決定部210と、を備える。表面位置計測部202、地図情報作成部203、計測位置決定部204、力計測部207および位置計測部209によって、対象物体41の位置および姿勢を認識する処理を行う認識部220を構成している。この認識部220は物体認識装置として動作することができる。
画像取得部201は、撮像装置31から出力される画像情報を取得する。画像取得部201は、取得した画像情報を画像データに変換し、表面位置計測部202に出力する。画像取得部201は、例えばキャプチャボードやメモリ(RAM)によって構成される。表面位置計測部202は、画像取得部201から取得した画像データに基づいて、対象物体41および周辺物体42の表面位置の情報(表面位置情報)を計測する。表面位置計測部202は、計測した表面位置情報を地図情報作成部203へ出力する。
地図情報作成部203は、表面位置計測部202によって計測された表面位置情報と、後述する力計測部207によって計測された力情報と、後述する位置計測部209によって計測された位置情報とに基づいて地図情報を作成する。なお、地図情報作成部203は、位置計測部209を介して力計測部207によって計測された力情報を取得する。地図情報とは、対象物体41および周辺物体42の空間的な位置情報であり、本実施形態では、3次元の空間内における対象物体41および周辺物体42の位置情報とする。地図情報作成部203は、まず、表面位置情報に基づいて地図情報を作成し、その後、力情報と位置情報とに基づいて、表面位置情報に基づいて作成した地図情報を更新することで、詳細な地図情報を作成する。
画像データをもとに計測された表面位置情報により、対象物体41および周辺物体42の表面位置を求めることができる。しかしながら、上述したように、対象物体41がビニール袋に包まれたトナーカートリッジである場合、表面位置情報により求まる表面位置は、ビニール袋の表面位置でありトナーカートリッジの表面位置ではない。このように、画像データをもとに計測される表面位置情報からは、対象物体41の正確な位置および姿勢を求めることができない場合がある。
そこで、本実施形態では、より正確に対象物体41を認識するために、ロボット10により対象物体41に直接触れ、対象物体41を計測する。具体的には、力覚センサ33および位置検出センサ34を用いて、ロボット10が対象物体41に接触したときのロボット10の位置情報(接触位置情報)を計測する。そして、計測したロボット10の位置情報を用いて地図情報を更新する。つまり、地図情報作成部203は、地図情報の作成にあたり、撮像装置31を用いて計測した対象物体41の表面位置に対して、力覚センサ33および位置検出センサ34を用いて実際に対象物体41に触って計測した、対象物体41の詳細位置の結果を加える。このようにして、対象物体41の位置および姿勢をより詳細に計測する。地図情報作成部203は、作成した地図情報を、計測位置決定部204や把持位置決定部210に出力する。
計測位置決定部204は、地図情報作成部203から入力した地図情報に基づいて、対象物体41の詳細な位置および姿勢を実測するための計測位置を決定する。この計測位置決定部204に入力される地図情報は、地図情報作成部203により表面位置情報に基づいて作成された地図情報である。計測位置決定部204は、入力された地図情報を参照し、対象物体41の存在確率が高いと判断した位置を計測位置として決定する。計測位置決定部204は、決定した計測位置を行動計画部205に出力する。
行動計画部205は、計測位置決定部204から入力した計測位置に基づいて、ロボット10の行動を計画する。具体的には、行動計画部205は、エンドエフェクタ11を計測位置に移動するためのロボット10の軌道と、計測位置における対象物体41への接触動作を実現するためのロボット10の軌道とを作成し、ロボット10へ動作指示情報を出力する。また、行動計画部205は、後述する把持位置決定部210から対象物体41の把持位置も入力可能である。行動計画部205は、把持位置を入力した場合、入力した把持位置に基づいてロボット10の行動を計画する。具体的には、行動計画部205は、エンドエフェクタ11を把持位置に移動するためのロボット10の軌道と、把持位置における対象物体41の把持動作を実現するためのロボット10の軌道とを作成し、ロボット10へ動作指示情報を出力する。
力覚情報取得部206は、力覚センサ33から出力される力覚情報を取得し、取得した力覚情報を力計測部207へ出力する。力覚情報取得部206は、例えばメモリ(RAM)によって構成される。力計測部207は、力覚情報取得部206から入力した力覚情報に基づいて、対象物体41あるいは周辺物体42にロボット10のエンドエフェクタ11が接触しているときのロボット10にかかる力(反力)を計測する。力計測部207は、計測した力情報を位置計測部209に出力する。
位置情報取得部208は、位置検出センサ34から出力される位置検出情報を取得し、取得した位置検出情報を位置計測部209へ出力する。位置情報取得部208は、例えばメモリ(RAM)によって構成される。位置計測部209は、力計測部207から入力した力情報と、位置情報取得部208から入力した位置検出情報とに基づいて、対象物体41あるいは周辺物体42にロボット10のエンドエフェクタ11が接触しているときの接触点の位置を計測する。位置計測部209は、計測した位置情報(接触位置情報)を地図情報作成部203に出力する。
把持位置決定部210は、地図情報作成部203から出力される地図情報をもとに、対象物体41の把持位置を決定する。この把持位置決定部210に入力される地図情報は、地図情報作成部203により力情報および位置情報に基づいて作成された詳細な地図情報である。把持位置決定部210は、入力された地図情報を参照し、ロボット10が対象物体41を把持可能な位置を把持位置として決定する。把持位置決定部210は、決定した把持位置を行動計画部205に出力する。
図3に示す情報処理装置20の各部の機能は、図2に示すCPU21がROM22もしくは外部メモリ24に記憶されたプログラムを実行することで実現され得る。
以下、ロボットシステム100の動作について説明する。
図4は、情報処理装置20が実行するロボット制御処理手順を示すフローチャートである。図4に示される処理は、情報処理装置20のCPU21が、ROM22もしくは外部メモリ24に格納されたプログラムを読み出して実行することにより実現される。ただし、図4の処理の一部または全部が、専用のハードウェアにより実現されてもよい。図4の処理は、例えばオペレータがロボットシステム100を起動したときに開始される。ただし、開始のタイミングは、ロボットシステム100の起動時に限定されるものではない。
先ずS1において、CPU21は、システムの初期化処理を行う。すなわち、CPU21は、ROM22もしくは外部メモリ24に格納されたプログラムをロードし、RAM23上に展開して実行可能な状態とする。また、情報処理装置20に接続された各機器のパラメータの読み込みや初期位置への復帰を行い、使用可能な状態にする。
次にS2において、画像処理部201は、撮像装置31が出力する対象物体41および周辺物体42の画像情報を取得し、S3に移行する。S3では、表面位置計測部202は、S2において画像処理部201が取得した画像情報に基づいて、対象物体41および周辺物体42の表面位置を計測する。撮像装置31から得られる画像情報は、3次元点群の情報であるため、表面位置計測部202は、取得した画像情報に基づいて、対象物体41および周辺物体42の表面の凹凸を認識することができる。なお、予め外部メモリ24等に格納された部品データベース(部品DB)を参照して、対象物体41および周辺物体42の表面位置を決定してもよい。部品DBは、認識の対象である対象物体41の部品種および形状の情報を保持している。部品DBに格納される対象物体41の形状の情報は、例えばCADデータやCGデータ(ポリゴンデータ)などの3次元モデルデータである。なお、部品DBに格納される対象物体の形状の情報は、対象物体41や周辺物体42を多方向から観察した2次元画像の集合から構成されていてもよい。
S4では、地図情報作成部203は、S3において表面位置計測部202が計測した表面位置情報に基づいて地図情報を作成する。以下、地図情報の作成方法について具体的に説明する。地図情報を作成するためには、複数の異なるセンサから得られた情報を一つの空間的な地図情報に落としこむ必要がある。しかしながら、撮像装置31の撮像装置座標系、力覚センサ33の力覚センサ座標系、ロボット10のロボット座標系は全て異なる。そのため、これらの座標系を統一する必要がある。
まず、作業空間内で基準となる座標系として、ワールド座標系Σwを設定する。そして、ワールド座標系Σwからロボット座標系Σrまでの変位を(RX,RY,RZ)とする。また、ロボット10の姿勢を表す3×3の回転行列をRMとする。
ロボット座標系Σrからロボット10の先端座標系Σfまでの変位は(FX,FY,FZ)とする。また、ロボット10の先端の姿勢を表す3×3の回転行列はFMとする。さらに、先端座標系Σfからロボット10のエンドエフェクタ11先端の座標系Σeまでの変位は(EX,EY,EZ)とする。また、エンドエフェクタ11先端の姿勢を表す3×3の回転行列はEMとする。なお、エンドエフェクタ11先端とは、対象物体41あるいは周辺物体42に接触する部分である。
ロボット10の先端座標系Σfから力覚センサ座標系Σtまでの変位は(TX,TY,TZ)とする。また、力覚センサ33の姿勢を表す3×3の回転行列はTMとする。さらに、ロボット座標系Σrから撮像装置座標系Σcまでの変位は(CX,CY,CZ)とする。また、撮像装置31の姿勢を表す3×3の回転行列はCMとする。さらに、撮像装置座標系Σcから対象物体座標系Σvまでの変位は(VX,VY,VZ)とする。また、対象物体41の姿勢を表す3×3の回転行列はVMとする。ここで、ワールド座標系Σwから見た対象物体41の変位を(WX,WY,WZ)、姿勢を表す3×3の回転行列をWMとする。
ロボット10が対象物体41に接触しているとき、ロボット10の先端に取り付けられたエンドエフェクタ11先端の位置は、撮像装置31により撮影された対象物体41の位置と一致する。したがって、以下の(1)式および(2)式が成り立つ。
Figure 0006752615
なお、ワールド座標系Σwから見た、接触動作時にロボット10にかかる力を4×4の行列WTとおくと、行列WTは以下の式で求まる。この(3)式を用いて、力の方向をワールド座標系Σwで考慮することができる。
Figure 0006752615
地図情報作成部203は、以上の定義の下で、地図情報を作成する。つまり、地図情報作成部203は、上記(1)〜(3)式を用いて、異なる複数のセンサの座標系を統一し、座標系が統一されたら、各センサから得られた情報を利用して地図情報を作成していく。
S4では、地図情報作成部203は、まず、ワールド座標系Σwの作業空間に対してボクセルを配置する。ここで、ボクセルの存在する領域は、対象物体41あるいは周辺物体42が存在する可能性のある領域とする。また、ボクセルの大きさは、対象物体41の把持動作に必要な精度に応じて適宜設定される。
次に、地図情報作成部203は、表面位置情報を用いて、対象物体41と周辺物体42との表面位置よりも外側に存在するボクセルを全て削る処理を行う。表面位置情報は3次元点群データであり、この表面位置情報は、撮像装置座標系Σcの情報として求まるので、対象物体41の表面位置は、上記(2)式を用いてワールド座標系Σwに変換することができる。ワールド座標系Σwに配置されたボクセル内に点群が存在する場合、そのボクセルは削られる対象となる。ボクセルが削られた領域は物体が存在しない部分として処理される。以上により、対象物体41と周辺物体42とがおおよそ存在する空間を示す地図情報が作成される。
S5では、計測位置決定部204は、S4において作成された地図情報に基づいて、対象物体41の計測位置を決定する。具体的には、計測位置決定部204は、地図情報を参照し、対象物体41および周辺物体42の表面の凹凸に関する情報をもとに、表面が凸形状である部分を選択する。そして、選択した部分は対象物体41の存在確率が高い部分であるとして、対象物体41を詳細に計測するための計測位置として決定する。なお、部品DBを利用して対象物体41の位置を推測できている場合、推測した位置をもとに計測位置を決定してもよい。このように、部品DBにより、対象物体41のおおまかな位置および姿勢を推測できる場合には、推測した位置および姿勢が正しいか否かを直接触って確認するための計測位置を決定する。
S6では、行動計画部205は、S5において計測位置決定部204が決定した計測位置に基づいて、計測位置による計測を実現するためのロボット10の行動計画を決定する。次にS7では、行動計画部205は、S6において決定した行動計画に基づいて、ロボット10へ動作指示情報を出力する。これにより、ロボット10は、エンドエフェクタ11を計測位置まで移動し、計測位置において対象物体41に対する接触動作を行う。このときのロボット10の動作は、単にエンドエフェクタ11が表面位置計測部202で計測した表面位置まで移動するだけではなく、表面位置よりさらに深く移動しながら力覚情報の取得も行う動作である。図5(a)に示すように、対象物体41がビニール袋や緩衝材といった周辺物体42に包まれている場合、エンドエフェクタ11は、図5(b)に示すように周辺物体42を押しつぶしながら移動する。
S8では、力覚情報取得部206は、力覚センサ33が出力する力覚情報を取得する。また、位置情報取得部208は、力覚情報取得部206による力覚情報の取得に同期して、位置検出センサ34が出力する位置検出情報を取得する。S9では、力計測部207は、S8において力覚情報取得部206が取得した力覚情報に基づいて、ロボット10にかかる力を示す力情報を計測する。また、位置計測部209は、S8において位置情報取得部208が取得した位置検出情報に基づいて、ロボット10の位置を示す位置情報を計測する。
力情報および位置情報は、ロボット10が対象物体41に対する接触動作を行っている間、繰り返し計測してもよい。その場合、図4に示すフローチャートでは、S7〜S9を一方向の流れとして書いているが、S7からS8、S8からS9、S9からS7と、S7〜S9の処理を高速に繰り返す。つまり、ロボット10は移動しながら力覚情報・位置情報を取得し、力計測・位置計測を行う。さらに、S7〜S9に限らず、S10の地図情報の更新も行ってもよい。その場合は、S9からS7に戻るのではなく、S7からS8、S8からS9、S9からS10、S10からS7という処理の流れを高速に繰り返す。ここで、上記接触動作は、ロボット10にかかる力の大きさが、予め設定された上限値を超えない範囲で実施するものとする。ロボット10にかかる力の大きさが上限値を超えたか否かは、S9において計測される力情報に基づいて判定する。接触動作を行う中で、ロボット10にかかる力は、対象物体41への接触力に応じて増加する。そこで、上記の力の上限値は、接触動作により対象物体41に破損等の不具合が生じない程度の力に設定する。例えば、対象物体41がビニール袋に包まれたトナーカートリッジである場合、ビニール袋を潰しトナーカートリッジを壊さない程度の力を上限値として設定する。
ロボット10がビニール袋を潰してトナーカートリッジの表面に当接し、ロボット10にかかる力が上限値に達すると、情報処理装置20はロボット10の接触動作を停止する。接触動作を停止した時点でのロボット10の位置は、対象物体41の実際の表面位置として認識することができる。
S10では、地図情報作成部203は、S9において計測した力情報および位置情報に基づいて、S4において作成された地図情報を更新し、新たな地図情報を作成する。S10では、地図情報作成部203は、S9において取得した位置情報を、計測位置において実際にロボット10が動作した結果として利用する。そして、S4において作成した地図情報に対して、ロボット10自身が動いた空間に該当するボクセルを削る処理を行う。
その際、地図情報作成部203は、予め保持されたロボット10の3次元モデル情報を用い、関節角度データから順運動学をもとに各時刻においてロボット10が専有している位置(専有位置)を計算する。エンドエフェクタ11部分についても同様に、予め保持したエンドエフェクト11の3次元モデル情報を用い、ロボット10先端の位置および姿勢から専有位置を計算する。このように、上記専有位置は、ロボット10に設置した位置検出センサ34から得られる位置検出情報であるロボット10の各関節角度のデータをもとに計算することができる。その際、前述の座標系の統一処理と同様に、リンク間長さから変位の並進ベクトルを求め、関節角度から3×3の回転行列を求め、順運動学を用いる。これにより、ロボット10の3次元での位置および姿勢、つまりロボット座標系Σrからロボット10の先端座標系Σfまでの変位(FX,FY,FZ)と回転行列FMとを求めることができる。
上記により求まる専有位置は、前述の座標系の統一によってワールド座標系Σwにおける位置情報として計算される。そのため、計算された専有位置に該当するボクセルを削ることができる。ロボット10が対象物体41あるいは周辺物体42に接触している場合でも、力計測部207で計測している力が上限値よりも小さい場合は、ロボット10は動き続ける。したがって、この場合、地図情報作成部203は、ロボット10が対象物体41にはまだ完全に接触していないと判断し、ロボット10が動き続けると同時に空間的な掃引を行い、ボクセルを削っていく。対象物体41がビニール袋のようなもので包まれている場合、ビニール袋のみが存在する空間では、エンドエフェクタ11がビニール袋を押し潰すことでロボット10は動作を継続する。そのため、ビニール袋のみが存在する空間に対応するボクセル内の領域は削られることになる。
ロボット10が対象物体41に接触し、ロボット10にかかる力が上限値に達すると、その時点でロボット10は動作を止める。このとき、地図情報作成部203は、ボクセルを削る処理を止め、接触箇所までに掃引した空間は物体がなく、接触した位置は物体があると判断して、地図情報の作成を終了する。
なお、地図情報の作成にあたっては、ボクセルを配置しない手法を用いてもよい。例えば、3次元点群データである表面位置情報を面形式データに変換し、ポリゴンを用いて対象物体41や周辺物体42の表面位置を表現してもよい。この場合、ポリゴンにより作成された表面位置情報を初期値として、ロボット10が掃引した空間に対する3次元の位置情報をもとに表面生成を行い、地図情報を作成してもよい。また2次元で地図情報を作成する場合には、ボクセルではなくピクセルを用いて、2次元平面上において上記と同様の手法を用いて地図情報を作成してもよい。
S11では、把持位置決定部210は、S10における地図情報の作成結果をもとに、ロボット10のエンドエフェクタ11によって対象物体41を把持可能であるか否かを判定する。そして、把持が可能である場合には計測を終了すると判断し、把持が不可能である場合には計測を継続すると判断する。
具体的には、地図情報をもとに把持対象となる対象物体41の位置および姿勢を推定し、推定した対象物体41の位置および姿勢と、ロボット10のエンドエフェクタ11の形状とに基づいて把持可否を判断する。エンドエフェクタ11が対象物体41の側面を上方から挟んで把持する場合、エンドエフェクタ11が対象物体41の側面に入り込む必要がある。その場合、まず、地図情報をもとに、対象物体41の上にロボット10が移動できる空間があるか否かを判断する。空間の有無は、地図情報において、ボクセルが取り除かれているか否かで判断する。
空間がある場合、ロボット10が対象物体41の上まで移動できると判断する。すると、次に、エンドエフェクタ11が対象物体41の側面に入る空間があるか否かを、接触を伴う動作によって判断する。そして、対象物体41の側面にエンドエフェクタ11が入れる空間がある場合には、エンドエフェクタ11が対象物体41を把持可能であるため、計測を終了すると判断してS12に移行する。一方、エンドエフェクタ11が対象物体41を把持できないと判断した場合には、S5に戻って計測を続行する。このように、把持位置決定部210は、周囲にロボット10の把持部であるエンドエフェクタ11を挿入可能な空間を有する位置を、ロボット10が対象物体41を把持可能な位置として決定する。
また、S11で把持可能でないと判断した場合、S5の計測位置決定の処理を再び行うが、このとき、ここまでの処理の結果を利用してもよい。例えば、S11にて把持可能かの判断をするにあたり、ロボットの動作が行われているが、その計測位置決定を行う際、次の計測位置は別の計測位置から求めるといった方法である。具体的には、今回の計測位置決定にあたり、候補となる位置が複数あるとする。このとき、S5の説明で述べたように、表面の凹凸状態などを利用して、対象物体41の存在確率が高い部分を計測位置として決定している。この存在確率を評価関数として利用する場合、今回の計測ではこの評価関数が最大値を示した位置を計測位置として決定しているが、次回の計測では評価関数が最大値の次に大きい値を示した位置を計測位置として決定する。これらの結果は作成した地図情報に含んでもよい。このように、単に同じ処理を繰り返すだけでなく、今回の処理の結果を地図情報に随時更新することで、次回の処理において利用してもよい。こうすることで、ロボット10が把持可能でない位置へ何度も移動することがなくなる。また、ロボット10は把持可能性の高い順に移動することができる。そのため、一回目の処理で対象物体41の把持に失敗しても、二回目以降の処理で把持できる確率が上がる。
なお、S11において、図4では「把持可能か?」と記載しているが、これは単に把持ができるかできないかだけでなく、把持動作を実行できる位置までロボット10が移動できるかどうかという判断も含む。ロボット10が移動する際、想定外の障害などで、把持動作を実行する予定の位置まで移動できない場合が生じる可能性もある。その場合は、把持可能ではないと判断し、S5の処理を行う。
S12では、把持位置決定部210は、S10において作成された地図情報に基づいて、対象物体41の把持位置を決定する。把持位置決定部210は、S11において把持可能であると判断された位置の中から対象物体41の把持位置を決定する。
S13では、行動計画部205は、S12において決定された把持位置による対象物体41の把持動作を実現するためのロボット10の行動計画を決定する。行動計画を決定する際には、行動計画部205は、把持位置をもとに、予め外部メモリ24等に格納された動作データベース(動作DB)を参照する。動作DBは、部品種および作業手順の情報を保持している。なお、ロボットの行動計画は、一般的な経路探索アルゴリズムを利用して決定することができる。経路探索アルゴリズムとしては、例えば、RRT(Rapidly-exploring Random Tree)やPRM(Probabilistic RoadMap)などのサンプリングベース探索法を用いることができる。その際、地図情報を利用して、どこに対象物体41があるか、どこに障害物があるか、といった3次元の位置情報を入力する。このような手法を用いることで、行動計画部205は、障害物を回避しながら対象物体41を把持できるロボット10の行動計画を決定する。ただし、同様の結果が得られるのであれば、別の手法を用いてもよい。
次にS14では、行動計画部205は、S13において決定した行動計画に基づいて、ロボット10へ動作指示情報を出力する。これにより、ロボット10は、エンドエフェクタ11を把持位置まで移動し、把持位置において対象物体41に対する把持動作を行う。ロボット10によって把持された対象物体41は、動作DBに蓄積された作業手順に則って所定の場所へ搬送される。
S15では、CPU21は、画像取得部201が取得した画像情報をもとに、認識対象となる次の対象物体41が存在するか否かを判定する。そして、CPU21は、対象物体41が存在しない場合には認識処理を終了すると判断して図4に示す処理を終了し、対象物体41が存在する場合には、認識処理を継続すると判断してS2に戻る。
このように、情報処理装置20は、撮像装置31から得られる画像情報をもとに計測した表面位置情報に基づいて、より詳しく対象物体41の位置および姿勢を計測するための計測位置を決定し、決定した計測位置へロボット10を移動させる。そして、計測位置においてロボット10を対象物体41に実際に接触させ、その接触動作中に力覚センサ33および位置検出センサ34を用いて計測された力情報および位置検出情報に基づいて、対象物体41の詳細位置を計測する。対象物体41の位置および姿勢は、地図情報を作成することで認識する。これにより、撮像装置31のみでは位置および姿勢を正確に認識できないような、ビニール袋や緩衝材に包まれた対象物体41であっても、適切に把持動作のための認識が可能となる。したがって、対象物体41の把持できるケースが増え、作業の効率化が図れる。
なお、本実施形態においては、対象物体41に対する接触動作は1回としているが、一度の接触動作によって対象物体41を認識できない場合には、複数回触って計測を繰り返して地図情報を作成してもよい。これにより、認識の精度を向上させることができる。
以上のように、本実施形態では、表面位置計測部202が、物体(対象物体41および周辺物体42)の表面位置情報を計測(取得)し、計測位置決定部204が、表面位置情報に基づいて対象物体41を実測するための計測位置を決定する。また、力計測部207および位置計測部209は、計測位置において対象物体41に接触したときの接触位置情報を計測する。そして、地図情報作成部203は、表面位置情報と接触位置情報とに基づいて、対象物体41の位置および姿勢を認識する。
このように、対象物体41に実際に触って接触位置情報を計測するので、対象物体41の詳細位置を確認することができる。これにより、ビニール袋や緩衝材に包まれた中身である対象物体41の位置および姿勢を適切に認識することができる。つまり、表面位置情報からだけでは、対象物体41の実際の位置および姿勢が認識できない場合であっても、対象物体41の実際の位置および姿勢の認識が可能となる。したがって、ロボット10により対象物体41を把持できるケースが増え、作業の効率化が図れる。
また、地図情報作成部203は、表面位置情報と接触位置情報とに基づいて、対象物体41の空間的な位置情報を示す地図情報を作成し、作成した地図情報に基づいて、対象物体41の位置および姿勢を認識する。このように、対象物体41に実際に触って確認した位置情報を考慮して地図情報を作成するので、適切に対象物体41の位置および姿勢を認識することができる。
さらに、地図情報作成部203は、地図情報の作成に際し、まず、表面位置情報に基づいて地図情報を作成し、次いで、計測位置において計測された接触位置情報に基づいて、表面位置情報に基づいて作成された地図情報を更新する。このように、撮像装置31による対象物体41の表面位置計測と、力覚センサ33および位置検出センサ34による位置計測の結果とを統合して地図情報を作成する。これにより、表面位置情報に基づいて作成したおおまかな地図情報において不足する情報を適切に補って最終的な地図情報を作成することができる。したがって、撮像装置31から取得される情報だけでは対象物体41の位置および姿勢が求まらない場合であっても、対象物体41の形状を適切に認識してロボット10による操作が可能になる。
また、計測位置決定部204は、表面位置情報に基づいて、表面が凸形状である位置を検出し、検出した位置を計測位置として決定する。したがって、対象物体41および周辺物体42が混在する中から、対象物体41の存在確率が高い部分を選択して実測することができる。
さらに、表面位置計測部202は、対象物体41および周辺物体42を撮像した画像情報に基づいて表面位置情報を取得する。そのため、容易に表面位置情報を取得することができる。
また、力計測部207は、対象物体41に接触したときの反力を計測(取得)し、位置計測部209は、対象物体41との接触点の位置を計測(取得)する。そして、位置計測部209は、力計測部207によって計測された反力が所定の上限値に達したときに接触点の位置を計測することで、接触位置情報を計測する。したがって、対象物体41がビニール袋のようなやわらかい部材で包まれている場合には、対象物体41を包んでいる部材を潰して対象物体41に直接接触し、接触位置情報を計測することができる。その際、ビニール袋や緩衝材を潰し中身である対象物体41を壊さない力を上記上限値として設定すれば、正確に対象物体41の位置および姿勢を認識することができる。
把持位置決定部210は、地図情報作成部203により作成された地図情報から認識される対象物体41の位置および姿勢に基づいて、ロボット10が対象物体41を把持可能な把持位置を決定する。このように、把持位置決定部210は、対象物体41に実際に触って確認した位置情報を考慮して作成された地図情報をもとに把持位置を決定する。したがって、高精度で把持可能な位置を決定することができ、ロボット10による把持動作を高確率で成功させることができる。また、このとき、把持位置決定部210は、周囲にロボット10の把持部を挿入可能な空間を有する位置を把持位置として決定するので、適切に把持位置を決定することができる。
(第二の実施形態)
次に、本発明の第二の実施形態について説明する。
第二の実施形態では、上述した第一の実施形態に対し、さらに把持動作時に把持力を計測する把持力計測センサを追加し、把持力計測センサによって計測された把持力情報を利用して、地図情報をより詳細に作成するよう構成したものである。具体的には、まず、上述した第一の実施形態と同様に、撮像装置31を用いて対象物体41および周辺物体42の表面位置情報を計測する。次に、上述した第一の実施形態と同様に、表面位置情報に基づいて対象物体41の計測位置を決定し、計測位置において対象物体41に対する接触動作を行う。そして、接触動作時に、力覚センサ33および位置検出センサ34を用いて、ロボット10が対象物体41に接触しているときの位置情報を計測し、計測した位置情報に基づいて対象物体41の把持位置を決定する。本実施形態では、把持位置における把持動作時に、把持力計測センサと位置検出センサ34とを用いて対象物体41の把持幅情報を計測する。そして、以上の表面位置情報、位置情報、および把持幅情報の計測結果を統合して地図情報を作成することにより、対象物体41を把持するための形状を認識する。
第一の実施形態では、ロボット10が対象物体41を把持する前までの情報から対象物体41を認識した。そのため、大きさの異なる複数種類の物体中に目標の対象物体41が混在する場合、必ずしも目標の対象物体41を把持できるとは限らない。そこで、第二の実施形態では、把持動作時に計測した把持幅を部品DBと照合し、目標の対象物体41の大きさ(幅)を参照することで、把持動作によりロボット10が把持した物体が目標の対象物体41であるか否かを判定する。また、把持動作時も含めて地図情報を作成するようにする。
図6は、第二の実施形態におけるロボットシステム100の構成例である。この図6において、上述した第一の実施形態と同様の構成を有する部分には、図1と同一符号を付し、以下、構成の異なる部分を中心に説明する。
本実施形態におけるロボットシステム100は、把持力計測センサ35がロボット10のエンドエフェクタ11先端に取り付けられている点で図1とは異なる。把持力計測センサ35は、歪みゲージや圧電素子により構成され、ロボット10が対象物体41を把持しているときの把持力を計測し、計測結果である把持力覚情報を情報処理装置20´へ出力する。把持力計測センサ35は、6軸力覚センサであってもよいし、3軸力覚センサであってもよい。また、把持力計測センサ35は、1次元の圧力センサであってもよいし、接触の有無を判別する接触センサであってもよい。
図7は、本実施形態における情報処理装置20´の機能ブロック図である。図7に示す情報処理装置20´は、図2に示す情報処理装置20に対して、把持力覚情報取得部211と、把持力計測部212とが追加されている点が異なる。
把持力覚情報取得部211は、把持力計測センサ35から出力される把持力覚情報を取得し、取得した把持力覚情報を把持力計測部212へ出力する。把持力覚情報取得部211は、例えばメモリ(RAM)によって構成される。把持力計測部212は、把持力覚情報取得部211から入力した把持力覚情報に基づいて、ロボット10のエンドエフェクタ11によって物体を把持したときのロボット10にかかる力を計測する。把持力計測部212は、計測した把持力情報を位置情報計測部209に出力する。表面位置計測部202、地図情報作成部203、計測位置決定部204、力計測部207、位置計測部209および把持力計測部212によって、対象物体41の位置および姿勢を認識する処理を行う認識部220´を構成している。
図8は、情報処理装置20´が実行するロボット制御処理手順を示すフローチャートである。図8に示す処理は、図4のS14とS15との処理の間に、S21〜S26の処理が追加されていることを除いては、図4と同様の処理を行う。したがって、以下、処理の異なる部分を中心に説明する。
S21では、把持力覚情報取得部211は、把持力計測センサ35が出力する把持力覚情報を取得する。また、位置情報取得部208は、把持力覚情報取得部211による把持力覚情報の取得に同期して、位置検出センサ34が出力する位置検出情報を取得する。次にS22では、把持力計測部212は、S21において把持力覚情報取得部211が取得した把持力覚情報に基づいて、ロボット10が対象物体41を把持したときの把持力情報を計測する。また、位置計測部209は、S21において位置情報取得部208が取得した位置検出情報に基づいて、ロボット10が対象物体41を把持したときのエンドエフェクタ11先端の位置を計測する。つまり、位置計測部209は、ロボット10が把持した対象物体41の把持幅情報を計測する。
把持力情報および把持幅情報は、ロボット10の対象物体41に対する把持動作を行っている間、繰り返し計測される。上記把持動作は、対象物体41を把持したときにロボット10にかかる力の大きさが、予め設定された上限値を超えない範囲で実施するものとする。ロボット10にかかる力の大きさが上限値を超えたか否かは、S22において計測される把持力情報に基づいて判定する。把持動作を行う中で、ロボット10にかかる力は、対象物体41への把持力に応じて増加する。そこで、上記の力の上限値は、把持動作により対象物体41に破損等の不具合が生じない程度の力に設定する。例えば、対象物体41がビニール袋に包まれたトナーカートリッジである場合、ビニール袋を潰しトナーカートリッジを壊さない程度の力を上限値として設定する。
ロボット10がビニール袋を潰してトナーカートリッジの表面に当接し、ロボット10にかかる力が上限値に達すると、情報処理装置20´はロボット10の把持動作を停止する。把持動作を停止した時点でのロボット10のエンドエフェクタ11による把持幅は、対象物体41の実際の大きさとして認識することができる。
S23では、地図情報作成部203は、S22において計測した把持力情報および把持幅情報に基づいて、S10において作成された地図情報を更新し、新たな地図情報を作成する。このS23では、地図情報作成部203は、S22において計測した把持幅を、対象物体41の大きさを示す情報として利用する。このように、地図情報作成部203は、対象物体41を実際に把持して得られた把持幅情報を加味して地図情報を作成し、対象物体41を認識する。
地図情報作成部203は、まず各座標系の統一処理を行う。ロボット10、撮像装置31、力覚センサ33の座標系の統一については第一の実施形態において述べたとおりである。したがって、以下、把持力計測センサ35の座標系について述べる。本実施形態では、ロボット10の先端座標系Σfから把持力計測センサ座標系Σgまでの変位を(GX,GY,GZ)とする。また、把持力計測センサ35の姿勢を表す3×3の回転行列をGMとする。ここで、ワールド座標系Σwから見た、把持動作時にロボット10にかかる把持力を4×4の行列GTとすると、行列GTは以下の(4)式で求まる。この(4)式を用いて、把持力の方向をワールド座標系Σwで考慮することができる。
Figure 0006752615
地図情報作成部203は、地図情報を作成する際には、上記(4)式と、上述した(1)〜(3)式とを用いて、異なる複数のセンサの座標系を統一する。そして、地図情報作成部203は、座標系が統一されたら、各センサから得られた情報を利用して地図情報を作成していく。このS23では、地図情報作成部203は、S10において作成した地図情報に対して、実際に対象物体41を把持した結果を付加する処理を行う。
S24では、CPU21は、S23において作成された地図情報と、部品DBを参照して得られる対象物体41の形状情報とをもとに、ロボット10が把持している物体が目標の対象物体41であるか否かを判定する。判定の際には、対象物体41を包んでいる周辺物体42の変形具合を考慮し、対象物体41の取りうる幅を推定する。そして、対象物体41の把持幅が、推定した取りうる幅以内である場合には、CPU21は、ロボット10が把持している物体が対象物体41であると判断する。把持している物体が対象物体41であると判断した場合には、動作を継続すると判断してS25へ移行する。一方、把持している物体が対象物体41ではないと判断した場合にはS12へ戻り、再度、把持位置を決定し、地図情報の作成を繰り返す。
S25では、行動計画部205は、把持した対象物体41に対する操作を実現するためのロボット10の行動計画を決定する。行動計画を決定する際には、行動計画部205は、把持位置をもとに、動作DBに蓄積されている部品種と作業手順の情報を参照する。
次にS26では、行動計画部205は、S25において決定した行動計画に基づいて、ロボット10へ動作指示情報を出力する。これにより、ロボット10は、エンドエフェクタ11によって把持した対象物体41を、動作DBに蓄積された作業手順に則って所定の場所へ搬送する。
このように、本実施形態では、上述した第一の実施形態と同様の手法により対象物体41を認識し、対象物体41を把持したとき、把持力計測センサ35を用いて把持した物体の把持幅を計測する。そして、計測した把持幅に基づいて、把持した物体が対象物体41であるか否かの判定を行い、地図情報をより詳細に作成する。これにより、大きさの異なる複数種類の対象物体41が存在する場合であっても、それぞれ高精度で認識することができる。そのため、異なる種類の対象物体41を正確に把持できるケースが増え、作業を継続できる可能性を拡大することができる。
具体的には、把持力計測部212は、把持位置において対象物体41を把持したときの把持幅情報を計測し、地図情報作成部203は、把持幅情報をさらに用いて対象物体41の位置および姿勢を認識する。したがって、より詳細に対象物体41を把持するための形状を認識することができる。例えば、対象物体41が大きさの異なる複数種類である場合にも、より高い精度で対象物体41の位置および姿勢を認識し、ロボット10による作業を継続できる可能性を拡大することができる。また、実際に対象物体41を把持したときの把持幅を計測するので、対象物体41の大きさを精度良く計測することができる。したがって、把持した物体が目標の対象物体41であるか否かを適切に判断することができる。
(第三の実施形態)
次に、第三の実施形態について説明する。
第三の実施例では、上述した第一、第二の実施例に対し、オクルージョンのある領域にエンドエフェクタ11を挿入したときに、作成した地図情報を利用することにより、周辺物体42と干渉することのないロボット10の行動計画を行うことができる。ここで、ロボットの制御の処理手順は図4に示すフローチャートと同じであるが、S13での処理が異なる。
オクルージョンのある領域にエンドエフェクタ11を挿入する場合とは、例えば図9(a)のように、撮像装置31が撮像できる領域A0に対して、対象物体41が存在する領域が周辺物体42などにより遮蔽されている状態にある場合である。この場合、図9(b)のように、対象物体41を認識できる領域A1と、撮像装置31が対象物体41を撮像しようとしても対象物体41を認識できない領域A2とが発生してしまう。この状態にあるとき、対象物体41を把持できたとしても、対象物体41を搬送して取り出すときに、撮像装置31によって撮像できない周辺物体42に干渉してしまうことで、把持している対象物体41を落下させてしまうおそれがある。
そこで、本実施形態では、S13の処理において、S4、S10で作成・更新された地図情報を利用する。対象物体41を把持するまでに作成した地図情報は、対象物体41に限らず、周辺物体42に関する情報も含んでいる。そのため、ロボット10が対象物体41を把持してから搬送し、取り出すときの行動計画においては、周辺物体42の存在する空間的な情報を考慮し、ロボット10が移動可能な空間を限定する。
周辺物体42の位置情報取得にあたっては、力覚センサ33に代えて、接近した物体までの距離を検出する近接覚センサを用いてもよい。この場合、計測位置において、対象物体41に接触しているときに近接覚センサにより対象物体41までの距離情報を直接取得することで接触位置情報を計測し、地図情報を作成することができる。近接覚センサが図1や図6に示す力覚センサ33と近い位置に設置されている場合、近接覚センサは、エンドエフェクタ11の基部からロボット10の対象物体41に対する接触点の位置までの距離情報を取得することができる。さらに、近接覚センサを複数箇所に配置しておけば、一度に複数箇所の距離情報を計測して地図情報を作成することができる。そのため、撮像装置31による計測ではオクルージョンがある場合、対象物体41把持後の取出し動作において、対象物体41の周辺の周辺物体42に干渉することのないロボット10の動作をより短時間に計画することができる。
また、力覚センサ33と近接覚センサとを両方用いて計測してもよい。力覚センサ33と近接覚センサとを両方利用することで、力覚センサ33による計測により高い精度で位置計測を行いながら、近接覚センサにより複数箇所を一度に計測して地図情報を作成することができる。これにより、より短時間に対象物体41と周辺物体42とを認識し、ロボット10の行動を適切に計画することができる。なお、近接覚センサは赤外線センサであってもよいし、磁気タイプや超音波タイプのセンサを用いてもよい。
こうすることによって、ロボット10が把持している対象物体41を搬送する際、搬送中に対象物体41が周辺物体42と干渉する可能性が低くなるので、搬送中に対象物体41が落下する恐れが低くなり、作業効率を向上することができる。
(変形例)
上記各実施形態においては、ロボット10が把持動作に失敗した場合、把持位置決定部210は、把持動作に失敗した把持位置を次に把持動作を行う把持位置候補から除外し、別の場所から把持位置を決定するようにしてもよい。このように、地図情報を作成することにより、ロボット動作における同じ失敗を防ぐための処理が可能となる。これにより、ロボット10による作業時間を短縮することができる。
また、上記各実施形態においては、ロボット10が対象物体41に接触したときの力覚情報から対象物体41の材質を認識し、認識した情報を利用して対象物体41を把持するようにしてもよい。例えば、上記各実施形態のように、対象物体41がビニール袋に包まれている場合、ロボット10がビニール袋に接触したとき、わずかにロボット10に力がかかる。その場合、ロボット10にかかった力から、ビニール袋が存在する空間が分かるので、ビニール袋を把持して対象物体41を操作(搬送)するようにしてもよい。これにより、対象物体41そのものを把持できない場合であっても、対象物体41を操作することができ、作業を継続できる可能性を向上させることができる。
さらに、上記各実施形態においては、力覚センサ33を用いた対象物体41の詳細位置計測の後に、撮像装置31による対象物体41の表面位置計測を再度行ってもよい。力覚センサ33により複数回の計測が行われると、センサドリフトによりズレが蓄積されてしまう場合がある。したがって、適宜、撮像装置31による表面位置計測を行うことで、上記ズレを補正して地図情報を作成することができる。これにより、センサドリフトのズレによる影響を抑制し、より正確に地図情報を作成できるので、作業を正確に行える可能性を向上させることができる。
また、上記各実施形態においては、撮像装置31による計測を最初に複数回行い、表面位置情報をより詳細に計測してもよい。これにより、その後の力覚センサ33や近接覚センサによる計測の回数を少なくすることができる。その結果、より短時間で対象物体41を認識し、ロボット10の行動を計画することができる。
さらに、上記各実施形態においては、位置および姿勢が認識された対象物体41を、ロボットによって把持し搬送する場合について説明した。しかしながら、対象物体41の位置および姿勢の認識が目的である場合、把持や搬送といったロボットによる操作は行わなくてもよい。本発明の効果は、表面位置情報だけでは対象物体41を正確に認識できない場合であっても、対象物体41の位置および姿勢を適切に認識できることである。そのため、認識された対象物体41の位置および姿勢に関する情報を作業者に提示(表示)したり、認識された対象物体41の位置および姿勢をもとに、対象物体41の検査を行ったりしてもよい。ここで、対象物体41の検査とは、対象物体41の形状を確認したり、望ましい位置にあるか確認したりすることである。
また、認識された対象物体41の位置および姿勢をもとに、ロボットが対象物体41に対して把持を伴わない操作を行ってもよい。ここで、把持を伴わない操作とは、把持せずに対象物体41に接触し、対象物体41の位置を変化させる操作である。このように、対象物体41に対してロボットが操作を実行する場合、その操作は、把持を伴う操作であってもよいし把持を伴わない操作であってもよい。
さらに、表面位置情報や接触位置情報を取得するためのロボットは、1台であってもよいし複数台であってもよい。また、表面位置情報や接触位置情報を取得するためのロボットと、対象物体41に対して把持や搬送といった操作を実行するロボットとは、同じであってもよいし違っていてもよい。
また、上記各実施形態においては、ロボット10は、組立型ロボットである場合について説明したが、組立型ロボットに限定されるものではなく、移動ロボットであってもよい。
さらに、上記各実施形態においては、地図情報は3次元の情報である場合について説明したが、地図情報は2次元の情報でもよい。また、力計測部207により計測された力情報と位置計測部209により計測された位置情報との2つの情報のみに基づいて、地図情報を作成してもよい。
また、上記各実施形態においては、撮像装置31と光源32とは、レーザーレンジファインダ装置であってもよい。さらに、光源32を用いず、撮像装置31を2つ用いてステレオ計測を行ってもよいし、光源32を用いず撮像装置31を1つだけ用いてもよい。つまり、対象物体41と周辺物体42との表面位置を認識するための表面位置情報を計測できる構成であればよい。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
10…ロボット、11…エンドエフェクタ、20,20´…情報処理装置、31…撮像装置、32…光源、33…力覚センサ、34…位置検出センサ、35…把持力計測センサ、41…対象物体、42…周辺物体、100…ロボットシステム

Claims (16)

  1. 対象物体と周辺物体からなる物体を認識する情報処理装置であって、
    物体の表面位置情報を取得する取得手段と、
    前記取得手段により取得された前記表面位置情報に基づいて、前記物体を実測するための計測位置を決定する決定手段と、
    前記決定手段により決定された前記計測位置において前記物体に接触したときの接触位置情報を計測する計測手段と、
    前記計測手段により計測された前記接触位置情報に基づいて、前記物体の空間的な位置情報を示す地図情報を作成する作成手段と、
    前記作成手段により作成された前記地図情報に基づいて、前記物体の位置および姿勢を認識する認識手段と、を備え
    前記計測手段は、接近した前記物体までの距離を取得する距離の取得手段を備え、
    前記物体に接触しているときに前記距離の取得手段によって取得された距離に基づいて、前記接触位置情報を計測することを特徴とする情報処理装置。
  2. 前記作成手段は、
    前記取得手段により取得された前記表面位置情報に基づいて前記地図情報を作成する第一の作成手段と、
    前記計測手段により計測された前記接触位置情報に基づいて、前記第一の作成手段により作成された前記地図情報を更新する第二の作成手段を備えることを特徴とする請求項1に記載の情報処理装置。
  3. 前記決定手段は、
    前記取得手段により取得された前記表面位置情報に基づいて、前記物体の表面が凸形状である位置を検出し、検出した位置を前記計測位置として決定することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記取得手段は、
    前記物体を撮像した画像情報に基づいて、前記表面位置情報を取得することを特徴とする請求項1から3のいずれか1項に記載の情報処理装置。
  5. 前記計測手段は、
    前記物体に接触したときの反力を取得する反力の取得手段と、
    前記物体との接触点の位置を取得する位置の取得手段と、をさらに備え、
    前記反力の取得手段によって取得された反力が所定の上限値に達したときに前記位置の取得手段によって取得された前記接触点の位置を、前記接触位置情報として計測することを特徴とする請求項1から4のいずれか1項に記載の情報処理装置。
  6. 前記認識手段により認識された前記物体の位置および姿勢に基づいて、ロボットが前記物体を把持可能な把持位置を決定する第二の決定手段をさらに備えることを特徴とする請求項1からのいずれか1項に記載の情報処理装置。
  7. 前記第二の決定手段は、
    周囲に前記ロボットの把持部が挿入可能な空間を有する位置を、前記把持位置として決定することを特徴とする請求項に記載の情報処理装置。
  8. 前記第二の決定手段により決定された前記把持位置において前記物体を把持したときの把持幅情報を計測する第二の計測手段をさらに備え、
    前記認識手段は、
    前記第二の計測手段により計測された前記把持幅情報をさらに用いて、前記物体の位置および姿勢を認識することを特徴とする請求項またはに記載の情報処理装置。
  9. 前記請求項1からのいずれか1項に記載の情報処理装置に、前記物体に対して作業を実行するロボットの動作を制御する制御手段を備えることを特徴とするロボット制御装置。
  10. 前記請求項に記載のロボット制御装置に、センサおよび前記ロボットの少なくとも一方を備えることを特徴とするロボットシステム。
  11. 前記センサは、前記物体を撮像し画像情報を取得する視覚センサを含むことを特徴とする請求項1に記載のロボットシステム。
  12. 前記センサは、前記物体に接触したときの反力を取得する力覚センサを含むことを特徴とする請求項1または1に記載のロボットシステム。
  13. 前記センサは、前記ロボットの位置および姿勢を取得する位置検出センサを含むことを特徴とする請求項1から1のいずれか1項に記載のロボットシステム。
  14. 前記センサは、前記物体を把持したときの反力を取得する力覚センサを含むことを特徴とする請求項1から1のいずれか1項に記載のロボットシステム。
  15. 対象物体と周辺物体からなる物体の表面位置情報を取得するステップと、
    取得された前記表面位置情報に基づいて、前記物体を実測するための計測位置を決定するステップと、
    決定された前記計測位置において前記物体に接触したときの接触位置情報を計測するステップと、
    計測された前記接触位置情報に基づいて、前記物体の空間的な位置情報を示す地図情報を作成するステップと、
    作成された前記地図情報に基づいて、前記物体の位置および姿勢を認識するステップと、を含み、
    前記接触位置情報を計測するステップは、接近した前記物体までの距離を取得するステップを含み、
    前記物体に接触しているときに前記距離を取得するステップにおいて取得された距離に基づいて、前記接触位置情報を計測することを特徴とする情報処理方法。
  16. コンピュータを、前記請求項1からのいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
JP2016092681A 2015-07-29 2016-05-02 情報処理装置、情報処理方法、ロボット制御装置及びロボットシステム Active JP6752615B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/209,489 US10335951B2 (en) 2015-07-29 2016-07-13 Information processing apparatus, information processing method, robot control apparatus, and robot system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2015149244 2015-07-29
JP2015149244 2015-07-29
JP2016019296 2016-02-03
JP2016019296 2016-02-03

Publications (2)

Publication Number Publication Date
JP2017136677A JP2017136677A (ja) 2017-08-10
JP6752615B2 true JP6752615B2 (ja) 2020-09-09

Family

ID=59566515

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016092681A Active JP6752615B2 (ja) 2015-07-29 2016-05-02 情報処理装置、情報処理方法、ロボット制御装置及びロボットシステム

Country Status (1)

Country Link
JP (1) JP6752615B2 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6902208B2 (ja) * 2017-11-14 2021-07-14 オムロン株式会社 把持方法、把持システム及びプログラム
KR102067878B1 (ko) * 2017-12-12 2020-01-17 한국로봇융합연구원 재파지를 이용하여 테스크를 수행하는 로봇 핸드 및 그 제어방법
KR102109696B1 (ko) * 2017-12-12 2020-05-13 한국로봇융합연구원 정보가 없는 객체를 파지하는 로봇 핸드 및 그 제어방법
KR102109697B1 (ko) * 2017-12-12 2020-05-13 한국로봇융합연구원 시각 정보와 촉각 정보를 함께 이용하여 객체를 파지하는 로봇 핸드 및 그 제어방법
WO2019139815A1 (en) 2018-01-12 2019-07-18 Duke University Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects
JP6911777B2 (ja) * 2018-01-23 2021-07-28 トヨタ自動車株式会社 動作軌道生成装置
TWI822729B (zh) 2018-02-06 2023-11-21 美商即時機器人股份有限公司 用於儲存一離散環境於一或多個處理器之一機器人之運動規劃及其改良操作之方法及設備
WO2019183141A1 (en) 2018-03-21 2019-09-26 Realtime Robotics, Inc. Motion planning of a robot for various environments and tasks and improved operation of same
US11584016B2 (en) 2018-04-24 2023-02-21 Fanuc Corporation Robot controller and system
JP7154815B2 (ja) * 2018-04-27 2022-10-18 キヤノン株式会社 情報処理装置、制御方法、ロボットシステム、コンピュータプログラム、及び記憶媒体
JPWO2020008538A1 (ja) * 2018-07-03 2020-07-27 三菱電機株式会社 材質推定装置及びロボット
JP2020011320A (ja) * 2018-07-17 2020-01-23 オムロン株式会社 パラメータ同定装置、方法、及びプログラム
US12204336B2 (en) 2018-12-04 2025-01-21 Duke University Apparatus, method and article to facilitate motion planning in an environment having dynamic objects
KR102281218B1 (ko) * 2018-12-17 2021-07-23 한국전자기술연구원 유연 물체 인식 장치 및 방법
WO2020214723A1 (en) 2019-04-17 2020-10-22 Real Time Robotics, Inc. Motion planning graph generation user interface, systems, methods and articles
CN110201897A (zh) * 2019-06-20 2019-09-06 深圳市涛卉杯业有限公司 一种用于塑料瓶生产线的分类机械臂
TWI873149B (zh) 2019-06-24 2025-02-21 美商即時機器人股份有限公司 用於多個機械手臂於共用工作空間中之移動規劃系統及方法
WO2021033509A1 (ja) * 2019-08-21 2021-02-25 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US12444070B2 (en) * 2020-02-28 2025-10-14 Nec Corporation Measuring method, measuring apparatus, and measuring system
US12194639B2 (en) 2020-03-18 2025-01-14 Realtime Robotics, Inc. Digital representations of robot operational environment, useful in motion planning for robots
WO2021211420A1 (en) * 2020-04-14 2021-10-21 Realtime Robotics, Inc. Configuration of robot operational environment including layout of sensors
EP4252975A4 (en) 2020-11-30 2024-08-28 Sumitomo Heavy Industries, LTD. INFORMATION PROCESSING DEVICE AND COLLECTION DEVICE
US20240231383A9 (en) * 2021-03-04 2024-07-11 Sony Group Corporation Information processing system, information processing method, and information processing device
JP2026032298A (ja) * 2023-01-23 2026-02-26 パナソニックIpマネジメント株式会社 提示システム、提示方法およびプログラム
JP7446028B1 (ja) 2023-06-16 2024-03-08 株式会社ユニテック ピッキング装置、ピッキングシステム、ピッキング方法及びプログラム
WO2026009706A1 (ja) * 2024-07-03 2026-01-08 住友重機械工業株式会社 ハンドリング装置及びプログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6039087A (ja) * 1983-08-12 1985-02-28 ダイセル化学工業株式会社 ロボツト
JPS62148177A (ja) * 1985-12-19 1987-07-02 株式会社東芝 マニプレ−タハンド
JPS63256383A (ja) * 1987-04-13 1988-10-24 富士通株式会社 ロボツトの制御方法
JPH04146090A (ja) * 1990-10-05 1992-05-20 Nippon Telegr & Teleph Corp <Ntt> ロボットによる物体把持・移動方法
JPH04240087A (ja) * 1991-01-21 1992-08-27 Fuji Electric Co Ltd 把持装置および把持方法
JPH04289087A (ja) * 1991-02-21 1992-10-14 Mitsubishi Electric Corp ロボット装置
JPH05318363A (ja) * 1992-05-21 1993-12-03 Sanyo Electric Co Ltd ロボットの制御方式
JP3239277B2 (ja) * 1992-07-15 2001-12-17 富士通株式会社 知能ロボット
JPH1124718A (ja) * 1997-07-07 1999-01-29 Toshiba Corp ロボットの制御装置及び制御方法
KR100454714B1 (ko) * 2002-02-16 2004-11-05 한국과학기술연구원 작업용 로봇, 작업용 로봇을 위한 액츄에이터 및 작업용 로봇의 제어방법
JP4962123B2 (ja) * 2007-04-27 2012-06-27 日産自動車株式会社 把持候補位置選出装置、把持候補位置選出方法、把持経路生成装置、および把持経路生成方法
DE102007026956A1 (de) * 2007-06-12 2008-12-18 Kuka Innotec Gmbh Verfahren und System zum Roboter geführten Depalettieren von Reifen
JP5500926B2 (ja) * 2009-09-29 2014-05-21 キヤノン株式会社 物体把持制御方法及び装置
JP5505138B2 (ja) * 2010-07-05 2014-05-28 株式会社安川電機 ロボット装置およびロボット装置による把持方法
JP5891698B2 (ja) * 2011-10-12 2016-03-23 セイコーエプソン株式会社 ロボット
JP5788460B2 (ja) * 2013-11-05 2015-09-30 ファナック株式会社 バラ積みされた物品をロボットで取出す装置及び方法

Also Published As

Publication number Publication date
JP2017136677A (ja) 2017-08-10

Similar Documents

Publication Publication Date Title
JP6752615B2 (ja) 情報処理装置、情報処理方法、ロボット制御装置及びロボットシステム
US10335951B2 (en) Information processing apparatus, information processing method, robot control apparatus, and robot system
JP7154815B2 (ja) 情報処理装置、制御方法、ロボットシステム、コンピュータプログラム、及び記憶媒体
US10839261B2 (en) Information processing apparatus, information processing method, and storage medium
US10800033B2 (en) Robot control apparatus, robot control method, robot system, and storage medium
TWI827907B (zh) 機器人的控制裝置、控制方法、機器人及其系統、學習裝置、方法及電腦程式產品
US20190061151A1 (en) Article stacking apparatus and machine learning apparatus
US20200101613A1 (en) Information processing apparatus, information processing method, and system
JP5281414B2 (ja) ワーク自動把持のための方法及びシステム
JP2019188516A (ja) 情報処理装置、情報処理方法、及びプログラム
CN105598987B (zh) 借助机器人确定关于对象的抓取空间
JP6541397B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2015213973A (ja) ピッキング装置およびピッキング方法
CN110465951A (zh) 用于机器人编程的方法、设备、计算机可读存储媒体和计算机程序
CN112894799B (zh) 显示装置和显示程序
EP4584054A1 (en) Hand-eye calibration for a robotic manipulator
CN115213894B (zh) 机器人图像的显示方法、显示系统以及记录介质
EP4094904B1 (en) Robot system control device, robot system control method, computer control program, and robot system
CN118119486A (zh) 学习数据的生成装置和学习数据的生成方法、以及使用学习数据的机器学习装置和机器学习方法
AU2023244486A1 (en) Controlling a robotic manipulator for packing an object
US20230264352A1 (en) Robot device for detecting interference of constituent member of robot
Biswal et al. Development of robotic end-effector using sensors for part recognition and grasping
JP2022060003A (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
TW202604695A (zh) 搬運裝置及程式
CN117769482A (zh) 机器人控制设备、机器人控制系统和机器人控制方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200518

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200819

R151 Written notification of patent or utility model registration

Ref document number: 6752615

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D03