JP6634787B2 - ロボット制御プログラム、ロボット制御方法、ロボット、及び搬送システム - Google Patents

ロボット制御プログラム、ロボット制御方法、ロボット、及び搬送システム Download PDF

Info

Publication number
JP6634787B2
JP6634787B2 JP2015226004A JP2015226004A JP6634787B2 JP 6634787 B2 JP6634787 B2 JP 6634787B2 JP 2015226004 A JP2015226004 A JP 2015226004A JP 2015226004 A JP2015226004 A JP 2015226004A JP 6634787 B2 JP6634787 B2 JP 6634787B2
Authority
JP
Japan
Prior art keywords
robot
robots
axis direction
clock information
transfer position
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2015226004A
Other languages
English (en)
Other versions
JP2017097442A (ja
Inventor
村上 亮
亮 村上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015226004A priority Critical patent/JP6634787B2/ja
Publication of JP2017097442A publication Critical patent/JP2017097442A/ja
Application granted granted Critical
Publication of JP6634787B2 publication Critical patent/JP6634787B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)
  • Warehouses Or Storage Devices (AREA)

Description

本発明は、ロボット制御プログラム、ロボット制御方法、ロボット、及び搬送システムに関する。
従来、倉庫内の荷物を多数のロボットにより自動搬送するシステムが知られている(例えば、特許文献1参照)。このようなシステムにおいては、1台のロボットが搬送物を目的地まで搬送するのが一般的である。
また、非特許文献1には、倉庫内を小さいエリアに分割し、各エリアにロボットを割り当て、2つのエリアが重複するポイントにおいて、搬送物をロボット間で受け渡すことで搬送物を搬送する点が開示されている。
特開2014−224000号公報 特開平1−88809号公報 特開2014−144493号公報
Norisuke Fujii, Reiko Inoue, and Jun Ota "Multiple Robot Rearrangement Problem Using an Extended Project-Scheduling Problem Solver" Proceedings of the 2008 IEEE International Conference on Robotics and Biomimetics Bangkok, Thailand, February 21 - 26, 2009, pp. 2007-2012
上記のような搬送システムにおいては、システム全体のパフォーマンス(搬送効率)を向上することが好ましい。ここで、システム全体の単位時間あたりの搬送個数をp、単位面積当たりのロボット数をcとすると、p=L・〈v〉・cと表すことができる。なお、Lは、移動距離を示す定数であり、〈v〉は、搬送時のロボットの平均速度である。したがって、ロボット数cを抑えつつ搬送のパフォーマンスを向上するためには、ロボットの平均速度を上げることが必要となる。なお、ロボット間で搬送物を受け渡す搬送システムの場合には、ロボットの平均速度は、搬送物の受け渡しの際にロスする時間の影響を受ける。
なお、特許文献2,3には、2つのロボットの制御に関する技術が開示されている。
1つの側面では、本発明は、搬送物の搬送効率を向上することが可能なロボット制御プログラム、ロボット制御方法、ロボット、及び搬送システムを提供することを目的とする。
一つの態様では、ロボット制御プログラムは、ロボットを動作させるコンピュータに処理を実行させるロボット制御プログラムであって、前記ロボットとは異なる複数のロボットからクロック情報を取得し、前記複数のロボットのクロック情報と前記ロボットのクロック情報とが同期するように前記ロボットのクロック情報を調整し、前記複数のロボットのうち搬送物を搬送する別のロボットが受け渡し位置に前記搬送物を置く前から前記受け渡し位置に近づき、前記別のロボットが前記搬送物を置いた前記受け渡し位置から離れている間に前記受け渡し位置で前記搬送物を受け取るように、調整後の前記クロック情報と所定の軌道式とに基づいて前記ロボットを移動する、処理を前記コンピュータに実行させ、前記別のロボットが前記搬送物を置く前記受け渡し位置から見て、前記搬送物の搬送目標地点が、水平面内において第1軸方向と第2軸方向に交差する方向にあり、かつ、前記別のロボットの移動方向が前記第1軸方向と前記第2軸方向のいずれか一方である場合に、前記ロボットの移動方向が前記第1軸方向と前記第2軸方向のいずれか他方である、プログラムである。
搬送物の搬送効率を向上することができる。
一実施形態に係る搬送システムの構成を概略的に示す図である。 図2(a)は、ロボットのハードウェア構成を示す図であり、図2(b)は、ロボットを模式的に示す図及びロボットが棚を保持した状態を模式的に示す図である。 ロボットの機能ブロック図である。 図4(a)は、搬送指示装置のハードウェア構成を示す図であり、図4(b)は、設計装置のハードウェア構成を示す図である。 倉庫内のレイアウトの一例を示す図である。 図6(a)は、同期処理を示すフローチャートであり、図6(b)は、図6(a)の処理と同時並行的に実行される処理を示すフローチャートである。 図7(a)、図7(b)は、直線ルート搬送を説明するための図であり、図7(c)、図7(d)は、ジグザグルート搬送を説明するための図である。 図8(a)〜図8(d)は、位置Bにおいて棚をやりとりする4つのロボットのシーケンスについて説明するための図である。 倉庫全体に軌道式を展開する例について説明するための図である。 搬送処理を示すフローチャートである。 図11(a)〜図11(f)は、比較例について説明するための図である。 ロボット数に対する単位時間当たりの搬送個数について示すグラフである。 図13(a)〜図13(d)は、変形例1を説明するための図である。 図14(a)〜図14(d)は、変形例2を説明するための図である。 変形例3を説明するための図である。
以下、搬送システムの一実施形態について、図1〜図12に基づいて詳細に説明する。図1には、一実施形態に係る搬送システム100の構成が概略的に示されている。図1の搬送システム100は、図5に示すような倉庫内において、搬送対象の商品をロボット10を用いて目標地点まで搬送するシステムである。なお、本実施形態の搬送対象の商品は、倉庫内に設けられた棚50に格納されている。ロボット10は、搬送対象の商品が格納されている棚50ごと目標地点まで搬送する。すなわち、本実施形態では、ロボットが搬送する搬送物は棚50である。また、本実施形態では、各ロボット10は、X軸方向に延びる通路又はY軸方向に延びる通路を移動することで棚50を搬送する動作と、通路と通路の交差点において他のロボット10に対して棚50を受け渡す動作とを繰り返す。
搬送システム100は、図1に示すように、複数のロボット10と、搬送指示装置70と、算出装置としての設計装置75と、を備える。なお、ロボット10と搬送指示装置70と設計装置75は、インターネットやLAN(Local Area Network)などのネットワーク80に接続されている。
ロボット10は、搬送対象の棚50を保持した状態又は保持しない状態で、倉庫内を移動する。各ロボット10の移動範囲は、それぞれ図5において破線で示す領域内であり、各ロボット10は、当該移動範囲内を直線的に移動する。
図2(a)には、ロボット10のハードウェア構成が示されている。また、図2(b)の左図には、ロボット10が模式的に示され、図2(b)の右図には、ロボット10が棚50を保持した状態が模式的に示されている。
図2(a)に示すように、ロボット10は、CPU(Central Processing Unit)30、ROM(Read Only Memory)32、RAM(Random Access Memory)34、記憶部(ここではHDD(Hard Disk Drive))36、ネットワークインタフェース37、可搬型記憶媒体用ドライブ39、動作部18、認識部20、等を備えている。これらロボット10の構成各部は、バス38に接続されている。ロボット10では、ROM32あるいはHDD36に格納されているプログラム(ロボット制御プログラムを含む)、或いは可搬型記憶媒体用ドライブ99が可搬型記憶媒体31から読み取ったプログラム(ロボット制御プログラムを含む)をCPU30が実行することにより、図3に示す、通信部12、同期部14、指示部としての制御部16、として機能する。なお、図3には、動作部18及び認識部20についても図示されている。
通信部12は、ネットワークインタフェース37を介して、同期部14からのリクエストや制御部16からの指示を他のロボット10に対して送信する。また、通信部12は、他のロボット10から送信されてきたレスポンスや情報、指示などを同期部14や制御部16に送信する。
同期部14は、他のロボット10からのリクエストに応じて自己のクロック情報を通信部12を介して送信する。なお、クロック情報には、現在時刻とクロックの進む速さの情報が含まれる。また、同期部14は、他のロボット10に対してクロック情報を送信するよう、通信部12を介してリクエストを送信する。また、同期部14は、他のロボット10のクロック情報に基づいて、自己のクロック情報を調整することで、他のロボット10とのクロック同期を実行する。
制御部16は、搬送指示装置70からの指示や、他のロボット10の制御部16からの指示に応じて、認識部20の認識結果に基づき、動作部18を動作させる。なお、制御部16は、搬送指示装置70からの指示を受信した場合には、「運び出しモード」に切り替え、倉庫内に整列されている棚を運び出す動作を実行する。また、制御部16は、他のロボット10の制御部16からの指示を受信した場合や、運び出しが終了した場合には、「搬送モード」に切り替える。「搬送モード」では、制御部16は、設計装置75から与えられる軌道式に基づいて移動範囲内を移動し、交差点と交差点(又は目標地点)との間で棚50を搬送する。
ここで、認識部20は、カメラなどのセンサを含み、ロボット10の位置を認識する機能を有する。動作部18は、ロボット本体40内に設けられ、図2(b)に示す車輪を回転駆動したり、ロボット本体40の上面側に設けられた支持部42を上下に駆動したりする。ロボット10は、図2(b)の左図の状態で棚50の下に入り込み、図2(b)の右図のように支持部42を上昇させることで、棚50を保持する。そして、図2(b)の右図の状態で車輪を回転駆動して移動することで、棚50を搬送する。なお、ロボット10は、各車輪44の回転速度を異ならせることにより、進行方向を変更することも可能である。なお、本実施形態では、制御部16と動作部18とを含んで、移動部の機能が実現されている。
図1に戻り、搬送指示装置70は、PC(Personal Computer)等であり、ユーザが倉庫内から取り出したい商品(搬送対象の商品)の情報の入力を受け付け、いずれかのロボット10に対して当該商品の搬送を指示する装置である。図4(a)には、搬送指示装置70のハードウェア構成が示されている。搬送指示装置70は、図4(a)に示すように、CPU190、ROM192、RAM194、記憶部(HDD)196、ネットワークインタフェース197、可搬型記憶媒体191に格納されたデータを読み取り可能な可搬型記憶媒体用ドライブ199、表示部193、入力部195等を備えている。これら搬送指示装置70の構成各部は、バス198に接続されている。表示部193は、液晶ディスプレイ等を含み、入力部195は、キーボードやマウス、タッチパネル等を含む。なお、搬送指示装置70のHDD196等においては、どの商品がどの棚50に格納されているかの情報や、各棚50が倉庫内のどこに配置されているかの情報(座標情報)、各ロボットの移動範囲の情報などが管理されている。搬送指示装置70では、CPU190がプログラムを実行することで、制御部として機能する。
設計装置75は、PC等であり、倉庫内のレイアウトや各ロボットの移動範囲などに基づいて各ロボットの軌道式を決定し、決定した軌道式を各ロボット10の制御部16に送信する。図4(b)には、設計装置75のハードウェア構成が示されている。図4(b)に示すように、設計装置75は、図4(a)の搬送指示装置70と同様、CPU290、ROM292、RAM294、記憶部(HDD)296、ネットワークインタフェース297、可搬型記憶媒体291に格納されたデータを読み取り可能な可搬型記憶媒体用ドライブ299、表示部293、入力部295等を備えている。設計装置75は、例えば倉庫内のレイアウトが変更される度に、各ロボット10の軌道式を更新する。
次に、搬送システム100の処理について、図6、図10のフローチャートに沿って、その他図面を参照しつつ詳細に説明する。
(同期処理)
以下、同期処理について、図6(a)、図6(b)のフローチャートに沿って詳細に説明する。図6(a)、図6(b)の処理は、同時並行的に実行される処理である。なお、同期処理は、各ロボットの動作の同期に用いられるクロックを一致させる処理であり、全ロボットにおいて、図6(a)、図6(b)の処理がほぼ同時に実行される。
図6(a)の処理は、搬送システム100の立ち上げ時や、倉庫内に新たなロボットが導入されたとき、同期処理を前回実行してから所定時間が経過したときなどに実行される処理である。
図6(a)の処理では、まず、ステップS10において、同期部14が、通信部12を介して、倉庫内の他の全てのロボットに対し、現在時刻とクロックの進む速さについて送信するようリクエストを送信(ブロードキャスト)する。その後、同期部14は、ステップS12において、他の全てのロボット10からのレスポンスを受信するまで待機する。
なお、図6(b)に示すように、各ロボット10では、同期部14は、リクエストが送信されるまで待機している。同期部14は、リクエストが送信されてくると(S20:肯定)、ステップS22に移行し、自己の現在時刻とクロックの進む速さをリクエスト先に送信する。
他の全てのロボット10において、図6(b)のステップS22の処理が行われると、図6(a)のステップS12の判断は肯定され、ステップS14に移行する。ステップS14に移行すると、同期部14は、自己のクロックの進む速さを調整する。
本実施形態では、同期処理において、同一の台上に置いた振り子の振動が相互作用により揃う現象(同期現象)を応用する。すなわち、本実施形態では、ロボット間で互いに現在時刻やクロックの進む速さを交換し合い、各々が交換し合った情報に基づいて自身のクロックの進む速さを調整することで、相対的にクロック同期を実行するようにしている。なお、同期部14は、他のロボットから取得した現在時刻を、ロボット間の通信遅延に基づいて補正しておく。
例えば、自己(i番目のロボット)が持つクロックの進む速さを調整する式として、蔵元モデルの式(次式(1))が挙げられる。
Figure 0006634787
ここで、上式(1)の左辺の、tiの上にドットを付して示す記号は、i番目のロボット(自己)が持つクロックの進む速さを意味する。また、上式(1)の右辺の、ti0の上にドットを付して示す記号は、i番目のロボット(自己)のクロックの進む速さの初期値を意味する。また、Nは、倉庫内のロボットの数、ωは、クロックの基準周波数、tjは、他のロボットの現在時刻、tiは、i番目のロボット(自己)の現在時刻を意味する。
また、Kは調整パラメータ(ゲイン)を意味する。Kを十分大きく取ると、上記の定常解は
Figure 0006634787
のような同期状態となる
なお、上式(2)の右辺の、t0の上にドットを付し山括弧で囲んだ記号は、全ロボットのクロックの進む速さの初期値の平均値を意味する。
同期部14が、ステップS14において上式(1)に基づいてクロックの進む速さを調整すると、ステップS16に移行し、同期部14は、同期条件が満たされたか否かを判断する。
ここで、同期条件は以下のように設定することができる。
Figure 0006634787
なお、ε1,ε2は予め定められている要求精度であり、Tは次式(5)のように表される。
Figure 0006634787
上式(3)、(4)の少なくとも一方を満たさない場合には、ステップS16の判断は否定され、制御部16は、ステップS10に戻り、上述したステップS10〜S16の処理・判断を繰り返す。一方、上式(3)、(4)の両方を満たし、ステップS16の判断が肯定された場合には、制御部16は、図6(a)の全処理を終了する。
このように、全ロボット10において同期処理を行うことで、同期処理のためにマスターとなるロボットや装置を用意しなくてもよいため、マスターがなくなったり、交換されたりした場合に、改めて同期処理を行わなくてもよくなる。また、全ロボットのクロックを外部参照信号(標準電波やGPS(Global Positioning System)等)に同期させなくてもよいので、倉庫内においても同期処理を行うことが可能である。
(搬送処理)
次に、ロボット10による棚50の搬送処理について、詳細に説明する。
まず、搬送処理の前提について説明する。図5に示すように、本実施形態では、倉庫内に20台のロボット10が存在しており、各ロボットに破線で示す移動範囲が設定されているものとする。また、倉庫内には、ロボット10の通路を確保した状態で多数の棚50が配列されているものとする。
棚50の搬送方法として、本実施形態では、移動範囲が重複するロボット間で棚50を受け渡しながら、目標地点まで棚50を搬送する方法を採用する。このようなロボット間で棚50の受け渡しを行う搬送方法には、直線ルート搬送と、ジグザグルート搬送がある。
直線ルート搬送では、図7(a)において実線矢印で示すようにX軸方向に沿って搬送されてきた棚50を、破線矢印で示すように次のロボットが更にX軸方向に沿って搬送する。また直線ルート搬送では、図7(b)において実線矢印で示すようにY軸方向に沿って搬送されてきた棚50を、破線矢印で示すように次のロボットがY軸方向に沿って搬送する。一方、ジグザグルート搬送では、図7(c)において実線矢印で示すようにX軸方向に沿って搬送されてきた棚50を、破線矢印で示すように次のロボットがY軸方向に沿って搬送する。またジグザグルート搬送では、図7(d)において実線矢印で示すようにY軸方向に沿って搬送されてきた棚50を、破線矢印で示すように次のロボットがX軸方向に沿って搬送する。
本実施形態では、直線ルート搬送と、ジグザグルート搬送のいずれを採用してもよいが、ジグザグルート搬送(図7(c)、図7(d))を採用する場合について説明する。なお、直線ルート搬送の場合、搬送対象の棚50が倉庫の端に集中して渋滞する可能性がある。
ジグザグルート搬送を実現するには、1つの交差点で移動範囲が交わる4つのロボットにおいて、図8(a)〜図8(d)に示すようなシーケンスを採用する。例えば、図8(a)に示すように、移動範囲L0をロボット0が移動可能であり、移動範囲L1をロボット1が移動可能であり、移動範囲L2をロボット2が移動可能であり、移動範囲L3をロボット3が移動可能であるとする。そして、交差点(位置B)が、棚50の受け渡しを行う場所であるとする。また、ロボット0が位置Bまで+X方向に沿って搬送した棚50は、ロボット1が受け取り、+Y方向に搬送する。また、ロボット2が位置Bまで+Y方向に沿って搬送した棚50は、ロボット3が受け取り、+X方向に搬送する。
この場合、各ロボットは、具体的に以下のシーケンスを採用する。
(1)図8(a)に示すように、ロボット0が位置Bに棚50を置く(0/4周期)。
(2)図8(b)に示すように、ロボット1が位置Bにおいて棚50を取る(1/4周期)。
(3)図8(c)に示すように、ロボット2が位置Bに棚50を置く(2/4周期)。
(4)図8(d)に示すように、ロボット3が位置Bにおいて棚50を取る(3/4周期)。
なお、目標軌道(軌道式)としては、グローバル座標系(倉庫全体をカバーする座標系)を用いる方法と、ローカル座標系(個々のロボットが持つ座標系)を用いる方法とがある。本実施形態では、ローカル座標系を用いた場合を例にとり説明する。
この場合、上記シーケンスを実現するためには、各ロボット0〜3に対し、以下の軌道式(6)〜(9)を与える。
Figure 0006634787
なお、上式(6)〜(9)の原点は、各ロボットの移動範囲の中心としている。また、振幅A0、A1、A2、A3は各ロボットの移動範囲の大きさに合わせて設定する。また、角振動数ωは各軌道式で共通とし、Nは同一の受け渡しポイント(図8(a)の位置B)を利用するロボットの台数(本実施形態ではN=4)とする。なお、グローバル座標系を用いる場合には、単に中心座標を軌道式において考慮するようにすればよい。
本実施形態では、上記軌道に基づいた動作を実行することで、棚50を受け取るロボットは、別のロボットが位置Bに棚50を置く前から位置Bに近づき、棚50を置いた別のロボットが位置Bから離れている間に位置Bで棚50を受け取ることができる(図8(a)〜図8(d)参照)。これにより、ロボット間における棚50の受け渡しに要する時間を短縮することができる。
(倉庫全体のロボットへの拡張)
上記説明においては、1つの交差点における4つのロボットの軌道式について説明したが、この軌道式を倉庫全体のロボットに拡張するには、図9に示すように、各ロボットをグループa=1,2,3,…に分割する。なお、グループa=0は、斜線M=0上に位置する交差点に棚50を置くロボットのグループである。また、グループa=1は、斜線M=0上に位置する交差点から棚50を受け取り、斜線M=1上に位置する交差点に棚50を置くロボットのグループである。また、グループa=2は、斜線M=1上に位置する交差点から棚50を受け取り、斜線M=2上に位置する交差点に棚50を置くロボットのグループである。a=3以降についても同様である。
この場合、X軸方向、およびY軸方向の軌道式は次式(10)、(11)のように設定することができる。
Figure 0006634787
なお、ロボットごとに移動範囲の長さが異なる場合には、移動範囲の長さに合わせて振幅A,Bをロボットごとに設定するようにすればよい。
(搬送処理の流れについて)
次に、倉庫内における棚50の搬送処理の流れについて、図10のフローチャートに沿って詳細に説明する。
搬送指示装置70(制御部)は、ステップS30において、搬送対象の商品の入力を受け付けるまで待機する。搬送対象の商品がユーザによって入力されると、制御部はステップS32に移行する。ステップS32に移行すると、制御部は、商品と棚の関係を定義するデータベースを参照して、搬送対象の商品が存在する棚を探索する。探索が行われた後は、ステップS34に移行し、制御部は、棚に最も近いロボット10を特定し、特定したロボット10に対して動作を指示する。なお、制御部は、各ロボット10の移動範囲を把握しているため、当該移動範囲と棚50の位置とから、棚に最も近いロボット10を特定することができる。
搬送指示装置70の制御部からの指示を受信したロボット10の制御部16は、指示を受信したタイミングで、起動・運び出し処理(S40)を実行する。ステップS40では、制御部16は、ロボット10を運び出しモードに切り替え、車輪44の駆動を制御することで、ロボット10を搬送対象の商品が格納された棚50の下に潜り込ませる。そして、制御部16は、図2(b)の右図に示すように支持部42を上昇駆動することで、ロボット10に棚50を保持させる。このようにロボット10が棚50を保持した状態で、制御部16は車輪44の駆動を制御し、ロボット10の位置をロボット10の移動範囲上に戻す。
次いで、ステップS42では、制御部16は、ロボット10を運び出しモードから搬送モードへ切り替える。また、制御部16は、通信部12を介して、隣のロボット(棚50を受け渡すロボット)へ起動指示を送信する。
ここで、搬送モードにおいては、制御部16は、前述した軌道式に基づいた動作を実行する。これにより、ステップS44において、棚50の受け渡し動作(交差点へ棚50を置く動作)が実行されることになる。なお、ステップS44の後は、制御部16は次の指示があるまで待機する。
一方、隣のロボット10においては、ステップS42が行われたタイミングで、ステップS50以降の処理を実行する。すなわち、制御部16は、ステップS50において起動した後、ステップS52において、軌道式に基づいて動作を実行し、交差点での棚50の受け取り動作を実行する。また、制御部16は、隣のロボットへの起動指示を実行する。そして、ステップS54では、制御部16は、軌道式に基づいて動作を実行し、次の交差点へ棚50を置く動作を実行する。その後は、制御部16は次の指示があるまで待機する。隣のロボット10においては、上記動作により、交差点での棚50の受け取り動作と、別の交差点へ棚50を置く動作とが実行されることになる。
以降、棚50の搬送経路(ジグザグ状の搬送経路)上に位置するロボット10により、上記ステップS50〜S56と同様の処理が繰り返し実行されることで、棚50が図5の目標位置に搬送されるようになっている。
以上、詳細に説明したように、本実施形態によると、ロボット10の同期部14は、他の全てのロボットから取得したクロック情報と自己のクロック情報とが同期するように自己のクロック情報を調整する(図6)。そして、制御部16は、別のロボットが交差点(位置B)に棚50を置く前から交差点に近づき、棚50を置いた別のロボットが交差点から離れている間に交差点で棚50を受け取るように、調整後のクロック情報と軌道式に基づいた動作を実行する。これにより、ロボット間における棚50の受け渡しに要する時間を短縮することができるので、ロボットの平均速度の向上、ひいては倉庫内における棚50の搬送効率を向上することが可能となる。また、同期部14がクロック情報を調整することにより、ロボット10が上記のような軌道式に基づく動作を行っても、ロボット間における衝突や干渉等が発生することがなくなる。
ここで、比較例として、図11(a)〜図11(f)に示すようなシーケンスを採用した場合について説明する。比較例では、ロボット0が棚50を位置Bまで移動し、棚50を置いた後、元の位置に戻るまでの間(図11(a)、図11(b)、図11(c))は、他のロボットは衝突を避けるため移動せずに待機する。また、ロボット1が棚50を位置Bまで取りに行き、元の位置に戻るまでの間(図11(d)、図11(e)、図11(f))は、他のロボットは移動せずに待機する。その他のロボット2,3が移動する場合も同様である。このような比較例のシーケンスを採用した場合には、ロボット数と単位時間当たりの搬送個数の関係(すなわち、搬送効率)は、図12に一点鎖線で示すようになる。一方、本実施形態のように、受け渡しに要する時間を短縮するシーケンスを採用することで、ロボット数と単位時間当たりの搬送個数の関係(すなわち、搬送効率)は、図12において太線で示すようになる。したがって、本実施形態を採用することで、比較例よりも搬送効率を向上することが可能となっている。なお、単一ロボットが運び出しから目標地点までの搬送を全て行う場合もある。この場合、図12において破線にて示すように、ロボット数が少なければ搬送効率が高い一方、ロボット数が増えるほどロボットの渋滞が発生するため搬送効率が頭打ちとなる。これに対し、本実施形態では、ロボット数を然程増やさなくても目標とする単位時間当たりの搬送個数を満足することができるようになっている。
また、本実施形態では、クロック同期の際に、クロックの進む速さを調整することとしているので、振り子の同期現象を応用したクロック同期を行うことが可能である。
また、本実施形態では、ロボットが交差点で棚50を受け取るタイミングで、棚を次に受け渡すロボットに対して起動を指示する(S52)。これにより、ロボットは常時動き続けないため、無駄な動きがなくなり、省電力化を図ることが可能となる。
(変形例1)
なお、上記実施形態では、ジグザグルート搬送(図7(c)、(d))を採用する場合について説明したが、直線ルート搬送(図7(a)、図7(b))を採用してもよい。この場合、各ロボットは、具体的に以下のシーケンスを採用する。
(1)図13(a)に示すように、ロボット0が位置Bに棚50を置く(0/4周期)。
(2)図13(b)に示すように、ロボット3が位置Bにおいて棚50を取る(1/4周期)。
(3)図13(c)に示すように、ロボット2が位置Bに棚50を置く(2/4周期)。
(4)図13(d)に示すように、ロボット1が位置Bにおいて棚50を取る(3/4周期)。
この場合、軌道式としては、上記実施形態で説明した式(6)〜(9)に代えて、次式(12)〜(15)を用いることとすればよい。
Figure 0006634787
また、軌道式を倉庫全体のロボットに拡張するには、上記実施形態で説明した式(10)、(11)に代えて、次式(16)、(17)を用いることとすればよい。
Figure 0006634787
(変形例2)
なお、上記実施形態及び変形例1では、4差路交差点の軌道式について説明したが、これに限らず、軌道式を、N差路交差点(例えば、図14(a)や図14(c)に示すような6差路交差点)の軌道式として表すこともできる。
N差路交差点のk番目のロボットの軌道式は、次式(18)にて表すことができる。
Figure 0006634787
なお、Akは、k番目のロボットの移動方向の振幅である。
この場合、図14(a)のようにロボットに番号k(=0〜5)を振れば、図14(b)のようなルートで棚50を搬送を行うことができるようになる。一方、図14(c)のようにロボットに番号k(=0〜5)を振れば、図14(d)のようなルートで棚50を搬送することができるようになる。このように、ロボットに対する番号の振り方を変更することで、搬送ルートを簡易に変更することが可能である。なお、搬送ルートについては、(N/2)!通り存在する。
(変形例3)
なお、上記実施形態では、倉庫内の全ての交差点において棚50の受け渡しを行う場合について説明したが、これに限られるものではない。例えば、図15に示すように、領域Wにおいては、棚50の受け渡しは行わないこととし、目標地点に近いため渋滞の起き易い領域Zにおいては、上記実施形態のように交差点において棚50をロボット間で受け渡すようにしてもよい。このようにすることで、より搬送効率を向上することが可能となる。
なお、上記実施形態では、ロボット10が直線軌道に沿って移動する場合について説明したが、これに限らず、ロボット10は、長方形軌道や円軌道などのような2次元軌道に沿って移動してもよい。長方形軌道の場合には、直線軌道の組み合わせで実現可能であり、円軌道の場合には、軌道方向を円弧にすれば実現可能である。更に、一定周期で元の状態に戻ってくるような軌道であれば、その他の軌道(直線と円弧の組合せなど)であってもよい。
なお、上記実施形態では、設計装置75を搬送指示装置70とは別に用意する場合について説明したが、これに限らず、搬送指示装置70が設計装置75の機能を有していてもよい。また、設計装置75は、他の搬送システムと共用であってもよい。この場合、設計装置75をクラウドサーバとすることができる。クラウドサーバにおいては、各搬送システムが設置される倉庫のレイアウトに基づいて、各搬送システムに含まれる各ロボットの軌道式を算出し、算出した軌道式を各ロボットに対して送信するようにすればよい。
なお、上記実施形態では、ロボット10が棚50を保持したタイミングで、次のロボットに起動指示を送信する場合について説明したが、これに限られるものではない。例えば、ロボット10が棚50を保持したタイミングで、次の次のロボットに起動指示を送信するなどしてもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体(ただし、搬送波は除く)に記録しておくことができる。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD−ROM(Compact Disc Read Only Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
なお、以上の実施形態及び変形例の説明に関して、更に以下の付記を開示する。
(付記1) ロボットを動作させるコンピュータに処理を実行させるロボット制御プログラムであって、
前記ロボットとは異なる複数のロボットからクロック情報を取得し、前記複数のロボットのクロック情報と前記ロボットのクロック情報とが同期するように前記ロボットのクロック情報を調整し、
搬送物を搬送する別のロボットが受け渡し位置に前記搬送物を置く前から前記受け渡し位置に近づき、前記別のロボットが前記搬送物を置いた前記受け渡し位置から離れている間に前記受け渡し位置で前記搬送物を受け取るように、調整後の前記クロック情報と所定の軌道式とに基づいて前記ロボットを移動する、
処理を前記コンピュータに実行させるロボット制御プログラム。
(付記2) 前記調整する処理は、前記ロボットのクロックの進む速さを調整することで、前記複数のロボットのクロック情報と前記ロボットのクロック情報とを同期させることを特徴とする付記1に記載のロボット制御プログラム。
(付記3) 前記ロボットが前記受け渡し位置で前記搬送物を受け取るタイミングに応じて、前記ロボットが前記搬送物を受け渡すロボットに対して起動を指示することを特徴とする付記1又は2に記載のロボット制御プログラム。
(付記4) 前記ロボットが移動する方向と、前記別のロボットが移動する方向とが異なることを特徴とする付記1〜3のいずれかに記載のロボット制御プログラム。
(付記5) ロボットを動作させるロボット制御方法であって、
前記ロボットとは異なる複数のロボットからクロック情報を取得し、前記複数のロボットのクロック情報と前記ロボットのクロック情報とが同期するように前記ロボットのクロック情報を調整し、
搬送物を搬送する別のロボットが受け渡し位置に前記搬送物を置く前から前記受け渡し位置に近づき、前記別のロボットが前記搬送物を置いた前記受け渡し位置から離れている間に前記受け渡し位置で前記搬送物を受け取るように、調整後の前記クロック情報と所定の軌道式とに基づいて前記ロボットを移動する、
処理をコンピュータが実行するロボット制御方法。
(付記6) 前記調整する処理は、前記ロボットのクロックの進む速さを調整することで、前記複数のロボットのクロック情報と前記ロボットのクロック情報とを同期させることを特徴とする付記5に記載のロボット制御方法。
(付記7) 前記ロボットが前記受け渡し位置で前記搬送物を受け取るタイミングに応じて、前記ロボットが前記搬送物を受け渡すロボットに対して起動を指示することを特徴とする付記5又は6に記載のロボット制御方法。
(付記8) 前記ロボットが移動する方向と、前記別のロボットが移動する方向とが異なることを特徴とする付記5〜7のいずれかに記載のロボット制御方法。
(付記9) 搬送物を搬送するロボットであって、
複数のロボットからクロック情報を取得し、前記複数のロボットのクロック情報と自己のクロック情報とが同期するように自己のクロック情報を調整する同期部と、
搬送物を搬送する別のロボットが受け渡し位置に前記搬送物を置く前から前記受け渡し位置に近づき、前記別のロボットが前記搬送物を置いた前記受け渡し位置から離れている間に前記受け渡し位置で前記搬送物を受け取るように、調整後の前記クロック情報と所定の軌道式とに基づいて移動する移動部と、
を備えるロボット。
(付記10) 前記同期部は、前記ロボットのクロックの進む速さを調整することで、前記複数のロボットのクロック情報と前記ロボットのクロック情報とを同期させることを特徴とする付記9に記載のロボット。
(付記11) 前記ロボットが前記受け渡し位置で前記搬送物を受け取るタイミングに応じて、前記ロボットが前記搬送物を受け渡すロボットに対して起動を指示する指示部(16)を更に備える付記9又は10に記載のロボット。
(付記12) 前記ロボットが移動する方向と、前記別のロボットが移動する方向とが異なることを特徴とする付記9〜11のいずれかに記載のロボット。
(付記13) 搬送物を搬送するロボットと、
前記ロボットに対して、前記搬送物の搬送を指示する搬送指示装置と、を備え、
前記ロボットは、
複数のロボットからクロック情報を取得し、前記複数のロボットのクロック情報と自己のクロック情報とが同期するように自己のクロック情報を調整する同期部と、
搬送物を搬送する別のロボットが受け渡し位置に前記搬送物を置く前から前記受け渡し位置に近づき、前記別のロボットが前記搬送物を置いた前記受け渡し位置から離れている間に前記受け渡し位置で前記搬送物を受け取るように、調整後の前記クロック情報と所定の軌道式とに基づいて移動する移動部と、を有することを特徴とする搬送システム。
(付記14) 前記所定の軌道式を、前記搬送物が存在する空間内のレイアウトと、前記ロボットの移動可能範囲とに基づいて算出し、前記ロボットに送信する算出装置を更に備える付記13に記載の搬送システム。
(付記15) 前記所定の軌道式に基づかずに移動し、前記搬送物を搬送する他のロボットを更に備え、
前記他のロボットの配置領域は、前記ロボットの配置領域よりも前記搬送物の搬送目標地点から離れた位置に設定されていることを特徴とする付記13又は14に記載の搬送システム。
10 ロボット
14 同期部
16 制御部(移動部の一部、指示部)
18 動作部(移動部の一部)
50 棚(搬送物)
70 搬送指示装置
75 設計装置(算出装置)
100 搬送システム

Claims (8)

  1. ロボットを動作させるコンピュータに処理を実行させるロボット制御プログラムであって、
    前記ロボットとは異なる複数のロボットからクロック情報を取得し、前記複数のロボットのクロック情報と前記ロボットのクロック情報とが同期するように前記ロボットのクロック情報を調整し、
    前記複数のロボットのうち搬送物を搬送する別のロボットが受け渡し位置に前記搬送物を置く前から前記受け渡し位置に近づき、前記別のロボットが前記搬送物を置いた前記受け渡し位置から離れている間に前記受け渡し位置で前記搬送物を受け取るように、調整後の前記クロック情報と所定の軌道式とに基づいて前記ロボットを移動する、
    処理を前記コンピュータに実行させ、
    前記別のロボットが前記搬送物を置く前記受け渡し位置から見て、前記搬送物の搬送目標地点が、水平面内において第1軸方向と第2軸方向に交差する方向にあり、かつ、前記別のロボットの移動方向が前記第1軸方向と前記第2軸方向のいずれか一方である場合に、前記ロボットの移動方向が前記第1軸方向と前記第2軸方向のいずれか他方である、
    ロボット制御プログラム。
  2. 前記調整する処理は、前記ロボットとは異なる複数のロボットとの間で、各ロボットの現在時刻とクロックの進む速さとを交換し合い、交換し合った情報に基づいて、前記ロボットのクロックの進む速さを調整して、前記複数のロボット間で相対的にクロックを同期させる、ことを特徴とする請求項1に記載のロボット制御プログラム。
  3. 前記ロボットが前記受け渡し位置で前記搬送物を受け取るタイミングに応じて、前記ロボットが前記搬送物を受け渡すロボットに対して起動を指示することを特徴とする請求項1又は2に記載のロボット制御プログラム。
  4. ロボットを動作させるロボット制御方法であって、
    前記ロボットとは異なる複数のロボットからクロック情報を取得し、前記複数のロボットのクロック情報と前記ロボットのクロック情報とが同期するように前記ロボットのクロック情報を調整し、
    前記複数のロボットのうち搬送物を搬送する別のロボットが受け渡し位置に前記搬送物を置く前から前記受け渡し位置に近づき、前記別のロボットが前記搬送物を置いた前記受け渡し位置から離れている間に前記受け渡し位置で前記搬送物を受け取るように、調整後の前記クロック情報と所定の軌道式とに基づいて前記ロボットを移動する、
    処理をコンピュータが実行し、
    前記別のロボットが前記搬送物を置く前記受け渡し位置から見て、前記搬送物の搬送目標地点が、水平面内において第1軸方向と第2軸方向に交差する方向にあり、かつ、前記別のロボットの移動方向が前記第1軸方向と前記第2軸方向のいずれか一方である場合に、前記ロボットの移動方向が前記第1軸方向と前記第2軸方向のいずれか他方である、
    ロボット制御方法。
  5. 搬送物を搬送するロボットであって、
    複数のロボットからクロック情報を取得し、前記複数のロボットのクロック情報と自己のクロック情報とが同期するように自己のクロック情報を調整する同期部と、
    前記複数のロボットのうち搬送物を搬送する別のロボットが受け渡し位置に前記搬送物を置く前から前記受け渡し位置に近づき、前記別のロボットが前記搬送物を置いた前記受け渡し位置から離れている間に前記受け渡し位置で前記搬送物を受け取るように、調整後の前記クロック情報と所定の軌道式とに基づいて移動する移動部と、を備え、
    前記別のロボットが前記搬送物を置く前記受け渡し位置から見て、前記搬送物の搬送目標地点が、水平面内において第1軸方向と第2軸方向に交差する方向にあり、かつ、前記別のロボットの移動方向が前記第1軸方向と前記第2軸方向のいずれか一方である場合に、前記ロボットの移動方向が前記第1軸方向と前記第2軸方向のいずれか他方である、
    ロボット。
  6. 搬送物を搬送するロボットと、
    前記ロボットに対して、前記搬送物の搬送を指示する搬送指示装置と、を備え、
    前記ロボットは、
    複数のロボットからクロック情報を取得し、前記複数のロボットのクロック情報と自己のクロック情報とが同期するように自己のクロック情報を調整する同期部と、
    前記複数のロボットのうち搬送物を搬送する別のロボットが受け渡し位置に前記搬送物を置く前から前記受け渡し位置に近づき、前記別のロボットが前記搬送物を置いた前記受け渡し位置から離れている間に前記受け渡し位置で前記搬送物を受け取るように、調整後の前記クロック情報と所定の軌道式とに基づいて移動する移動部と、を有し、
    前記別のロボットが前記搬送物を置く前記受け渡し位置から見て、前記搬送物の搬送目標地点が、水平面内において第1軸方向と第2軸方向に交差する方向にあり、かつ、前記別のロボットの移動方向が前記第1軸方向と前記第2軸方向のいずれか一方である場合に、前記ロボットの移動方向が前記第1軸方向と前記第2軸方向のいずれか他方である、
    ことを特徴とする搬送システム。
  7. 前記所定の軌道式を、前記搬送物が存在する空間内のレイアウトと、前記ロボットの移動可能範囲とに基づいて算出し、前記ロボットに送信する算出装置を更に備える請求項6に記載の搬送システム。
  8. 前記ロボットを複数備えるとともに、前記所定の軌道式に基づかずに移動する他のロボットを複数備え、
    前記搬送指示装置は、前記複数のロボットと前記複数の他のロボットに対して、前記搬送物の搬送を指示し、
    前記他のロボットの前記空間内における配置領域は、前記ロボットの前記空間内における配置領域よりも前記搬送物の搬送目標地点から離れた位置に設定されていることを特徴とする請求項に記載の搬送システム。
JP2015226004A 2015-11-18 2015-11-18 ロボット制御プログラム、ロボット制御方法、ロボット、及び搬送システム Expired - Fee Related JP6634787B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015226004A JP6634787B2 (ja) 2015-11-18 2015-11-18 ロボット制御プログラム、ロボット制御方法、ロボット、及び搬送システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015226004A JP6634787B2 (ja) 2015-11-18 2015-11-18 ロボット制御プログラム、ロボット制御方法、ロボット、及び搬送システム

Publications (2)

Publication Number Publication Date
JP2017097442A JP2017097442A (ja) 2017-06-01
JP6634787B2 true JP6634787B2 (ja) 2020-01-22

Family

ID=58817863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015226004A Expired - Fee Related JP6634787B2 (ja) 2015-11-18 2015-11-18 ロボット制御プログラム、ロボット制御方法、ロボット、及び搬送システム

Country Status (1)

Country Link
JP (1) JP6634787B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO20190884A1 (en) 2019-07-12 2021-01-13 Autostore Tech As A method and system for autonomous controlling of movements of container handling vehicles operating in an automated storage and retrieval system

Also Published As

Publication number Publication date
JP2017097442A (ja) 2017-06-01

Similar Documents

Publication Publication Date Title
JP5578220B2 (ja) ロボットシステム
Kuo et al. Optimizing goods assignment and the vehicle routing problem with time-dependent travel speeds
AU2016214109A1 (en) Apparatus and method for navigation path compensation
US10288437B2 (en) Routing with data version stitching
US20200097020A1 (en) Control method and system of movable device
JP6634787B2 (ja) ロボット制御プログラム、ロボット制御方法、ロボット、及び搬送システム
US20180285808A1 (en) Using proximity sensors for bin association and detection
WO2022237306A1 (zh) 机器人的控制方法、装置、设备、系统及存储介质
US11558601B2 (en) Methods and apparatus for initializing object dimensioning systems
CN106547272A (zh) 确定设备移动路径的方法和装置
US9604657B2 (en) Travelling vehicle system
JP2017044470A (ja) 情報処理装置、マップマッチング装置、情報処理方法、およびプログラム
JP6619240B2 (ja) 経路教示装置
CN109960273A (zh) 无人机的飞行控制方法、装置及存储介质
JP6216480B1 (ja) 商品ピッキング・格納作業指示装置
AU2020289521B2 (en) Method, system and apparatus for dynamic task sequencing
US11537982B1 (en) Inventory sorting and transport
Wauters et al. An effective shaking procedure for 2D and 3D strip packing problems
JP2020140372A (ja) 情報処理装置、情報処理方法、及び、プログラム
JP6600592B2 (ja) 移動体配置装置
JP2006053951A (ja) 加工計画方法、装置、及び、加工方法、装置
JP2021093024A (ja) 制御装置、制御装置のプログラム、及び端末装置のプログラム
EP2718795A2 (en) Dynamically controlling collisions of form controls in an electronic document
CN110285819B (zh) 确定最短路径的方法和装置
KR100562264B1 (ko) 모바일 지도에서의 라벨 겹침 제거 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191031

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191202

R150 Certificate of patent or registration of utility model

Ref document number: 6634787

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees