(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-23
(45)【発行日】2025-01-07
(54)【発明の名称】情報処理装置、通信システム、特定方法、及びプログラム
(51)【国際特許分類】
G05D 1/622 20240101AFI20241224BHJP
【FI】
G05D1/622
(21)【出願番号】P 2023545011
(86)(22)【出願日】2022-01-19
(86)【国際出願番号】 JP2022001832
(87)【国際公開番号】W WO2023032246
(87)【国際公開日】2023-03-09
【審査請求日】2024-02-05
(31)【優先権主張番号】P 2021140626
(32)【優先日】2021-08-31
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】安田 真也
(72)【発明者】
【氏名】吉田 裕志
(72)【発明者】
【氏名】熊谷 太一
(72)【発明者】
【氏名】村田 正幸
(72)【発明者】
【氏名】大下 裕一
【審査官】田中 成彦
(56)【参考文献】
【文献】特開2019-074458(JP,A)
【文献】特開2017-083919(JP,A)
【文献】特開2022-035033(JP,A)
【文献】特開2021-144435(JP,A)
【文献】特開2020-142769(JP,A)
【文献】特開2020-087248(JP,A)
【文献】特開2013-101485(JP,A)
【文献】国際公開第2018/214825(WO,A1)
【文献】米国特許出願公開第2018/0107226(US,A1)
【文献】米国特許出願公開第2004/0117079(US,A1)
【文献】中国特許出願公開第112667924(CN,A)
【文献】中国特許出願公開第112150805(CN,A)
【文献】中国特許出願公開第112102151(CN,A)
【文献】中国特許出願公開第111680673(CN,A)
【文献】中国特許出願公開第111329398(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00 - 1/87
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのセンサから、
移動体の走行エリアを分割することによって生成された複数のエリア
での第1の時刻における障害物を観測した
第1観測データ
と、前記複数のエリアの第2の時刻における前記障害物を観測した第2観測データとを受信する通信手段と、
前記
第1観測データ
または前記第2観測データを用いて、前記複数のエリアにおける障害物の有無を判定する判定手段と、
前記複数のエリアのうちの第1のエリアにおいて障害物の有無が不明である場合に、前記第1のエリアの周辺のエリアにおける障害物の有無を示す判定結果を用いて、前記第1のエリアに障害物が存在する確率を特定する特定手段と、
前記複数のエリアのそれぞれの判定結果及び前記第1のエリアに障害物が存在する確率を用いて複数のエリアに障害物が存在するか否かを示すラベルを設定するラベル設定手段と、を備え、
前記ラベル設定手段は、
前記第1の時刻における第3のエリアの判定結果と、前記第2の時刻における前記第3のエリアもしくは前記第3のエリアに隣接するエリアの判定結果とに応じて、前記第1の時刻における前記第3のエリア及び前記第2の時刻における前記第3のエリアもしくは前記第3のエリアに隣接するエリアに前記ラベルに関する重みの値を用いて、動く障害物が存在するか否かを判定する、
情報処理装置。
【請求項2】
前記複数のエリアは、
移動体の走行エリアを分割することによって生成された複数のグリッドであり、
前記特定手段は、
前記
第1観測データまたは前記第2観測データが障害物の有無が不明であることを示す第1のグリッドに障害物が存在する確率を算出する、請求項
1に記載の情報処理装置。
【請求項3】
前記特定手段は、
前記第1のグリッドに隣接する第2のグリッドの判定結果に応じて変化する、前記第1のグリッド及び前記第2のグリッドに前記ラベルが設定される際の重みの値を用いて、前記第1のグリッドに障害物が存在する確率を算出する、請求項
2に記載の情報処理装置。
【請求項4】
前記通信手段は、
第1の時刻における複数の前記グリッドの観測データを受信した後に、第2の時刻における複数の前記グリッドの観測データを受信し、
前記ラベル設定手段は、
前記第1の時刻及び前記第2の時刻におけるそれぞれの前記グリッドの判定結果の推移に基づいて、動く障害物が存在するか否かを判定する、請求項
2又は
3に記載の情報処理装置。
【請求項5】
前記移動体の速度を示す速度パターンと、前記移動体の移動経路を示す移動パターンであって確率モデルを用いて示される前記移動パターンと、前記移動パターンにおいて示される前記移動経路上のそれぞれのグリッドに障害物が存在する確率と、を用いて前記移動体の走行の安全性を示すコスト関数を算出する評価手段と、
前記コスト関数に基づいて前記移動体の速度を制御する速度制御手段と、をさらに備える、請求項
1乃至
4のいずれか1項に記載の情報処理装置。
【請求項6】
移動体の走行エリアを分割することによって生成された複数のエリア
での第1の時刻における障害物を観測し
た第1観測データと、
前記複数のエリアの第2の時刻における前記障害物を観測した第2観測データとを送信するセンサと、
前記
第1観測データ
または前記第2観測データを用いて、前記複数のエリアにおける障害物の有無を判定する判定手段と、
前記複数のエリアのうちの第1のエリアにおいて障害物の有無が不明である場合に、前記第1のエリアの周辺のエリアにおける障害物の有無を示す判定結果を用いて、前記第1のエリアに障害物が存在する確率を特定する特定手段と、
前記複数のエリアのそれぞれの判定結果及び前記第1のエリアに障害物が存在する確率を用いて複数のエリアに障害物が存在するか否かを示すラベルを設定するラベル設定手段と、を備え、
前記ラベル設定手段は、
前記第1の時刻における第3のエリアの判定結果と、前記第2の時刻における前記第3のエリアもしくは前記第3のエリアに隣接するエリアの判定結果とに応じて、前記第1の時刻における前記第3のエリア及び前記第2の時刻における前記第3のエリアもしくは前記第3のエリアに隣接するエリアに前記ラベルに関する重みの値を用いて、動く障害物が存在するか否かを判定する、
通信システム。
【請求項7】
少なくとも1つのセンサから、
移動体の走行エリアを分割することによって生成された複数のエリア
での第1の時刻における障害物を観測した
第1観測データ
と、前記複数のエリアの第2の時刻における前記障害物を観測した第2観測データとを受信し、
前記
第1観測データ
または前記第2観測データを用いて、前記複数のエリアにおける障害物の有無を判定し、
前記複数のエリアのうちの第1のエリアにおいて障害物の有無が不明である場合に、前記第1のエリアの周辺のエリアにおける障害物の有無を示す判定結果を用いて、前記第1のエリアに障害物が存在する確率を特定し、
前記複数のエリアのそれぞれの判定結果及び前記第1のエリアに障害物が存在する確率を用いて複数のエリアに障害物が存在するか否かを示すラベルを設定し、
前記第1の時刻における第3のエリアの判定結果と、前記第2の時刻における前記第3のエリアもしくは前記第3のエリアに隣接するエリアの判定結果とに応じて、前記第1の時刻における前記第3のエリア及び前記第2の時刻における前記第3のエリアもしくは前記第3のエリアに隣接するエリアに前記ラベルに関する重みの値を用いて、動く障害物が存在するか否かを判定する、
特定方法。
【請求項8】
少なくとも1つのセンサから、
移動体の走行エリアを分割することによって生成された複数のエリア
での第1の時刻における障害物を観測した
第1観測データ
と、前記複数のエリアの第2の時刻における前記障害物を観測した第2観測データとを受信し、
前記
第1観測データ
または前記第2観測データを用いて、前記複数のエリアにおける障害物の有無を判定し、
前記複数のエリアのうちの第1のエリアにおいて障害物の有無が不明である場合に、前記第1のエリアの周辺のエリアにおける障害物の有無を示す判定結果を用いて、前記第1のエリアの周辺のエリアにおける障害物の有無によって変動する前記第1のエリアに障害物が存在する確率を特定
し、
前記複数のエリアのそれぞれの判定結果及び前記第1のエリアに障害物が存在する確率を用いて複数のエリアに障害物が存在するか否かを示すラベルを設定し、
前記第1の時刻における第3のエリアの判定結果と、前記第2の時刻における前記第3のエリアもしくは前記第3のエリアに隣接するエリアの判定結果とに応じて、前記第1の時刻における前記第3のエリア及び前記第2の時刻における前記第3のエリアもしくは前記第3のエリアに隣接するエリアに前記ラベルに関する重みの値を用いて、動く障害物が存在するか否かを判定することをコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は情報処理装置、通信システム、及び特定方法に関する。
【背景技術】
【0002】
近年、工場もしくは倉庫において、自律的に走行する搬送ロボットが作業を行うケースが増加している。工場等においては、複数の搬送ロボットが走行しており、さらに、複数の人が作業している。そのため、自律的に走行する搬送ロボットを他の搬送ロボット及び人に衝突させないための制御が求められている。
【0003】
特許文献1には、建物のフロアごとに2次元または3次元のグリッドで予め構成された静的地図情報に対して、監視カメラまたは人感センサから得られる人間の位置情報を用いて、人間等の障害物の位置を反映させた動的地図情報を生成することが記載されている。自律移動体制御装置は、動的地図情報を用いて自律移動体が障害物に衝突することを回避するように制御する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1においては、監視カメラから死角となる空間には、障害物が一定の確率で存在するとみなした動的地図情報が生成される。しかし、監視カメラから死角となる空間に障害物が一定の確率で存在するとみなされた場合、実際には障害物が存在しない場合であっても、自律移動体制御装置は、自律移動体が死角となる空間を走行することを回避する制御を行う必要がある。また、監視カメラから死角となる空間に実際に障害物が存在する場合であっても、障害物が存在する確率が低く設定された場合、自律移動体が障害物と接触する可能性が生じる。このように、監視カメラの設置状態によっては、自律移動体に対する適切な走行経路を決定することができないという問題がある。
【0006】
本開示の目的の一つは、自律的に走行する移動体に対する適切な走行経路を決定するための制御情報を生成することができる情報処理装置、通信システム、及び特定方法を提供することにある。
【課題を解決するための手段】
【0007】
本開示の第1の態様にかかる情報処理装置は、少なくとも1つのセンサから、複数のエリアにおける障害物を観測した観測データを受信する通信部と、前記観測データを用いて、前記複数のエリアにおける障害物の有無を判定する判定部と、前記複数のエリアのうちの第1のエリアにおいて障害物の有無が不明である場合に、前記第1のエリアの周辺のエリアにおける障害物の有無を示す判定結果を用いて、前記第1のエリアに障害物が存在する確率を特定する特定部と、を備え、前記第1のエリアに障害物が存在する確率は、前記第1のエリアの周辺のエリアにおける障害物の有無によって変動する、情報処理装置。
【0008】
本開示の第2の態様にかかる通信システムは、複数のエリアにおける障害物を観測し、観測した結果を示す観測データを送信するセンサと、前記観測データを用いて、前記複数のエリアにおける障害物の有無を判定する判定手段と、前記複数のエリアのうちの第1のエリアにおいて障害物の有無が不明である場合に、前記第1のエリアの周辺のエリアにおける障害物の有無を示す判定結果を用いて、前記第1のエリアに障害物が存在する確率を特定する特定手段と、を備え、前記第1のエリアに障害物が存在する確率は、前記第1のエリアの周辺のエリアにおける障害物の有無によって変動する。
【0009】
本開示の第3の態様にかかる特定方法は、少なくとも1つのセンサから、複数のエリアにおける障害物を観測した観測データを受信し、前記観測データを用いて、前記複数のエリアにおける障害物の有無を判定し、前記複数のエリアのうちの第1のエリアにおいて障害物の有無が不明である場合に、前記第1のエリアの周辺のエリアにおける障害物の有無を示す判定結果を用いて、前記第1のエリアに障害物が存在する確率を特定し、前記第1のエリアに障害物が存在する確率は、前記第1のエリアの周辺のエリアにおける障害物の有無によって変動する。
【発明の効果】
【0010】
本開示により、自律的に走行する移動体に対する適切な走行経路を決定するための制御情報を生成することができる情報処理装置、通信システム、及び特定方法を提供することができる。
【図面の簡単な説明】
【0011】
【
図1】実施の形態1にかかる情報処理装置の構成図である。
【
図2】実施の形態1にかかる通信システムの構成図である。
【
図3】実施の形態1にかかる算出処理の流れを示す図である。
【
図4】実施の形態2にかかる制御システムの構成図である。
【
図5】実施の形態2にかかる障害物の有無を示す情報が反映されたグリッドデータを示す図である。
【
図6】実施の形態2にかかる障害物が存在するか否かが不明であるグリッドにおける障害物が存在する確率を算出する際の算出例を説明する図である。
【
図7】実施の形態2にかかる移動体の移動経路の決定処理の流れを示す図である。
【
図8】実施の形態3にかかる時刻を考慮したグリッドデータを示す図である。
【
図9】実施の形態3にかかるそれぞれのグリッドにおけるラベルを示す図である。
【
図10】実施の形態4にかかる制御装置の構成図である。
【
図11】実施の形態4にかかる移動体の走行エリアを示す図である。
【
図12】実施の形態4にかかる移動体の走行エリアを示す図である。
【
図13】実施の形態4にかかる移動体の移動経路を示す図である。
【
図14】実施の形態4にかかる移動体の速度パターンを示である。
【
図15】それぞれの実施の形態にかかる制御装置の構成図である。
【発明を実施するための形態】
【0012】
(実施の形態1)
以下、図面を参照して本開示の実施の形態について説明する。
図1を用いて実施の形態1にかかる情報処理装置10の構成例について説明する。情報処理装置10は、プロセッサがメモリに格納されたプログラムを実行することによって動作するコンピュータ装置であってもよい。
【0013】
情報処理装置10は、通信部11、判定部12、及び特定部13を有している。通信部11、判定部12、及び特定部13は、プロセッサがメモリに格納されたプログラムを実行することによって処理が実行されるソフトウェアもしくはモジュールであってもよい。または、通信部11、判定部12、及び特定部13は、回路もしくはチップ等のハードウェアであってもよい。
【0014】
通信部11は、少なくとも1つのセンサから、所定の空間に含まれる複数のエリアにおける障害物を観測した観測データを受信する。センサは、例えば、所定の空間において障害物とみなされる物体もしくは人を検知するセンサであってもよい。障害物とみなされる物体は、例えば、所定の空間内に配置される装置、設備、棚、柱等であってもよい。また、障害部とみなされる物体は、移動する物体であってもよく、移動しない物体であってもよい。センサは、例えば、カメラもしくは赤外線センサであってもよい。カメラは、2Dカメラもしくは3Dカメラであってもよい。センサは、2DLidarもしくは3DLidarであってもよい。カメラまたはセンサは、所定の空間内を観測するために、複数個所に取り付けられていてもよい。
【0015】
観測データは、例えば、センサから所定の空間内の物体もしくは人までの距離を示す深度データであってもよく、センサとしてカメラが用いられた場合の撮像データであってもよい。深度データ及び撮像データは、画像データと称されてもよい。
【0016】
所定の空間は、例えば、少なくとも1つのセンサが監視する対象となるエリアであってもよい。もしくは、所定の空間は、例えば、移動体が走行するエリアであってもよい。所定の空間に含まれる複数のエリアは、所定の空間を分割した分割エリアであってもよい。また、複数のエリアに含まれるそれぞれのエリアは、他のエリアと重複したエリアを有してもよい。複数のエリアは、2次元情報を用いて示されてもよく、3次元情報を用いて示されてもよい。一つのセンサが、複数のエリアを観測してもよく、複数のセンサが、一つのエリアを観測してもよい。もしくは、一つのセンサが、一つのエリアを観測してもよい。
【0017】
判定部12は、観測データを用いて、複数のエリアにおける障害物の有無を判定する。例えば、判定部12は、撮像データもしくは深度データ等の画像データを用いて画像認識処理もしくは画像解析処理を実行することによって、それぞれのエリアに障害物が存在するか否かを判定してもよい。
【0018】
ここで、複数のエリアのうちの第1のエリアにおける障害物の有無が不明である場合について説明する。この場合、特定部13は、第1のエリアの周辺のエリアにおける障害物の有無の判定結果を用いて、第1のエリアに障害物が存在する確率を算出する。
【0019】
例えば、センサが所定の空間内の障害物を検知する際に、死角となる場所については、障害物の有無が不明であると判定される場合がある。もしくは、障害物の配置等によって、障害物の有無が不明であると判定される場合がある。もしくは、障害物の材質、障害物の周囲の環境等によって、障害物の有無が不明であると判定される場合がある。障害物の周囲の環境は、例えば、照度、湿度もしくは気温等であってもよい。
【0020】
障害物の有無が不明である第1のエリアの周辺のエリアは、例えば、第1のエリアに隣接するエリアであってもよく、第1のエリアから所定の距離離れた位置のエリアであってもよい。第1のエリアに障害物が存在する確率は、周辺のエリアにおける障害物の有無によって変動する。ここで、周辺エリアが第1のエリアに障害物が存在する確率に与える影響は、周辺エリアが第1のエリアに近づくほど大きくなってもよい。
【0021】
続いて、
図2を用いて実施の形態1にかかる通信システムの構成例について説明する。
図2の通信システムは、センサ30、通信部11、判定部12、及び特定部13を有している。
図2においては、通信部11が一つのセンサ30と通信することが示されているが、通信部11は、2以上のセンサ30と通信してもよい。また、通信部11は、ネットワークを介して複数のセンサ30と通信してもよい。また、通信部11、判定部12、及び特定部13は、一つの情報処理装置10に備えられていなくてもよい。例えば、通信部11、判定部12、及び特定部13は、それぞれ異なる装置に分散して配置されてもよく、通信部11、判定部12、及び特定部13のうち二つの構成が、同じ装置に配置されていてもよい。
【0022】
続いて、
図3を用いて実施の形態1にかかる情報処理装置10において実行される算出処理の流れについて説明する。はじめに、通信部11は、少なくとも1つのセンサ30から、所定の空間に含まれる複数のエリアにおける障害物を観測した観測データを受信する(S1)。次に、判定部12は、観測データを用いて、複数のエリアにおける障害物の有無を判定する(S2)。次に、特定部13は、複数のエリアのうちの第1のエリアにおいて障害物の有無が不明である場合に、第1のエリアの周辺のエリアにおける障害物の有無を示す判定結果を用いて、第1のエリアに障害物が存在する確率を特定する(S3)。ここで、第1のエリアに障害物が存在する確率は、第1のエリアの周辺のエリアにおける障害物の有無によって変動する。
【0023】
以上説明したように、情報処理装置10は、センサが観測した観測データを用いて障害物の有無を判定し、障害物の有無が不明であるとの判定結果が示された場合、障害物が不明であるエリアに障害物が存在する確率を算出する。情報処理装置10は、障害物が不明であるエリアの周辺のエリアにおける障害物の有無を示す判定結果を用いて、障害物が不明であるエリアに障害物が存在する確率を算出する。これにより、情報処理装置10は、所定の空間内における障害物の存在する確率を高精度に算出することができる。その結果、情報処理装置10は、所定の空間内を移動体が自律的に走行する場合に、移動体が適切な走行経路を決定するための制御情報として、障害物の存在に関する情報を提供することができる。また、障害物の有無が不明であるエリアに障害物が存在する確率を一定とした場合には、障害物が存在する確率として適切な値を設定することは困難となり、障害物が存在する確率として設定する値の精度が悪くなる。一方、情報処理装置10は、障害物が不明であるエリアの周辺のエリアにおける障害物の有無を示す判定結果を用いて、障害物が不明であるエリアに障害物が存在する確率を算出する。これにより、情報処理装置10は、障害物の有無が不明であるエリアに障害物が存在する確率を一定とするのではなく、適切な値を設定することができる。
【0024】
(実施の形態2)
続いて、
図4を用いて実施の形態2にかかる制御システムの構成例について説明する。
図4の制御システムは、制御装置20、センサ31~33、及び移動体40がネットワーク50を介して通信する。制御装置20は、
図1の情報処理装置10に相当する。制御装置20は、移動体の移動経路を制御する。移動体40は、自律的に移動するロボットであってもよい。ロボットは、例えば搬送物を搬送する搬送ロボット(AGV(Automated Guided Vehicle))であってもよい。移動体40は、制御装置20において生成された障害物情報に基づいて、障害物を避けるように自律的に走行エリアを移動する。
【0025】
センサ31~33は、所定の空間において障害物とみなされる物体もしくは人を検知する。センサ31~33は、例えば、カメラ装置であってもよい。センサ31~33は、例えば、移動体40が走行する走行エリアを定期的に撮影し、撮影データを、ネットワーク50を介して制御装置20へ送信する。撮影データは、2次元データであってもよく、3次元データであってもよい。2次元データは、例えば、画像データであってもよい。3次元データは、画像データ及びセンサから対象物までの距離データを含んでもよい。撮影データは、観測データに相当する。
【0026】
制御装置20は、
図1の情報処理装置10に、ラベル設定部21及び経路制御部22が追加された構成である。ラベル設定部21及び経路制御部22は、プロセッサがメモリに格納されたプログラムを実行することによって処理が実行されるソフトウェアもしくはモジュールであってもよい。または、ラベル設定部21及び経路制御部22は、回路もしくはチップ等のハードウェアであってもよい。
【0027】
通信部11は、ネットワーク50を介してセンサ31~33から撮影データを受信する。センサ31~33は、走行エリア内の一部のエリアもしくは走行エリア全体を撮影した撮影データを生成する。判定部12は、センサ31~33の撮影した走行エリアにおける、障害物の有無を判定する。判定部12は、センサ31~33のそれぞれが撮影した撮影データを合成もしくは結合して、走行エリア全体を表示するマップデータを生成してもよい。マップデータは、走行エリア全体を表示する画像データである。さらに、判定部12は、マップデータを複数のグリッドに分割したグリッドデータを生成し、それぞれのグリッドに障害物があるか、障害物がないか、もしくは、障害物の有無が不明か、を判定もしくは特定する。グリッドデータは、例えば、画像データの10ピクセルが1つのグリッドとなるように分割されたデータであってもよい。もしくは、グリッドデータは、ユーザが設定した所定の間隔(1メートル間隔)に分割されたデータであってもよく、機械学習によって適切に分割(荷物の大きさの平均に応じて分割)されたデータであってもよい。もしくは、グリッドデータは、総グリッド数が所定の数になるように分割されたデータであってもよい。また、マップデータは、グリッド(格子)に限らず、長方形や円、楕円、予め定めた図形に分割されてもよい。
【0028】
図5は、障害物の有無を示す情報が反映されたグリッドデータを示している。
図5は、天井等に設置されたセンサ31~33を用いて走行エリアを上方から撮影した撮影データに基づいて生成されたグリッドデータを示している。
図5はX方向及びY方向を有する2次元平面が分割されたグリッドが示されているが、判定部12は、3次元空間を分割したグリッドデータを生成してもよい。
図5においては、網掛けされたグリッドが、障害物が存在することを示し、太線にて囲まれたグリッドが、障害物が存在しているか否かが不明であることを示し、それ以外のグリッドが、障害物が存在していないことを示す。
【0029】
それぞれのグリッドに障害物が存在するか否かは、例えば、機械学習等を行うことによって判定されてもよい。例えば、事前に障害物及び床面に関する画像等を学習した学習モデルが生成されている場合、判定部12は、グリッドデータに学習モデルを適用することによって、それぞれのグリッドに障害物が存在するか否かを判定してもよい。例えば、判定部12は、床面が表示されるグリッドには、障害物が存在しないと判定し、床面が表示されないグリッドには障害物が存在すると判定してもよい。判定部12は、グリッド内に床面が存在するが、グリッドの面積に対する床面の面積が占める割合が、予め定められた閾値よりも小さい場合もしくは大きい場合に、障害物が存在するか否かが不明と判定してもよい。また、判定部12は、グリッドデータに学習モデルを適用した場合に、グリッドデータ内の対象物の名称等が特定できない場合に、名称が特定できない対象物を含むグリッドについては、障害物が存在するか否かが不明と判定してもよい。
【0030】
もしくは、撮影データが3次元データであり、グリッドデータがセンサから対象物までの距離データを有する場合、判定部12は、周辺のエリアと異なる距離を示すエリアには障害物が存在すると判定してもよい。また、周辺エリアの距離との差異が予め定められた閾値以下の距離を有するエリアについては、障害物が存在するか否かが不明と判定してもよい。判定部12は、グリッドデータに対してエッジ検出処理を行うことによって、障害物が存在するか否かを判定してもよい。
【0031】
特定部13は、障害物が存在しているか否かが不明であると判定されたグリッドに障害物が存在する確率を算出する。ここで、
図6を用いて、特定部13が、障害物が存在しているか否かが不明であると判定されたグリッドに障害物が存在する確率を算出する際の算出例について説明する。ここでは、説明を容易とするために、X方向に並べられている1次元のグリッドデータを用いた算出例について説明する。
図6は、X方向に、グリッド_0~グリッド_5が並んでいることを示している。
図6のグリッド内に示されている数字は、それぞれのグリッドを識別する識別情報である。グリッド_0、グリッド_1、及びグリッド_5は、障害物が存在しないことを示している。グリッド_2及びグリッド_4は、障害物が存在することを示している。グリッド_3は、障害物が存在するか否かが不明であることを示している。
【0032】
特定部13は、以下の式1及び式2を用いてグリッド_3に障害物が存在する確率を算出する。
【0033】
【0034】
【0035】
式2におけるE(x)は、xが実現しそうな度合いもしくは重みを計算するための式である。式1は、重みE(x)をxが生じる確率q(x)に変換する式である。xは、数もしくはベクトル等、確率事象の実現例を示す。Zは、考えられるすべてのexp(E(x))の和を示す。
【0036】
例えば、xが1もしくは2のどちらかの値であると仮定する。また、E(1)=1、E(2)=2であることが分かっているとすると、Z=exp(E(1))+exp(E(2))=exp(1)+exp(2)=10.107と算出される。この場合、x=1となる確率q(x=1)は、q(1)=exp(E(1))/Z=0.2689となり、約27パーセントと算出される。
【0037】
ここで、グリッド_0~グリッド_5に、障害物が有る、もしくは、障害物が無いとする組み合わせは、64パターン存在する。この64パターンに関するすべてのE(x)を計算する。例えば、グリッド_0~グリッド_5の全てに障害物が存在しない組み合わせの場合、E(x)は、E(無、無、無、無、無、無)と示され、グリッド3のみに障害物が存在する組み合わせの場合、E(無、無、無、有、無、無)と示される。
【0038】
ここで、式2の第1項におけるPi(xi|oi)は、グリッド_i(iは0~5のいずれかの整数)の判定結果がoiのときに、xiというラベルを貼る重みを表す。判定結果は、障害物が存在するか、存在しないか、もしくは障害物が存在するか否か不明かを示す。例えば、障害物が存在する場合を「有」とし、障害物が存在しない場合を「無」とし、障害物が存在するか否かが不明である場合を「不明」とする。ラベルは、それぞれのグリッドに障害物が存在するか否かを決定した際に設定される情報を示す。例えば、それぞれのグリッドに障害物が存在すると決定した場合を「有」とし、障害物が存在しないと決定した場合を「無」とする。障害物が存在するか否か不明と判定されたグリッドには、「有」もしくは「無」のラベルが設定される。
【0039】
式2の第2項におけるPij(xixj|oioj)は、隣り合う二つのグリッドi及びj(jは0~5のいずれかの整数であり、iと異なる値)の判定結果がそれぞれoi及びojのとき、xi及びxjというラベルを貼る重みを表す。ここでは、隣り合う二つのグリッドi及びjを用いる例を示しているが、式2の第2項においては、連続して配置される三つ以上のグリッドの判定結果を用いて、ラベルを貼る重みを表してもよい。もしくは、式2に第3項を追加して、第3項にて連続して配置される三つ以上のグリッドの判定結果を用いてラベルを貼る重みを表してもよい。連続して配置される四つ以上のグリッドの判定結果を用いる場合も、連続して配置される三つ以上のグリッドの判定結果を用いる場合と同様である。
【0040】
また、重みの決定は次のルールに従うとする。まず、Pi(xi|oi)について、判定結果が「有」のとき、「有」のラベルを貼る重みを、Pi(有|有)=1とする。また、判定結果が「有」のとき、「無」のラベルを貼る重みを、Pi(無|有)=0とする。また、Pi(無|無)=1とし、Pi(有|無)=0とする。さらに、判定結果が不明の時は、Pi(有|不明)=1及びPi(無|不明)=1とする。もしくは、Pi(有|不明)=1及びPi(無|不明)=0.5としてもよい。このように、判定結果が不明の場合に、「有」のラベルを貼る重みと、「無」のラベルを貼る重みに差をつけることによって、障害物が有ると判定される確率を高くすることができる。障害物が有ると判定される確率を高くすることによって、移動体40の移動経路に関する安全性を高くすることができる。もしくは、Pi(有|不明)=0.5及びPi(無|不明)=1としてもよい。これにより、障害物が無しと判定される確率を高くすることができる。障害物が無しと判定される確率を高くすることによって、より効率的な移動体40の移動経路を設定することができる。効率的な移動経路は、例えば、移動体40の移動距離を少なくする経路であてもよい。
【0041】
もしくは、重みの値は、機械学習等により最適な値が算出されてもよい。例えば、
図6のようなグリッドにおける障害物の有無を示すデータを、正解がわかっているテストデータとして用意する。テストデータは、例えば、正解データもしくは教師データと称されてもよい。さらに、式1及び式2等を用いて表される確率場から予測される予測結果と、正解データとの適合度を定量化する量を示す評価値を定め、評価値を最大化するように重みを決定してもよい。ここで、重みとなる候補を複数用意し、それぞれの重みを用いた場合の評価値を計算し、評価値が最大となる重みを選択してもよい。
【0042】
次に、Pij(xixj|oioj)について、判定結果に不明が入っていないとき、判定結果通りのラベルを貼る重みを1とし、それ以外を0とする。また、判定結果に不明が入っている場合、隣り合う2つのグリッド_i及びjの判定結果が、(有,不明)もしくは(不明,有)である場合に、(有,有)とラベルを貼る重みを1とし、それ以外は0とする。つまり、Pij(有,有|有,不明)=Pij(有,有|不明,有)=1とする。さらに、判定結果に不明が入っている場合、隣り合う2つのグリッド_i及びjの判定結果が、(無,不明)もしくは(不明,無)である場合に、(無,無)とラベルを貼る重みを1とし、それ以外は0とする。つまり、Pij(無,無|無,不明)=Pij(無,無|不明,無)=1とする。
【0043】
例えば、グリッド0~5の判定結果が(無,無,有,不明,有,無)に対して、(無,無,無,無,無,無)というラベルを貼った場合、E(無,無,無,無,無,無)=4+1=5と算出される。また、グリッド0~5の観測データが(無,無,有,不明,有,無)に対して、(無,無,無,無,無,有)というラベルを貼った場合、E(無,無,無,無,無,有)=3+1=4と算出される。このように、全ラベルパターンの数である64回計算すると、E(x)の値が一番大きくなるラベル配置は、E(無,無,有,有,有,無)=6+5=11と算出される。つまり、グリッド0~5の判定結果が(無,無,有,不明,有,無)に対しては、(無,無,有,有,有,無)のラベルパターンがもっともらしい、言い換えると、もっとも確からしい。
【0044】
ここで、グリッド0~5の判定結果が(無,無,有,不明,有,無)に対して、グリッド3に「有」とのラベルが張られる確率q(グリッド_3=有)、つまり、グリッド3に障害物が有ると判定される確率q(グリッド_3=有)は、次の式3を用いて算出される。
【0045】
【0046】
式3を計算した結果は、0.8607となり、約86パーセントの確率で、グリッド_3に障害物が有ることが算出される。
図6においては、1次元のグリッドデータについて説明したが、2次元のグリッドデータであっても同様に計算することができる。2次元のグリッドデータの場合、特定部13は、X方向及びY方向に並べられているグリッドデータを用いて障害物が存在するか否か不明なグリッドに障害物が存在する確率を算出する。具体的には、特定部13は、障害物が存在するか否かが不明なグリッドを含むX方向に並べられているグリッドデータ、及び、障害物が存在するか否かが不明なグリッドを含むY方向に並べられているグリッドデータを用いる。
【0047】
また、判定結果が不明であるグリッド_3に「有」とのラベルが張られる確率を算出するのみではなく、判定結果が「無」もしくは「有」のグリッドについても、例えば、「有」のラベルが張られる確率を算出してもよい。このようにすることによって、判定結果に誤りがあった場合であっても、障害物が存在する確率を算出することによって、適切な判定結果に修正することができる。具体的には、それぞれのグリッドに障害物が存在するか否かを判定する際に、撮影データ等の誤差により、本来であれば障害物が存在しないグリッドに、障害物が存在すると判定することもある。このような場合に、周辺のグリッドにおける判定結果を用いて障害物が存在する確率を算出することによって、判定結果の誤りを検出することが可能となる。
【0048】
図4に戻り、ラベル設定部21は、
図5に示されているそれぞれのグリッドにラベルを設定する。ラベル設定部21は、障害物が存在すると判定されたグリッドには、障害物が存在することを示すラベルを設定する。さらに、ラベル設定部21は、障害物が存在しないと判定されたグリッドには、障害物が存在しないことを示すラベルを設定する。
【0049】
ラベル設定部21は、障害物が存在するか否かが不明であると判定されたグリッドに対しては、特定部13において算出された障害物が存在する確率を用いて、設定するラベルを決定する。例えば、ラベル設定部21は、障害物が存在する確率が、予め定められた閾値を超える場合に、障害物が存在することを示すラベルを設定し、閾値以下の場合に、障害物が存在しないことを示すラベルを設定してもよい。もしくは、ラベル設定部21は、障害物が存在する確率の値をラベルとして設定してもよい。
【0050】
経路制御部22は、ラベル設定部21において設定されたラベルを用いて移動体40の移動経路を制御する。具体的には、経路制御部22は、障害物が存在するグリッドの走行を避けるように移動体40の経路を制御してもよい。経路制御部22は、移動体40の移動経路を決定し、決定した移動経路に関する情報を、ネットワーク50を介して移動体40へ送信する。また、経路制御部22は、決定した移動経路を移動体40が走行するために移動体40の駆動部の制御に関する情報を移動体40へ送信してもよい。駆動部の制御に関する情報は、例えば、各車輪の角速度を含む移動速度に関する情報であってもよい。また、経路制御部22は、移動体40の車体が傾かないように、移動体40の姿勢に関する情報を送信してもよい。また、経路制御部22は、移動体40が、搬送する搬送物を離さないもしくは落下させないように、移動体40が搬送物を押す角度に関する情報を送信してもよい。また、経路制御部22は、移動体40が他の移動体と協調して搬送物を搬送する場合、移動体40と他の移動体との間の距離に関する情報を移動体40へ送信してもよい。
【0051】
続いて、
図7を用いて実施の形態2にかかる移動体40の移動経路の決定処理の流れについて説明する。はじめに、通信部11は、センサ31~33から、それぞれのセンサにおいて生成された観測データを受信する(S11)。観測データは、例えば、センサ31~33において生成された撮影データであってもよい。
【0052】
次に、判定部12は、受信した観測データを用いてグリッドデータを生成する(S12)。判定部12は、複数の観測データを合成して、移動体40の走行エリア全体を示すマップデータを生成し、マップデータを複数のグリッドに分割することによってグリッドデータを生成してもよい。
【0053】
次に、判定部12は、グリッドデータに示されるそれぞれのグリッドに障害物が存在するか否かを判定する(S13)。判定部12は、例えば、障害物及び床面に関する画像等を学習した学習モデルを用いて、それぞれのグリッドに障害物が存在するか否かを判定してもよい。
【0054】
次に、特定部13は、障害物が存在するか否かが不明であると判定されたグリッドに、障害物が存在する確率を算出する(S14)。特定部13は、例えば、2次元のグリッドデータである場合、X方向及びY方向に並べられているグリッドデータを用いて、障害物が存在する確率を算出する。
【0055】
次に、ラベル設定部21は、障害物が存在するか否かの判定結果、及び障害物が存在するか否かが不明であると判定されたグリッドに障害物が存在する確率、を用いてそれぞれのグリッドにラベルを設定する(S15)。設定されるラベルは、例えば、障害物が存在することを示すラベルもしくは障害物が存在しないことを示すラベルであってもよい。
【0056】
次に、経路制御部22は、それぞれのグリッドに設定されたラベルを用いて、移動体40の移動経路を決定する(S16)。経路制御部22は、例えば、障害物が存在する経路を避けるように移動体40の移動経路を決定してもよい。
【0057】
以上説明したように、制御装置20は、障害物が存在するか否かが不明であるグリッドについて、そのグリッドの周囲のグリッドに障害物が存在するか否かを示す情報を用いて、障害物が存在する確率を算出する。つまり、制御装置20は、欠損したデータに対して、障害物が存在する確率を算出する。障害物が存在するか否かが不明であるグリッドの周囲のグリッドの状況を考慮することによって、そのグリッドに障害物が存在する重みを考慮することになるため、算出する確率の精度を向上させることができる。
【0058】
(実施の形態3)
続いて、
図8を用いて時刻もしくは時系列を考慮したグリッドデータについて説明する。
図8は、X方向に並べられたグリッドデータと、時系列に並べられたグリッドデータとを示している。
図8に示されている数字は、それぞれのグリッドを識別する識別情報である。また、t1~t4は、時刻を示している。
図8は、時刻t1からt4において、グリッド_0~グリッド_4に障害物が存在するか否かを示している。
【0059】
時刻t1においては、グリッド_0及びグリッド_1には障害物が存在していないことが示されており、グリッド_2及びグリッド_3には障害物が存在することが示されている。時刻t2においては、グリッド_0には障害物が存在しているか否かが不明であることが示されており、グリッド_1には障害物が存在していないことが示されており、グリッド_2及びグリッド_3には、障害物が存在することが示されている。時刻t3においては、グリッド_0及びグリッド_2には障害物が存在していないことが示されており、グリッド_1及びグリッド_3には障害物が存在することが示されている。時刻t4においては、グリッド_1及びグリッド_2には障害物が存在していないことが示されており、グリッド_0及びグリッド_3には障害物が存在することが示されている。
【0060】
通信部11は、センサ31~33からt1~t4に生成された観測データを受信し、判定部12は、受信した観測データを用いてグリッドデータを生成し、それぞれのグリッドデータを時系列に並べることによって、
図8に示されるグリッドデータを生成する。なお、グリッドデータは、時系列に並べられることに限定されず、時系列に考慮して生成されればよい。センサ31~33は、定期的に観測データを生成する。センサ31~33は、生成した観測データに、観測データを生成したタイミングもしくは時刻等を示すタイムスタンプを設定してもよい。判定部12は、タイムスタンプを確認して、グリッドデータを時系列に並べてもよい。センサ31~33は、実質的に同一のタイミングに観測データを生成する。言い換えると、センサ31~33は、観測データを生成するタイミングを同期させる。
【0061】
特定部13は、障害物が存在するか否かが不明であることが示されている、時刻t2におけるグリッド_0に障害物が存在する確率を算出する。例えば、時刻t1から時刻t4までのグリッド_0からグリッド_3の合計16のグリッドに障害物が有り、もしくは、障害物が無いとする組み合わせは、256パターン存在する。特定部13は、式2を用いて、この256パターンに関するすべてのE(x)を計算する。ここで、特定部13は、式2の第2項において、隣り合う二つのグリッドを用いた重みを算出する際に、
図8において縦、横、及び斜めに隣接するグリッドを用いる。
【0062】
さらに、特定部13は、式1及び式3を用いて、時刻t2におけるグリッド_0に「有」のラベルが張られる確率q(時刻t2及びグリッド_0=有)を算出する。
【0063】
ラベル設定部21は、特定部13において算出された確率、及び、それぞれのグリッドにおける障害物が存在するか否かの判定結果を用いて、時刻t1~t4における、グリッド_0~グリッド_3のラベルを設定する。
図9は、ラベル設定部21が設定したそれぞれのグリッドにおけるラベルを示している。ラベル設定部21は、
図8において、障害物が存在すると判定されたグリッドには障害物が存在することを示すラベルを設定し、障害物が存在しないと判定されたグリッドには障害物が存在しないことを示すラベルを設定する。さらに、
図9においては、ラベル設定部21が、障害物が存在するか否かが不明であると判定された時刻t2におけるグリッド_0には、障害物が存在しないことを示すラベルを設定したことを示している。ラベル設定部21は、例えば、障害物が存在する確率が閾値を超えている場合、障害物が存在することを示すラベルを設定し、障害物が存在する確率が閾値以下の場合、障害物が存在しないことを示すラベルを設定してもよい。
【0064】
経路制御部22は、ラベル設定部21において設定されたラベルを用いて移動体40の移動経路を制御する。ここで、ラベル設定部21は、設定したラベルを用いて、障害物が動いているか静止しているかを判定してもよい。
【0065】
例えば、ラベル設定部21は、それぞれのグリッドに設定するラベルの種類を増加させる。例えば、ラベル設定部21は、静止障害物が存在する場合のラベルを「止」とし、障害物が存在しない場合のラベルを「無」とし、左に移動する障害物が存在する場合を「左」とし、右に移動する障害物が存在する場合を「右」とするラベルを用いる。この場合、16のグリッドに、静止障害物が存在する、障害物が存在しない、左に移動する障害物が存在する、右に移動する障害物が存在する、とする組み合わせのパターンは、4の16乗(=4294967296)パターン存在する。特定部13は、式2を用いて、この4の16乗パターンに関するすべてのE(x)を計算する。さらに、特定部13は、式2の第2項において用いる重みのパターンを増加させる。例えば、特定部13は、斜めに隣り合う時刻tにおけるグリッド_x及び時刻t+1におけるグリッド_x-1の判定結果が(有、有)である場合、(左、左)のラベルを貼る重みを1とする。つまり、特定部13は、斜めに隣り合う二つのグリッド_i=(x、t)、グリッド_j=(x-1、t+1)に関して、Pij(左,左|有,有)=1とする。さらに、特定部13は、斜めに隣り合う二つのグリッド_i=(x、t)、グリッド_j=(x+1、t+1)に関して、Pij(右,右|有,有)=1とする。また、特定部13は、斜めに隣り合う二つのグリッド_i=(x、t)、グリッド_j=(x-1、t+1)に関して、Pij(左,左|有,不明)=1のように、判定結果に不明が含まれる場合の重みを設定してもよい。また、時刻tにおけるグリッド_x及び時刻t+1におけるグリッド_xの判定結果が(有、有)である場合、(止、止)のラベルを貼る重みを1としてもよい。つまり、特定部13は、二つのグリッド_i=(x、t)、グリッド_j=(x、t+1)に関して、Pij(止,止|有,有)=1としてもよい。特定部13は、式1及び式3を用いて、それぞれのグリッドに静止障害物がある確率、障害物が存在しない確率、右に移動する障害物が存在する確率、もしくは、左に移動する障害物が存在する確率を算出する。また、ラベルの数が増加した場合、特定部13における計算負荷が増大する。そのため、特定部13は、確率伝搬法を用いて近似計算を行ってもよい。
【0066】
ラベル設定部21は、特定部13において算出されたそれぞれの確率を用いて、各グリッドに設定するラベルを決定する。
【0067】
経路制御部22は、動く障害物及び静止している障害物を避けるように、移動体40の経路を設定する。
【0068】
また、特定部13は、観測データが存在しない時刻において障害物が存在する確率を算出し、ラベル設定部21は、算出結果に応じてラベルを設定してもよい。例えば、判定部12は、時刻t4までのそれぞれのグリッドについては、観測データを用いて障害物が存在するか否かを判定する。特定部13は、時刻t5以降については、時刻t4までのグリッドデータ及び判定結果を用いて、それぞれのグリッドに障害物が存在する確率を算出する。例えば、特定部13は、時刻t5におけるグリッド_0が、障害物が存在するか否かが不明であることを示すグリッドデータと仮定して、時刻t1から時刻t5までのグリッドデータを用いて、時刻t5のグリッド_0に障害物が存在する確率を算出する。また、特定部13は、時刻t5におけるグリッド_0の斜め方向のグリッドデータである、時刻t4におけるグリッド_1のグリッドデータを用いて、時刻t5におけるグリッド_0に障害物が存在する確率を算出してもよい。
【0069】
以上説明したように、ラベル設定部21は、それぞれのグリッドに設定するラベルを、時刻の経過とともに更新することができる。これにより、ラベル設定部21は、それぞれのグリッドに静止している障害物が存在するか、動く障害物が存在するかを判定することができる。経路制御部22は、静止している障害物及び動く障害物を考慮して経路を設定することによって、移動体40が障害物に衝突することを回避することができる。
【0070】
また、特定部13は、観測データを受信していない未来の時刻における、それぞれのグリッドに障害物が存在する確率を算出することができる。これにより、経路制御部22は、長期的な移動体40の移動経路を設定することができる。
【0071】
(実施の形態4)
続いて、
図10を用いて実施の形態4にかかる制御装置60の構成例について説明する。制御装置60は、
図4における制御装置20に評価部61及び速度制御部62が追加された構成である。以下においては、制御装置60における制御装置20との差異を主に説明し、制御装置20と同様の機能もしくは構成等については詳細な説明を省略する。
【0072】
評価部61は、経路制御部22において設定された経路を移動体40が移動した場合における、安全性を評価する。移動体40は、経路制御部22において設定された経路を正確に移動せずに、蛇行する場合がある。例えば、移動体40が接する地面の状況、気候状況等の外部環境状況、もしくは、移動体40の経年劣化状況等の内部環境状況を要因として移動体40は、蛇行する場合がある。評価部61は、移動体40が設定された経路を正確に移動しない確率を考慮して、移動体40が安全に走行することができるか否かを示すスコアを算出する。評価部61、移動体40が障害物に衝突する可能性が低くなるほど、高いスコアを算出する。
【0073】
図11は、移動体40の走行エリアを示している。具体的には、
図11は、移動体40の走行エリアである2次元エリアに垂直方向となる上方から移動体40の走行エリアを視認したエリアを示している。
図11においては、移動体40は、経路制御部22において設定された経路通りに、X方向に直線に移動していることを示している。
【0074】
一方、
図12は、移動体40が、経路制御部22において設定された経路通りではなく、蛇行して走行していることを示している。
図12は、移動体40が蛇行している複数の経路、つまり経路の変動パターンを示している。
図12のように、移動体40が、必ずしも設定された経路通りに移動しないことを示す確率モデルは、次の式4にて示される。
【0075】
【0076】
r=(x、y、θ)は、ロボットの状態を表すベクトルである。fは、ロボットのダイナミクスを記述する関数である。uは、制御入力である。Sは分散行列である。dB
tは、ブラウン運動の微小時間における増分である。式4は、関数f(r,u)が与えられた場合に、時間変化dtに応じたグリッドの位置及を示すdr=f(r,u)dtに、移動体40が蛇行する確率的な影響を示すSdB
tが追加されていることを示す。つまり、式4は、ある時刻もしくは時間において移動体40が存在するグリッドの位置の変動を示している。言い換えると、式4は、
図12において示されている、経路の変動パターンを示している。
【0077】
ここで、
図13及び
図14を用いて、評価部61において実行されるスコアの算出例について説明する。
図13は、静止している障害物71及び72と、移動している障害物73とに衝突しないように移動体40が移動することを示している。静止している障害物71及び72は、例えば、壁であってもよく、移動している障害物73は、例えば歩いている人であってもよい。移動している障害物73に付加されている矢印は、障害物73の移動経路を示している。また、移動体40に付加されている矢印は、静止している障害物71及び72の間を通り抜けるように設定された移動体40の移動経路を示している。
【0078】
図14は、移動体40の速度パターンを示している。例えば、速度パターン1は、移動体40が減速することなく、速度Vmのまま移動することを示している。速度パターン2は、移動体40が、移動する障害物73の移動経路に近づくまで減速し、移動する障害物73の移動経路に達した場合もしくは移動する障害物73の移動経路を超えた場合に、加速することを示している。例えば、速度パターン2は、移動体40が移動する障害物73の移動経路に達する前に先に移動する障害物73を通過させ、移動する障害物73が通過した後に、移動体40が、移動する障害物73の移動経路を通過する場合を考慮している。
【0079】
速度パターンは、
図14に示されるパターンに限定されない。例えば、速度パターンは、移動体40の速度が単調増加することを示してもよく、単調減少することを示してもよい。もしくは、速度パターンは、移動体40の速度が単調増加した後に単調減少することを示してもよい。また、
図14の速度パターンは、経路制御部22が決定した移動速度に基づいて決定される速度であっても良いし、制御装置の外部から設定される者であっても良い。
【0080】
評価部61は、式4に従って
図12のように移動経路にて移動し、さらに、
図13に示される速度パターンにて移動する移動体40の安全性スコアを、次の式5に従って算出する。
【0081】
【0082】
Jはコスト関数を示している。コスト関数の値が小さいほど、安全性が高いことを示す。iは、時間ステップを示している。v
iは、時間ステップiが示す時刻もしくは時間における
図13において予め定められた速度を示している。v
mは、速度パターン1において一定に保たれる速度を示している。v
mは、移動体40における最高速度であってもよい。p
i(x,y,i)は、時間ステップiが示す時刻もしくは時間における移動体40の2次元座標を含むグリッドに障害物が存在する確率を示している。
【0083】
右辺の第1項である、λvipi(x,y,i)は、移動体40が通過するグリッドにおいて障害物が存在する可能性が高く、移動体40の速度が速くなるほど、値が大きくなる。言い換えると、移動体40の速度が遅くなるほど、右辺の第1項の値が小さくなる。そのため、移動体40の速度が遅くするほど、コスト関数の値を小さくすることが可能となる。しかし、移動体40の速度を限りなく遅くすることによってコスト関数の値を小さくして安全性を高めたとしても、移動体40の搬送効率は低下してしまう。そのため、右辺の第2項とのバランスを考慮してコスト関数の値を小さくする必要がある。右辺の第2項である、(vi-vm)2は、一定に保たれた速度であるvmと比較して速度が遅くなるほど、値が大きくなる。ここで、どの程度安全性に重きを置くかを示すパラメータとして、定数であるλを用いる。具体的には、λの値を大きくするほど、第2項の値と比較して第1項の値がコスト関数の値に占める割合が高くなるため、安全性が高くなる。また、第1項のpがゼロのように危険性が低い場所においては、第2項の作用によって速度が速くなり、搬送効率の向上に寄与する。λは、例えば、予めオペレータが設定しておいても良いし、搬送物の危険度(割れ物や重さ等)によって変えても良いし、環境条件で変えても良い。また、λは、搬送物が積載される台車の形状や、積載される荷物の高さによって変えてもよい。もしくは、λは、候補となる値をオペレータが予め設定しても良いし、過去の搬送データを蓄積(学習)して安全であった値を採用しても良い。
【0084】
評価部61は、移動体40の移動経路の不確かさを考慮し、移動体40が、同一の速度パターンにて、
図12に示される複数の経路を移動した場合におけるコスト関数を算出する。評価部61は、例えば、同一の速度パターンに対して算出される複数のコスト関数の値について、最大値を当該速度パターンに対するコスト関数としてもよい。もしくは、評価部61は、最大値ではなく、平均値、最小値、中央値等、他の値を当該速度パターンに対するコスト関数としてもよい。
【0085】
評価部61は、それぞれの速度パターン、例えば、
図14における速度パターン1及び速度パターン2のそれぞれのコスト関数を比較し、コスト関数の低い速度パターン、つまり、安全性の高い速度パターンを、移動体40の速度パターンとして決定する。速度制御部62は、評価部61において決定された速度パターンを、移動体40へ送信し、移動体40の速度を制御する。
【0086】
以上説明したように、実施の形態4にかかる制御装置60は、移動体40の移動経路の不確かさを考慮し、移動体40の速度パターンごとに、複数の経路を移動した場合におけるコスト関数を算出する。移動体40は、算出されたコスト関数に基づいて決定された速度パターンにて移動することによって、障害物に衝突する可能性を低下することができる。
【0087】
図15は、情報処理装置10、制御装置20、及び制御装置60(以下、情報処理装置10等とする)の構成例を示すブロック図である。
図15を参照すると、情報処理装置10等は、ネットワークインタフェース1201、プロセッサ1202、及びメモリ1203を含む。ネットワークインタフェース1201は、ネットワークノード(e.g., eNB、MME、P-GW、)と通信するために使用されてもよい。ネットワークインタフェース1201は、例えば、IEEE 802.3 seriesに準拠したネットワークインタフェースカード(NIC)を含んでもよい。ここで、eNBはevolved Node B、MMEはMobility Management Entity、P-GWはPacket Data Network Gatewayを表す。IEEEは、Institute of Electrical and Electronics Engineersを表す。
【0088】
プロセッサ1202は、メモリ1203からソフトウェア(コンピュータプログラム)を読み出して実行することで、上述の実施形態においてフローチャートを用いて説明された情報処理装置10等の処理を行う。プロセッサ1202は、例えば、マイクロプロセッサ、MPU、又はCPUであってもよい。プロセッサ1202は、複数のプロセッサを含んでもよい。
【0089】
メモリ1203は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ1203は、プロセッサ1202から離れて配置されたストレージを含んでもよい。この場合、プロセッサ1202は、図示されていないI/O(Input/Output)インタフェースを介してメモリ1203にアクセスしてもよい。
【0090】
図15の例では、メモリ1203は、ソフトウェアモジュール群を格納するために使用される。プロセッサ1202は、これらのソフトウェアモジュール群をメモリ1203から読み出して実行することで、上述の実施形態において説明された情報処理装置10等の処理を行うことができる。
【0091】
図15を用いて説明したように、上述の実施形態における情報処理装置10等が有するプロセッサの各々は、図面を用いて説明されたアルゴリズムをコンピュータに行わせるための命令群を含む1又は複数のプログラムを実行する。
【0092】
上述の例において、プログラムは、コンピュータに読み込まれた場合に、実施形態で説明された1又はそれ以上の機能をコンピュータに行わせるための命令群(又はソフトウェアコード)を含む。プログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されてもよい。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、random-access memory(RAM)、read-only memory(ROM)、フラッシュメモリ、solid-state drive(SSD)又はその他のメモリ技術、CD-ROM、digital versatile disc(DVD)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されてもよい。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、またはその他の形式の伝搬信号を含む。
【0093】
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【0094】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
少なくとも1つのセンサから、複数のエリアにおける障害物を観測した観測データを受信する通信部と、
前記観測データを用いて、前記複数のエリアにおける障害物の有無を判定する判定部と、
前記複数のエリアのうちの第1のエリアにおいて障害物の有無が不明である場合に、前記第1のエリアの周辺のエリアにおける障害物の有無を示す判定結果を用いて、前記第1のエリアに障害物が存在する確率を特定する特定部と、を備え、
前記第1のエリアに障害物が存在する確率は、前記第1のエリアの周辺のエリアにおける障害物の有無によって変動する、情報処理装置。
(付記2)
前記複数のエリアのそれぞれの判定結果及び前記第1のエリアに障害物が存在する確率を用いて複数のエリアに障害物が存在するか否かを示すラベルを設定するラベル設定部をさらに備える、付記1に記載の情報処理装置。
(付記3)
前記複数のエリアは、
移動体の走行エリアを分割することによって生成された複数のグリッドであり、
前記特定部は、
前記観測データが障害物の有無が不明であることを示す第1のグリッドに障害物が存在する確率を算出する、付記2に記載の情報処理装置。
(付記4)
前記特定部は、
前記第1のグリッドに隣接する第2のグリッドの判定結果に応じて変化する、前記第1のグリッド及び前記第2のグリッドに前記ラベルが設定される際の重みの値を用いて、前記第1のグリッドに障害物が存在する確率を算出する、付記3に記載の情報処理装置。
(付記5)
前記通信部は、
第1の時刻における複数の前記グリッドの観測データを受信した後に、第2の時刻における複数の前記グリッドの観測データを受信し、
前記ラベル設定部は、
前記第1の時刻及び前記第2の時刻におけるそれぞれの前記グリッドの判定結果の推移に基づいて、動く障害物が存在するか否かを判定する、付記3又は4に記載の情報処理装置。
(付記6)
前記ラベル設定部は、
前記第1の時刻における第3のグリッドの判定結果と、前記第2の時刻における前記第3のグリッドもしくは前記第3のグリッドに隣接するグリッドの判定結果とに応じて、前記第1の時刻における前記第3のグリッド及び前記第2の時刻における前記第3のグリッドもしくは前記第3のグリッドに隣接するグリッドに前記ラベルが設定される際の重みの値を用いて、動く障害物が存在するか否かを判定する、
付記5に記載の情報処理装置。
(付記7)
前記移動体の速度を示す速度パターンと、前記移動体の移動経路を示す移動パターンであって確率モデルを用いて示される前記移動パターンと、前記移動パターンにおいて示される前記移動経路上のそれぞれのグリッドに障害物が存在する確率と、を用いて前記移動体の走行の安全性を示すコスト関数を算出する評価部と、
前記コスト関数に基づいて前記移動体の速度を制御する速度制御部と、をさらに備える、付記3乃至6のいずれか1項に記載の情報処理装置。
(付記8)
複数のエリアにおける障害物を観測し、観測した結果を示す観測データを送信するセンサと、
前記観測データを用いて、前記複数のエリアにおける障害物の有無を判定する判定手段と、
前記複数のエリアのうちの第1のエリアにおいて障害物の有無が不明である場合に、前記第1のエリアの周辺のエリアにおける障害物の有無を示す判定結果を用いて、前記第1のエリアに障害物が存在する確率を特定する特定手段と、を備え、
前記第1のエリアに障害物が存在する確率は、前記第1のエリアの周辺のエリアにおける障害物の有無によって変動する、通信システム。
(付記9)
前記複数のエリアのそれぞれの判定結果及び前記第1のエリアに障害物が存在する確率を用いて複数のエリアに障害物が存在するか否かを示すラベルを設定するラベル設定手段をさらに備える、付記8に記載の通信システム。
(付記10)
前記複数のエリアは、
移動体の走行エリアを分割することによって生成された複数のグリッドであり、
前記特定手段は、
前記観測データが障害物の有無が不明であることを示す第1のグリッドに障害物が存在する確率を算出する、付記9に記載の通信システム。
(付記11)
前記特定手段は、
前記第1のグリッドに隣接する第2のグリッドの判定結果に応じて変化する、前記第1のグリッド及び前記第2のグリッドに前記ラベルが設定される際の重みの値を用いて、前記第1のグリッドに障害物が存在する確率を算出する、付記10に記載の通信システム。
(付記12)
第1の時刻における複数の前記グリッドの観測データを受信した後に、第2の時刻における複数の前記グリッドの観測データを受信する通信手段をさらに備え、
前記ラベル設定手段は、
前記第1の時刻及び前記第2の時刻におけるそれぞれの前記グリッドの判定結果の推移に基づいて、動く障害物が存在するか否かを判定する、付記10又は11に記載の通信システム。
(付記13)
前記ラベル設定手段は、
それぞれのグリッドに静止している障害物が存在する、動く障害物が存在する、もしくは障害物が存在しない、ことを示すラベルを設定し、
前記特定手段は、
前記第1の時刻における第3のグリッドの判定結果と、前記第2の時刻における前記第3のグリッドもしくは前記第3のグリッドに隣接するグリッドの判定結果とに応じて、前記第1の時刻における前記第3のグリッド及び前記第2の時刻における前記第3のグリッドもしくは前記第3のグリッドに隣接するグリッドに前記ラベルが設定される際の重みの値を用いて、動く障害物が存在するか否かを判定する、
付記12に記載の通信システム。
(付記14)
前記移動体の速度を示す速度パターンと、前記移動体の移動経路を示す移動パターンであって確率モデルを用いて示される前記移動パターンと、前記移動パターンにおいて示される前記移動経路上のそれぞれのグリッドに障害物が存在する確率と、を用いて前記移動体の走行の安全性を示すコスト関数を算出する評価手段と、
前記コスト関数に基づいて前記移動体の速度を制御する速度制御手段と、をさらに備える、付記10乃至13のいずれか1項に記載の通信システム。
(付記15)
少なくとも1つのセンサから、複数のエリアにおける障害物を観測した観測データを受信し、
前記観測データを用いて、前記複数のエリアにおける障害物の有無を判定し、
前記複数のエリアのうちの第1のエリアにおいて障害物の有無が不明である場合に、前記第1のエリアの周辺のエリアにおける障害物の有無を示す判定結果を用いて、前記第1のエリアに障害物が存在する確率を特定し、
前記第1のエリアに障害物が存在する確率は、前記第1のエリアの周辺のエリアにおける障害物の有無によって変動する、特定方法。
(付記16)
さらに、前記複数のエリアのそれぞれの判定結果及び前記第1のエリアに障害物が存在する確率を用いて複数のエリアに障害物が存在するか否かを示すラベルを設定する、付記15に記載の特定方法。
(付記17)
前記複数のエリアは、
移動体の走行エリアを分割することによって生成された複数のグリッドであり、
前記障害物が存在する確率を特定する際に、
前記観測データが障害物の有無が不明であることを示す第1のグリッドに障害物が存在する確率を算出する、付記16に記載の特定方法。
(付記18)
前記障害物が存在する確率を特定する際に、
前記第1のグリッドに隣接する第2のグリッドの判定結果に応じて変化する、前記第1のグリッド及び前記第2のグリッドに前記ラベルが設定される際の重みの値を用いて、前記第1のグリッドに障害物が存在する確率を算出する、付記17に記載の特定方法。
(付記19)
前記観測データを受信する際に、第1の時刻における複数の前記グリッドの観測データを受信した後に、第2の時刻における複数の前記グリッドの観測データを受信し、
前記第1の時刻及び前記第2の時刻におけるそれぞれの前記グリッドの判定結果の推移に基づいて、動く障害物が存在するか否かを判定する、付記17又は18に記載の特定方法。
(付記20)
前記ラベルを設定する際に、
前記第1の時刻における第3のグリッドの判定結果と、前記第2の時刻における前記第3のグリッドもしくは前記第3のグリッドに隣接するグリッドの判定結果とに応じて、前記第1の時刻における前記第3のグリッド及び前記第2の時刻における前記第3のグリッドもしくは前記第3のグリッドに隣接するグリッドに前記ラベルが設定される際の重みの値を用いて、動く障害物が存在するか否かを判定する、
付記19に記載の特定方法。
(付記21)
少なくとも1つのセンサから、複数のエリアにおける障害物を観測した観測データを受信し、
前記観測データを用いて、前記複数のエリアにおける障害物の有無を判定し、
前記複数のエリアのうちの第1のエリアにおいて障害物の有無が不明である場合に、前記第1のエリアの周辺のエリアにおける障害物の有無を示す判定結果を用いて、前記第1のエリアに障害物が存在する確率を特定することをコンピュータに実行させるプログラムであり、
前記第1のエリアに障害物が存在する確率は、前記第1のエリアの周辺のエリアにおける障害物の有無によって変動する。
【0095】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0096】
この出願は、2021年8月31日に出願された日本出願特願2021-140626を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【0097】
10 情報処理装置
11 通信部
12 判定部
13 特定部
20 制御装置
21 ラベル設定部
22 経路制御部
30 センサ
31 センサ
32 センサ
33 センサ
40 移動体
50 ネットワーク
60 制御装置
61 評価部
62 速度制御部
71 障害物
72 障害物
73 障害物