IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

特開2024-157810ロボット制御装置及びロボット制御方法
<>
  • 特開-ロボット制御装置及びロボット制御方法 図1
  • 特開-ロボット制御装置及びロボット制御方法 図2
  • 特開-ロボット制御装置及びロボット制御方法 図3
  • 特開-ロボット制御装置及びロボット制御方法 図4
  • 特開-ロボット制御装置及びロボット制御方法 図5
  • 特開-ロボット制御装置及びロボット制御方法 図6
  • 特開-ロボット制御装置及びロボット制御方法 図7
  • 特開-ロボット制御装置及びロボット制御方法 図8
  • 特開-ロボット制御装置及びロボット制御方法 図9
  • 特開-ロボット制御装置及びロボット制御方法 図10
  • 特開-ロボット制御装置及びロボット制御方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024157810
(43)【公開日】2024-11-08
(54)【発明の名称】ロボット制御装置及びロボット制御方法
(51)【国際特許分類】
   B25J 13/08 20060101AFI20241031BHJP
【FI】
B25J13/08 A
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023072401
(22)【出願日】2023-04-26
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000925
【氏名又は名称】弁理士法人信友国際特許事務所
(72)【発明者】
【氏名】梁 宰誠
(72)【発明者】
【氏名】萩原 大佑
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS04
3C707KS03
3C707KS04
3C707KS07
3C707KS09
3C707KS36
3C707KT03
3C707KT06
3C707KT11
3C707LV07
(57)【要約】
【課題】物品の形状が一定でない場合でも、ロボットがプレイスする高さを正確に推定できるようにする。
【解決手段】物品をロボットがピックする前の画像と、物品をロボットがピックした後の画像を取得し、取得したピックする前の画像から生成した点群画像から、把持対象物品の第1の面を認識し、取得したピックした後の画像から生成した点群画像から、第1の面が所定の方向に投影された領域の部分点群を取得する画像処理部と、画像処理部で得た部分点群からピック前後の距離変化から第1の距離を算出するピック状態算出部と、第1の距離に基づきロボットが物品をプレイスする高さを算出する高さ算出部とを備える。
【選択図】図7
【特許請求の範囲】
【請求項1】
所定の物品をピック位置でピックして、プレイス位置でプレイスするロボットを制御するロボット制御装置であって、
前記物品を前記ロボットがピックする前の画像と、前記物品を前記ロボットがピックした後の画像を取得し、取得したピックする前の画像から生成した点群画像から、把持対象物品の第1の面を認識し、取得したピックした後の画像から生成した点群画像から、前記第1の面が所定の方向に投影された領域の部分点群を取得する画像処理部と、
前記画像処理部で得た前記部分点群からピック前後の距離変化から第1の距離を算出するピック状態算出部と、
前記第1の距離に基づき前記ロボットが前記物品をプレイスする高さを算出する高さ算出部と、を備える
ロボット制御装置。
【請求項2】
前記ピック状態算出部は、前記部分点群を所定のサイズの格子状に分割し、分割した各格子に含まれる点群から、前記第1の面に最も近い点を近傍点として抽出して、前記第1の距離を算出する
請求項1に記載のロボット制御装置。
【請求項3】
前記高さ算出部は、各近傍点と前記第1の面との距離の最大値と最小値から所定の区分のヒストグラムを作成し、
前記ヒストグラムの所定の順位の階級値を、前記第1の距離として算出する
請求項2に記載のロボット制御装置。
【請求項4】
前記ヒストグラムの最大値に近い区間の値が他の区間と比べて相対的に大きいかを出力する
請求項3に記載のロボット制御装置。
【請求項5】
前記高さ算出部は、前記ヒストグラムの最大値に近い区間の値が他の区間と比べて相対的に大きくない場合に、前記部分点群を所定のサイズの格子状に分割した各格子に含まれる点群から、前記第1の面に最も近い点と前記第1の面との距離を検出し、
前記各格子に対して検出した各距離の平均値に基づき、前記ロボットが前記物品をプレイスする位置を算出する
請求項4に記載のロボット制御装置。
【請求項6】
前記高さ算出部は、前記ヒストグラムの最大値に近い区間の値が他の区間と比べて相対的に大きい場合に、前記部分点群を所定のサイズの格子状に分割する際の分割数を下げ、前記ヒストグラムの最大値に近い区間の値が他の区間と比べて相対的に大きくない場合に、前記部分点群を所定のサイズの格子状に分割する際の分割数を下げる
請求項4に記載のロボット制御装置。
【請求項7】
前記高さ算出部は、前記部分点群の中の前記第1の面に最も近い近傍点と前記第1の面との距離、又は前記部分点群と前記第1の面との距離の平均距離を検出し、
前記近傍点と前記第1の面との距離又は前記平均距離に基づき前記ロボットが前記物品をプレイスする高さを算出する
請求項1に記載のロボット制御装置。
【請求項8】
所定の物品をピック位置でピックして、プレイス位置でプレイスするロボットを制御するロボット制御方法であって、
前記物品を前記ロボットがピックする前の画像と、前記物品を前記ロボットがピックした後の画像を取得し、取得したピックする前の画像から生成した点群画像から、把持対象物品の第1の面を認識し、取得したピックした後の画像から生成した点群画像から、前記第1の面が所定の方向に投影された領域の部分点群を取得する画像処理と、
前記画像処理により得た前記部分点群からピック前後の距離変化から第1の距離を算出するピック状態算出処理と、
前記第1の距離に基づき前記ロボットが前記物品をプレイスする高さを算出する高さ算出処理と、を含む
ロボット制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット制御装置及びロボット制御方法に関する。
【背景技術】
【0002】
近年、ロボットによる物品の搬送作業が様々な分野で行われている。例えば、医療検査室などの検体の仕分け作業に、ロボットを導入することが行われている。この場合、ロボットアームは検体を把持するためのハンドを有する。ロボットアームのハンドは、バラ積み状態の物品(試験管など)を把持し、指定場所にセットする作業を高い確実性でかつ高スループットで実行できることが求められる。特に、多数の物品がバラ積み状態で重なって置かれている場合、1つ1つの物品の高さは異なり、ロボットは把持する物品の高さを正確に検知しないと、把持することができない。
【0003】
特許文献1には、移載対象ワークの高さを正確に計測することができる移載対象ワーク高さ計測システムにおいて、直方体形状の物品の高さを推定する技術が記載されている。すなわち、特許文献1には、荷積みされた複数のワークの三次元点群情報を取得するとともに、移載対象ワークを仮移動させた後の荷積みされた複数のワークの三次元点群情報を取得する撮像部と、この撮像部で取得された三次元点群情報からワークの高さを計測する際に必要な当該ワークの平面を取得する際に用いられる平面フィッティングの対象となる三次元点群情報を選別する箱の高さ推定部とを有する技術が記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2021-36204号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
直方体形状の物品の高さを推定する既存の技術では、物品として箱物が対象となっており、把持後の点群から下・横側の平面を推定して、これを元に直方体形状の高さを推定している。しかしながら、推定対象となる物品が袋物やパウチ包装された物品の場合、物品の形が変形して一定ではないため、下側の平面が一意に決まらない。したがって、変形する可能性がある物品が積み重なっている状況では、物品の高さを正しく推定できないという問題がある。
【0006】
本発明は、かかる点に鑑み、物品の形状が一定でない場合でも、ロボットがプレイスする高さを正確に推定することができるロボット制御装置及びロボット制御方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
本願は、上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、本発明のロボット制御装置は、所定の物品をピック位置でピックして、プレイス位置でプレイスするロボットを制御するロボット制御装置であって、物品をロボットがピックする前の画像と、物品をロボットがピックした後の画像を取得し、取得したピックする前の画像から生成した点群画像から、把持対象物品の第1の面を認識し、取得したピックした後の画像から生成した点群画像から、第1の面が所定の方向に投影された領域の部分点群を取得する画像処理部と、画像処理部で得た部分点群からピック前後の距離変化から第1の距離を算出するピック状態算出部と、第1の距離に基づきロボットが物品をプレイスする高さを算出する高さ算出部と、を備える。
【発明の効果】
【0008】
本発明によれば、ピックしてプレイスする物品がバラ積みや斜めになった状況で積まれていても、ロボットのアームの手先の高さ位置を正しく推定できるようになる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0009】
図1】本発明の一実施の形態例によるシステム全体の例を示す構成図である。
図2】本発明の一実施の形態例によるロボット制御装置の構成例を示すブロック図である。
図3】本発明の一実施の形態例によるロボット制御装置の処理例を示すフローチャートである。
図4】本発明の一実施の形態例による対象物のピック・プレイス過程(ピックする前)の一例を示す図である。
図5】本発明の一実施の形態例による対象物のピック・プレイス過程(ピックした後)の一例を示す図である。
図6】本発明の一実施の形態例による対象物のプレイス高さの例を示す図である。
図7】本発明の一実施の形態例による対象物の適切なプレイス高さを推定する処理例を示す図である。
図8】本発明の一実施の形態例によるヒストグラムの例を示す図である。
図9】本発明の一実施の形態例によるヒストグラムの解析処理の例を示すフローチャートである。
図10】本発明の一実施の形態例による対象物の高さ推定の別の例(その1)を図である。
図11】本発明の一実施の形態例による対象物の高さ推定の別の例(その2)を図である。
【発明を実施するための形態】
【0010】
以下、本発明の一実施の形態例(以下、「本例」と称する)によるロボット制御装置及びロボット制御方法を、添付図面を参照して説明する。
【0011】
[システム構成]
図1は、本例のロボット制御装置200により制御されるロボット100の全体構成例を示す。
図1に示すように、本例のロボット100は、把持装置として構成され、対象物103をピックしてプレイスするマニピュレータとしてのアーム101を備えている。そして、アーム101の先端には、対象物103を吸着するハンド102が設置され、アーム101の近傍には、3次元点群情報取得装置としてのカメラ104が設置されている。
図1の例では、ピックコンテナ105の中にある対象物103をピックし、ピックした対象物103をプレイスコンテナ106に適切な高さでプレイスする。カメラ104は、ピックコンテナ105の中を真上から撮影するようにしている。
【0012】
カメラ(3次元点群情報取得装置)104は、作業空間の全体又は一部の領域から、対象物の状態を示す物体情報を取得する。カメラ104としては、撮影した画像内の各箇所までの距離が取得可能なものが利用される。カメラ104が取得する物体情報には、対象物の大きさ、形状、姿勢、及び配置等に関するデータが含まれる。
なお、ロボット100は、同一種類の物体情報を取得する物体情報取得装置を複数有してもよいし、また、異なる種類の物体情報を取得する物体情報取得装置を複数有してもよい。
【0013】
アーム101は、リンク及びジョイントから構成される。アーム101は、ジョイントを支点にリンクを所定の方向に移動させるための不図示の駆動装置を有する。
【0014】
ハンド102は、対象物107を吸着するための吸着棒などを有する。なお、ここでは吸着により物体を保持する例としたが、指付きのハンドなどで物体を把持するようにしてもよい。この場合、ハンドは、力覚センサ及び触覚センサ等を有して、適切な力で対象物107を保持するようにしてもよい。
ハンド102とアーム101は同一種類の装置を複数有するようにしてもよい。
【0015】
ロボットコントローラ110は、ロボット制御装置200と通信を行って、ロボット制御装置200からの指示を受信することで、ハンド102による対象物103のピック及びプレイスを実行する。
【0016】
[ロボット制御装置の構成]
図2は、ロボット制御装置200の構成例を示す。
ロボット制御装置200は、例えばコンピュータとして構成され、プロセッサ201、主記憶装置202、副記憶装置203、ネットワークインタフェース204、及び入出力インタフェース205を有する。これらの各要素201~205は、内部バスを介して互いに接続される。
【0017】
プロセッサ201は、主記憶装置202に格納されるプログラムを実行する。プロセッサ201がプログラムにしたがって処理を実行することによって、特定の機能を実現する機能部(モジュール)が、主記憶装置202に構成される。例えば、図2に示すように、画像処理部211、ピック状態算出部212、高さ算出部213などが構成される。
これらの各機能部(モジュール)211、212、213が行う処理については後述する。
【0018】
主記憶装置202は、DRAM(Dynamic Random Access Memory)等の記憶装置であり、プロセッサが実行するプログラム及びプログラムが使用する情報を格納する。また、主記憶装置202は、プログラムが使用するワークエリアとしても用いられる。
【0019】
なお、プログラム及び情報は、副記憶装置203等、主記憶装置202以外のデバイス又は装置に格納されてもよい。この場合、プロセッサ201が、デバイス又は装置からプログラム及び情報を読み出し、主記憶装置202にロードする。
副記憶装置203は、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の記憶装置であり、データを永続的に格納する。
【0020】
ネットワークインタフェース204は、ロボット制御装置200に接続されたネットワークを介して、ロボット100等の外部装置と通信するためのインタフェースである。このネットワークインタフェース204により、ロボット100への指令の送信や、カメラ104の受信などが実行される。
【0021】
入出力インタフェース205は、ロボット制御装置200を入力装置及び出力装置等に接続するためのインタフェースである。なお、入力装置は、キーボード、マウス、及びタッチパネル等であり、出力装置は、ディスプレイ及びプリンタ等である。
【0022】
[ロボット制御装置による制御処理]
図3は、本例のロボット制御装置200の制御により、アーム101の先端のハンド102が対象物をピック及びプレイスする際の処理例を示すフローチャートである。
まず、ロボット制御装置200の画像処理部211は、3次元点群情報取得装置であるカメラ104からピック前の作業空間に存在する対象の点群情報を取得する。そして、画像処理部211は、取得した点群からピック対象の物品の上側面を推定する(ステップS11)。例えば図4に示すように、ピックコンテナ105の中に配置された複数の物品411,412,413の中の物品411がピック対象の対象物であるとき、ロボット制御装置200の画像処理部211は、点群情報から上側面(第1の面)400を推定する。
【0023】
ここで、カメラ104からロボット制御装置200が点群情報を取得する範囲は、ロボット制御装置200を操作するユーザが決定してもよい。あるいは、ロボット100のロボットコントローラ110が点群情報を取得する範囲を決定してもよい。
【0024】
次に、ロボット制御装置200は、推定したピック対象の物体情報に基づいて、吸着するための位置(ピック位置)及びプレイスするための移動位置を演算する。また、ロボット制御装置200は、移動位置への軌道計画を生成し、対象物をピック後に移動させる(ステップS12)。
ここで、ステップS12で生成される軌道計画は、ハンドを把持位置から移動位置まで移動させるためのアーム101とハンド102の移動軌道に関する計画を策定したものである。
【0025】
そして、ロボット制御装置200の画像処理部211は、物品をピックした後の点群情報をカメラ104から取得し、ピック前に推定したピック対象物品の上側面をピック後の点群に投影後、その領域内の部分点群を取得する(ステップS13)。
例えば、図5に示すように、ハンド102が物品411をピックした状態で、画像処理部211は、ピック前に推定したピック対象物品411があった箇所(図4)の上側面から、その上側面と直交する方向のピック後の点群にピック対象物品の上側面を投影し、その後、その領域401の内部の部分点群を取得する。
【0026】
画像処理部211がこの領域401の内部の部分点群を取得する際には、分割した各格子に含まれる点群から、上側面400に最も近い点が近傍点として抽出される。
なお、図5の例では、物品411がプレイスコンテナ106まで移動している状態を示すが、ピック後の部分点群が取得できるのであれば、ピック前に領域401の内部の点群情報を取得してもよい。
【0027】
その後、ロボット制御装置200のピック状態算出部212は、部分点群から、所定の手順により推定した上側面とピックコンテナ105内の物品412,413との第1の距離402を算出する(ステップS14)。ここでは、ピック状態算出部212で部分点群からピック前後の距離変化から第1の距離を算出する処理が行われ、ステップS14における第1の距離402を算出する手順の具体的な例については後述する。
【0028】
さらに、ロボット制御装置200の高さ算出部213は、ステップS14における演算で求めた距離に基づき、適切なプレイス高さを演算し、該当するプレイス高さの制御情報を生成する(ステップS15)。例えば、図5に示すように、高さ算出部213は、対象物品411をプレイスコンテナ106でプレイスする高さ403を算出し、その高さでハンド102が物品411をプレイスする制御情報を生成する。
そして、ハンド102は、このようにしてロボット制御装置200で生成された制御情報に基づいて、対象物品をプレイスする(ステップS16)。
【0029】
図6は、プレイス高さが適切な場合と適切でない場合を示す図である。
例えば、図6の左側に示すように、ハンド102でピックした物品501は、適切でない高さ、つまり物品501の高さよりも高い位置で手放すと、落下衝撃を受け好ましくない。
また、図6の中央に示すように、ハンド102でピックした物品501を、その高さよりも低い位置でプレイスすると、物品501を潰す可能性がある。
【0030】
一方、図6の右側に示すように、高さ算出部213でプレイスする高さが正しく算出されることで、ハンド102でピックした物品503は、落下衝撃や潰されることなく、プレイスコンテナ106に納めることができる。
【0031】
[プレイス高さを推定する処理]
図7は、ロボット制御装置200が対象物の適切なプレイス高さを推定する処理を説明するための図である。この図7の例では、図7の左側に示すように、ピックコンテナ105には、複数の物品611~614が重ねて載せられており、ここでは若干傾斜した一番上の物品611をピックするものとする。
このとき、ロボット制御装置200は、ピック前の点群からピック対象の物品611の上側面400を推定し、さらにピック後の点群の上側面400と同じ箇所をカメラ104で撮像する。
【0032】
図7の右側は、上側面400の点群を示す。図7の右上は側面から点群601を見た図であり、右下は上面から点群601を見た図である。
この図7に示す点群601は、上側面400の領域603を、任意の数(N×N:Nは任意の整数)に分割し、その分割した各領域内の点の集合である。
【0033】
ここでは、分割した各領域内で上側面400と最も近い点群(接触点)601を選択し、ピック状態算出部212は、その点と上側面400との距離602を計算する。そして、ピック状態算出部212は、計算した各距離からピックした物品611の距離(高さ)を推定し、その推定した高さに基づいて、高さ算出部213が物品611の最適なプレイス高さを推定する。計算した各距離から、物品611の距離(高さ)を推定する処理方法としては、例えばヒストグラムを利用する。
【0034】
[ヒストグラムによりプレイス高さを推定する処理]
図8は、点群601の各点と上側面400との距離602のヒストグラムを示す。図8のヒストグラムにおいて、横軸700は、値1から値10までの10個のBin(距離値)を示し、縦軸701は、そのBinになる点の数を並べたものである。値1から値10は、説明を簡単にするために仮に設定した例である。
【0035】
まず、ピック状態算出部212は、各領域で求めた距離の最小値及び最大値を利用して、複数の物品の距離値(Bin)と、その距離のヒストグラムを生成する。
つまり、カメラ104からピック前の上側面400までの距離が最少距離になり、カメラ104からピック後の同じ箇所の距離が最大距離になる。そして、ピック状態算出部212は、(最大距離-最小距離)を算出することで、ピックした物体の各領域の高さを得る(ピック状態算出処理)。ピック状態算出部212は、この算出した距離を領域ごとの区間の数で割って平均化し、Binのサイズとしている。
【0036】
すなわち、Binのサイズは「(最大距離-最小距離)/区間の数」となる。例えば、区間の数が10個であるとき、(最大距離-最小距離)/10がBinのサイズとなる。なお、ここでの区間の数(Binの数)は状況に合わせて変更してもよい。次に、ピック状態算出部212は、各領域の高さのヒストグラムを作成し、高さ算出部213が作成したヒストグラムよりプレイス高さを推定する(高さ算出処理)。
【0037】
ピック状態算出部212は、図8に示すように、各領域の点で求めた距離情報を各Binに距離別に入れて集計する。ただし、最大距離に近いBin(例えば図8の値9及び値10のBin702)は、ピック対象物品の下側の物品の隙間を認識した可能性もあるので無視される。つまり、ピック状態算出部212は、ヒストグラム700内で、最大値に近い区間のBinの値が、他の区間と比べて相対的に大きいか否かを判断している。この判断で、他の区間と比べて相対的に大きい場合には、ピック状態算出部212は、ピック対象物品の下側の物品の隙間を認識した可能性があるため、以下に説明する推定の候補から除外する。
【0038】
その上で、ピック状態算出部212は、最も大きいBin(例えば図8の値5のBin704)と、2番目に大きいBin(例えば図8の値2のBin703)を探索する。そして、ピック状態算出部212は、そのBin704とBin703の距離の中で、最も距離値が大きいBinの距離(図8の例ではBin704の距離)を、ピック対象物品の距離(高さ)とする。このピック対象物品の距離に基づいて、高さ算出部213が適切なロボットの手先プレイスの高さを設定する。
【0039】
図9は、この図8のヒストグラムを使って物品の最適なプレイス高さを推定する処理の流れを示すフローチャートである。
まず、ピック状態算出部212は、領域内の点群の距離情報Binを取得し、図8に示すヒストグラムを生成する(ステップS21)。
次に、ピック状態算出部212は、ヒストグラムの最大値に近い区間の値が他の区間と比べて相対的に大きい場合に、生成したヒストグラムの中で、相対的に大きい最大値に近い区間の情報Binを無視する(ステップS22)。
【0040】
そして、ピック状態算出部212は、最もヒストグラムの中で最も高く発生した距離のBinと、2番目の距離のBinを探索する(ステップS23)。
さらに、ピック状態算出部212は、ステップS23で探索した2つの距離の内で、距離値が大きい方のBinを、対象物品の距離に決定する(ステップS24)。ここで、ヒストグラムの中で1番目と2番目に多く発生した距離情報を取得するのは一例であり、例えば1番多く発生した距離を、対象物品の距離に決定してもよい。あるいは、1番目から所定番目(3番目など)に多く発生した距離情報を取得して、その中で距離値が一番大きいものとしてもよい。
【0041】
以上説明したように、本例のロボット制御装置200によると、ピック対象の物品が様々な形態(箱物、袋物、パウチなど)で、かつバラ積みや斜めに積まれた状況であっても、正しく適切なロボットの手先プレイス高さを推定することができる。
したがって、プレイス高さが適切でないことで落下衝撃を受けたり、物品を潰すことがなく、適切な物品の搬送作業を行うことができる。
【0042】
[ヒストグラムからプレイス高さを推定する他の処理]
なお、図8及び図9で説明したヒストグラムによりプレイス高さを推定する処理は、好適な一例であり、その他の処理でヒストグラムからプレイス高さを推定してもよい。
例えば、図8に示すヒストグラムの中で、Binの最大値に近い区間の値が、他の区間と比べて相対的に大きい場合には、高さ算出部213は、ピックした物品を支えている部分が密ではなく空洞などがある場合と判断する。この空洞などと判断した場合、高さ算出部213は、該当する区間を除外して、プレイス高さを算出する。
【0043】
一方、Binの最大値に近い区間の値が、他の区間と比べて相対的に大きくない場合には、高さ算出部213は、密な場合と判断し、その区間を含めた上で、図9のフローチャートで説明した手順でプレイス高さを推定する。
これにより、物品が積まれた状況で下側との物品の間に空洞がある場合でも、適切にプレイス高さを推定できるようになる。
【0044】
また、高さ算出部213が対象物品との距離を算出する際に、ヒストグラムの最大値に近い区間の値が、他の区間と比べて相対的に大きい場合には、図7に示す部分点群を所定のサイズの格子状に分割する際に、その分割数を下げるようにする。また、ヒストグラムの最大値に近い区間の値が、他の区間と比べて相対的に大きくない場合には、高さ算出部213が対象物品との距離を算出する際に、図7に示した部分点群を所定のサイズの格子状に分割する際の分割数を上げるようにする。
このように分割数を変化させることで、高さ算出部213は、実際の物体の状態に合わせた適切なプレイス高さの推定が可能になり、高さ推定精度を上げることができる。
【0045】
また、ピックする物品が箱物のように変形しない物品である場合には、図10に示すように、図7に示した部分点群から推定したピック対象の物品811の上側面に最も近い1つの点を近傍点800として抽出してもよい。図10の場合には、物品811は、別の物品812との接触で傾斜して配置されている。
これにより、高さ算出部213は、抽出した近傍点800と推定面との距離801に基づき、ロボットが物品をプレイスするためのアーム101の先端のハンド102の高さ位置を推定することができる。このように、変形しない物品の場合に、高さ算出部213はより簡単な演算でプレイス高さを正しく推定することができる。
【0046】
また、ピックする物品が箱物のように変形しない物品であって、かつ平置きの場合には、図11に示すように、高さ算出部213は、推定したピック対象の物品911の上側面との距離の平均値900を検出する。そして、高さ算出部213は、検出した平均距離に基づき、ロボットが物品をプレイスするためのアーム101の先端のハンド102の高さ位置を推定する。このように、変形しない物品で平置きの場合に、高さ算出部213は、より簡単な演算でプレイス高さを正しく推定することができる。
【0047】
[変形例]
なお、ここまで説明した実施の形態例は、本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、上述した実施の形態例で説明した構成や処理は、各種変形や変更が可能である。
例えば、上述した実施の形態例では、ロボットは、アーム101の先端のハンド102で物品を吸着してピックする構成とした。これに対して、指付きのハンドなどで物体を把持するロボットに適用してもよい。
【0048】
さらに、アーム101やハンド102の形状についても一例を示したものであり、アームやハンドとは別の形状で物体をピック及びプレイスするロボットに適用してもよい。
また、図7に示す領域の分割数や点群の数は、一例を示したものであり、本発明は図示のものに限定されない。
また、上述した実施の形態例では、カメラ104で撮影した画像から距離を取得するようにしたが、カメラ以外の計測機器を、3次元点群情報取得装置として使用してもよい。
【0049】
また、上述した実施の形態例では、ロボット制御装置200は、図2に示す構成のコンピュータが、実装されたプログラムに基づいて演算処理を行う構成としたのは一例であり、その他の構成としてもよい。例えば、ロボット制御装置200の一部又は全部を、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)などの専用のハードウェアによって実現してもよい。
【0050】
また、ロボット制御装置200が、実装されたプログラムに基づいて演算処理を行う構成とした場合のプログラムは、主記憶装置202又は副記憶装置203に用意する他に、外部のメモリ、ICカード、SDカード、光ディスク等の記録媒体に置いて、ロボット制御装置200に転送してもよい。
【0051】
また、図2の構成図では、制御線や情報線は説明上必要と考えられるものだけを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。また、図3及び図9に示すフローチャートについても、処理結果が同じであれば、処理順序を変更したり、複数の処理を同時に実行したりしてもよい。
【符号の説明】
【0052】
100…ロボット、101…アーム、102…ハンド、103…対象物、104…カメラ(3次元点群情報取得装置)、105…ピックコンテナ、106…プレイスコンテナ、110…ロボットコントローラ、200…ロボット制御装置、201…プロセッサ、202…主記憶装置、203…副記憶装置、204…ネットワークインタフェース、205…入出力インタフェース、211…画像処理部、212…ピック状態算出部、213…高さ算出部、400…上側面、411…対象物品
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11