(57)【要約】【課題】搬送されるワークを迅速にピッキングすることが可能なロボットの制御技術を提供する。【解決手段】ロボット制御装置３００は、ワーク姿勢算出部３１０と、到達予測部３２０と、ロボット姿勢算出部３３０と、軌跡データ生成部３４０とを備えている。到達予測部３２０は、 搬送装置２００などから供給される搬送速度情報Ｉｖｔや画像取得装置４１０から供給されるセンシング情報Ｉｓｅに基づき、搬送装置２００によって搬送されるワークＷが、ピッキング装置１２０によってピッキングされ得るピッキング予測位置などを求める。【選択図】図３
2019025618.tif 000002
【特許請求の範囲】
【請求項１】
搬送装置によって搬送されるワークをピッキングするロボットを制御するためのロボット制御装置であって、
計測装置から出力される前記ワークのセンシング情報に基づき、前記ワークの姿勢を算出するワーク姿勢算出部と、
前記ワークのセンシング情報及び前記搬送装置の搬送速度に基づき、搬送中の前記ワークが、前記ロボットによってピッキングされると予測されるピッキング予測位置を求める到達予測部と、
算出された前記ワークの姿勢及び前記ピッキング予測位置に基づき、前記ピッキング予測位置での前記ロボットの姿勢を算出するロボット姿勢算出部と、
前記ロボットの動作開始位置における姿勢を取得し、取得した前記動作開始位置での前記ロボットの姿勢及び前記ピッキング予測位置での前記ロボットの姿勢に基づき、前記動作開始位置から前記ピッキング予測位置までの前記ロボットの動作軌跡をあらわす軌跡データを生成する軌跡データ生成部と
を具備するロボット制御装置。
【請求項２】
前記動作開始位置での前記ロボットの姿勢及び前記ピッキング予測位置での前記ロボットの姿勢に基づき、前記動作開始位置から前記ピッキング予測位置に至るまでの前記ロボットの動作所要時間を算出する動作所要時間算出部をさらに具備し、
前記軌跡データ生成部は、前記動作所要時間が設定時間以内であると判断された前記軌跡データを前記ロボットに出力する、請求項１に記載のロボット制御装置。
【請求項３】
前記ロボットが前記ピッキング予測位置に到達した後に、前記搬送装置の前記搬送速度と前記ロボットの動作速度を同期させる速度同期部をさらに具備する、請求項１に記載のロボット制御装置。
【請求項４】
前記計測装置から供給されるセンシング情報に基づき、前記ロボットが前記ワークを安定して保持するための、前記ロボットの位置及び角度を含む把持データを生成する把持データ生成部をさらに具備する、請求項１に記載のロボット制御装置。
【請求項５】
前記軌跡データ生成部によって生成される軌跡データに基づき、前記ロボットの動作中に前記ロボットが障害物に干渉しないか否かを判定する制約条件判定部をさらに具備する、請求項１に記載のロボット制御装置。
【請求項６】
前記ロボットの動作が変化する場合、または前記ロボットが前記ワークを保持する場合の少なくともいずれかの場合において、前記ロボットの各関節の速度及び加速度を算出する速度／加速度算出部をさらに具備する、請求項１に記載のロボット制御装置。
【請求項７】
前記ワーク姿勢算出部は、前記計測装置から出力される前記ワークのセンシング情報と、前記ワークのモデルデータとのマッチングを行うことで、前記ワークの姿勢を算出する、請求項１に記載のロボット制御装置。
【請求項８】
前記到達予測部は、前記ワークのセンシング情報及び前記搬送装置の搬送速度のほか、前記搬送装置のエンコーダ値及び回転速度、前記ワークの運動速度及び方向を用いて前記ピッキング予測位置を求める、請求項１に記載のロボット制御装置。
【請求項９】
前記軌跡データ生成部は、ランダムサンプリング法または軌跡最適化法を用いて前記軌跡データを生成する、請求項１に記載のロボット制御装置。
【請求項１０】
前記軌跡データ生成部は、入力される障害物の位置及び形状を特定する障害物データを利用することで、前記障害物に衝突しない前記軌跡データを生成する、請求項１に記載のロボット制御装置。
【請求項１１】
前記ロボットが前記軌跡データに従って前記ワークをピッキングした後、前記ワークを所定位置にプレースする際の前記ワークの姿勢を算出する、プレース姿勢算出部をさらに具備する、請求項１に記載のロボット制御装置。
【請求項１２】
前記軌跡データ生成部は、前記軌跡データを複数生成し、
前記ピッキング予測位置に基づいて、複数の前記軌跡データの中から前記ピッキングに適した軌跡データを選択する、軌跡データ選択部をさらに具備する、請求項１に記載のロボット制御装置。
【請求項１３】
前記ロボットは、シミュレータ上のロボットである、請求項１に記載のロボット制御装置。
【請求項１４】
搬送装置によって搬送されるワークをピッキングするロボットを制御するためのロボット制御方法であって、
計測装置から出力される前記ワークのセンシング情報に基づき、前記ワークの姿勢を算出するステップと、
前記ワークのセンシング情報及び前記搬送装置の搬送速度に基づき、搬送中の前記ワークが、前記ロボットによってピッキングされると予測されるピッキング予測位置を求めるステップと、
算出された前記ワークの姿勢及び前記ピッキング予測位置に基づき、前記ピッキング予測位置での前記ロボットの姿勢を算出するステップと、
前記ロボットの動作開始位置における姿勢を取得し、取得した前記動作開始位置での前記ロボットの姿勢及び前記ピッキング予測位置での前記ロボットの姿勢に基づき、前記動作開始位置から前記ピッキング予測位置までの前記ロボットの動作軌跡をあらわす軌跡データを生成するステップと
を含むロボット制御方法。
【請求項１５】
搬送装置によって搬送されるワークをピッキングするロボットを制御するコンピュータを、
計測装置から出力される前記ワークのセンシング情報に基づき、前記ワークの姿勢を算出するワーク姿勢算出部と、
前記ワークのセンシング情報及び前記搬送装置の搬送速度に基づき、搬送中の前記ワークが、前記ロボットによってピッキングされると予測されるピッキング予測位置を求める到達予測部と、
算出された前記ワークの姿勢及び前記ピッキング予測位置に基づき、前記ピッキング予測位置での前記ロボットの姿勢を算出するロボット姿勢算出部と、
前記ロボットの動作開始位置における姿勢を取得し、取得した前記動作開始位置での前記ロボットの姿勢及び前記ピッキング予測位置での前記ロボットの姿勢に基づき、前記動作開始位置から前記ピッキング予測位置までの前記ロボットの動作軌跡をあらわす軌跡データを生成する軌跡データ生成部と
して動作させるためのロボット制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物をピッキングするロボットの制御技術に関する。
【背景技術】
【０００２】
静止したコンテナに乱雑に積み重ねられた対象物（以下、「ワーク」ともいう。）を、ロボットハンドにより１つずつ取り出し、所定の箇所に移載する、いわゆるビン・ピッキングシステムが知られている。ビン・ピッキングシステムにおいては、各ワークの位置や姿勢を計測し、計測結果に基づいて次に取り出すべきワークを決定し、当該ワークをロボットハンドにより把持（すなわち、ピッキング）し、移載するといった動作が行われる（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１８０７０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のごとく、従来のビン・ピッキングシステムは、ピッキング対象となるワーク及びワークを収容しているコンテナが静止していることが前提となる。このため、コンベアなどによって搬送されるワークをロボットハンドによりピッキングするためには、都度、コンベアを停止し、ピッキング対象となるワークを静止させる必要があり、ロボットハンドによるワークのピッキングに膨大な時間がかかる、という問題があった。
【０００５】
本発明は以上説明した事情を鑑みてなされたものであり、搬送されるワークを停止させることなく、迅速にピッキングすることが可能なロボットの制御技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様に係るロボット制御装置は、搬送装置によって搬送されるワークをピッキングするロボットを制御するためのロボット制御装置であって、計測装置から出力されるワークのセンシング情報に基づき、ワークの姿勢を算出するワーク姿勢算出部と、ワークのセンシング情報及び搬送装置の搬送速度に基づき、搬送中のワークが、ロボットによってピッキングされると予測されるピッキング予測位置を求める到達予測部と、算出されたワークの姿勢及びピッキング予測位置に基づき、ピッキング予測位置でのロボットの姿勢を算出するロボット姿勢算出部と、ロボットの動作開始位置における姿勢を取得し、取得した動作開始位置でのロボットの姿勢及びピッキング予測位置でのロボットの姿勢に基づき、動作開始位置からピッキング予測位置までのロボットの動作軌跡をあらわす軌跡データを生成する軌跡データ生成部とを具備する。
【０００７】
上記構成によれば、ワークのセンシング情報及び搬送装置の搬送速度に基づき、搬送中のワークが、ロボットによってピッキングされると予測されるピッキング予測位置を求める。そして、ロボットの動作開始位置における姿勢及びピッキング予測位置でのロボットの姿勢に基づき、当該ロボットの動作開始位置からピッキング予測位置までの動作軌跡をあらわす軌跡データを生成するため、ロボットが動作を開始してからピッキングするまでに、ピッキング対象となるワークが搬送されても、搬送によるワークの移動を加味してロボットのピッキング動作を制御することができる。これにより、従来に比べて迅速なピッキング動作を実現することが可能となる。
【０００８】
本発明の他の態様に係るロボット制御方法は、搬送装置によって搬送されるワークをピッキングするロボットを制御するためのロボット制御方法であって、計測装置から出力されるワークのセンシング情報に基づき、ワークの姿勢を算出するステップと、ワークのセンシング情報及び搬送装置の搬送速度に基づき、搬送中のワークが、ロボットによってピッキングされると予測されるピッキング予測位置を求めるステップと、算出されたワークの姿勢及びピッキング予測位置に基づき、ピッキング予測位置でのロボットの姿勢を算出するステップと、ロボットの動作開始位置における姿勢を取得し、取得した動作開始位置でのロボットの姿勢及びピッキング予測位置でのロボットの姿勢に基づき、動作開始位置からピッキング予測位置までのロボットの動作軌跡をあらわす軌跡データを生成するステップとを含む。
【０００９】
本発明の他の態様に係るプログラムは、搬送装置によって搬送されるワークをピッキングするロボットを制御するコンピュータを、計測装置から出力されるワークのセンシング情報に基づき、ワークの姿勢を算出するワーク姿勢算出部と、ワークのセンシング情報及び搬送装置の搬送速度に基づき、搬送中のワークが、ロボットによってピッキングされると予測されるピッキング予測位置を求める到達予測部と、算出されたワークの姿勢及びピッキング予測位置に基づき、ピッキング予測位置でのロボットの姿勢を算出するロボット姿勢算出部と、ロボットの動作開始位置における姿勢を取得し、取得した動作開始位置でのロボットの姿勢及びピッキング予測位置でのロボットの姿勢に基づき、動作開始位置からピッキング予測位置までのロボットの動作軌跡をあらわす軌跡データを生成する軌跡データ生成部として動作させる。
【発明の効果】
【００１０】
本発明によれば、搬送されるワークを停止させることなく、迅速にピッキングすることが可能なロボットの制御技術を提供することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】ロボットピッキングシステムの全体構成を示す図である。
【図２】ロボット制御装置のハードウェア構成を示す図である。
【図３】ロボット制御装置の構成を示すブロック図である。
【図４】ロボット制御処理を示すフローチャートである。
【図５】変形例に係るロボット制御装置の構成を示すブロック図である。
【図６】変形例に係るロボット制御処理を示すフローチャートである。
【図７】応用例に係るロボット制御装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、同一の要素には同一の符号を付し、重複する説明を省略する。また、以下の実施の形態は、本発明を説明するための例示であり、本発明をその実施の形態のみに限定する趣旨ではない。さらに、本発明は、その要旨を逸脱しない限り、さまざまな変形が可能である。
【００１３】
Ａ．本実施形態
Ａ−１．構成
＜ロボットピッキングシステム＞
図１は、本実施形態のロボットピッキングシステム１を示す図である。図１に示すように、ロボットピッキングシステム１は、ロボット１００が、搬送装置２００によって搬送されるケースＣ内のワークＷを１つずつピッキングし、所定の棚Ｄ（または搬送装置など）に移送するものである。
【００１４】
搬送装置２００は、例えば工場内に設置されたさまざまなコンベアであり、搬送装置２００によってケースＣに収容された複数のワークＷが搬送される。本実施形態では、複数のワークＷが、ケースＣ内にバラ積みされた状態で搬送される場合を想定するが、複数のワークＷが、コンベアに直接置かれた状態（すなわち、ケースＣに収容されない状態）で、搬送されてもよい。
【００１５】
ワークＷは、例えば金属部品や食品など、様々な工作物や加工物である。ロボット１００によってケースＣからピッキングされたワークＷは、例えば、棚Ｄ上の所定位置に移送される。
【００１６】
ロボットピッキングシステム１は、搬送装置２００によって搬送されるワークＷを、停止させることなく、ケースＣからピッキングして棚Ｄに移送するロボット１００と、ロボット１００の動作を制御するロボット制御装置３００と、ワークＷの画像を取得するとともに、ワークＷの姿勢や位置などを計測するワーク計測装置４００とを備えている。
【００１７】
＜ロボット＞
ロボット１００は、アーム１１０とピッキング装置（ロボットハンド）１２０を備えたいわゆる多関節ロボットである。ロボット１００は、３次元空間における動作に必要な６自由度の構成を備えている。もっとも、本発明は６自由度のロボットに限定する趣旨ではなく、６自由度に冗長自由度を加えた７自由度の構成を有するロボットなどにも適用可能である。
【００１８】
ピッキング装置１２０は、アーム１１０の先端に取り付けられている。本実施形態に係るピッキング装置１２０は、例えば、平行ハンド、多指ハンド、多指多関節ハンドなどであり、複数の部材を開閉動作させることによりワークＷを保持する。ピッキング装置１２０の開閉動作は、ロボット制御装置３００から供給される制御信号に従って制御される。
【００１９】
＜ワーク計測装置＞
ワーク計測装置４００は、ワークＷの画像データをロボット制御装置３００に出力する。詳述すると、ワーク計測装置４００には、ワークＷの画像データを取得する画像取得装置４１０と、ＣＰＵと、ＣＰＵによって実行される制御プログラムを記憶するＲＯＭやＲＡＭなどのメモリと、通信インタフェースなどを備えている。画像取得装置４１０は、例えば画像センサを用いることができる。ワーク計測装置４００は、ＣＰＵがメモリから制御プログラムを読み出して実行することにより、ワークＷの画像データを、センシング情報としてロボット制御装置３００に通信インタフェースを介して出力する。
【００２０】
＜ロボット制御装置＞
ロボット制御装置３００は、制御信号をロボット１００に供給することで、ロボット１００の各部を中枢的に制御する。ロボット制御装置３００は、ロボット１００と双方向通信可能に接続されたコンピュータにより構成されている。
【００２１】
図２は、ロボット制御装置３００の構成を示す図である。
ロボット制御装置３００は、パーソナルコンピュータ等の情報処理装置によって構成されている。ロボット制御装置３００は、ＣＰＵ３０１によって実行される様々な制御プログラムを記憶するＲＯＭやＲＡＭなどのメモリ３０２、キーボードやマウス、操作ボタンなどを備えた入力装置３０３、液晶パネルなどを備えた出力装置３０４、ハードディスク等の記憶装置３０５、各通信インタフェースを備えた通信装置３０６などを備えている。
【００２２】
図３は、ロボット制御装置３００の構成を示すブロック図である。
ロボット制御装置３００は、ＣＰＵ３０１がメモリ３０２などに記憶されたソフトウェアを読み込み、解釈／実行することにより、以下に示す各部を実現する。
図３に示すように、ロボット制御装置３００は、ワーク姿勢算出部３１０と、到達予測部３２０と、ロボット姿勢算出部３３０と、軌跡データ生成部３４０とを備えている。
【００２３】
＜ワーク姿勢算出部＞
ワーク姿勢算出部３１０は、ワーク計測装置４００から供給されるセンシング情報ＩｓｅをもとにワークＷを検出して、ピッキング対象となるワークＷの動作開始位置（すなわち、ワークＷの計測時点での位置）での姿勢をあらわす姿勢データＤｗｐ１を求める。本実施形態では、ピッキング対象となるワークＷの検出をワーク姿勢算出部３１０が行なう場合を例示しているが、これに代えて、ワーク計測装置４００がワークＷの画像データからワークＷを検出して、そこで得られたワークＷの座標値や座標系などを示すセンシング情報をワーク姿勢算出部３１０に出力し、センシング情報をもとにワーク姿勢算出部３１０が姿勢データＤｗｐ１を求めるようにしてもよい。一方、到達予測部３２０から出力されるワークＷの到達予測情報Ｉｐａ（具体的には、後述する予測したワークＷのピッキング予測位置をあらわすピッキング予測位置情報Ｉｐｐや到達予測時刻をあらわす到達予測時刻情報Ｉａｔ）及びワークＷの姿勢データＤｗｐ１をもとに、ワークＷのピッキング予測位置での姿勢をあらわす姿勢データＤｗｐ２を求める。ワーク姿勢算出部３１０は、ピッキング対象となるワークＷの動作開始位置での姿勢を算出する際、ＣＡＤモデル（モデルデータ）とのマッチングを行う。ＣＡＤモデルとのマッチング動作について詳述すると、まず、ワークＷのＣＡＤモデルをワーク姿勢算出部３１０のメモリ等に事前に登録しておく。ワーク姿勢算出部３１０は、ワーク計測装置４００から供給されるセンシング情報ＩｓｅとＣＡＤモデルとのマッチングを行い、マッチング結果を利用してワークＷの姿勢を算出する。これにより、基準となるワークＷのＣＡＤモデルを用いない場合と比較して、精度の高い姿勢の算出が可能となる。
【００２４】
なお、ワークＷの姿勢には、例えば、３つの回転軸を使ったロール・ピッチ・ヨー角による姿勢表現が用いられる。また、ワーク姿勢算出部３１０は、ワークＷの動作開始位置での姿勢データＤｗｐ１に、ワークＷのピッキング予測位置までのＸＹＺ軸方向の移動及びＸＹＺ軸周りの回転量（ロール・ピッチ・ヨー角）を乗じることで、ワークＷのピッキング予測位置での姿勢を算出し、姿勢データＤｗｐ２を求める。
また、ワークＷの姿勢が移動中に変化する場合、ワークＷの姿勢の変化量が予めわかっているのであれば、姿勢の変化量をオフセットとして与えることも可能である。ワーク姿勢算出部３１０は、上記のようにしてワークＷの動作開始位置での姿勢データＤｗｐ１及びワークＷのピッキング予測位置での姿勢データＤｗｐ２を求めると、ピッキング予測位置での姿勢データＤｗｐ２をロボット姿勢算出部３３０に出力する。また、本実施形態では、ピッキング対象となるワークＷの動作開始位置での姿勢をあらわす姿勢データＤｗｐ１をワーク姿勢算出部３１０が求める場合を例示しているが、これに代えて、ワーク計測装置４００が姿勢データＤｗｐ１を算出して、ワークＷの位置や距離などを示すセンシング情報とともに、ワーク姿勢算出部３１０に出力するようにしてもよい。
【００２５】
＜到達予測部＞
到達予測部３２０は、搬送装置２００などから供給される搬送速度を示す情報（以下、「搬送速度情報」ともいう。）Ｉｖｔや画像取得装置４１０から供給されるセンシング情報Ｉｓｅに基づき、搬送装置２００によって搬送されるワークＷが、ピッキング装置１２０（すなわちロボットハンド）によってピッキングされ得る位置（以下、「ピッキング予測位置」ともいう。）、ピッキング予測位置に到達し得る時刻（以下、「到達予測時刻」ともいう。）などを求める。ピッキング予測位置の一例として、例えばロボット１００の正面中心から左右それぞれＸ度、半径Ｙｍの範囲内に設定することができるが、これに限定する趣旨ではなく、工場のレイアウト設計等を考慮して適宜設定してもよい。到達予測部３２０は、ワークＷのピッキング予測位置及び到達予測時刻を求めると、予測したワークＷのピッキング予測位置をあらわすピッキング予測位置情報Ｉｐｐ及び到達予測時刻をあらわす到達予測時刻情報Ｉａｔを、ワークＷの到達予測情報Ｉｐａとして、ワーク姿勢算出部３１０に出力する。
【００２６】
＜ロボット姿勢算出部＞
ロボット姿勢算出部３３０は、ワーク姿勢算出部３１０から供給されるワークＷのピッキング予測位置での姿勢データＤｗｐ２に基づき、ピッキング予測位置におけるロボット１００の姿勢を算出する。ロボット姿勢算出部３３０は、ピッキング予測位置におけるロボット１００の姿勢を算出すると、算出結果をピッキング予測位置におけるロボット１００の姿勢データＤｒｐ２として軌跡データ生成部３４０に出力する。なお、本実施形態では、ワーク姿勢算出部３１０が、ワークＷのピッキング予測位置での姿勢データＤｗｐ２を求める場合を例示しているが、ロボット姿勢算出部３３０が、到達予測部３２０から供給されるワークＷの到達予測情報Ｉｐａと、ワーク姿勢算出部３１０から供給されるワークＷの動作開始位置での姿勢データＤｗｐ１を用いて、ワークＷのピッキング予測位置での姿勢データＤｗｐ２を求めるようにしてもよい。
【００２７】
＜軌跡データ生成部＞
軌跡データ生成部３４０は、ロボット１００から供給されるロボット１００の動作開始位置での姿勢をあらわす姿勢データＤｒｐ１と、ロボット姿勢算出部３３０から供給されるピッキング予測位置での姿勢をあらわす姿勢データＤｒｐ２とに基づき、ロボット１００の軌跡データＤｔｒを生成する。ここで、ロボット１００の軌跡データＤｔｒとは、ロボット１００の動作開始位置から、予測されたピッキング予測位置にいたるまでの軌跡の情報をあらわすデータである。軌跡の情報は、ロボット１００の姿勢に基づき、動作開始位置におけるロボット１００の初期状態を決定し、当該初期状態からピッキング予測位置に至る軌跡を算出して求めることができる。軌跡データ生成部３４０は、軌跡データＤｔｒを生成すると、軌跡データＤｔｒまたはロボット１００の動作を制御する制御信号Ｓｃとしてロボット１００に出力する。ロボット１００は、軌跡データ生成部３４０から出力される制御信号Ｓｃに従い、アーム１１０や各関節の動作、ピッキング装置１２０の開閉動作を行う。
【００２８】
Ａ−２．動作
図４は、本実施形態に係るロボット制御装置３００によって実行されるロボット制御処理を示すフローチャートである。
【００２９】
ロボット制御装置３００は、ワーク計測装置４００から、ワークＷの画像データ（センシング情報）を取得すると（ステップＳ１）、まず、搬送装置２００の搬送速度を取得する（ステップＳ２）。詳述すると、ロボット制御装置３００の到達予測部３２０は、搬送装置２００から供給される搬送速度情報Ｉｖｔに基づき、搬送装置２００の搬送速度を取得する。さらに、到達予測部３２０は、ワーク計測装置４００からセンシング情報Ｉｓｅを受け取り、受け取ったセンシング情報Ｉｓｅと取得した搬送速度に基づき、ワークＷのピッキング予測位置、及び到達予測時刻を求める（ステップＳ３）。そして、到達予測部３２０は、予測したワークＷのピッキング予測位置をあらわすピッキング予測位置情報Ｉｐｐ、及び到達予測時刻をあらわす到達予測時刻情報Ｉａｔを、ワークＷの到達予測情報Ｉｐａとして、ワーク姿勢算出部３１０に出力する。また、本実施形態では、ワークＷの到達予測情報Ｉｐａをワーク姿勢算出部３１０に出力しているが、ピッキング予測位置でのワークＷの姿勢をあらわす姿勢データＤｗｐ２をロボット姿勢算出部３３０で計算することも可能であり、この場合はロボット姿勢算出部３３０に出力する。
【００３０】
一方、ワーク姿勢算出部３１０は、ワーク計測装置４００から供給されるセンシング情報ＩｓｅをもとにワークＷを検出して、ピッキング対象となるワークＷの動作開始位置での姿勢をあらわす姿勢データＤｗｐ１を求める一方、到達予測部３２０から出力されるワークＷの到達予測情報Ｉｐａ（すなわち、予測したワークＷのピッキング予測位置をあらわすピッキング予測位置情報Ｉｐｐや到達予測時刻をあらわす到達予測時刻情報Ｉａｔ）及びワークＷの姿勢データＤｗｐ１をもとに、ワークＷのピッキング予測位置での姿勢をあらわす姿勢データＤｗｐ２を求める（ステップＳ４）。ワーク姿勢算出部３１０は、求めたワークＷの姿勢データＤｗｐ２をロボット姿勢算出部３３０に出力する。
【００３１】
ロボット姿勢算出部３３０は、ワーク姿勢算出部３１０から供給されるワークＷのピッキング予測位置での姿勢データＤｗｐ２に基づき、ピッキング予測位置でのロボット１００の姿勢を算出する（ステップＳ５）。ロボット姿勢算出部３３０は、ピッキング予測位置でのロボット１００の姿勢を算出すると、算出結果をピッキング予測位置におけるロボット１００の姿勢データＤｒｐ２として軌跡データ生成部３４０に出力する。
【００３２】
軌跡データ生成部３４０は、ロボット１００から供給されるロボット１００の動作開始位置での姿勢をあらわす姿勢データＤｒｐ１と、ロボット姿勢算出部３３０から供給されるピッキング予測位置での姿勢をあらわす姿勢データＤｒｐ２とに基づき、ロボット１００の軌跡データＤｔｒを生成し（ステップＳ６）、軌跡データＤｔｒまたは制御信号Ｓｃとしてロボット１００に出力する（ステップＳ７）。ロボット１００は、軌跡データ生成部３４０から出力される制御信号Ｓｃに従い、アーム１１０や各関節の動作、ピッキング装置１２０の開閉動作などを行い、搬送装置２００上を移動するワークＷを、棚Ｄ上の所定位置に移送する。以上説明した一連の処理が、ロボット制御装置３００によってワークＷごとに繰り返し実行される。このようなロボット制御処理が実行されることで、搬送装置２００を停止させることなしに、搬送装置２００上の各ワークＷを、棚Ｄの所定位置に移送することが可能となる。
【００３３】
Ｂ．変形例
Ｂ−１．構成
図５は、変形例に係るロボット制御装置３００ａの構成を示すブロック図である。図５に示すロボット制御装置３００ａのハードウェア構成は、本実施形態に係るロボット制御装置３００と同様である。ただし、ロボット制御装置３００ａは、動作所要時間算出部３４１、速度同期部３４２、干渉判定部３４３、速度／加速度算出部３４４、把持データ生成部３５０を備えている点で、本実施形態に係るロボット制御装置３００と異なる。その他については、図３に示すロボット制御装置３００と同様であるため、対応する部分には同一符号を付し、詳細な説明は割愛する。なお、ロボット制御装置３００ａもロボット制御装置３００と同様、ＣＰＵ３０１がメモリ３０２などに記憶されたソフトウェアを読み込み、解釈／実行することにより、図５に示す各部を実現する。
【００３４】
＜動作所要時間算出部＞
動作所要時間算出部３４１は、上述したロボット１００の姿勢データＤｒｐ１、Ｄｒｐ２などに基づき、ロボットの現在位置からワークＷのピッキング予測位置に至るまでのロボット１００の動作所要時間を算出する。軌跡データ生成部３４０は、動作所要時間算出部３４１によって算出される動作所要時間を考慮することで、ワークＷの移動（すなわち、ワークＷがロボット１００にピッキングされるまでの搬送）に対して、遅れのない軌跡データＤｔｒの算出が可能となる。
【００３５】
＜速度同期部＞
速度同期部３４２は、ピッキング装置（ロボットハンド）１２０がワークＷに到達した後に搬送装置２００の搬送速度とロボット１００の動作速度を同期させる（すなわち、両者の相対速度を０にする）制御を行う。具体的には、ロボットハンド１２０がワークＷに到達した後、同期用のエンコーダなどを用いて搬送装置２００の搬送速度とロボットハンド１２０の動作速度の差分を逐次検出し、差分がゼロとなるように搬送装置４００及びロボットハンド１２０の動作を制御する。ロボットハンド１２０がピッキング予測位置に到達した後、搬送装置２００の搬送速度とロボット１００の動作速度とを同期させることで、ピッキング装置１２０によるワークＷの安定したピッキング動作が可能となる。なお、ロボットハンド１２０は、ワークＷに到達するまでに等速となっている場合には、等速のまま搬送装置２００の搬送速度にあわせて動作させてもよい。
【００３６】
＜干渉判定部＞
干渉判定部（制約条件判定部）３４３は、軌跡データ生成部３４０によって生成される軌跡データに基づき、ロボット１００のモーション（軌跡）が障害物に干渉しないか否かを、下記に示す（１）、（２）の２つのコンセプトに基づき、判定する。
（１）部分生成した軌跡を都度干渉判定し、干渉していない軌跡を繋ぐことで、障害物に衝突しない軌跡データを生成する。
（２）ロボット１００の動作開始位置から、予測されたピッキング予測位置までの全軌跡を干渉判定し、干渉がなければ軌跡データとして採用する。
軌跡データ生成部３４０は、干渉判定部３４３によってロボット１００が障害物に衝突しないと判定された場合に、ロボット１００の軌跡データＤｔｒを生成し、軌跡データＤｔｒまたは制御信号Ｓｃとしてロボット１００に出力する。これにより、ピッキング動作中にロボット１００が障害物に衝突してしまうといった問題を未然に防止することが可能となる。なお、本変形例では、制約条件の１つとして障害物によるロボット１００の干渉を例示したが、これに限定する趣旨ではない。その他にも、ロボット１００の可動域内に軌跡が生成されていることや、ロボット１００が出せる速度/加速度を考慮していることなどを制約条件の１つとして設定してもよい。
【００３７】
＜速度／加速度算出部＞
速度／加速度算出部３４４は、軌跡データ生成部３４０が軌跡データＤｔｒを生成する際、最適なロボット１００の各関節の速度／加速度をロボット１００の軌跡データＤｔｒに反映させる。大きくは２つの観点から各関節の速度／加速度の最適化が行われる。１つは、ロボット１００の動きが変化する場合（動作の変化点）であって、速度の台形制御等によりロボット１００の各関節の滑らかな動きを実現する。もう１つは、ワークＷを把持する場合であって、ロボット１００の各関節をゆっくりと動かすことでロボット１００によるワークＷの確実な把持を実現する。
【００３８】
＜把持データ生成部＞
把持データ生成部３５０は、ピッキング装置（ロボットハンド）１２０がワークＷを安定的に把持するための位置や角度などの把持データを生成する。把持データ生成部３５０は、ワーク計測装置４００から供給されるセンシング情報ＩｓｅやワークＷの重さ、摩擦をあらわす情報などをもとに、把持計画を実行し、例えば最適な把持点を選定し、最適な把持点でワークＷを把持するための把持データＤｇｒを生成する。ここで、把持計画とは、ワークＷの位置・姿勢が与えられたときに、ワークＷを安定に把持できるロボットハンド１２０のコンフィグレーションを求める計画問題であり、把持点とは、把持実行時におけるロボットハンド１２０のハンド座標系の位置・姿勢である。把持データ生成部３５０は、把持データＤｇｒを生成すると、ロボット姿勢算出部３３０に出力する。このように、把持計画に基づいて把持位置を選定し、ワークＷを掴むピッキング装置１２０の位置や角度を決定することで、安定的なピッキング動作が可能となる。なお、ワーク計測装置４００内に把持データ生成部３５０を設けてもよい。
【００３９】
Ｂ−２．動作
図６は、変形例に係るロボット制御装置３００によって実行されるロボット制御処理を示すフローチャートである。なお、図４に示すロボット制御処理と対応するステップには同一符号を付し、詳細な説明は割愛する。
【００４０】
ロボット制御装置３００は、ワーク計測装置４００から、ワークＷの画像データを取得すると（ステップＳ１）、まず、搬送装置２００の搬送速度を取得する（ステップＳ２）。詳述すると、ロボット制御装置３００の到達予測部３２０は、搬送装置２００から供給される搬送速度情報Ｉｖｔに基づき、搬送装置２００の搬送速度を取得する。さらに、到達予測部３２０は、ワーク計測装置４００からセンシング情報Ｉｓｅを受け取り、受け取ったセンシング情報Ｉｓｅと取得した搬送速度に基づき、ワークＷのピッキング予測位置、及び到達予測時刻を求める（ステップＳ３）。そして、到達予測部３２０は、予測したワークＷのピッキング予測位置をあらわすピッキング予測位置情報Ｉｐｐ、及び到達予測時刻をあらわす到達予測時刻情報Ｉａｔを、ワークＷの到達予測情報Ｉｐａとして、ワーク姿勢算出部３１０に出力する。また、本変形例では、ワーク姿勢算出部３１０に出力しているが、ピッキング予測位置でのワークＷの姿勢をあらわす姿勢データＤｗｐ２をロボット姿勢算出部３３０で計算することも可能であり、この場合はロボット姿勢算出部３３０に出力する。
【００４１】
一方、ワーク姿勢算出部３１０は、ワーク計測装置４００から供給されるセンシング情報ＩｓｅをもとにワークＷを検出して、ピッキング対象となるワークＷの動作開始位置での姿勢をあらわす姿勢データＤｗｐ１を求める一方、到達予測部３２０から出力されるワークＷの到達予測情報Ｉｐａ（すなわち、予測したワークＷのピッキング予測位置をあらわすピッキング予測位置情報Ｉｐｐや到達予測時刻をあらわす到達予測時刻情報Ｉａｔ）及びワークＷの姿勢データＤｗｐ１をもとに、ワークＷのピッキング予測位置での姿勢をあらわす姿勢データＤｗｐ２を求める（ステップＳ４）。ワーク姿勢算出部３１０は、求めたワークＷの姿勢データＤｗｐ２を把持データ生成部３５０に出力する。
【００４２】
把持データ生成部３５０は、ワーク姿勢算出部３１０から供給されるワークＷのピッキング予測位置での姿勢データＤｗｐ２、ワーク計測装置４００から供給されるセンシング情報ＩｓｅやワークＷの重さ、摩擦をあらわす情報などをもとに把持計画を実行し、最適な把持点を選定し、最適な把持点でワークＷを把持するための把持データＤｇｒを生成する。把持データ生成部３５０は、生成した把持データＤｇｒを、ロボット姿勢算出部３３０に出力する。
【００４３】
ロボット姿勢算出部３３０は、把持データ生成部３５０から出力される把持データＤｇｒに基づき、ロボットのピッキング予測位置でのロボット１００の姿勢を算出する（ステップＳ５）。そして、ロボット姿勢算出部３３０は、算出結果をピッキング予測位置におけるロボット１００の姿勢データＤｒｐ２として軌跡データ生成部３４０に出力する。軌跡データ生成部３４０は、ロボット１００から供給されるロボット１００の動作開始位置での姿勢をあらわす姿勢データＤｒｐ１と、ロボット姿勢算出部３３０から供給されるピッキング予測位置での姿勢をあらわす姿勢データＤｒｐ２とに基づき、ロボット１００の軌跡データＤｔｒを生成する（ステップＳ６）。
【００４４】
干渉判定部３４３は、軌跡データ生成部３４０によって生成される軌跡データに基づき、ロボット１００のモーション（軌跡）が障害物に干渉しないか否かを判定する（ステップＳ６Ａ）。干渉判定部３４３によってロボット１００が障害物に干渉しないことが確認されると、速度同期部３４２は、軌跡データ生成部３４０が軌跡データＤｔｒを生成する際、ピッキング装置（ロボットハンド）１２０がワークＷに到達した後に搬送装置２００の搬送速度とロボット１００の動作速度を同期させるべく、同期速度を算出する（ステップＳ６Ｂ）。
【００４５】
一方、速度／加速度算出部３４４は、軌跡データ生成部３４０が軌跡データＤｔｒを生成する際、最適なロボット１００の各関節の速度／加速度を算出する（ステップＳ６Ｃ）。さらに、動作所要時間算出部３４１は、ロボット１００の姿勢データＤｒｐ１、Ｄｒｐ２などに基づき、ロボットの現在位置からワークＷのピッキング予測位置に至るまでのロボット１００の動作所要時間を算出する（ステップＳ６Ｄ）。そして、動作所要時間算出部３４１は、求めた動作所要時間が下限動作時間（設定時間）Ｔｍｉｎ以内であるかであるか否かを判断する（ステップＳ６Ｅ）。動作所要時間算出部３４１は、求めた動作時間が下限動作時間Ｔｍｉｎを超えていると判断した場合には（ステップＳ６Ｅ；ＮＯ）、ロボット１００の軌跡データＤｔｒを生成し直すべく、ステップＳ６に戻り、上述した一連の処理を繰り返し実行する。
【００４６】
一方、動作所要時間算出部３４１は、求めた動作所要時間が下限動作時間Ｔｍｉｎ以内であると判断すると（ステップＳ６Ｅ；ＹＥＳ）、軌跡データ生成部３４０に軌跡データＤｔｒの出力を指示する。軌跡データ生成部３４０は、動作所要時間算出部３４１の指示に従い、ステップＳ６において生成した軌跡データＤｔｒを、制御信号Ｓｃとしてロボット１００に出力する（ステップＳ７）。ロボット１００は、軌跡データ生成部３４０から出力される制御信号Ｓｃに従い、アーム１１０や各関節の動作、ピッキング装置１２０の開閉動作などを行い、搬送装置２００上を移動するワークＷを、棚Ｄ上の所定位置に移送する。このように、障害物の有無やロボット１００の速度／加速度、ロボット１００の動作所要時間を加味してロボット１００の動作計画を最適化してもよい。なお、上述した下限動作時間Ｔｍｉｎは、例えば、搬送装置２００によるワークＷの搬送速度等に基づいて事前に算出し、算出した下限動作時間Ｔｍｉｎを動作所要時間算出部３４１に設定しておけばよい。もっとも、下限動作時間Ｔｍｉｎは、ラインオペレータ等が適宜設定・変更可能な構成としてもよい。
【００４７】
Ｃ．応用例
ここで、図７は、応用例に係るロボット制御装置３００ｂの構成を示すブロック図である。図７に示すロボット制御装置３００ｂのハードウェア構成は、本実施形態に係るロボット制御装置３００と同様である。ただし、ロボット制御装置３００ｂは、プレース姿勢算出部３６０、軌跡データ選択部３７０を備えている点で、本実施形態に係るロボット制御装置３００と異なる。その他については、図３に示すロボット制御装置３００と同様であるため、対応する部分には同一符号を付し、詳細な説明は割愛する。なお、ロボット制御装置３００ｂもロボット制御装置３００と同様、ＣＰＵ３０１がメモリ３０２などに記憶されたソフトウェアを読み込み、解釈／実行することにより、図７に示す各部を実現する。
【００４８】
＜プレース姿勢算出部＞
プレース姿勢算出部３６０は、ロボット１００がピッキングしたワークＷを、棚Ｄや搬送装置２００の所定位置にプレース（載置）する際のワークＷの姿勢を算出する。かかる構成を採用することで、例えば棚Ｄや搬送装置２００上に置かれたトレーや箱に対して、ロボット１００が移送したワークＷを、整列した状態で載置することが可能となる。なおプレースする際のワークＷの姿勢は、ワーク計測装置４００から出力されるセンシング情報Ｉｓｅ、その他様々なセンサ等から入力されるワークＷのプレースに関する情報を利用して算出することができる。
【００４９】
＜軌跡データ選択部＞
軌跡データ選択部３７０は、ワークＷへの到達予測位置や時刻、ロボット１００に付与できる速度や加速度などに基づき、軌跡データ生成部３４０によって生成された複数の軌跡データＤｔｒの中から、ピッキングに最適な軌跡データＤｔｒを選択する。これにより、最適な経路計画を生成することが可能となる。なお、本態様は、軌跡データ生成部３４０が１つのワークＷに対して複数の軌跡データＤｔｒを生成する、あるいは複数のワークＷに対して複数の軌跡データＤｔｒを生成することが前提となる点に留意されたい。
【００５０】
なお、ロボット１００は、モバイルロボット（例えば自らマップを作って動く自動搬送ロボット）や自動搬送車（ＡＧＶ；Automated Guided Vehicle）に搭載されたロボット、さらには、ＸＹＺ方向への直同軸と組み合わせた多関節ロボットであってもよい。かかる場合、軌跡データ生成部３４０は、ワークＷをピッキングするロボット１００だけでなく、モバイルロボットや自動搬送車の軌跡データも生成すればよい。これにより、ロボット１００は、任意の場所でワークＷをピッキングすることができる。
【００５１】
また、本実施形態では、物理的なロボット１００にピッキング動作を行わせたが、これに限定する趣旨ではなく、シミュレータ上のロボットにピッキング動作を行わせてもよい。このように、実際にロボットを動かすことなく、仮想ロボットによるピッキング動作をシミュレーションしてもよい。
【００５２】
Ｄ．その他
上述した本実施形態等では、ケースＣに複数のワークＷが入っている場合を例示したがさまざまなタイプの容器（例えば、省スペースコンテナやストッカ）などであってもよい。ワークＷが容器に入っていることで、ワークＷの姿勢が任意姿勢に変化しやすくなる。
【００５３】
搬送装置２００は、コンベアのほか、モバイルロボットや自動搬送車、可動ステージなどであってもよい。モバイルロボットや自動搬送車を搬送装置として利用することで、ワークＷを任意の場所に搬送することができる。
【００５４】
ワーク計測装置４００は、画像センサのほか、三次元距離画像センサや、画像センサと測距センサを組み合わせた構成であってもよい。三次元距離画像センサなどを用いることで、ワークＷの位置、形状、傾きなどをより精度よく求めることが可能となる。
【００５５】
ピッキング装置１２０は、平行ハンド、多指ハンド、多指多関節ハンドといったハンド装置のほか、吸着装置などであってもよい。すなわち、ワークＷを保持可能な様々なピッキング装置を利用することができる。
【００５６】
ここで、ワーク姿勢算出部３１０は、ピッキング対象となるワークＷの動作開始位置での姿勢を算出する際、ＣＡＤモデル（モデルデータ）とのマッチングを行う代わりに、計測結果から作成したデータとのマッチングや、２Ｄセンサを使ったパターンとのマッチングでもよい。さらに、ワークＷのセンシング情報Ｉｓｅとモデルデータとのマッチングは、ワーク姿勢算出部３１０で行なう代わりに、ワーク計測装置４００内でＣＡＤモデルとのマッチングを行なうようにしてもよい。
【００５７】
また、到達予測部３２０は、 ワークＷのピッキング予測位置をあらわすピッキング予測位置情報Ｉｐｐ、ピッキング予測位置でのワークＷの姿勢をあらわす姿勢データＤｗｐ２及び到達予測時刻をあらわす到達予測時刻情報Ｉａｔを生成する際、搬送装置２００から供給されるコンベアのエンコーダ値や回転速度などを利用してもよい。また、ワークＷの運動速度や方向を求めて、上述したピッキング予測位置情報Ｉｐｐ、ピッキング予測位置でのワークＷの姿勢データＤｗｐ２、到達予測時刻情報Ｉａｔを生成してもよい。これらを利用することで、ピッキング予測位置やピッキング予測位置でのワークＷの姿勢、ワークＷへの到達予測時刻だけでなく、任意の位置におけるワークＷの位置や姿勢、到達予測時刻などを求めることが可能となる。
【００５８】
また、軌跡データ生成部３４０は、ロボット１００の軌跡データＤｔｒを生成する際、ＲＲＴ（Rapidly-Exploring Random Tree）やＰＲＭ（Probabilistic Roadmap Method）などのランダムサンプリング法やＣＨＯＭＰ（Covariant Hamiltonian Optimization for Motion Planning）などの軌跡最適化法を利用してもよい。かかる態様によれば、より迅速に軌跡データＤｔｒを生成することが可能となる。もっとも、これに限る趣旨ではなく、セル分割法やポテンシャル法を利用して、ロボット１００の軌跡データＤｔｒを生成してもよい。
【００５９】
また、軌跡データ生成部３４０は、搬送装置２００のコンベアやケースＣといった障害物に関する障害物データ（位置や形状を特定するデータを含む）が、事前に入力される構成であってもよい。かかる障害物データが事前に入力されることで、軌跡データ生成部３４０は、障害物に衝突しないロボット１００の軌跡データを生成することができる。なお、各種センサなどを用いて障害物データを生成し、これを軌跡データ生成部３４０に出力するようにしてもよい。
【００６０】
なお、本明細書において、「部」とは、単に物理的構成を意味するものではなく、その「部」が実行する処理をソフトウェアによって実現する場合も含む。また、１つの「部」や装置が実行する処理を２つ以上の物理的構成や装置により実現されても、２つ以上の「部」や装置が１つの物理的手段や装置により実現されてもよい。
【００６１】
また、本明細書において上述した各処理におけるステップは、処理内容に矛盾を生じない範囲で任意に順番を変更し、または並列に実行することができる。
【００６２】
さらにまた、本明細書において説明した各処理を実施するプログラムは、記録媒体に記憶させてもよい。この記録媒体を用いれば、ロボット制御装置３００に、上記プログラムをインストールすることができる。ここで、上記プログラムを記憶した記録媒体は、非一過性の記録媒体であっても良い。非一過性の記録媒体は特に限定されないが、例えば、ＣＤ−ＲＯＭ等の記録媒体であっても良い。
【００６３】
（付記１）
少なくとも１つのメモリと前記メモリに接続された少なくとも１つのハードウェアプロセッサを備え、搬送装置によって搬送されるワークをピッキングするロボットを制御するためのロボット制御装置であって、
前記ハードウェアプロセッサは、前記メモリに格納された所定のプログラムを実行することにより、
計測装置から出力される前記ワークのセンシング情報に基づき、前記ワークの姿勢を算出するワーク姿勢算出部と、
前記ワークのセンシング情報及び前記搬送装置の搬送速度に基づき、搬送中の前記ワークが、前記ロボットによってピッキングされると予測されるピッキング予測位置を求める到達予測部と、
算出された前記ワークの姿勢及び前記ピッキング予測位置に基づき、前記ピッキング予測位置での前記ロボットの姿勢を算出するロボット姿勢算出部と、
前記ロボットの動作開始位置における姿勢を取得し、取得した前記動作開始位置での前記ロボットの姿勢及び前記ピッキング予測位置での前記ロボットの姿勢に基づき、前記動作開始位置から前記ピッキング予測位置までの前記ロボットの動作軌跡をあらわす軌跡データを生成する軌跡データ生成部として動作する、ロボット制御装置。
（付記２）
少なくとも１つのハードウェアプロセッサによって、搬送装置によって搬送されるワークをピッキングするロボットを制御するためのロボット制御方法であって、
前記ハードウェアプロセッサは、
計測装置から出力される前記ワークのセンシング情報に基づき、前記ワークの姿勢を算出するステップと、
前記ワークのセンシング情報及び前記搬送装置の搬送速度に基づき、搬送中の前記ワークが、前記ロボットによってピッキングされると予測されるピッキング予測位置を求めるステップと、
算出された前記ワークの姿勢及び前記ピッキング予測位置に基づき、前記ピッキング予測位置での前記ロボットの姿勢を算出するステップと、
前記ロボットの動作開始位置における姿勢を取得し、取得した前記動作開始位置での前記ロボットの姿勢及び前記ピッキング予測位置での前記ロボットの姿勢に基づき、前記動作開始位置から前記ピッキング予測位置までの前記ロボットの動作軌跡をあらわす軌跡データを生成するステップとを実行する、ロボット制御方法。
【符号の説明】
【００６４】
１…ロボットピッキングシステム、１００…ロボット、１１０…アーム、１２０…ピッキング装置、２００…搬送装置、３００，３００ａ，３００ｂ…ロボット制御装置、３０１…ＣＰＵ、３０２…メモリ、３０３…入力装置、３０４…出力装置、３０５…記憶装置、３０６…通信装置、３１０…ワーク姿勢算出部、３２０…到達予測部、３３０…ロボット姿勢算出部、３４０…軌跡データ生成部、３４１…動作所要時間算出部、３４２…速度同期部、３４３…干渉判定部、３４４…速度／加速度算出部、３５０…把持データ生成部、３６０…プレース姿勢算出部、３７０…軌跡データ選択部、３８０…ズレ量算出部、３９０…フィードバック値算出部、４００…ワーク計測装置、４１０…画像取得装置
【図１】
2019025618.tif 000003
【図２】
2019025618.tif 000004
【図３】
2019025618.tif 000005
【図４】
2019025618.tif 000006
【図５】
2019025618.tif 000007
【図６】
2019025618.tif 000008
【図７】
2019025618.tif 000009