(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-03
(45)【発行日】2024-04-11
(54)【発明の名称】ロボットシステム、ピッキング方法およびコンピュータプログラム
(51)【国際特許分類】
B25J 5/00 20060101AFI20240404BHJP
B25J 13/08 20060101ALI20240404BHJP
【FI】
B25J5/00 A
B25J13/08 A
(21)【出願番号】P 2022570871
(86)(22)【出願日】2020-12-24
(86)【国際出願番号】 JP2020048364
(87)【国際公開番号】W WO2022137413
(87)【国際公開日】2022-06-30
【審査請求日】2023-03-13
(73)【特許権者】
【識別番号】000000974
【氏名又は名称】川崎重工業株式会社
(74)【代理人】
【識別番号】100131200
【氏名又は名称】河部 大輔
(72)【発明者】
【氏名】西川 隆介
(72)【発明者】
【氏名】▲高▼取 隆志
(72)【発明者】
【氏名】長谷川 嵩大
(72)【発明者】
【氏名】末元 大樹
(72)【発明者】
【氏名】入江 響
(72)【発明者】
【氏名】高山 裕規
(72)【発明者】
【氏名】本間 敏行
【審査官】仁木 学
(56)【参考文献】
【文献】特開2019-093481(JP,A)
【文献】特開2018-158391(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 5/00
B25J 13/08
(57)【特許請求の範囲】
【請求項1】
走行台車、前記走行台車に連結されるアーム、前記アームに連結されるハンドを有し、対象物をピッキングするロボットと、
前記アーム又は前記ハンドに設けられる撮影装置と、
前記ロボットを制御する制御装置とを備え、
前記制御装置は、前記撮影装置で前記対象物を撮影する撮影動作と、前記撮影動作による前記対象物の撮影画像に基づいて求めた前記対象物の位置に前記走行台車の走行を考慮して前記ハンドを前記アームによって移動させる接近動作と、前記ハンドに前記対象物を把持させる把持動作とを含むピッキング動作を、前記走行台車を走行させながら実行
し、
前記ピッキング動作は、前記撮影動作を含み、前記撮影装置が前記対象物に対して静止するように前記走行台車の走行を考慮して前記アームを移動させる静止動作を含むロボットシステム。
【請求項2】
請求項
1に記載のロボットシステムにおいて、
前記接近動作は、前記ハンドが前記対象物に対向する対向位置まで移動するように前記アームを移動させる第1接近動作を含み、前記第1接近動作の後に、前記ハンドを前記対象物の位置に移動させる動作であるロボットシステム。
【請求項3】
請求項
2に記載のロボットシステムにおいて、
前記接近動作は、前記ハンドが前記対向位置から前記対象物と対向する方向に前記対象物の位置まで移動するように前記アームを移動させる第2接近動作を含むロボットシステム。
【請求項4】
請求項
1に記載のロボットシステムにおいて、
前記制御装置は、前記接近動作において前記ハンドが所定時間内に前記対象物の位置までの所定の経由点に到達しない非常時の場合は、前記走行台車を停止させて、前記撮影動作、前記接近動作および前記把持動作を実行するロボットシステム。
【請求項5】
請求項
4に記載のロボットシステムにおいて、
前記接近動作は、前記ハンドが前記対象物に対向する対向位置まで移動するように前記アームを移動させる第1接近動作を含み、前記第1接近動作の後に、前記ハンドを前記対象物の位置に移動させる動作であり、
前記非常時は、前記第1接近動作において前記ハンドが前記所定時間内に前記対向位置に到達しないときであるロボットシステム。
【請求項6】
請求項
1に記載のロボットシステムにおいて、
前記制御装置は、前記接近動作では、前記撮影装置による前記対象物の新たな撮影画像に基づいて、前記静止動作時の前記撮影動作による撮影画像に基づいて求めた前記対象物の位置を更新するロボットシステム。
【請求項7】
請求項
1に記載のロボットシステムにおいて、
前記制御装置は、前記接近動作では、前記静止動作時の前記撮影動作による撮影画像に基づいて求めた前記対象物の位置と、前記走行台車の速度とに基づいて、前記把持動作で前記ハンドが把持する前記対象物の位置を予測し、前記予測した位置に前記ハンドを前記アームによって移動させるロボットシステム。
【請求項8】
請求項1から請求項
7までの何れか1項に記載のロボットシステムにおいて、
前記ハンドは、開閉することによって前記対象物を把持する一対の指を有し、
前記接近動作時における前記一対の指の開き間隔の大きさは、前記対象物の大きさと、前記撮影動作による前記対象物の撮影画像に基づいて前記対象物の位置を求める際に生じる誤差とに基づいて設定されるロボットシステム。
【請求項9】
走行台車、前記走行台車に連結されるアーム、前記アームに連結されるハンドを有するロボットが対象物をピッキングするピッキング方法であって、
前記走行台車を走行させながら、前記アーム又は前記ハンドに設けられた撮影装置で前記対象物を撮影することと、
前記走行台車を走行させながら、前記撮影装置による前記対象物の撮影画像に基づいて求めた前記対象物の位置に前記走行台車の走行を考慮して前記ハンドを前記アームによって移動させることと、
前記走行台車を走行させながら、前記ハンドに前記対象物を把持させることとを含
み、
前記ハンドに前記対象物を把持させることは、前記撮影装置で前記対象物を撮影することを含むと共に、前記撮影装置が前記対象物に対して静止するように前記走行台車の走行を考慮して前記アームを移動させることを含むピッキング方法。
【請求項10】
走行台車、前記走行台車に連結されるアーム、前記アームに連結されるハンドを有するロボットが対象物をピッキングする機能をコンピュータに実現させるコンピュータプログラムであって、
前記走行台車を走行させながら、前記アーム又は前記ハンドに設けられた撮影装置で前記対象物を撮影する機能と、
前記走行台車を走行させながら、前記撮影装置による前記対象物の撮影画像に基づいて求めた前記対象物の位置に前記走行台車の走行を考慮して前記ハンドを前記アームによって移動させる機能と、
前記走行台車を走行させながら、前記ハンドに前記対象物を把持させる機能とをコンピュータに実現させ
、
前記ハンドに前記対象物を把持させる機能は、前記撮影装置で前記対象物を撮影する機能を含むと共に、前記撮影装置が前記対象物に対して静止するように前記走行台車の走行を考慮して前記アームを移動させる静止機能を含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ロボットシステム、ピッキング方法およびコンピュータプログラムに関する。
【背景技術】
【0002】
従来より、倉庫や工場等においてピッキング作業を行う自走式のロボットが知られている。例えば特許文献1に開示のロボットは、ピッキング動作を行うアームおよびハンドが設けられた走行台車を備えている。このロボットは、ピッキングする対象物の置き場所まで走行して停止し、対象物をピッキングした後、再び対象物の搬送場所まで走行していく。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【0004】
しかしながら、ピッキング作業時間の短縮という観点においては、依然として改善の余地がある。
【0005】
本開示の技術は、かかる点に鑑みてなされたものであり、その目的は、ロボットによるピッキング作業時間を短縮することにある。
【0006】
本開示の技術は、走行台車、前記走行台車に連結されるアーム、前記アームに連結されるハンドを有し、対象物をピッキングするロボットと、前記アーム又は前記ハンドに設けられる撮影装置と、前記ロボットを制御する制御装置とを備えたロボットシステムである。前記制御装置は、前記撮影装置で前記対象物を撮影する撮影動作と、前記撮影動作による前記対象物の撮影画像に基づいて求めた前記対象物の位置に前記走行台車の走行を考慮して前記ハンドを前記アームによって移動させる接近動作と、前記ハンドに前記対象物を把持させる把持動作とを含むピッキング動作を、前記走行台車を走行させながら実行する。
【0007】
また、本開示の別の技術は、走行台車、前記走行台車に連結されるアーム、前記アームに連結されるハンドを有するロボットが対象物をピッキングするピッキング方法である。このピッキング方法は、前記走行台車を走行させながら、前記アーム又は前記ハンドに設けられた撮影装置で前記対象物を撮影することと、前記走行台車を走行させながら、前記撮影装置による前記対象物の撮影画像に基づいて求めた前記対象物の位置に前記走行台車の走行を考慮して前記ハンドを前記アームによって移動させることと、前記走行台車を走行させながら、前記ハンドに前記対象物を把持させることとを含む。
【0008】
また、本開示の別の技術は、走行台車、前記走行台車に連結されるアーム、前記アームに連結されるハンドを有するロボットが対象物をピッキングする機能をコンピュータに実現させるコンピュータプログラムであって、前記走行台車を走行させながら、前記アーム又は前記ハンドに設けられた撮影装置で前記対象物を撮影する機能と、前記走行台車を走行させながら、前記撮影装置による前記対象物の撮影画像に基づいて求めた前記対象物の位置に前記走行台車の走行を考慮して前記ハンドを前記アームによって移動させる機能と、前記走行台車を走行させながら、前記ハンドに前記対象物を把持させる機能とをコンピュータに実現させる。
【0009】
前述したロボットシステムによれば、ロボットによるピッキング作業時間を短縮することができる。
【0010】
前述したピッキング方法によれば、ロボットによるピッキング作業時間を短縮することができる。
【0011】
前述したコンピュータプログラムによれば、ロボットによるピッキング作業時間を短縮することができる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、ロボットシステムの構成を示す概略図である。
【
図3】
図3は、制御装置およびその周辺機器のブロック図である。
【
図4】
図4は、制御装置による走行制御を示すフローチャートである。
【
図5】
図5は、制御装置によるピッキング制御を示すフローチャートである。
【
図6】
図6は、準備動作時のロボットを示す概略図である。
【
図7】
図7は、静止動作時のロボットを示す概略図である。
【
図8】
図8は、第1接近動作時のロボットを示す概略図である。
【
図9】
図9は、第2接近動作時のロボットを示す概略図である。
【
図10】
図10は、第2接近動作時のハンドをY軸方向に視て示す概略図である。
【発明を実施するための形態】
【0013】
以下、例示的な実施形態を図面に基づいて詳細に説明する。
【0014】
図1は、ロボットシステム100の構成を示す概略図である。
図2は、ロボット1の正面図である。ロボットシステム100は、ロボット1と、カメラ2と、制御装置3Aおよびロボット制御部3Bとを備えている。
【0015】
ロボットシステム100は、例えば物流倉庫に設けられる。ロボットシステム100は、注文された商品や部品であるワークWをロボット1によってピッキングするピッキングシステムである。物流倉庫には、1つまたは複数の載置台4が配置されている。載置台4には、複数のワークWが収容されたトレー4aが載置されている。ワークWは、ピッキングする対象物の一例である。
【0016】
なお、本開示のロボットシステム100は、物流倉庫以外に例えば工場にも設けられる。その場合、ロボット1は、例えば、製品の組立において必要な部品であるワークWをピッキングする。また、ワークWは、トレー4aには収容されずに、直接、載置台4に置かれていてもよい。また、ワークWは、棚に置かれていてもよい。
【0017】
具体的に、ロボットシステム100では、ロボット1が、載置台4の横を通過(走行)しながら載置台4のワークWをピッキングする。最終的に、ロボット1は、所定の搬出場所(図示省略)まで移動し、ピッキングしたワークWを搬出する。つまり、ロボット1は、原則、載置台4を通過して搬出場所に到着するまで停止することなく走行(移動)し続ける。床には、ロボット1の移動ルートに沿って磁気テープ5が貼られている。
【0018】
ロボット1は、走行台車11と、走行台車11に連結されるアーム12と、アーム12に連結されるハンド13とを有し、載置台4からワークWをピッキングする。
【0019】
ロボット1は、アーム12がいわゆる垂直多関節式である走行ロボットである。ロボット1は、走行台車11が走行することによって移動する。この例では、走行台車11は載置台4の横をX軸方向に走行する。アーム12は、互いに鉛直方向(Z軸方向)に回転可能に連結された複数のリンクで構成されている。また、アーム12の基端は、鉛直方向に回転可能且つ水平方向(XY平面方向)に回転可能に台車11に連結されている。
【0020】
ロボット1は、アーム12によってハンド13を動作、即ち、移動させる。ハンド13は、アーム12の先端に回転可能に連結されている。ハンド13は、載置台4のワークWを把持する。具体的に、ハンド13は、ワークWを把持するための一対の指13aを有している。ロボット1は、一対の指13aを開閉させることによって、ハンド13にワークWを把持させる。
【0021】
走行台車11には、トレー11aが設けられている。トレー11aには、載置台4からピッキングされたワークWがアーム12およびハンド13によって配膳される。また、走行台車11には、磁気センサ11bが設けられている。磁気センサ11bは、磁気テープ5の磁気を検知する。
【0022】
カメラ2は、アーム12又はハンド13に設けられる。この例では、カメラ2はハンド13に設けられている。つまり、カメラ2はハンド13と一体となって移動する。カメラ2は、載置台4のワークWを撮影する。カメラ2は、撮影したワークWの撮影画像(画像データ)を制御装置3Aへ出力する。カメラ2は、撮影装置の一例である。なお、撮影装置としては、カメラ2に代えて、例えばレーザスキャナを用いるようにしてもよい。
【0023】
図3は、制御装置3Aおよびその周辺機器のブロック図である。制御装置3Aは、ロボット1を制御する。具体的に、制御装置3Aは、ロボット制御部3Bを介してアーム12およびハンド13の各種動作を制御する。制御装置3Aは、ロボット制御部3Bと通信可能に構成されている。ロボット制御部3Bは、台車11の内部に設けられている(
図2参照)。ロボット制御部3Bは、制御装置3Aから送信された制御信号に基づいて走行台車11、アーム12およびハンド13を駆動する。
【0024】
制御装置3Aは、通信部31と、記憶部32と、処理部33とを有している。
【0025】
通信部31は、ロボット制御部3Bと通信を行うインターフェースである。また、通信部31は、走行台車11の磁気センサ11bおよびカメラ2とも通信を行う。例えば、通信部31は、ケーブルモデム、ソフトモデムまたは無線モデムで形成されている。
【0026】
記憶部32は、各種プログラム及び各種データを記憶する、コンピュータに読み取り可能な記憶媒体である。記憶部32は、ハードディスク等の磁気ディスク、CD-ROMおよびDVD等の光ディスク、または半導体メモリによって形成されている。
【0027】
具体的に、記憶部32は、地図データ321、載置台データ322、画像データ323およびコンピュータプログラム324等を記憶している。
【0028】
地図データ321は、物流倉庫の地図情報である。載置台データ322は、物流倉庫における載置台4の位置情報である。画像データ323は、ピッキング対象のワークWの画像情報である。これら各種データは、処理部33によって読み出される。
【0029】
コンピュータプログラム324は、ロボット1がワークWをピッキングする各種機能をコンピュータ、即ち、処理部33に実現させるためのプログラムである。コンピュータプログラム324は、処理部33によって読み出されて実行される。
【0030】
処理部33は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)及び/又はDSP(Digital Signal Processor)等の各種プロセッサと、RAM(Random Access Memory)及び/又はROM(Read Only Memory)等の各種半導体メモリとを有している。処理部33は、記憶部32からコンピュータプログラム324等を読み出して実行する。具体的に、処理部33は、走行台車11を走行させながら、アーム12およびハンド13によるピッキング動作を実行する。
【0031】
処理部33は、取得部331と、画像処理部332と、走行制御部333と、ピッキング制御部334とを機能ブロックとして有している。
【0032】
取得部331は、磁気センサ11bの検知信号を通信部31を介して取得する。そして、取得部331は、取得した磁気センサ11bの検知信号に基づいて、走行台車11(ロボット1)の位置情報および速度(走行速度)を導出する。走行台車11(ロボット1)の位置情報は、倉庫の絶対座標系における位置として表される。
【0033】
制御装置3Aは、カメラ2から出力されたワークWの撮影画像(画像データ)に基づいて、ワークWの位置を求める。より詳しくは、カメラ2によるワークWの撮影画像は、通信部31を介して画像処理部332に入力される。画像処理部332は、入力されたワークWの撮影画像を画像処理することによって、ワークWの位置および姿勢を求める。ワークWの位置および姿勢は、ロボット1を基準とした相対座標系(ロボット座標系)における位置および姿勢として表される。
【0034】
走行制御部333は、走行台車11(ロボット1)の走行を制御する。具体的に、走行制御部333は、磁気センサ11bの検出信号に基づき、予め設定された搬出場所までの走行ルートの磁気テープ5に沿って走行台車11を走行させる。また、この例では、走行制御部333は、走行台車11の速度制御も行う。走行制御部333は、走行台車11が載置台4の横を通過する際、走行台車11の速度を通常速度Vaからピッキング速度Vpまで減速する。ピッキング速度Vpは、アーム12およびハンド13によるピッキング動作が可能な走行台車11の速度である。走行制御部333は、通信部31を介して走行台車11の制御信号をロボット制御部3Bに出力する。ロボット制御部3Bは、走行制御部333からの制御信号に基づいて、走行台車11のアクチュエータ(図示省略)を制御する。
【0035】
ピッキング制御部334は、走行制御部333による走行台車11の制御と並行して、アーム12およびハンド13によるピッキング動作を制御する。具体的に、ピッキング制御部334は、走行台車11が載置台4の横を通過する際、ピッキング動作を実行する。ピッキング制御部334は、アーム12およびハンド13のピッキング動作に係る制御信号を通信部31を介してロボット制御部3Bに出力する。ロボット制御部3Bは、ピッキング制御部334からの制御信号に基づいて、アーム12およびハンド13のそれぞれのアクチュエータ(図示省略)を制御する。
【0036】
〈ピッキング作業〉
前述したロボット1によるピッキング作業について説明する。ピッキング作業では、制御装置3によって、以下のピッキング方法が行われる。具体的には、ピッキング作業では、走行台車11による走行動作と、アーム12およびハンド13によるピッキング動作とが並行して行われる。
【0037】
図4は、制御装置3による走行制御を示すフローチャートである。走行台車11は、走行制御部333によって制御される。走行制御部333は、記憶部32に記憶されている地図データ321および載置台データ322と、取得部331によって導出された走行台車11の位置情報および速度とに基づいて、ロボット制御部3Bを介して走行台車11を制御する。
【0038】
図5は、制御装置3によるピッキング制御を示すフローチャートである。ピッキング制御部334は、走行台車11が載置台4の横を通過する際、アーム12およびハンド13によるピッキング動作を実行する。ピッキング動作は、準備動作と、静止動作(撮影動作含む)と、接近動作(第1接近動作、第2接近動作)と、把持動作と、配膳動作とを含む。
【0039】
先ず、走行制御部333によって、走行台車11が通常速度Vaで走行する。そして、走行制御部333によって、走行台車11が載置台4に所定距離Laまで近づいたか否かが判定される(ステップSa1)。
図6は、準備動作時のロボット1を示す概略図である。走行台車11が載置台4に所定距離Laまで近づいていない場合は、走行台車11は通常速度Vaのまま走行し続ける。走行台車11が載置台4に所定距離Laまで近づいた場合(
図6に示す状態C1)は、走行制御部333によって、走行台車11の速度が通常速度Vaからピッキング速度Vpまで減速される。また、走行制御部333は、走行台車11が載置台4に所定距離Laまで近づいたと判定したことを示す判定信号をピッキング制御部334へ出力する。なお、この例では、走行制御部333は、ピッキング制御部334によって実行される静止動作から把持動作までの間、走行台車11を一定の速度(ピッキング速度Vp)で走行させる。
【0040】
一方、ピッキング制御部334は、先ず、走行制御部333からの判定信号を受信したか否かを判定する(ステップSb1)。走行制御部333からの判定信号を受信した場合は、ステップSb2へ移行する。
【0041】
ステップSb2では、準備動作が行われる。準備動作は、記憶部32の載置台データ322に基づいて、カメラ2の視野に載置台4が入るように、カメラ2をアーム12によって移動させる動作である。つまり、準備動作は、走行台車11を走行させながら、ワークWを撮影可能な領域にカメラ2を移動させることである。この例では、カメラ2は、走行台車11の移動およびアーム12の移動によって載置台4の上方位置に移動させられる(
図6に示す状態C2)。
【0042】
カメラ2が載置台4の上方位置に移動すると、撮影動作を含む静止動作が行われる(ステップSb3)。
図7は、静止動作時のロボット1を示す概略図である。撮影動作は、走行台車11を走行させながら、カメラ2で対象のワークWを撮影する動作である。カメラ2によるワークWの撮影画像は、画像処理部332によって画像処理され、ワークW(この例では、
図7においてハッチングを付したワークとする)の位置および姿勢が求められる(
図7に示す状態C3)。例えば、ワークWの位置は、ロボット1を基準とした位置座標(x,y,z)として求められ、ワークWの姿勢は、三軸の各軸回りの回転角(Φ,θ,ψ)として求められる。この例では、ワークWの位置および姿勢は、前述したようにロボット1を基準とした相対座標系におけるものであるため、走行台車11の走行に伴って変化する。
【0043】
静止動作は、カメラ2が対象のワークWに対して静止するように走行台車11の走行(走行台車11の速度)を考慮してアーム12を走行台車11に対して相対的に移動させる動作である。具体的に、静止動作では、走行台車11の速度V=(Vx,Vy)とした場合、ハンド13の移動速度VhがVh=(-Vx,-Vy)となるように、ハンド13がアーム12によって移動させられる。つまり、ピッキング制御部334は、走行台車11の速度Vを打ち消すようにハンド13を移動させる。このように静止動作が行われることにより、カメラ2がワークWに対して静止するため、カメラ2のぶれが抑制され、カメラ2の撮影精度が向上する。そのため、ワークWの位置および姿勢をより正確に求めることができる。
【0044】
なお、VxはX軸方向の速度成分であり、VyはY軸方向の速度成分である。この例では、走行台車11はX軸方向に走行するため、Vyはゼロとなる。また、カメラ2はハンド13に設けられているので、ハンド13の移動速度はカメラ2の移動速度に相当する。
【0045】
画像処理部332によってワークWの位置および姿勢が求められると、接近動作が行われる。接近動作は、走行台車11を走行させながら、ステップSb3の撮影動作によるワークWの撮影画像に基づいて求めたワークWの位置に走行台車11の走行(走行台車11の速度)を考慮してハンド13をアーム12によって移動させる動作である。詳しくは、接近動作は、第1接近動作および第2接近動作を含む。
【0046】
ステップSb3でワークWの位置および姿勢が求められると、第1接近動作が行われる(ステップSb4)。
図8は、第1接近動作時のロボット1を示す概略図である。第1接近動作は、ハンド13が、ワークWに対向する対向位置、この例ではワークWの上方位置まで移動するようにアーム12を走行台車11に対して相対的に移動させる動作である。つまり、第1接近動作は、走行台車11を走行させながら、ハンド13をピッキング対象のワークWの上方位置に移動させること(
図8に示す状態C4)である。また、ハンド13は、
図8(
図7)に示す状態C3から水平方向(XY平面、即ち床面と平行)に移動させられる。
【0047】
なお、この例の第1接近動作において、上方位置(対向位置)とは、上方位置を含む所定の範囲内を意味する。所定の範囲は、水平方向距離の範囲である。例えば、所定の範囲は、ハンド13における一対の指の開き間隔を考慮して、後述の第2接近動作において一対の指13aがワークWと干渉しない範囲に設定される。
【0048】
また、第1接近動作では、ピッキング制御部334は、カメラ2によるワークWの新たな撮影画像に基づいて、ステップSb3における静止動作時の撮影動作による撮影画像に基づいて求めたワークWの位置および姿勢を更新する。カメラ2は、所定の周期で撮影動作を繰り返す。ピッキング制御部334は、更新したワークWの位置に応じた前述の上方位置にハンド13を移動させる。つまり、ピッキング制御部334は、第1接近動作において、リアルタイムでワークWの位置を認識し、その認識したワークWの上方位置にハンド13を移動させる。
【0049】
このように、ワークWの位置および姿勢を更新することにより、ワークWの位置等をより正確に認識することができるので、ハンド13をワークWの上方位置へより正確に移動させることができる。画像処理部332によって認識されるワークWの位置等には、走行台車11の位置の誤差や走行のぶれ等によって誤差が生じ得る。走行台車11の位置の誤差や走行のぶれは、走行時間が長くなるほど大きくなり、それに伴って、ワークWの位置等の誤差も大きくなる。そのため、リアルタイム(短い時間間隔)でワークWの位置を認識して更新することにより、ワークWの位置等の誤差を小さくすることができる。そのため、より正確なワークWの位置等を認識することが可能である。
【0050】
続くステップSb5では、ピッキング制御部334によって、非常時の要件が成立したか否かが判定される。ピッキング制御部334は、接近動作においてハンド13が所定時間内にワークWの位置までの所定の経由点に到達したか否かを判定する。より詳しくは、ピッキング制御部334は、第1接近動作においてハンド13が所定時間内にワークWの上方位置に到達したか否かを判定する。ハンド13が所定時間内にワークWの上方位置に到達した場合は、第1接近動作が終了し(即ち、非常時の要件は非成立となり)、ステップSb6へ移行する。非常時の要件が成立した場合については後述する。
【0051】
ステップSb6では、第2接近動作が行われる。
図9は、第2接近動作時のロボット1を示す概略図である。
図10は、第2接近動作時のハンド13をY軸方向に視て示す概略図である。第2接近動作は、ハンド13が前述の上方位置からワークWの位置まで鉛直下降するようにアーム12を移動させる動作である。つまり、第2接近動作は、走行台車11を走行させながら、ハンド13を上方位置からワークWの位置まで移動させること(
図9および
図10に示す状態C5)である。つまり、第2接近動作では、
図9に示すように、状態C4のハンド13の位置と状態C5のハンド13の位置とがXY平面において変化しないように、走行台車11の走行を考慮してアーム12が移動させられる。
【0052】
なお、この例の第2接近動作において、ワークWの位置とは、ワークWの位置を含む所定の範囲内を意味する。所定の範囲は、鉛直方向距離(ワークWに対向する方向の距離、即ちZ軸方向の距離)の範囲である。例えば、所定の範囲は、後述する把持動作においてハンド13がワークWを把持可能な範囲に設定される。
【0053】
また、ピッキング制御部334は、第2接近動作においても、第1接近動作と同様、カメラ2によるワークWの新たな撮影画像に基づいて、ワークWの位置および姿勢を更新する。つまり、ピッキング制御部334は、リアルタイムでワークWの位置を認識し、その認識したワークWの位置に向かってハンド13を鉛直下降させる。また、ピッキング制御部334は、第2接近動作では、ワークWの姿勢に応じてハンド13を適切な角度位置に回転させる。
【0054】
ハンド13がワークWの位置に移動すると、第2接近動作が終了し、把持動作が行われる(ステップSb7)。
図11は、把持動作時のハンド13を示す
図10相当図である。把持動作は、ハンド13にワークWを把持させる動作である。つまり、把持動作は、走行台車11を走行させながら、一対の指13aを互いに接近する方向に動作させてワークWを一対の指13aで把持することである。また、把持動作では、ハンド13がワークWに対して静止するように、即ち、ワークWに対するハンド13の相対位置が変化しないように、走行台車11の走行(走行台車11の速度)を考慮してアーム12を走行台車11に対して相対的に移動させる。
【0055】
ハンド13によってワークWが把持されると、把持動作が終了し、配膳動作が行われる(ステップSb8)。ピッキング制御部334は、例えば、ハンド13のアクチュエータ(図示省略)の駆動電流の変化に基づいて、ハンド13がワークWを把持したことを認識する。そして、ピッキング制御部334は、ハンド13がワークWを把持したことを示す把持信号を走行制御部333へ出力する。
【0056】
図示しないが、配膳動作は、走行台車11を走行させながら、ワークWを把持したハンド13をアーム12によって走行台車11のトレー11aまで移動させて、ワークWをトレー11aに配膳する動作である。ワークWがトレー11aに配膳されると、一連のピッキング動作が完了する。以上のように、一連のピッキング動作は、走行台車11が走行しながら実行される。この一連のピッキング動作は、載置台4毎に繰り返される。
【0057】
一方、走行制御部333は、ピッキング制御部334からの把持信号を受信したか否かを判定する(ステップSa4)。把持信号を受信した場合は、走行制御部333は、走行台車11の速度をピッキング速度Vpから通常速度Vaまで加速させる(ステップSa5)。把持信号を受信しない場合は、走行制御部333は、走行台車11をピッキング速度Vpのまま走行させ続ける。
【0058】
続くステップSa6において、走行制御部333は、走行台車11が搬出場所に到着したか否かを判定する。走行台車11が搬出場所に到着していない場合は、そのまま待機する。走行台車11が搬出場所に到着した場合は、走行制御部333は走行台車11を停止させる。搬出場所では、走行台車11のトレー11aに配膳されたワークWが搬出される。以上により、走行台車11の走行制御が終了する。このように、走行制御部333は、走行台車11が所定の載置台4を経由して搬出場所に到着するまで、走行台車11を走行させ続ける。
【0059】
また、ピッキング制御のステップSb5において、非常時の要件が成立したと判定されると、ステップSb9へ移行する。具体的に、ピッキング制御部334は、第1接近動作においてハンド13が所定時間内にワークWの上方位置に到達しなかった場合、非常時の要件が成立したことを示す信号(以下、非常時の要件成立信号ともいう)を走行制御部333へ出力する。一方、走行制御部333は、ステップSa3において、ピッキング制御部334からの非常時の要件成立信号を受信したか否かを判定し、要件成立信号を受信した場合は、ステップSa7へ移行する。
【0060】
ステップSa7において、走行制御部333は、走行台車11を停止させる。そして、走行制御部333は、走行台車11を停止させたことを示す走行台車11の停止信号をピッキング制御部334へ出力する。一方、ピッキング制御部334は、走行制御部333から走行台車11の停止信号を受信したか否かを判定する(ステップSb9)。ピッキング制御部334が走行台車11の停止信号を受信すると、ステップSb2へ戻る。そして、走行台車11が停止した状態で、ステップSb2~7の動作が順に行われる。なお、この場合では、ステップSb5は省略される。
【0061】
ピッキング制御部334は、ステップSb7において把持動作が終了すると、把持信号を走行制御部333へ出力する。走行制御部333は、把持信号を受信したか否かを判定し(ステップSa8)、把持信号を受信すると、走行台車11を通常速度Vaまで加速させる(ステップSa5)。つまり、走行制御部333は、走行台車11の走行を再開する。その後、走行制御は前述したステップSa6を経て終了し、ピッキング制御は前述したステップSb8を経て終了する。
【0062】
つまり、制御装置3Aは、第1接近動作においてハンド13が所定時間内にワークWの上方位置に到達しない非常時の場合は、走行台車11を停止させて、準備動作、静止動作(撮影動作含む)、接近動作(第1接近動作、第2接近動作)および把持動作を順に実行する。そのため、これらの動作をより正確に且つ容易に行うことができる。
【0063】
以上のように、前記実施形態のロボットシステム100は、走行台車11、走行台車11に連結されるアーム12、アーム12に連結されるハンド13を有し、ワークW(対象物)をピッキングするロボット1と、ハンド13に設けられるカメラ2(撮影装置)と、ロボット1を制御する制御装置3Aとを備えている。制御装置3Aは、カメラ2でワークWを撮影する撮影動作と、前記撮影動作によるワークWの撮影画像に基づいて求めたワークWの位置に走行台車11の走行を考慮してハンド13をアーム12によって移動させる接近動作と、ハンド13にワークWを把持させる把持動作とを含むピッキング動作を、走行台車11を走行させながら実行する。
【0064】
また、前記実施形態のピッキング方法は、走行台車11、走行台車11に連結されるアーム12、アーム12に連結されるハンド13を有するロボット1がワークW(対象物)をピッキングする方法である。ピッキング方法は、走行台車11を走行させながら、ハンド13に設けられたカメラ2(撮影装置)でワークWを撮影することと、走行台車11を走行させながら、カメラ2によるワークWの撮影画像に基づいて求めたワークWの位置に走行台車11の走行を考慮してハンド13をアーム12によって移動させることと、走行台車11を走行させながら、ハンド13にワークWを把持させることとを含む。
【0065】
また、前記実施形態のコンピュータプログラム324は、走行台車11、走行台車11に連結されるアーム12、アーム12に連結されるハンド13を有するロボット1がワークW(対象物)をピッキングする機能を処理部33(コンピュータ)に実現させるプログラムである。コンピュータプログラム324は、走行台車11を走行させながら、ハンド13に設けられたカメラ2(撮影装置)でワークWを撮影する機能と、走行台車11を走行させながら、カメラ2によるワークWの撮影画像に基づいて求めたワークWの位置に走行台車11の走行を考慮してハンド13をアーム12によって移動させる機能と、走行台車11を走行させながら、ハンド13にワークWを把持させる機能とを処理部33に実現させる。
【0066】
これらの構成によれば、走行台車11による走行動作とアーム12およびハンド13によるピッキング動作とを並行して行うことができる。つまり、アーム12およびハンド13によるピッキング動作時において走行台車11の走行停止動作が省略される。しかも、ピッキング動作では、ハンド13に設けられたカメラ2によって撮影したワークWの撮影画像に基づいて求めたワークWの位置にハンド13を移動させるため、走行台車11を走行させながらであっても、ハンド13をワークWに高精度に接近させることができる。さらに、ピッキング動作では、走行台車11の走行(具体的には、走行台車11の速度)を考慮してアーム12を移動させるようにしたので、走行台車11の走行動作によって受ける影響を抑えながら、ピッキング動作を行うことができる。そのため、ロボット1は、自身が移動しながらでも確実にワークWをピッキングすることができる。こうして、走行動作とピッキング動作とを並行して行うことができるので、ロボット1によるピッキング作業時間を短縮することができる。
【0067】
また、前記実施形態のロボットシステム100において、ピッキング動作は、撮影動作を含み、カメラ2がワークWに対して静止するように走行台車11の走行を考慮してアーム12を移動させる静止動作を含む。
【0068】
前記の構成によれば、カメラ2がワークWに対して静止しているため、即ちワークWに対するカメラ2の相対位置が変化しないため、走行台車11が走行してても、カメラ2のぶれを抑制することができる。これにより、カメラ2の撮影精度が向上するので、ワークWの位置および姿勢をより正確に求めることができる。
【0069】
また、前記実施形態のロボットシステム100において、接近動作は、ハンド13がワークWの上方位置(ワークWに対向する対向位置)まで移動するようにアーム12を移動させる第1接近動作を含み、第1接近動作の後に、ハンド13をワークWの位置に移動させる動作である。
【0070】
前記の構成によれば、接近動作において、先ずハンド13をワークWの上方位置に移動させるようにしたため、その後のハンド13のワークWへの接近動作を容易にすることができる。そのため、ハンド13によってワークWを把持する確実性が向上する。
【0071】
また、前記実施形態のロボットシステム100において、接近動作は、ハンド13が前記上方位置から鉛直方向にワークWの位置まで移動するようにアーム12を移動させる第2接近動作を含む。
【0072】
前記の構成によれば、ハンド13がワークWの上方位置から鉛直下降してワークWの位置まで移動するので、例えばワークWに対して斜め上方からハンドを接近させる場合に比べて、ハンド13によるワークWの把持動作を容易にすることができる。そのため、把持動作の確実性がより向上する。
【0073】
また、前記実施形態のロボットシステム100において、制御装置3Aは、接近動作においてハンド13が所定時間内にワークWの位置までの所定の経由点(ワークWの上方位置)に到達しない非常時の場合は、走行台車11を停止させて、撮影動作、接近動作および把持動作を実行する。
【0074】
前記の構成によれば、接近動作に懸かる時間が想定以上に長くなりそうな非常時の場合は、走行台車11を停止させて、撮影動作、接近動作および把持動作を行うようにしたので、走行台車11がワークWをピッキングできない位置までワークWから離れてしまうことを未然に回避することができる。したがって、確実にワークWをピッキングすることができる。
【0075】
さらに、前記非常時は、第1接近動作においてハンド13が前記所定時間内にワークWの上方位置に到達しないときである。
【0076】
前記の構成によれば、ハンド13が上方位置からワークWに接近する動作の前に、前記非常時の処理を行うことができる。そのため、ハンド13が誤った位置からワークWに接近することでハンド13とワークWとが干渉してしまう虞を未然に回避することができる。これにより、ハンド13とワークWとが干渉することによって発生し得る両者の損傷を防止することができる。
【0077】
また、前記実施形態のロボットシステム100において、制御装置3Aは、接近動作では、カメラ2によるワークWの新たな撮影画像に基づいて、静止動作時の撮影動作による撮影画像に基づいて求めたワークWの位置を更新する。
【0078】
前記の構成によれば、ワークWの位置および姿勢を更新することにより、ワークWの位置等をより正確に認識することができる。つまり、走行台車11の位置の誤差や走行のぶれ等によって生じるワークWの位置の誤差を小さくすることができる。そのため、ハンド13をワークWの位置へより正確に移動させることができる。
【0079】
(その他の実施形態)
以上のように、本出願において開示する技術の例示として、前記実施形態を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、前記実施形態で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。また、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、前記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
【0080】
例えば、前記実施形態の接近動作では、リアルタイムでワークWの位置等を更新するようにしたが、本開示の技術はこれに限らず、次のようにしてもよい。即ち、ピッキング制御部334(制御装置3A)は、接近動作では、静止動作時の撮影動作による撮影画像に基づいて求めたワークWの位置(以下、初期位置ともいう)と、走行台車11の速度(以下、走行速度ともいう)とに基づいて、把持動作でハンド13が把持するワークWの位置を予測し、その予測した位置(以下、予測位置ともいう)にハンド13をアーム12によって移動させる。
【0081】
具体的に、ピッキング制御部334は、初期位置と、ピッキング時間と、走行速度とに基づいて、予測位置を導出する。より詳しくは、予測位置は、以下の式(1)によって導出される。
予測位置=初期位置+ピッキング時間×走行速度 ・・・・(1)
ここに、ピッキング時間は、接近動作および把持動作に要する時間であり、例えば、アーム12の動作時間と、ハンド13の動作時間と、画像処理部332の画像処理時間と、通信時間(カメラ2と制御装置3Aとの通信時間および制御装置3Aとロボット制御部3Bとの通信時間)とを合わせた時間である。
【0082】
前述した構成によれば、カメラ2による撮影動作は静止動作時の撮影動作の1回だけである。そのため、カメラ2のぶれを気にすることなくピッキング動作を行うことができる。そのため、ピッキング動作を高速に行うことができ、ロボット1によるピッキング作業時間をより短縮することができる。
【0083】
また、接近動作時におけるハンド13の一対の指13aの開き間隔の大きさは、ワークWの大きさと、静止動作時の撮影動作によるワークWの撮影画像に基づいてワークWの位置を求める際に生じる誤差とに基づいて設定される。具体的に、指13aの開き間隔は、以下の式(2)によって導出される。
指の開き間隔=ワークWの大きさ+誤差×2 ・・・・(2)
ここに、ワークWの大きさは、指13aの開き方向に相当する部分の大きさである。誤差は、走行台車11の速度と画像処理部332の処理周期とを乗算することによって求められる。
【0084】
こうして、一対の指13aの開き間隔を設定することにより、把持動作において把持する前の一対の指13aの開き間隔を適切な値にすることができる。つまり、指13aの開き間隔が過剰な大きさになることを抑制することができる。そのため、ワークWを把持するために必要な指13aの開閉時間をできるだけ短縮することができる。したがって、ロボット1によるピッキング作業時間をより短縮することができる。
【0085】
また、制御装置3Aは、走行台車11が載置台4を通過する際、走行台車11の速度を減速させなくてもよい。この場合、
図4におけるステップSa1および
図5におけるステップSb1は省略される。
【0086】
また、ピッキング動作における非常時の処理を省略するようにしてもよい。つまり、
図4において、ステップSa3、ステップSa7およびステップSa8を省略し、
図5において、ステップSb5およびステップSb9を省略するようにしてもよい。
【0087】
本明細書で開示する要素の機能は、開示された機能を実行するよう構成またはプログラムされた汎用プロセッサ、専用プロセッサ、集積回路、ASIC(Application Specific Integrated Circuits)、従来の回路、および/または、それらの組み合わせ、を含む回路または処理回路を使用して実行できる。プロセッサは、トランジスタやその他の回路を含むため、処理回路または回路と見なされる。本開示において、回路、ユニット、または手段は、列挙された機能を実行するハードウェアであるか、または、列挙された機能を実行するようにプログラムされたハードウェアである。ハードウェアは、本明細書に開示されているハードウェアであってもよいし、あるいは、列挙された機能を実行するようにプログラムまたは構成されているその他の既知のハードウェアであってもよい。ハードウェアが回路の一種と考えられるプロセッサである場合、回路、手段、またはユニットはハードウェアとソフトウェアの組み合わせであり、ソフトウェアはハードウェアおよび/またはプロセッサの構成に使用される。
【符号の説明】
【0088】
100 ロボットシステム
1 ロボット
2 カメラ(撮影装置)
3A 制御装置
11 走行台車
12 アーム
13 ハンド
13a 指
33 処理部(コンピュータ)
324 コンピュータプログラム
W ワーク(対象物)