(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-01-07
(45)【発行日】2022-01-24
(54)【発明の名称】ロボットスケジューリング、ロボットの経路制御方法、サーバーおよび記憶媒体
(51)【国際特許分類】
G05D 1/02 20200101AFI20220117BHJP
B65G 1/00 20060101ALI20220117BHJP
【FI】
G05D1/02 H
B65G1/00 501C
(21)【出願番号】P 2020571647
(86)(22)【出願日】2019-06-19
(86)【国際出願番号】 CN2019091920
(87)【国際公開番号】W WO2019242652
(87)【国際公開日】2019-12-26
【審査請求日】2020-12-21
(31)【優先権主張番号】201810643118.4
(32)【優先日】2018-06-21
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】201810708903.3
(32)【優先日】2018-07-02
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】201810785131.3
(32)【優先日】2018-07-17
(33)【優先権主張国・地域又は機関】CN
【早期審査対象出願】
(73)【特許権者】
【識別番号】518227142
【氏名又は名称】北京極智嘉科技股▲ふん▼有限公司
【氏名又は名称原語表記】BEIJING GEEKPLUS TECHNOLOGY CO.,LTD.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】▲劉▼ ▲凱▼
(72)【発明者】
【氏名】▲劉▼ 俊
【審査官】中田 善邦
(56)【参考文献】
【文献】特開平11-085278(JP,A)
【文献】中国特許出願公開第104199450(CN,A)
【文献】米国特許出願公開第2017/0274531(US,A1)
【文献】中国特許出願公開第107036618(CN,A)
【文献】米国特許出願公開第2007/0142967(US,A1)
【文献】中国特許出願公開第107092255(CN,A)
【文献】特開平01-253009(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D1/00-1/12,
B25J1/00-21/02,
B65G1/00
(57)【特許請求の範囲】
【請求項1】
ロボットスケジューリング装置によって実行される、ロボットをスケジューリングするための方法であって、
スケジューリング命令を受け取ることと、
スケジューリング命令に応答して、作業領域中のロボットの作業状態と現在位置を確定し、ここで、前記作業状態には、アイドル状態および非アイドル状態を含むことと、
前記ロボットの作業状態がアイドル状態で、且つ、現在位置が事前設定された目標範囲外の情況で、前記ロボットを前記現在位置から目標範囲にスケジューリングすることとを含み、
前記目標範囲は、
倉庫フロア上のアイドル領域であ
って、作業状態がアイドル状態のロボットが集合するアイドル領域である、ロボットをスケジューリングするための方法。
【請求項2】
前記作業領域にあるロボットの作業状態の確定は、
作業領域のロボットが実行を待つタスクがあるか、あるいは実行中のタスクがあるかを判断することと、
前記ロボットが実行を待つタスクがないか、あるいは実行中のタスクがない判定結果に応じて、前記ロボットの作業状態がアイドル状態と確定し、前記ロボットが実行を待つタスクがあり、あるいは前記実行中のタスクがあるという判断結果に応じて、前記ロボットの作業状態が前記非アイドル状態であると確定することを含む、請求項1に記載の方法。
【請求項3】
前記ロボットを前記現在位置から前記目標範囲内にスケジューリングすることは、
前記目標範囲内で、前記ロボットの目標位置を確定することと、
前記現在位置から前記目標位置までの最適な経路を計算することと、
前記最適な経路に基づき、前記ロボットを前記現在位置から前記目標位置までスケジューリングすることとを含む、請求項1または請求項2に記載の方法。
【請求項4】
前記目標範囲内で前記ロボットの目標位置を確定することは、
前記目標範囲内で前記ロボットの計画位置を確定することと、
前記ロボットの計画位置が事前設定されたスケジューリング条件を満たしているかどうかを判断し、前記ロボットの計画位置が前記スケジューリング条件を満たす判断結果に応じ、前記ロボットの計画位置を前記ロボットの目標位置として確定することとを含む、請求項3に記載の方法。
【請求項5】
前記目標範囲を少なくとも一つのセルに分割し、前記ロボットの目標位置をセル単位で確定し、ここで、前記目標範囲の形状は長方形で、前記目標範囲は、事前設定された開始点位置と幅と高さによって確定される、請求項4に記載の方法。
【請求項6】
前記事前設定されたスケジューリング条件は、
前記ロボットが垂直に配置されている場合、前記ロボットの計画位置で水平に隣接するセルがアイドル状態である条件と、
前記ロボットが水平に配置されている場合、前記ロボットの計画位置で垂直に隣接するセルはアイドル状態である条件とを含む、請求項5に記載の方法。
【請求項7】
ロボットの数が前記目標範囲内に受け入れるロボットの数よりも多い場合は、目標範囲を再確定し、また、前記ロボットの作業状態がアイドル状態で、且つ現在位置が事前設定された目標範囲外にある場合、前記ロボットを前記現在位置から前記新しい目標範囲にスケジューリングすることをさらに含む、請求項1に記載の方法。
【請求項8】
少なくとも一つのプロセッサーと、
少なくとも一つのプログラムを格納する用に構成されたメモリと
を含み、
前記少なくとも一つのプログラムが少なくとも一つのプロセッサーによって実行される、
請求項1から7のいずれか一項に記載の方法を実現する、サーバー。
【請求項9】
コンピュータプログラムを格納し、前記プログラムがプロセッサーによって実行される時に、請求項1から請求項7のいずれか一項に記載の方法を実現する、コンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、出願日2018年07月02日に中国特許局に提出し、出願番号が201810708903.3であり、出願日が2018年06月21日であり、出願番号が201810643118.4および出願日が2018年07月17日であり、出願番号が201810785131.3であり、発明名称が「ロボットスケジューリング、ロボットの経路制御方法、サーバーおよび記憶媒体」との中国特許出願を基礎とする優先権を主張し、その開示の総てをここに取り込む。
【0002】
本出願の実施形態はロボティクス、例えば、ロボットスケジューリング、ロボットの経路制御方法、サーバーおよび記憶媒体に関する。
【背景技術】
【0003】
ロボティクスの発展は、ロジスティクス業界に新しいテクノロジーとイノベーションをもたらした。ロボットを使用し多数の労働者を置き換えることで、ロジスティクス分野の自動化を実現し、人件費を削減し、生産性の向上を促進できる。関連技術のロボットピッキングシステムは、移動ロボットを使用して、事前に設定されたスタッフの位置に貨物を運搬し、従来の「人から物へ」の貨物ピッキングモデルを「物から人へ」の貨物ピッキングモデルに変換し、従来の貨物ピッキングモデルを打ち破り、作業効率を効果的に向上させる。
【0004】
多数の倉庫は1日24時間連続稼働していないため、毎日出勤退勤時に、ロボットの電源をオンとオフをする必要がある。しかし、ロボットは倉庫内にランダムに配置されている場合があり、電源をオンとオフするときは、フィールドのいたるところでロボットを見つける必要があり、あるいは、制御端子を通じてロボットを手動で指定位置にスケジューリングし、つまり制御端子上で一台のロボットを選択し、そしてこのロボットと対応する指定位置を確定し、このロボットを指定位置にスケジューリングし、その後、スケジューリングの必要がある次の一台のロボットを選択し、上記の操作を繰り返し、フィールドのすべてのロボットが指定位置までスケジューリングされる。ただし、これら2つの方法は、間違いなくユーザーの使用コストを増加させ、スタッフの作業効率を低下させる。
【0005】
さらに、倉庫の多くの資源、例えば、ロボット、棚、倉庫フロアのQRコード(登録商標)なども不定期のメンテナンスが必要である。ロボットピッキングシステムをメンテナンスする前に、ロボットを手動で指定領域にスケジューリングし、メンテナンス担当者が点検できるように、ロボットが、メンテナンスしなければならないQRコード(登録商標)またはフロアの棚をブロックしないようにする。ただし、毎回メンテナンスの前に手動でロボットをスケジューリングする必要があり、スタッフの運用とメンテナンスのコストが増加する。
【0006】
ロジスティクス倉庫では、例えばロボットの交通事故や商品の落下など、突発的事態の発生を避けることができず、あるいは、例えば、棚の点検やフロアのQRコード(登録商標)のクリーニングや交換など、基本的な倉庫基礎資源を定期的にメンテナンスする必要がある。
【0007】
関連技術は、特定の領域でロボットの動作を全て停止すると、他の領域または領域全体の動作に影響を与える可能性がある。関連技術のロボットのモーションモードは、さまざまな上流システムの業務要件や突発的事態の処理要件を満たすことができず、生産に影響を与えない前提のもと、安全迅速に運用とメンテナンスのスタッフが倉庫に入り、生産秩序の回復を実現できない。ロジスティクスの分野では、倉庫は資材を一元的に保管する場所であり、一旦火災が発生すると、経済的損失は巨大で、社会的影響が大きく、結果は深刻である。したがって、倉庫の消防安全を十分に行い、保管されている物資の安全を保障し、火災の隠れた危険を減らすことが非常に重要である。
【0008】
倉庫では、消防警報が発せられると、すべてのロボットが動きを停止し、そして、ロボットを消防通路から人為的に移動させるが、作動中のロボットは、遅延エラーにより作動し続けたり、または急ブレーキにより突発的事故を引き起こしたりする場合があり、且つ、この方法は非効率的で、多くの時間と労力を消費し、救助活動に影響を与える可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【0009】
本出願は、ロボットスケジューリング、ロボットの経路制御方法、サーバーおよび記憶媒体を提供し、上記の問題中の少なくとも一つを解決する。
【課題を解決するための手段】
【0010】
本出願は、ロボットスケジューリングを提供し、前記方法は、
スケジューリング指示を受け取ることと、
スケジューリング指示に応じて、作業領域中のロボットの作業状態と現在位置を確定しここで、前記作業状態には、アイドル状態および非アイドル状態を含むことと、
前記ロボットの作業状態がアイドル状態で、且つ、現在位置が事前設定された目標範囲外の場合、前記ロボットを前記現在位置から前記目標範囲内にスケジューリングすることとを含む。
【0011】
本出願の実施形態はさらに、サーバーを提供し、前記サーバーは、
少なくとも一つのプロセッサーと、及び、
前記少なくとも一つのプロセッサーと通信して接続されたメモリとを含み、
前記メモリは、前記少なくとも一つのプロセッサーによって実行できる命令が格納され、前記命令は、前記少なくとも一つのプロセッサーによって実施され、前記少なくとも一つのプロセッサーは、前記実施形態のいずれかによる方法を実行することができる。
【0012】
本出願の実施形態は、さらに記憶媒体を提供し、コンピュータで実行可能な命令が格納され、前記コンピュータで実行可能な命令は、前記実施形態のいずれかによる方法を実行するように構成される。
【0013】
本出願の実施形態は、ロボットをスケジューリングするための方法、サーバーと記憶媒体を提供し本出願では、最初にロボットの作業状態とロボットの現在位置を確定し、ここで、作業状態は、アイドル状態と非アイドル状態が含み、当該ロボットの作業状態がアイドル状態で、且つ、現在位置が事前設定された目標範囲外の時、ロボットを現在位置から目標範囲内にスケジューリングすることができる。つまり、本出願の実施形態が提出した技術的な解決策では、ロボットの作業状態がアイドル状態で、且つ、現在位置が事前設定された目標範囲外の時、領域に集まるようにロボットをスケジューリングすることができ、指定領域内にロボットを自動スケジューリングすることが実現でき、そして運用とメンテナンスのコストを削減でき、作業効率を向上させることができる。
【0014】
本出願の実施形態は、ロボットの経路制御方法を提供し、前記ロボットの経路制御方法は、
前記ロボットが計画された経路に従い移動する過程で、前記ロボットが配置されている現在のサブ領域の作業状態を確定することと、
前記現在のサブ領域がロック状態にあることを検出した場合、前記ロボットを制御して作動を停止することと、
前記現在のサブ領域がロック解除状態にあり、且つ次のサブ領域がロック状態にあることを検出した場合、サブ領域を回避するため前記ロボットの経路を再計画し、そして再計画された経路に従って移動するように前記ロボットを誘導することと、
前記現在のサブ領域と次のサブ領域の両方がロック解除状態にあることを検出した場合、前記ロボットは前記経路に従って移動するように誘導することとを含む。
【0015】
本出願の実施形態は、さらにサーバーを提供し、前記サーバーは、
一つのまたは複数のプロセッサーと、
一つのまたは複数のプログラムを格納するために設定されたメモリとを含み、
前記一つまたは複数のプログラムが、前記一つまたは複数のプロセッサーによって実行され、前記一つまたは複数のプロセッサーは、前記のようなロボットの経路制御方法を実現させる。
【0016】
本出願の実施形態は、さらにコンピュータ可読記憶媒体を提供し、前記コンピュータ可読記憶媒体は、コンピュータプログラムを格納し、前記プログラムがプロセッサーによって実行されるとき、前記のようなロボット経路制御方法を実現する。
【0017】
本出願の実施形態は、ロボットが計画された経路に従い移動する過程を通じて、前記ロボットが配置されている現在のサブ領域の作業状態を確定し、もし前記現在のサブ領域がロック解除状態にあり、且つ次のサブ領域がロック状態にあることを検出した場合、つまり再計画された経路に従って移動するように前記ロボットを誘導する。本出願の実施形態が提供する技術的な解決策は、ロボットが移動中、サブ領域の作業状態に基づきリアルタイムで経路を調整でき、ロボットの移動経路をより柔軟に制御し、制御効率を向上させることができる。
【0018】
本出願の実施形態は、ロボットをスケジューリングするための方法を提供し、
消防信号を受信することと、
消防信号に応じて、ロボットが移動状態にあり、且つ前記ロボットのナビゲーション経路の次のサブ領域が事前設定された消防通路領域に位置する場合、前記ロボットを制御して前記次のサブ領域に移動し、そして前記ナビゲーション経路に従い移動を続け、次のサブ領域が事前設定された消防通路領域でなくなるまで移動し、移動を停止することを含む。
【0019】
本出願の実施形態は、さらにサーバーを提供し、前記サーバーは、
一つのまたは複数のプロセッサーと、
一つのまたは複数のプログラムを格納するために設定されたメモリとを含み、
前記一つまたは複数のプログラムが、前記一つまたは複数のプロセッサーによって実行され、前記一つまたは複数のプロセッサーは、前記のようなロボットをスケジューリングするための方法を実現させる。
【0020】
本出願の実施形態は、さらにコンピュータ可読記憶媒体を提供し、それにコンピュータプログラムを格納し、前記プログラムがプロセッサーによって実行されるとき、前記のようなロボットをスケジューリングするための方法を実現する。
【発明の効果】
【0021】
本出願の実施形態は、消防信号を受信することにより、消防信号に応じて、もしロボットが移動状態にあり、且つロボットのナビゲーション経路の次のサブ領域が事前設定された消防通路領域にあるなら、つまりロボットを制御して前記次のサブ領域に移動し、ナビゲーション経路に従い移動を続け、次のサブ領域が事前設定された消防通路領域でなくなるまで移動し、移動を停止する。本出願の実施形態が提供する技術的な解決策は、作動状態のロボットに対し、遅延エラーや急ブレーキによる問題を回避し、ロボットが消防通路を離れる効率を向上させることができる。
【図面の簡単な説明】
【0022】
【
図1】一実施形態中のロボットスケジューリングシステムの構造模式図。
【
図2】一実施形態中のロボットをスケジューリングするための方法のフローチャート。
【
図3】一実施形態中の別のロボットをスケジューリングするための方法のフローチャート。
【
図4】一実施形態中のロボットの目標範囲内の分布模式図。
【
図5】一実施形態中のロボットスケジューリング装置の構造模式図。
【
図6】一実施形態が提供するサーバーの構造模式図。
【
図7】一実施形態中のロボットの経路制御方法のフローチャート。
【
図8】一実施形態中の別のロボットの経路制御方法のフローチャート。
【
図9】一実施形態中のマップ操作インターフェースのロックされたサブ領域の構造模式図。
【
図10】一実施形態中のロボットの経路制御装置の構造模式図。
【
図11】一実施形態中の別のサーバーの構造模式図。
【
図12】一実施形態中の貨物ピッキングシステムのシステム構造模式図。
【
図13】一実施形態中のロボットをスケジューリングするための方法のフローチャート。
【
図15】一実施形態中のロボットスケジューリング装置の構造模式図。
【
図16】一実施形態中の別のサーバーの構造模式図。
【発明を実施するための形態】
【0023】
以下、本出願に対し図面および実施形態と合わせて説明する。理解できることは、ここで説明される具体的な実施形態は、本出願を説明するためのみ使用され、本出願に対する限定ではない。この他さらに説明が必要なのは、説明を簡単にするために、図面は本出願の関連する部分のみを示しており、すべての構造を示しているわけではない。
【0024】
本出願の実施形態は、ロボットをスケジューリングするための方法を提供し、当該ロボットをスケジューリングするための方法はロボットスケジューリングシステムに使用され、
図1は実施形態中のロボットスケジューリングシステムの構造模式図で、
図1に示すように、ロボットスケジューリングシステムは一般的に、操作端子101、サーバー102と少なくとも一つのロボット103を含む。サーバー102は、それぞれ、操作端子101およびロボット103との通信リンクを確立し、操作端子101は、スタッフが入力した操作情報を受信するように設定されており、例えば、ユーザーは、人間とコンピュータの相互作用インターフェースを通じて、操作端子で操作情報を入力でき、倉庫内のロボット103のスケジューリング制御を実現する。サーバー102は、操作端子101が受信した操作情報と倉庫内の実情に基づき設定され、作業命令を生成してロボット103に送信し、ロボット103は、受信した作業命令に基づき、作業命令に対応する作業タスクを完了するように設定される。
【0025】
図2は一実施形態中のロボットをスケジューリングするための方法のフローチャートで、本実施形態は、ロボットをスケジューリングする場合に適用でき、この方法は、ロボットスケジューリング装置により実行でき、
図2に示すように、当該ロボロボットをスケジューリングするための方法は、以下のステップを含む。
【0026】
ステップ110では、ロボットの作業状態と現在位置を確定し、ここで、作業状態には、アイドル状態と非アイドル状態を含む。
【0027】
一実施形態中、ロボットの作業状態と現在位置を確定する前に、さらにスケジューリング命令の受信を含み、ロボットの作業状態と現在位置を確定し、スケジューリング命令に応じて、作業領域にあるロボットの作業状態と現在位置を確定することを含む。
【0028】
一実施形態中、ロボットは目標ロボットを指す。目標ロボットは、倉庫内のロボットを指すが、目標領域内の任意のロボットではない。目標ロボットは、スタッフが操作端子で入力した、あるロボットの番号で、このとき、この番号のロボットが目標ロボットである。このスタッフが操作端子で集合コマンド(スケジューリング命令)を入力する時、サーバーは倉庫内のすべてのロボットをトラバースし、サーバーが現在照会しているロボットを目標ロボットとして確定する。
【0029】
本実施形態中、以下の方法でロボットの作業状態を確定することができる。ロボットが実行を待つタスクがあるか、あるいは実行中のタスクがあるかを判断し、実行を待つタスクはなく、実行中のタスクもないというロボットの判断結果に応じて、ロボットの作業状態がアイドル状態と確定し、ロボットに実行を待つタスクがあり、または実行中のタスクがあるという判断結果に応じて、ロボットの作業状態が非アイドル状態であると確定する。
【0030】
実行を待つタスクはサーバーがすでに送信した作業命令を受信したことを指し、ロボットがタスクを実行中のため、この作業命令に対応するタスクをすぐに実行できず、あるいは、ロボットはサーバーがすでに送信した作業命令を受信し、タスクを実行する途中にある。
【0031】
ロボットの現在位置を確定する方法は、ロボットの作業環境あるいはロボットの主な作業タスクに基づき、異なる技術的な解決策を採用することができる。
【0032】
本出願の実施形態は、QRコード(登録商標)に基づきロボットの現在位置を確定する方法を提供する。事前にロボットの作業領域のフロア上の異なる座標値のQRコード(登録商標)を用い順次カバーし、すなわち、ロボットの作業領域のフロアは、同じ辺の長さのセルに均等に分割され、各セルは、異なる座標値のQRコード(登録商標)を用い順次カバーする。各QRコード(登録商標)に対応する座標値は、このフロア上のQRコード(登録商標)の位置に対応する。ロボットは、現在ある位置に対応するQRコード(登録商標)を取得し、その後、取得したQRコード(登録商標)が対応する座標値に基づきロボットの現在位置を確定する。
【0033】
ステップ120では、ロボットの作業状態がアイドル状態で、且つ、現在位置が事前設定された目標範囲外の時、ロボットを現在位置から目標範囲内にスケジューリングする。
【0034】
一実施形態中、目標範囲の形状は長方形で、目標範囲は、事前設定された開始点位置、事前設定された幅、および事前設定された高さによって確定する。
【0035】
事前設定された目標範囲は、倉庫フロア上のアイドル領域を指し、このアイドル領域は倉庫内のロボットの位置に基づき随時設定できる。すなわち、スタッフが操作端子で集合コマンドを入力すると、サーバーは倉庫内でアイドル領域を探す。一実施形態中、このアイドル領域は、スタッフの作業台に近い領域を優先的に選択する。例を示すと、事前設定された目標範囲の選択は、以下のコマンドにより実行される。
【0036】
<! ロボット集合領域 >
<logoutzone x =「9」、y=「6」、 w=「14」、h=「2」/>
【0037】
ここで、x、yは目標範囲の始点の座標値で、x=「9」、y=「6」は、目標範囲の開始点が、横軸が9、縦軸が6のセルを表す。w、hは目標範囲の長さと高さを表し、w=「14」は目標範囲の長さは14セルを表し、h=「2」は目標範囲の高さは2セルを表す。
【0038】
ロボットの現在位置が事前設定された目標範囲外の場合、ロボットの作業状態を確定し、ロボットの作業状態がアイドル状態の場合、ロボットを現在位置から目標範囲内にスケジューリングする。
【0039】
ロボットの現在位置が事前設定された目標範囲外の場合、ロボットの作業状態を確定し、ロボットの作業状態が非アイドル状態の場合、非アイドル状態のロボットをスキップして、ロボットの作業状態と現在位置を続けて照会し、非アイドル状態のロボットは如何なる処理も行わない。
【0040】
ロボットの現在位置が事前設定された目標範囲内の場合、事前設定された目標範囲のロボットをスキップして、ロボットの作業状態と現在位置を続けて照会し、事前設定された目標範囲のロボットは如何なる処理も行わない。
【0041】
ロボットの数が目標範囲に受け入れるロボットの数よりも多い場合は、新しい目標範囲を再確定し、そしてロボットの作業状態がアイドル状態で、且つ現在位置が事前設定された目標範囲外にある場合、ロボットを現在位置から新しい目標範囲内にスケジューリングする。
【0042】
本出願の実施形態は、ロボットをスケジューリングするための方法を提供する。この方法はまずロボットの作業状態と現在位置を確定し、ここで、作業状態には、アイドル状態と非アイドル状態を含み、当該ロボットの作業状態がアイドル状態で、且つ現在位置が事前設定された目標範囲外にある場合、ロボットを現在位置から目標範囲内にスケジューリングすることができる。すなわち、本出願の実施形態が提出した技術的な解決策では、当該ロボットの作業状態がアイドル状態であり、且つ現在位置が事前設定された目標範囲外にある場合、目標ロボットを指定領域に集合するようにスケジューリングでき、自動的にロボットを指定領域へスケジューリングでき、そして運用とメンテナンスコストを削減し、作業効率を向上させることができる。
【0043】
図3は一実施形態中の別のロボットをスケジューリングするための方法のフローチャートで、本実施形態は上記実施形態の基礎のもと、「ロボットを現在位置から目標範囲内にスケジューリングする」という特徴に対し説明し、
図3に示すように、当該ロボットをスケジューリングするための方法は、以下のステップを含む。
【0044】
ステップS210では、ロボットの作業状態と現在位置を確定し、ここで、作業状態には、アイドル状態と非アイドル状態を含む。
【0045】
ステップS220では、ロボットの作業状態がアイドル状態で、且つ、現在位置が事前設定された目標範囲外の時、目標範囲内でロボットの目標位置を確定する。
【0046】
本実施形態中、目標範囲は少なくとも一つのセルに分割され、ロボットの目標位置をセル単位で確定し、ここで、目標範囲は、目標範囲の開始位置とスケジューリング条件により確定する。ロボットの現在位置が事前設定された目標範囲外にある場合、ロボットの作業状態を確定し、ロボットの作業状態がアイドル状態の場合、目標範囲内で目標ロボットの目標位置を確定する。
【0047】
本実施形態中、目標位置は、ロボットが目標範囲内にとどまる位置を指す。本実施形態は、ロボットが目標範囲内に集合時の分布位置の方法を提供する。
図4は一実施形態中のロボットの目標範囲内の分布模式図である。
図4に示すように、円形301は、ロボットが目標範囲に集合時にとどまる位置を表し、点線の長方形302は、倉庫内の棚の位置を表し、空白セル303は、倉庫フロア内のロボットが移動するための空きスペースを表す。
【0048】
本実施形態は、一つの状況だけを示し、倉庫内のアイテムの位置を制限しない。ロボットに移動通路を提供するために、空白セル303の間に通路を形成しなければならない。円形301は、水平または垂直に配置することができ、且つ、アイドル状態のロボットがアイドル状態領域に集合している限り、目標範囲の形状も制限されない。
【0049】
目標範囲内でロボットの目標位置を確定することは、具体的に、目標範囲内でロボットの計画位置を確定し、ロボットの計画位置が事前設定されたスケジューリング条件を満たしているかどうかを判断し、ロボットの計画位置がスケジューリング条件を満たす場合に応じて、ロボットの計画位置をロボットの目標位置として確定することを含む。
【0050】
ロボットの計画位置は、サーバーが目標範囲内で先に任意に選択した一つの位置を指す。目標範囲の開始点に基づき要件に応じて選択した位置とすることもできる。事前設定されたスケジューリング条件は、ロボットがこの計画位置にとどまっている場合、その他のロボットの移動に影響を与えず、ロボットが移動する必要がある場合、その他のロボットの位置を調整する必要がなく、当該ロボットは早く出ることができる。一実施形態中、事前設定されたスケジューリング条件は、ロボットが垂直に配置されている場合、ロボットの計画位置で水平に隣接するセルがアイドル状態であり、ロボットが水平に配置されている場合、ロボットの計画位置で垂直に隣接するセルはアイドル状態であることを含む。ロボットの計画位置がスケジューリング条件を満たしている場合、ロボットの計画位置をロボットの目標位置として確定する。スケジューリング条件を満たすロボットの目標位置はすべて一つの位置で区切られ、つまり、スケジューリング条件を満たすロボットの目標位置は一つのセルで区切られる。
【0051】
例を示すと、
図4に示すように、
図4のセルの左から右への座標を、(1,1)、(1,2)、(1,3)、(1,4)、(1,5)、(1,6)、(1,7)、(1,8)、(1,9)、(1,10)とマークし、
図4のセルの下から上への座標を、(1,1)、(2,1)、(3,1)、(4,1)、(5,1)、(6,1)、(7,1)、(8,1)、(9,1)、(10,1)、(11,1)とマークする。座標値(1,1)のセルを目標範囲の開始点とし、座標値(1,1)のセルを計画位置とし、座標値(1,1)のセルが、現在のロボットを除く他のロボットの目標位置であるかどうかを判断し、座標値(1,1)のセルが、現在のロボットを除く他のロボットの目標位置ではない場合、座標値(1,1)のセルが、実行時に他のロボットの移動時に通過する必要のある経路のセルであるかどうかを判断する。座標値(1,1)のセルが、他のロボットが移動時に通過する必要のある経路のセルではない場合、座標値(1,1)のセルを現在のロボットの目標位置とする。座標値(1,1)のセルが、他のロボットが移動時に通過する必要のある経路のセルである場合、現在の計画位置が不合理であることを説明し、フロア内の他の位置を新たに選択し計画位置とする。
【0052】
一実施形態中、座標値(1,1)のセルをロボットの目標位置とする場合、次のロボットに対応する計画位置は、座標値(1,1)のセルから一つのセルで区切られた位置を選択でき、すなわち、座標値(1,3)または(3,1)のセルを計画位置とする。
【0053】
倉庫内のすべてのロボットをトラバースし、目標範囲外のアイドル状態のロボットが作業状態でなくなるまで、つまり、すべての作業状態がアイドル状態のロボットが目標範囲内で集合する。あるいは、目標範囲内で、すでにスケジューリング条件に符合する目標位置がない。
【0054】
ステップS230では、現在位置から目標位置までの最適な経路を計算する。
【0055】
本実施形態中、事前に初期化経路図を作成しておく必要があり、初期化経路は如何なる貨物もない状態で設計される。初期化経路図は、多くの水平および垂直のラインセグメントで構成され、これらのラインセグメントは、ロボット歩行のシーケンスを形成する。ロボットは、いかなる障害物もないフロアで、左右あるいは上下方向に任意に前後に歩行できる。
【0056】
ロボットの現在位置と目標位置を確定した後、現在位置から目標位置までのすべての可能な経路を計算し、現在位置と目標位置の間の最短経路を確定し、ロボットの計画経路とする。現在のロボット以外の他のロボット移動経路が、現在のロボットの計画経路と重複したセルかどうかを判断し、この現在のロボット以外の他のロボットの移動経路に、現在のロボットの計画経路と重複したセルがない場合、現在の位置と目標位置の間の最短経路を現在のロボットの最適な経路とする。
【0057】
この現在のロボット以外の他のロボットの移動経路に、現在のロボットの計画経路と重複したセルがあることを除き、現在のロボットからこの重複したセルまでの時間と他のロボットからこの重複したセルまでの時間を計算し、現在のロボットから各重複したセルまでの時間が他のロボットから対応する重複したセルまでの時間が異なる場合、現在の位置と目標位置の間の最短経路を現在のロボットの最適な経路とする。
【0058】
現在のロボットから任意の重複したセルまでの時間が他のロボットから対応する重複したセルまでの時間が同じである場合、現在位置と目標位置の間のその他の経路を新たに選択し、現在のロボットの計画経路とする。且つ、上記のステップに基づき、この計画経路が最適な経路になるかどうかを新たに計算する。
【0059】
ステップS240では、最適な経路に基づき、ロボットを現在位置から目標位置にスケジューリングする。
【0060】
現在位置から目標位置までの最適な経路を計算した後、最適な経路のソリューションをロボットに送信し、最適な経路に基づき現在位置から目標位置までロボットを駆動させ、ロボットの集合を完成させる。
【0061】
本出願の実施形態は、ロボットをスケジューリングするための方法を提供する。まずロボットの作業状態と現在位置を確定し、ここで、作業状態には、アイドル状態と非アイドル状態を含み、当該ロボットの現在位置が事前設定された目標範囲外にあり、且つ作業状態がアイドル状態の場合、目標範囲内で、ロボットの目標位置を確定し、現在位置から目標位置までの最適な経路を計算し、最適な経路に基づき、ロボットを現在位置から目標位置までスケジューリングする。すなわち、本出願の実施形態が提出した技術的な解決策では、当該ロボットの現在位置が事前設定された目標範囲外にあり、且つ作業状態がアイドル状態の場合、目標ロボットを指定領域に集合するようにスケジューリングでき、自動的にロボットを指定領域へスケジューリングでき、そして、運用とメンテナンスコストを削減し、作業効率を向上させることができる。
【0062】
図5は一実施形態中のロボットスケジューリング装置の構造模式図であり、本実施形態は、スケジューリングロボットの情況に適用でき、
図5に示すように、当該ロボットスケジューリング装置は、以下の部品、確定モジュール410とスケジューリングモジュール420を含むことができる。
【0063】
確定モジュール410は、ロボットの作業状態と現在位置を確定するように構成される。ここで、作業状態には、アイドル状態と非アイドル状態を含む。
【0064】
一実施形態中、上記の装置は、スケジューリング命令を受信するように構成された受信モジュールをさらに含む。確定モジュール410は、前記スケジューリング命令に応じて、作業領域にあるロボットの作業状態と現在位置を確定する。
【0065】
スケジューリングモジュール420は、ロボットの作業状態がアイドル状態で、且つ現在位置が事前設定された目標範囲外の場合、ロボットを現在位置から目標範囲内にスケジューリングするよう構成される。
【0066】
一実施形態中、確定モジュール410は、判断サブモジュール(
図5に示さず)と確定サブモジュール(
図5に示さず)を含む。ここで、判断サブモジュールは、ロボットが実行を待つタスクがあるか、あるいは実行中のタスクがあるかを判断するよう構成される。確定サブモジュール4102は、実行を待つタスクはなく、実行中のタスクもないというロボットの判断結果に応じて設定し、ロボットの作業状態がアイドル状態と確定し、ロボットに実行を待つタスクがあり、または実行中のタスクがあるという判断結果に応じて、ロボットの作業状態が非アイドル状態であると確定する。
【0067】
一実施形態中、スケジューリングモジュール420は、計算サブモジュール(
図5に示さず)とスケジューリングモジュール(
図5に示さず)を含む。ここで、計算サブモジュール4201は、ロボットの作業状態がアイドル状態で、且つ現在位置が事前設定された目標範囲外の場合に、目標範囲内でロボットの目標位置を確定し、現在位置から目標位置までの最適な経路を計算する。スケジューリングサブモジュール4202は、最適な経路に基づき、ロボットを現在位置から目標位置にスケジューリングするように構成される。
【0068】
一実施形態中、計算サブモジュールは、以下の方法で目標範囲内で確定したロボットの目標位置を確定するように構成される。目標範囲内でロボットの計画位置を確定し、ロボットの計画位置が事前設定されたスケジューリング条件を満たしているかどうかを判断し、目標ロボットの計画位置がスケジューリング条件を満たす場合、ロボットの計画位置をロボットの目標位置として確定する。
【0069】
一実施形態中、前記目標範囲は少なくとも一つのセルに分割され、前記ロボットの目標位置をセル単位で確定し、ここで、前記目標範囲は、前記目標範囲の開始位置とスケジューリング条件により確定する。
【0070】
一実施形態中、目標範囲の形状は長方形で、目標範囲は、事前設定された開始点位置、事前設定された幅、および事前設定された高さによって確定する。
【0071】
一実施形態中、前記事前設定されたスケジューリング条件は、前記ロボットが垂直に配置されている場合、前記ロボットの計画位置で水平に隣接するセルがアイドル状態であり、前記ロボットが水平に配置されている場合、前記ロボットの計画位置で垂直に隣接するセルはアイドル状態であることを含む。
【0072】
一実施形態中、前記装置は、さらに、ロボットの数が前記目標範囲内に受け入れるロボットの数よりも多い場合、新たに目標範囲を再確定し、そして前記ロボットの作業状態がアイドル状態で、且つ現在位置が事前設定された目標範囲外にある場合、前記ロボットを前記現在位置から前記新しい目標範囲にスケジューリングする。
【0073】
本出願の実施形態は、ロボットスケジューリング装置を提供する。当該ロボットスケジューリング装置は以下の操作を実行するように構成される。まずロボットの作業状態と現在位置を確定し、ここで、作業状態には、アイドル状態と非アイドル状態を含み、当該ロボットの作業状態がアイドル状態で、且つ現在位置が事前設定された目標範囲外にある場合、ロボットを現在位置から目標範囲にスケジューリングすることができる。すなわち、本出願の実施形態が提出した技術的な解決策では、ロボットの作業状態がアイドル状態であり、且つ現在位置が事前設定された目標範囲外にある場合、ロボットを指定領域に集合するようにスケジューリングでき、自動的にロボットを指定領域へスケジューリングでき、そして運用とメンテナンスコストを削減し、作業効率を向上させることができる。
【0074】
本出願の実施形態が提供するロボットスケジューリング装置は、本出願の任意の実施形態が提供するロボットをスケジューリングするための方法を実行することができ、対応する機能モジュールの実行と有益な効果を備える。
【0075】
図6は実施形態が提供するサーバーの構造模式図である。
図6は、本出願の実施方式を実施するのに適した例示的なサーバー512のブロック図を示す。
図6に示されるサーバー512は単なる一つの例であり、本出願の実施形態の機能および使用範囲にいかなる制限ももたらしてはならない。
【0076】
図6に示すように、サーバー512は汎用デバイスの形式で表される。サーバー512の構成要素は、一つのあるいは複数のプロセッサーあるいはプロセッサー515、システムメモリ528、異なるシステム構成要素(システムメモリ528とプロセッサー515を含む)を接続するバス518を含むことができるが、これらに限定されない。
【0077】
バス518は、いくつか種類のバス構造の一つまたは複数の種類を表し、メモリバスあるいはメモリコントローラと、周辺バスと、グラフィック加速ポートと、プロセッサーとあるいは複数の種類のバス構造の中の任意のバス構造を使用したローカルバスを含む。例を挙げると、これらの体系構造には、工業標準の体系構造(Industry Standard Architecture,ISA)バス、マイクロチャネル体系構造(MicroChannel Architecture,MCA)バス、増強型ISA バス、ビデオエレクトロニクス標準協会(Video Electronics Standards Association,VESA)ローカルバスおよび周辺コンポーネントの相互接続(PeripheralComponent Interconnect,PCI)バスを含むが、これらに限定されない。
【0078】
一実施形態中、サーバー512は、多種のコンピュータシステム可読媒体を含む。これらの媒体は、サーバー512がアクセスできる利用可能な媒体にすることができ、揮発性および非揮発性媒体、取り外し可能および取り外し不可能な媒体を含む。
【0079】
システムメモリ528は、揮発性メモリ形式のコンピュータシステムの可読媒体を含むことができ、例えば、ランダムアクセスメモリ(Random Access Memory,RAM)530および、または高速キャッシュメモリ532である。サーバー512は、その他の取り外し可能および、または取り外し不可能な媒体、揮発性および、または非揮発性媒体のコンピュータシステムの記憶媒体を含むことができる。例を挙げると、ストレージシステム534は、取り外し不可能で揮発性でない磁気媒体(
図6にまだ示されてないが、通常「ハードドライブ」と呼ぶ)を読みとり書きこみをすることができる。
図6には示されてないが、取り外し可能な不揮発性ディスク(例えば「フロッピーディスク」)の読み取りと書き込み用のディスクドライブ、及び取り外し可能な不揮発性光ディスク(コンパクトディスク読み取り専用メモリ(Compact Disc Read-Only Memory,CD-ROM)、デジタルビデオディスク(Digital Video Disc-Read Only Memor,DVD-ROM)あるいはその他の光学媒体)読み取りおよび書き込み用の光学ドライブを提供できる。これらの場合、各ドライブは、一つあるいは複数のデータ媒体インターフェースを通じてバス518に接続することができる。システムメモリ528は、少なくとも1つのプログラム製品を含むことができ、前記プログラム製品は、一セットの(例えば、少なくとも一つの)プログラムモジュールを備え、これらのプログラムモジュールは、本出願の任意の実施形態の機能を実行するように設定される。
【0080】
一セットの(少なくとも一つの)プログラムモジュール552を備えたプログラムおよび、あるいはユーティリティ550は、例えば、システムメモリ528に格納することができ、このようなプログラムモジュール552は、オペレーティングシステムを含むが、これに限定されず、一つまたは複数のアプリケーションプログラムとその他のプログラムモジュールおよびプログラムデータは、これらの例のそれぞれ一つのまたは複数の種類のセットで、ネットワーク環境の実現を含むことができる。プログラムモジュール552は、通常、本発明の記載された実施形態における機能および、または方法を実行する。
【0081】
サーバー512は、また、一つまたは複数の外部デバイス514(例えば、キーボード、ポインティングデバイス、ディスプレイ525など)と通信でき、さらに、ユーザーがサーバー512と対話できるようにする一つまたは複数のデバイスと通信することもができ、および、またはこのサーバー512が一つまたは複数の他のコンピューティングデバイスと通信することができる任意のデバイス(例えば、ネットワークカード、モデムなど)と通信する。この通信は、入力と出力(I/O)インターフェース522を通じて実行することができる。且つ、サーバー512はさらに、ネットワークアダプタ520を通じて、一つまたは複数のネットワーク(例えばローカルエリアネットワーク(Local Area Network,LAN)、広域ネットワーク(Wide Area Network,WAN)および、または例えばインターネットのようなパブリックネットワーク)に通信できる。
図6に示すように、ネットワークアダプタ520は、バス518とサーバー512を通じてその他のモジュールと通信する。理解していただきたいのは、
図6にはまだ示されていないが、サーバー512はその他のハードウェアおよび、またはソフトウェアモジュールと組み合わせることができ、マイクロコード、デバイスドライバー、冗長処理ユニット、外部ディスクドライブアレイ、ディスクアレイ(Redundant Arrays of Independent Drives,RAID)システム、テープドライブ、データバックアップストレージシステムなどが含まれるが、これらに限定されない。
【0082】
プロセッサー515は、システムメモリ528に格納されたプログラムを実行することにより、そして各種の機能的アプリケーションおよびデータ処理を実行し、例えば、本出願の実施形態が提供するロボットをスケジューリングするための方法を実行することができ、具体的に、ロボットの作業状態と現在位置を確定し、ここで、作業状態には、アイドル状態と非アイドル状態を含み、当該ロボットの作業状態がアイドル状態で、且つ現在位置が事前設定された目標範囲外にある場合、ロボットを現在位置から目標範囲内にスケジューリングすることができる。
【0083】
本出願の実施形態は、サーバーを提供する。このサーバーは、まずロボットの作業状態と現在位置を確定し、ここで、作業状態には、アイドル状態と非アイドル状態を含み、当該ロボットの作業状態がアイドル状態で、且つ現在位置が事前設定された目標範囲外にある場合、ロボットを現在位置から目標範囲内にスケジューリングすることができる。すなわち、本出願の実施形態が提出した技術的な解決策では、当該ロボットの作業状態がアイドル状態であり、且つ現在位置が事前設定された目標範囲外にある場合、ロボットを指定領域に集合するようにスケジューリングでき、自動的にロボットを指定領域へスケジューリングでき、そして運用とメンテナンスコストを削減し、作業効率を向上させることができる。
【0084】
本出願の実施形態は、さらにコンピュータ可読記憶媒体を提供し、このコンピュータプログラムがその上に格納され、プログラムがプロセッサーによって実行される場合、本出願のすべての実施形態が提供するロボットをスケジューリングするための方法を実現し、ロボットの作業状態と現在位置を確定し、ここで、作業状態には、アイドル状態と非アイドル状態を含み、ロボットの作業状態がアイドル状態で、且つ現在位置が事前設定された目標範囲外にある場合、ロボットを現在位置から目標範囲内にスケジューリングすることができる。
【0085】
本出願の実施形態のコンピュータ記憶媒体は、一つまたは複数のコンピュータ可読媒体の任意の組み合わせを使用できる。コンピュータ可読媒体は、コンピュータ可読信号媒体あるいはコンピュータ可読記憶媒体であり得る。コンピュータ可読記憶媒体は、例えば、電気的、磁気的、光学的、電磁的、赤外線、または半導体のシステム、装置、または端子、あるいは上記の任意の組み合わせであり得るが、これらに限定されない。コンピュータ可読記憶媒体の例(非網羅的リスト)は、一つのまたは複数のワイヤとの電気接続、ポータブルコンピュータディスク、ハードディスク、RAM、読み取り専用メモリ(Read-Only Memory,ROM)、消去可能なプログラム可能な読み取り専用メモリ(Erasable Programmable Read-Only Memory,EPROM)またはフラッシュメモリ、光ファイバ、ポータブルCD-ROM、光ストレージデバイス、磁気ストレージ部品、あるいは上記の任意の適切な組み合わせを含む。本文書では、コンピュータ可読記憶媒体は、プログラムを含むまたは格納する任意の有形媒体であり得、前記プログラムは、命令実行システム、装置、または端子に使用され、あるいはそれらと組み合わせて使用されることができる。
【0086】
コンピュータ可読信号媒体は、ベースバンドの中で、あるいはキャリア波の一部として伝送されるデータ信号を含むことができ、コンピュータ可読信号媒体に、コンピュータ可読プログラムコードを搭載する。この伝送されたデータ信号は多くの形式を使用し、電磁信号、光信号、または上記の任意の適切な組み合わせを含むがこれらに限定されない。コンピュータ可読信号媒体は、さらに、コンピュータ可読記憶媒体以外のいかなるコンピュータ可読媒体であることができ、このコンピュータ可読媒体は、命令実行システム、装置、または端子に使用され、あるいはそれらと組み合わせて使用するプログラムを転送することができる。
【0087】
コンピュータ可読媒体に含まれるプログラムコードは、任意の適切な媒体によって転送でき、ワイヤレス、ワイヤ、光ファイバーケーブル、無線周波数(Radio Frequency,RF)など、あるいは上記の任意の適切な組み合わせを含むが、これらに限定されない。
【0088】
一つのまたは複数のプログラミング言語、または複数の組み合わせで、本出願の操作を実行するためのコンピュータプログラムコードを記述でき、前記プログラミング言語には、オブジェクト指向のJava、Smalltalk、C++といったプログラミング言語が含まれ、「C」言語といった従来の過程式プログラミング言語または類似のプログラミング言語をさらに含む。プログラムコードは、ユーザーのコンピュータで完全に実行でき、ユーザーのコンピュータで部分的に実行でき、スタンドアロンパッケージとして実行でき、一部はユーザーのコンピュータ上で、一部はリモートコンピュータ上で実行でき、あるいは、リモートコンピュータまたはサーバー上で完全に実行できる。リモートコンピュータに関して、リモートコンピュータはLANまたはWANを含む任意の種類のネットワークを通じ、ユーザーコンピューターに接続でき、あるいは、外部コンピュータに接続できる(たとえば、インターネットサービスプロバイダーを利用しインターネット経由で接続)。
【0089】
図7は一実施形態中のロボットの経路制御方法のフローチャートで、本実施形態は、ロボット制御の状況に適用でき、この方法は、ロボット経路の制御装置により実行することができ、当該装置は、ソフトウェアおよび、またはハードウェアによって実現でき、例えば、当該装置はサーバーに配置できる。この方法は、QRコード(登録商標)ナビゲーションあるいはインスタントポジショニングと地図作成ナビゲーション(Simultaneous Localization And Mapping,SLAM)のような、任意のナビゲーション方式での経路制御に適用できる。この方法には、以下のステップを含むことができる。
【0090】
ステップ710では、前記ロボットが計画された経路に従って移動中、前記ロボットが配置されている現在のサブ領域の作業状態を確定する。
【0091】
一実施形態中、サブ領域はセルとすることができる。
【0092】
本実施形態中、事前にマップ上のロボットの作業領域を、必要に応じて複数のサブ領域に事前に分割し、各サブ領域の作業状態は、ロック解除状態とロック状態で、これら二つの作業状態は、必要に応じて切り替えできることを含む。本実施形態中、ロック解除されたサブ領域は、このサブ領域が正常状態にあり、ロボットが移動できることができ、ロック状態のサブ領域は、このサブ領域がすべてのロボットの進入と移動を拒否することを表し、すでに計画された経路(経路内のサブ領域を含む)のロボットと、経路計画をまだ実行していないロボットを含む。
【0093】
一実施形態中、前記ロボットの経路を計画する過程で、作業領域内のセルの状態を確定し、作業状態がロックされたセルが計画後の経路上にないようする。
【0094】
ロボットスケジューリングシステムは、事前に目的地に基づき経路を計画することができ、ロボットの経路計画のする過程で、現在の作業状態が、ロック状態のサブ領域および、障害物のサブ領域であることを取得し、上記サブ領域がマップ内のインデックスにあることに基づき、障害物マトリックステーブルを初期化でき、もし、現在通過しているサブ領域が障害物マトリックステーブルでマークされている場合は、前記サブ領域をスキップする。実施形態中、前記障害物としてマークされたサブ領域は、建物の柱があるサブ領域などは、ロボットが移動できないサブ領域に固定できる。
【0095】
一実施形態中、前記方法は、作業状態命令操作に応じて、前記作業状態命令操作により指定した少なくとも一つのサブ領域の作業状態が、前記作業状態命令操作により指定した状態に設定することをさらに含む。一実施形態中、任意のサブ領域の作業状態に応じて、制御の操作を設定し、このサブ領域の作業状態を指定の状態に設定し、あるいは、任意のサブ領域座標の操作を入力することに応じて、このサブ領域の作業状態を指定の状態に設定する。
【0096】
ロボットスケジューリングシステムは、標準インターフェースによって外部から入力された任意のサブ領域の座標を取得し、このサブ領域の作業状態を指定の状態に設定することができる。例を示すと、インターフェイスフォーマットは、{cellPoints:[{x: 15.5,y: 16.5}, {x: 16.5,y: 16.5}]instruction: LOCK_SHELF}で、横座標は15.5で、縦座標は1.5と横座標は16.5で、縦座標は16.5の二つのロックされるサブ領域の座標とすることができる。
【0097】
ロボットスケジューリングシステムはまた、各サブ領域に対応する作業状態命令コントロールを事前設定でき、サブ領域の作業状態を指定の状態に設定し、一つのサブ領域が一つの作業状態命令コントロールに対応することもでき、複数のサブ領域が一つの作業状態命令コントロールに対応することもできる。実施形態中、マップのルートタグmapareasにより設定でき、ルートタグは複数の領域を定義し、各領域には唯一のidがあり、領域の開始点は属性xとyで構成され、wとh はこの長方形の大小を示す。領域間のクロスオーバーラップ部分は許可され、例えば、<mapareas><area areaid=「1」 x=「9」 y=「2」 w=「9」 h=「10」 /><area areaid=「2」 x=「17」 y=「2」 w=「7」 h=「10」 /></mapareas>である。前記作業状態命令コントロールは、ハードウェアまたはソフトウェアで設定でき、作業状態命令コントロールを押すと、この作業状態命令コントロールが対応するサブ領域に対し指定の状態に設定される。
【0098】
一実施形態中、前記方法は、前記経路に駆動障害があることが検出されると、駆動障害が存在するサブ領域がロック状態に設定されることを、さらに含む。ここで、前記駆動障害には、ロボットの故障、ロボットの事故、貨物の落下など、ロボットの移動に影響を与える障害を含み、異なる駆動障害が対応するロック状態の必要があるサブ領域は異なり、例えば、駆動障害がロボットの故障である場合、ロボットが配置されているサブ領域と隣接する八か所のサブ領域をロック状態に設定でき、もし駆動障害が貨物の落下である場合、貨物が落下したサブ領域と隣接する二十四か所のサブ領域をロック状態に設定できる。
【0099】
ステップ720では、前記現在のサブ領域がロック状態にあることが検出された場合、前記ロボットを制御して移動を停止する。
【0100】
ロボットが計画されたパスに基づき移動するとき、もし現在のサブ領域がロック状態にあることが検出されたら、経路スケジューリングモジュールはロボットへのサブ領域の割り当てを停止し、且つロボットを制御して移動を停止する。
【0101】
ステップ730では、前記現在のサブ領域がロック解除状態で、且つ次のサブ領域がロック状態にあることが検出された場合、前記次のサブ領域を回避するために前記ロボットの経路を再計画し、そして再計画された経路に従って移動するように前記ロボットを誘導する。
【0102】
もし現在のサブ領域がロック解除状態で、且つ次のサブ領域がロック状態にあることが検出されたら、すなわち、経路スケジューリングモジュールは、経路に従いサブ領域をロボットに割り当てるときに、次のサブ領域がロック状態であることを検出し、つまり、サブ領域はロボットに割り当てられず、且つロボットスケジューリングシステムは前記ロボットの経路を再計画でき、そして、ロック状態のサブ領域を回避するために、再計画された経路に従って移動するようにロボットを制御し、再計画された経路に従って移動するように前記ロボットを誘導する。
【0103】
一実施形態中、次のサブ領域を回避するために、前記ロボットの経路を再計画することは、ロボットスケジューリングシステムが、ロボットの現在のサブ領域を開始点とし、元の終了点を終了点とし、ロック状態のサブ領域を回避でき、複数の経路の損失を再計算し、損失が最小の経路を再計画された経路とし、また前記再計画された経路に従って移動するようにロボットを制御する。
【0104】
ステップ740では、前記現在のサブ領域と次のサブ領域の両方がロック解除状態にあることが検出された場合、経路に従って移動するように前記ロボットを誘導する。
【0105】
もし現在のサブ領域と次のサブ領域の両方がロック解除状態にあることが検出されたら、経路スケジューリングモジュールは、計画された経路に従いサブ領域にロボットに割り当て、経路に従って移動するように前記ロボットを誘導する。
【0106】
一実施形態中、フルフィールドロックボタンを設定でき、前記フルフィールドロックボタンは、ソフトウェアまたはハードウェアの方式で設定できる。フルフィールドロック操作に応じて、前記作業領域内のすべてのロボットが移動を停止するように制御し、経路スケジューリングモジュールがすべてのロボットへのサブ領域の割り当てを停止する。
【0107】
本実施形態の技術的な解決策は、ロボットが計画された経路に基づき移動するとき、前記ロボットが配置されている現在のサブ領域の作業状態を確定し、もし現在のサブ領域がロック解除状態で、且つ次のサブ領域がロック状態にあることが検出されると、前記次のサブ領域を回避するために前記ロボットの経路を再計画し、そして再計画された経路に従って移動するように前記ロボットを誘導する。経路内のサブ領域の作業状態はリアルタイムに動的に変更できるので、本実施形態が提供する技術的な解決策は、ロボット移動中のサブ領域の状態に応じてリアルタイムで経路を調整でき、ロボットの移動経路をより柔軟に制御でき、制御効率を向上させることができる。
【0108】
一実施形態中、前記技術的な解決策の基礎の上、前記方法は、前記現在のサブ領域がバッファ状態にあり、且つ次のサブ領域がロック状態にあることを検出された場合、前記次のサブ領域を回避するために前記ロボットの経路を再計画し、そして再計画された経路に従って移動するように前記ロボットを誘導し、前記現在のサブ領域と次のサブ領域の両方がバッファ状態にあることが検出されると、前記現在のサブ領域がロック解除状態で、且つ前記次のサブ領域がバッファ状態であるか、あるいは前記現在のサブ領域がバッファ状態で、且つ前記次のサブ領域がロック解除状態である場合、前記経路に従って移動するように前記ロボットを誘導することを、さらに含む。
【0109】
一実施形態中、前記現在のサブ領域がロック解除状態にあり、且つ次のサブ領域がロック状態にあることが検出された場合、前記次のサブ領域を回避するために前記ロボットの経路を再計画し、そして再計画された経路に従って移動するように前記ロボットを誘導することは、具体的に、前記現在のサブ領域がロック解除状態にあり、且つ次のサブ領域がロック状態にあることが検出された場合、前記次のサブ領域が事前設定された時間が経過した後も、ロック状態にあるかどうかを判断し、次のサブ領域が事前設定された時間が経過した後も、ロック状態にあるという判断結果に応じて、前記次のサブ領域を回避するために前記ロボットの経路を再計画し、そして再計画された経路に従って移動するように前記ロボットを誘導する。
【0110】
図8は、一実施形態中の別のロボットの経路制御方法のフローチャートとし、本実施形態で上記実施形態の基礎の上、ロボットの経路制御方法に対し説明をする。本実施形態の方法は以下のステップを含む。
【0111】
ステップ810では、前記ロボットが計画された経路に基づき移動するとき、前記ロボットが配置されている現在のサブ領域の作業状態を確定する。
【0112】
ロボットが計画された経路に従って移動する場合、ロボットスケジューリングシステムのマップ操作インターフェースを通じて手動で設定された任意のサブ領域の座標を取得し、このサブ領域の作業状態を指定の状態に設定できる。
図9で示すように、
図9は、本一実施形態中のマップ操作インターフェースのロックされたサブ領域の構造模式図とし、マップ操作インターフェースでサブ領域に対し選択と保存を実行し、つまり、ロックされるサブ領域の座標を取得できる。
図9の右側のメニューで「ロック」を選択し、左側の作業領域で選択と保存を実行し、保存後、選択したサブエリアの色が変わるか、または区別するためにマークが追加され、
図9のスラッシュでマークされたサブ領域は、選択したロック状態のサブ領域とし、
図9の円形はロボットを表す。もし
図9の右側のメニューで「ロック」または「ロック解除」を選択したなら、左側の作業領域で選択した場合、選択したサブ領域は、ロックされるサブ領域またはロックを解除されるサブ領域である。
【0113】
マップ操作インターフェースでは、サブ領域の状態属性は、ロック解除と、ロックとバッファを含むことができ、マップ操作インターフェースでサブ領域に対し選択と保存を実行した後、つまり、ロックされるサブ領域の座標を取得し、前記座標に基づきロックされるサブ領域の状態属性はロックに設定できる。
図9のように、
図9の右側のメニューで「ロック」を選択し、選択したサブ領域の状態属性をロックに設定する。マップ操作インターフェースで、バッファされたサブ領域とロック解除されたサブ領域に対し、選択と保存と、及び、バッファされたサブ領域とロック解除されたサブ領域の状態属性を、それぞれバッファとロック解除に設定することもできる。
【0114】
この他、
図9に示すように、ロボットスケジューリングシステムのマップ操作インターフェースでは、右側のスタートメニューとエンドメニューを通じて、正規化された座標(X、Y)を直接入力し、経路の始点と終点を設定することができる。ロボットスケジューリングシステムでは、ロボット操作インターフェースと棚操作インターフェースとセル(サブ領域)操作インターフェースなどをさらに含むことができ、ロボットと棚とセル(サブ領域)などを制御するために使用される。
【0115】
ロボットスケジューリングシステムは、また、標準インターフェースを通じて外部から入力された任意のサブ領域の座標を取得し、このサブ領域の作業状態を指定の状態に設定することもできる。
【0116】
一実施形態中、前記方法は、作業状態命令操作に応じて、前記作業状態命令操作によって指定の少なくとも一つのサブ領域の作業状態が、前記作業状態命令操作によって指定の状態に設定されることをさらに含む。一実施形態中、任意のサブ領域の作業状態に応じて、コントロールの操作を設定し、このサブ領域の作業状態を指定の状態に設定し、あるいは、任意のサブ領域の座標を入力する操作に応じて、このサブ領域の作業状態を指定の状態に設定されることをさらに含む。前記経路に駆動障害があることが検出されると、駆動障害が存在するサブ領域がロック状態に設定される。
【0117】
ステップ820では、前記現在のサブ領域がロック状態にあることが検出された場合、前記ロボットを制御して移動を停止する。
【0118】
ステップ830では、前記現在のサブ領域がロック解除状態で、且つ次のサブ領域がロック状態にあることが検出された場合、前記次のサブ領域を回避するために前記ロボットの経路を再計画し、そして再計画された経路に従って移動するように前記ロボットを誘導する。
【0119】
一実施形態中、前記現在のサブ領域がロック解除状態で、且つ次のサブ領域がロック状態にあることが検出された場合、前記次のサブ領域が事前設定された時間が経過した後も、ロック状態にあるかどうかを判断し、次のサブ領域が事前設定された時間が経過した後もロック状態にあるなら、前記次のサブ領域を回避するために前記ロボットの経路を再計画し、そして再計画された経路に従って移動するように前記ロボットを誘導することを含む。
図9に示すように、矢印の付いた経路は、ロボットの再計画された経路を表し、ロボットは、再計画された経路に従い移動し、スラッシュでマークされたサブ領域(ロック状態のサブ領域)を回避することができる。
【0120】
本実施形態中、事前設定された時間の長さは必要に基づき設定し、たとえば、事前設定された時間の長さは20sに設定できる。
【0121】
ステップ840では、前記現在のサブ領域と次のサブ領域の両方がロック解除状態にあることが検出された場合、経路に従って移動するように前記ロボットを誘導する。
【0122】
ステップ850では、前記現在のサブ領域がバッファ状態にあり、且つ次のサブ領域がロック状態にあることを検出された場合、前記次のサブ領域を回避するために前記ロボットの経路を再計画し、そして再計画された経路に従って移動するように前記ロボットを誘導する。
【0123】
実施形態中、作業状態はバッファ状態をさらに含むことができ、バッファ状態のサブ領域は、このサブ領域がすでに経路を計画した(経路にはサブ領域を含む)ロボットに対し、このサブ領域内を移動できることに影響を与えないが、まだ経路計画を行っていないロボットに対し、このサブ領域は移動できず、つまり、経路計画を行うときは、このサブ領域を回避する必要がある。
【0124】
計画された経路に従い前記ロボットが移動している間、経路内のサブ領域はバッファ状態になり、ロック解除状態に相当し、すなわち、もし前記ロボットが前記経路中の現在のサブ領域がバッファ状態にあり、且つ、次のサブ領域がロック状態にあることが検出されたら、前記次のサブ領域を回避するために前記ロボットの経路を再計画し、そして再計画された経路に従って移動するように前記ロボットを誘導する。
【0125】
ステップ860では、前記現在のサブ領域と次のサブ領域の両方がバッファ状態にあることが検出されると、前記現在のサブ領域がロック解除状態で、且つ前記次のサブ領域がバッファ状態であるか、あるいは前記現在のサブ領域がバッファ状態で、且つ前記次のサブ領域がロック解除状態である場合、前記経路に従って移動するように前記ロボットを誘導する。
【0126】
一実施形態中、フルフィールドロックボタンの設定をさらにでき、前記フルフィールドロックボタンはソフトウェアまたはハードウェアの方式で設定できる。フルフィールドロック操作に応じて、前記作業領域内のすべてのロボットが移動を停止するように制御し、経路スケジューリングモジュールはすべてのロボットへのサブ領域の割り当てを停止する。
図9を参照すると、マップ操作インターフェースでフィールドロックボタンを設定できる。フルフィールドロックボタンが押されたことを検出した場合、作業エリア内のすべてのロボットの移動を停止するように制御する。
【0127】
本実施形態の技術的な解決策は、ロボットが計画された経路に基づき移動するとき、もしマップ操作インターフェースで、現在のサブ領域がロック解除状態か、あるいはバッファ状態であるか、且つ次のサブ領域がロック状態で、事前に設定された時間が経過してもロックされたままであるなら、前記次のサブ領域を回避するために前記ロボットの経路を再計画し、そして再計画された経路に従って移動するように前記ロボットを誘導する。本実施形態が提供する技術的な解決策は、ロボット移動中のサブ領域の状態に応じてリアルタイムで経路を調整でき、ロボットの移動経路をより柔軟に制御でき、制御効率を向上させることができ、且つ、バッファ状態を設定して、経路計画を行っていないロボットを拘束し、すでに経路を計画しているロボットを解放し、ロボットを制御する複数の方法を実現する。
【0128】
図10は、一実施形態中のロボットの経路制御装置の構造模式図とし、前記装置は、状態モジュール310と、停止モジュール320と、調整モジュール330と、移動モジュール340とを含む。
【0129】
前記状態モジュール310は、前記ロボットが計画された経路に基づき移動するとき、前記ロボットが配置されている現在のサブ領域の作業状態を確定するように構成される。
【0130】
前記停止モジュール320は、前記現在のサブ領域がロック状態にあることが検出された場合、ロボットを制御して移動を停止するように構成される。
【0131】
前記調整モジュール330は、前記現在のサブ領域がロック解除状態で、且つ次のサブ領域がロック状態にあることが検出された場合、前記次のサブ領域を回避するために前記ロボットの経路を再計画し、そして再計画された経路に従って移動するように前記ロボットを誘導するように構成される。
【0132】
前記移動モジュール340は、前記現在のサブ領域と次のサブ領域の両方がロック解除状態にあることが検出された場合、経路に従って移動するように前記ロボットを誘導するように構成される。
【0133】
一実施形態中、当該装置はバッファモジュールをさらに含み、前記バッファモジュールは、前記現在のサブ領域がバッファ状態にあり、且つ次のサブ領域がロック状態にあることを検出されると、前記次のサブ領域を回避するために前記ロボットの経路を再計画し、そして再計画された経路に従って移動するように前記ロボットを誘導し、前記ロボットが前記経路の現在のサブ領域と次のサブ領域の両方がバッファ状態にあることが検出されると、前記現在のサブ領域がロック解除状態で、且つ前記次のサブ領域がバッファ状態であるか、あるいは前記現在のサブ領域がバッファ状態で、且つ前記次のサブ領域がロック解除状態である場合、前記経路に従って移動するように前記ロボットを誘導するように構成される。
【0134】
一実施形態中、当該装置はセットアップモジュールをさらに含み、前記セットアップモジュールは、作業状態命令操作に応じて、前記作業状態命令操作によって指定の少なくとも一つのサブ領域の作業状態を、前記作業状態命令操作によって指定の状態に設定するように構成される。
【0135】
一実施形態中、前記セットアップモジュールは、任意のサブ領域の作業状態に応じて、コントロールの操作を設定し、このサブ領域の作業状態を指定の状態に設定し、あるいは、任意のサブ領域の座標を入力する操作に応じて、このサブ領域の作業状態を指定の状態に設定するように構成される。
【0136】
一実施形態中、当該装置は障害モジュールをさらに含み、前記障害モジュールは、前記経路に駆動障害があることが検出された場合、駆動障害が存在するサブ領域をロック状態に設定するように構成される。
【0137】
一実施形態中、前記調整モジュール330は、前記現在のサブ領域がロック解除状態で、且つ次のサブ領域がロック状態にあることが検出された場合、前記次のサブ領域が事前設定された時間が経過した後も、ロック状態にあるかどうかを判断し、次のサブ領域が事前設定された時間が経過した後もロック状態にあるという判断結果に応じ、前記次のサブ領域を回避するために前記ロボットの経路を再計画し、再計画された経路に従って移動するように前記ロボットを誘導するように構成される。
【0138】
一実施形態中、当該装置はフルフィールドロックモジュールをさらに含み、前記フルフィールドロックモジュールは、フルフィールドロック操作に応じて、前記作業領域内のすべてのロボットが移動を停止するように制御するように構成される。
【0139】
本出願の実施形態が提供するロボット経路制御装置は、本出願の任意の実施形態が提供するロボット経路制御方法を実行することができ、実行方法に対応する機能モジュールと有益な効果を備える。
【0140】
図11は実施形態中の別のサーバーの構造模式図とする。
図11は、本出願の実施形態の実現に適した例示的なサーバー412のブロック図を示す。
図11に示すサーバー412は単なる一つの例であり、本出願の実施形態の機能と使用範囲にいかなる制限ももたらすべきではない。
【0141】
図11に示すように、サーバー412はユニバーサルターミナルの形式で表す。サーバー412の構成要素は、一つのまたは複数のプロセッサー416、メモリ428、異なるシステム構成要素(メモリ428とプロセッサー416を含む)を接続するバス418を含むことができるが、これらに限定されない。
【0142】
バス418はいくつか種類のバス構造の一つまたは複数の種類を表し、ストレージデバイスバスあるいはストレージデバイスコントローラー、周辺バス、グラフィック加速ポート、プロセッサーあるいは複数の種類のバス構造の任意のバス構造を使用したローカルバスを含む。例を挙げると、これらの体系構造には、ISAバス、MCAバス、増強型ISA バス、VESAローカルバスおよびPCIバスを含むが、これらに限定されない。
【0143】
一実施形態中、サーバー412は、多種のコンピュータシステムの可読媒体を含む。これらの媒体は、サーバー412がアクセスできる利用可能な媒体にすることができ、揮発性および非揮発性媒体、取り外し可能および取り外し不可能な媒体を含む。
【0144】
メモリ428は、揮発性メモリ形式のコンピュータシステムの可読媒体を含むことができ、例えば、RAM430および、または高速キャッシュメモリ432である。サーバー412は、その他の取り外し可能および、または取り外し不可能な媒体、揮発性および、または非揮発性媒体のコンピュータシステムの記憶媒体を含むことができる。例を挙げると、ストレージシステム434は、取り外し不可能で揮発性でない磁気媒体(
図11にまだ示されてないが、通常「ハードドライブ」と呼ぶ)を読みとり書きこみをすることができる。
図11には示されてないが、取り外し可能な不揮発性ディスク(例えば「フロッピーディスク」)の読み取りと書き込み用のディスクドライブ、及び取り外し可能な不揮発性光ディスク、(例えばCD-ROM、DVD-ROMあるいはその他の光学媒体)読み取りおよび書き込み用の光学ドライブを提供できる。これらの場合、各ドライブは、一つあるいは複数のデータ媒体インターフェースを通じてバス418に接続することができる。メモリ428は、少なくとも1つのプログラム製品を含むことができ、前記プログラム製品は、一セットの(例えば、少なくとも一つの)プログラムモジュールを備え、これらのプログラムモジュールは、本出願の任意の実施形態の機能を実行するように構成される。
【0145】
一セットの(少なくとも一つの)プログラムモジュール442を備えたプログラムおよび、あるいはユーティリティ440は、例えば、メモリ428に格納することができ、このようなプログラムモジュール442は、オペレーティングシステムを含むが、これらに限定されず、一つまたは複数のアプリケーションプログラムとその他のプログラムモジュールおよびプログラムデータは、これらの例のそれぞれ一つのまたは複数の種類のセットで、ネットワーク環境の実現を含むことができる。プログラムモジュール442は、通常、本発明の記載された実施形態における機能および、または方法を実行する。
【0146】
サーバー412は、また、一つまたは複数の外部デバイス414(例えば、キーボード、ポインティングデバイス、ディスプレイ424など)と通信でき、さらに、ユーザーがこのサーバー412と対話できるようにする一つまたは複数のデバイスと通信することもができ、および、またはこのサーバー412が一つまたは複数の他のコンピューティングデバイスと通信することができる任意のデバイス(例えば、ネットワークカード、モデムなど)と通信する。この通信は、入力と出力(I/O)インターフェース422を通じて実行することができる。且つ、サーバー412はさらに、ネットワークアダプタ420と、一つまたは複数のネットワーク(例えばLAN、WANおよび、または例えばインターネットのようなパブリックネットワーク)に通信できる。
図11示すように、ネットワークアダプタ420は、バス418とサーバー412を通じてその他のモジュールと通信する。理解していただきたいのは、
図11にはまだ示されていないが、サーバー412はその他のハードウェアおよび、またはソフトウェアモジュールを組み合わせることができるが、マイクロコード、ターミナルドライバー、冗長処理ユニット、外部ディスクドライブアレイ、RAIDシステム、テープドライブ、データバックアップストレージシステムなどが含まれるが、これらに限定されない。
【0147】
プロセッサー416は、システムメモリ428に格納されたプログラムを実行することによって、様々な機能的アプリケーションおよびデータ処理を実行し、例えば、本出願の実施例が提供したロボットの経路の制御方法を実現し、この方法は、前記ロボットが計画された経路に基づき移動するとき、前記ロボットが配置されている現在のサブ領域の作業状態を確定し、前記現在のサブ領域がロック状態で、前記現在のサブ領域がロック状態にあることが検出された場合、前記ロボットを制御して移動を停止し、前記現在のサブ領域がロック解除状態で、且つ次のサブ領域がロック状態にあることが検出された場合、前記次のサブ領域を回避するために前記ロボットの経路を再計画し、そして再計画された経路に従って移動するように前記ロボットを誘導し、前記現在のサブ領域と次のサブ領域の両方がロック解除状態にあることが検出された場合、経路に従って移動するように前記ロボットを誘導することを含む。
【0148】
本出願の実施形態は、さらにコンピュータ可読記憶媒体を提供し、このコンピュータプログラムがその上に格納され、前記プログラムがプロセッサーによって実行される場合、本出願の実施形態が提供するロボットの経路の制御方法を実現し、この方法は、前記ロボットが計画された経路に基づき移動するとき、前記ロボットが配置されている現在のサブ領域の作業状態を確定し、前記現在のサブ領域がロック状態で、前記現在のサブ領域がロック状態にあることが検出された場合、前記ロボットを制御して移動を停止し、前記現在のサブ領域がロック解除状態で、且つ次のサブ領域がロック状態にあることが検出された場合、前記次のサブ領域を回避するために前記ロボットの経路を再計画し、そして再計画された経路に従って移動するように前記ロボットを誘導し、前記現在のサブ領域と次のサブ領域の両方がロック解除状態にあることが検出された場合、経路に従って移動するように前記ロボットを誘導することを含む。
【0149】
本出願の実施形態のコンピュータ記憶媒体は、一つまたは複数のコンピュータ可読媒体の任意の組み合わせを使用できる。コンピュータ可読媒体は、コンピュータ可読信号媒体あるいはコンピュータ可読記憶媒体であり得る。コンピュータ可読記憶媒体は、例えば、電気的、磁気的、光学的、電磁的、赤外線、または半導体のシステム、装置、または端子、あるいは上記の任意の組み合わせであり得るが、これらに限定されない。コンピュータ可読記憶媒体の例(非網羅的リスト)は、一つのまたは複数のワイヤとの電気接続、ポータブルコンピュータディスク、ハードディスク、RAM、ROM、EPROMまたはフラッシュメモリ、光ファイバ、ポータブルCD-ROM、光ストレージデバイス、磁気ストレージデバイス、あるいは上記の任意の適切な組み合わせを含む。本文書では、コンピュータ可読記憶媒体は、プログラムを含むまたは格納する任意の有形媒体であり得、前記プログラムは、命令実行システム、装置、または端子に使用され、あるいはそれらと組み合わせて使用されることができる。
【0150】
コンピュータ可読信号媒体は、ベースバンドで、あるいはキャリア波の一部として伝送されるデータ信号を含むことができ、コンピュータ可読媒体に、コンピュータ可読プログラムコードを搭載する。この伝送されたデータ信号は多くの形式を使用し、電磁信号、光信号、または上記の任意の適切な組み合わせを含むがこれに限定されない。コンピュータ可読信号媒体は、さらに、コンピュータ可読記憶媒体以外のいかなるコンピュータ可読媒体であることができ、このコンピュータ可読媒体は送信および伝送でき、あるいは、命令実行システム、装置、または端子に使用され、あるいはそれらと組み合わせて使用するプログラムを転送することができる。
【0151】
コンピュータ可読媒体に含まれるプログラムコードは、任意の適切な媒体によって転送でき、ワイヤレス、ワイヤ、光ファイバーケーブル、RFなど、あるいは上記の任意の適切な組み合わせを含むが、これらに限定されない。
【0152】
一つのまたは複数のプログラミング言語、または複数の組み合わせで、本出願の操作を実行するためのコンピュータプログラムコードを記述でき、前記プログラミング言語には、オブジェクト指向のJava、Smalltalk、C++といったプログラミング言語が含まれ、「C」言語といった従来の過程式プログラミング言語または類似のプログラミング言語をさらに含む。プログラムコードは、ユーザーのコンピュータで完全に実行でき、ユーザーのコンピュータで部分的に実行でき、スタンドアロンパッケージとして実行でき、一部はユーザーのコンピュータ上で、一部はリモートコンピュータ上で実行でき、あるいは、リモートコンピュータまたはサーバー上で完全に実行できる。リモートコンピュータに関して、リモートコンピュータは任意の種類の、LANまたはWANを含むネットワークを通じ、ユーザーコンピューターに接続でき、あるいは、外部コンピュータに接続できる(たとえば、インターネットサービスプロバイダーを利用しインターネット経由で接続)。
【0153】
図12に示す貨物ピッキングシステムの構造模式図を参照してもらい、貨物ピッキングシステムは、自動駆動ロボット10、制御システム20、棚領域30およびピッキングステーション40を含む。棚領域30は、複数の棚31を備え、棚31上に多種類の貨物を配置し、例えば、私たちがスーパーマーケットで見ることができる多種類の商品の棚のように、複数の棚31の間は棚配列の形で配置される。
【0154】
制御システム20と自動駆動ロボット10は無線通信を実行し、スタッフにコンソール60を通じて制御システム20操作させ、自動駆動ロボット10は、制御システム20の制御下で貨物ハンドリングタスクを実行する。例えば、制御システム20は、ハンドリングタスクに基づき自動駆動ロボット10の移動経路を計画し、自動駆動ロボット10は移動経路に基づき、棚配列内の空きスペース(自動駆動ロボット10の通路の一部)に沿って移動する。自動駆動ロボット10の移動経路の計画を容易にするために、あらかじめ自動駆動ロボット10の作業領域(この作業領域は、少なくとも棚領域30およびピッキングステーション40が配置される領域を含む)を、複数のサブ領域(すなわち、セル)として分割し、自動駆動ロボット10は、サブ領域を1つずつ移動し、そして移動軌道を形成する。
【0155】
自動駆動ロボット10は、目標棚31の下部へ移動することができ、リフト機構によって目標棚31を持ち上げ、そして割り当てられたピッキングステーション40に輸送することができる。一つの例では、自動駆動ロボット10は、リフト機構を備え、および自律ナビゲーション機能を備え、自動駆動ロボット10は、目標棚31の下部へ移動し、リフト機構を使用して全ての棚31を持ち上げ、棚31は、リフト機能を備えたリフト機構により上下に移動することができる。一つの例では、自動駆動ロボット10は、カメラが捉えたQRコード(登録商標)情報に基づき前進し、且つ、制御システム20が確定した路線に基づいて、制御システム20が提示した棚31の下部へ移動することができる。自動駆動ロボット10は、目標棚31をピッキングステーション40に輸送し、ピッキングステーション40でピッカー41またはピッキングロボットは、ピッキング棚31上から貨物をピッキングし、そしてターンオーバーボックス50に入れて梱包を待つ。
【0156】
制御システム20は、サーバー上で動作し、データ記憶、情報処理機能を備えるソフトウェアシステムで、無線または有線接続を通じて、ロボット、ハードウェア入力システム、その他のソフトウェアシステムと接続できる。制御システム20は、一つまたは複数のサーバーを含むことができ、集中制御アーキテクチャあるいは分散コンピューティングアーキテクチャであることができる。サーバーは、プロセッサー201とメモリ202を備え、メモリ202には、注文プール203を備えることができる。
【0157】
貨物ピッキングシステムでは、一旦消防警報が発生すると、自動駆動ロボット10を、消防通路がある領域から迅速に遠ざける必要があり、スムーズな救助のために必要な保証を提供する。したがって、本出願は、自動駆動ロボット10の消防制御ソリューションに対し提供する。
【0158】
図13は実施形態中のロボットをスケジューリングするための方法のフローチャートとし、本実施形態は、ロボットの消防制御情況に適用することができ、この方法は、ロボットスケジューリング装置により実行でき、ソフトウェアおよび、またはハードウェアの方式で実施でき、例えば、当該装置は、制御システム20が実行しているサーバーで構成できる。この方法は以下のステップを含むことができる。
【0159】
ステップ1310では、消防信号を受信する。
【0160】
前記消防信号は、消防緊急停止ボタンを通じてトリガーできる。実施形態中、前記消防緊急停止ボタンは事前設定でき、ハードウェアまたはソフトウェアを通じて実現できる。例を示すと、消防緊急停止ボタンのハブ(HUB)とサーバーはSocket通信を採用し、データ固定長は34バイトとし、ここで4バイトはHUB に接続されている消防緊急停止ボタンの状態を表す。前の1~8ビット通路は、消防緊急停止ボタンを表し、もしサーバーが、信号が前の1~8ビット通路からのものであることを検出するなら、消防信号が受信したことを確認できる。ここで、Socketはソケットとも呼ばれ、応用プログラムは通常「ソケット」を通じて、ネットワークに要求を送信するか、あるいはネットワーク要求に応答し、Socketは、ネットワーク接続を確立するときに使用され、接続が成功するとき、応用プログラムの両端でSocket実例が生成され、この実例を操作し、必要なセッションを完成する。
【0161】
サーバーは、標準インターフェースを通じて送信される外部消防信号を取得でき、例を示すと、インターフェースによって送信される命令フォーマットは、{instruction: FIRE_STOP}とすることができる。
【0162】
ステップ1320では、消防信号に応答し、ロボットが移動状態にあり、且つ前記ロボットのナビゲーション経路の次のサブ領域が事前設定された消防通路領域に位置する場合、前記ロボットを制御して前記次のサブ領域に移動し、前記ナビゲーション経路に従い移動を続け、次のサブ領域が事前設定された消防通路領域でなくなるまで移動し、移動を停止することを含む。
【0163】
実施形態中、前記ナビゲーション経路は、ロボットの終点に基づき事前に計画された最適な経路である。本実施形態中、ロボットをマップ上の作業領域で、必要に基づき複数のサブ領域(あるいはセルと呼ぶ)に事前に分割し、複数の連続するサブ領域は、ロボットの移動経路を形成でき、したがって、ナビゲーション経路で、ロボットが移動する必要のあるサブ領域を計画される。前記サブ領域のタイプは、業務機能に基づき定義することができ、例えば、棚サブ領域または作業状態のサブ領域を定義する。一実施形態中、前記消防通路領域の設定は、サブ領域のタイプ定義とは無関係であり、すなわち、違うタイプのサブ領域は消防通路領域として設定でき、消防通路が配置されているサブ領域または消防扉が配置されているサブ領域を消防通路領域として設定することができる。一実施形態中、マップxmlファイルで採用したコンマ分離値(Comma-Separated Values,CSV)フォーマットを通じて消防通路領域の正規化された座標を列挙することができ、例を示すと、<firepass> 146,9, 146,10, 146,11, 146,12, 146,13, 146,14, 146,15, 146,16, 146,17, 146,18, 省略部分の構成は 137,60, 137,61, 137,62, 137,63, 137,64, 137,65, 137,66, 137,67 </firepass>である。
図14は実施形態中の消防通路領域の模式図とし、
図14に示すように、スラッシュでマークされたサブ領域は、消防通路領域である。
【0164】
一実施形態中、消防信号に応答し、ロボットが移動状態にあり、且つ前記ロボットのナビゲーション経路の次のサブ領域が事前設定された消防通路領域に位置する場合、前記ロボットを制御して前記次のサブ領域に移動し、また次のサブ領域が事前設定された消防通路領域にあるかどうかを判断し、さらに次のサブ領域が事前設定された消防通路領域にない場合、ロボットを制御して移動を停止し、さらに次のサブ領域が事前設定された消防通路領域にある場合、ロボットを制御してナビゲーション経路に従って移動を継続し、ナビゲーション経路のある一つのサブ領域が事前設定された消防通路領域にない時は、移動を停止する。
【0165】
一実施形態中、消防信号を受信した後、ロボットは停止状態にあり、且つ前記ロボットの現在のサブ領域が事前設定された消防通路領域にある場合は、前記ロボットのナビゲーション経路を再計画し、そして、前記ロボットを制御して、新たに計画されたナビゲーション経路に沿って移動し、前記事前設定された消防通路領域を離れる。実施形態中、前記ロボットと転送エンドポイントの間の距離および、または転送エンドポイントが配置されている所定の領域内のロボット密度に基づいて、前記ロボットの転送エンドポイントを選択し、選択した転送エンドポイントに基づき前記ロボットのナビゲーション経路を再計画し、前記ロボットが新たに計画されたナビゲーション経路に沿って前記選択した転送エンドポイントに移動する。例を示すと、もしロボットが前記現在のサブ領域が事前設定された消防通路領域にある場合は、距離が四つを超えないサブ領域と隣接するサブ領域に一つのロボットのサブ領域を転送エンドポイントとして選択でき、複数の経路の損失を計算し、損失が最小の経路を再計画されたナビゲーション経路とし、そして前記再計画されたナビゲーション経路に従って、ロボットを制御して転送エンドポイントに移動する。一実施形態中、棚の下部の高さがロボットの移動を可能にするとき、前記転送エンドポイントは棚のサブ領域を選択できる。
【0166】
本実施形態中、もしロボットが移動状態にあり、且つ前記ロボットのナビゲーション経路のルートサブ領域(終点を含む)がすべて事前設定された消防通路領域にあるなら、つまり、前記ロボットが終点に到達した後、前記ロボットがナビゲーション経路を再計画し、前記ロボットを制御して、再計画されたナビゲーション経路に沿って移動し、終点を離れることもできる。
【0167】
本実施形態の技術的な解決策は、消防信号を受信し、前記消防信号に応答し、もしロボットが移動状態にあり、且つ前記ロボットのナビゲーション経路の次のサブ領域が事前設定された消防通路領域にあるなら、すなわち、前記ロボットを制御して前記次のサブ領域またはナビゲーション経路に従って移動を継続し、次のサブ領域が事前設定された消防通路領域にない時は、移動を停止する。本実施形態が提供する技術的な解決策は、遅延エラーまたは急ブレーキによる問題を回避し、ロボットが消防通路を離れる効率を向上させることができる。
【0168】
図15は一実施形態中のロボットスケジューリング装置の構造模式図とし、前記装置は、受信モジュール1510と、運動制御モジュール1520とを含む。
【0169】
前記受信モジュール1510は、消防信号を受信するように構成され、運動制御モジュール1520は、消防信号に応答し、ロボットが移動状態にあり、且つ前記ロボットのナビゲーション経路の次のサブ領域が事前設定された消防通路領域にある場合、前記ロボットを制御して前記次のサブ領域またはナビゲーション経路に従って移動を継続し、次のサブ領域が事前設定された消防通路領域にない時は、移動を停止するように構成される。
【0170】
一実施形態中、当該装置は停止制御モジュールをさらに含む。前記停止制御モジュールは、ロボットは停止状態になり、且つ前記ロボットの現在のサブ領域が事前設定された消防通路領域にある場合は、前記ロボットのナビゲーション経路を再計画し、そして、前記ロボットを制御して、新たに計画されたナビゲーション経路に沿って移動し、前記事前設定された消防通路領域を離れるように構成される。
【0171】
一実施形態中、前記停止制御モジュールは、以下の方法を通じて前記ロボットのナビゲーション経路を再計画して、前記ロボットを制御して、新たに計画されたナビゲーション経路に沿って移動し、前記事前設定された消防通路領域を離れるように構成される。前記ロボットと転送エンドポイントの間の距離および、または転送エンドポイントが配置されている所定の領域内のロボット密度に基づいて、前記ロボットの転送エンドポイントを選択し、選択した転送エンドポイントに基づき前記ロボットのナビゲーション経路を再計画し、前記ロボットが新たに計画されたナビゲーション経路に沿って前記選択した転送エンドポイントに移動する。
【0172】
一実施形態中、前記消防信号は、消防緊急停止ボタンによってトリガーされるか、または外部インターフェースを通じて受信する。
【0173】
本実施形態が提供する技術的な解決策は、緊急停止ハードウェアシステムを通じて消防信号を受信し、そして、緊急停止システムコントローラーを通じて、消防信号をサーバーに送信し、サーバーが消防信号を受信した後、ロボットのスケージュリングシステムがすべてのロボットを制御して作業を停止し、且つ消防サブ領域を離れることができる。本実施形態は、遅延エラーまたは急ブレーキによる問題を回避し、ロボットが消防通路を離れる効率を向上させることができる。
【0174】
本出願の実施形態が提供するロボットスケジューリング装置は、本出願の任意の実施形態が提供するロボットをスケジューリングするための方法を実行することができ、対応する機能モジュールの実行と有益な効果を備える。
【0175】
図16は一実施形態中の別のサーバーの構造模式図である。
図16は、本出願の実施方式を実施するのに適した例示的なサーバー612のブロック図を示す。
図16に示されるサーバー612は単なる一つの例であり、本出願の実施形態の機能および使用範囲にいかなる制限ももたらしてはならない。
【0176】
図16に示すように、サーバー612は汎用デバイスの形式で表される。サーバー612の構成要素は、一つのあるいは複数のプロセッサー616、システムメモリ628、異なるシステム構成要素(システムメモリ628とプロセッサー616を含む)を接続するバス618を含むことができるが、これらに限定されない。
【0177】
バス618は、いくつか種類のバス構造の一つまたは複数の種類を表し、メモリバスあるいはメモリコントローラ、周辺バス、グラフィック加速ポート、プロセッサー616あるいは複数の種類のバス構造の任意のバス構造を使用したローカルバスを含む。例を挙げると、これらの体系構造には、ISAバス、MACバス、増強型ISAバス、VESAローカルバスおよびPCIバスを含むが、これらに限定されない。
【0178】
一実施形態中、サーバー612には、さまざまなコンピュータシステムの可読媒体を含む。これらの媒体は、サーバー612がアクセスできる利用可能な媒体にすることができ、揮発性および非揮発性媒体、取り外し可能および取り外し不可能な媒体を含む。
【0179】
システムメモリ628は、揮発性メモリ形式のコンピュータシステムの可読媒体を含むことができ、例えば、RAM430と、あるいは高速キャッシュメモリ632である。サーバー612は、その他の取り外し可能および、または取り外し不可能な媒体、揮発性および、または非揮発性媒体のコンピュータシステムの記憶媒体を含むことができる。例を挙げると、ストレージシステム634は、取り外し不可能で揮発性でない磁気媒体(
図16にまだ示されてないが、通常「ハードドライブ」と呼ぶ)を読みとり書きこみをすることができる。
図16には示されてないが、取り外し可能な不揮発性ディスク(例えば「フロッピーディスク」)の読み取りと書き込み用のディスクドライブ、及び取り外し可能な不揮発性光ディスク(例えばCD-ROM、DVD-ROMあるいはその他の光学媒体)読み取りおよび書き込み用の光学ドライブを提供できる。これらの場合、各ドライブは、一つあるいは複数のデータ媒体インターフェースを介してバス618に接続することができる。メモリ628は、少なくとも1つのプログラム製品を含むことができ、前記プログラム製品は、一セットの(例えば、少なくとも一つの)プログラムモジュールを備え、これらのプログラムモジュールは、本出願の任意の実施形態の機能を実行するように構成される。
【0180】
一セットの(少なくとも一つの)プログラムモジュール642を備えたプログラムおよび、あるいはユーティリティ640は、メモリ628に格納することができ、このようなプログラムモジュール642は、オペレーティングシステム、一つまたは複数のアプリケーションプログラムとその他のプログラムモジュールおよびプログラムデータを含むが、これに限定されず、これらの例のそれぞれ一つのまたは複数の種類のセットで、ネットワーク環境の実現を含むことができる。プログラムモジュール642は、通常、本発明の記載された実施形態における機能および、または方法を実行する。
【0181】
サーバー612は、また、一つまたは複数の外部デバイス614(例えば、キーボード、ポインティングデバイス、ディスプレイ624など)と通信でき、さらに、ユーザーがサーバー612と対話できるようにする一つまたは複数のデバイスと通信することもができ、および、またはこのサーバー612が一つまたは複数の他のコンピューティングデバイスと通信することができる任意のデバイス(例えば、ネットワークカード、モデムなど)と通信する。この通信は、入力と出力(I/O)インターフェース622を通じて実行することができる。且つ、サーバー612はさらに、ネットワークアダプタ620と、一つまたは複数のネットワーク(例えばLAN、WANおよび、または例えばインターネットのようなパブリックネットワーク)に通信できる。
図16に示すように、ネットワークアダプタ620は、バス618とサーバー612を通じてその他のモジュールと通信する。理解していただきたいのは、
図16にはまだ示されていないが、サーバー612はその他のハードウェアおよび、またはソフトウェアモジュールと組み合わせることができ、マイクロコード、デバイスドライバー、冗長処理ユニット、外部ディスクドライブアレイ、RAIDシステム、テープドライブ、及びデータバックアップストレージシステムなどが含まれるが、これらに限定されない。
【0182】
プロセッサー616は、システムメモリ628に格納されたプログラムを実行することにより、そして各種の機能的アプリケーションおよびデータ処理を実行し、例えば、本出願の実施形態が提供したロボットをスケジューリングするための方法を実現し、この方法は、消防信号を受信し、前記消防信号に応答し、もしロボットが移動状態にあり、且つ前記ロボットのナビゲーション経路の次のサブ領域が事前設定された消防通路領域にあるなら、すなわち、前記ロボットを制御して前記次のサブ領域またはナビゲーション経路に従って移動を継続し、次のサブ領域が事前設定された消防通路領域にない時は、移動を停止する。
【0183】
本出願の実施形態のコンピュータ記憶媒体は、一つまたは複数のコンピュータ可読媒体の任意の組み合わせを使用できる。コンピュータ可読媒体は、コンピュータ可読信号媒体あるいはコンピュータ可読記憶媒体であり得る。コンピュータ可読記憶媒体は、例えば、電気的、磁気的、光学的、電磁的、赤外線、または半導体のシステム、装置、または端子、あるいは上記の任意の組み合わせであり得るが、これに限定されない。コンピュータ可読記憶媒体の例(非網羅的リスト)は、一つのまたは複数のワイヤとの電気接続、ポータブルコンピュータディスク、ハードディスク、RAM、ROM、EPROMまたはフラッシュメモリ、光ファイバ、ポータブルCD-ROM、光ストレージデバイス、磁気ストレージデバイス、あるいは上記の任意の適切な組み合わせを含む。本文書では、コンピュータ可読記憶媒体は、プログラムを含むまたは格納する任意の有形媒体であり得、前記プログラムは、命令実行システム、装置、または端子に使用され、あるいはそれらと組み合わせて使用されることができる。
【0184】
コンピュータ可読信号媒体は、ベースバンドで、あるいはキャリア波の一部として伝送されるデータ信号をふくむことができ、コンピュータ可読信号媒体に、コンピュータ可読プログラムコードを搭載する。この伝送されたデータ信号は多くの形式を使用し、電磁信号、光信号、または上記の任意の適切な組み合わせを含むがこれらに限定されない。コンピュータ可読信号媒体は、さらに、コンピュータ可読記憶媒体以外のいかなるコンピュータ可読媒体であることができ、このコンピュータ可読媒体は送信および伝送でき、あるいは、命令実行システム、装置、または端子に使用され、あるいはそれらと組み合わせて使用するプログラムを転送することができる。
【0185】
コンピュータ可読媒体に含まれるプログラムコードは、任意の適切な媒体によって転送でき、ワイヤレス、ワイヤ、光ファイバーケーブル、RFなど、あるいは上記の任意の適切な組み合わせを含むが、これらに限定されない。
【0186】
一つのまたは複数のプログラミング言語、または複数の組み合わせで、本出願の操作を実行するためのコンピュータプログラムコードを記述でき、前記プログラミング言語には、オブジェクト指向のJava、Smalltalk、C++といったプログラミング言語が含まれ、「C」言語といった従来の過程式プログラミング言語または類似のプログラミング言語をさらに含む。プログラムコードは、ユーザーのコンピュータで完全に実行でき、ユーザーのコンピュータで部分的に実行でき、スタンドアロンパッケージとして実行でき、一部はユーザーのコンピュータ上で、一部はリモートコンピュータ上で実行でき、あるいは、リモートコンピュータまたはサーバー上で完全に実行できる。リモートコンピュータに関して、リモートコンピュータは任意の種類の、LANまたはWANを含むネットワークを通じ、ユーザーコンピューターに接続でき、あるいは、外部コンピュータに接続できる(たとえば、インターネットサービスプロバイダーを利用しインターネット経由で接続)。
【符号の説明】
【0187】
10 ロボット
30 棚エリア
40 ピッキングステーション
50 ターンオーバーボックス
201 プロセッサー
202 メモリ
203 注文プール
410 確定モジュール
412 サーバー
414 外部デバイス
416 プロセッサー
420 スケジューリングモジュール、ネットワークアダプタ
422 I/Oインターフェース
424 モニター
428 内部
432 高速キャッシュ
434 ストレージシステム
512 サーバー
514 外部デバイス
515 プロセッサー
520 ネットワークアダプタ
522 I/Oインターフェース
525 モニター
532 高速キャッシュ
534 ストレージシステム
612 サーバー
614 外部デバイス
616 プロセッサー
620 ネットワークアダプタ
622 I/Oインターフェース
624 モニター
628 内部
632 高速キャッシュ
634 ストレージシステム