(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023181733
(43)【公開日】2023-12-25
(54)【発明の名称】ロボット装置、ロボットシステム、並びにロボットの制御方法及び制御プログラム
(51)【国際特許分類】
B25J 13/08 20060101AFI20231218BHJP
【FI】
B25J13/08 A
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2022095034
(22)【出願日】2022-06-13
(71)【出願人】
【識別番号】315014671
【氏名又は名称】東京ロボティクス株式会社
(74)【代理人】
【識別番号】100098899
【弁理士】
【氏名又は名称】飯塚 信市
(74)【代理人】
【識別番号】100163865
【弁理士】
【氏名又は名称】飯塚 健
(72)【発明者】
【氏名】大島 彩佳里
(72)【発明者】
【氏名】加藤 健太
(72)【発明者】
【氏名】松尾 雄希
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707BS27
3C707CS08
3C707HS27
3C707KS03
3C707KS04
3C707KT02
3C707KT03
3C707KT04
3C707KT05
3C707KT11
3C707LW12
3C707LW15
3C707WA03
3C707WA16
(57)【要約】 (修正有)
【課題】位置及び姿勢を変更できない対象物体であっても、対象物体に対する作業をロボットに行わせることができるロボットシステムを提供する。
【解決手段】ロボット1と、ロボット1のリンクに設けられる第1撮像部61と、第1撮像部61により生成された第1画像に基づき、対象物体の位置及び姿勢を認識する第1認識部71と、ロボット1に設けられる第2撮像部62と、第2撮像部62により生成された第2画像に基づき、対象物体の位置及び姿勢を認識すると共に対象物体の周囲の物体の位置及び姿勢を認識する第2認識部73と、第2認識部73から得られた認識結果に基づき、第1撮像部61の目標位置及び目標姿勢を決定する目標位置姿勢決定部74と、目標位置姿勢決定部74にて決定された目標位置及び目標姿勢に基づき、第1撮像部61の位置及び姿勢を変更するためのロボット1への指令値を算出する指令値算出部72と、を備えるロボット装置100。
【選択図】
図2
【特許請求の範囲】
【請求項1】
位置及び/又は姿勢を変更可能なリンクを有し対象物体に対する作業を行うロボットと、
前記リンクに設けられ、前記対象物体を撮影する第1撮像部と、
前記第1撮像部により生成された第1画像に基づき、前記対象物体の位置及び姿勢の少なくとも一方を認識する第1認識部と、
前記ロボットに設けられ、前記第1撮像部とは異なる視野範囲で前記対象物体を撮影する第2撮像部と、
前記第2撮像部により生成された第2画像に基づき、前記対象物体の位置及び姿勢の少なくとも一方を認識すると共に前記対象物体の周囲の物体の位置及び姿勢の少なくとも一方を認識する第2認識部と、
前記第2認識部から得られた認識結果に基づき、前記第1撮像部の目標位置及び目標姿勢の少なくとも一方を決定する目標位置姿勢決定部と、
前記目標位置姿勢決定部にて決定された前記目標位置及び目標姿勢の少なくとも一方に基づき、前記第1撮像部の位置及び姿勢を変更するための前記ロボットへの指令値を算出する指令値算出部と、
を備えるロボット装置。
【請求項2】
前記指令値算出部は、前記第1認識部から得られた認識結果に基づき、前記対象物体に対する前記作業を行うための前記ロボットへの指令値を算出する、
請求項1に記載のロボット装置。
【請求項3】
前記第2撮像部の視野範囲は、前記第1撮像部の視野範囲よりも広い、
請求項1に記載のロボット装置。
【請求項4】
前記ロボットは、前記リンクを複数備え、
前記第1撮像部は、前記複数のリンクのうちの一のリンクに設けられ、
前記第2撮像部は、前記複数のリンクのうちの別のリンクに設けられる、
請求項1に記載のロボット装置。
【請求項5】
前記第1撮像部を複数備え、
前記ロボットは、前記リンクを複数備え、
前記複数の第1撮像部のうちの一の第1撮像部は、前記複数のリンクのうちの一のリンクに設けられ、
前記複数の第1撮像部のうちの別の第1撮像部は、前記複数のリンクのうちの別のリンクに設けられる、
請求項1に記載のロボット装置。
【請求項6】
前記目標位置姿勢決定部は、前記第2認識部から得られた認識結果に基づき、前記第2撮像部の目標位置及び目標姿勢の少なくとも一方を決定し、
前記指令値算出部は、前記目標位置姿勢決定部にて決定された前記第2撮像部の前記目標位置及び目標姿勢の少なくとも一方に基づき、前記第2撮像部の位置及び姿勢を変更するための前記ロボットへの指令値を算出する、
請求項1に記載のロボット装置。
【請求項7】
前記ロボットは、前記第1撮像部の位置及び/又は姿勢を変更する第1駆動手段と、前記第1駆動手段の制御精度よりも低い制御精度で前記第1撮像部の位置及び/又は姿勢を変更する第2駆動手段と、を更に有し、
前記ロボット装置は、前記第1撮像部の位置及び姿勢の少なくとも一方を前記目標位置姿勢決定部にて決定された前記第1撮像部の目標位置及び目標姿勢の少なくとも一方に変更するのに前記第2駆動手段を用いる必要があるか否かを判定する制御精度判定部を更に備え、
前記制御精度判定部が前記第2駆動手段を用いる必要があると判定したときには、
前記目標位置姿勢決定部は、前記第2認識部から得られた認識結果に基づき、前記第1撮像部の位置及び姿勢の少なくとも一方を前記第1撮像部の目標位置及び目標姿勢の少なくとも一方に前記第2駆動手段を用いずに変更可能な前記ロボットの目標位置及び目標姿勢の少なくとも一方を決定し、
前記指令値算出部は、前記目標位置姿勢決定部にて決定された前記ロボットの目標位置及び目標姿勢の少なくとも一方に基づき、前記ロボットの位置及び姿勢の少なくとも一方を制御するための前記ロボットへの指令値を算出する、
請求項1に記載のロボット装置。
【請求項8】
前記ロボットは、移動可能に形成された移動台車を更に備え、
前記第1駆動手段は、前記リンクの位置及び/又は姿勢を変更するリンク駆動手段であり、
前記第2駆動手段は、前記移動台車を移動させる台車駆動手段である、
請求項7に記載のロボット装置。
【請求項9】
前記第2撮像部の視野範囲内に前記リンクが入り込んでいるか否かを判定するリンク入り込み判定部を更に備え、
前記指令値算出部は、前記第2撮像部の視野範囲内に前記リンクが入り込んでいると前記リンク入り込み判定部が判定した場合には、前記リンクの姿勢を変更するための前記ロボットへの指令値を算出する、
請求項1に記載のロボット装置。
【請求項10】
前記ロボットのオペレータによる入力装置の操作に基づいて、前記第2画像上において前記対象物体が存在する範囲を設定する認識範囲設定部を更に備え、
前記第2認識部は、前記第2画像のうち前記認識範囲設定部により設定された範囲から、前記対象物体の位置及び姿勢の少なくとも一方を認識すると共に前記対象物体の周囲の物体の位置及び姿勢の少なくとも一方を認識する、
請求項1に記載のロボット装置。
【請求項11】
位置及び/又は姿勢を変更可能なリンクを有し対象物体に対する作業を行うロボットと、前記リンクに設けられた第1撮像部と、前記ロボットに設けられ前記第1撮像部の視野範囲とは視野範囲が異なる第2撮像部と、を備えたロボット装置を制御する方法であって、
前記第2撮像部を用いて前記対象物体を撮影し第2画像を生成するステップと、
前記第2画像に基づき、前記対象物体の位置及び姿勢の少なくとも一方を認識すると共に前記対象物体の周囲の物体の位置及び姿勢の少なくとも一方を認識する認識ステップと、
前記認識ステップにて得られた認識結果に基づき、前記第1撮像部の目標位置及び目標姿勢の少なくとも一方を決定する目標位置姿勢決定ステップと、
前記目標位置姿勢決定ステップにて決定された前記目標位置及び目標姿勢の少なくとも一に基づき、前記第1撮像部の位置及び姿勢を変更するための前記ロボットへの指令値を算出する指令値算出ステップと、
前記指令値算出ステップにて算出された指令値に基づいて、前記ロボットを駆動して前記第1撮像部の位置及び姿勢の少なくとも一方を変更する位置姿勢変更ステップと、
前記第1撮像部を用いて前記対象物体を撮影し第1画像を生成するステップと、
前記第1画像に基づき、前記対象物体の位置及び姿勢の少なくとも一方を認識するステップと、
を備えた、制御方法。
【請求項12】
位置及び/又は姿勢を変更可能なリンクを有し対象物体に対する作業を行うロボットと、前記リンクに設けられた第1撮像部と、前記ロボットに設けられ前記第1撮像部の視野範囲とは視野範囲が異なる第2撮像部と、を備えたロボット装置を制御するプログラムであって、
前記第2撮像部を用いて前記対象物体を撮影し第2画像を生成するステップと、
前記第2画像に基づき、前記対象物体の位置及び姿勢の少なくとも一方を認識すると共に前記対象物体の周囲の物体の位置及び姿勢の少なくとも一方を認識する認識ステップと、
前記認識ステップにて得られた認識結果に基づき、前記第1撮像部の目標位置及び目標姿勢の少なくとも一方を決定する目標位置姿勢決定ステップと、
前記目標位置姿勢決定ステップにて決定された前記目標位置及び目標姿勢の少なくとも一に基づき、前記第1撮像部の位置及び姿勢を変更するための前記ロボットへの指令値を算出する指令値算出ステップと、
前記指令値算出ステップにて算出された指令値に基づいて、前記ロボットを駆動して前記第1撮像部の位置及び姿勢の少なくとも一方を変更する位置姿勢変更ステップと、
前記第1撮像部を用いて前記対象物体を撮影し第1画像を生成するステップと、
前記第1画像に基づき、前記対象物体の位置及び姿勢の少なくとも一方を認識するステップと、
を備えた、制御プログラム。
【請求項13】
位置及び/又は姿勢を変更可能なリンクを有し対象物体に対する作業を行うロボットと、
前記リンクに設けられ、前記対象物体を撮影する第1撮像部と、
前記第1撮像部により生成された第1画像に基づき、前記対象物体の位置及び姿勢の少なくとも一方を認識する第1認識部と、
前記ロボットに設けられ、前記第1撮像部とは異なる視野範囲で前記対象物体を撮影する第2撮像部と、
前記第2撮像部により生成された第2画像に基づき、前記対象物体の位置及び姿勢の少なくとも一方を認識すると共に前記対象物体の周囲の物体の位置及び姿勢の少なくとも一方を認識する第2認識部と、
前記第2認識部から得られた認識結果に基づき、前記第1撮像部の目標位置及び目標姿勢の少なくとも一方を決定する目標位置姿勢決定部と、
前記目標位置姿勢決定部にて決定された前記目標位置及び目標姿勢の少なくとも一方に基づき、前記第1撮像部の位置及び姿勢を変更するための前記ロボットへの指令値を算出する指令値算出部と、
を備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ロボット装置、ロボットシステム、並びにロボットの制御方法及び制御プログラムに関する。
【背景技術】
【0002】
ロボット技術の進展に伴い、対象物体に対する様々な作業をロボットに行わせることが検討されている。作業をロボットに行わせるに際して、カメラ等の撮像部を用いて対象物体を撮像し、撮像画像に基づいて対象物体の位置及び姿勢を特定することがある。撮像部が1つだけの場合、当該撮像部の視野から対象物体が外れると、対象物体の位置及び姿勢を特定することができず対象物体に対する作業をロボットに行わせることが困難になる。このような理由から、複数の撮像部を用いて対象物体の位置及び姿勢を特定し対象物体に対する作業をロボットに行わせることが提案されている(特許文献1)。
【0003】
特許文献1に開示されたロボットシステムは、作業台に設置された撮像部と、ロボットに設置された撮像部と、を備えている。ロボットに設置された撮像部は、作業台の全領域が映るように撮像方向が調整されている。このロボットシステムでは、作業台に設置された撮像部による撮像画像に対象物体が映っていない場合に、ロボットに設置された撮像部による撮像画像に基づいて対象物体の位置及び姿勢を特定する。次に、特定した位置及び姿勢に基づいてロボットに対象物体を把持させ、作業台に設置された撮像部により対象物体を撮像できるように対象物体の位置及び姿勢を変更させる。その後、作業台に設置された撮像部により撮像された撮像画像に基づいて、対象物体に対する作業をロボットに行わせる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載されたロボットシステムは、対象物体の位置及び姿勢が変更可能であることを前提としており、位置及び姿勢を変更できない対象物体に対してこのロボットシステムを適用することができない。
【0006】
本発明は、上述の技術的課題に解決するためになされたものであり、その目的とするところは、位置及び姿勢を変更できない対象物体であっても、対象物体に対する作業をロボットに行わせることにある。
【課題を解決するための手段】
【0007】
上述の技術的課題は、以下の構成を有するロボット装置等により解決することができる。
【0008】
すなわち、本発明に係るロボット装置は、位置及び/又は姿勢を変更可能なリンクを有し対象物体に対する作業を行うロボットと、前記リンクに設けられ、前記対象物体を撮影する第1撮像部と、前記第1撮像部により生成された第1画像に基づき、前記対象物体の位置及び姿勢の少なくとも一方を認識する第1認識部と、前記ロボットに設けられ、前記第1撮像部とは異なる視野範囲で前記対象物体を撮影する第2撮像部と、前記第2撮像部により生成された第2画像に基づき、前記対象物体の位置及び姿勢の少なくとも一方を認識すると共に前記対象物体の周囲の物体の位置及び姿勢の少なくとも一方を認識する第2認識部と、前記第2認識部から得られた認識結果に基づき、前記第1撮像部の目標位置及び目標姿勢の少なくとも一方を決定する目標位置姿勢決定部と、前記目標位置姿勢決定部にて決定された前記目標位置及び目標姿勢の少なくとも一方に基づき、前記第1撮像部の位置及び姿勢を変更するための前記ロボットへの指令値を算出する指令値算出部と、を備える。
【0009】
このような構成によれば、第1撮像部の位置及び姿勢の少なくとも一方は、第2撮像部から得られた画像の認識結果に基づいて変更される。したがって、位置及び姿勢を変更できない対象物体であっても、第1撮像部の位置及び姿勢の少なくとも一方を変更することで対象物体の位置及び姿勢の少なくとも一方を認識することができるので、この種の対象物体に対する作業をロボットに適切に行わせることができる。
【0010】
前記指令値算出部は、前記第1認識部から得られた認識結果に基づき、前記対象物体に対する前記作業を行うための前記ロボットへの指令値を算出してもよい。
【0011】
このような構成によれば、ロボットは、対象物体を目標に駆動される。したがって、対象物体に対する作業を自律的にロボットに行わせることができる。
【0012】
前記第2撮像部の視野範囲は、前記第1撮像部の視野範囲よりも広くてもよい。
【0013】
このような構成によれば、第1撮像部と比較して第2撮像部の視野範囲内に対象物体が入りやすくなる。したがって、第2画像に対象物体をより確実に写すことができ、対象物体の位置及び姿勢を認識することができる。
【0014】
前記ロボットは、前記リンクを複数備え、前記第1撮像部は、前記複数のリンクのうちの一のリンクに設けられ、前記第2撮像部は、前記複数のリンクのうちの別のリンクに設けられてもよい。
【0015】
このような構成によれば、第2撮像部の位置及び姿勢は、第1撮像部の位置及び姿勢から独立して変更される。したがって、第1撮像部の視野範囲を変更しても第2撮像部の視野範囲を保持することができ、作業の遂行に要する時間を短縮することができる。
【0016】
前記第1撮像部を複数備え、前記ロボットは、前記リンクを複数備え、前記複数の第1撮像部のうちの一の第1撮像部は、前記複数のリンクのうちの一のリンクに設けられ、前記複数の第1撮像部のうちの別の第1撮像部は、前記複数のリンクのうちの別のリンクに設けられてもよい。
【0017】
このような構成によれば、一の第1撮像部で一の対象物体を撮影しつつ一の対象物体に対する作業をロボットに行わせつつ、別の第1撮像部で別の対象物体を撮影しつつ別の対象物体に対する作業をロボットに行わせることができる。したがって、一対の対象物体を互いに嵌合するなどの複数の対象物体を移動させる作業を効率的かつより確実にロボットに行わせることができる。
【0018】
前記目標位置姿勢決定部は、前記第2認識部から得られた認識結果に基づき、前記第2撮像部の目標位置及び目標姿勢の少なくとも一方を決定し、前記指令値算出部は、前記目標位置姿勢決定部にて決定された前記第2撮像部の前記目標位置及び目標姿勢の少なくとも一方に基づき、前記第2撮像部の位置及び姿勢を変更するための前記ロボットへの指令値を算出してもよい。
【0019】
このような構成によれば、第2撮像部の位置及び姿勢は、第2認識部により認識される対象物体の位置及び姿勢により変化する。したがって、対象物体の撮影に適した位置及び姿勢に第2撮像部の位置及び姿勢を変更することができ、より正確に対象物体の位置及び姿勢を認識することができる。これにより、対象物体の撮影により適した第1撮像部の目標位置及び目標姿勢を決定することができる。
【0020】
前記ロボットは、前記第1撮像部の位置及び姿勢を変更する第1駆動手段と、前記第1駆動手段の制御精度よりも低い制御精度で前記第1撮像部の位置及び姿勢を変更する第2駆動手段と、を更に有し、前記ロボット装置は、前記第1撮像部の位置及び目標の少なくとも一方を前記目標位置姿勢決定部にて決定された前記第1撮像部の目標位置及び目標姿勢の少なくとも一方に変更するのに前記第2駆動手段を用いる必要があるか否かを判定する制御精度判定部を更に備え、前記制御精度判定部が前記第2駆動手段を用いる必要があると判定したときには、前記目標位置姿勢決定部は、前記第2認識部から得られた認識結果に基づき、前記第2駆動手段を用いずに前記第1撮像部の位置及び姿勢の少なくとも一方を前記第1撮像部の目標位置及び目標姿勢の少なくとも一方に変更可能な前記ロボットの目標位置及び目標姿勢の少なくとも一方を決定し、前記指令値算出部は、前記目標位置姿勢決定部にて決定された前記ロボットの目標位置及び目標姿勢の少なくとも一方に基づき、前記ロボットの位置及び姿勢の少なくとも一方を制御するための前記ロボットへの指令値を算出してもよい。
【0021】
このような構成によれば、ロボットの位置及び姿勢は、第2認識部から得られた認識結果に基づき決定された目標位置及び目標姿勢に変更される。したがって、第1撮像部の目標位置及び目標姿勢に制御精度が相対的に低い駆動手段を用いることなく第1撮像部の位置及び姿勢を変更することができるようにロボットの位置及び姿勢を変更することができる。これにより、制御精度が相対的に高い駆動手段のみを用いて第1撮像部の位置及び姿勢をその目標位置及び目標姿勢に変更することができ、第1撮像部により対象物体を撮影して対象物体に対する作業をロボットに行わせることができる。
【0022】
前記ロボットは、移動可能に形成された移動台車を更に備え、前記第1駆動手段は、前記リンクの位置及び/又は姿勢を変更するリンク駆動手段であり、前記第2駆動手段は、前記移動台車を移動させる台車駆動手段であってもよい。
【0023】
このような構成によれば、移動台車の移動によらずに第1撮像部の位置及び姿勢の少なくとも一方を第1撮像部の目標位置及び目標姿勢の少なくとも一方に変更可能なロボットの目標位置及び目標姿勢にロボットの位置及び姿勢を変更することができる。したがって、リンクの位置及び/又は姿勢の変更のみで第1撮像部の位置及び姿勢をその目標位置及び目標姿勢に変更することができ、第1撮像部により対象物体を撮影して対象物体に対する作業をロボットに行わせることができる。
【0024】
前記第2撮像部の視野範囲内に前記リンクが入り込んでいるか否かを判定するリンク入り込み判定部を更に備え、前記指令値算出部は、前記第2撮像部の視野範囲内に前記リンクが入り込んでいると前記リンク入り込み判定部が判定した場合には、前記リンクの姿勢を変更するための前記ロボットへの指令値を算出してもよい。
【0025】
このような構成によれば、リンクを第2撮像部の視野範囲外に移動させるようにリンクの姿勢を変更することができる。したがって、対象物体がリンクに隠れることを防止することができ、第2撮像部を用いて対象物体をより確実に撮影することができる。
【0026】
前記ロボットのオペレータによる入力装置の操作に基づいて、前記第2画像上において前記対象物体が存在する範囲を設定する認識範囲設定部を更に備え、前記第2認識部は、前記第2画像のうち前記認識範囲設定部により設定された範囲から、前記対象物体の位置及び姿勢の少なくとも一方を認識すると共に前記対象物体の周囲の物体の位置及び姿勢の少なくとも一方を認識してもよい。
【0027】
このような構成によれば、第2画像のうちオペレータにより指定された範囲から、対象物体及びその周囲の物体の位置及び姿勢を認識する。そのため、第2画像の全領域から対象物体等の位置及び姿勢を認識する場合と比較して、認識にかかる時間を短縮することができる。したがって、ロボットが対象物体に対して行う作業に要する時間を短縮することができる。また、認識範囲を絞ることで認識したい対象物体等以外の物体を誤認識することを避けることができる。したがって、ロボットがより確実に対象物体に対して作業を行うことができる。
【0028】
別の側面から見た本発明は、姿勢を変更可能なリンクを有し対象物体に対する作業を行うロボットと、前記リンクに設けられた第1撮像部と、前記ロボットに設けられ前記第1撮像部の視野範囲とは視野範囲が異なる第2撮像部と、を備えたロボット装置を制御する方法であって、前記第2撮像部を用いて前記対象物体を撮影し第2画像を生成するステップと、前記第2画像に基づき、前記対象物体の位置及び姿勢の少なくとも一方を認識すると共に前記対象物体の周囲の物体の位置及び姿勢の少なくとも一方を認識する認識ステップと、前記認識ステップにて得られた認識結果に基づき、前記第1撮像部の目標位置及び目標姿勢の少なくとも一方を決定する目標位置姿勢決定ステップと、前記目標位置姿勢決定ステップにて決定された前記目標位置及び目標姿勢の少なくとも一に基づき、前記第1撮像部の位置及び姿勢を変更するための前記ロボットへの指令値を算出する指令値算出ステップと、前記指令値算出ステップにて算出された指令値に基づいて、前記ロボットを駆動して前記第1撮像部の位置及び姿勢の少なくとも一方を変更する位置姿勢変更ステップと、前記第1撮像部を用いて前記対象物体を撮影し第1画像を生成するステップと、前記第1画像に基づき、前記対象物体の位置及び姿勢の少なくとも一方を認識するステップと、を備える。
【0029】
別の側面から見た本発明は、姿勢を変更可能なリンクを有し対象物体に対する作業を行うロボットと、前記リンクに設けられた第1撮像部と、前記ロボットに設けられ前記第1撮像部の視野範囲とは視野範囲が異なる第2撮像部と、を備えたロボット装置を制御するプログラムであって、前記第2撮像部を用いて前記対象物体を撮影し第2画像を生成するステップと、前記第2画像に基づき、前記対象物体の位置及び姿勢の少なくとも一方を認識すると共に前記対象物体の周囲の物体の位置及び姿勢の少なくとも一方を認識する認識ステップと、前記認識ステップにて得られた認識結果に基づき、前記第1撮像部の目標位置及び目標姿勢の少なくとも一方を決定する目標位置姿勢決定ステップと、前記目標位置姿勢決定ステップにて決定された前記目標位置及び目標姿勢の少なくとも一に基づき、前記第1撮像部の位置及び姿勢を変更するための前記ロボットへの指令値を算出する指令値算出ステップと、前記指令値算出ステップにて算出された指令値に基づいて、前記ロボットを駆動して前記第1撮像部の位置及び姿勢の少なくとも一方を変更する位置姿勢変更ステップと、前記第1撮像部を用いて前記対象物体を撮影し第1画像を生成するステップと、前記第1画像に基づき、前記対象物体の位置及び姿勢の少なくとも一方を認識するステップと、を備える。
【0030】
更に別の側面から見た本発明に係るロボットシステムは、位置及び/又は姿勢を変更可能なリンクを有し対象物体に対する作業を行うロボットと、前記リンクに設けられ、前記対象物体を撮影する第1撮像部と、前記第1撮像部により生成された第1画像に基づき、前記対象物体の位置及び姿勢の少なくとも一方を認識する第1認識部と、前記ロボットに設けられ、前記第1撮像部とは異なる視野範囲で前記対象物体を撮影する第2撮像部と、前記第2撮像部により生成された第2画像に基づき、前記対象物体の位置及び姿勢の少なくとも一方を認識すると共に前記対象物体の周囲の物体の位置及び姿勢の少なくとも一方を認識する第2認識部と、前記第2認識部から得られた認識結果に基づき、前記第1撮像部の目標位置及び目標姿勢の少なくとも一方を決定する目標位置姿勢決定部と、前記目標位置姿勢決定部にて決定された前記目標位置及び目標姿勢の少なくとも一方に基づき、前記第1撮像部の位置及び姿勢を変更するための前記ロボットへの指令値を算出する指令値算出部と、を備える。
【0031】
このような構成によれば、第1撮像部の位置及び姿勢の少なくとも一方は、第2撮像部から得られた画像の認識結果に基づいて変更される。したがって、位置及び姿勢を変更できない対象物体であっても、第1撮像部の位置及び姿勢の少なくとも一方を変更することで対象物体の位置及び姿勢の少なくとも一方を認識することができるので、この種の対象物体に対する作業をロボットに適切に行わせることができる。
【発明の効果】
【0032】
本発明によれば、第1撮像部の位置及び姿勢の少なくとも一方は、第2撮像部から得られた画像の認識結果に基づいて変更される。したがって、位置及び姿勢を変更できない対象物体であっても、第1撮像部の位置及び姿勢の少なくとも一方を変更することで対象物体の位置及び姿勢の少なくとも一方を認識することができるので、この種の対象物体に対する作業をロボットに適切に行わせることができる。
【図面の簡単な説明】
【0033】
【
図1】(A)は、本発明の第1実施形態に係るロボット装置の側面図であり、(B)は、当該ロボット装置の上面図である。
【
図2】
図1に示すロボット装置のブロック図である。
【
図3】(A)は、対象物体とロボットとの位置関係の一例を示す上面図であり、(B)は、対象物体とロボットとの位置関係の別の例を示す上面図である。
【
図4】本発明の第1実施形態に係るフローチャートであり、対象物体に対する作業をロボットに行わせる処理を示す。
【
図5】本発明の第1実施形態の第1変形例に係るロボット装置の構成を説明する図であって、(A)は、対象物体2である本を把持し本棚から取り出した状態を示す上面図であり、(B)は、取り出した本を本棚から離した状態を示す上面図であり、(C)は、取り出した本を本棚にしまう状態を示す上面図である。
【
図6】本発明の第1実施形態の第2変形例に係るロボット装置の構成を説明する上面図であり、
図1(B)に対応して示す。
【
図7】本発明の第1実施形態の第3変形例に係るロボット装置の構成を説明する上面図であり、
図1(B)に対応して示す。
【
図8】対象物体とロボットとの位置関係のさらに別の例を示す上面図である。
【
図9】本発明の第2実施形態に係るフローチャートであり、対象物体に対する作業をロボットに行わせる処理を示す。
【
図10】本発明の第2実施形態に係る第2撮像部の位置及び姿勢を変更する処理の詳細フローチャートである。
【
図11】(A)は、対象物体とロボットとの位置関係の別の例を示す上面図であり、(B)は、
図11(A)に示す状態から第1撮像部の位置及び姿勢を変更した例を示す上面図である。
【
図12】本発明の第3実施形態に係るロボット装置のブロック図である。
【
図13】本発明の第3実施形態に係るフローチャートであり、対象物体に対する作業をロボットに行わせる処理を示す。
【
図14】本発明の第3実施形態に係る詳細フローチャートであり、制御精度が相対的に低い駆動手段を用いてロボットを駆動する処理を示す。
【
図15】(A)は、対象物体とロボットとの位置関係のさらに別の例を示す上面図であり、(B)は、
図15(A)に示される状態で第2撮像部により生成される第2画像の一例である。
【
図16】本発明の第4実施形態に係るロボット装置のブロック図である。
【
図17】左腕リンクが第2撮像部の視野範囲内に入り込むか否かの判定方法の一例を説明するための模式図であり、(A)は、第2撮像部の光軸(Z軸)と直交する水平軸(X軸)に沿って第2撮像部を見た図であり、(B)は、第2撮像部の光軸及び水平軸と直交する鉛直軸(Y軸)に沿って第2撮像部を見た図である。
【
図18】本発明の第5実施形態に係るロボット装置のブロック図である。
【
図19】(A)は、
図18に示される表示部に表示される画像の一例であり、(B)は、オペレータが第2画像のうちの一部の範囲を指定したときの表示部に表示される画像の例を示す。
【
図20】本発明をアーム型ロボットに適用した例を示す。
【
図21】本発明を、移動台車の上にグリッパが搭載されたロボットに適用した例を示す。
【発明を実施するための形態】
【0034】
以下、本発明の好適な実施の形態について添付の図面を参照しつつ詳細に説明する。
【0035】
(1.第1実施形態)
まず、第1実施形態として、本発明をロボット装置に適用した例について説明する。
図1及び
図2は、第1実施形態に係るロボット装置100の構成例を説明する図である。
【0036】
図1は、ロボット装置100が備えるロボット1の構成を説明する図であって、
図1(A)は、主にロボット1の外観例を示す側面図であり、
図1(B)は、主にロボット1の外観例を示す平面図である。ロボット装置100は、対象物体2に対する所定の作業を行うロボット1を備えている。対象物体2は、例えば、押ボタン(設備の電源ボタン等)、スイッチ、コネクタ又はドア等である。作業は、人間が日常的に行う作業を含み、例えば、押ボタンを押す作業、スイッチを切換える作業、コネクタを挿抜する作業、ドアを開閉する作業又は電源が付いているか否かを検査する作業等である。
【0037】
図示するように、ロボット1は、略人型の形状を有しており、移動台車11と、移動台車11に支持された脚部12と、脚部12に支持された胴体部13と、胴体部13に支持された右腕リンク20、左腕リンク30及び頭部リンク40と、を備えている。
【0038】
移動台車11は、ロボット1が置かれた面(床面)を移動可能に形成されている。具体的には、移動台車11は、不図示の複数の駆動輪を備えている。複数の駆動輪が回転すると、移動台車11が移動する。移動台車11は、例えば、全方向に移動することができるように構成された全方位移動台車であり、駆動輪は、例えばオムニホイールである。
【0039】
以下において、「上方」及び「下方」は、それぞれ、移動台車11が水平な面に配置されている状態を基準とした鉛直方向上側及び鉛直方向下側を意味する。
【0040】
脚部12は、略人型のロボット1において、人の脚に相当する構成として、移動台車11から上方に延びている。胴体部13は、略人型のロボット1において、人の胴体に相当する構成として、脚部12の上方に配置されており、略鉛直に延びる軸A1を中心に回転可能に脚部12に設けられている。
【0041】
以下において、移動台車11、脚部12及び胴体部13を合わせて「移動基体10」と称することがある。
【0042】
右腕リンク20は、略人型のロボット1において、人の右腕に相当する構成として、胴体部13から延びており、姿勢を変更可能である。具体的には、右腕リンク20は、胴体部13に設けられた第1関節部21と、第1関節部21から延びる第1リンク22と、第1リンク22の先端に設けられた第2関節部23と、第2関節部23から延びる第2リンク24と、第2リンク24の先端に設けられた第3関節部25と、第3関節部25から延びる左腕リンク26と、を備えている。左腕リンク26には、対象物体2に対する作業を行うためのツール27が設けられている。右腕リンク20を構成する各リンク22、24、26は、位置及び姿勢を変更可能である。
【0043】
第1関節部21は、略水平な軸A2を中心に胴体部13に対して回転可能である。第1関節部21が回転すると、第1リンク22、第2関節部23、第2リンク24、第3関節部25及び左腕リンク26が軸A2を中心に回転する。
図1(A)及び(B)では、第1リンク22を略水平に保持した状態が示されている。
【0044】
第1リンク22は、略水平に保持された状態(
図1に示す状態)において第1関節部21を通る略鉛直な軸A3を中心に胴体部13に対して揺動可能である。第2リンク24は、第1リンク22が略水平に保持された状態(
図1に示す状態)において第2関節部23を通る略鉛直な軸A4を中心に第1リンク22に対して揺動可能である。左腕リンク26は、第1リンク22が略水平に保持された状態(
図1に示す状態)において第3関節部25を通る略鉛直な軸A5を中心に第2リンク24に対して揺動可能である。換言すれば、右腕リンク20は、姿勢を変化可能である。
【0045】
ロボット1は、右腕リンク20の姿勢を変更して対象物体2に対する作業を行う。例えば、対象物体2が押ボタンである場合には、ロボット1は、右腕リンク20の姿勢を変更してツール27で押ボタンを押す。
【0046】
左腕リンク30は、略人型のロボット1において、人の左腕に相当する構成として、胴体部13から延びており、右腕リンク20及び頭部リンク40から独立して姿勢を変更可能である。左腕リンク30の構造は、右腕リンク20の構造と略同じであるため、ここではその詳細を省略する。
【0047】
頭部リンク40は、略人型のロボット1において、人の頭に相当する構成として、胴体部13の上方に配置されている。頭部リンク40は、右腕リンク20及び左腕リンク30から独立して姿勢を変更可能である。具体的には、頭部リンク40は、水平な軸A6を中心に揺動可能且つ鉛直な軸A7を中心に回転可能に胴体部13に設けられている。頭部リンク40は、人が見た際に顔として認識できる正面を有している。
【0048】
図2は、ロボット装置100のブロック図である。
図2に示すように、ロボット1は、台車駆動手段51と、胴体部駆動手段52と、右腕リンク駆動手段53と、左腕リンク駆動手段54と、頭部リンク駆動手段55と、を備える。台車駆動手段51、胴体部駆動手段52、右腕リンク駆動手段53、左腕リンク駆動手段54及び頭部リンク駆動手段55によりロボット1は駆動される。
【0049】
台車駆動手段51は、移動台車11における不図示の駆動輪を回転させる。台車駆動手段51は、例えば、移動台車11に搭載された一又は複数のモータである。胴体部駆動手段52は、脚部12に対して胴体部13を回転させる。胴体部駆動手段52は、例えば、脚部12に搭載された一又は複数のモータである。
【0050】
右腕リンク駆動手段53は、右腕リンク20の姿勢を変化させる。右腕リンク駆動手段53は、例えば、胴体部13に搭載され胴体部13に対して第1関節部21を回転させる一又は複数のモータと、第1関節部21に搭載され胴体部13に対して第1リンク22を揺動させる一又は複数のモータと、第2関節部23に搭載され第1リンク22に対して第2リンク24を揺動させる一又は複数のモータと、第3関節部25に搭載され第2リンク24に対して左腕リンク26を揺動させる一又は複数のモータと、を含む。
【0051】
左腕リンク駆動手段54は、左腕リンク30の姿勢を変化させる。左腕リンク駆動手段54の構造は、右腕リンク駆動手段53の構造と略同じであるため、ここではその詳細を省略する。
【0052】
頭部リンク駆動手段55は、胴体部13に対して頭部リンク40を水平な軸A6を中心に揺動させると共に鉛直な軸A7を中心に回転させる。頭部リンク駆動手段55は、例えば、胴体部13に搭載された一又は複数のモータである。
【0053】
図示を省略するが、ツール27が例えば電動ハンドのように駆動可能である場合には、ロボット1は、ツール27を駆動するツール駆動手段を備えていてもよい。
【0054】
図3(A)は、対象物体2とロボット1との位置関係の一例を示す上面図である。
図3(A)に示すように、ロボット1が対象物体2に対する作業を自律的に行うためには、対象物体2の位置及び姿勢を認識し、認識した対象物体2の位置及び姿勢に基づきロボット1を駆動する必要がある。そこで、本実施形態では、対象物体2の位置及び姿勢を認識し認識結果に基づきロボット1を駆動する機構をロボット装置100に設けている。
【0055】
図1及び
図2に示すように、ロボット装置100は、右腕リンク20に設けられ第1画像を生成する第1撮像部61と、第1撮像部61により生成された第1画像に基づきロボット1の駆動を制御するコントローラ70と、を備えている。コントローラ70は、第1認識部71及び指令値算出部72等の機能部を有する。
【0056】
第1撮像部61は、例えば、RGBカメラ、モノクロカメラ、IRカメラ及び3Dカメラである。第1撮像部61は、所定の視野範囲を持ち、視野範囲内に存在する物体を撮影し、物体が写った第1画像を生成する。第1撮像部61の視野範囲内に対象物体2が存在する場合には、第1画像には対象物体2が写ることになる。第1撮像部61は、撮影により物体の形状情報を取得するセンサであってもよい。
【0057】
コントローラ70は、例えば、プロセッサとしての中央演算装置(CPU)、記憶媒体としての読み出し専用メモリ(ROM)およびランダムアクセスメモリ(RAM)、入出力インタフェース(I/Oインタフェース)等がバスを介して接続されて構成される情報処理装置である。ROMには、第1認識部71及び指令値算出部72等の機能を実行するためのプログラム(制御プログラム)が格納されている。すなわち、コントローラ70は、ROMに格納されたプログラムを実行することによって、第1認識部71及び指令値算出部72等の各機能部の機能を実現するように構成される。
【0058】
なお、コントローラ70を構成するプロセッサおよび記憶媒体として上述した構成は例示であって、これらに加えて、或いは代えて、GPU、フラッシュメモリ、ハードディスク、ストレージ等を含んでもよい。また、上述の各機能部の機能は、必ずしもコントローラ70のみによって実現される必要はなく、機能部毎に適宜選択された複数のコントローラがそれぞれ、或いは協調することによって実現されるように構成されてもよい。
【0059】
コントローラ70の各機能部の機能について以下説明する。
【0060】
第1認識部71は、例えば画像特徴量に基づいて、対象物体2の位置及び姿勢を認識する。具体的には、対象物体2の画像特徴量を予め算出しておき、第1撮像部61にて生成された第1画像から算出した画像特徴量と、予め算出した画像特徴量と、のマッチングを行うことで、対象物体2の位置及び姿勢を認識する。画像特徴量は、画像中の物体の像の特徴を表す量であり、例えば、画像中の領域の面積や中心位置、線分の長さや傾きなどである。
【0061】
また、第1認識部71は、対象物体2の形状情報に基づいて対象物体2の位置及び姿勢を認識してもよい。具体的には、予め対象物体2の形状を計測し、計測データと第1撮像部61にて生成された第1画像から得られる対象物体2の形状情報との比較により対象物体2の位置及び姿勢を認識してもよい。
【0062】
なお、ニューラルネットワーク等の機械学習技術を用いて対象物体2の位置及び姿勢を認識する構成としてもよい。具体的には、対象物体2が含まれた画像又はその画像特徴量と、正解データとなる対象物体2の位置及び姿勢と、に基づいて生成された学習済モデルを用いて、対象物体2の位置及び姿勢を認識する構成としてもよい。
【0063】
指令値算出部72は、第1認識部71から得られた認識結果に基づき、対象物体2に対する作業を行う(遂行する)ためのロボット1への指令値を算出する。指令値は、例えばロボット1のTCP(Tool Center Point)を目標位置姿勢へ移動させるためのロボット1への制御値、TCPの目標軌道を描かせるための時系列的な制御値列である。TCPは、例えばツール27の先端である。ロボット1への制御値又は制御値列は、具体的には、台車駆動手段51、胴体部駆動手段52、頭部リンク駆動手段55及び右腕リンク駆動手段53を駆動するための制御値又は制御値列である。指令値は、制御値及び制御値列を複合的に組み合わせられていてもよい。
【0064】
ツール27が例えば電動ハンドのように駆動可能でありロボット1がツール駆動手段を備えている場合には、指令値算出部72は、ツール駆動手段を駆動するための制御値又は制御値列を算出してもよい。
【0065】
指令値算出部72にて算出された指令値は、台車駆動手段51、胴体部駆動手段52、右腕リンク駆動手段53及び頭部リンク駆動手段55に出力される。台車駆動手段51、胴体部駆動手段52、右腕リンク駆動手段53及び頭部リンク駆動手段55が指令値に応じて駆動されると、移動台車11、胴体部13、右腕リンク20及び頭部リンク40は、対象物体2に対する作業を行う(遂行する)。
【0066】
このように、ロボット装置100では、第1撮像部61により生成された第1画像に基づき第1認識部71が対象物体2の位置及び姿勢を認識し、指令値算出部72が、第1認識部71から得られた認識結果に基づきロボット1への指令値を算出する。したがって、
図3(A)に示すように、対象物体2が第1撮像部61の視野範囲内に存在する場合には、ロボット1は、対象物体2を目標にツール27の位置及び姿勢を変更することができ、対象物体2に対する作業を自律的に行うことができる。
【0067】
図3(B)は、対象物体2とロボット1との位置関係の別の例を示す上面図である。
図3(B)に示すように、対象物体2が第1撮像部61の視野範囲に存在しない場合がある。このような場合には、第1撮像部61により対象物体2を撮影することができない。
図3(B)に示す状態は、例えば、移動台車11によるロボット1の移動時に移動台車11の不図示の駆動輪が滑り、ロボット1が所望の位置に止まっていないときや、人間の介在によって対象物体2の位置が変わっているときに生じ得る。
【0068】
図示を省略するが、対象物体2と第1撮像部61との間に意図しない物体が存在し対象物体2が意図しない物体によって第1撮像部61に対して隠れる場合もある。このような場合にも、第1撮像部61により対象物体2を撮影することができない。
【0069】
第1撮像部61により対象物体2を撮影することができないときには、対象物体2の位置及び姿勢を認識することができないため、ロボット1は、対象物体2に対する作業を行う(遂行する)ことができなくなる。
【0070】
第1撮像部61により対象物体2を確実に撮影するために、第1撮像部61の視野範囲を広げることも考えられるが、この場合には、第1撮像部61により生成される第1画像上で対象物体2が小さく写ることになる。その結果、第1認識部71による対象物体2の位置及び姿勢の認識精度が低下し、ロボット1による対象物体2に対する作業が困難になるおそれがある。
【0071】
そこで、本実施形態では、第1撮像部61とは異なる視野範囲で対象物体2の位置及び姿勢を撮影し第1撮像部61の位置及び姿勢を変更する機構をロボット装置100に設けている。
【0072】
具体的には、
図1及び
図2に示すように、ロボット装置100は、第1撮像部61とは異なる視野範囲で第2画像を生成する第2撮像部62を備えている。また、コントローラ70は、機能部として第2認識部73及び目標位置姿勢決定部74を有している。
【0073】
第2撮像部62は、第1撮像部61と同様に、例えば、RGBカメラ、モノクロカメラ、IRカメラ及び3Dカメラである。第2撮像部62は、第2撮像部62の視野範囲内に存在する物体を撮影し、物体が写った第2画像を生成する。第2撮像部62の視野範囲内に対象物体2が存在する場合には、第2画像には対象物体2が写ることになる。第2撮像部62は、第1撮像部61と同様に、撮影により物体の形状情報を取得するセンサであってもよい。
【0074】
第2認識部73は、対象物体2の位置及び姿勢を認識すると共に、対象物体2の周囲の物体の位置及び姿勢を認識する。対象物体2の周囲の物体は、例えば、ロボット1が対象物体2に対する作業を行うにあたって衝突の原因となるような障害物や、作業を行うのに必要な物体である。本を本棚から取り出す作業の場合、対象の本の周囲にある本は、作業を行うにあたって衝突の原因となるような障害物に相当し、本棚の棚板は、作業を行うにあたって認識が必要な物体に相当する。
【0075】
第2認識部73における物体の位置及び姿勢の認識方法は、第1認識部71による認識方法とほぼ同じであるため、ここではその詳細な説明は省略する。
【0076】
目標位置姿勢決定部74は、第2認識部73の認識結果に基づき、第1撮像部61の目標位置及び目標姿勢を決定する。第1撮像部61の目標位置及び目標姿勢は、第2認識部73にて対象物体2の位置及び姿勢を認識した場合、例えば、次の式(1)、式(2)を用いることで決定可能である。このとき、対象物体2からの相対位置パラメータは、第1撮像部61の視野範囲内に対象物体2が存在するように設定する。
【0077】
【0078】
なお、第1撮像部61の目標位置及び目標姿勢を決定する方法は、式(1)、式(2)を用いる方法に限られず、対象物体2が第1撮像部61の視野範囲内に存在する第1撮像部61の目標位置及び目標姿勢を算出できる方法であればよい。
【0079】
指令値算出部72は、目標位置姿勢決定部74にて決定された第1撮像部61の目標位置及び目標姿勢に基づき、第1撮像部61の位置及び姿勢を制御するためのロボット1への指令値を算出する。指令値は、対象物体2に対する作業を行う(遂行する)ための指令値と同様に、制御値、制御値列又はこれらを複合的に組み合わせたものとすることができる。
【0080】
図4は、対象物体2に対する作業をロボット1に行わせる処理のフローチャートである。同図から明らかな通り、処理が開始すると、コントローラ70は、第2撮像部62を用いてその視野範囲内に存在する物体を撮影する撮影処理を行う(S11)。これにより、第2撮像部62の視野範囲内に存在する物体が写った第2画像が生成される。ここでは、第2画像に対象物体2が写っているものとして説明する。
【0081】
第2撮像部62を用いた撮影処理(S11)の後、コントローラ70は、第2画像に基づき、対象物体2の位置及び姿勢を認識すると共に対象物体2の周囲の物体の位置及び姿勢を認識する認識処理を行う(S12)。対象物体2及びその周囲の物体の位置及び姿勢の認識方法は、前述した第1認識部71による認識方法とほぼ同じであるため、ここではその詳細な説明は省略する。
【0082】
次に、コントローラ70は、認識処理(S12)の認識結果に基づき、第1撮像部61の目標位置及び目標姿勢を決定する目標位置姿勢決定処理を行う(S13)。第1撮像部61の目標位置及び目標姿勢は、前述の式(1)、式(2)を用いることで決定可能である。第1撮像部61の目標位置及び目標姿勢は、第1撮像部61の視野範囲内に対象物体2が存在するように決定される。
【0083】
次に、コントローラ70は、目標位置姿勢決定処理(S13)にて決定された第1撮像部61の目標位置及び目標姿勢に基づき、第1撮像部61の位置及び姿勢を制御するためのロボット1への指令値を算出する指令値算出処理を行う(S14)。その後、コントローラ70は、算出された指令値をロボット1に送り、ロボット1を駆動して第1撮像部61の位置及び姿勢を変更する位置姿勢変更処理を行う(S15)。これにより、第1撮像部61の位置及び姿勢は、目標位置姿勢決定処理(S13)にて決定された目標位置及び目標姿勢となり、第1撮像部61の視野範囲内に対象物体2が入る。
【0084】
次に、コントローラ70は、第1撮像部61を用いてその視野範囲内に存在する物体を撮影する撮影処理を行う(S16)。これにより、対象物体2が写った第1画像が生成される。その後、コントローラ70は、第1画像に基づき、対象物体2の位置及び姿勢を認識する認識処理を行う(S17)。
【0085】
次に、コントローラ70は、認識処理(S17)の認識結果に基づき、対象物体2に対する作業を行うためのロボット1への指令値を算出する指令値算出処理を行う(S18)。その後、コントローラ70は、算出された指令値をロボット1に送り、ロボット1を駆動し、対象物体2に対する作業をロボット1に行わせる作業実施処理を行う(S19)。
【0086】
作業実施処理(S19)の後、コントローラ70は、対象物体2に対する作業を遂行したか否かを判定する作業遂行判定処理を行う(S20)。作業を遂行したと判定した場合には(S20YES)、対象物体2に対する作業をロボット1に行わせる処理は終了する。作業を遂行していないと判定した場合には(S20NO)、第2撮像部62を用いた撮影処理(S11)が再び行われる。
【0087】
作業遂行判定処理(S20)に関して、例えば、作業が押ボタンを押す作業である場合には、1つの指令で作業を遂行することができる。この場合、作業遂行判定処理(S20)において作業を遂行したと必ず判定される(S20YES)ため、作業遂行判定処理(S20)はなくてもよい。
【0088】
一方、例えば作業が扉の鍵を閉める作業である場合には、扉の鍵を把持する第1の指令と、扉の鍵を回す第2の指令と、の2つの指令が必要になる。この場合において、ロボット1が扉の鍵を把持した段階では、作業遂行判定処理(S20)において作業を遂行していないと判定され(S20NO)、ロボット1が扉の鍵を回した段階で、作業遂行判定処理(S20)において作業を遂行したと判定される(S20NO)。つまり、複数の指令で作業を遂行する場合、作業遂行判定処理(S20)は必須である。
【0089】
以上のように、本実施形態では、第2撮像部62が、第1撮像部61とは異なる視野範囲で対象物体2を撮影する。そのため、第2撮像部62により生成される第2画像は、第1撮像部61により生成される第1画像とは異なるものとなる。したがって、対象物体2が第1撮像部61の視野範囲内に存在しない場合にも、第2画像に対象物体2を写すことができ、対象物体2の位置及び姿勢を認識することができる。
【0090】
また、第2認識部73は、第2撮像部62により生成される第2画像に基づき対象物体2の位置及び姿勢を認識し、目標位置姿勢決定部74は、第2認識部73から得られた認識結果に基づき、第1撮像部61の目標位置及び目標姿勢を決定する。そのため、第1撮像部61の目標位置及び目標姿勢は、第2認識部73により認識される対象物体2の位置及び姿勢により変化する。したがって、対象物体2の撮影に適した位置及び姿勢に第1撮像部61の位置及び姿勢を変更することができ、第1撮像部61の視野範囲を広げることなく第1撮像部61により対象物体2を撮影することができる。これにより、第1認識部71による対象物体2の位置及び姿勢の認識精度を維持することができる。
【0091】
そして、指令値算出部72は、目標位置姿勢決定部74にて決定された目標位置及び目標姿勢に基づき、第1撮像部61の位置及び姿勢を変更するためのロボット1への指令値を算出する。そのため、第1撮像部61の位置及び姿勢は、目標位置姿勢決定部74にて決定された目標位置及び目標姿勢に変更される。したがって、位置姿勢を変更できない対象物体2に対する作業もロボット1に行わせることができる。
【0092】
さらに、第2認識部73は、対象物体2の周囲の物体の位置及び姿勢を認識する。そのため、第1撮像部61の目標位置及び目標姿勢は、対象物体2の周囲の物体の位置及び姿勢に応じて決定される。したがって、対象物体2の周囲の物体が第1撮像部61の撮影の作業の障害とならないように第1撮像部61の位置及び姿勢を変更することができる。これにより、第1撮像部61により対象物体2をより確実に撮影することができ、対象物体2に対する作業をロボット1により容易に行わせることができる。
【0093】
指令値算出部72は、第1認識部71から得られた認識結果に基づき、対象物体2に対する作業を行うためのロボット1への指令値を算出する。そのため、ロボット1は、対象物体2を目標に駆動される。したがって、対象物体2に対する作業を自律的にロボット1に行わせることができる。
【0094】
第2認識部73により認識された対象物体2の周囲の物体の位置及び姿勢を、対象物体2に対する作業を行う(遂行する)ためのロボット1への指令値の算出に利用してもよい。この場合には、ロボット1が周囲の物体に衝突することを防いだり周囲の物体を利用して作業を行ったりするように指令値を算出することができ、対象物体2に対する作業をロボット1にさらに容易に行わせることができる。
【0095】
第2撮像部62の視野範囲は、第1撮像部61の視野範囲よりも広いことが好ましい。この場合、第1撮像部61と比較して第2撮像部62の視野範囲内に対象物体2が入りやすくなる。したがって、第2画像に対象物体2をより確実に写すことができ、対象物体2の位置及び姿勢を認識することができる。
【0096】
上記の実施形態において、第1認識部71は、対象物体2の位置及び姿勢を認識しているが、第1認識部71は対象物体2の位置及び姿勢の一方を認識し、対象物体2の位置及び姿勢の他方を認識しないように構成されていてもよい。この場合においても、対象物体2に対する作業を自律的にロボット1に行わせることができる。つまり、第1認識部71は、第1撮像部61により生成された第1画像に基づき、対象物体2の位置及び姿勢の少なくとも一方を認識するように構成されていればよい。
【0097】
また、上記の実施形態において、第2認識部73は、対象物体2の位置及び姿勢を認識し、目標位置姿勢決定部74は、第1撮像部61の目標位置及び目標姿勢を決定している。本発明は、この形態に限られず、第2認識部73は、対象物体2の位置及び姿勢の一方を認識し、対象物体2の位置及び姿勢の他方を認識しないように構成されており、目標位置姿勢決定部74は、第1撮像部61の目標位置及び目標姿勢の一方を決定し、第1撮像部61の目標位置及び目標姿勢の他方は決定しないように構成されていてもよい。この場合においても、第1撮像部61の視野範囲を広げることなく第1撮像部61により対象物体2を撮影することができる。つまり、第2認識部73は、第2撮像部62により生成された第2画像に基づき、対象物体2の位置及び姿勢の少なくとも一方を認識するように構成されており、目標位置姿勢決定部74は、第2認識部73から得られた認識結果に基づき、第1撮像部61の目標位置及び目標姿勢の少なくとも一方を決定するように構成されていればよい。
【0098】
さらに、上記実施形態において、第2認識部73は、対象物体2の周囲の物体の位置及び姿勢を認識しているが、第2認識部73は、対象物体2の周囲の物体の位置及び姿勢の一方を認識し、対象物体2の周囲の物体の位置及び姿勢の他方を認識しないように構成されていてもよい。この場合においても、対象物体2の周囲の物体が第1撮像部61の撮影の作業の障害とならないように第1撮像部61の位置及び姿勢の少なくとも一方を変更することができる。つまり、第2認識部73は、第2撮像部62により生成された第2画像に基づき、対象物体2の周囲の物体の位置及び姿勢の少なくとも一方を認識するように構成されていればよい。
【0099】
(1-1.第1実施形態の第1変形例)
図5は、第1実施形態の第1変形例に係るロボット装置101の構成を説明する図であって、(A)は、対象物体2である本を把持し本棚3から取り出す状態を示す上面図であり、(B)は、取り出した本を本棚3から離した状態を示す上面図であり、(C)は、取り出した本を本棚3にしまう状態を示す上面図である。
【0100】
図1及び
図3に示すロボット装置100では、第2撮像部62は、人の頭に相当する構成としての頭部リンク40に設けられている。第1変形例に係るロボット装置101では、第2撮像部62は、
図5に示すように、第1撮像部61が設けられた右腕リンク20に設けられている。換言すれば、ロボット装置101では、第1撮像部61及び第2撮像部62は、同一のリンクに設けられている。
【0101】
図5に示すロボット装置101においても、
図1及び
図3に示すロボット装置100と同様に、対象物体2が第1撮像部61の視野範囲内に存在しない場合にも、第2画像に対象物体2を写すことができ、対象物体2の位置及び姿勢を認識することができる。
【0102】
ただし、
図5に示すロボット装置101では、対象物体2に対する作業を行うために右腕リンク20の姿勢を変更すると、第2撮像部62の視野範囲が変化する。そのため、対象物体2が第2撮像部62の視野範囲から外れることがある。この場合、第2撮像部62の視野範囲に対象物体2を入れる動作が必要になる。
【0103】
例えば、対象物体2である本を本棚3から取出し同一の本棚3における別の場所(
図5において、一点鎖線で囲まれた収納空間S)にしまう作業をロボット装置101のロボット1に行わせる場合について説明する。
図5(A)に示すように、対象物体2である本を把持し本棚3から取り出すときには、第1撮像部61及び第2撮像部62が本棚3に近接している。そのため、収納空間Sが第1撮像部61の視野範囲及び第2撮像部62の視野範囲の両方から外れており、収納空間Sの位置を認識できていない。収納空間Sの位置を認識するためには、
図5(B)に示すように、一度、第2撮像部62を本棚3から離し、第2撮像部62の視野範囲に収納空間Sを入れる必要がある。収納空間Sの位置を認識した後、
図5(C)に示すように、収納空間Sに向けて対象物体2を移動させる。
【0104】
このように、第1撮像部61が設けられた右腕リンク20に第2撮像部62が設けられているロボット装置101では、第2撮像部62の視野範囲内に対象物体2(
図5に示す例では収納空間S)を再び入れる動作が必要になる。その結果、作業の遂行に時間がかかる。
【0105】
図1及び
図3に示すロボット装置100のように、第1撮像部61が設けられた右腕リンク20とは異なる頭部リンク40に第2撮像部62が設けられている場合には、第2撮像部62の位置及び姿勢は、第1撮像部61の位置及び姿勢から独立して変更される。したがって、第1撮像部61の視野範囲を変更しても第2撮像部62の視野範囲を保持することができる(
図5に示す例において頭部リンク40に第2撮像部62が設けられていれば、
図5(A)~(C)の全てにおいて第2撮像部62の視野範囲内に収納空間Sが入ることが理解されるであろう)。これにより、第2撮像部62の視野範囲内に対象物体2(
図5に示す例では収納空間S)を再び入れる動作が不要になり、作業の遂行に要する時間を短縮することができる。
【0106】
(1-2.第1実施形態の第2変形例)
図6は、第1実施形態の第2変形例に係るロボット装置102の構成を説明する上面図であり、
図1(B)に対応して示す。
【0107】
ロボット装置102では、第2撮像部62は、人の頭に相当する構成としての頭部リンク40ではなく、人の左腕に相当する構成としての左腕リンク30に設けられている。ロボット装置102においても、
図1及び
図3に示すロボット装置100と同様に、対象物体2が第1撮像部61の視野範囲内に存在しない場合にも、第2画像に対象物体2を写すことができ、対象物体2の位置及び姿勢を認識することができる。また、第1撮像部61の視野範囲を変更しても第2撮像部62の視野範囲を保持することができる。これにより、第2撮像部62の視野範囲内に対象物体2を再び入れる動作が不要になり、作業の遂行に要する時間を短縮することができる。
【0108】
図示を省略するが、第1撮像部61を左腕リンク30に設け、第2撮像部62を右腕リンク20に設けてもよい。
【0109】
(1-3.第1実施形態の第3変形例)
図7は、第1実施形態の第3変形例に係るロボット装置103の構成を説明する上面図であり、
図1(B)に対応して示す。
図7では、複数の対象物体2a、2bに対する作業をロボット1に行わせる例が示されている。具体的には、互いに嵌合可能な対象物体2a、2bが収容箱4a、4bにそれぞれ収納されており、ロボット1は、収容箱4aから対象物体2aを取り出すと共に収容箱4bから対象物体2bを取り出し、対象物体2a、2bを互いに嵌合する作業を行う。
【0110】
図7に示すように、ロボット装置103は、複数の第1撮像部61a、61bを備えている。第1撮像部61aは、人の右腕に相当する構成としての右腕リンク20に設けられており、第1撮像部61bは、人の左腕に相当する構成としての左腕リンク30に設けられている。第2撮像部62は、人の頭に相当する構成としての頭部リンク40に設けられている。
【0111】
ロボット装置103では、第1撮像部61aで対象物体2aを撮影しつつ対象物体2aに対する作業をロボット1に行わせつつ、第1撮像部61bで対象物体2bを撮影しつつ対象物体2bに対する作業をロボット1に行わせることができる。したがって、対象物体2a、2bを互いに嵌合するなどの複数の対象物体2a、2bを移動させる作業を効率的にかつより確実にロボット1に行わせることができる。
【0112】
図7に示す例において、第2撮像部62の位置及び姿勢は、対象物体2a、2bを同時に撮影可能に調整されていることが好ましい。
【0113】
(2.第2実施形態)
次に、本発明の第2実施形態について説明する。なお、以下では、第1実施形態と同一の構成については同一の符号が付与される。
図8は、対象物体2とロボット1との位置関係のさらに別の例を示す上面図である。
【0114】
上記の第1実施形態において、第2撮像部62を用いた撮影処理(S11)の実行時に第2撮像部62の視野範囲から対象物体2が外れていることがある。この場合、第2撮像部62を用いて対象物体2を撮影することができず、第2認識部73にて対象物体2の位置及び姿勢を認識することができない。そのため、目標位置姿勢決定部74にて第1撮像部61の目標位置及び目標姿勢を決定することができない。
【0115】
また、
図8に示すように、対象物体2が第2撮像部62の視野範囲の端付近に位置している場合、第2撮像部62の視野範囲から対象物体2の周囲の障害物体5が外れていることがある。この場合、第2撮像部62を用いて障害物体5を撮影することができず、第2認識部73にて障害物体5の位置及び姿勢を認識することができない。そのため、目標位置姿勢決定部74にて第1撮像部61の目標位置及び目標姿勢を適切に決定することができず、第1撮像部61と対象物体2との間に障害物体5が位置するように第1撮像部61の目標位置及び目標姿勢を決定するおそれがある。
【0116】
さらに、第2撮像部62によっては、視野範囲の端付近に写る物体に歪みが生じることがある。この場合において、第2撮像部62の視野範囲の端付近に対象物体2が位置していると、第2画像に写る対象物体2に歪みが生じる。そのため、第2認識部73にて対象物体2の位置及び姿勢を正確に認識することができず、目標位置姿勢決定部74にて第1撮像部61の目標位置及び目標姿勢を適切に決定することができない。
【0117】
そこで、本実施形態に係るロボット装置200では、第2認識部73から得られた認識結果に基づき、第2撮像部62の位置及び姿勢を変更し、再び、第2撮像部62を用いて対象物体2を撮影する処理を行う。以下、
図9及び
図10を参照して、本実施形態の処理について詳述する。
【0118】
図9は、対象物体2に対する作業をロボット1に行わせる処理のゼネラルフローチャートである。同図から明らかな通り、コントローラ70は、第2撮像部62により生成された第2画像に基づいた認識処理(S12)の後、対象物体2が第2画像上で所定の範囲内に位置しているか否かを判定する対象物体位置判定処理を行う(S21)。所定の範囲は、ロボット1のオペレータにより予め設定される。所定の範囲は、例えば、第2画像上における中心付近の範囲として設定される。
【0119】
対象物体位置判定処理(S21)にて、対象物体2が第2画像上で所定の範囲内に位置していると判定した場合には(S21YES)、第1撮像部61に関する目標位置姿勢決定処理(S13)を行う。対象物体2が第2画像上で所定の範囲内に位置していないと判定した場合には(S21NO)、第2撮像部62の位置及び姿勢を変更する処理を行う(S22)。
【0120】
図10は、第2撮像部62の位置及び姿勢を変更する処理(S22)の詳細フローチャートである。同図から明らかな通り、処理が開始すると、コントローラ70は、第2画像に基づいた認識処理(S12)の認識結果に基づき、第2撮像部62の目標位置及び目標姿勢を決定する目標位置姿勢決定処理を行う(S221)。第2撮像部62の目標位置及び目標姿勢は、目標位置姿勢決定部74(
図2参照)にて決定される。
【0121】
第2撮像部62の目標位置及び目標姿勢は、第2認識部73にて対象物体2の位置及び姿勢を認識した場合、例えば、次の式(3)、式(4)を用いることで決定可能である。このとき、対象物体2からの相対位置パラメータ及び相対姿勢パラメータは、例えば第2撮像部62の光軸上に対象物体2が位置するような値をとってもよい。
【0122】
【0123】
なお、第2撮像部62の目標位置及び目標姿勢を決定する方法は、式(3)、式(4)を用いる方法に限られず、対象物体2が第2撮像部62の視野範囲における所定の範囲内に存在する第2撮像部62の目標位置及び目標姿勢を算出できる方法であればよい。
【0124】
第2撮像部62を用いた撮影処理(S11)により生成された第2画像に対象物体2が写っておらず、第2画像に基づいた認識処理(S12)において対象物体2の位置及び姿勢を認識することができていない場合には、式(3)における対象物体2の位置、及び式(4)における対象物体2の姿勢クォータニオンは不明となる。この場合には、任意の値を対象物体2の位置及び対象物体2の姿勢クォータニオンとして暫定的に決定すればよい。
【0125】
次に、コントローラ70は、第2撮像部62に関する目標位置姿勢決定処理(S221)にて決定された第2撮像部62の目標位置及び目標姿勢に基づき、第2撮像部62の位置及び姿勢を制御するためのロボット1への指令値を算出する指令値算出処理を行う(S222)。第2撮像部62に関する指令値算出は、指令値算出部72(
図2参照)にて行われる。
【0126】
その後、コントローラ70は、算出された指令値をロボット1に送り、ロボット1を駆動して第2撮像部62の位置及び姿勢を変更する位置姿勢変更処理を行う(S223)。これにより、第2撮像部62の位置及び姿勢は、第2撮像部62に関する目標位置姿勢決定処理(S221)にて決定された目標位置及び目標姿勢となり、第2撮像部62の視野範囲における所定の範囲内に対象物体2が入る。
【0127】
第2撮像部62に関する位置姿勢変更処理(S223)の後、第2撮像部62の位置及び姿勢を変更する処理(S22)が終了する。
【0128】
図9に戻り、第2撮像部62の位置及び姿勢を変更する処理(S22)の後、第2撮像部62を用いた撮影処理(S11)が再び行われる。
【0129】
本実施形態では、目標位置姿勢決定部74は、第2認識部73から得られた認識結果に基づき、第2撮像部62の目標位置及び目標姿勢を決定し、指令値算出部72は、第2認識部73から得られた認識結果に基づき、第2撮像部62の位置及び姿勢を変更するためのロボット1への指令値を算出する。そのため、第2撮像部62の位置及び姿勢は、第2認識部73により認識される対象物体2の位置及び姿勢により変化する。したがって、対象物体2の撮影に適した位置及び姿勢に第2撮像部62の位置及び姿勢を変更することができ、より正確に対象物体2の位置及び姿勢を認識することができる。これにより、対象物体2の撮影により適した第1撮像部61の目標位置及び目標姿勢を決定することができる。
【0130】
上記の実施形態において、目標位置姿勢決定部74は、第2撮像部62の目標位置及び目標姿勢を決定しているが、目標位置姿勢決定部74は、第2撮像部62の目標位置及び目標姿勢の一方を決定し、第2撮像部62の目標位置及び目標姿勢の他方は決定しないように構成されていてもよい。この場合においても、対象物体2の撮影に適した位置又は姿勢に第2撮像部62の位置又は姿勢を変更することができ、より正確に対象物体2の位置及び姿勢を認識することができる。つまり、目標位置姿勢決定部74は、第2認識部73から得られた認識結果に基づき、第2撮像部62の目標位置及び目標姿勢の少なくとも一方を決定するように構成されていればよい。
【0131】
(3.第3実施形態)
次に、本発明の第2実施形態について説明する。なお、以下では、上記の実施形態と同一の構成については同一の符号が付与される。
図11(A)は、対象物体2とロボット1との位置関係の別の例を示す上面図である。
【0132】
図11(A)に示す例では、第2撮像部62の視野範囲内に対象物体2が存在しており、第1撮像部61の目標位置及び目標姿勢が決定されている。第1撮像部61の目標位置に向けて第1撮像部61を移動させるようにロボット1の位置及び姿勢を変更することになるが、右腕リンク20は既に伸び切っているため、右腕リンク20の姿勢を変更するだけでは第1撮像部61の目標位置に第1撮像部61を移動させることができない。そのため、移動台車11を移動させて第1撮像部61の目標位置に第1撮像部61を移動させることになる。
【0133】
しかしながら、移動台車11の不図示の駆動輪は滑り等が生じるため、移動台車11の制御精度は、右腕リンク20の制御精度と比較して低い。そのため、移動台車11を移動させたとしても、移動台車11を所望の位置で停止させることができないことがある。
図11(B)は、
図11(A)に示す状態から移動台車11を移動して第1撮像部61の位置及び姿勢を変更した例を示す上面図である。
【0134】
図11(B)に示す例では、第1撮像部61が目標位置に移動しておらず、第1撮像部61の視野範囲内に対象物体2が入っていない。この場合には、第1撮像部61により対象物体2を撮影することができないため、対象物体2に対する作業をロボット1に行わせることができない。
【0135】
そこで、本実施形態に係るロボット装置300では、第1撮像部61の位置及び姿勢の変更に制御精度が相対的に低い駆動手段を用いるか否かを判定する。以下、
図12から
図14を参照して、本実施形態について詳述する。
【0136】
図12は、ロボット装置300のブロック図である。
図12に示すように、コントローラ370は、機能部として制御精度判定部375を有している。制御精度判定部375は、第1撮像部61の位置及び目標をその目標位置及び目標姿勢に変更するのに制御精度が相対的に低い駆動手段を用いる必要があるか否かを判定する。制御精度が相対的に低い駆動手段は、ロボット1のオペレータにより予め設定される。例えば、ロボット1のオペレータは、台車駆動手段51を制御精度が相対的に低い駆動手段として設定しておき、右腕リンク駆動手段53を制御精度が相対的に高い駆動手段として設定しておく。
【0137】
以下において、制御精度が相対的に高い駆動手段を「第1駆動手段」とも称し、制御精度が相対的に低い駆動手段を「第2駆動手段」とも称することがある。
【0138】
図13は、対象物体2に対する作業をロボット1に行わせる処理のゼネラルフローチャートである。同図から明らかな通り、コントローラ370は、第1撮像部61に関する目標位置姿勢決定処理(S13)の後、第1撮像部61の位置及び目標をその目標位置及び目標姿勢に変更するのに制御精度が相対的に低い駆動手段(例えば、台車駆動手段51)を用いる必要があるか否かを判定する制御精度判定処理を行う(S31)。制御精度判定処理(S31)にて、制御精度が相対的に低い駆動手段を用いる必要がないと判定した場合には(S31NO)、第1撮像部61の位置及び姿勢を制御するためのロボット1への指令値を算出する指令値算出処理を行う(S14)。制御精度が相対的に低い駆動手段を用いる必要があると判定した場合には(S31YES)、制御精度が相対的に低い駆動手段を用いてロボット1を駆動する処理を行う(S32)。
【0139】
図14は、制御精度が相対的に低い駆動手段を用いてロボット1を駆動する処理(S32)の詳細フローチャートである。同図から明らかな通り、処理が開始すると、コントローラ370は、第2画像に基づいた認識処理(S12)の認識結果に基づき、ロボット1の目標位置及び目標姿勢を決定する目標位置姿勢決定処理を行う(S321)。ロボット1の目標位置及び目標姿勢は、目標位置姿勢決定部74(
図2参照)にて決定される。
【0140】
ロボット1の目標位置及び目標姿勢は、第2認識部73にて対象物体2の位置及び姿勢を認識した場合、例えば、前述の式(3)、式(4)を用いることで決定可能である。このとき、対象物体2からの相対位置パラメータ及び相対姿勢パラメータは、ロボット1の所定の位置及び姿勢の値をとってもよい。所定の位置及び姿勢では、ロボット1は、第1撮像部61の位置及び姿勢を、制御精度が相対的に低い駆動手段(例えば台車駆動手段51)を用いることなくその目標位置及び目標姿勢に変更することができる。所定の位置及び姿勢として、対象物体2に十分に近づいた位置及び姿勢を用いてもよい。
【0141】
なお、ロボット1の目標位置及び目標姿勢を決定する方法は、式(3)、式(4)を用いる方法に限られず、第1撮像部61に関する目標位置姿勢決定処理(S13)にて決定された目標位置及び目標姿勢に制御精度が相対的に低い駆動手段(例えば台車駆動手段51)を用いることなく第1撮像部61の位置及び姿勢を変更することができるロボット1の目標位置及び目標姿勢を算出できる方法であればよい。
【0142】
次に、コントローラ370は、ロボット1に関する目標位置姿勢決定処理(S321)にて決定されたロボット1の目標位置及び目標姿勢に基づき、ロボット1の位置及び姿勢を制御するためのロボット1への指令値を算出する指令値算出処理を行う(S322)。ロボット1に関する指令値算出は、指令値算出部72(
図2参照)にて行われる。
【0143】
その後、コントローラ370は、算出された指令値をロボット1に送り、ロボット1を駆動してロボット1の位置及び姿勢を変更する位置姿勢変更処理を行う(S323)。これにより、ロボット1の位置及び姿勢は、ロボット1に関する目標位置姿勢決定処理(S321)にて決定された目標位置及び目標姿勢となる(
図11(B)参照)。
【0144】
なお、ロボット1に関する位置姿勢変更処理(S323)では、制御精度が相対的に低い駆動手段(例えば台車駆動手段51)を必ず用いることになるが、制御精度が相対的に高い駆動手段(例えば右腕リンク駆動手段53)を用いてもよいし用いなくてもよい。
図11(B)では、右腕リンク駆動手段53を用いて右腕リンク20の姿勢を変更した例が示されている。
【0145】
ロボット1に関する位置姿勢変更処理(S323)の後、制御精度が相対的に低い駆動手段を用いてロボット1を駆動する処理(S32)が終了する。
【0146】
図13に戻り、制御精度が相対的に低い駆動手段を用いてロボット1を駆動する処理(S32)の後、第2撮像部62を用いた撮影処理(S11)が再び行われる。
【0147】
本実施形態では、第1撮像部61の位置及び姿勢を第1撮像部61の目標位置及び目標姿勢に変更するのに制御精度が相対的に低い駆動手段を用いる必要があるときには、目標位置姿勢決定部74は、第2認識部73から得られた認識結果に基づき、ロボット1の目標位置及び目標姿勢を決定し、指令値算出部72は、目標位置姿勢決定部74にて決定されたロボット1の目標位置及び目標姿勢に基づき、ロボット1の位置及び姿勢を制御するためのロボット1への指令値を算出する。そのため、ロボット1の位置及び姿勢は、第2認識部73から得られた認識結果に基づき決定された目標位置及び目標姿勢に変更される。したがって、第1撮像部61の目標位置及び目標姿勢に制御精度が相対的に低い駆動手段を用いることなく第1撮像部61の位置及び姿勢を変更することができるようにロボット1の位置及び姿勢を変更することができる。これにより、制御精度が相対的に高い駆動手段のみを用いて第1撮像部61の位置及び姿勢をその目標位置及び目標姿勢に変更することができ、第1撮像部61により対象物体2を撮影して対象物体2に対する作業をロボット1に行わせることができる。
【0148】
上記の実施形態において、制御精度判定部375は、第1撮像部61の位置及び目標を第1撮像部61の目標位置及び目標姿勢に変更するのに制御精度が相対的に低い駆動手段を用いる必要があるかを判定している。本発明は、この形態に限られず、制御精度判定部375は、第1撮像部61の位置を第1撮像部61の目標位置に変更するのに制御精度が相対的に低い駆動手段を用いる必要があるかを判定するように構成されていてもよいし、第1撮像部61の姿勢を第1撮像部61の目標姿勢に変更するのに制御精度が相対的に低い駆動手段を用いる必要があるかを判定するように構成されていてもよい。つまり、制御精度判定部375は、第1撮像部61の位置及び目標の少なくとも一方を第1撮像部61の目標位置及び目標姿勢の少なくとも一方に変更するのに制御精度が相対的に低い駆動手段を用いる必要があるかを判定するように構成されていればよい。
【0149】
(4.第4実施形態)
次に、本発明の第4実施形態について説明する。なお、以下では、上記の実施形態と同一の構成については同一の符号が付与される。
図15(A)は、対象物体2とロボット1との位置関係のさらに別の例を示す上面図である。
図15(B)は、
図15(A)に示される状態で第2撮像部62により生成される第2画像の一例である。
【0150】
図15(A)に示す例では、左腕リンク30が第2撮像部62の視野範囲内に位置している。そのため、第2撮像部62により生成される第2画像には、
図15(B)に示すように、左腕リンク30が写ることになる。この場合において、第2撮像部62と対象物体2との間に左腕リンク30が位置しているときには、対象物体2が左腕リンク30により隠れることになる。なお、
図15(B)では、理解を容易にするために対象物体2を破線で図示しているが、実際には、対象物体2は第2画像に写らない。
【0151】
図15(A)に示す場合には、第2撮像部62を用いて対象物体2を撮影することができないため、第2認識部73にて対象物体2の位置及び姿勢を認識することができない。その結果、目標位置姿勢決定部74にて第1撮像部61の目標位置及び目標姿勢を適切に決定することができない。
【0152】
そこで、本実施形態では、第2撮像部62を用いて対象物体2を撮影するときに左腕リンク30が第2撮像部62の視野範囲に入らないようにする機構をロボット装置400に設けている。以下、
図16及び
図17を参照して、本実施形態について詳述する。
【0153】
図16は、ロボット装置400のブロック図である。
図16に示すように、コントローラ470は、機能部としてリンク入り込み判定部476を有している。リンク入り込み判定部476は、左腕リンク30が第2撮像部62の視野範囲内に入り込むか否かを判定する。左腕リンク30が第2撮像部62の視野範囲内に入り込むか否かは、例えば、左腕リンク30上の任意の代表点座標と、第2撮像部62の垂直画角及び水平画角と、を用いて判定することができる。
【0154】
図17は、左腕リンク30が第2撮像部62の視野範囲内に入り込むか否かの判定方法の一例を説明するための模式図である。
図17(A)は、第2撮像部62の光軸(Z軸)と直交する水平軸(X軸)に沿って第2撮像部62を見た図であり、
図17(B)は、第2撮像部62の光軸及び水平軸と直交する鉛直軸(Y軸)に沿って第2撮像部62を見た図である。
【0155】
次の式(5)、式(6)のいずれかを満たすときに、左腕リンク30が第2撮像部62の視野範囲内に入り込むと判定することができる。
【0156】
【0157】
左腕リンク30が第2撮像部62の視野範囲内に入り込むとリンク入り込み判定部476が判定したときには、指令値算出部72は、左腕リンク30が第2撮像部62の視野範囲外に移動するように左腕リンク30の姿勢を変更するためのロボット1への指令値を算出する。具体的には、指令値算出部72は、上記の式(5)、式(6)のいずれも満たさない代表点座標を算出し、左腕リンク30上の代表点が算出された代表点座標に移動するように左腕リンク30の姿勢を変更するための指令値を算出する。
【0158】
本実施形態では、第2撮像部62の視野範囲内に左腕リンク30が入り込んでいるとリンク入り込み判定部476が判定したときには、指令値算出部72は、左腕リンク30の姿勢を変更するためのロボット1への指令値を算出する。そのため、左腕リンク30を、第2撮像部62の視野範囲外に移動させるように左腕リンク30の姿勢を変更することができる。したがって、対象物体2が左腕リンク30に隠れることを防止することができ、第2撮像部62を用いて対象物体2をより確実に撮影することができる。
【0159】
なお、上記実施形態では、左腕リンク30が第2撮像部62の視野範囲内に入り込んでいるかを判定し、左腕リンク30を第2撮像部62の視野範囲外に移動させる場合について説明した。本発明では、右腕リンク20が第2撮像部62の視野範囲内に入り込んでいるかを判定し、右腕リンク20を第2撮像部62の視野範囲外に移動させてもよい。
【0160】
(5.第5実施形態)
次に、本発明の第5実施形態について説明する。なお、以下では、上記の実施形態と同一の構成については同一の符号が付与される。本実施形態に係るロボット装置500の側面図及び上面図は、
図1に示されるロボット装置100の側面図及び上面図とほぼ同じであるため、ここでは、それらの図示を省略する。
【0161】
第2撮像部62により生成された第2画像に基づき第2認識部73が対象物体2およびその周囲の物体の位置及び姿勢を認識するときに、第2画像の全領域から対象物体2等の位置及び姿勢を認識しようとすると、認識に時間がかかるおそれがある。
【0162】
そこで、本実施形態では、第2画像に基づき第2認識部73が対象物体2およびその周囲の物体の位置及び姿勢を認識するときに、第2画像の一部の範囲から対象物体2等の位置及び姿勢を認識する。以下、
図18を参照して、本実施形態について詳述する。
【0163】
図18は、本実施形態に係るロボット装置500のブロック図である。
図18に示すように、ロボット装置500は、ロボット1のオペレータに画像を表示する表示部581を更に備えている。表示部581は、例えばディスプレイであり、遠隔地に設置される。
【0164】
図19(A)は、表示部581に表示される画像の一例である。同図から明らかなように、表示部581は、第2撮像部62により生成された第2画像を表示する。また、表示部581は、予め用意された対象物体2の参考画像を表示する。参考画像は、第1認識部71が対象物体2の位置及び姿勢を認識しやすい画像であることが好ましい。
【0165】
オペレータは、表示部581に表示された第2画像を見ながら、第2画像のうちの一部の範囲を指定する。
図19(B)は、オペレータが第2画像のうちの一部の範囲を指定したときの表示部581に表示される画像の例を示している。
図19(B)において、ドットが付されている領域は、オペレータにより指定されていない範囲を示す。オペレータによる範囲の指定は、例えばマウスなどの入力装置582(
図18参照)を用いて行われる。
【0166】
図18に示すように、コントローラ570は、機能部として認識範囲設定部577を更に備えている。認識範囲設定部577は、オペレータによる入力装置582の操作に基づいて、第2画像上において対象物体2が存在する範囲を設定する。第2認識部73は、第2撮像部62により生成された第2画像のうち認識範囲設定部577により設定された範囲から、対象物体2及びその周囲の物体の位置及び姿勢を認識する。
【0167】
本実施形態では、第2画像のうちオペレータにより指定された範囲から、対象物体2及びその周囲の物体の位置及び姿勢を認識する。そのため、第2画像の全領域から対象物体2等の位置及び姿勢を認識する場合と比較して、認識にかかる時間を短縮することができる。したがって、ロボット1が対象物体2に対して行う作業に要する時間を短縮することができる。また、認識範囲を絞ることで認識したい対象物体2等以外の物体を誤認識することを避けることができる。したがって、ロボット1がより確実に対象物体2に対する作業を行うことができる。
【0168】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。また、上記の実施形態は、矛盾が生じない範囲で適宜組み合わせ可能である。
【0169】
上記の各実施形態では、ロボット1は、略人型の形状を有しているが、本発明は、人型ロボットに限られない。
【0170】
例えば、本発明は、
図20に示すように、台座611に右腕リンク20が支持されたアーム型ロボット601にも適用可能である。
図20に示す例において、第1撮像部61は例えばリンク部に設けられ、第2撮像部62は例えばリンク部に設けられる。
【0171】
また、本発明は、
図21に示すように、移動台車711の上にリンクとしてのグリッパ720が搭載されたロボット701にも適用可能である。
図21に示す例において、第1撮像部61は例えばグリッパ720に設けられ、第2撮像部62は例えば移動台車711に設けられる。
【産業上の利用可能性】
【0172】
本発明は、少なくともロボット等を製造する産業において利用可能である。
【符号の説明】
【0173】
100、101、103 ロボット装置
1 ロボット
2、2a、2b 対象物体
20 右腕リンク
30 左腕リンク
40 頭部リンク
51 台車駆動手段
53 右腕リンク駆動手段
61、61a、61b 第1撮像部
62 第2撮像部
71 第1認識部
72 指令値算出部
73 第2認識部
74 目標位置姿勢決定部
200 ロボット装置
300 ロボット装置
375 制御精度判定部
400 ロボット装置
476 リンク入り込み判定部
500 ロボット装置
577 認識範囲設定部
582 入力装置
601 アーム型ロボット
701 ロボット