(57)【特許請求の範囲】
【請求項１】
把持対象物を把持するマニピュレータを有する移動ロボットであって、
前記把持対象物の把持に必要な認識精度を記憶する物体情報データベースと、
周囲の環境情報を取得するセンサと、
前記センサにより取得された環境情報から前記把持対象物を認識すると共に、前記把持対象物の位置及び姿勢に対する信頼度を出力する物体認識器と、
前記物体認識器により出力された前記信頼度に基づいて、前記把持対象物の位置の誤差を推定した誤差推定値を算出する認識誤差推定器と、
前記物体情報データベースから読み出された前記把持対象物の把持に必要な認識精度と、前記誤差推定値とを比較し、前記誤差推定値が把持に必要な前記認識精度を下回る場合には、前記把持対象物に接近する走行経路を生成させ、前記誤差推定値が把持に必要な前記認識精度を上回る場合には、移動を停止して前記マニピュレータによる把持を実行させる行動判定器と、
を備える、移動ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、把持装置を有する移動ロボットに関する。
【背景技術】
【０００２】
物体を把持するためのマニピュレータやハンドを有する、移動ロボットが知られている。
【０００３】
このような移動ロボットでは、物体を把持するためにどこまで把持対象物に接近すれば良いかを一意に決めることは難しい。したがって、把持動作時の移動ロボットの停止位置については、把持対象物がマニピュレータの可到達範囲内となるよう、おおよその距離を事前に決めてしまうということが行われている。
【０００４】
特許文献１では、マニピュレータを俯瞰できる位置に取り付けられた認識用センサと、手先に搭載された認識用センサの切り替える移動ロボットについて開示されている。移動ロボットは、把持対象物との距離の閾値を事前に決めることで、両者のセンサを切り替えてビジュアルフィードバックに利用することを特徴としている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−３１９９７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、把持対象物の大きさや形状、カメラの仕様、対象物との距離により、把持対象物の位置姿勢の認識精度は大きく異なる。したがって、把持対象物がマニピュレータの可到達範囲内であっても、移動ロボットの停止位置が不適切な位置であり、認識精度が不十分なことから把持に失敗する場合がある。
【課題を解決するための手段】
【０００７】
本発明にかかる移動ロボットは、物体把持装置を有する移動ロボットであって、把持対象物の位置姿勢に関する信頼度を演算する物体認識器と、前記物体認識器の演算結果から得られる把持対象物の位置の誤差を推定する認識誤差推定器と、把持対象物の把持に必要な認識精度を、前記認識誤差推定器により推定された誤差推定値が下回る場合には、把持対象物に接近する走行経路を生成させ、把持に必要な認識精度を誤差推定値が上回る場合には移動を停止してマニピュレータによる把持を実行させる行動判定器と、を備える。
これによりロボットは、把持対象物に対して、十分な認識精度を得られる位置まで近づいた後に、把持動作を行うことができる。
【発明の効果】
【０００８】
確実に把持対象物の把持を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１にかかるロボットの外観を示す図である。
【図２】実施の形態１にかかるロボットの構成を示す図である。
【図３】実施の形態１にかかるロボットの動作のフローチャートである。
【図４】実施の形態１にかかる行動判定器のフローチャートである。
【発明を実施するための形態】
【００１０】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。図１は、移動ロボットの外観を示した図である。以下では、移動ロボットをロボット１と表記する。図２は、ロボット１の構成を示した図である。ロボット１は、視覚センサ１００と、認識器２００と、認識誤差推定器３００と、行動判定器４００と、経路計画器５００と、軌道制御器６００と、アクチュエータ７００と、マニピュレータ８００と、を備える。
【００１１】
視覚センサ１００は、ロボット１の外部環境の取得装置である。例えば視覚センサ１００には、単眼カメラ、ステレオカメラ、距離センサ等を用いることができる。
【００１２】
認識器２００は、把持対象物が持つ属性に着目した各種の認識を行う。例えば認識器２００は、把持対象物の輪郭形状、テクスチャ情報、面などの情報を取得する。また、認識器２００は、位置姿勢に関する信頼度を認識誤差推定器３００に出力する。
【００１３】
認識誤差推定器３００は、認識器から入力された信頼度に基づいて、３Ｄ空間での把持対象物の位置の誤差を推定する。例えば認識誤差推定器３００は、認識結果から物体の３Ｄモデルを、画像平面に射影して得られる再投影誤差を信頼度として用いる場合、誤差の推定を行うために以下に示す演算を行う。なお、再投影誤差をe[pixel]、カメラの水平画像角をＦＯＶ、カメラの水平解像度をＨＲｅｓ、視覚センサ１００はステレオカメラでありカメラ間距離をBaselineとする。位置誤差Ｅ＝（Ｅｘ,Ｅｙ,Ｅｚ）、認識器から得られる結果（視覚センサ基準）は、位置Ｐ（Ｘ，Ｙ，Ｚ）、姿勢Ｒ（α，β，γ）とする。
視覚センサ基準座標における、水平方向の位置誤差は式（１）により推定する。
【数１】
0005803769.tif 000002
視覚センサ基準座標における、垂直方向の位置誤差は水平方向と同等とする。視覚センサ基準座標における奥行き方向の推定誤差はステレオ計測の原理から式（２）により推定できる。
【数２】
0005803769.tif 000003
【００１４】
行動判定器４００は、認識誤差推定器３００により推定された推定誤差に基づいて、ロボット１を把持対象物に近づけるのか、ロボット１を停止して把持操作に移行するのかを判定する。
【００１５】
経路計画器５００は、行動判定器４００によりロボット１を把持対象物に近づけるように指示が出された場合に、ロボット１が走行する経路を生成する。また経路計画器５００は、行動判定器４００によりロボット１を停止させるように指示が出された場合には、マニピュレータ８００を動作させる経路を生成する。
【００１６】
軌道制御器６００は、経路計画器５００によってロボット１の走行する経路が生成された場合に、走行する軌道を制御する。また軌道制御器６００は、経路計画器５００によりマニピュレータ８００を動作させる経路が生成された場合には、マニピュレータ８００を目的とする軌道に追従するように制御する。
【００１７】
アクチュエータ７００は、マニピュレータ８００を駆動させる。より具体的には、アクチュエータ７００は、電気的エネルギー又は油圧によるエネルギー等の供給を受け、軌道制御器６００の制御に基づく動作を行うよう、マニピュレータ８００に運動エネルギーを与える。
【００１８】
マニピュレータ８００は、ロボット１の腕部及び手先部である。マニピュレータ８００は、アクチュエータ７００から与えられた運動エネルギーにより、腕部を動作させるとともに手先部を動作させることで、物体を把持する。すなわちマニピュレータ８００は、物体把持装置である。
【００１９】
次に、ロボット１の動作について説明する。図３は、ロボット１の動作のフローチャートである。
【００２０】
視覚センサ１００は、ロボット１の周囲の環境情報を取得する（ステップＳ１０）。視覚センサ１００は、取得したロボット１の周囲の環境情報を、認識器２００に出力する。
【００２１】
認識器２００は、視覚センサ１００より入力された情報に基づいて、把持対象物の認識を行う（ステップＳ２０）。さらに認識器２００は、認識誤差推定器３００に位置姿勢に関する信頼度を出力する。
【００２２】
認識誤差推定器３００は、認識器２００から入力された信頼度に基づいて、認識誤差の推定値を演算し、行動判定器４００に出力する（ステップＳ３０）。
【００２３】
行動判定器４００は、ロボット１を把持対象物に近づけるか、ロボット１を停止して把持する動作を行うかを判定する（ステップＳ４０）。図４は、行動判定器４００による判定のフローチャートである。
【００２４】
行動判定器４００は、物体情報ＤＢから把持に必要な認識精度を得る（ステップＳ４１）。より具体的には、物体情報ＤＢには把持に必要な認識精度、対象物の３Ｄ形状モデル、認識に必要な物体属性モデル等が記憶されており、行動判定器４００は、物体情報ＤＢから情報を受け取ることによって、把持対象物を把持するのに必要な認識精度を得る。
【００２５】
行動判定器４００は、認識誤差推定器３００から推定値を受け取る（ステップＳ４２）。
【００２６】
行動判定器４００は、把持に必要な認識精度を、認識誤差推定器３００から得られる推定値が下回るか否かを判定する（ステップＳ４３）。把持に必要な認識精度を、推定値が下回る場合には（ステップＳ４３でＹｅｓ）、ステップＳ４４に進む。把持に必要な認識精度を、推定値が上回る場合には（ステップＳ４３でＮｏ）、ステップＳ４５に進む。
【００２７】
行動判定器４００は、ロボット１の経路計画器５００に、把持対象物に接近するように走行するための、経路を生成する指示を出す（ステップＳ４４）。その後ステップＳ４２に戻り、行動判定器４００は、認識誤差推定器３００から入力される推定値と、把持に必要な認識精度との比較動作を繰り返し行う。
【００２８】
行動判定器４００は、ロボット１の移動を停止し、マニピュレータ８００の経路を計画するよう、行動計画器に指示を出す（ステップＳ４５）。
【００２９】
経路計画器５００は、ステップＳ４４において行動判定器４００が、ロボット１を物体に接近させる経路を生成するように指示を出した場合に、走行経路の計画を行う（ステップＳ５０）。言い換えると、経路計画器５００は、行動判定器４００がロボット１の走行を続ける判定をした場合に、走行経路の計画を行う。
【００３０】
軌道制御器６００は、経路計画器５００で計画された走行経路に基づいてロボット１が走行するように、ロボット１に設けられた車輪などの走行手段の動作を制御する（ステップＳ６０）。
【００３１】
経路計画器５００は、ステップＳ４４において行動判定器４００が、ロボット１を停止させて把持対象物を把持するための、マニピュレータ８００の経路を生成するように指示を出した場合に、マニピュレータ８００の移動経路の計画を行う（ステップＳ５１）。言い換えると、経路計画器５００は、行動判定器４００がロボット１に、走行を止めて把持動作を行うよう判定した場合に、マニピュレータ８００の移動経路の計画を行う。
【００３２】
軌道制御器６００は、経路計画器５００で計画された移動経路に基づいてマニピュレータ８００を動作させるように、アクチュエータ７００の動作を制御する制御信号を出力する（ステップＳ６１）。
【００３３】
アクチュエータ７００は、軌道制御器６００で生成された制御信号を受けて、マニピュレータ８００を動作させる（ステップＳ７１）。
【００３４】
これによりロボット１は、認識装置が出力する位置姿勢に対する信頼度に基づいて、実際の３次元での誤差を推定し、把持に必要とされる認識精度が得られるまで把持対象物に近づき、マニピュレータを用いて確実に把持を遂行することができる。
また、ロボットは十分な認識精度が得られるまで把持対象物に近づいてから、把持動作を行うため、例えば把持対象物が変更された場合には、変更された把持対象物の属性に基づいて、適切な位置まで把持対象物に接近して把持を行うことができる。
【００３５】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、１台の経路計画器５００が、行動判定器４００の判定結果に基づいて、ロボット１の走行経路の計画やマニピュレータ８００の移動経路の計画を行うものとしたが、２台の経路計画器を用い、一方ではロボット１の走行経路を計画し、他方ではマニピュレータ８００の移動経路を計画することとしても良い。同様にして２台の軌道制御器を用い、一方の軌道制御器ではロボット１の走行を制御し、他方の軌道制御器ではマニピュレータ８００の軌道を制御することとしても良い。
【符号の説明】
【００３６】
１    ロボット
１００    視覚センサ
２００    認識器
３００    認識誤差推定器
４００    行動判定器
５００    経路計画器
６００    軌道制御器
７００    アクチュエータ
８００    マニピュレータ
【図１】
0005803769.tif 000004
【図２】
0005803769.tif 000005
【図３】
0005803769.tif 000006
【図４】
0005803769.tif 000007