(57)【特許請求の範囲】
【請求項１】
複数種類の荷物を搬送するコンベア、前記コンベアにより搬送される荷物の種類を判別するビジョンセンサ、前記ビジョンセンサにより判別された荷物の種類に基づいて前記荷物を仕分けする作業を行うロボット、及び前記ロボットにより種類別に仕分けされた荷物が載置される複数のパレットを含むパレタイジングシステムにおいて、前記ロボットのためのパレタイジングプログラムを生成するロボットプログラミング装置であって、
前記複数種類の荷物、前記コンベア、前記ビジョンセンサ、前記ロボット及び前記複数のパレットの３次元モデルを記憶する記憶部と、
前記記憶部に記憶された前記３次元モデルのレイアウトを仮想空間内で作成するレイアウト作成部と、
前記レイアウトを画面表示する表示部と、
前記表示部に表示された各機器に関する情報を設定する情報設定部と、
前記３次元モデルのレイアウト、及び前記情報設定部に設定された情報に基づいて、各荷物が前記コンベアの荷取り位置に到着したときに前記ビジョンセンサが各荷物の判別結果を出力するアルゴリズムを含む、前記ロボットのパレタイジングプログラムを生成するプログラム生成部と、
を有するロボットプログラミング装置。
【請求項２】
前記プログラム生成部により生成されたパレタイジングプログラムに基づきシミュレーションを行うシミュレーション実行部をさらに有する、請求項１に記載のロボットプログラミング装置。
【請求項３】
前記シミュレーションは３次元のアニメーション形式で実行される、請求項２に記載のロボットプログラミング装置。
【請求項４】
荷物を積み上げたときの荷物の高さ方向の圧縮量を計算する圧縮量計算部をさらに有し、前記プログラム生成部は荷物の取り出し高さの補正を自動で行うプログラムを生成する、請求項１〜３のいずれか１項に記載のロボットプログラミング装置。
【請求項５】
前記情報設定部に設定される情報は、前記ビジョンセンサによる複数種類の荷物の検出、前記パレットへの荷物の積付パターン、前記ロボット、前記コンベア及び前記ビジョンセンサ間の入出力情報、並びに前記ロボットに取り付けられるハンドの形状及び動作条件の少なくとも１つを含む、請求項１〜４のいずれか１項に記載のロボットプログラミング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットを用いて荷物を仕分けするパレタイジング作業を行うためのパレタイジングプログラムを作成するロボットプログラミング装置に関する。
【背景技術】
【０００２】
パレタイジングプログラムを作成するプログラミング装置は、複数種の物体を搬送する混流コンベアから、それらの物体を種類毎に仕分けしてパレット等に載置するいわゆるパレタイジングをロボットを用いて行うために使用される。例えば特許文献１には、扱う物品の積付け状態を画面表示できる荷姿表示装置と、表示された物品の所要箇所を指定し、この所要箇所からの産業ロボットの積付け作業の再開要領が入力される位置入力装置とを備えた荷扱い装置が開示されている。
【０００３】
また特許文献２には、複数の物体の距離画像を生成する手段等を用いて、簡単な装置構成で短時間で物体の３次元的な位置が把握できる画像処理装置及び物体移送装置が開示されている。
【０００４】
【特許文献１】特許第３２２５７２５号公報
【特許文献２】特許第２９２１４９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
パレタイジング作業のロボットプログラムとして、現場の実際のロボットにティーチングプレイバック方式で混流コンベアの荷物を仕分けするためのプログラムが知られているが、このプログラムの作成には多くの時間が必要であった。一方、混流コンベアからロボットを使用して仕分けをおこなうロボットプログラムを作成するパーソナルコンピュータ（ＰＣ）用ソフトウェアを利用する技術も公知である。しかしこの場合、現場でＰＣを実際のロボットすなわち実機に接続して動作確認を行う必要があった。このようにＰＣ用ソフトウェアを使用して、現場で実機とＰＣとを接続してプログラムをダウンロードする方法では、コンベア基準位置、パレット基準位置等を設定するために実機を操作する作業が必要であった。
【０００６】
そこで本発明は、パレタイジング作業のプログラムの作成に必要な実機ロボットの操作を削減し、パレタイジングプログラムの作成に要する時間を短縮することを可能にしたロボットプログラミング装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、請求項１に記載の発明は、複数種類の荷物を搬送するコンベア、前記コンベアにより搬送される荷物の種類を判別するビジョンセンサ、前記ビジョンセンサにより判別された荷物の種類に基づいて前記荷物を仕分けする作業を行うロボット、及び前記ロボットにより種類別に仕分けされた荷物が載置される複数のパレットを含むパレタイジングシステムにおいて、前記ロボットのためのパレタイジングプログラムを生成するロボットプログラミング装置であって、前記複数種類の荷物、前記コンベア、前記ビジョンセンサ、前記ロボット及び前記複数のパレットの３次元モデルを記憶する記憶部と、前記記憶部に記憶された前記３次元モデルのレイアウトを仮想空間内で作成するレイアウト作成部と、前記レイアウトを画面表示する表示部と、前記表示部に表示された各機器に関する情報を設定する情報設定部と、前記３次元モデルのレイアウト、及び前記情報設定部に設定された情報に基づいて、各荷物が前記コンベアの荷取り位置に到着したときに前記ビジョンセンサが各荷物の判別結果を出力するアルゴリズムを含む、前記ロボットのパレタイジングプログラムを生成するプログラム生成部と、を有するロボットプログラミング装置を提供する。
【０００８】
請求項２に記載の発明は、請求項１に記載のロボットプログラミング装置において、前記プログラム生成部により生成されたパレタイジングプログラムに基づきシミュレーションを行うシミュレーション実行部をさらに有する、ロボットプログラミング装置を提供する。
【０００９】
請求項３に記載の発明は、請求項２に記載のロボットプログラミング装置において、前記シミュレーションは３次元のアニメーション形式で実行される、ロボットプログラミング装置を提供する。
【００１０】
請求項４に記載の発明は、請求項１〜３のいずれか１項に記載のロボットプログラミング装置において、荷物を積み上げたときの荷物の高さ方向の圧縮量を計算する圧縮量計算部をさらに有し、前記プログラム生成部は荷物の取り出し高さの補正を自動で行うプログラムを生成する、ロボットプログラミング装置を提供する。
【００１１】
請求項５に記載の発明は、請求項１〜４のいずれか１項に記載のロボットプログラミング装置において、前記情報設定部に設定される情報は、前記ビジョンセンサによる複数種類の荷物の検出、前記パレットへの荷物の積付パターン、前記ロボット、前記コンベア及び前記ビジョンセンサ間の入出力情報、並びに前記ロボットに取り付けられるハンドの形状及び動作条件の少なくとも１つを含む、ロボットプログラミング装置を提供する。
【発明の効果】
【００１７】
本発明によれば、パレタイジングプログラムの作成で必要な実機ロボットの操作を削減することができ、パレタイジングプログラムの作成にかかる時間を短縮することができる。
【００１８】
また、作成したパレタイジングプログラムのシミュレーションを行うことにより、実機の操作を行わずに干渉の有無等の確認を行うことができる。
【００１９】
さらに、シミュレーションを３次元のアニメーションで行うことにより、使用者が理解しやすいシミュレーションを提供することができる。
【００２０】
扱う荷物に圧縮性があるときには、荷物を積んだときの圧縮量を考慮したパレタイジングのロボットプログラムを生成することができる。
【００２１】
またビジョンセンサを用いることにより、圧縮量の測定が容易になる。
【００２２】
さらに圧縮量を測定するビジョンセンサをロボットの手先に取り付けることにより、ビジョンセンサの設置スペースを節約することもできる。
【００２３】
本発明によれば、パレタイジングシステムに含まれる各機器の具体的な情報内容が提供される。
【００２４】
コンベア上の荷物の種類を切り替える切替装置を使用する場合、当該切替装置を荷物の判別装置として使用することができ、システム全体の簡素化が図られる。
【００２５】
あるいは、荷物にＲＦタグが取り付けられている場合は、判別装置としてＲＦタグを検出する非接触式センサを用いることもできる。
【００２６】
あるいは、判別装置にビジョンセンサを使用することにより、荷物の種類が増えた場合であってもビジョンセンサを再設定することで容易かつ迅速に対応できる。また荷物の種類を判別する必要がなくなっても、ビジョンセンサであれば他の用途に用いることができる。
【発明を実施するための最良の形態】
【００２７】
図１は、本発明に係るロボットプログラミング装置の基本構成を示すブロック図であり、図２は当該装置の一具体例を示す図である。ロボットプログラミング装置は、例えばパーソナルコンピュータ（以降、ＰＣと略称する）１０であり、後述する各機器の仮想空間内でのレイアウトを表示するスクリーン等の表示手段１２と、オペレータによる各種の入力を可能にするキーボード等の入力手段１４とを備える。ロボット等の正確な３次元ＣＡＤモデルは、ＰＣ１０のメモリに保存されている。
【００２８】
図２は、本発明に係るロボットプログラミング装置の基本構成を示すブロック図である。ロボットプログラミング装置は、複数種類の荷物、コンベア、判別装置、ロボット及び複数のパレットの３次元モデルを記憶する記憶部と、記憶部に記憶された３次元モデルのレイアウトを仮想空間内で作成するレイアウト作成部と、レイアウトを画面表示する表示部と、表示部に表示された各機器に関する情報を設定する情報設定部と、３次元モデルのレイアウト、及び情報設定部に設定された情報に基づいてロボットのパレタイジングプログラムを生成するプログラム生成部とを有し、さらにパレタイジングプログラムに基づきシミュレーションを行うシミュレーション実行部、及び荷物を積み上げたときの荷物の高さ方向の圧縮量を計算する圧縮量計算部を有することができる。なお本実施例では、ロボットプログラミング装置の記憶部及び表示部の機能はそれぞれＰＣ１０のメモリ及びスクリーンが担い、他の要素の機能はＰＣ１０のＣＰＵ等の処理装置が担うことができる。
【００２９】
本実施例では、１台のコンベアに大小２種類の荷物がランダムなタイミングで到着し、吸着ハンドを備えたロボットを用いてそれらを種類別に２つのパレットに積んでいく作業をシミュレートする。実機では、コンベア上の荷物の種類を判別するビジョンセンサ等の判別装置が配設され、ロボットは判別装置からの信号によってコンベアから取り出せる荷物の種類を認識し、その種類に対応したパレットに荷物を積む作業を行う。本発明によれば、以下に説明するように、このような作業を３次元モデルを用いて、実機の操作をせずに正確にシミュレートすることができる。
【００３０】
図３は、本発明に係るロボットプログラミング装置の処理の流れを示すフローチャートである。先ずステップＳ１において、大小２種類の荷物の寸法（長さ、幅及び高さ等）を設定する。次にステップＳ２において、設定された荷物に対応するロボット、ハンド、コンベア、パレット及び判別装置等の各機器の３次元ＣＡＤモデルを、ＰＣのメモリに記憶されているものの中から選択する。具体的には、パレタイジング用ロボットの機種の選定、コンベアの機種の選定、コンベアの送り速度の設定、コンベア上の荷物の荷取り位置への荷物の到着頻度、パレットのサイズ、パレットの置き位置の決定、ハンドの種類の選定、及び荷物判別装置の機種の選定等が行われる。ここではハンドは吸着式か、あるいは空気圧式又はサーボ式の挟み込むタイプのものを使用する。なおコンベア及びパレットのサイズは、実物に合わせて微調整することができる。
【００３１】
次のステップＳ３では、ＰＣすなわちプログラミング装置の仮想空間内で、選定されたロボット、ハンド、コンベア、パレット及び判別装置の３次元ＣＡＤモデルを配置してレイアウトを作成する。図４はその一例である。レイアウトはロボット２０の原点を中心に行い、ロボット２０にハンド２２を装着させることでロボット２０の動作範囲が決定される。またロボット２０の荷物保持時の姿勢も決定される。ロボットの動作範囲は、プログラミング装置によりグラフィカルに表示させることができる。大小２種類の荷物用の第１パレット２４及び第２パレット２６とコンベア２８とを、荷取り位置がロボット２０の動作範囲内に収まるように配置する。またコンベア上を搬送されてくる荷物の種類を判別する判別装置としてビジョンセンサ３０を、コンベア２８の荷取り位置の横から見るように配置する。
【００３２】
レイアウト内のロボット２０及びハンド２２等の３次元ＣＡＤモデルは実際の形状と等しく構築されており、故にロボットの動作範囲の確認や、シミュレーションを行うときに他の３次元ＣＡＤモデルとの干渉の有無の確認を正確に行うことができる。ここで各３次元モデルは、実物に合わせて正確に構築されていることが好ましいが、少なくとも各機器の正常な動作や機器間の干渉の有無等を事前に確認できる程度に正確なものであることが要求される。またコンベアの機種、送り速度、荷物の到着頻度は現場の物流システムの要件で定まるが、本実施例では、送り速度は一定、荷物の到着頻度は不定、機種は一般的なものを想定している。
【００３３】
次のステップＳ４において、プログラミング装置で用意されているパレット積付パターンを設定する。ここでは、図１に示すレイアウト上面のように大き目の第１荷物３２及び小さめの第２荷物３４がコンベア２８によって搬送されるものとし、第１荷物３２の積付パターンを第１パレット２４、第２荷物３４のパレット積付パターンを第２パレット２６に設定する。設定されるパレット積付パターンはＪＩＳ  Ｚ０１１１等で規定されているものであり、例えば、第１荷物に対して交互列積み、第２荷物に対してレンガ積みを設定することができる。次に、各パレットの段ごとに荷物の積み順を設定する。偶数段はパレット積付パターンを反転したものになっており、この場合の荷物の積み順も設定する。積付パターンは予め用意された複数のパターンの中から選択可能であり、層毎に反転を設定し、また各層の荷物の置き順も設定することができる。
【００３４】
次にステップＳ５において、各機器間の入出力信号すなわちＩ／Ｏの設定を行う。設定が必要なＩ／Ｏは次の通りである。
入力信号
（ａ）荷物到着信号
荷取り位置に荷物が到着したことをＯＮ／ＯＦＦで表す信号である。通常は、荷物の種類の数だけチャネルが用意される。本実施例では荷物は２種類あるため、荷物到着信号ａ１及びａ２を使用する。
（ｂ）パレット着座信号
パレットがパレット位置にあることをＯＮ／ＯＦＦで表す信号である。この信号が有効であるとき、ロボットはパレットに移動し、荷物を積み付ける。本実施例ではパレットの置き位置が２つあるので、パレット着座信号ｂ１及びｂ２を使用する。
（ｃ）作業中止信号
何らかの要因により作業を中止すべき状態か否かをＯＮ／ＯＦＦで表す信号である。作業中止信号は荷物を１つ処理する毎にチェックされ、当該信号が有効な状態（ＯＮ）であれば、残りの作業を中断して原位置に戻ってプログラムを終了する。
（ｄ）スキップ指令信号
エラー発生後の再起動時に、現在処理中の荷物の処理を続行するか否かをＯＮ／ＯＦＦで表す信号である。スキップ指令信号はエラー発生後の再起動時にチェックされ、当該信号が有効な状態（ＯＮ）であれば、現在処理中の荷物は無かったことにして、次の荷物をもう一度取りに行く所からやり直す。
（ｅ）パレット交換中信号
パレット交換中であることをロボットにＯＮ／ＯＦＦで知らせる信号である。パレット交換中信号は、パレットの交換が完了するまで有効な状態（ＯＮ）に保持される。本実施例ではパレットの置き位置が２つあるため、パレット交換中信号ｅ１及びｅ２を使用する。
【００３５】
出力信号
（ｆ）パレット交換指令信号
パレットの交換を指令するための信号である。パレット交換指令信号は、パレットに所定数の荷物を積み上げた後に有効な状態（ＯＮ）を出力する。本実施例ではパレットは２つあるため、パレット交換指令信号ｆ１及びｆ２を使用する。
（ｇ）荷物保持確認信号
ハンドで荷物を保持していることを確認する信号である。荷物保持確認信号は、ハンドが荷物を吸着又は把持しているときはＯＮを出力する。
【００３６】
なお上記以外にもＩ／Ｏとして、パレット間への合紙の挿入を指令するための合紙挿入指令信号、合紙の挿入作業中であることを表す合紙挿入中信号、上記スキップ指令信号に基づくスキップ動作が行われていることを確認するためのスキップ確認信号等を使用することもできる。
【００３７】
次のステップＳ６では、ビジョンセンサのキャリブレーションを行う。図４に示すように本実施例ではビジョンセンサ３０はコンベア２８の荷取り位置を横から見る方向に設置されているので、荷物のサイズからその荷物の種類を判別できるようにすることができる。またビジョンセンサは、荷物の検出後にロボットに信号を送ることもできる。
【００３８】
次にステップＳ７において、上述の設定に基づいてロボットのパレタイジングプログラムを生成し出力する。プログラムは複数に分割することができ、その場合はメインプログラムを実行することで、他のプログラムをメインプログラムから呼び出すことができる。以下に、メインプログラムのアルゴリズムの一例を示す。
アルゴリズム例
１：荷物の判別装置、コンベア、及び外部のシステムの起動を確認
２：メインプログラムを実行
３：第１荷物のパレタイジングの個数をレジスタにセット
４：第２荷物のパレタイジングの個数をレジスタにセット
５：コンベアの荷取り位置を位置レジスタにセット
６：第１パレットの基準位置を位置レジスタにセット
７：第２パレットの基準位置を位置レジスタにセット
８：第１パレットの１段目の荷物のそれぞれの置き位置を位置レジスタにセット
９：第２パレットの２段目の荷物のそれぞれの置き位置を位置レジスタにセット
１０：コンベアの荷取り位置から第１パレットに荷物を置きに行くときの第１通過点を位置レジスタにセット
１１：コンベアの荷取り位置から第２パレットに荷物を置きに行くときの第２通過点を位置レジスタにセット
１２：荷物到着信号ａ１又はａ２のどちらかがＯＮになるまで待機
なおこの間、ビジョンセンサは常に稼動しており、コンベアの荷取り位置に各荷物が到着したときに荷物の判別結果を出力し、荷物の種類に応じて荷物到着信号ａ１又はａ２をロボットに送信する。
１３：第１パレットに第１荷物を置くパレタイジング作業を開始（荷物到着信号ａ１がＯＮになった場合）
１３′：第２パレットに第２荷物を置くパレタイジング作業を開始（荷物到着信号ａ２がＯＮになった場合）
【００３９】
以下、第１荷物及び第２荷物のいずれであっても、使用するアルゴリズムは同じであるため、第１荷物について記載する。
１４：ロボットが位置レジスタを読み込んで荷取り位置に移動し、第１荷物を保持
具体的には、ロボットは第１荷物の寸法データに基づいて第１荷物の中心にハンドを移動させ、第１荷物を吸着又は把持する。ここでロボットは上述の荷物保持確認信号が有効であることを確認し、有効でなければ一時停止する。なおエラーが起こって一時停止した場合は、再開時に上述のスキップ指令信号を受信していれば、エラーが発生したときの荷物をカウントせずに作業を再開する。
１５：ロボットが荷取り位置から第１通過点に移動
１６：第１パレットの基準位置、第１荷物の積み段、選定された積付パターンにおける各荷物の位置、及び現在の第１パレットへの荷物の積付順番を使用して、荷物の積み位置を計算
１７：ロボットが荷物の積み位置に荷物を載置
１８：現在の第１パレットの積み順から、第１パレットの積載が完了しているかどうかを確認
ここで第１パレットの積載が完了していたら、パレット交換指令信号ｆ１が出力される。パレットの交換中は、周辺機器からロボットに対してパレット交換中信号ｅ１が送信される。またロボットは、パレット交換中信号ｅ１がＯＦＦになるまで待機するか、別のパレットへの荷物がコンベアの荷取り位置に到着している場合には荷物を取りに行く。
１９：以上の操作を、所定数の荷物のパレタイジングが完了するまで繰り返す。
【００４０】
ステップＳ８では、上述のアルゴリズムに基づき作成されたパレタイジングプログラムにより、ロボットのパレタイジング作業のシミュレーションをアニメーション形式で行う。次のステップＳ９では、実際のロボットすなわち実機の制御装置に当該パレタイジングプログラムを転送すなわちダウンロードする。これにより、ロボットの教示が行えるようになる。最後にステップＳ１０において、ダウンロードしたパレタイジングプログラムに基づいて実機の稼動テストを行う。
【００４１】
以上説明したように、本発明によれば、現場で実機ロボットを使用せずに、パレタイジングプログラムを生成し、そのプログラムに基づく動作確認をシミュレーションで行うことができるようになり、パレタイジングプログラムの作成に必要な実機の操作を削減することができる。また、全てのパラメータを装置の仮想空間内で設定することができるので、パレタイジングプログラムの作成にかかる時間を短縮することができる。また、パレタイジングプログラムのサイクルタイムを精度よく求めることができるようになるため、物流システムの設計に役立てることができる。
【００４２】
以下、本発明の好適な変形例について説明する。
荷物にＲＦタグを取り付けて、上述のビジョンセンサの代わりに、コンベアの荷物の停止位置の近くにＲＦ（Radio Frequency）タグを非接触で読み取るセンサを設けてもよい。なおＲＦタグとは、誘導電磁界又は電波によって、非接触で半導体メモリのデータを読み出し、又はデータを書き込むための近距離通信を行うために、ＩＣチップ及びアンテナがパッケージ化されたものであり、本変形例ではそのタグが取り付けられている荷物の種類に関する情報が書き込まれている。この情報を非接触式のセンサで読み取り、荷物の種類の情報を表す判別信号をロボットの制御装置に送信することにより、荷物の種類の判別を行うことができる。
【００４３】
コンベアで流れる荷物の種類が一定期間ごとに切り替えられる場合は、その切替のための切替装置を荷物の判別装置として利用することができる。予め複数種類の荷物の仕分けをできるロボットプログラムを作成し、当該切替装置からロボットシステムの制御装置に切替信号を送ることにより、種類別にパレタイジング作業を行うことができる。
【００４４】
積荷が折りたたまれたダンボールの結束や雑誌の結束等、積み重ねたときに下層の荷物が上層の荷物の重さで圧縮されるような場合は、二層の荷物を積み重ねたときの最下層の圧縮高さと三層の荷物を積み重ねたときの最下層の圧縮高さとを測定することで、各層の圧縮量を計算することができる。この圧縮量を用いて、圧縮高さと積層数との線形関係を仮定し、高さ補正を行いながら取り出しを行うロボットプログラムを生成することができる。積荷に圧縮性があるときは、このようにして圧縮量を考慮したパレタイジングのロボットプログラムを生成することができる。
【００４５】
また、荷物一層あたりの圧縮量を計算する代わりに、ビジョンセンサを使用して積荷を撮影し、得られた画像から圧縮量を読み取ることで取り出し時に高さ補正を行うロボットプログラムを生成することもできる。この場合、パレット毎にビジョンセンサを設置して計測することが好ましい。
【００４６】
あるいは、ビジョンセンサをロボットの手先に取り付けて、積荷の圧縮高さを読み取ることも可能である。また、ビジョンセンサを荷物の種類の判別もできるように設定しておくことにより、種類別の仕分けも行うことができる。
【図面の簡単な説明】
【００４７】
【図１】本発明に係るロボットプログラミング装置の一具体例を示す図である。
【図２】本発明に係るロボットプログラミング装置の基本構成を示すブロック図である。
【図３】ロボットプログラミング装置の処理の流れを示すフローチャートである。
【図４】ロボットプログラミング装置の仮想空間内での各機器のレイアウト例を示す図である。
【符号の説明】
【００４８】
１０    パーソナルコンピュータ
１２    スクリーン
１４    キーボード
２０    ロボット
２２    ハンド
２４、２６    パレット
２８    コンベア
３０    ビジョンセンサ
３２、３４    荷物
【図１】
0004302160.tif 000002
【図２】
0004302160.tif 000003
【図３】
0004302160.tif 000004
【図４】
0004302160.tif 000005