(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-17
(45)【発行日】2024-05-27
(54)【発明の名称】物品移動機構の制御装置
(51)【国際特許分類】
B25J 13/00 20060101AFI20240520BHJP
B61B 13/00 20060101ALI20240520BHJP
G05D 1/622 20240101ALI20240520BHJP
【FI】
B25J13/00 Z
B61B13/00 A
G05D1/622
(21)【出願番号】P 2020133225
(22)【出願日】2020-08-05
【審査請求日】2023-05-23
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】110001737
【氏名又は名称】弁理士法人スズエ国際特許事務所
(72)【発明者】
【氏名】山本 彩代
(72)【発明者】
【氏名】浅利 幸生
【審査官】杉山 悟史
(56)【参考文献】
【文献】国際公開第2009/098927(WO,A1)
【文献】特開2013-050776(JP,A)
【文献】特許第6123307(JP,B2)
【文献】特許第5904445(JP,B2)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 ~ 21/02
B61B 13/00
G05D 1/622
(57)【特許請求の範囲】
【請求項1】
物品を移動させる物品移動機構の動作を制御する制御装置であって、
前記物品の移動時における前記物品移動機構の動線の始点および終点を含む複数の経由点と、前記物品移動機構が各経由点を通過する通過時刻とをそれぞれ設定して策定された動作計画の設定値のうち、前記経由点を変更せずに、前記通過時刻を遅らせてもしくは早めて前記動作計画を修正した修正動作計画を策定する動作計画修正手段と、
前記物品移動機構の前記動線での動作を妨げる要因の存否に基づいて、前記物品移動機構を前記始点から前記終点まで動作させる制御手段と、を備え、
前記制御手段は、前記要因が存在しない場合、前記動作計画に従って前記物品移動機構の動作を制御し、前記要因が存在する場合、前記動作計画修正手段に前記修正動作計画を策定させ、前記修正動作計画に従って前記物品移動機構の動作を制御
し、
前記動作計画修正手段は、前記要因の発生時における前記物品移動機構の経由点を追加し、追加した経由点の通過時刻以降の前記通過時刻を遅らせてもしくは早めて前記動作計画を修正し、
前記物品移動機構は、前記物品を解放可能に把持する把持部と、少なくとも一つの関節部で連結されて、前記把持部とともに前記始点から前記終点まで各関節部を所定の軸まわりに回動させて動作するアーム部と、を備えた前記物品の荷役ロボットであり、
前記動作計画は、前記アーム部の所定の基準点が前記通過時刻に前記経由点を通過するように前記経由点での前記アーム部の各関節部の角速度を設定して策定され、
前記動作計画修正手段は、前記アーム部の前記基準点が前記経由点を前記通過時刻よりも遅くもしくは早く通過するように、前記角速度を再設定して前記修正動作計画を策定する
制御装置。
【請求項2】
前記動作計画修正手段は、前記追加した経由点以降の各経由点での前記アーム部の各関節部の前記角速度を時間で関数化し、前記角速度を再設定する
請求項
1に記載の制御装置。
【請求項3】
前記動作計画修正手段は、前記動線を逆運動学に基づいて前記アーム部の関節座標系で設定する
請求項
1に記載の制御装置。
【請求項4】
前記制御手段は、前記動線における侵害物の存在および前記物品の把持状態の少なくとも一方を含む判定条件に基づいて前記要因の存否を判定する
請求項
1に記載の制御装置。
【請求項5】
前記物品移動機構は、前記物品を収容する収容部と、前記収容部とともに前記始点から前記終点まで動作する駆動部と、を備えた前記物品の搬送車であり、
前記動作計画は、前記搬送車が前記通過時刻に前記経由点を通過するように前記経由点での前記搬送車の速度を設定して策定され、
前記動作計画修正手段は、前記搬送車が前記経由点を前記通過時刻よりも遅くもしくは早く通過するように、前記速度を再設定して前記修正動作計画を策定する
請求項
1に記載の制御装置。
【請求項6】
前記動作計画修正手段は、前記追加した経由点以降の各経由点での前記搬送車の前記速度を時間で関数化し、前記速度を再設定する
請求項
5に記載の制御装置。
【請求項7】
前記搬送車は、他の複数の搬送車とともに管理装置によって一元的に走行管理され、
前記動作計画修正手段は、前記追加した経由点以降の前記通過時刻を遅らせてもしくは早めて前記管理装置において修正された通過時刻に基づいて、前記速度を再設定する
請求項
5に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、物品を移動させる各種の機構(物品移動機構)、例えば物品を荷役するロボットや物品を搬送する無人搬送車などの動作を制御するための装置(制御装置)に関する。
【背景技術】
【0002】
物品の物流センタなどでは、荷下ろしされた荷物、部品、製品などの様々な物品が荷役されている。例えば、集積領域に集積された物品は荷役ロボットでピッキングされ、搬送装置などで移動される。荷役ロボットは、例えば物品を荷役するためのツール(エンドエフェクタとも呼ばれる)をアーム先端部に備えたマニピュレータ(ロボットアーム)などである。ツールは、物品を集積領域から把持してピッキングするための把持機構(物品把持機構)を有している。物品把持機構としては、エアで物品を吸着する吸着機構が広く用いられている。搬送装置は、物品を仕分けや組み立てなどの次工程に搬送する。搬送装置としては、例えばベルトコンベアやローラコンベアの他、無人搬送車(以下、AGV(Automatic Guided Vehicle)という)などが使用される。
【0003】
荷役ロボットやAGVは、それぞれ物品移動機構の一例であり、作業効率や安全性を考慮して予めその動作計画が策定され、策定された動作計画に従って動作する可動体である。しかしながら、これら可動体の動作環境に予期せぬ(想定外の)変化が生じた場合、策定された動作計画に従って動作を継続すると不都合が生じる可能性がある。以下、このような可動体の動作環境の予期せぬ変化をイベントという。換言すれば、イベントは、可動体に動作態様を変化させるためのトリガーとなる要因である。かかるイベントとしては、例えば荷役ロボットの可動域内に作業者や台車などが進入した場合、物品が物品把持機構で適切に把持されていない場合などが想定される。また、例えばAGVの走行路に作業者等が進入した場合、該AGVの動作遅延等によって渋滞や他のAGVの前記走行路への進入などが生じるおそれがある場合も、イベントとして想定される。
【0004】
これらのイベントが発生した場合、例えば荷役ロボットやAGVを一旦停止させて動作計画を策定し直した上で、再策定した動作計画に従って荷役ロボットやAGVの動作を再開させることは可能である。これにより、荷役ロボットやAGVと障害物との衝突回避、物品の脱落による損傷の抑止などは可能となるが、荷役ロボット等を一旦停止させる分だけ荷役の作業効率は低下してしまう。多種多様の大量の物品を迅速に荷役する場合、イベント発生時であっても荷役ロボットやAGVなどの可動体を停止させることなく、作業効率の向上を図ることが求められる。
【先行技術文献】
【特許文献】
【0005】
【文献】特許第6123307号公報
【文献】特許第5904445号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
そこで、荷役ロボットやAGVなどの物品移動機構を停止させることなく、イベントの発生に応じて物品移動機構の動作態様を適切に変更させる制御装置を提供する。
【課題を解決するための手段】
【0007】
実施形態の制御装置は、物品を移動させる物品移動機構の動作を制御する装置であり、動作計画修正手段と制御手段とを備える。動作計画修正手段は、物品の移動時における物品移動機構の動線の始点および終点を含む複数の経由点と、物品移動機構が各経由点を通過する通過時刻とをそれぞれ設定して策定された動作計画の設定値のうち、経由点を変更せずに、通過時刻を遅らせてもしくは早めて動作計画を修正した修正動作計画を策定する。制御手段は、物品移動機構の前記動線での動作を妨げる要因の存否に基づいて、物品移動機構を前記始点から前記終点まで動作させる。その際、制御手段は、物品移動機構の前記動線での動作を妨げる要因が存在しない場合、前記動作計画に従って物品移動機構の動作を制御し、前記要因が存在する場合、動作計画修正手段に修正動作計画を策定させ、前記修正動作計画に従って物品移動機構の動作を制御する。動作計画修正手段は、前記要因の発生時における物品移動機構の経由点を追加し、追加した経由点の通過時刻以降の通過時刻を遅らせてもしくは早めて動作計画を修正する。物品移動機構は、物品を解放可能に把持する把持部と、少なくとも一つの関節部で連結されて、把持部とともに前記始点から前記終点まで各関節部を所定の軸まわりに回動させて動作するアーム部と、を備えた物品の荷役ロボットである。前記動作計画は、アーム部の所定の基準点が前記通過時刻に前記経由点を通過するように前記経由点でのアーム部の各関節部の角速度を設定して策定される。動作計画修正手段は、アーム部の前記基準点が前記経由点を前記通過時刻よりも遅くもしくは早く通過するように、前記角速度を再設定して修正動作計画を策定する。
【図面の簡単な説明】
【0008】
【
図1】第1の実施形態の制御装置を備えた荷役装置のブロック図。
【
図2】第1の実施形態における経由点データの一例として、アーム部の所定の関節部における動作角度の時間変動を示す図。
【
図3】第1の実施形態における経由点データのテーブル(経由点データテーブル)の一例を示す図。
【
図4】第1の実施形態における経由点データの修正前の一態様(動作計画において設定された経由点データの一例)として、アーム部の所定の関節部における動作角度の修正前の時間変動を示す図。
【
図5】第1の実施形態における経由点データの修正前の一態様(動作計画において設定された経由点データの一例)として、アーム部の所定の関節部における動作角度の修正後の時間変動を示す図。
【
図6】実施形態の荷役装置の制御装置における物品移動処理の制御フローを示す図。
【
図7】実施形態の荷役装置の制御装置におけるイベント処理の制御フローを示す図。
【
図8】第2の実施形態の制御装置を含む自動走行システムのブロック図。
【
図9】第2の実施形態における経由点データのテーブル(経由点データテーブル)の一例を示す図。
【
図10】第2の実施形態の自動走行システムの制御装置および管理装置における走行処理の制御フローを示す図。
【発明を実施するための形態】
【0009】
以下、実施形態に係る物品移動機構の制御装置について、
図1から
図10を参照して説明する。制御装置は、物品移動機構の動作を制御する。物品移動機構は、物品を移動させる各種の機構であり、例えば物品を荷役するロボットや物品を搬送する無人搬送車(AGV)などが該当する。物品は、宅配物、小包、郵便物等を含む荷物、各種の部品や製品など、荷役の対象となり得る有形物である。物品は、物品そのものの他、その物品を梱包や包装した状態の有形物を含む。物品の態様(形状、大きさ、重量、材質など)は、一律ではなく多種多様である場合を想定するが、一律であってもよい。物品には、その材質(梱包状態や包装状態を含む)として、形態が自由に変形しない物品(以下、箱物という)と、形態が自由に変形する物品(以下、柔軟物という)の双方が含まれる。荷役には、荷下ろし、荷積み、仕分けなどのような移動を伴う物品に対する各種の作業が含まれる。
【0010】
(第1の実施形態)
図1は、本実施形態に係る制御装置2を含む荷役装置1のブロック図である。荷役装置1は、例えば物流センタなどで稼働する物流システムを構成する装置の一つであり、荷役に必要な各種の処理を行う。
図1に示す例では、荷役装置1における物品移動機構として荷役ロボット3が適用されている。
【0011】
荷役装置1は、制御装置2と、荷役ロボット3と、検出部4と、通知部5とを備える。
荷役ロボット3は、荷役装置1において荷役の実作業を行う装置であり、集積領域から物品をピッキングし、移動先領域に移動させる。集積領域は、例えば荷下ろしされた各種の物品が次工程に搬送される前に一時的に集積される領域である。集積領域の物品は、整然と集積されていてもよいし、ばら積みされていてもよく、一つ一つ単体で載置されていてもよい。移動先領域は、例えば物品を仕分工程や組立工程などに搬送するための領域である。集積領域および移動先領域は、例えば箱、ケージ、棚などの物品を収容する什器、ベルトコンベアやローラコンベア、台車などの搬送装置、仕分けや組み立てなどの作業台である。
【0012】
荷役ロボット3は、例えば把持部31と、アーム部32と、把持状態検出部33とを備え、把持部31とともにアーム部32が動作(変位)することで、物品を集積領域から移動先領域に移動させるいわゆるロボットアームである。ただし、荷役ロボット3は、スカラロボット(水平多関節ロボット)、XYZステージ、直動アクチュエータ、あるいはこれらとの組み合わせなどとすることも可能であり、物品の移動範囲に応じた可動範囲を有する荷役ロボットを適用すればよい。
【0013】
把持部31は、アーム部32の先端(アーム先端部)に着脱自在に取り付けられており、物品を解放可能に把持する把持機構を有する。把持は、例えば吸着機構による吸着、複数の指や爪による挟持や握持、これらの組み合わせなど、物品の保持態様全般を包含する概念として規定される。把持部31の把持機構は、集積領域から物品を把持し、把持した物品を移動先領域で解放する。
【0014】
アーム部32は、少なくとも一つの関節部で連結されて伸長している。アーム部32は、関節部によって複数に細分され、各部分が関節部においてサーボモータなどにより所定の軸(関節軸)まわりに回動する。これにより、アーム部32は、把持部31とともに各関節部を関節軸まわりに回動させることで、把持部31とともに動作する。ここでの動作は、所定の基準面(例えば物流センタの建屋の床面など)に対して所望の姿勢とされ、所定範囲内において自由に変位することである。所定範囲(つまり、可動範囲)には、物品の集積領域および移動先領域が含まれる。したがって、アーム部32の各部分を関節軸まわりに任意の角速度や角加速度で回動させることで、アーム部32を集積領域および移動先領域に対して変位させることが可能となる。なお、関節部および関節軸の数は、アーム部32に要求される動作精度や可動範囲などに応じて任意に設定すればよい。
【0015】
把持状態検出部33は、把持部31における物品の把持状態を検出する。例えば、吸着機構における物品の吸着圧(真空圧)を測定する圧力センサ、吸着機構が供給するエアの流量を測定する流量センサ、複数の指や爪の触覚(トルク)を測定する力覚センサ、把持部31と物品との離間距離を測定する光学センサ、把持部31の加速度を測定する加速度センサなどを把持状態検出部33として適用可能である。あるいは、これらのセンサを組み合わせて把持状態検出部33としてもよい。把持状態検出部33の検出結果、つまり把持部31に把持された物品の把持状態のデータは、制御装置2に付与される。
【0016】
検出部4は、物品を把持して移動させるべく、荷役ロボット3を動作させるために必要な各種の情報(データ)を検出する。検出部4は、第1の検出部41と、第2の検出部42を有する。
【0017】
第1の検出部41は、集積領域における物品の集積態様、移動先領域における物品の解放態様、集積領域から移動先領域まで物品を移動させる際の荷役ロボット3の動線周辺の状況を検出する。物品の集積態様および解放態様は、例えば集積もしくは解放された各物品の位置、輪郭、大きさ、向き、姿勢、重なり、境界、材質などの態様である。荷役ロボット3(端的にはアーム部32)の動線周辺状況は、作業者、他の物品、他の荷役ロボット、台車、作業台、壁、柱等、動線の確保を妨げる動線周辺の障害物の有無および進退などの状況である。
【0018】
第1の検出部41としては、例えば3Dカメラ、視差カメラ、複数の2Dカメラ、分光カメラ、光学センサ、あるいはこれらの組み合わせなどを適用可能である。これらのカメラは、集積領域、移動先領域、動線周辺が画角内に収まり、ピントを合わせられる所定位置に配置されている。例えば、集積領域や移動先領域を区画するフレームや物流センタの建屋の天井や壁面などの任意の位置に、これらのカメラは配置可能である。カメラの他、第1の検出部41としては、レーザー光を発振、照射するとともに、対象物からはね返ったレーザー光を感知するレーザーレンジファインダ、物流センタの建屋の床面などの圧力を検出する圧力センサなども適用可能である。
【0019】
第1の検出部41は、検出結果(一例として、撮像した画像データ)を解析し、物品の集積態様および解放態様、荷役ロボット3の動線周辺状況をそれぞれ解析する。具体的には、これらを示す画像データを解析し、集積もしくは解放された各物品の位置、輪郭、大きさ、向き、姿勢、重なり、境界、材質などの属性を特定するための情報、あるいは動線周辺の障害物の有無や進退などを特定するための情報をそれぞれ解析データとして制御装置2に出力する。なお、このような検出結果の解析は、第1の検出部41ではなく、制御装置2で実行してもよい。
【0020】
荷役ロボット3の動線周辺状況については、障害物との接触の可能性に応じて領域を注意領域や危険領域などに区分して解析される。例えば、注意領域は、障害物がアーム部32とは接触しないものの、把持した物品と接触する可能性のある領域である。危険領域は、障害物がアーム部32と接触する危険性の高い領域、端的にはアーム部32の可動範囲である。なお、これらの注意領域および危険領域は、固定的な範囲であってもよいし、把持した物品の大きさや荷役ロボット3の動線などに応じた可変的範囲であってもよい。
【0021】
第2の検出部42は、把持部31に把持された物品の把持状態を検出する。換言すれば、第2の検出部42は、把持部31における物品の把持状態を外観から検出する。すなわち、第2の検出部42と把持状態検出部33は、物品の把持状態についての検出精度を互いに補完する。第2の検出部42は、把持部31に把持された物品の振動、変形、姿勢、傾きなどを物品の把持状態として検出する。
【0022】
第2の検出部42としては、例えば3Dカメラ、視差カメラ、複数の2Dカメラ、レーザーレンジファインダ、あるいはこれらの組み合わせなどを適用可能である。これらは、把持部31に把持された物品が移動する間、該物品を捉えられる所定位置に配置されている。例えば、物流センタの建屋の天井や壁面などの任意の位置に、第2の検出部42は配置可能である。
【0023】
第2の検出部42は、検出結果(一例として、撮像した画像データ)を解析し、物品の把持状態を解析する。具体的には、これらを示す画像データを解析し、把持部31に把持された物品の振動、変形、姿勢、傾きなどを特定するための情報を解析データとして制御装置2に出力する。なお、このような検出結果の解析は、第2の検出部42ではなく、制御装置2で実行してもよい。
【0024】
通知部5は、所定の通知状態が生じた場合、その旨を周囲の作業者に通知する。所定の通知状態は、例えば、荷役ロボット3の動線の確保を妨げるような障害物が存在している状態や動線周辺への障害物の進入が予測される状態などである。通知部5としては、警告灯、モニタ、スピーカ、あるいはこれらの組み合わせなどを適用可能である。障害物の進入が予測される場合など、通知部5は、警告灯の点灯(点滅)、警告音の鳴動、警告メッセージの再生や表示、レーザー照射などを行うことで、作業者に対して障害物の進入等の周知徹底や注意喚起を図る。例えば、障害物が注意領域に進入した場合、通知部5は、警告灯の点灯(点滅)、警告音の鳴動、警告メッセージの再生や表示、レーザー照射などの通知のみを行う。これに対し、障害物が危険領域に進入した場合、かかる通知部5による通知に加えて、後述するように動作計画修正手段22による修正動作計画の策定(動作計画の再策定)がなされる。
【0025】
制御装置2は、荷役装置1における制御部として機能し、物品移動機構である荷役ロボット3に加えて、検出部4、通知部5の動作をそれぞれ制御する。制御装置2は、CPU、メモリ、記憶装置(後述する記憶手段24)、入出力回路、タイマなどを含み、所定の演算処理を実行する。例えば、制御装置2は、各種データを入出力回路により読み込み、記憶装置からメモリに読み出したプログラムを用いてCPUで演算処理し、処理結果に基づいて荷役ロボット3、検出部4、通知部5の動作制御を行う。制御装置2は、荷役ロボット3、検出部4、通知部5と有線もしくは無線で接続され、動作制御にあたって、これらとの間で各種データや演算結果などを送受信する。
【0026】
制御装置2は、動作計画手段21と、動作計画修正手段22と、制御手段23と、記憶手段24とを備える。本実施形態では一例として、動作計画手段21、動作計画修正手段22、制御手段23は、制御装置2において所定の演算処理を実行するためのプログラムとして構成されており、記憶手段24に格納されてメモリに読み出される。なお、これらの各手段としてのプログラムをクラウド上に格納し、制御装置2をクラウドと適宜通信させて所望のプログラムを利用可能とする構成であってもよい。この場合、制御装置2は、クラウドとの通信モジュールなどを備えた構成とする。あるいは、記憶手段24は、制御装置2の一部としてではなく、クラウド上に構成されていてもよい。
【0027】
動作計画手段21は、荷役ロボット3の動作計画を策定する。動作計画は、物品の移動時における荷役ロボット3の経由点のデータ(以下、経由点データという)を設定して策定される。本実施形態において、経由点データは、荷役ロボット3の動作態様、具体的にはアーム部32の各関節部の動作態様を示すデータの集合(データ群)であり、関節部が動作する際の経由点、経由点の通過時刻、角度、角速度、角加速度の各データを含む。ただし、角加速度は省略可能である。
【0028】
経由点は、物品を移動させるべく荷役ロボット3が動作する際に、アーム部32の所定の基準点が通過する動線上の点であり、動線の始点および終点を含む複数の点である。基準点は、アーム部32の動作中の変位を特定するために設定された任意の点であり、例えば先端中心点などである。動線上で隣り合う経由点の間をそれぞれ繋いだ軌跡は、アーム部32の基準点が動線に沿って変位する軌道となる。軌道は、動線を分割した各区間に相当する。軌道は、アーム部32の関節部の動作負荷ができるだけ小さくなる(動作負荷を最小限にとどめる)ように設定される。したがって、軌道、換言すれば動線は、逆運動学に基づいてアーム部32の関節座標系で設定されており、経由点間を最短距離で直線的に繋いだ軌跡と一致する場合もあれば異なる場合もある。
【0029】
経由点の通過時刻は、例えばアーム部32の基準点が対応する軌道の始点寄りの経由点(入口側経由点)への到達時刻、および終点寄りの経由点(出口側経由点)への到達時刻である。出口側経由点の通過時刻と入口側経由点の通過時刻との時刻差は、荷役ロボット3、具体的にはアーム部32の基準点が各軌道を変位する時間、つまり基準点が変位する間にアーム部32の各関節部が動作する時間となる。角度は、関節部を軌道で動作させる際の該関節部が関節軸まわりに回動する角度(回動角度)である。角速度は回動角度に対する回動速度であり、角加速度は回動角度に対する回動加速度(回動速度の時間微分)である。
【0030】
図2には、経由点データの一例として、アーム部32の所定の関節部(関節部1)における動作角度の時間変動を示す。
図2に示す例では、動線上にn+1個の経由点P0~Pnが設定されている(図面上は7個の経由点のみ示す)。経由点P0はアーム部32の基準点の動線の始点、経由点Pnは該動線の終点である。これらn+1個の経由点の隣り合うもの同士を繋いで、n個の軌道R1~Rnが設定されている。関節部1は、これらn個の各軌道をそれぞれ設定時刻(T)に設定角度で動作する。関節部1の各軌道R1~Rnにおける動作時間は、(tn)-(tn-1)にて示される(nは自然数)。
【0031】
動作計画手段21は、経由点データを設定して動作計画を策定するために、軌道設定部211と、干渉チェック部212と、通過時刻設定部213と、動作計画策定部214を有する。
【0032】
軌道設定部211は、アーム部32の基準点の軌道を設定する。具体的には、軌道設定部211は基準点の経由点を設定し、該経由点に応じて軌道を設定する。これにより、アーム部32の基準点の動線(以下、単に動線という)が仮生成される。
【0033】
干渉チェック部212は、軌道設定部211が設定した軌道が実際に設定可能か否かを判定する。判定にあたって、干渉チェック部212は、第1の検出部41が検出、解析した荷役ロボット3の動線周辺状況のデータ、例えば動線周辺の障害物の有無や進退などの解析データを取得する。取得した解析データに基づき、干渉チェック部212は、軌道の設定可否を判定する。例えば、動線周辺に障害物が存在していない場合、障害物が存在していたとしても該障害物を回避可能な場合、障害物が動線周辺から退避することが予測できる場合など、干渉チェック部212は軌道が設定可能であると判定する。これに対し、例えば動線周辺に障害物が存在し、動線周辺からの退避も予測できないなどの場合、干渉チェック部212は軌道が設定不可能であると判定する。この場合、軌道設定部211が軌道を再設定し、干渉チェック部212は、再設定された軌道の設定可否を判定する。これらが繰り返されることで、障害物に干渉されずに実際に設定可能な軌道が軌道設定部211により設定される。
【0034】
通過時刻設定部213は、軌道設定部211が設定した各経由点をアーム部32の基準点が通過する時刻(通過時刻)を設定する。通過時刻設定部213は、通過時刻に代えてもしくは加えて、軌道における基準点の変位時間を設定してもよい。変位時間は、基準点が軌道の入口側経由点に到達してから出口側経由点に到達するまでの経過時間(通過時刻差)である。
【0035】
動作計画策定部214は、通過時刻設定部213が設定した経由点の通過時刻にアーム部32の各関節部を関節軸まわりに回動させる角度、角速度、角加速度をそれぞれ設定する。そして、動作計画策定部214は、軌道設定部211が設定したアーム部32の基準点の経由点、および通過時刻設定部213が設定した経由点の通過時刻と、各関節部の経由点における角度、角速度、角加速度とを紐付けて経由点データを設定し、荷役ロボット3の動作計画を策定する。動作計画策定部214は、経由点データをアーム部32の関節部(関節部1から関節部X)ごとに設定し、テーブル(経由点データテーブルTB1)を記憶手段24に格納して記憶させる。
【0036】
図3には、経由点データの格納イメージをテーブル(経由点データテーブルTB1)として示す。
図3に示すように、経由点データは、アーム部32の関節部ごと(関節部1から関節部X)に、経由点の通過時刻、角度、角速度、角加速度を互いに紐付けて記憶されて、例えば時系列に管理されている。なお、本実施形態では経由点データに角加速度を含めているが、経由点データに角加速度を含まない場合には、
図3に示す経由点データテーブルTB1において角加速度の項目は省略可能である。
【0037】
動作計画修正手段22は、アーム部32の各関節部の軌道、端的には動線での動作を妨げる要因(以下、イベントという)が生じている場合、荷役ロボット3の修正動作計画を策定する。修正動作計画は、動作計画手段21が策定した動作計画を修正して策定し直した荷役ロボット3の新たな動作計画である。具体的には、動作計画手段21が策定した動作計画の経由点データのうち、動作計画修正手段22は、通過時刻、角速度、角加速度をそれぞれ修正する。アーム部32の各関節部の軌道での動作を妨げる要因、およびその存否については後述する。
【0038】
動作計画修正手段22は、経由点データ(換言すれば動作計画)を修正して修正動作計画を策定するために、通過時刻修正部221と、修正動作計画策定部222を有する。
【0039】
通過時刻修正部221は、設定された各経由点の通過時刻を遅らせてもしくは早めて、通過時刻を再設定する。なお、動作計画手段21の通過時刻設定部213で軌道における基準点の変位時間が設定されている場合、通過時刻修正部221は、設定された変位時間を延長もしくは短縮させて、変位時間を再設定してもよい。
【0040】
修正動作計画策定部222は、通過時刻修正部221が再設定した経由点の通過時刻(つまり設定した修正通過時刻)にアーム部32の各関節部を関節軸まわりに回動させる角度、角速度、角加速度をそれぞれ再設定する。そして、修正動作計画策定部222は、軌道設定部211が設定した経由点、および通過時刻修正部221が再設定した各関節部の経由点の通過時刻と、再設定した経由点における角速度、角加速度とを紐付けて経由点データを修正して設定し直し、荷役ロボット3の動作計画を再策定、つまり修正動作計画を策定する。すなわち、修正動作計画策定部222は、動作計画策定部214が設定した経由点データのうち、経由点(換言すれば軌道)および角度を修正することなくそのまま維持し、通過時刻、角速度および角加速度のみをそれぞれ修正する。修正動作計画策定部222は、修正した経由点データの通過時刻、角速度および角加速度をアーム部32の関節部ごとに再設定し、後述する記憶手段に格納して記憶させる。なお、経由点データに角加速度が含まれない場合には、角加速度の再設定は省略される。
【0041】
ここで、このような動作計画の経由点データの修正の一例について、
図4および
図5を参照して説明する。
図4は、経由点データの修正前の一態様、つまり動作計画において設定された経由点データの一例として、アーム部32の所定の関節部(関節部1)における動作角度の修正前の時間変動を示す。
図5は、経由点データの修正後の一態様、つまり動作計画において設定された経由点データの修正の一例として、アーム部32の所定の関節部(関節部1)における動作角度の修正後の時間変動を示す。
【0042】
図4に示す例のように、時刻tiにイベントが発生した場合、修正動作計画策定部222は、その時刻tiにおけるアーム部32の基準点の位置を経由点Piとして追加する。また、修正動作計画策定部222は、時刻tiにおける関節部1の角度、角速度、角加速度を経由点データに追加する。通過時刻修正部221は、時刻ti以降の経由点の通過時刻(経由点間の関節部1の動作時間)の変化量を設定する。
図4および
図5に示す例では、隣り合う経由点間での動作時間が2倍に設定されており、経由点Piから経由点Pendまでの関節部1の総動作時間が2倍とされている。
図4および
図5において、黒点は修正前の経由点を示し、白抜き点は修正後の経由点を示す。経由点P0は動線の始点であり、経由点Pendは動線の終点である。この場合、修正前の隣り合う経由点間の関節部1の動作時間、つまり隣り合う経由点の通過時刻差(δtm)は、δtm=(tm)-(tm-1)で算出される(mは任意の自然数)。したがって、修正後の経由点Pm-1,Pmの通過時刻(Tm-1,Tm)は、隣り合う経由点Pm-1と経由点Pmの通過時刻差(δtm)との間で、Tm=(Tm-1)+2×(δtm)なる関係を有する。
【0043】
これを踏まえ、修正動作計画策定部222は、次のような処理により経由点データを修正する。修正動作計画策定部222は、時刻ti以降の経由点データの角度と通過時刻との関係として、以下の数式(1)を立てる。
【0044】
【0045】
数式(1)は、経由点データの角度を時間(経由点の通過時刻)で関数化したN次の多項式である。数式(1)におけるF(t)は、
図5の実線で示す軌跡である。ここで、Nは時刻ti以降の経由点数と境界条件として得られるデータ数により算出する。例えば、数式(1)の次数Nは、時刻ti以降の経由点数がk個のとき、時刻tiと動作終了時の角速度および角加速度から、N=k+4-1=k+3となる。
【0046】
次いで、修正動作計画策定部222は、以下の数式(2),(3)を求める。数式(2)は、数式(1)を時間tで微分して求めた角速度の関係式である。数式(3)は、数式(2)を時間tで微分して求めた角加速度の関係式である。
【0047】
【0048】
【0049】
次いで、修正動作計画策定部222は、数式(1),(2),(3)について、経由点データを境界条件として、以下の数式(4),(5),(6)を立て、係数a0~anを求める。
【0050】
【0051】
【0052】
【0053】
そして、修正動作計画策定部222は、求めた係数a0~anを代入した数式(1),(2),(3)を用いて、各経由点における修正後の角速度および角加速度を算出する。
【0054】
なお、このような動作計画の経由点データの修正法に代えて、例えば順運動学によりデカルト座標系における把持部31の位置、速度、加速度を求め、デカルト座標系で上述した各計算を行ってもよい。計算後、動作変更後の把持部31の位置、速度、加速度を逆運動学により、アーム部32の関節部の角速度および角加速度に変換すればよい。
【0055】
制御手段23は、アーム制御部231と、把持制御部232と、イベント判定部233を有する。
【0056】
アーム制御部231は、動作計画策定部214が策定した動作計画および修正動作計画策定部222が策定した修正動作計画のいずれかに従ってアーム部32の各関節部を動作(回動)させる。具体的には、アーム制御部231はサーボモータを駆動させ、各関節部を関節軸まわりに設定された角度、角速度および角加速度で回動させる。その際、後述するイベント存否条件が成立しない場合、アーム制御部231は、動作計画で設定された角度、角速度および角加速度でアーム部32の各関節部を回動させる。これにより、動作計画で設定された通過時刻の差(動作時間)でアーム部32が軌道で動作する。一方、イベント存否条件が成立する場合、アーム制御部231は、動作計画で設定された角度、修正動作計画で修正された角速度および角加速度でアーム部32の各関節部を回動させる。これにより、修正動作計画で修正された通過時刻の差(修正された動作時間)でアーム部32が軌道で動作する。すなわち、アーム制御部231は、荷役ロボット3の軌道での適切な動作を妨げる要因(イベント)の存否に基づいて、荷役ロボット3を動線の始点から終点まで動作させる。
【0057】
把持制御部232は、把持部31の把持機構を動作制御し、物品を把持させ、把持した物品を解放させる。その際、第1の検出部41が検出、解析した集積領域における物品の属性(集積態様)に基づき、把持する物品を選択し、選択した物品を把持するための目標位置(目標把持位置)、吸着圧や挟持圧などの把持態様を設定する。
【0058】
把持制御部232は、第1の検出部41から取得した解析データに対応する所定の選択基準に基づいて物品群の中から選択物品を特定する。選択基準は、例えば物品群における高さ位置、荷役ロボット3からの距離、他の物品との隙間、集積領域における位置、物品の材質(梱包状態や包装状態を含む)などである。具体的には、物品群の中で最も高い位置にあるもの、荷役ロボット3から最も近い位置にあるもの、他の物品から最も離れているもの、集積領域の中央付近にあるもの、把持(吸着)しやすい物品として予め規定された材質を有するものなどを、把持制御部232は選択物品として特定する。あるいは、これらを複合的な選択基準として、把持制御部232は選択物品を特定してもよい。
【0059】
また、把持制御部232は、吸着機構の吸着圧(真空圧)を発生させるためのエアの給排、指関節や爪関節の緊張角度の調整などにより、物品の把持力を制御する。また、第1の検出部41が検出した移動先領域における物品の属性(解放態様)に基づき、把持した物品を解放するための目標位置(目標解放位置)、解放後の載置領域などを設定する。例えば、物品を吸着している吸着機構の大気解放、指関節や爪関節の弛緩角度の調整などにより、物品の解放力(把持力の低減)を制御する。
【0060】
このように、把持制御部232は、物品の把持計画を策定して、該把持計画に従って把持部31の把持機構を動作制御する。把持計画の策定にあたって、把持制御部232は、物品を把持、解放すべく把持機構の動作を制御するために、上記のような各種のパラメータを設定する。
【0061】
イベント判定部233は、イベント存否条件を判定する。イベント存否条件は、荷役ロボット3、具体的にはアーム部32の各関節部の軌道での動作を妨げる要因(イベント)が発生しているか否かを判定するための条件である。イベント存否条件の判定にあたって、イベント判定部233は、例えば第1の検出部41が検出、解析した荷役ロボット3の動線周辺状況のデータを取得する。取得したデータに基づき、イベント判定部233は、例えば荷役ロボット3の動線の確保を妨げるような障害物が存在しているか否か、動線周辺への障害物の進入が予測されるか否かなどを、イベントの存否として判定する。以下適宜、このようなイベント存否の判定を第1のイベント存否条件の判定という。
【0062】
荷役ロボット3の動線周辺状況のデータに代えてもしくは加えて、イベント判定部233は、第2の検出部42が検出、解析した把持部31に把持された物品の把持状態のデータ、把持状態検出部33が検出した物品の把持状態のデータを取得してもよい。取得した物品把持状態のデータに基づき、イベント判定部233は、例えば把持部31に把持された物品の振動、変形、姿勢、傾きなどが許容範囲内であるか否かをイベントの存否として判定する。具体的には、把持部31の設計上の許容把持力(吸着圧や挟持圧など)を上限としてアーム部32の各関節部の角速度や角加速度を変化させたことにより把持された物品に生じる慣性力が許容把持力に近づいているか否かが判定可能である。また、物品の吸着圧(真空圧)を測定する圧力センサや複数の指や爪の触覚(トルク)を測定する力覚センサなどの測定値が適正値ではなく、把持部31から物品が脱落するおそれがあるか否かが判定可能である。あるいは、把持部31に把持された物品が許容範囲を超えて変形や振動しているか否かが判定可能である。以下適宜、このようなイベント存否の判定を第2のイベント存否条件の判定という。
【0063】
イベント存否条件としていずれの判定を行った場合であっても、イベント判定部233は、判定結果を動作計画修正手段22(通過時刻修正部221、修正動作計画策定部222)および通知部5に付与する。
【0064】
また、イベント判定部233は、イベント存否条件(第1のイベント存否条件、第2のイベント存否条件)が成立する場合、動作計画修正条件を判定する。動作計画修正条件は、動作計画を修正する必要があるか否かを判定するための条件である。動作計画修正条件の判定にあたって、イベント判定部233は、例えば第1の検出部41が検出、解析した荷役ロボット3の動線周辺状況データを取得する。また例えば、イベント判定部233は、第2の検出部42が検出、解析した物品の把持状態のデータ、把持状態検出部33が検出した物品の把持状態のデータをそれぞれ取得する。動作計画修正条件の判定については、後述するイベント処理の制御フローの説明において詳述する。イベント判定部233は、動作計画修正条件の判定結果を動作計画修正手段22(通過時刻修正部221、修正動作計画策定部222)および通知部5に付与する。
【0065】
このような構成をなす荷役装置1の動作、具体的には物品を集積領域から移動先領域に移動させる処理(以下、物品移動処理という)について、荷役ロボット3、検出部4、および通知部5に対する制御装置2の制御フローに従って説明する。
図6および
図7には、物品移動処理における荷役ロボット3、検出部4、および通知部5に対する制御装置2の制御フローを示す。
【0066】
物品移動処理を開始する場合、荷役ロボット3は初期状態とされている。荷役ロボット3の初期状態は、アーム部32が基準位置に位置付けられた状態である。基準位置は、例えば物品の集積領域および移動先領域のいずれともアーム部32が干渉しない位置である。
【0067】
物品を集積領域から移動先領域に移動させるにあたって、制御装置2は、物品移動処理のために必要な各種の情報を検出部4に検出させる(S101)。ここでは、第1の検出部41が物品の集積態様、解放態様、荷役ロボット3の動線周辺状況を検出し、検出結果を解析する。第1の検出部41は、解析データを制御手段23に付与する。
【0068】
解析データが付与されると、制御手段23の把持制御部232は、物品の把持計画を策定する(S102)。これにより、把持計画として、選択物品、目標把持位置、把持態様(吸着圧や挟持圧など)、目標解放位置などが設定される。
【0069】
また、解析データが付与されると、動作計画手段21は、荷役ロボット3の動作計画を策定する(S103)。具体的には、軌道設定部211は、アーム部32の基準点の経由点を設定し、該経由点に応じて軌道を設定する。通過時刻設定部213は、軌道設定部211が設定した各経由点におけるアーム部32の基準点の通過時刻を設定する。動作計画策定部214は、通過時刻設定部213が設定した通過時刻にアーム部32の各関節部を関節軸まわりに回動させる角度、角速度、角加速度をそれぞれ設定する。動作計画策定部214は、アーム部32の関節部ごとに設定した経由点データを記憶手段24に格納して記憶させる(
図3参照)。
【0070】
動作計画が策定されると、制御手段23のアーム制御部231は、該動作計画に従ってアーム部32の各関節部を動作(回動)させる(S104)。これにより、把持部31がアーム部32とともに変位する。
【0071】
把持部31が目標把持位置に到達すると、把持制御部232は、集積領域から選択物品を把持する(S105)。把持制御部232は、例えば把持部31の基準位置(一例として先端中央位置)が目標把持位置に到達する前に把持計画で設定した吸着圧とする。あるいは、把持部31の基準位置が目標把持位置に到達した時に把持計画で設定した挟持圧とする。これにより、把持部31の把持機構で選択物品を適切に把持することができる。
【0072】
選択物品が把持機構で把持された状態で、アーム制御部231は、動作計画に従ってアーム部32の各関節部の動作を継続させる(S106)。換言すれば、アーム制御部231は、アーム部32の基準点を設定された最後の経由点(動線の終点)に向けて変位させる。なお、ここでの動作計画は、後述するイベント処理(S201~S205)において、動作計画手段21が策定した動作計画が動作計画修正手段22によって修正されている場合には、修正された動作計画(修正動作計画)となる。
【0073】
続けて、制御手段23のイベント判定部233は、イベント存否条件を判定する(S107)。一例として、イベント判定部233は第1のイベント存否条件を判定する。第1のイベント存否条件の判定にあたって、イベント判定部233は、第1の検出部41が検出、解析した荷役ロボット3の動線周辺状況のデータを取得する。例えば、動線の確保を妨げるような障害物が存在している場合、あるいは動線周辺への障害物の進入が予測される場合、イベント判定部233は、第1のイベント存否条件が成立すると判定する。一方、例えば動線の確保を妨げるような障害物が存在していない場合、あるいは動線周辺への障害物の進入が予測できない場合、イベント判定部233は、第1のイベント存否条件が成立しないと判定する。
【0074】
なお、イベント存否条件として、イベント判定部233は、第1のイベント存否条件に代えてもしくは加えて第2のイベント存否条件を判定してもよい。第2のイベント判定条件の判定にあたって、イベント判定部233は、第2の検出部42および把持状態検出部33が検出(解析)した物品の把持状態のデータを取得する。例えば、把持部31に把持された物品の振動、変形、姿勢、傾きなどが許容範囲内である場合、イベント判定部233は、第2のイベント存否条件が成立しないと判定する。一方、例えば把持部31に把持された物品の振動、変形、姿勢、傾きなどが許容範囲内でない場合、イベント判定部233は、第2のイベント存否条件が成立すると判定する。
【0075】
イベント存否条件が成立する場合、制御手段23は、所定のイベント処理を実行する(S108)。例えば、第1のイベント存否条件および第2のイベント存否条件の少なくとも一方が成立する場合、イベント処理が実行される。イベント処理の詳細については、後述する。
【0076】
一方、イベント存否条件が成立しない場合、アーム制御部231は、動作計画完了条件を判定する(S109)。動作計画完了条件は、動作計画に従ってアーム部32の各関節部の動作を完了させたか否かを判定するための条件である。アーム制御部231は、例えばアーム部32の基準点が設定された最後の経由点(動線の終点)に到達している場合には動作完了条件が成立すると判定し、最後の経由点に到達していない場合には動作完了条件が成立しないと判定する。
【0077】
動作完了条件が成立しない場合、アーム制御部231は、動作計画に従ってアーム部32の各関節部の動作を継続させる(S106)。この場合、例えばアーム部32の基準点が設定された最後の経由点(動線の終点)にまだ到達していないため、最後の経由点に到達するまでアーム部32の各関節部の動作が継続される。
【0078】
一方、動作完了条件が成立する場合、把持制御部232は、目標解放位置で物品を解放する(S110)。これにより、解放した物品(選択物品)についての移動処理が完了する。その際、把持制御部232は、かかる選択物品に対する荷役ロボット3の動作計画における一連の制御(物品移動処理)が正常終了したことを示す信号をアーム制御部231および動作計画手段21に送信する。そして、制御装置2は、次の物品を集積領域から移動先領域に移動させるための物品移動処理(S101からS110)を引き続き行う。すなわち、制御装置2は、集積領域に物品が集積されている間、所定の制御を繰り返す。そして、集積領域に集積された物品がなくなると、物品移動処理を終了する。
【0079】
次に、S107においてイベント存否条件が成立する場合に実行されるイベント処理(S108)について説明する。
図7には、イベント処理における荷役ロボット3、検出部4、および通知部5に対する制御装置2の制御フローを示す。
【0080】
イベント処理にあたって、イベント判定部233は、動作計画修正条件を判定する(S201)。このため、イベント判定部233は、第1の検出部41が検出、解析した荷役ロボット3の動線周辺状況のデータを取得する。例えば、動線の確保を妨げるような障害物が危険領域に存在し、該障害物の危険領域からの退避が予測できない場合、イベント判定部233は、動作計画修正条件が成立すると判定する。一方、例えばかかる障害物が危険領域に存在しない場合、あるいは存在したとしても、障害物が危険領域から退避することが予測できる場合、イベント判定部233は、動作計画修正条件が成立しないと判定する。以下、このようにして判定される動作計画修正条件を第1の動作計画修正条件という。なお、イベント判定部233は、上記判定の要件を危険領域ではなく、注意領域として動作計画修正条件を判定してもよい。これにより、例えば要件を危険領域として動作計画修正条件が成立する場合と、要件を注意領域として動作計画修正条件が成立する場合とで、後述する荷役ロボット3の動作計画の修正内容(修正度合い)に差異を持たせることが可能となる。
【0081】
荷役ロボット3の動線周辺状況の解析データに代えてもしくは加えて、イベント判定部233は、第2の検出部42が検出、解析した把持部31に把持された物品の把持状態のデータ、把持状態検出部33が検出した物品の把持状態のデータを取得してもよい。取得した物品把持状態のデータに基づき、イベント判定部233は、例えば把持部31に把持された物品の振動、変形、姿勢、傾きなどが許容範囲を超えている場合、動作計画修正条件が成立すると判定する。一方、例えば把持部31に把持された物品の振動、変形、姿勢、傾きなどが許容範囲内である場合、動作計画修正条件が成立しないと判定する。以下、このようにして判定される動作計画修正条件を第2の動作計画修正条件という。
【0082】
動作計画修正条件が成立する場合、動作計画修正手段22の修正動作計画策定部222は、動作計画手段21が策定した荷役ロボット3の動作計画を修正し、修正動作計画を策定する(S202)。例えば、第1の動作計画修正条件および第2の動作計画修正条件の少なくとも一方が成立する場合、動作計画が修正され、修正動作計画が策定される。具体的には、動作計画の経由点データのうち、通過時刻、角速度、角加速度がそれぞれ修正される。
【0083】
次いで、アーム制御部231は、修正された動作計画(修正動作計画)に従ってアーム部32の各関節部を動作(回動)させる(S203)。これにより、アーム部32の各関節部は、修正後の通過時刻に修正後の角速度および角加速度で動作する。
【0084】
そして、通知部5は所定の通知を行う(S204)。例えば、荷役ロボット3の動作計画が修正され、アーム部32の各関節部が修正後の通過時刻、角速度、角加速度に応じて動作している場合、その旨を周囲の作業者に通知する。かかる通知は、このように荷役ロボット3の動作態様が変わることを周囲の作業者に周知徹底して注意喚起を図る警告としての意味を持つ。すなわち、アーム部32の各関節部の角速度および角加速度が遅くなるもしくは早くなることによって周囲の作業者に支障を与えないように、かかる通知がなされる。
【0085】
また、このような通知部5による通知に代えてもしくは加えて、荷役ロボット3の動作を停止させてもよい。例えば、S201において第2の動作計画修正条件が成立している場合、把持部31から物品が脱落するおそれがあり、荷役ロボット3の動作を停止させることで、周囲の作業者および物品に対する安全性をより高めることが可能となる。荷役ロボット3を停止させる際には、例えば関節部を回動させるサーボモータを停止させればよいが、アーム部32の基準点の修正後の通過時刻を無限に延ばすことでも同様の停止状態にできる。
【0086】
これに対し、S201において動作計画修正条件が成立しない場合、通知部5は同様に所定の通知を行う(S204)。例えば、注意領域に障害物が存在している場合、注意領域への障害物の進入が予測される場合、あるいはこれらの障害物が注意領域から退避した場合など、その旨を周囲の作業者に通知する。また例えば、把持部31に把持された物品の振動、変形、姿勢、傾きなどが許容範囲を超えるおそれがある場合など、その旨を周囲の作業者に通知する。かかる通知は、荷役ロボット3の動作態様、具体的にはアーム部32の各関節部の角速度および角加速度に変化はないものの、注意領域内に障害物が進入していることや把持された物品の姿勢が不安定であることなどを、周囲の作業者に周知させて注意を促す意味を持つ。
【0087】
なお、通知部5は、上述したような周囲の作業者への通知に代えてもしくは加えて、荷役装置1の上位管理システムに動作計画を修正した旨を通知してもよい。これにより、例えば上位管理システムの管理者などに動作計画の修正が周知され、荷役装置1を含む物流システム全体の稼働制御に動作計画の修正を反映させることなどが可能となる。
【0088】
このように本実施形態の制御装置2によれば、イベントの発生に応じて荷役ロボット3の動作計画を修正し、イベントの発生後は修正した動作計画(修正動作計画)に従って荷役ロボット3を動作させることができる。修正動作計画の策定にあたっては、動作計画の経由点データのうち、経由点および角度を修正することなくそのまま維持し、通過時刻、角速度および角加速度のみの修正にとどめることができる。したがって、経由点、換言すれば軌道を再設定(再計算)する必要がないため、動作計画修正時の計算量が少なくて済み、ほぼリアルタイムで動作計画を修正できる。なお、経由点データに角加速度が含まれない場合、角加速度の修正も不要となり、動作計画修正時の計算量をさらに低減させることが可能となる。
【0089】
このため、イベントの発生時や発生予測時であっても、荷役ロボット3をほぼ停止させることなく、動作態様(通過時刻、角速度および角加速度)を適切に変更できる。これにより、イベントの発生有無にかかわらず、アーム部32の各関節部の回動時の角速度や角加速度をスムーズに遅くあるいは早くでき、荷役ロボット3を滑らかに動作させることができる。また、イベントの発生に伴う荷役ロボット3の停止を抑制できるため、荷役作業の効率化を図ることができる。
【0090】
本実施形態では、物品移動機構が荷役ロボット3である場合の制御装置2について説明したが、物品移動機構は物品を移動させる各種の機構を適用可能であり、荷役ロボット3に限定されない。例えば、物品移動機構は物品を搬送する無人搬送車(AGV)であってもよい。以下、物品移動機構がAGVである場合の制御装置の実施形態を第2の実施形態として説明する。
【0091】
(第2の実施形態)
図8は、本実施形態に係る制御装置81を含む自動走行システム100のブロック図である。自動走行システム100は、例えば物流センタなどにおいて、複数のAGV8を自動走行させるための制御システムである。AGV8は、自動走行システム100における物品移動機構に相当する。
図8に示す例では、制御装置81はAGV8に搭載されている。
【0092】
自動走行システム100は、管理装置7と、複数のAGV8とを備える。
管理装置7は、複数のAGV8の動作態様(走行態様)を一元管理する。管理装置7は、CPU、メモリ、記憶装置(後述する記憶管理部74)、入出力回路、タイマなどを含み、所定の演算処理を実行する。例えば、管理装置7は、各種データを入出力回路により読み込み、記憶装置からメモリに読み出したプログラムを用いてCPUで演算処理し、処理結果に基づいて各AGV8を動作制御するとともに、これらを一元管理する。管理装置7は、通信網(ネットワーク)NWを介して複数のAGV8とそれぞれ無線で接続され、動作制御および一元管理にあたって、これらとの間で各種データや演算結果などを送受信する。
【0093】
管理装置7は、AGV管理部71と、修正指令部72と、通信管理部73と、記憶管理部74とを備える。本実施形態では一例として、AGV管理部71、修正指令部72、通信管理部73は、管理装置7において所定の演算処理を実行するためのプログラムとして構成されており、記憶管理部74に格納されてメモリに読み出される。なお、これらのプログラムをクラウド上に格納し、管理装置7をクラウドと適宜通信させて所望のプログラムを利用可能とする構成であってもよい。この場合、管理装置7は、クラウドとの通信モジュールなどを備えた構成とする。
【0094】
AGV管理部71は、複数のAGV8の各々の動作計画を策定する動作計画手段である。動作計画は、走行時におけるAGV8の経由点データを設定して策定される。本実施形態において、経由点データは、AGV8の動作態様、具体的には後述する駆動部83の動作態様を示すデータの集合(データ群)であり、AGV8が動作(走行)する際の経由点、経由点の通過時刻、速度、加速度の各データを含む。ただし、加速度は省略可能である。
【0095】
経由点は、AGV8が走行する際に通過する動線(走行路)上の点であり、動線の始点および終点を含む複数の点である。動線の始点はAGV7の現在位置(例えば物品の倉庫)であり、現在位置のデータは制御装置81(具体的には後述する位置推定部8121)から推定データとして付与される。動線の終点は、AGV8の行先(例えば物品の出庫場)である。動線上で隣り合う経由点の間をそれぞれ繋いだ軌跡は、AGV8が動線に沿って走行する軌道となる。軌道は、動線を分割した各区間に相当する。軌道、換言すれば動線は、デカルト座標系で設定されており、経由点間を最短距離で直線的に繋いだ軌跡と一致する場合もあれば異なる場合もある。
【0096】
経由点の通過時刻は、AGV8が各経由点を通過する時刻である。例えば、軌道の始点寄りの経由点(入口側経由点)への到達時刻、および終点寄りの経由点(出口側経由点)への到達時刻である。出口側経由点の通過時刻と入口側経由点の通過時刻との時刻差は、AGV8が各軌道で動作する(各軌道を走行する)時間となる。速度は、各経由点におけるAGV8の速度である。加速度は、各経由点におけるAGV8の加速度である。
【0097】
経由点データに関し、関節座標系における角速度および角加速度ではなく、デカルト座標系における速度および加速度を扱っている点は相違するが、本実施形態における経由点データの基本的な捉え方は、上述した第1の実施形態における経由点データに準ずる。したがって、
図2に示すアーム部32の所定の関節部(関節部1)における動作角度の時間変動は、所定のAGV8における速度の時間変動の一例として捉えることが可能である。
【0098】
AGV管理部71は、各AGV8の経由点データ(経由点データテーブルTB2)を記憶手段である記憶管理部74に格納して記憶させる。なお、これらの経由点データをクラウド上に格納し、例えば通信管理部73を介してクラウドと適宜通信させて所望の経由点データを利用可能とする構成であってもよい。この場合、通信管理部73は、クラウドとの通信モジュールなどを備えた構成とする。あるいは、記憶管理部74は、管理装置7の一部としてではなく、クラウド上に構成されていてもよい。
【0099】
図9には、経由点データの格納イメージをテーブル(経由点データテーブルTB2)として示す。
図9に示すように、経由点データは、AGV8(AGV01からAGV0x)ごとに、いずれも後述する各経由点の通過時刻、速度、加速度を互いに紐付けて記憶されて、例えば時系列に管理されている。なお、本実施形態では経由点データに加速度を含めているが、経由点データに角加速度を含まない場合には、
図9に示す経由点データテーブルTB2において加速度の項目は省略可能である。
【0100】
修正指令部72は、AGV管理部71が策定した動作計画を修正するAGV8を選択する。すなわち、AGV管理部71が策定した動作計画は、適宜修正される。修正指令部72は、所定のAGV8の適切な走行を妨げる要因(イベント)が生じている場合、該所定のAGV8の制御装置81(具体的には後述する修正動作計画策定部811)に修正動作計画を策定させる。イベントとしては、例えばAGV8が自身の現在位置を特定できない場合、AGV8の走行路に作業者等が進入した場合、該AGV8(自車)の走行遅れ等によって渋滞や自車走行路への他車の進入が生じるおそれがある場合などが挙げられる。修正動作計画は、AGV管理部71が策定した動作計画を修正して策定し直したAGV8の新たな動作計画である。具体的には、AGV管理部71が策定した動作計画の経由点データのうち、修正指令部72は、通過時刻を修正する。そして、修正指令部72は、修正した通過時刻に基づいて経由点データを再設定(動作計画を修正)することを選択したAGV8に指示する命令(トリガーデータ)を生成する。
【0101】
通信管理部73は、AGV8(具体的には後述する通信部86)との間で、該AGV8の動作に必要な各種データや演算結果などを送受信する。例えば、通信管理部73は、AGV管理部71が策定した動作計画(換言すれば設定した経由点データ)、および修正指令部72が生成したトリガーデータをAGV8に送信する。また、通信管理部73は、各AGV8から現在位置のデータおよびイベントの発生有無(後述するイベント判定部8123によるイベント存否条件の判定結果)を受信する。
【0102】
AGV8は、物品を現在位置(例えば物品の倉庫)から所望の行先(例えば物品の出庫場)まで無人で自動走行して搬送する。AGV8は、制御装置81と、収容部82と、駆動部83と、検出部84と、記憶部85と、通信部86とを備える。
【0103】
収容部82は、AGV8において物品を収容するための構成要素である。例えば、AGV8の車両本体(自走部分)に設けられた箱や棚、あるいはAGV8の車両本体に牽引される台車やかご車などを収容部82として適用可能であり、その形態は特に限定されない。
【0104】
駆動部83は、AGV8を駆動するための構成要素である。例えば、モータやエンジン等の動力源、変速機、タイヤなどが駆動部83に含まれる。
【0105】
検出部84は、AGV8の周辺状況を検出する。AGV8の周辺状況としては、例えばAGV8の走行路周辺の作業者、他のAGV、壁、柱などの存在状況である。検出部84としては、例えば3Dカメラ、視差カメラ、複数の2Dカメラ、レーザーレンジファインダ、あるいはこれらの組み合わせなどを適用可能である。これらは、走行路の前方、後方、側方などを適切に捉えることが可能なAGV8の所定位置に配置されている。
【0106】
検出部84は、検出結果(一例として、撮像した画像データ)を解析し、AGV8の周辺状況を解析する。具体的には、これらを示す画像データを解析し、AGV8の走行路周辺の他のAGV8(以下、他車という)の有無などを特定するための情報をそれぞれ解析データとして制御装置81に出力する。なお、このような検出結果の解析は、検出部84ではなく、制御装置81で実行してもよい。AGV8の周辺状況については、他車との接触の可能性の度合いに応じて領域を注意領域や危険領域などに区分して解析してもよい。
【0107】
記憶部85は、AGV8を走行させるために必要なデータを格納する。格納データは、例えばAGV8の走行路を含む地図データ、後述するAGV8の動作計画の経由点データなどである。経由点データの格納イメージは、上述した
図9に示す経由点データテーブルTB2のとおりである。ただし、記憶部85に格納される経由点データは、自車の経由点データのみである。本実施形態では一例として、記憶部85は、制御装置81の記憶装置とは別体であるものとするが、該記憶装置の一部であってもよい。また、記憶部85は、クラウドであってもよい。この場合、通信部86は、例えばクラウドとの通信モジュールなどを備えた構成とすればよい。
【0108】
通信部86は、管理装置7(具体的には通信管理部73)との間で、AGV8(自車)の動作を制御する各種のデータや演算結果など(信号)を送受信する。例えば、通信部86は、AGV管理部71が策定した動作計画(換言すれば設定した経由点データ)、および修正指令部72が生成したトリガーデータを受信する。また、通信部86は、制御装置81(具体的には後述する位置推定部8121)が推定したAGV8の現在位置(自車位置)のデータおよび後述するイベント判定部8123によるイベント存否条件の判定結果を送信する。
【0109】
制御装置81は、物品移動装置であるAGV8における制御部として機能し、AGV8の動作(端的には走行)を制御する。制御装置81は、CPU、メモリ、記憶装置(不揮発メモリ)、入出力回路、タイマなどを含み、所定の演算処理を実行する。例えば、制御装置81は、各種データを入出力回路により読み込み、記憶装置からメモリに読み出したプログラムを用いてCPUで演算処理し、処理結果に基づいてAGV8、より具体的には駆動部83、検出部84、記憶部85、通信部86の動作制御を行う。
【0110】
制御装置81は、修正動作計画策定部(動作計画修正手段)811と、制御手段812とを備える。
【0111】
修正動作計画策定部811は、制御装置81において動作計画を修正する動作計画修正手段である。修正動作計画策定部811は、管理装置7から動作計画の修正、端的には経由点データの再設定が指示された場合、該指示内容に従って経由点データを再設定して動作計画を修正(修正動作計画を策定)する。具体的には、通信部86を介して修正指令部72が生成したトリガーデータを受信すると、修正動作計画策定部811は修正動作計画を策定する。修正動作計画の策定にあたって、修正動作計画策定部811は、AGV管理部71が策定した動作計画の経由点データのうち、通過時刻、速度、加速度をそれぞれ修正する。修正後の通過時刻は、修正指令部72により設定され、修正動作計画策定部811に付与されている。したがって、修正動作計画策定部811は、付与された通過時刻にAGV8が経由点を通過するように、速度および加速度をそれぞれ設定し直す。速度および加速度の再設定方法は、上述した第1の実施形態における経由点データの各経由点における修正後の角速度および角加速度の算出方法に準ずる。
【0112】
そして、修正動作計画策定部811は、AGV管理部71が設定したAGV8(自車)の経由点、および修正指令部72が再設定したAGV8の経由点の通過時刻と、再設定した該経由点におけるAGV8の速度および加速度とを紐付けて経由点データを修正して設定し直し、AGV8の動作計画を再策定、つまり修正動作計画を策定する。すなわち、修正動作計画策定部811は、AGV管理部71が設定した経由点データのうち、経由点(換言すれば軌道)を修正することなくそのまま維持し、修正指令部72が再設定した通過時刻に従って速度および加速度のみをそれぞれ修正する。修正動作計画策定部811は、修正した経由点データを記憶部85に格納して記憶させる。なお、経由点データに加速度が含まれない場合には、加速度の修正は省略される。
【0113】
制御手段812は、現在位置(例えば物品の倉庫)から所望の行先(例えば物品の出庫場)までAGV8を自動走行させる。制御手段812は、位置推定部8121と、走行制御部8122と、イベント判定部8123を有する。
【0114】
位置推定部8121は、AGV8の現在位置を推定する。現在位置は、AGV8の現在の自車位置であり、走行中であれば自車の走行位置、停止中であれば自車の停止位置である。推定にあたって、位置推定部8121は、検出部84の解析データと記憶部85に格納された地図データとに基づいて、例えば解析データを地図データと照合させる。
【0115】
走行制御部8122は、記憶部85に格納された動作計画に従ってAGV8を動作(走行)させる。ここでの動作計画は、修正動作計画策定部811によってAGV管理部71が策定した動作計画が修正されている場合には、修正された動作計画(修正動作計画)となる。かかる動作計画に従い、走行制御部8122は、経由点データに設定された速度および加速度でAGV8を動線(走行路)に沿って走行させる。その際、走行制御部8122は、駆動部83の動力源の出力を設定された速度および加速度となるように調整し、変速機で適宜変速させながら、タイヤを駆動させる。
【0116】
イベント判定部8123は、イベント存否条件を判定する。イベント存否条件は、上述したようなイベントが発生しているか否かを判定するための条件である。イベント存否条件の判定にあたって、イベント判定部8123は、例えば検出部84が検出、解析したAGV8の周辺状況のデータ、および位置推定部8121が推定したAGV8の現在位置のデータを取得する。取得したデータに基づき、イベント判定部8123は、例えばAGV8が自身の現在位置を特定できるか否か、AGV8の走行路に作業者等が進入しているか否か、該AGV8(自車)の走行遅れ等によって渋滞や自車走行路への他車の進入が生じるおそれがあるか否かなどを、イベントの存否として判定する。イベント判定部8123は、判定結果を通信部86および通信管理部73を介して、修正指令部72に付与する。
【0117】
このような構成をなすAGV8を現在位置から行先まで走行させる処理(以下、走行処理という)について、AGV8に対する制御装置81および管理装置7の制御フローに従って説明する。
図10には、走行処理におけるAGV8に対する制御装置81および管理装置7の制御フローを示す。
【0118】
走行処理を開始する際の各AGV8の状態(初期位置)は特に限定されず、例えば全車が物品の倉庫内に駐車されていてもよいし、各車が物品の倉庫や出庫場などに分散されていてもよい。
【0119】
走行処理にあたって、管理装置7は、各AGV8の動作計画を策定する(S301)。このため、AGV管理部71は、動作計画の経由点データを設定する。経由点データとして、AGV管理部71は、各AGV8の現在位置および行先を設定するとともに、その間に経由点を設定する。また、AGV管理部71は、経由点の通過時刻、速度、加速度をそれぞれ設定する。
【0120】
動作計画を策定すると、管理装置7は、該動作計画を対応するAGV8に送信する(S302)。これにより、動作計画の経由点データが各AGV8にそれぞれ付与される。かかる経由点データはAGV8の記憶部85に格納される。
【0121】
動作計画が送信され、経由点データが付与されると、AGV8は、該動作計画に従って動作(走行)する(S303)。具体的には、制御装置81の走行制御部8122は、駆動部83を駆動させ、記憶部85から読み出した動作計画に従って経由点データに設定された速度および加速度でAGV8を動線(走行路)に沿って走行させる。
【0122】
続けて、制御装置81のイベント判定部8123は、イベント存否条件を判定する(S304)。イベント存否条件の判定にあたって、イベント判定部8123は、検出部84が検出、解析したAGV8の周辺状況のデータ、および位置推定部8121が推定したAGV8の現在位置のデータを取得する。例えば、AGV8が自身の現在位置を特定できない場合、AGV8の走行路に作業者等が進入している場合、該AGV8(自車)の走行遅れ等によって渋滞や自車走行路への他車の進入が生じるおそれがある場合、イベント判定部8123は、イベント存否条件が成立すると判定する。一方、例えばAGV8が自身の現在位置を特定できる場合、AGV8の走行路に作業者等が進入していない場合、該AGV8(自車)の走行遅れ等によって渋滞や自車走行路への他車の進入が生じるおそれがない場合、イベント判定部8123は、イベント存否条件が成立しないと判定する。イベント判定部8123は、通信部86を介してイベント存否条件の判定結果を管理装置7の修正指令部72に付与する。
【0123】
イベント存否条件が成立する場合、修正指令部72は、AGV管理部71が策定した動作計画の修正指令を生成する(S305)。修正指令は、経由点データを再設定して修正動作計画を策定することをAGV8に指示する命令(トリガーデータ)である。修正指令部72は、AGV管理部71が策定した動作計画の経由点データの通過時刻を修正し、修正した通過時刻を含む修正指令を生成する。修正指令部72は、生成した修正指令を通信管理部73を介して制御装置81の修正動作計画策定部811に付与する。
【0124】
修正動作計画策定部811は、修正指令の有無を判定する(S306)。
修正指令部72から修正指令が付与されている場合、修正動作計画策定部811は、動作計画を修正する(S307)。修正にあたって、修正動作計画策定部811は、記憶部85から動作計画の経由点データを読み出し、通過時刻を修正指令部72から付与された通過時刻に修正する。そして、修正した通過時刻にAGV8が経由点を通過するように、速度および加速度をそれぞれ設定し直し、AGV8の動作計画を再策定(修正動作計画を策定)する。修正動作計画策定部811は、修正した経由点データを記憶部85に格納して記憶させる。
【0125】
そして、AGV8は、動作計画に従って動作(走行)を継続する(S308)。ここでの動作計画は、AGV管理部71が策定した動作計画が修正動作計画策定部811によって修正された動作計画(修正動作計画)である。すなわち、走行制御部8122は、再設定された速度および加速度でAGV8を動線(走行路)に沿って継続して走行させる。
【0126】
なお、S304においてイベント存否条件が成立しない場合、およびS306において修正指令部72から修正指令が付与されていない場合、AGV8は、同様に動作計画に従って動作(走行)を継続する(S308)。この場合、AGV管理部71が策定した動作計画は修正されておらず、対応する経由点データは再設定されることなく記憶部85に格納されている。したがって、ここでの動作計画は、AGV管理部71が策定した動作計画がそのまま適用される。すなわち、走行制御部8122は、AGV管理部71が設定した速度および加速度でAGV8を動線(走行路)に沿って継続して走行させる。
【0127】
AGV8の走行中、走行制御部8122は、動作計画完了条件を判定する(S309)。動作計画完了条件は、動作計画に従ってAGV8の動作(走行)を完了させたか否かを判定するための条件である。走行制御部8122は、例えばAGV8が設定された最後の経由点(動線の終点)、つまりAGV8の行先に到達している場合には動作完了条件が成立すると判定し、最後の経由点に到達していない場合には動作完了条件が成立しないと判定する。
【0128】
動作完了条件が成立しない場合、走行制御部8122は、動作計画に従ってAGV8を継続して走行させる。この場合、例えばAGV8が設定された最後の経由点(行先)にまだ到達していないため、最後の経由点に到達するまでAGV8の走行が継続される。その際、イベント存否条件の存否(S304)および修正指令の有無(S306)に応じて、動作計画あるいは修正動作計画のいずれかに従って、AGV8は走行を継続する。
【0129】
一方、動作完了条件が成立する場合、走行制御部8122は、AGV8を停止させる(S310)。この場合、例えばAGV8が行先に到達したものとして、走行制御部8122は、AGV8の走行を継続させることなく、停止させる。これにより、停止したAGV8についての走行処理が完了する。その際、走行制御部8122は、かかるAGV8の動作計画における一連の制御(走行処理)が正常終了したことを示す信号を通信部86および通信管理部73を介してAGV管理部71に送信する。そして、管理装置7は、すべてのAGV8の走行処理が完了するまで各AGV8に対する走行処理(S301からS310)を引き続き行う。そして、管理装置7は、例えばすべてのAGV8が行先に到達して停止すると、走行処理を終了する。
【0130】
このように本実施形態の制御装置81によれば、上述した第1の実施形態と同様の作用効果に加えて、次のような作用効果を奏する。
動作計画の修正にあたって、経由点の通過時刻の再設定は管理装置7の修正指令部72が行うため、制御装置81の処理負荷を低減させることができる。このため、例えばCPU、メモリ、記憶装置(不揮発メモリ)などの性能を抑えることができ、コストの低減を図ることが可能となる。また、動作計画の修正にあたって、AGV8の速度および加速度の再設定のための演算処理は管理装置7ではなく、制御装置81で実行される。したがって、通信網NWを介したAGV8と管理装置7との間のデータ通信量を抑えることができる。このため、通信時のタイムラグなどが抑えられ、イベントの発生から動作計画を修正するまでのレスポンスを高めることができる。したがって、イベントの発生時にAGV8を適切な走行態様に迅速に変更できる。なお、経由点データに加速度が含まれない場合、加速度の再設定のための演算処理が不要となり、制御装置81における動作計画修正時の演算処理の高速化が可能となる。また、動作計画の修正にあたって、すべてのAGV8の動作計画の全経由点データの再設定を管理装置7で行わずに済む。このため、管理装置7における処理負荷も低減させることができる。
【0131】
以上、本発明のいくつかの実施形態を説明したが、上述した各実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0132】
1…荷役装置、2…制御装置、3…物品移動機構(荷役ロボット)、4…検出部、5…通知部、11…集積領域、12…移動先領域、21…動作計画手段、22…動作計画修正手段、23…制御手段、31…把持部、32…アーム部、33…把持状態検出部、41…第1の検出部、42…第2の検出部、211…軌道設定部、212…干渉チェック部、213…通過時刻設定部、214…動作計画策定部、221…通過時刻修正部、222…修正動作計画策定部、231…アーム制御部、232…把持制御部、233…イベント判定部、100…自動走行システム、7…管理装置、71…AGV管理部(動作計画手段)、72…修正指令部、73…通信管理部、8…物品移動機構(AGV)、81…制御装置、82…収容部、83…駆動部、84…検出部、85…記憶部、86…通信部、811…修正動作計画策定部(動作計画修正手段)、812…制御手段、8121…位置推定部、8122…走行制御部、8123…イベント判定部、TB1,TB2…経由点データテーブル。