(57)【特許請求の範囲】
【請求項１】
複数のロボットアームを備え、第１方向に沿って近接して配置された複数の箱の中に入っているピッキング対象物を前記ロボットアームによって取り出して搬送する搬送車の前記第１方向とは異なる方向への移動を含む移動経路設定方法であって、
少なくとも何れか１つのロボットアームによるピッキングが可能なロボットアーム可動範囲内に箱内の全ての空間が含まれる搬送車のピッキング可能位置を取得し、
前記複数の箱に対する前記ピッキング可能位置の共通領域を取得し、
前記複数の箱からピッキング作業を行う際の前記搬送車の停止位置を前記共通領域内に設定し、
前記ピッキング可能位置と前記共通領域とに基づいて、前記搬送車の移動距離が最小となる移動経路を設定する、搬送車の移動経路設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、搬送車の移動経路設定方法に関する。
【背景技術】
【０００２】
特許文献１には、ロボットアームをピッキング対象物に向かって移動させる移動台車を備えるロボット装置が開示されている。当該ロボット装置は、ピッキング対象物の位置情報に基づいて移動台車及びロボットアームを移動させて当該ピッキング対象物に多指ハンド部を近づけていき、多指ハンド部の指先力センサの出力に基づいてピッキング対象物に対する実際の接触位置を検出し、検出した接触位置に基づいてピッキング対象物の位置情報を修正する構成とされている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１１５３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般的にロボットアームの方が移動台車よりも移動速度が速いため、複数のロボットアームを移動台車に配置した方が良い。しかし、複数のロボットアームを備えた搬送車によって近接して配置された複数の箱からピッキング作業を実施する場合、これまでの搬送車に対する経路設定ではピッキング対象物の効率的な搬送作業が行えない。
【０００５】
上記課題に鑑み本発明は、ピッキング対象物の効率的な搬送作業を行うことが可能な移動経路を設定できる搬送車の移動経路設定方法を実現する。
【課題を解決するための手段】
【０００６】
本発明に係る搬送車の移動経路設定方法は、複数のロボットアームを備え、近接して配置された複数の箱の中に入っているピッキング対象物を前記ロボットアームによって取り出して搬送する搬送車の移動経路設定方法であって、
少なくとも何れか１つのロボットアームによるピッキングが可能なロボットアーム可動範囲内に箱内の全ての空間が含まれる搬送車のピッキング可能位置を取得し、
前記複数の箱に対する前記ピッキング可能位置の共通領域を取得し、
前記複数の箱からピッキング作業を行う際の前記搬送車の停止位置を前記共通領域内に設定する。
【発明の効果】
【０００７】
本発明により、ピッキング対象物の効率的な搬送作業を行うことが可能な移動経路を設定できる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態の搬送車を用いてピッキング対象物を搬送するために当該搬送車が設定された移動経路に沿って移動する様子を模式的に示す図である。
【図２】実施の形態の搬送車の構成を示すブロック図である。
【図３】実施の形態のピッキング対象物を搬送する流れを示すフローチャート図である。
【図４】実施の形態での搬送車のスタート位置及びゴール位置を模式的に示す図である。
【図５】実施の形態での搬送車におけるロボットアームのピッキング可能位置を模式的に示す図である。
【図６】ロボットアームの軌道生成の流れを示すフローチャート図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の搬送車の移動経路設定方法（以下、単に移動経路設定方法と省略する場合がある。）の実施の形態を説明する。先ず、本実施の形態の移動経路設定方法に用いる搬送車の構成を説明する。図１は、本実施の形態の搬送車を用いてピッキング対象物を搬送するために当該搬送車が設定された移動経路に沿って移動する様子を模式的に示す図である。図２は、本実施の形態の搬送車の構成を示すブロック図である。
【００１０】
本実施の形態の搬送車１は、図１に示すように、複数の箱２内に収容されたピッキング対象物（把持対象物）である部品３を当該箱２から夫々ピッキング（把持）して搬送するために、設定され移動経路に沿って移動する搬送ロボットである。
【００１１】
図示例では、第１の棚４ａに第１の箱２ａ及び第２の箱２ｂが配置されており、第２の棚４ｂに第３の箱２ｃが配置されている。第１の箱２ａに第１の部品３ａが収容され、第２の箱２ｂに第２の部品３ｂが収容され、第３の箱２ｃに第３の部品３ｃが収容されている。そして、搬送車１は、第１の箱２ａから第１の部品３ａを把持し、第２の箱２ｂから第２の部品３ｂを把持し、第３の箱２ｃから第３の部品３ｃを把持して搬送する。但し、棚、箱及び部品の数などは特に限定されない。
【００１２】
このような搬送車１は、図１及び図２に示すように、ロボットアーム５及び移動台車６を備えている。ロボットアーム５は、移動台車６に固定されている。ロボットアーム５としては、一般的なマニピュレータを用いることができ、例えば、先端部に多指ハンド（以下、単にハンドと省略する場合がある。）５ａを備えている。このようなロボットアーム５は、処理部９から出力される制御指令データに基づいて制御される。
【００１３】
移動台車６は、図２に示すように、検出部７、左右の駆動輪８Ｌ、８Ｒ、処理部９及び記憶部１０を備えている。ちなみに、移動台車６は、図示を省略するが、部品３を載置する載置部（例えば、通箱）を備えていることが好ましい。
【００１４】
検出部７は、搬送車１の周辺環境を検出する。検出部７としては、例えば、Ｋｉｎｅｃｔ（登録商標）センサなどを用いることができる。但し、検出部７は、搬送車１の周辺環境を検出することができるセンサであれば、特に限定されない。検出部７は、検出した周辺環境データを処理部９に出力する。
【００１５】
左右の駆動輪８Ｌ、８Ｒは、図示を省略した、車輪、モータ、減速機及びエンコーダなどを備えている。エンコーダは、検出したモータの回転角速度データを処理部９に出力する。このような左右の駆動輪８Ｌ、８Ｒのモータは、処理部９から出力される制御指令データに基づいて制御される。
【００１６】
処理部９は、詳細は後述するが、複数の箱２内に収容された部品３を当該箱２から夫々把持して搬送するために、移動経路を設定する。また、処理部９は、設定した移動経路に沿って搬送車１が移動しつつ、箱２から部品３を把持するように、左右の駆動輪８Ｌ、８Ｒのモータの制御指令データ及びロボットアーム５の制御指令データを生成して出力する。
【００１７】
記憶部１０は、箱２の形状及び配置を示すデータ、箱２に収容されている部品３の種類を示すデータ、部品３の形状及び重量などを示すデータ、把持する部品３の種類を示すデータ、棚４の形状及び配置を示すデータ、ロボットアーム５の可動範囲を示すデータ及びハンド５ａの把持姿勢のデータベースなどが格納される。
【００１８】
次に、本実施の形態の搬送車１の移動経路設定方法によって当該搬送車１の移動経路を設定し、設定した移動経路に沿って把持対象物を搬送する流れを説明する。図３は、本実施の形態の把持対象物を搬送する流れを示すフローチャート図である。図４は、本実施の形態での搬送車のスタート位置及びゴール位置を模式的に示す図である。図５は、本実施の形態での搬送車におけるロボットアームのピッキング可能位置を模式的に示す図である。
【００１９】
先ず、処理部９は、搬送車１の移動経路を設定するために、記憶部１０から箱２の形状及び配置を示すデータ、箱２に収容されている部品３の種類を示すデータ、部品３の形状及び重量などを示すデータ、把持する部品３の種類を示すデータ、棚４の形状及び配置を示すデータ、ロボットアーム５の可動範囲を示すデータなどを読み出す（Ｓ１）。
【００２０】
次に、搬送車１が部品３を把持する際のハンド５ａの把持姿勢のデータベースを構築する（Ｓ２）。ここで、データベースの構築は、図示を省略したシミュレータなどを用いて行う。このようなデータベースを構築する手順は、例えば、以下のフェーズを備えている。
【００２１】
＜フェーズ１＞
先ず、シミュレータは、部品３の形状（幾何モデル）に対して最適な分割数を決めるための評価指標を導き出す。詳細には、シミュレータは、領域分割数決定方法によって、以下の条件１を満たすまでクラスタをマージする。
【００２２】
＜条件１＞
誤差（error）＞０．０１、且つ、クラスタの重なり度＜０．２であって、クラスタの重なり度は、以下の＜数１＞のように導き出す。
【００２３】
【数１】
0006641804.tif 000002
但し、volmaxは最大クラスタ領域のバウンディングボックスの体積、overlapvoliは最大クラスタ領域とクラスタｉのバウンディングボックスが重なった領域の体積である。
【００２４】
＜フェーズ２＞
シミュレータは、＜フェーズ１＞で導き出した評価指標を最小化するように、部品３の幾何モデルを一般的な方法（例えば、辻、原田、山野辺、永田、中村、長谷川、”一般物体把持のための把持姿勢変換”、ロボティクスシンポジア講演稿集、pp.219-224、2013）に基づいて分割（クラスタリング）する。これにより、部品３の幾何モデルに複数の２次曲面が割り当てられる。
【００２５】
＜フェーズ３＞
シミュレータは、２次曲面として楕円や円が割り当てられたものに対しては、これらのバウンディングボックスを導き出す。なお、バウンディングボックスの３辺長が部品３全体のバウンディングボックスの３辺長の０．１５倍（但し、倍数は適宜変更することができる。）より小さいクラスタ領域は、把持点探索の対象外とする。
【００２６】
＜フェーズ４＞
シミュレータは、＜フェーズ３＞で導き出したバウンディングボックスを、例えば、原田、辻、金子、金広、丸山、”直方体モデルに基づく多指ハンドの把握計画”、日本機械学会誌（Ｃ編）、vol.76、no.762、pp.331-339、2010で定義したＧＲＣ（Grasping Rectangular Convex）とみなし、ＧＲＣの曲面に離散化した点を仮定し、この点にアプローチするように仮想的にハンド５ａを動かす。
【００２７】
＜フェーズ５＞
シミュレータは、＜フェーズ４＞におけるハンド５ａの姿勢から当該ハンド５ａの指が部品３と接触するまで仮想的に当該指を閉じる。
【００２８】
＜フェーズ６＞
シミュレータは、仮想的に全ての指が部品３と接触した時点で、例えば、原田、辻、宇都、山野辺、永田、”ソフトフィンガ型把持の安定性解析”、計測自動制御学会システムインテグレーション部門講演会予稿集、2013に開示された手法で把持安定性をチェックする。チェックを行って安定性が満たされないと判断した場合は、チェックをしたハンド５ａの把持姿勢は対象体とする。
【００２９】
上述の離散化した点に対して＜フェーズ５＞及び＜フェーズ６＞を繰り返すことで、各部品３に対してハンド５ａの把持姿勢のデータベースを構築することができる。なお、データベースにおける各データは、部品３の座標系からみたロボットアーム５の手首の位置データ、部品３の座標系からみたロボットアーム５の手首の姿勢行列データ、及びハンド５ａの指の関節角度ベクトルデータを備える。
【００３０】
上述の＜フェーズ１＞〜＜フェーズ６＞を部品３とハンド５ａとの全てのペアに対して行って、部品３とハンド５ａとの全てのペアに対して当該ハンド５ａの把持姿勢のデータベースを構築し、当該データベースを記憶部１０に格納する。なお、ハンド５ａの把持姿勢のデータベースは、予め記憶部１０に格納されていてもよい。
【００３１】
次に、処理部９は、搬送車１、ひいては移動台車６の位置の系列（移動経路）を設定する（Ｓ３）。移動台車６の移動経路を設定する手順は、例えば、以下のフェーズを備えている。ここで、搬送車１は、図４に示す位置をスタート位置及びゴール位置とする。
【００３２】
＜フェーズＩ＞
処理部９は、箱２内のどの位置に部品３が置かれていても、左右どちらか一方のロボットアーム５を用いて部品３を把持することができるような移動台車６の位置に関する領域（ピッキング可能位置）を導き出す。つまり、処理部９は、箱２の形状並びに配置、箱２に収容されている部品３の種類、部品３の形状及び重量、把持する部品３の種類、棚４の形状及び配置、ロボットアーム５の可動範囲及びハンド５ａの把持姿勢のデータベースなどに基づいて、少なくとも何れか１つのロボットアーム５による部品３の把持が可能なロボットアーム可動範囲内に箱２内の全ての空間が含まれる搬送車１のピッキング可能位置を取得する。ここで、＜フェーズＩ＞の搬送車１のピッキング可能位置を導き出す手順は、以下のステップを備えている。
【００３３】
＜ステップ１＞
処理部９は、箱２の底面を離散化した全ての点に対して、部品３をハンド５ａで安定して把持できるような移動台車６の位置を導き出す。
【００３４】
＜ステップ２＞
処理部９は、移動台車６の動作領域（移動台車６が走行可能な領域）を離散化した点のうち、＜ステップ１＞で導き出した点（例えば、箱２の四隅のうち一つの角部）に最も近い点を選び、移動台車６を選んだ点に置いた場合に箱２の底面を離散化した点全てに部品３を置いてもハンド５ａが安定して部品３を把持できるか否かをチェックする。安定して把持できないと判断した場合は、チェックした点は対象外とする。
【００３５】
＜ステップ３＞
処理部９は、＜ステップ２＞で導き出した点から始め、移動台車６の動作領域を離散化した点のうち、隣接した点（例えば、箱２の四隅のうち残りの三つの角部及び当該箱２の中央位置に最も近い点）について順次、箱２の底面を離散化した点全てに部品３を置いてもハンド５ａが安定して当該部品３を把持できるか否かをチェックする。安定して把持できないと判断した場合は、チェックした点は対象外とする。
【００３６】
本実施の形態では、上述の＜ステップ１＞〜＜ステップ３＞により搬送車１のピッキング可能位置を導き出した場合、図５に示すように、領域１が第１の箱２ａ内の全ての第１の部品３ａを右側のロボットアーム５で把持可能な搬送車１のピッキング可能位置となり、領域２が第１の箱２ａ内の全ての第１の部品３ａを左側のロボットアーム５で把持可能な搬送車１のピッキング可能位置となる。また、領域３が第２の箱２ｂ内の全ての第２の部品３ｂを右側のロボットアーム５で把持可能な搬送車１のピッキング可能位置となり、領域４が第２の箱２ｂ内の全ての第２の部品３ｂを左側のロボットアーム５で把持可能な搬送車１のピッキング可能位置となる。さらに、領域５が第３の箱２ｃ内の全ての第３の部品３ｃを右側のロボットアーム５で把持可能な搬送車１のピッキング可能位置となり、領域６が第３の箱２ｃ内の全ての第３の部品３ｃを左側のロボットアーム５で把持可能な搬送車１のピッキング可能位置となる。
【００３７】
＜フェーズII＞
処理部９は、＜フェーズＩ＞で導き出した搬送車１のピッキング可能位置に基づいて、移動台車６が停止した状態で左右のロボットアーム５を選択的に利用して、二つ以上の箱２から部品３を把持できる領域を導き出す。つまり、処理部９は、複数の箱２に対するピッキング可能位置の共通領域を取得する。
【００３８】
本実施の形態では、領域１並びに領域２を含む第１の箱２ａの第１の部品３ａを把持可能な領域７と、領域３並びに領域４を含む第２の箱２ｂの第２の部品３ｂを把持可能な領域８と、の共通領域、及び領域８と、領域５並びに領域６を含む第３の箱２ｃの第３の部品３ｃを把持可能な領域９と、の共通領域、及び領域７と領域９との共通領域を夫々導き出す。その結果、本実施の形態では、図５に示すように、領域７と領域８との共通領域として領域１０を取得する。
【００３９】
＜フェーズIII＞
処理部９は、＜フェーズＩ＞で導き出した搬送車１のピッキング可能位置及び＜フェーズII＞で導き出した共通領域に基づいて、搬送車１の停止回数が最小で、且つ移動距離が最小になる搬送車１の移動経路を分岐限定法とシミュレーティッドアニーリング法とに基づいて導き出して設定する。このとき、処理部９は、複数の箱２から搬送作業を行う際の搬送車１の停止位置を＜フェーズII＞で導き出した共通領域内に設定する。本実施の形態では、領域１０内に搬送車１の停止位置を設定する。ここで、図示例では、・で搬送車１の停止位置を示し、破線で搬送車１の移動経路を示している。
【００４０】
分岐限定法とシミュレーティッドアニーリング法とに基づいて搬送車１の移動経路を導き出す手法は、例えば、原田、辻、菊地、永田、音田、河井、”双腕移動ロボットによる部品供給作業計画”、ロボティクスシンポジア講演予稿集の７章に開示の手法を用いることができる。
【００４１】
次に、処理部９は、図１に示すように、Ｓ３の工程で設定した搬送車１の移動経路に沿って当該搬送車１が移動するように左右の駆動輪８Ｌ、８Ｒを制御する（Ｓ４）。そして、処理部９は、搬送車１がゴール位置に到達したか否かを判定する（Ｓ５）。
【００４２】
処理部９は、搬送車１がゴール位置に到達していないと判断した場合（Ｓ５のＮＯ）、部品３の位置・姿勢を導き出す（Ｓ６）。つまり、搬送車１が移動経路内の所定の停止位置に到達すると、検出部７を用いて部品３の位置・姿勢を導き出す。本実施の形態では、検出部７を用いて箱２内の一つの部品３のポイントクラウドを検出し、処理部９が部品３のポイントクラウドを記憶部１０から読み出した情報が示す部品３の形状と照らし合わせて、部品３の位置・姿勢を導き出す。
【００４３】
次に、処理部９は、部品３の把持動作を実行する（Ｓ７）。詳細には、処理部９は、箱２に収容されている部品３の位置・姿勢を導き出すと、この絶対座標系からみた部品３の位置を表す３次元の位置ベクトルをＰｏとし、部品３の姿勢を表す３×３の回転行列をＲｏとする。ここで、Ｓ１の工程で、部品３毎にハンド５ａの把持姿勢のデータベースが得られている。
【００４４】
次に、処理部９は、データベースの第ｉ番目のデータに含まれる部品３の座標系からみたロボットアーム５の手首の位置をｏＰｗｉ、ロボットアーム５の手首の姿勢を表す行列をｏＲｗｉ、ハンド５ａの指関節の関節角ベクトルをｑｉとし、絶対座標系からみたロボットアーム５の手首の目標位置・姿勢を以下の＜式１＞により定義する。
【００４５】
＜式１＞
Ｐｗｉ＝Ｐｏ＋Ｒｏ×ｏＰｗｉ
Ｒｗｉ＝Ｒｏ×ｏＲｗｉ
【００４６】
処理部９は、定義したロボットアーム５の手首の位置・姿勢に対して逆運動学計算を解く。これにより、ロボットアーム５の把持姿勢における目標関節角度が得られる。この逆運動学計算をデータベースの最初のデータから順次行う。
【００４７】
処理部９は、逆運動学計算が解けると、初期姿勢から部品３の把持姿勢まで、さらに部品３の把持姿勢から当該部品３を移動台車６の載置部に置く姿勢まで、ロボットアーム５が障害物を避けながら動作する軌道を生成する。軌道生成は、例えば、G.Sanchez and J.-C. Latombe, “A Single-Query Bi-Directional Probabilistic Roadmap Planner with Lazy Collision Checking”, Robotics Research, Springer Tracts in Advanced Robotics, vol.6, pp.403-417,2003に開示の手法を用いることができる。
【００４８】
ここで、図６は、ロボットアームの軌道生成の流れを示すフローチャート図であり、上述のロボットアーム５の軌道生成の流れを図で表すと、図６に示すフローチャート図となる。
【００４９】
処理部９は、搬送車１がゴール位置に到達していると判断した場合（Ｓ５のＹＥＳ）、部品３の搬送作業を終了する。
【００５０】
このように本実施の形態の搬送車１の移動経路設定方法は、複数の箱２に対して部品３を把持可能な領域内に、当該複数の箱２から搬送作業を行う際の搬送車１の停止位置を設定する。つまり、移動台車６に対して動作速度が速いロボットアーム５を積極的に動作させて、当該ロボットアーム５によって複数の箱２から部品３を把持する。そのため、ロボットアーム５に対して動作速度が遅い移動台車６の移動距離を抑制することができ、効率的な部品３の搬送作業を行うことができる。
【００５１】
以上、本発明を上記実施の形態に即して説明したが、本発明は上記実施の形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。
【符号の説明】
【００５２】
１  搬送車
２  箱、２ａ  第１の箱、２ｂ  第２の箱、２ｃ  第３の箱
３  部品、３ａ  第１の部品、３ｂ  第２の部品、３ｃ  第３の部品
４  棚、４ａ  第１の棚、４ｂ  第２の棚
５  ロボットアーム、５ａ  ハンド
６  台車
７  検出部
８Ｌ、８Ｒ  駆動輪
９  処理部
１０  記憶部
【図１】
0006641804.tif 000003
【図２】
0006641804.tif 000004
【図３】
0006641804.tif 000005
【図４】
0006641804.tif 000006
【図５】
0006641804.tif 000007
【図６】
0006641804.tif 000008