<実施例1>
以下、本発明の実施例1について添付図面を参照しつつ説明する。
本発明の実施例1に係る運搬システム1は、予め定められた地域内で物品の配達を行う配達業者の営業所に設置されている。運搬システム1は、図1に示すようなサーバ機である制御装置100と、無人航空機である無人移動機900と、を備え、制御装置100は、無人移動機900に物品を配達先まで運搬させる制御をインターネットINを介して行う。
制御装置100は、図2に示すようなCPU(Central Processing Unit)101、RAM(Random Access Memory)102、ROM(Read Only Memory)103a、ハードディスク103b、通信回路104、ビデオカード105a、表示装置105b、入力装置105c、及び、入力ポート108を備えている。
CPU101は、ROM103a又はハードディスク103bに保存されたプログラムを実行することで、制御装置100の全体制御を行う。RAM102は、CPU101によるプログラムの実行時において、処理対象とするデータを一時的に記憶する。
ROM103a及びハードディスク103bは、各種のプログラムを記憶している。また、ハードディスク103bは、プログラムの実行に用いられる各種のデータやデータが保存されたテーブルをさらに記憶している。制御装置100は、ハードディスク103bの代わりに、フラッシュメモリを備えても良い。
通信回路104は、NIC(Network Interface Card)であり、例えば、LTE(Long Term Evolution)及び3G(3rd Generation)といった通信規格に従って、インターネットINに接続された不図示の基地局と電波を用いたデータ通信を行う。これにより、通信回路104は、インターネットINを介して接続される無人移動機900とデータ通信する。
ビデオカード105aは、CPU101から出力されたデジタル信号に基づいて画像をレンダリングすると共に、描画された画像を表す画像信号を出力する。表示装置105bは、LCD(Liquid Crystal Display)であり、ビデオカード105aから出力された画像信号に従って画像を表示する。制御装置100は、LCDの代わりに、PDP(Plasma Display Panel)又はEL(Electroluminescence)ディスプレイを備えても良い。入力装置105cは、キーボード、マウス、タッチパッド、及び、ボタンのいずれか1つ以上であり、ユーザの操作に応じた信号を入力する。
入力ポート108は、不図示の二次元コードリーダーに接続された不図示のケーブルに接続されており、二次元コードリーダーが出力する信号をCPU101へ入力する。
制御装置100は、営業所に勤務する従業員によって操作される。従業員は、物品が営業所に運び込まれると、制御装置100に接続された不図示の二次元コードリーダーを操作して、運び込まれた物品を梱包する段ボールに貼られた伝票から二次元コードを二次元コードリーダーに読み取らせる。その後、従業員は、段ボールで梱包された物品を無人移動機900に搭載する。
二次元コードリーダーから入力ポート108を介して信号が入力されると、制御装置100のCPU101は、二次元コードが印刷された段ボールに梱包された物品を無人移動機900に運搬させる、図3に示すような運搬制御処理の実行を開始する。
これにより、制御装置100のCPU101は、無人移動機900に運搬させる物品に関する情報である、図4に示すような運搬物品情報を取得する、図5に示すような取得部110として機能する。取得部110が取得する運搬物品情報は、運搬される物品を識別する物品ID(IDentification)、当該物品の宛先として指定された住所を表す宛先情報、及び、当該物品の特性を表す情報である特性情報を含んでいる。また、当該物品の特性は、当該物品がどの程度の衝撃に耐えられるかを表す衝撃耐性を含んでいる。
さらに、制御装置100のCPU101は、取得部110で取得された運搬物品情報で表される物品の特性に基づいて、無人移動機900が物品を運搬する運搬ルートを決定するルート決定部121として機能する。またさらに、CPU101は、無人移動機900が物品を搭載して運搬ルートを移動する際の挙動に係る動作モードを決定する動作モード決定部122として機能する。
さらに、制御装置100のCPU101は、無人移動機900に当該運搬ルートを当該動作モードで移動させる運搬制御情報を生成する生成部130として機能する。尚、生成部130で生成される運搬制御情報は、ルート決定部121で決定された運搬ルートを表す運搬ルート情報と、動作モード決定部122で決定された動作モードを表す動作モード情報と、を含む。
またさらに、制御装置100のCPU101は、生成部130で生成された運搬制御情報に基づいて、無人移動機900に物品を運搬させる制御を行う制御部140として機能する。
また、図2に示したハードディスク103bは、運搬制御処理の実行に用いられる各種のテーブルを予め記憶している情報記憶部190として機能する。情報記憶部190が記憶しているテーブルは、物品の特性に関する情報が保存されている、図6に示すような特性テーブルを含む。特性テーブルには、複数のレコードが予め保存されており、各レコードには、物品の種類を表す種類情報と、当該種類に分類される複数の物品が共通して有する特性として衝撃耐性を表す特性情報と、が対応付けられて予め保存されている。
特性テーブルの第1番目のレコードには、物品の種類「飲料」と、「飲料」に分類される複数の物品は、予め定められた基準の強さの衝撃及び予め定められた基準の強さよりも弱い衝撃に耐えられるが、当該基準の衝撃よりも強い衝撃に耐えられないという基準の耐衝撃性を表す特性情報「基準」と、が対応付けられている。
予め定められた基準の強さの衝撃とは、予め定められた基準の大きさの1回の衝撃、及び、予め定められた基準の回数に亘る、予め定められた基準の大きさの衝撃を含む。また、基準の衝撃よりも強い衝撃とは、予め定められた基準の大きさよりも大きい1回の衝撃、及び、予め定められた基準の回数よりも多い、予め定められた基準の大きさの衝撃を含む。同様に、基準の衝撃よりも弱い衝撃とは、予め定められた基準の大きさよりも小さい1回の衝撃、及び、予め定められた基準の回数よりも少ない、予め定められた基準の大きさの衝撃を含む。
衝撃に耐えられるとは、衝撃を受ける前の物品の状態が維持されることをいう。「飲料」に分類される物品が、衝撃を受ける前の物品の状態に維持されるとは、例えば、衝撃を受ける前の状態がペットボトル、缶、又は、瓶等の容器が破損していない状態であれば、衝撃を受けた後も当該容器が破損していない状態であることを含む。また、「飲料」に分類される物品が衝撃を受ける前の状態に維持されるとは、例えば、衝撃を受ける前の状態が、容器の開栓時に内容物が吹き出さない又は殆ど吹き出さない状態であれば、衝撃を受けた後も当該状態であることを含む。
特性テーブルの第2番目のレコードには、物品の種類「食品」と、「食品」に分類される複数の物品は、基準の耐衝撃性を有することを表す特性情報「基準」と、が対応付けられている。「食品」に分類される物品が、衝撃を受ける前の状態に維持されるとは、例えば、衝撃を受ける前の状態が、食品の包装容器が破損していない状態、包装容器から汁やソース等の液体が漏れ出していない状態、又は、食品の盛り付けが崩れていない又は著しく崩れていない状態であれば、衝撃を受けた後もこれらの状態にあることを含む。
特性テーブルの第3番目のレコードには、物品の種類「書籍」と、「書籍」に分類される複数の物品は、基準の強さの衝撃よりも強い衝撃に耐えられるという強い衝撃耐性を表す特性情報「強」と、が対応付けられている。
特性テーブルの第4番目のレコードには、物品の種類「割れ物」と、「割れ物」に分類される複数の物品は、基準の強さの衝撃よりも弱い衝撃にしか耐えられないことを表す特性情報「弱」と、が対応付けられている。種類「割れ物」に分類される物品が、衝撃を受ける前の状態に維持されるとは、例えば、衝撃を受ける前の状態が、物品の包装容器が破損していない状態、若しくは、物品が割れていない、物品が欠けていない、又は、物品にヒビが入っていない状態であれば、衝撃を受けた後もこれらの状態にあることを含む。
さらに、情報記憶部190は、例えば、道路及び河川といった無人移動機900が移動可能な部分ルートに関する情報が保存されている、図7に示すような部分ルートテーブルを予め記憶している。部分ルートテーブルには、複数のレコードが予め保存されており、各レコードには、部分ルートであるエッジの始点ノードの緯度及び経度と、当該エッジの終点ノードの緯度及び経度と、当該エッジの距離を表す情報と、が対応付けられて予め保存されている。
また、始点ノード及び終点ノードの緯度及び経度には、無人移動機900の飛行履歴に基づいて算出された実績値であって、無人移動機900が当該エッジを単位距離だけ飛行する間に、無人移動機900以外の無人移動機又は鳥や猫等の動物等との接触を防止するために減速又は飛行高度の変更といった回避動作を平均何回行ったかを表す混雑度が予め対応付けられている。
またさらに、情報記憶部190は、無人移動機900の挙動に係る動作モードを表す動作モード情報が保存される複数のレコードが予め保存されている、図8に示すような動作モードテーブルを予め記憶している。
無人移動機900の挙動は、無人移動機900が行う上昇、下降、水平飛行、及び、方向変更と、加速、及び、減速と、を含む。また、当該挙動に係る動作モードは、上昇時、水平飛行時、及び、下降時、並びに、方向変更時における無人移動機900の対地速度又は対気速度、並びに、無人移動機900の進行方向の方位角が変化する角速度のそれぞれに対して、予め定められた基準の速度が制限速度として課せられる基準モードを含む。基準モードでは、制限速度が課せられる対地速度の加速度又は対気速度の加速度、並びに、角速度の加速度のそれぞれに対して、予め定められた基準の加速度が制限加速度としてさらに課せられる。
さらに、当該挙動に係る動作モードは、上昇時等における無人移動機900の対地速度等のそれぞれに対して、基準の速度よりも早い速度が制限速度として課せられ、かつ、対地速度等の加速度のそれぞれに対して、基準の加速度よりも大きい加速度が制限加速度としてさらに課せられる高速モードをさらに含む。またさらに、当該挙動に係る動作モードは、上昇時等における無人移動機900の対地速度等のそれぞれに対して、基準の速度よりも遅い速度が制限速度として課せられ、かつ、対地速度等の加速度のそれぞれに対して、基準の加速度よりも小さい加速度が制限加速度としてさらに課せられる低速モードをさらに含む。
このため、図8に示す動作モードテーブルの各レコードには、物品の特性を表す特性情報と、当該特性を有する物品の状態を変更させない又は変更させ難い動作モードの内で、無人移動機900に課される制限速度が最も速く、かつ、制限加速度が最も大きい動作モードの名称、制限速度、及び、制限加速度を表す動作モード情報と、が予め対応付けられている。
具体例として、図8に示す動作モードテーブルの第1番目のレコードには、基準の衝撃耐性を表す特性情報と、基準モードを表す動作モード情報と、が予め対応付けられている。また、動作モードテーブルの第2番目のレコードには、強い衝撃耐性を表す特性情報と、高速モードを表す動作モード情報と、が予め対応付けられており、第3番目のレコードには、弱い衝撃耐性を表す特性情報と、低速モードを表す動作モード情報と、が予め対応付けられている。
またさらに、情報記憶部190は、配達地域内の住所を表す情報と、当該住所で示される地点の緯度及び経度を表す情報と、が対応付けられたデータが複数保存されている、不図示の住所テーブルを予め記憶している。
図3に示す運搬制御処理の実行が開始されると、図5に示す取得部110は、不図示の二次元コードリーダーから入力ポート108を介して入力される信号に基づいて、二次元コードが印刷された物品の識別情報である物品IDと、当該物品を販売した会社又は営業所を運営する会社によって管理される不図示のサーバのURL(Uniform Resource Locator)と、を取得する。その後、取得部110は、読み出したURL及び取得した物品IDを含み、当該物品IDで識別される物品の配達に関する配達情報を送信するように求めるリクエストを生成し、図2に示した通信回路104へ出力する。尚、当該リクエストによって送信が求められる配達情報は、配達される物品の宛先情報及び種類情報を含んでいる。
通信回路104が不図示のサーバへリクエストを送信してから配達情報を受信すると、取得部110は、通信回路104から配達情報を取得する。次に、取得部110は、取得された配達情報に含まれる種別情報を取得し、図6に示した特性テーブルから、取得された種別情報に対応付けられた特性情報を取得する。その後、取得部110は、配達情報に含まれる宛先情報と、特性テーブルから取得した特性情報と、を、無人移動機900に運搬させる物品に関する運搬物品情報として扱う(ステップS01)。
次に、ルート決定部121は、情報記憶部190が記憶する不図示の住所テーブルから、宛先の住所を表す宛先情報と対応付けられた緯度及び経度を表す情報を取得し、情報記憶部190が予め記憶している営業所の緯度及び経度を表す情報を取得する。
その後、ルート決定部121は、図7の部分ルートテーブルに保存されているエッジの距離、当該エッジの始点ノードの緯度及び経度、並びに、当該エッジの終点ノードの緯度及び経度を用いて、例えば、ダイクストラ法といった経路探索アルゴリズムを実行する。これにより、ルート決定部121は、部分ルートを組み合わせることで、営業所から宛先へ到る全体ルートを複数決定する。次に、ルート決定部121は、決定した複数の全体ルートの内で、総運搬距離が短い順に1番目からN(但し、Nは自然数)番目までの全体ルートを、運搬ルートのN個の候補に決定する(ステップS02)。
その後、ルート決定部121は、ステップS01で取得された運搬物品情報によって表される特性を有する物品の運搬ルートとしてどの程度適切であると評価されたかを表す評価値を、N個の候補のそれぞれについて算出する、図9に示すような評価値算出処理を実行する(ステップS03)。本実施例では、図9の評価値算出処理では、運搬ルートとしてより適切であると評価された候補程、より高い評価値が算出されるとして説明を行う。しかし、これに限定される訳では無く、より適切であると評価された候補程、より低い評価値が算出される評価値算出処理が実行されても良い。
評価値算出処理の実行を開始すると、ルート決定部121は、運搬ルートの候補の番号を表す変数nを値「1」で初期化する(ステップS11)。変数nを値「1」で初期化するのは、1番目の候補から順に評価値を算出するためである。
次に、ルート決定部121は、n番目の候補について、複数の指標に基づいて複数の評価値を算出する(ステップS12)。以下、複数の評価値の具体例として、総運搬距離に基づく第1の評価値、混雑度に基づく第2の評価値、及び、無人移動機900の方向変更回数に基づく第3の評価値を挙げて説明するが、複数の評価値は、これらに限定される訳ではない。複数の評価値は、例えば、第1の評価値と第2の評価値とであっても良いし、第1の評価値と第3の評価値とであっても良いし、総運搬距離、混雑度、及び、方向変更回数と異なる指標に基づく複数の評価値であっても良い。
総運搬距離に基づく第1の評価値を算出するために、ルート決定部121は、経路探索アルゴリズムの実行により算出されたn番目の候補の総運搬距離を取得する。次に、ルート決定部121は、取得された総運搬距離がより短い程、より高い値に第1の評価値を算出する。ルート決定部121が、このように第1の評価値を算出するのは、総運搬距離がより短い程、無人移動機900が運搬できる物品の単位時間当たりの量で表される運搬効率がより高いからである。
本実施例において、ルート決定部121は、第1の評価値の算出方法として、総運搬距離の逆数を第1の評価値とする方法を用いると説明するが、これに限定される訳では無い。ルート決定部121は、総運搬距離がより短い程、より高い正の値に第1の評価値を算出する方法であれば、どのような算出方法を用いても構わない。
次に、混雑度に基づく第2の評価値を算出するために、ルート決定部121は、n番目の候補に含まれるエッジを複数特定する。その後、ルート決定部121は、特定された複数のエッジの内で、混雑度を取得していないエッジの1つを注目エッジとし、図7の部分ルートテーブルから、注目エッジの始点ノードの緯度及び経度と、終点ノードの緯度及び経度と、に対応付けられた注目エッジの距離を表す情報と、混雑度を表す情報と、を取得する。その後、ルート決定部121は、取得された情報で表される注目エッジの混雑度に、注目エッジの距離を乗算することで、無人移動機900が注目エッジを移動する間に回避動作を行うと予測される回数である予測回避回数を算出する。その後、ルート決定部121は、未注目のエッジが無くなるまで、未注目のエッジの1つに注目する処理から上記処理を繰り返す。
未注目のエッジが無くなると、ルート決定部121は、n番目の候補に含まれる複数のエッジの予測回避回数の総和を算出し、算出した予測回避回数の総和がより少ない程、より高い値に第2の評価値を算出する。ルート決定部121が、このように第2の評価値を算出するのは、予測回避回数の総和がより少ない程、運搬ルートの移動中に回避行動のために無人移動機900が速度や高度を変更することで物品に慣性力が作用すると予測される回数がより少ないからである。すなわち、予測回避回数の総和がより少ない程、物品に作用する力と、当該力が当該物品に作用する時間と、の力積で表される衝撃が当該物品に加えられると予測される回数がより少ないからである。
本実施例において、ルート決定部121は、第2の評価値の算出方法として、予測回避回数の総和に対して、予め定められた正の定数Cを加算することで得られた値の逆数を第2の評価値とする方法を用いると説明する。ルート決定部121が予測回避回数の総和に対して定数Cを加算するのは、予測回避回数の総和が値「0」の場合であっても第2の評価値を算出できるようにするためである。しかし、この方法に限定される訳では無く、ルート決定部121は、予測回避回数の総和がより少ない程、より高い正の値に第2の評価値を算出する方法であれば、どのような算出方法を用いても構わない。
次に、方向変更回数に基づく第3の評価値を算出するために、ルート決定部121は、方向変更回数をカウントする変数を値「0」で初期化する。その後、ルート決定部121は、n番目の候補に含まれるエッジを複数特定し、特定された複数のエッジの内で、営業所を表すノードを始点ノードとする最初のエッジに注目する。次に、ルート決定部121は、注目エッジを表すベクトルであって、注目エッジの始点ノードから終点ノードへ向かうベクトルを、始点ノードの緯度及び経度と、終点ノードの緯度及び経度と、を用いて算出する。
次に、ルート決定部121は、注目エッジの終点ノードを始点ノードとする次のエッジに注目し、注目エッジを表すベクトルを算出する。その後、ルート決定部121は、注目エッジを表すベクトルと、1つ前に注目していたエッジを表すベクトルと、に基づいて、1つ前に注目していたエッジから注目エッジに移動するために無人移動機900が進行方向を変更させる角度を算出する。その後、ルート決定部121は、情報記憶部190に予め記憶されている変数で表される設定角度よりも、算出された角度が大きい場合に、方向変更回数をカウントする変数を値「1」だけ増加させる。次に、ルート決定部121は、注目エッジの終点ノードが、宛先を表すノードとなるまで、次のエッジに注目する処理から上記処理を繰り返す。
その後、ルート決定部121は、方向変更回数をカウントする変数の値がより少ない程、より高い値に第3の評価値を算出する。ルート決定部121が、このように第3の評価値を算出するのは、方向変更回数がより少ない程、無人移動機900が方向変更の前に行う減速、方向変更、及び、方向変更の後に行う加速によって物品に衝撃が加えられる回数がより少ないためである。
本実施例において、ルート決定部121は、第3の評価値の算出方法として、方向変更回数をカウントする変数の値に対して、予め定められた正の定数Cを加算することで得られた値の逆数を第3の評価値とする方法を用いると説明する。しかし、この方法に限定される訳では無く、ルート決定部121は、方向変更回数がより少ない程、より高い正の値に第3の評価値を算出する方法であれば、どのような方法を用いても構わない。
ステップS12で複数の評価値を算出した後に、ルート決定部121は、複数の評価値の重み付けにそれぞれ用いられる複数の重付係数の正の初期値を表す情報として、情報記憶部190が予め記憶している情報を読み出す。次に、ルート決定部121は、読み出した情報で表される初期値で複数の重付係数を初期化する(ステップS13)。
その後、ルート決定部121は、運搬物品情報に含まれる特性情報が、弱い衝撃耐性を表す場合に、総運搬距離に基づく第1の評価値の重付係数を補正せず、混雑度に基づく第2の評価値の重付係数と、方向変更回数に基づく第3の評価値と、を補正前よりも大きい値に補正する。
ルート決定部121がこのような補正を行うのは、営業所から宛先まで物品を運搬する間に無人移動機900が行う回避行動及び方向変更の回数がより少ない運搬ルートの候補の方が、回数がより多い候補よりも、回避行動及び方向変更によって物品に衝撃が加わる回数が少ないため、比較的弱い衝撃にしか耐えられない物品を運搬するルートとしてより適切だからである。
これに対して、ルート決定部121は、運搬物品情報に含まれる特性情報が、強い衝撃耐性を表す場合に、総運搬距離に基づく第1の評価値の重付係数を補正前よりも大きい値に補正し、混雑度に基づく第2の評価値の重付係数と、方向変更回数に基づく第3の評価値の重付係数と、を補正しない。
ルート決定部121がこのような補正を行うのは、営業所から宛先まで物品を運搬するために行う回避行動及び方向変更の回数が多い運搬ルートであっても、総運搬距離がより短い運搬ルートの候補の方が、総運搬距離がより長い候補よりも運搬効率が高く、比較的強い衝撃に耐える物品を運搬するルートとして適切だからである。
さらに、ルート決定部121は、運搬物品情報に含まれる特性情報が、基準の衝撃耐性を表す場合に、第1から第3の評価値の重付係数を補正しない(ステップS14)。
その後、ルート決定部121は、ステップS12で算出された複数の評価値を、ステップS14で補正された複数の重付係数で重み付けすることで、n番目の候補の総合評価値を算出する(ステップS15)。
その後、ルート決定部121は、変数nの値を「1」だけ増加させた後に(ステップS16)、変数nの値が、運搬ルートの候補の総数Nよりも大きいか否かを判別する(ステップS17)。このとき、ルート決定部121は、変数nの値が候補の総数N以下であると判別すると(ステップS17;No)、全ての候補の総合評価値を算出していないと判別して、ステップS12から上記処理を繰り返す。これに対して、ルート決定部121は、変数nの値が候補の総数Nより大きいと判別すると(ステップS17;Yes)、評価値算出処理の実行を終了する。
図3のステップS03で評価値算出処理が実行された後に、ルート決定部121は、N個の候補それぞれについて算出されたN個の総合評価値に基づいて運搬ルートを決定する(ステップS04)。本実施例では、ルート決定部121は、N個の総合評価値の内で最も高い総合評価値が算出された候補を運搬ルートに決定すると説明する。しかし、これに限定される訳では無く、ルート決定部121は、m番目(但し、2≦m≦N)に高い総合評価値が算出された候補、又は、N個の候補の内からランダムに選択された候補を運搬ルートとして決定しても良い。
次に、動作モード決定部122は、図8の動作モードテーブルから、運搬物品情報に含まれる特性情報に対応付けられた動作モード情報を取得し、取得された動作モード情報で表される動作モードを、無人移動機900が物品を搭載して運搬ルートを移動する際の動作モードと決定する(ステップS05)。
その後、生成部130は、ステップS04で決定された運搬ルートを表す情報であって、当該運搬ルートに含まれる複数のノードそれぞれの緯度及び経度を表す情報と、運搬ルートを無人移動機900が順行する場合に、無人移動機900が複数のノードそれぞれを通過する順番と、を含む運搬ルート情報を生成する。次に、生成部130は、生成された運搬ルート情報と、ステップS05で決定された動作モードを表す動作モード情報と、を含み、かつ、無人移動機900に当該運搬ルートを当該動作モードで移動させる、運搬制御情報を生成する(ステップS06)。その後、生成部130は、運搬制御情報の送信先を識別する情報として、無人移動機900を識別する機体IDを運搬制御情報に追加して制御部140へ出力する。
次に、制御部140は、生成部130によって生成された運搬制御情報を制御コマンドとした後に、図2に示した通信回路104へ制御コマンドを出力する(ステップS07)。これにより、制御部140は、運搬制御情報に基づいて物品を運搬させる制御を無人移動機900に行う。
その後、通信回路104が制御コマンドを無人移動機900に送信した後に、制御部140は、運搬制御処理の実行を終了する。
図1に示した無人移動機900は、無人移動機900の姿勢及び飛行を制御する、図10に示すような直方体形状の制御装置910を備える。また、無人移動機900は、制御装置910の前面から右前方及び左前方、並びに、制御装置910の後面から左後方及び右後方にそれぞれ突出したプロペラアーム921及び922、並びに、923及び924を備える。さらに、無人移動機900は、プロペラアーム921から924の先端にそれぞれ設置されたプロペラ931から934、及び、制御装置910の制御に従ってプロペラ931から934を回転させる不図示のモータと、を備える。
また、無人移動機900は、物品を梱包する直方体形状の段ボールの側面の内の1つが有する4辺を囲持する第1囲持枠941aと、第1囲持枠941aによって囲持される面(以下、第1囲持面という)と対向する側面(以下、第2囲持面という)が有する4辺を囲持する第2囲持枠941bと、を、制御装置910の下方に備える。さらに、無人移動機900は、物品の第1囲持面及び第2囲持面の法線方向に延設され、第1囲持枠941aと第2囲持枠941bとを吊持し、かつ、第1囲持枠941aと第2囲持枠941bとの移動方向を延設方向とするガイドレール942a及び942bを、制御装置910の下面に備える。
またさらに、無人移動機900は、制御装置910の制御に従って、第1囲持枠941aと第2囲持枠941bとを互いに近づく方向へ移動させることで、第1囲持枠941aと第2囲持枠941bとに物品を囲持させる不図示のモータを備える。この不図示のモータは、制御装置910の制御に従って、第1囲持枠941aと第2囲持枠941bとを互いに遠ざかる方向に移動させることで、囲持された物品を第1囲持枠941aと第2囲持枠941bとに開放させる。
さらに、無人移動機900は、制御装置910の下面から下方に突出しており、制御装置910を支持する支持脚943を備えている。支持脚943の鉛直方向の長さは、第1囲持枠941a及び第2囲持枠941bの鉛直方向の長さよりも、予め定められた長さだけ長く設計されている。支持脚943がこのように設定されているのは、無人移動機900が着地する際に、第1囲持枠941a及び第2囲持枠941b、並びに、第1囲持枠941a及び第2囲持枠941bで囲持された物品が着地点の地面又は床に衝突することを防止するためである。
またさらに、無人移動機900は、制御装置910の上面に設けられ、無人移動機900の前方に光軸が向けられた撮像装置951を備える。撮像装置951は、デジタル式のステレオカメラであり、制御装置910から出力される信号に応じて撮像を行い、互いに視差を有する2つの撮像画像を表す情報を制御装置910へ出力する。撮像装置951がこのような情報を制御装置910へ出力するのは、制御装置910が、視差に基づいて無人移動機900の前方にある障害物の3次元空間における位置座標及びサイズ等を特定するためである。
制御装置910は、図11に示すようなCPU911、RAM912、ROM913a、フラッシュメモリ913b、通信回路914、GPS(Global Positioning System)回路916、姿勢センサ917、入出力ポート918、及び、駆動回路919を備える。制御装置910のCPU911、RAM912、ROM913a、及び、通信回路914の構成及び機能は、図2に示した制御装置100のCPU101、RAM102、ROM103a、及び、通信回路104の構成及び機能と同様である。
フラッシュメモリ913bは、各種のプログラム、プログラムの実行に用いられる各種のデータ、及び、データが保存されたテーブルを予め記憶している。制御装置910は、フラッシュメモリ913bの代わりに、ハードディスクを備えても良い。
GPS回路916は、GPS衛星から発せられたGPS信号を受信し、受信されたGPS信号に基づいて無人移動機900の位置を表す緯度及び経度を計測し、計測された緯度及び経度を表す信号を出力する。姿勢センサ917は、例えば、ジャイロスコープであり、制御装置910の底面の法線方向と、鉛直方向と、がなす角度を検出し、検出された角度を表す信号を出力する。姿勢センサ917が、制御装置910の底面の法線方向と鉛直方向との角度を検出するのは、物品を梱包している直方体形状の段ボールの底面と、制御装置910の底面と、が略平行となるように、第1囲持枠941aと第2囲持枠941bとが段ボールを枠持するからである。
入出力ポート918は、撮像装置951と接続された不図示のケーブルに接続されており、CPU911が出力する信号を撮像装置951に出力し、撮像装置951が出力する信号をCPU911へ入力する。
駆動回路919は、図10に示したプロペラ931から934を回転させる不図示のモータにそれぞれ接続された不図示のケーブルと、第1囲持枠941aと第2囲持枠941bとを移動させる不図示のモータに接続されたケーブルと、に接続されている。駆動回路919は、CPU911が出力する信号に従って、プロペラ931から934を回転させる不図示のモータ、又は、第1囲持枠941aと第2囲持枠941bとを移動させる不図示のモータを駆動させる。
無人移動機900が備える制御装置910の通信回路914が、制御装置100から送信された制御コマンドを受信すると、制御装置910のCPU911は、制御コマンドに従って無人移動機900を移動させる、図12に示すような移動制御処理を実行する。
CPU911は、移動制御処理の実行を開始すると、通信回路914から制御コマンドとして受信された運搬ルート情報と動作モード情報とを含む運搬制御情報を取得する(ステップS21)。
次に、CPU911は、運搬制御情報に含まれる運搬ルート情報で表される運搬ルートを、動作モード情報で表される動作モードで、無人移動機900に順行飛行させるように、図10に示したプロペラ931から934を制御する制御信号を生成する。
CPU911は、揺れや傾きの少ない安定的な飛行のために、姿勢センサ917から出力される信号を取得し、取得された信号で表される制御装置910の底面の法線方向と、鉛直方向と、の角度を小さくさせる制御信号を生成する。
また、CPU911は、障害物の回避のために、無人移動機900の前方に光軸がむけられた撮像装置951へ撮像を命じる信号を出力した後に、撮像装置951から撮像画像を表す情報を取得する。次に、CPU911は、取得された情報で表される撮像画像の視差に基づいて、障害物までの距離及び障害物のサイズを特定し、特定された距離及びサイズに基づいて障害物を回避させる制御信号を生成する。
また、動作モード情報で表される動作モードで動作させるために、CPU911は、動作モード情報で表される制限加速度よりも小さい加速度で、加速、減速、及び、方向変更しながら、制限速度よりも遅い速度で、上昇、水平飛行、及び、下降、並びに、方向変更させる制御信号を生成する。
また、運搬ルート情報で表される運搬ルートを順行させるために、CPU911は、運搬ルートに含まれる複数のノードの緯度及び経度を表す情報を、運搬ルート情報から取得する。次に、CPU911は、GPS回路916から信号を取得し、取得された信号で表される無人移動機900の緯度及び経度と、取得された情報で表される緯度及び経度であって、複数の未通過のノードの内で最も近いノードの緯度及び経度と、の相違を縮小させる飛行をさせる制御信号を生成する。その後、CPU911は、生成された制御信号を、プロペラ931から934を回転させる不図示のモータを駆動させる駆動回路919へ出力する(ステップS22)。
その後、CPU911は、GPS回路916から出力される信号と、取得された運搬ルート情報と、に基づいて、運搬ルートの終点(つまり、宛先)を表すノードの緯度及び経度と、無人移動機900の緯度及び経度と、の差異を算出する。次に、CPU911は、宛先を表すノードの緯度及び経度と、無人移動機900の緯度及び経度と、の差異が所定値以下となったか否かに基づいて、無人移動機900が宛先に到着したか否かを判別する(ステップS23)。
ステップS23において、CPU911は、当該差異が所定値よりも大きいため、宛先に無人移動機900が到着していないと判別すると(ステップS23;No)、ステップS22から上記ステップを繰り返す。
これに対して、CPU911は、当該差異が所定値以下であるため、宛先に無人移動機900が到着したと判別すると(ステップS23;Yes)、無人移動機900を着地させるように、プロペラ931から934を制御する制御信号を生成して駆動回路919へ出力する。その後、CPU911は、第1囲持枠941aと第2囲持枠941bとを互いに遠ざかる方向に移動させる制御信号を生成して駆動回路919へ出力することで、第1囲持枠941a及び第2囲持枠941bに物品を開放させて、物品を受け渡させる(ステップS24)。
その後、無人移動機900のCPU911は、運搬ルートを逆行して営業所まで飛行させる制御信号を駆動回路919へ出力した後に(ステップS25)、移動制御処理の実行を終了する。
これらの構成によれば、制御装置100の取得部110は、運搬される物品の特性を表す運搬物品情報を取得し、生成部130は、取得された運搬物品情報で表される特性に基づいて、物品を無人移動機900に運搬させる運搬制御情報を生成する。このため、制御装置100は、物品の特性により適した運搬を無人移動機900にさせる運搬制御情報を生成できる。また、制御装置100の制御部140は、生成部130で生成された運搬制御情報に基づいて、無人移動機900に物品を運搬させる制御を行う。このため、制御装置100は、物品の特性により適した運搬を無人移動機900にさせることができる。
また、これらの構成によれば、物品の特性は、当該物品の衝撃耐性を含む。このため、制御装置100は、物品の衝撃耐性に応じた運搬を無人移動機900にさせることができるので、運搬によって物品に加えられる衝撃によって、物品の状態が、運搬前の状態と異なる状態に変化することを抑制できる。
これらの構成によれば、制御装置100のルート決定部121は、取得部110で取得された運搬物品情報で表される物品の特性に基づいて、無人移動機900が物品を運搬する運搬ルートを決定する。また、制御装置100の生成部130は、ルート決定部121で決定された運搬ルートを表す運搬ルート情報を含み、かつ、当該運搬ルートを無人移動機900に移動させる、運搬制御情報を生成する。このため、制御装置100は、物品の特性により適した運搬ルートを無人移動機900に移動させる運搬制御情報を生成できる。
また、制御装置100のルート決定部121は、運搬物品情報が、より弱い衝撃にしか耐えられないという耐衝撃性を表す場合に、無人移動機900の方向変更回数がより少ないルート、より混雑していないルート、若しくは、方向変更回数がより少なく、かつ、より混雑していないルートを運搬ルートとして決定する。このため、制御装置100は、より弱い衝撃にしか耐えられない物品の運搬ルートとして、方向変更又は回避動作により物品に慣性力が作用する回数が少ないルートを決定できる。また、制御装置100は、より弱い衝撃にしか耐えられない物品の運搬ルートとして、例えば、無人移動機900が無人移動機900以外の無人移動機又は鳥等の動物と接触することで、物品が衝撃を受ける可能性の少ないルートを決定できる。このため、制御装置100は、物品の衝撃耐性に応じた運搬を無人移動機900にさせることができるので、物品の運搬によって、物品の状態が、運搬前の状態と異なる状態に変化することを抑制できる。
さらに、ルート決定部121は、運搬物品情報が、より強い衝撃に耐えられるという耐衝撃性を表す場合に、総運搬距離がより短いルートを運搬ルートとして決定する。このため、制御装置100は、物品の衝撃耐性に応じた運搬を無人移動機900にさせることができるだけでなく、物品の運搬効率も向上させることができる。
また、これらの構成によれば、制御装置100の動作モード決定部122は、取得部110で取得された運搬物品情報で表される物品の特性に基づいて、無人移動機900が物品を搭載して運搬ルートを移動する際の挙動に係る動作モードを決定する。また、制御装置100の生成部130は、動作モード決定部122で決定された動作モードを表す動作モード情報を含み、かつ、無人移動機900に運搬ルートを当該動作モードで移動させる、運搬制御情報を生成する。このため、制御装置100は、物品の特性により適した挙動で無人移動機900を移動させる運搬制御情報を生成できる。
また、制御装置100の動作モード決定部122は、運搬物品情報が、より弱い衝撃にしか耐えられないという耐衝撃性を表す場合に、無人移動機900に課せられる制限速度をより遅く決定する。また、制限速度は、無人移動機900の対地速度又は対気速度、並びに、無人移動機900の進行方向の方位角が変化する角速度のそれぞれに対して課せられる。これらのため、制御装置100は、より弱い衝撃耐性を有する物品を運搬させる無人移動機900に、より遅い速度で飛行及び方向変更させることができる。
また、制御装置100の動作モード決定部122は、運搬物品情報が、より弱い耐衝撃性を表す場合に、無人移動機900に課せられる制限加速度をより小さく決定する。さらに、制限加速度は、無人移動機900の飛行時及び方向変更時における無人移動機900の対地速度の加速度又は対気速度の加速度、並びに、角速度の加速度に課せられる。これらのため、制御装置100は、より弱い衝撃耐性を有する物品を運搬させる無人移動機900に、より緩やかな減速飛行、方向変更、及び、加速飛行をさせることができる。よって、制御装置100は、物品を運搬する無人移動機900の挙動によって物品の状態が変化することを抑制できる。
これに対して、動作モード決定部122は、運搬物品情報が、より強い衝撃に物品が耐えられるという耐衝撃性を表す場合に、制限速度をより速く決定し、かつ、制限加速度をより大きく決定する。このため、制御装置100は、物品の運搬効率を向上させることができる。
<実施例1の変形例1>
実施例1では、動作モードを表す情報は、当該動作モードの名称を表す情報、制限速度を表す情報、及び、制限加速度を表す情報を含むと説明したが、これに限定される訳では無い。動作モードを表す情報は、当該動作モードを識別する動作モードIDを含んでも良い。
この場合、図11に示した無人移動機900のフラッシュメモリ913bは、動作モードを識別する動作モードIDと、当該動作モードの制限速度を表す情報、及び、制限加速度を表す情報と、が対応付けられて予め保存されている複数のレコードを有する不図示のテーブルを予め記憶していても良い。
また、無人移動機900の制御装置910が備えるCPU911は、図12のステップS22において、取得部110によって取得された運搬制御情報から動作モード情報を取得し、取得された動作モード情報に含まれる動作モードIDと対応付けられた制限速度を表す情報、及び、制限加速度を表す情報を、不図示のテーブルから取得しても良い。その後、CPU911は、取得された情報で表される制限加速度よりも小さい加速度で加速等しながら、制限速度よりも遅い速度で水平飛行等することで運搬ルートを順行させる制御信号を生成して出力しても良い。
<実施例1の変形例2>
実施例1では、図2に示した制御装置100のCPU101は、図3に示した運搬制御処理を実行することで、物品の特性に基づいて決定された動作モードを表す動作モード情報を含み、かつ、無人移動機900に運搬ルートを当該動作モードで移動させる、運搬制御情報を生成する生成部130として機能すると説明した。
しかし、これに限定される訳では無く、本変形例に係る制御装置100のCPU101は、図13に示すような運搬制御処理を実行する。これにより、CPU101は、図14に示すようなルート決定部121で決定された運搬ルートを無人移動機900が移動して物品を運搬する運搬時間を、取得部110で取得された運搬物品情報で表される物品の特性に基づいて決定するスケジュール決定部123として機能する。また、CPU101は、スケジュール決定部123で決定された運搬時間を表す運搬時間情報を含み、かつ、無人移動機900に運搬ルートを運搬時間内に移動させる、運搬制御情報を生成する生成部130として機能する。
本変形例に係る制御装置100の取得部110及びルート決定部121は、図13の運搬制御処理の実行が開始されると、図3のステップS01からS04と同様の処理を実行することで(ステップS31からS34)、運搬される物品に関する運搬物品情報を取得し、運搬物品情報で表される物品の特性に基づいて運搬ルートを決定する。
次に、スケジュール決定部123は、情報記憶部190が予め記憶している基準の速度を表す情報を取得し、無人移動機900に設定する移動速度を表す変数の値を、予め定められた基準の速度で初期化する。無人移動機900の移動速度は、上昇時、水平飛行時、及び、下降時における無人移動機900の対地速度又は対気速度、並びに、方向変更時における無人移動機900の進行方向の方位角が変化する角速度を含む。
次に、スケジュール決定部123は、移動速度を表す変数の値を、運搬物品情報に含まれる特性情報に基づいて変更する。このために、スケジュール決定部123は、特性情報が、弱い衝撃耐性を表す特性情報を表す場合に、移動速度を表す変数の値を、基準の速度よりも遅い速度に変更する。スケジュール決定部123がこのような変更を行うのは、無人移動機900が基準の速度よりも遅い速度で移動する場合の方が、基準の速度で移動する場合よりも、回避行動や方向変更により物品に作用する慣性力が小さくなるためである。
これに対して、スケジュール決定部123は、特性情報が、強い衝撃耐性を表す特性情報を表す場合に、移動速度を表す変数の値を、基準の速度よりも早い速度に変更する。スケジュール決定部123がこのような変更を行うのは、無人移動機900が基準の速度よりも速い速度で移動する場合の方が、基準の速度で移動する場合よりも運搬効率が良いためである。
さらに、スケジュール決定部123は、特性情報が基準の衝撃耐性を表す場合に、設定速度を表す変数の値を変更しない。
次に、スケジュール決定部123は、変更後の移動速度で運搬ルートの総運搬距離を除算することで、無人移動機900のスケジュールとして、無人移動機900が運搬ルートを移動して物品を運搬する運搬時間を決定する(ステップS35)。
その後、生成部130は、ステップS34で決定された運搬ルートを表す運搬ルート情報と、ステップS35で決定された運搬時間を表すスケジュール情報と、を含み、かつ、無人移動機900に当該運搬ルートを当該運搬時間内に移動させる、運搬制御情報を生成する(ステップS36)。
その後、制御部140は、図3のステップS07と同様の処理を実行することで運搬制御情報を出力した後に(ステップS37)、運搬制御処理の実行を終了する。
本変形例に係る無人移動機900のフラッシュメモリ913bは、図8に示した動作モードテーブルを予め記憶している。本変形例に係る無人移動機900の通信回路914が、制御装置100から運搬制御情報を受信すると、無人移動機900のCPU911は、図15に示すような移動制御処理を実行する。
CPU911は、移動制御処理の実行を開始すると、通信回路914から、運搬ルート情報と、スケジュール情報と、を含む運搬制御情報を取得する(ステップS41)。
次に、無人移動機900のCPU911は、運搬ルート情報で表される運搬ルートの総運搬距離を、スケジュール情報で表される運搬時間で除算することで、当該運搬時間内に当該運搬ルートを移動できる最も遅い速度を算出する。その後、CPU911は、算出された速度よりも速く、かつ、最も遅い制限速度を表す動作モード情報を、図8の動作モードテーブルから取得する。その後。CPU911は、取得された動作モード情報で表される動作モードを、無人移動機900が運搬ルートを移動する際の挙動に係る動作モードとして決定する(ステップS42)。
その後、無人移動機900のCPU911は、図12のステップS22からS25と同様の処理を実行することで(ステップS43からS46)、決定された動作モードで物品を宛先まで運搬した後に、移動制御処理の実行を終了する。
これらの構成によれば、制御装置100のスケジュール決定部123は、取得部110で取得された運搬物品情報で表される物品の特性に基づいて、無人移動機900が運搬ルートを移動して物品を運搬する運搬時間を決定する。また、制御装置100の生成部130は、スケジュール決定部123で決定された運搬時間を表す運搬時間情報を含み、かつ、無人移動機900に運搬ルートを当該運搬時間内に移動させる、運搬制御情報を生成する。このため、制御装置100は、物品の特性により適した速度で無人移動機900を移動させる運搬制御情報を生成できる。
また、制御装置100のスケジュール決定部123は、運搬物品情報が、より弱い衝撃にしか耐えられないという耐衝撃性を表す場合に、運搬時間をより長く決定する。これに対して、スケジュール決定部123は、運搬物品情報が、より強い衝撃に物品が耐えられるという耐衝撃性を表す場合に、運搬時間をより短く決定する。これらのため、制御装置100は、衝撃によって物品の状態が変化することを抑制しながら、物品の運搬効率を向上させることができる。
<実施例1の変形例3>
実施例1では、図2に示した制御装置100のCPU101は、図3に示した運搬制御処理を実行することで、物品の特性に基づいて決定された動作モードを表す動作モード情報を含み、かつ、無人移動機900に運搬ルートを当該動作モードで移動させる、運搬制御情報を生成するとして機能すると説明した。
しかし、これに限定される訳では無く、本変形例に係る制御装置100のCPU101は、図13に示すような運搬制御処理を実行する。これにより、CPU101は、図14に示すようなルート決定部121で決定された運搬ルートを無人移動機900が移動して物品を運搬し終える終了時刻を、取得部110で取得された運搬物品情報で表される物品の特性に基づいて決定するスケジュール決定部123として機能する。また、CPU101は、スケジュール決定部123で決定された終了時刻を表すスケジュール情報を含み、かつ、無人移動機900に運搬ルートを終了時刻までに移動させる、運搬制御情報を生成する生成部130として機能する。
図13の運搬制御処理の実行が開始されると、実施例1の変形例2で説明したステップS31からS34と同様の処理が実行される(ステップS31からS34)。これにより、本変形例に係る制御装置100の取得部110及びルート決定部121は、運搬される物品に関する運搬物品情報を取得し、運搬物品情報で表される物品の特性に基づいて運搬ルートを決定する。
次に、スケジュール決定部123は、実施例1の変形例2で説明したステップS35と同様の処理を実行することで、運搬物品情報で表される物品の特性と、決定された運搬ルートと、に基づいて、無人移動機900が当該運搬ルートを移動して物品を運搬する運搬時間を決定する。次に、スケジュール決定部123は、例えば、OS(Operating System)が管理するシステム時刻を取得し、物品の運搬スケジュールとして、システム時刻に運搬時間を加算した時刻を終了時刻に決定する(ステップS35)。
その後、生成部130は、ステップS35で決定された終了時刻を表すスケジュール情報と、ステップS34で決定された運搬ルートを表す運搬ルート情報と、を含み、かつ、無人移動機900に当該運搬ルートを終了時刻までに移動させる、運搬制御情報を生成する(ステップS36)。
その後、制御部140は、図3のステップS07と同様の処理を実行することで運搬制御情報を出力した後に(ステップS37)、運搬制御処理の実行を終了する。
本変形例に係る無人移動機900のフラッシュメモリ913bは、図8に示した動作モードテーブルを予め記憶している。本変形例に係る無人移動機900の通信回路914が、制御装置100から運搬制御情報を受信すると、無人移動機900のCPU911は、図15に示した移動制御処理を実行する。
CPU911は、移動制御処理の実行を開始すると、通信回路914から、運搬ルート情報と、スケジュール情報と、を含む運搬制御情報を取得する(ステップS41)。
次に、無人移動機900のCPU911は、例えば、OSが管理するシステム時刻を取得する。その後、CPU911は、取得されたスケジュール情報で表される終了時刻から、取得されたシステム時刻を減算することで、取得された運搬ルート情報で表される運搬ルートを無人移動機900が物品を運搬する運搬時間を算出する。
その後、無人移動機900のCPU911は、実施例1の変形例2で説明した処理と同様の処理を行うことで、運搬ルート情報で表される運搬ルートの総運搬距離と、算出された運搬時間と、図8の動作モードテーブルと、を用いて、動作モードを決定する(ステップS42)。
その後、無人移動機900のCPU911は、図12のステップS22からS25と同様の処理を実行することで(ステップS43からS46)、決定された動作モードで物品を宛先まで運搬した後に、移動制御処理の実行を終了する。
これらの構成によれば、制御装置100のスケジュール決定部123は、取得部110で取得された運搬物品情報で表される特性に基づいて、無人移動機900が物品を運搬し終える終了時刻を決定する。このため、制御装置100は、運搬される物品の特性により適した速度で無人移動機900が移動した場合に、無人移動機900が物品の運搬を終了できる時刻に終了時刻を決定できる。
また、制御装置100の生成部130は、スケジュール決定部123で決定された終了時刻を表すスケジュール情報を含み、かつ、無人移動機900に運搬ルートを終了時刻までに移動させる、運搬制御情報を生成する。このため、制御装置100は、物品の特性により適した速度で無人移動機900を移動させる運搬制御情報を生成できる。
<実施例1の変形例4>
実施例1では、運搬される物品に関する情報である運搬物品情報は、図4に示したように、運搬される物品の物品ID、当該物品の宛先を表す宛先情報、及び、当該物品の特性を表す特性情報を含むと説明した。また、図2に示した制御装置100のCPU101は、図3に示した運搬制御処理を実行することで、物品の特性に基づいて決定された動作モードを表す動作モード情報を含み、かつ、無人移動機900に運搬ルートを当該動作モードで移動させる、運搬制御情報を生成する生成部130として機能すると説明した。
しかし、これに限定される訳では無く、本変形例に係る運搬物品情報は、図16に示すように、運搬される物品の物品ID、宛先情報、及び、特性情報と、当該物品の配達時間帯として指定された指定時間帯を表す指定時間帯情報と、を含む。
また、本変形例に係る制御装置100のCPU101は、図13に示すような運搬制御処理を実行することにより、取得部110で取得された運搬物品情報で表される物品の特性と指定時間帯とに基づいて、無人移動機900が当該物品を運搬し始める開始時刻を決定する、図14に示すようなスケジュール決定部123として機能する。また、CPU101は、スケジュール決定部123によって決定された開始時刻に、無人移動機900に移動を開始させ、かつ、運搬物品情報で表される指定時間帯に含まれる時刻に、無人移動機900に運搬ルートの移動を完了させる運搬制御情報を生成する生成部130として機能する。生成部130が生成する運搬制御情報には、当該運搬ルートを表す運搬ルート情報と、当該開始時刻及び当該指定時間帯を表すスケジュール情報と、が含まれる。
本変形例に係る取得部110は、図13の運搬制御処理の実行が開始されると、図3のステップS01と同様に、不図示の二次元コードリーダーから入力ポート108を介して入力された信号に基づいて、物品IDと、当該物品IDで識別される物品を販売した会社又は営業所を運営する会社によって管理される不図示のサーバのURLと、を取得する。その後、取得部110は、読み出したURL及び取得した物品IDを含み、当該物品IDで識別される物品の宛先情報及び種類情報と、配達のために当該物品の運搬を終わらせる時間帯として指定された指定時間帯を表す指定時間帯情報と、を含む配達情報を送信するように求めるリクエストを生成し、図2に示した通信回路104へ出力する。
その後、取得部110は、通信回路104から配達情報を取得し、取得された配達情報に含まれる種別情報に対応付けられた特性情報を、図6の特性テーブルから取得する。また、取得部110は、物品IDと、配達情報に含まれる宛先情報及び指定時間帯情報と、特性テーブルから取得した特性情報と、を、運搬物品情報として扱う(ステップS31)。
次に、実施例1の変形例2で説明したステップS32からS34と同様の処理が実行されることで(ステップS32からS34)、運搬ルートが決定される。
次に、スケジュール決定部123は、実施例1の変形例2で説明したステップS35と同様の処理を実行することで、運搬物品情報で表される物品の特性と、当該物品を運搬される運搬ルートと、に基づいて、無人移動機900が運搬ルートを移動して物品を運搬する運搬時間を決定する(ステップS35)。
次に、スケジュール決定部123は、ステップS31で取得された指定時間帯情報で表される指定時間帯に含まれる時刻をランダムに又は予め定められた規則に従って選択し、選択された時刻よりも運搬時間だけ早い時刻を、無人移動機900が物品を運搬し始める開始時刻に決定する。その後、生成部130は、決定された開始時刻と、ステップS31で取得された運搬物品情報で表される指定時間帯と、を表すスケジュール情報を生成する。次に、生成部130は、生成されたスケジュール情報と、ステップS34で決定された運搬ルートを表す運搬ルート情報と、を含み、無人移動機900に移動を当該開始時刻に開始させ、かつ、無人移動機900に運搬ルートの移動を当該指定時間帯に含まれる時刻に完了させる、運搬制御情報を生成する(ステップS36)。
その後、制御部140は、図3のステップS07と同様の処理を実行することで運搬制御情報を出力した後に(ステップS37)、運搬制御処理の実行を終了する。
本変形例に係る無人移動機900のフラッシュメモリ913bは、図8に示した動作モードテーブルを予め記憶している。本変形例に係る無人移動機900の通信回路914が、制御装置100から運搬制御情報を受信すると、無人移動機900のCPU911は、図15に示した移動制御処理を実行する。
CPU911は、移動制御処理の実行を開始すると、通信回路914から、運搬ルート情報と、スケジュール情報と、を含む運搬制御情報を取得する(ステップS41)。
次に、無人移動機900のCPU911は、取得されたスケジュール情報で表される指定時間帯の終了時刻から開始時刻を減算する。これにより、CPU911は、指定時間帯に含まれる時刻に無人移動機900が運搬を完了できるように、無人移動機900が、取得された運搬ルート情報で表される運搬ルートを最も遅く移動した場合の運搬時間である最長運搬時間を算出する。
その後、無人移動機900のCPU911は、実施例1の変形例2で説明した処理と同様の処理を実行することで、運搬ルートの総運搬距離と、算出された最長運搬時間と、図8の動作モードテーブルと、を用いて、動作モードを決定する(ステップS42)。
その後、CPU911は、システム時刻を取得し、取得したシステム時刻と、運搬の開始時刻と、の差異が予め定められた時間よりも短い時間であるか否かに基づいて、開始時刻が到来したか否かを判別する。このとき、CPU911は、システム時刻と開始時刻との差異が予め定められた時間以上長い時間であるため、運搬の開始時刻が到来していないと判別すると、予め定められた時間に亘ってスリープした後に、システム時刻を取得する処理から上記処理を繰り返す。
これに対して、CPU911は、システム時刻と開始時刻との差異が予め定められた時間より短い時間であると判別すると、開始時刻が到来したと判別する。その後、CPU911は、図12のステップS22からS25と同様の処理を実行することで(ステップS43からS46)、決定された動作モードで物品を宛先まで運搬した後に、移動制御処理の実行を終了する。
これらの構成によれば、制御装置100の取得部110によって取得される運搬物品情報は、物品の特性と、当該物品の運搬を終了させる時間帯として指定された指定時間帯と、を表す。また、制御装置100のスケジュール決定部123は、取得部110で取得された運搬物品情報で表される特性と指定時間帯とに基づいて、無人移動機900が物品を運搬し始める開始時刻を決定する。このため、制御装置100は、運搬される物品の特性により適した速度で無人移動機900が移動した場合に、無人移動機900が物品の運搬を指定時間帯に含まれる時刻に終了できる、運搬の開始時刻を決定できる。
また、これらの構成によれば、制御装置100の生成部130は、スケジュール決定部123で決定された開始時刻と、取得部110によって取得された運搬物品情報で表される指定時間帯と、を表すスケジュール情報を含み、かつ、無人移動機900を当該開始時刻に移動を開始させ、かつ、無人移動機900に運搬ルートの移動を当該指定時間帯に含まれる時刻に完了させる、運搬制御情報を生成する。このため、制御装置100は、物品の特性により適した速度で無人移動機900を移動させる運搬制御情報を生成できる。
<実施例1の変形例5>
実施例1では、無人移動機900は、物品を囲持する、図10に示したような第1囲持枠941aと第2囲持枠941bとを備えると説明したが、これに限定される訳では無い。
本変形例に係る無人移動機900は、第1囲持枠941aと第2囲持枠941bとに代えて、図17に示すような、物品を掴持するグリッパー960と、グリッパー960を吊り下げるワイヤー970と、図10に示した無人移動機900の制御装置910の下面に設置されており、ワイヤー970の巻き上げ及び巻き下げを行うウインチ980と、を備える。
グリッパー960は、不図示のモータによって略平行に開閉させられる2本の爪961と、爪961の先端に光軸が向けられた撮像装置962と、を備える。不図示のモータは、不図示のケーブルを介して制御装置910に接続されており、制御装置910から出力される信号に従って駆動する。撮像装置962は、デジタル式のステレオカメラであり、不図示のケーブルを介して制御装置910に接続されており、制御装置910から出力される信号に応じて撮像を行った後、互いに視差を有する2つの撮像画像を表す情報を制御装置910へ出力する。撮像装置962がこのような情報を制御装置910へ出力するのは、制御装置910が、視差に基づいてグリッパー960に掴持させる物品の3次元空間における位置座標及びサイズ等を特定するためである。グリッパー960は、3本以上の爪961を備えても良いし、ワイヤー970が不図示のケーブルとして機能しても良い。
ウインチ980は、ワイヤー970が巻き付けられるドラム981と、ドラム981の両側面から外側へ略水平方向に突出した突出部982を軸支する支持部材983と、ワイヤー970が巻き上げられる巻上方向及び巻き下げられる巻下方向にドラム981を回転させる不図示のモータと、を備える。不図示のモータは、不図示のケーブルを介して制御装置910に接続されており、制御装置910から出力される信号に従って駆動する。
図10に示した無人移動機900の制御装置910を下面から支持する支持脚943の鉛直方向の長さは、本変形例において、制御装置910の下面に設置されたウインチ980及びウインチ980から吊り下げられたグリッパー960の鉛直方向の長さの和よりも予め定められた長さLだけ長く設計されている。このように支持脚943が設計されているのは、ウインチ980がワイヤー970を巻き切っている巻切状態で無人移動機900が着地した場合に、グリッパー960が着地点の地面又は床に衝突することを防止するためである。
図11に示した制御装置910の入出力ポート918は、グリッパー960が備える撮像装置962と接続された不図示のケーブルに接続されており、CPU911が出力する信号を撮像装置962に出力し、撮像装置962が出力する信号をCPU911へ入力する。
駆動回路919は、グリッパー960が備える不図示のモータ、及び、ウインチ980が備える不図示のモータにそれぞれ接続された不図示のケーブルに接続されている。駆動回路919は、CPU911が出力する信号に従って、グリッパー960及びウインチ980がそれぞれ備える不図示のモータを駆動させる。
本変形例に係る無人移動機900は、グリッパー960及びウインチ980を用いて、3つの受渡方法の内の1つで物品を受け渡す。1番目の受渡方法は、ウインチ980を巻切状態にして、無人移動機900が物品の宛先に着地した後に、物品を握持しているグリッパー960の爪961を開くことで、物品を受け渡す着地受渡方法である。
この着地受渡方法では、物品は、長さLに応じた衝撃を受ける。本変形例では、長さLは、基準の衝撃耐性を有する物品及び強い衝撃耐性を有する物品が自由落下して、例えば、アスファルト又はコンクリート製の床若しくは地面に衝突した場合に、当該物品の状態が変化しない又は変化し難い長さに予め定め設定されているとして説明を行う。また、本変形例では、長さLは、弱い衝撃耐性を有する物品が自由落下して床又は地面に衝突した場合に、当該物品の状態が変化する又は変化し易い長さにも予め設定されているとして説明を行う。
2番目の受渡方法は、ウインチ980を巻切状態にして、無人移動機900が、予め定められた高度Hを、例えば、ホバリング飛行又は旋回飛行しながら、グリッパー960の爪961を開くことで、グリッパー960に握持されていた物品を宛先に投下する投下受渡方法である。本変形例では、高度Hは、強い衝撃耐性を有する物品が自由落下して床又は地面に衝突した場合に、当該物品の状態が変化しない又は変化し難い高さに予め設定されているとして説明を行う。また、本変形例では、高度Hは、弱い衝撃耐性又は基準の衝撃耐性を有する物品が自由落下して床又は地面に衝突した場合に、当該物品の状態が変化する又は変化し易い高さにも予め設定されているとして説明を行う。
3番目の受渡方法は、無人移動機900が、予め定められた高度をホバリング飛行しながら、ウインチ980でワイヤー970を巻き下げることで、物品を予め定められた速度Vで吊り下ろした後に、物品が床又は地面に接してから、若しくは、受取人によって保持されてからグリッパー960の爪961を開く吊下受渡方法である。本変形例では、速度Vは、弱い衝撃耐性、基準の衝撃耐性、又は、強い衝撃耐性を有する物品が床又は地面に衝突した場合に、当該物品の状態が変化しない又は変化し難い速度に予め設定されているとして説明を行う。
このように、弱い衝撃耐性を有する物品は、着地受渡方法及び投下受渡方法で受け渡されると、物品の状態が変化する又は変化し易いが、吊下受渡方法で受け渡されると、物品の状態が変化しない又は変化し難い。このため、弱い衝撃耐性を有する物品の受渡方法として、吊下受渡方法が適切である。
また、基準の衝撃耐性を有する物品は、投下受渡方法で受け渡されると、物品の状態が変化する又は変化し易いが、着地受渡方法又は吊下受渡方法で受け渡されると、物品の状態が変化しない又は変化し難い。本変形例では、着地受渡方法の方が、単位時間当たりに無人移動機900が受け渡すことができる物品の量で表される受渡効率が、吊下受渡方法よりも良いとして説明を行うが、これに限定される訳では無く、吊下受渡方法の方が、着地受渡方法よりも受渡効率が良いとしても良い。
さらに、強い衝撃耐性を有する物品は、着地受渡方法、投下受渡方法、及び、吊下受渡方法のいずれで受け渡されても、物品の状態が変化しない又は変化し難い。しかし、投下受渡方法では、無人移動機900が着地する必要が無く、かつ、グリッパー960を吊り下ろす必要がないので、投下受渡方法の方が、着地受渡方法及び吊下受渡方法よりも受渡効率が良い。
本変形例に係る制御装置100のCPU101は、物品を運搬した後に、3つの受渡方法のいずれか1つで物品を受け渡す、図18に示すような運搬制御処理を実行する。これにより、CPU101は、運搬される物品の特性に基づいて、無人移動機900による物品の受渡方法を決定する、図19に示すような受渡方法決定部124として機能する。また、CPU101は、受渡方法決定部124で決定された受渡方法を表す受渡方法情報を含み、かつ、決定された当該受渡方法で無人移動機900に物品を受け渡させる、運搬制御情報を生成する生成部130として機能する。
また、情報記憶部190は、受渡方法に関する情報が保存された、図20に示すような受渡方法テーブルを予め記憶している。受渡方法テーブルの1番目のレコードには、物品の特性として基準の衝撃耐性を表す特性情報と、基準の衝撃耐性を有する物品に適した受渡方法の内で、最も受渡効率が高い着地受渡方法を表す受渡方法情報と、が予め対応付けられて保存されている。また、2番目のレコードには、強い衝撃耐性を表す特性情報と、強い衝撃耐性を有する物品に適した受渡方法の内で、最も受渡効率が高い投下受渡方法を表す受渡方法情報と、が予め対応付けられて保存されている。さらに、3番目のレコードには、弱い衝撃耐性を表す特性情報と、弱い衝撃耐性を有する物品に適した吊下受渡方法を表す受渡方法情報と、が予め対応付けられて保存されている。
図18の運搬制御処理の実行が開始されると、取得部110は、図3のステップS01と同様の処理を実行することで、運搬される物品の宛先を表す宛先情報及び特性を表す特性情報を含む運搬物品情報を取得する(ステップS51)。
次に、受渡方法決定部124は、図20の受渡方法テーブルから、運搬物品情報に含まれる特性情報に対応付けられた受渡方法情報を取得し、取得された受渡方法情報で表される受渡方法を、無人移動機900による物品の受渡方法として決定する(ステップS52)。
その後、生成部130は、決定された受渡方法を表す受渡方法情報と、ステップS51で取得された運搬物品情報に含まれる宛先情報と、を含み、かつ、決定された当該受渡方法で無人移動機900に物品を受け渡させる、運搬制御情報を生成する(ステップS53)。
その後、制御部140は、図3のステップS07と同様の処理を実行することで運搬制御情報を出力した後に(ステップS54)、運搬制御処理の実行を終了する。
本変形例に係る無人移動機900のフラッシュメモリ913bは、図7に示した部分ルートテーブルを予め記憶している。本変形例に係る無人移動機900の通信回路914が、制御装置100から運搬制御情報を受信すると、無人移動機900のCPU911は、図21に示すような移動制御処理を実行する。
CPU911は、移動制御処理の実行を開始すると、通信回路914から、宛先情報と、受渡方法情報と、を含む運搬制御情報を取得する(ステップS61)。
次に、無人移動機900のCPU911は、フラッシュメモリ913bに記憶された、図7の部分ルートテーブルを参照して、図3のステップS02と同様の処理を実行する。これにより、CPU911は、営業所から宛先情報で表される宛先までの複数のルートの内で、最短のルートを運搬ルートとして決定する(ステップS62)。
その後、CPU911は、図12のステップS22及びS23と同様の処理を実行することで(ステップS63及びS64)、運搬ルートを順行して宛先に到着する。その後、CPU911は、運搬制御情報に含まれる受渡方法情報で表される受渡方法で物品を受け渡させる制御信号を生成して出力する(ステップS65)。
受渡方法情報で表される受渡方法が着地受渡方法である場合、CPU911は、ウインチ980を巻切状態にさせる制御信号を生成し、生成された制御信号を、ウインチ980が備える不図示のモータに不図示のケーブルを介して接続された駆動回路919に出力する。このような制御信号をCPU911が出力するのは、着地の際にグリッパー960が着地点の地面又は床に接触して、グリッパー960が掴持する物品に衝撃が加わることを防止するためである。
次に、CPU911は、無人移動機900を着地させるようにプロペラ931から934を制御する制御信号を生成して駆動回路919へ出力する。その後、CPU911は、グリッパー960の爪961を開かせる制御信号を生成して駆動回路919に出力することで、着地受渡方法に従った受け渡しを完了する。
また、受渡方法情報で表される受渡方法が投下受渡方法である場合、CPU911は、ウインチ980を巻切状態にさせる制御信号を生成して駆動回路919に出力する。次に、CPU911は、フラッシュメモリ913bから高度Hを表す情報を読み出し、読み出された情報で表される高度Hを、例えば、ホバリング飛行又は旋回飛行させるようにプロペラ931から934を制御する制御信号を生成して駆動回路919へ出力する。その後、CPU911は、グリッパー960の爪961を開かせる制御信号を生成して駆動回路919に出力することで、投下受渡方法に従った受け渡しを完了する。
さらに、受渡方法情報で表される受渡方法が吊下受渡方法である場合、CPU911は、高度Hをホバリング飛行させる制御信号を生成して駆動回路919へ出力した後に、撮像を命じる信号を、入出力ポート918を介して、グリッパー960が備える撮像装置962へ出力する。その後、CPU911は、入出力ポート918を介して、撮像装置962から出力された撮像画像を表す情報を取得する。
その後、取得された情報で表される撮像画像の視差に基づいて、グリッパー960に握持された物品から地面又は床、若しくは、受取人の手までの距離を算出する。次に、CPU911は、フラッシュメモリ913bから予め定められた距離lを表す情報を読み出し、読み出した情報で表される距離lよりも、算出された距離が短いか否かを判別する。
CPU911は、算出された距離が距離l以上であると判別すると、物品が地面又は床に接触しておらず、かつ、受取人によって保持されていないと判別する。その後、CPU911は、グリッパー960が速度Vで距離lだけ降下するようにウインチ980のドラム981を回転させる制御信号を生成して駆動回路919へ出力する。その後、CPU911は、算出された距離が距離lよりも短いと判別するまで、撮像を命じる信号を出力する処理から上記処理を繰り返す。
CPU911は、算出された距離が距離lよりも短いと判別すると、グリッパー960に握持された物品が地面又は床に接している、若しくは、受取人によって保持されていると判別する。その後、CPU911は、グリッパー960の爪961を開かせる制御信号を生成して駆動回路919に出力することで、吊下受渡方法に従った受け渡しを完了する。
その後、CPU911は、図12のステップS25と同様の処理を実行することで(ステップS66)、運搬ルートを逆行して帰還させる制御信号を駆動回路919へ出力した後に、移動制御処理の実行を終了する。
これらの構成によれば、制御装置100の受渡方法決定部124は、取得部110で取得された運搬物品情報で表される物品の特性に基づいて、無人移動機900による当該物品の受渡方法を決定する。また、制御装置100の生成部130は、受渡方法決定部124で決定された受渡方法を表す受渡方法情報を含み、かつ、決定された当該受渡方法で無人移動機900に物品を受け渡させる、運搬制御情報を生成する。これらのため、制御装置100は、物品の特性により適した受渡方法で無人移動機900に当該物品を受け渡させる運搬制御情報を生成できる。
<実施例1の変形例6>
実施例1では、運搬システム1は、制御装置100と、1台の無人移動機900と、を備えると説明したが、これに限定される訳ではない。本変形例に係る運搬システム1は、制御装置100と、図22に示すような複数台の無人移動機901から903を備える。
無人移動機901は、基準のサイズの無人航空機であり、図10に示したような予め定められた基準の枚数である4枚のプロペラ931から934を有している。また、無人移動機901のプロペラ931から934は、予め定められた基準の距離だけ互いに離れた位置に設置されている。さらに、無人移動機901は、予め定められた基準の質量を有している。
これに対して、無人移動機902は、基準のサイズよりも大きいサイズの無人航空機であり、基準の枚数よりも多い枚数のプロペラを有しており、プロペラ間の距離は、基準の距離よりも長く、かつ、無人移動機902の質量は、基準の質量よりも多い。また、無人移動機903は、基準のサイズよりも小さいサイズの無人航空機であり、基準の枚数よりも少ない枚数のプロペラを有しており、プロペラ間の距離は、基準の距離よりも短く、かつ、無人移動機902の質量は、基準の質量よりも少ない。
ここで、無人移動機が飛行する際に無人移動機に生じる揺れは、プロペラの枚数がより多い程、プロペラ間の距離がより長い程、及び、質量がより多い程、より小さい。このため、無人移動機901及び902が同じ動作モードで飛行した場合、無人移動機901の揺れの方が、無人移動機902の揺れよりも大きく、無人移動機901の挙動の安定性は、無人移動機902の挙動の安定性よりも低い。同じ理由から、無人移動機901の挙動の安定性は、無人移動機903の挙動の安定性よりも高い。
本変形例では、無人移動機901の揺れによって物品に加えられる平均的な衝撃は、弱い衝撃耐性を有する物品の状態を変化させる又は変化させる可能性が高いが、基準の衝撃耐性及び強い衝撃耐性を有する物品の状態を変化させない又は変化させる可能性が低いとして説明する。また、本変形例では、無人移動機902の揺れによって物品に加えられる平均的な衝撃は、弱い衝撃耐性、基準の衝撃耐性、及び、強い衝撃耐性を有する物品の状態を変化させない又は変化させる可能性が低いとして説明する。さらに、無人移動機903の揺れによって物品に加えられる平均的な衝撃は、弱い衝撃耐性又は基準の衝撃耐性を有する物品の状態を変化させる又は変化させる可能性が高いが、強い衝撃耐性を有する物品の状態を変化させない又は変化させる可能性が低いとして説明する。
ここで、無人移動機が単位距離を飛行するために要するコストは、質量がより多い程、より大きい。このため、無人移動機901から903が、同じ動作モードで、同じ距離を飛行して物品を運搬した場合、無人移動機901の運搬コストを基準のコストとすると、無人移動機902の運搬コストは、基準のコストよりも大きく、無人移動機903の運搬コストは、基準のコストよりも小さい。
本変形例に係る制御装置100のCPU101は、無人移動機901から903のいずれかに物品を運搬させる、図23に示すような運搬制御処理を実行する。これにより、CPU101は、運搬される物品の特性に基づいて、当該物品を運搬させる無人移動機を、無人移動機901ないし903から決定する、図24に示すような無人機決定部125として機能する。
また、情報記憶部190は、無人移動機901から903に関する情報が保存された、図25に示すような無人移動機テーブルを予め記憶している。ここで、無人移動機901の揺れによって状態が変化しない又は変化する可能性が低い物品は、基準の衝撃特性及び強い衝撃特性という2種類の特性のいずれか1つを有する。このため、無人移動機テーブルの1番目及び2番目のレコードには、無人移動機901を識別する機体IDが保存されており、1番目のレコードには、基準の衝撃特性を表す特性情報が無人移動機901の機体IDと対応付けられており、かつ、2番目のレコードには、強い衝撃特性を表す特性情報が無人移動機901の機体IDと対応付けられている。本変形例では、無人移動機901を識別する機体IDとして、無人移動機901の通信回路914に割り当てられた通信アドレスが、1番目及び2番目のレコードに予め保存されているとして説明するが、これに限定される訳では無い。
また、1番目及び2番目のレコードの機体IDには、無人移動機901のサイズとして基準のサイズを表すサイズ情報と、無人移動機901の運搬コストとして基準のコストを表す運搬コスト情報と、がさらに対応付けられている。
同様に、無人移動機902の揺れによって状態が変化しない又は変化する可能性が低い物品は、弱い衝撃特性、基準の衝撃特性、及び、強い衝撃特性という3種類の特性のいずれか1つを有する。このため、無人移動機テーブルの3番目から5番目のレコードには、無人移動機902の機体IDが保存されており、3番目のレコードには、弱い衝撃特性を表す特性情報が、4番目のレコードには、基準の衝撃特性を表す特性情報が、5番目のレコードには、強い衝撃特性を表す特性情報が、無人移動機902の機体IDと対応付けられて予め保存されている。また、3番目から5番目のレコードの機体IDには、基準のサイズよりも大きいサイズを表すサイズ情報と、基準のコストよりも大きい運搬コストを表す運搬コスト情報と、が対応付けられて予め保存されている。
また同様に、無人移動機903の揺れによって状態が変化しない又は変化する可能性が低い物品は、強い衝撃特性という1種類の特性を有する。このため、無人移動機テーブルの6番目のレコードには、無人移動機903の機体IDと、基準のサイズよりも小さいサイズを表すサイズ情報と、強い衝撃特性を表す特性情報と、基準のコストよりも小さい運搬コストを表す運搬コスト情報と、が対応付けられて予め保存されている。
図23の運搬制御処理の実行が開始されると、制御装置100の取得部110は、図3のステップS01と同様の処理を実行することで、運搬される物品の宛先を表す宛先情報及び特性を表す特性情報を含む運搬物品情報を取得する(ステップS71)。
次に、無人機決定部125は、図25に示した無人移動機テーブルから、取得部110で取得された運搬物品情報に含まれる特性情報が保存されたレコードを1又は複数取得する。無人機決定部125は、レコードを1つだけ取得した場合、取得されたレコードに保存された機体IDで識別される無人移動機を、特性情報で表される特性を有する物品を運搬させる無人移動機として決定する。
これに対して、無人機決定部125は、レコードを複数取得した場合、取得された複数のレコードにそれぞれ保存された運搬コスト情報の内で、最も小さい運搬コストを表す運搬コスト情報に対応付けられた機体IDを取得する。その後、無人機決定部125は、取得された機体IDで識別される無人移動機を、特性情報で表される特性を有する物品を運搬させる無人移動機として決定する(ステップS72)。
その後、生成部130は、ステップS72で決定された無人移動機の機体IDと、ステップS71で取得された運搬物品情報に含まれる宛先情報を含み、かつ、決定された当該無人移動機に物品を運搬させる、運搬制御情報を生成する(ステップS73)。
その後、制御部140は、図3のステップS07と同様の処理を実行することで運搬制御情報を出力した後に(ステップS74)、運搬制御処理の実行を終了する。
本変形例に係る無人移動機901の構成及び機能は、無人移動機900の構成及び機能と同様である。無人移動機901の不図示の通信回路が、当該通信回路に割り当てられた通信アドレスである機体IDを含んだ運搬制御情報を受信すると、無人移動機901の不図示のCPUは、図21のステップS61からS64、図12のステップS24、及び、図21のステップS66と同様の処理を順に実行することで、物品の運搬を行う。無人移動機902及び903の構成及び機能は、無人移動機901の構成及び機能と同様である。
これらの構成によれば、制御装置100の無人機決定部125は、取得部110で取得された運搬物品情報で表される物品の特性に基づいて、物品を運搬させる無人移動機を、無人移動機901ないし903から決定する。また、制御装置100の生成部130は、無人機決定部125で決定された無人移動機を識別する機体IDを含み、かつ、決定された当該無人移動機に当該物品を運搬させる、運搬制御情報を生成する。これらのため、制御装置100は、物品の特性により適した無人移動機に物品を運搬させる運搬制御情報を生成できる。
また、これらの構成によれば、制御装置100の無人機決定部125は、運搬物品情報で表される物品の特性に基づいて、無人移動機901ないし903の内で、飛行に伴う揺れによって当該特性を有する物品に加えられる平均的な衝撃が、当該物品の状態を変化させない又は変化させる可能性が低い無人移動機を、当該物品を運搬させる無人移動機として決定する。このため、制御装置100は、物品の無人移動機による運搬によって物品の状態が変化することを抑制できる。
<実施例1の変形例7>
実施例1の変形例5と、実施例1の変形例6と、は、組み合わせることができる。本変形例に係る無人移動機901から903は、基準のサイズよりも大きいサイズである。また、本変形例に係る無人移動機902は、実施例1の変形例5に係る無人移動機900と同様に、第1囲持枠941aと第2囲持枠941bとに代えて、図17に示したような、物品を掴持するグリッパー960、ワイヤー970、及び、ウインチ980を備え、投下受渡方法、着地受渡方法、及び、吊下受渡方法で物品を受け渡すことができる。さらに、無人移動機901及び903は、実施例1の変形例6に係る無人移動機901及び903と同様に、第1囲持枠941aと第2囲持枠941bとを備えるが、グリッパー960、ワイヤー970、及び、ウインチ980を備えず、投下受渡方法及び着地受渡方法で物品を受け渡すことができるが、吊下受渡方法で物品を受け渡すことができない。
本変形例に係る情報記憶部190は、図20に示した受渡方法テーブルと、図26に示す無人移動機テーブルと、を予め記憶している。図26に示す無人移動機テーブルには、複数のレコードが予め保存されている。ここで、無人移動機901は、着地受渡方法及び投下受渡方法という2種類の受渡方法で物品を受け渡すことができる。このため、無人移動機テーブルの1番目及び2番目のレコードには、無人移動機901の機体IDが保存されており、1番目のレコードには、着地受渡方法を表す受渡方法情報が、2番目のレコードには、投下受渡方法を表す受渡方法情報が、無人移動機901の機体IDと、予め対応付けられて保存されている。
同様に、無人移動機902は、吊下受渡方法、着地受渡方法、及び、投下受渡方法という3種類の受渡方法で物品を受け渡すことができる。このため、3番目のレコードには吊下受渡方法を表す受渡方法情報が、4番目のレコードには着地受渡方法を表す受渡方法情報が、5番目のレコードには投下受渡方法を表す受渡方法情報が、無人移動機902の機体IDと予め対応付けられて保存されている。
さらに同様に、無人移動機903は、着地受渡方法及び投下受渡方法という2種類の受渡方法で物品を受け渡すことができる。このため、6番目のレコードには着地受渡方法を表す受渡方法情報が、7番目のレコードには投下受渡方法を表す受渡方法情報が、無人移動機903の機体IDと予め対応付けられて保存されている。
本変形例に係る制御装置100は、図23に示した運搬制御処理を実行する。運搬制御処理の実行が開始されると、取得部110は、宛先情報及び特性情報を含む運搬物品情報を取得する(ステップS71)。
次に、受渡方法決定部124は、図20の受渡方法テーブルから、ステップS71で取得された運搬物品情報に含まれる特性情報に対応付けられた受渡方法情報を取得することで、特性情報で表される物品の特性に適した受渡方法を決定する。その後、受渡方法決定部124は、図26の無人移動機テーブルから、取得された受渡方法情報に対応付けられたレコードを1又は複数取得することで、物品の特性に適した受渡方法を行える無人移動機の機体IDが保存されたレコードを1又は複数取得する。
受渡方法決定部124がレコードを1つだけ取得した場合、受渡方法決定部124は、取得されたレコードに保存された機体IDを取得し、取得された機体IDで識別される無人移動機を、決定された受渡方法で物品を受け渡すことができる無人移動機として決定する。これに対して、受渡方法決定部124がレコードを複数取得した場合、受渡方法決定部124は、取得された複数のレコードをランダムに又は予め定められた規則に従って1つ選択する。次に、受渡方法決定部124は、選択されたレコードに保存された機体IDを取得し、取得された機体IDで識別される無人移動機を、決定された受渡方法で物品を受け渡すことができる無人移動機として決定する(ステップS72)。
その後、生成部130は、ステップS71で取得された宛先情報と、ステップS72で決定された無人移動機を識別する機体ID及び受渡方法を表す受渡方法情報と、を含み、決定された当該無人移動機に、宛先情報で表される宛先まで物品を運搬させ、かつ、決定された受渡方法で当該物品を受け渡させる、運搬制御情報を生成する(ステップS73)。
その後、制御部140は、生成部130によって生成された運搬制御情報を出力した後に(ステップS74)、運搬制御処理の実行を終了する。
本変形例に係る無人移動機901から903は、不図示の通信回路で、当該通信回路に割り当てられた通信アドレスである機体IDを含んだ運搬制御情報を受信すると、不図示のCPUで、図21に示した移動制御処理を実行する。これにより、無人移動機901から903は、運搬制御情報に含まれる宛先情報で表される宛先まで物品を運搬し、かつ、運搬制御情報に含まれる受渡方法情報で表される受渡方法で当該物品を受け渡す。
これらの構成によれば、制御装置100の受渡方法決定部124は、取得部110で取得された運搬物品情報に含まれる特性情報で表される物品の特性に基づいて当該物品の受渡方法を決定し、無人機決定部125は、決定された受渡方法で当該物品を受け渡すことができる無人移動機を決定する。これらのため、制御装置100は、物品の特性により適した受渡方法を決定できるだけでなく、より適した受渡方法で物品を受け渡すことができる無人移動機も決定できる。
<実施例1の変形例8>
実施例1では、物品の特性は、当該物品の衝撃耐性を含むと説明したが、これに限定される訳では無い。本変形例では、物品の特性は、当該物品の温度管理の必要性を含む。
本変形例に係る情報記憶部190は、図27に示すような特性テーブルを予め記憶している。図27の特性テーブルには、複数のレコードが予め保存されており、各レコードには、物品の種類を表す種類情報と、当該種類に分類される複数の物品が共通して有する特性として温度管理の必要性を表す特性情報と、が対応付けられて予め保存されている。
特性テーブルの第1番目のレコードには、物品の種類「書籍」と、「書籍」に分類される複数の物品は、温度管理の必要性が無いことを表す特性情報「不要」と、が対応付けられている。温度管理の必要性が無いとは、物品の温度を管理する必要が全くないことだけでなく、例えば、摂氏5度から35度までの常温に物品の温度を保つ必要性があることも含む。
特性テーブルの第2番目のレコードには、物品の種類「生鮮食品」と、「生鮮食品」に分類される複数の物品は、冷蔵管理される必要性があることを表す特性情報「要冷蔵」と、が対応付けられている。物品を冷蔵管理するとは、物品の温度を、例えば、摂氏10度以下であり、かつ、物品が凍らない程度の低温に保つことを含む。
特性テーブルの第3番目のレコードには、物品の種類「冷凍食品」と、「冷凍食品」に分類される複数の物品は、冷凍管理される必要性があることを表す特性情報「要冷凍」と、が対応付けられている。物品を冷凍管理するとは、物品の温度を、例えば、摂氏−18度以下に保つことを含む。特性テーブルの第4番目のレコードには、物品の種類「アイスクリーム」と、特性情報「要冷凍」と、が対応付けられている。
本変形例では、無人移動機900の動作モードは、基準モードと、基準モードの制限速度よりも速い制限速度が無人移動機900に課せられ、かつ、基準モードの制限加速度よりも大きい加速度が課せられる高速モードと、を含む。
本変形例では、温度管理の必要性がある物品は、予め定められた温度まで冷却された、例えば、水を吸収させたポリアクリル酸ナトリウム等の不図示の保冷剤と共に、例えば、発砲プラスチック等の断熱材を樹脂でコーティングした不図示の保冷庫に保管された状態で、無人移動機900によって保冷庫と共に運搬される。物品の温度は、冷却された保冷剤と共に物品が保冷庫に保管された状態であっても時間の経過と共に上昇する。このため、温度管理の必要性がある物品を無人移動機900が搭載して運搬ルートを移動する際の挙動に係る動作モードは、基準モードよりも高速モードの方が適している。
これに対して、温度管理の必要性が無い物品を無人移動機900が搭載して運搬ルートを移動する際の挙動に係る動作モードは、基準モード及び高速モードの双方が適している。ここで、無人移動機900が単位距離を飛行するために要するコストは、速度がより速い程、より大きい。このため、基準モードの方が、高速モードよりも運搬コストが小さい。
これらのため、本変形例に係る情報記憶部190は、図28に示すような動作モードテーブルを予め記憶している。図28の動作モードテーブルの第1番目のレコードには、温度管理の必要性が無いことを表す特性情報と、温度管理の必要が無い物品を搭載した無人移動機900の動作モードとして適しているモードの内で、運搬コストがより小さい基準モードを表す動作モードと、が予め対応付けられている。また、第2番目のレコードには、冷蔵管理の必要性があることを表す特性情報と、冷蔵管理の必要性がある物品を搭載した無人移動機900の動作モードとして適している高速モードを表す動作モードと、が予め対応付けられている。さらに、第3番目のレコードには、冷凍管理の必要性があることを表す特性情報と、高速モードを表す動作モードと、が予め対応付けられている。
さらに、情報記憶部190は、図29に示すような部分ルートテーブルを予め記憶している。部分ルートテーブルの各レコードには、エッジの始点ノードの緯度及び経度、終点ノードの緯度及び経度、並びに、距離を表す情報と、当該エッジの日陰度を表す情報と、が対応付けられて予め保存されている。日陰度は、エッジに含まれる道の内で、例えば、建築物又は樹木によって、一日中、日光が遮られている道の割合をいう。
本変形例では、営業所に勤務する従業員は、物品が営業所に運び込まれると、制御装置100に接続された不図示の二次元コードリーダーを操作して、運び込まれた物品を梱包する段ボールに貼られた伝票から二次元コードを二次元コードリーダーに読み取らせる。
二次元コードリーダーから入力ポート108を介して信号が入力されると、制御装置100のCPU101は、図3に示した運搬制御処理の実行を開始する。運搬制御処理の実行が開始されると、取得部110は、二次元コードリーダーから入力された信号に基づいて、物品の宛先情報及び種類情報を含む配達情報を取得し、取得された配達情報を、図2に示した表示装置105bに表示させる。
営業所の従業員は、表示装置105bに表示された種類情報に基づいて、物品が温度管理される必要性があるか否かを判断する。従業員は、物品が温度管理される必要性があると判断すると、当該物品を梱包している段ボールと、冷却された保冷剤と、を保冷庫に入れてから、保冷庫を無人移動機900に搭載し、図2に示した入力装置105cを操作する。
従業員の操作に応じた信号が入力装置105cから出力されると、取得部110は、配達情報に含まれる種別情報に対応付けられた特性情報を、図27の特性テーブルから取得し、配達情報に含まれる宛先情報と、取得された特性情報と、を、運搬物品情報として扱う(図3のステップS01)。
次に、ルート決定部121は、運搬ルートのN個の候補を決定した後に(ステップS02)、図9に示した評価値算出処理を実行する(ステップS03)。
評価値算出処理の実行を開始すると、ルート決定部121は、変数nを値「1」で初期化する(ステップS11)。次に、ルート決定部121は、n番目の候補について、複数の評価値を算出する(ステップS12)。本変形例では、複数の評価値として、総運搬距離に基づく第1の評価値と、日陰度に基づく第2の評価値と、が算出されると説明するが、複数の評価値は、これらに限定される訳ではない。
ルート決定部121は、実施例1で説明した処理と同様の処理を実行することで、総運搬距離に基づく第1の評価値を算出する。次に、ルート決定部121は、日陰度に基づく第2の評価値を算出するために、n番目の候補に含まれるエッジを複数特定する。その後、ルート決定部121は、特定された複数のエッジの内で、日陰度を取得していないエッジの1つを注目エッジとし、図29の部分ルートテーブルから、注目エッジの始点ノードの緯度及び経度と、終点ノードの緯度及び経度と、に対応付けられた注目エッジの距離を表す情報と、日陰度を表す情報と、を取得する。その後、ルート決定部121は、取得された情報で表される注目エッジの日陰度に、注目エッジの距離を乗算することで、無人移動機900が注目エッジを移動する間に日陰を移動する距離である日陰移動距離を算出する。その後、ルート決定部121は、未注目のエッジが無くなるまで、未注目のエッジの1つに注目する処理から上記処理を繰り返す。
未注目のエッジが無くなると、ルート決定部121は、n番目の候補に含まれる複数のエッジの日陰移動距離の総和を算出し、算出した日陰移動距離の総和がより長い程、より高い値に第2の評価値を算出する。ルート決定部121が、このように第2の評価値を算出するのは、日陰移動距離の総和がより長い程、運搬ルートの移動中における物品の温度上昇を抑制できるからである。
本実施例において、ルート決定部121は、第2の評価値の算出方法として、日陰移動距離の総和を第2の評価値とする方法を用いると説明する。しかし、この方法に限定される訳では無く、ルート決定部121は、日陰移動距離の総和がより長い程、より高い正の値に第2の評価値を算出する方法であれば、どのような方法を用いても構わない。
ステップS12で複数の評価値を算出した後に、ルート決定部121は、複数の評価値の重み付けにそれぞれ用いられる複数の重付係数を正の初期値で初期化する(ステップS13)。その後、ルート決定部121は、運搬物品情報に含まれる特性情報が、温度管理の必要性が無いことを表す場合に、総運搬距離に基づく第1の評価値の重付係数を補正前よりも大きい値に補正し、日陰度に基づく第2の評価値の重付係数を補正しない。ルート決定部121が、総運搬距離に基づく第1の評価値の重付係数を補正前よりも大きい値に補正するのは、総運搬距離が短い運搬ルートの方が長い運搬ルートよりも運搬効率が高いためである。また、ルート決定部121が、日陰度に基づく第2の評価値の重付係数を補正しないのは、温度管理の必要性が無い物品の状態は、日光の照射により生じる輻射熱に影響を受けない又は殆ど受けないためである。
これに対して、ルート決定部121は、運搬物品情報に含まれる特性情報が、冷蔵管理又は冷凍管理の必要性があることを表す場合に、総運搬距離に基づく第1の評価値の重付係数を補正しないが、日陰度に基づく第2の評価値の重付係数を補正前よりも大きい値に補正する(ステップS14)。ルート決定部121が、日陰度に基づく第2の評価値の重付係数を補正前よりも大きい値に補正するのは、冷蔵管理又は冷凍管理の必要性がある物品の状態は、日光の照射により生じる輻射熱に影響を受ける又は受け易いためである。つまり、日陰の道をより多く含む運搬ルートの方が、そうでない運搬ルートよりも、日光の照射によって輻射熱が生じ難いため、冷蔵管理又は冷凍管理の必要性がある物品の運搬ルートとしてより適切だからである。
その後、ルート決定部121は、ステップS12で算出された複数の評価値を、ステップS14で補正された複数の重付係数で重み付けすることで、n番目の候補の総合評価値を算出する(ステップS15)。
その後、ルート決定部121は、変数nの値を「1」だけ増加させた後に(ステップS16)、変数nの値が、運搬ルートの候補の総数Nよりも大きくなるまでステップS12から上記処理を繰り返す。その後、ルート決定部121は、変数nの値が候補の総数Nより大きいと判別すると(ステップS17;Yes)、評価値算出処理の実行を終了する。
図3のステップS03で評価値算出処理が実行された後に、ルート決定部121は、最も高い総合評価値が算出された候補を運搬ルートに決定する(ステップS04)。
次に、動作モード決定部122は、図28の動作モードテーブルから、運搬物品情報に含まれる特性情報に対応付けられた動作モード情報を取得し、取得された動作モード情報で表される動作モードを、無人移動機900が物品を搭載して運搬ルートを移動する際の動作モードと決定する(ステップS05)。
その後、生成部130は、運搬ルート情報及び動作モード情報を含む運搬制御情報を生成し(ステップS06)、制御部140は、運搬制御情報を出力した後に(ステップS07)、運搬制御処理の実行を終了する。
無人移動機900は、運搬制御情報を制御装置100から受信すると、図12に示した移動制御処理を実行することで、物品の運搬を行う。
これらの構成によれば、物品の特性は、温度管理の必要性の有無を含む。また、制御装置100の制御部140は、特性情報で表される特性に基づいて生成された運搬制御情報に基づいて、無人移動機900に物品を運搬させる制御を行う。このため、制御装置100は、温度管理の必要性の有無により適した運搬を無人移動機900にさせることができる。
また、制御装置100のルート決定部121は、運搬物品情報が温度管理の必要性があることを表す場合に、運搬物品情報が温度管理の必要性が無いことを表す場合と比べて、日陰の割合がより多いルートを運搬ルートとして決定する。このため、制御装置100は、温度管理の必要性がある物品の状態が、日光の照射により、運搬前の状態と異なる状態に変化することを抑制できる。
温度管理の必要性がある物品の状態が変化するとは、冷蔵管理される必要性がある物品の温度が、例えば、摂氏10度以下であり、かつ、物品が凍らない程度の低温であった状態から、摂氏10度よりも高温又は物品が凍る程度の低温の状態に変化することを含む。また、温度管理の必要性がある物品の状態が変化するとは、冷凍管理される必要性がある物品の温度が、例えば、摂氏18度以下の状態から、摂氏18度よりも高温の状態に変化することを含む。
さらに、ルート決定部121は、運搬物品情報が温度管理の必要性が無いことを表す場合に、運搬物品情報が温度管理の必要性があることを表す場合と比べて、総運搬距離がより短いルートを運搬ルートとして決定する。このため、制御装置100は、物品の運搬効率を向上させることができる。
また、制御装置100の動作モード決定部122は、運搬物品情報が温度管理の必要性があることを表す場合に、運搬物品情報が温度管理の必要性が無いことを表す場合と比べて、無人移動機900に課せられる制限速度をより速く決定し、制限加速度をより大きく決定する。これらのため、制御装置100は、温度管理の必要性がある物品を運搬させる無人移動機900に、より速い速度で移動させることができる。よって、制御装置100は、温度管理の必要性がある物品の状態が、時間の経過により、運搬前の状態と異なる状態に変化することを抑制できる。
本変形例では、物品の特性は、当該物品が温度管理される必要性が無いこと、当該物品が冷蔵管理される必要性があること、及び、当該物品が冷凍管理される必要性があること、を含むと説明したが、これらに限定される訳では無い。物品の特性は、例えば、当該物品が保温管理される必要性があること、をさらに含んでも良い。物品を保温管理するとは、例えば、物品が食品である場合に、当該物品の温度を、例えば、摂氏60度以上、かつ、摂氏65度以下といった、当該食品を食べるユーザにとって当該食品が温かいと通常感じる温度に維持することを含む。
運搬物品情報に含まれる特性情報が保温管理の必要性があることを表す場合には、図9のステップS14において、ルート決定部121は、総運搬距離に基づく第1の評価値の重付係数を補正しないが、日陰度に基づく第2の評価値の重付係数を補正前よりも小さい正の値に補正しても良い。ルート決定部121が、日陰度に基づく第2の評価値の重付係数を補正前よりも小さい値に補正するのは、保温管理の必要性がある物品は、日光の照射により生じる輻射熱により保温されるためである。つまり、日陰の道をより少なく含む運搬ルートの方が、そうでない運搬ルートよりも、保温管理の必要性がある物品の運搬ルートとしてより適切だからである。
<実施例1の変形例9>
運搬される物品の特性が当該物品の温度管理の必要性の有無を含む実施例1の変形例8と、当該物品の特性に基づいて無人移動機900が当該物品を運搬する運搬時間を決定する実施例1の変形例2と、は、互いに組み合わせることができる。
このため、本変形例に係る制御装置100のスケジュール決定部123は、図13のステップS35において、無人移動機900に設定する移動速度を表す変数の値を、予め定められた基準の速度で初期化する。次に、スケジュール決定部123は、ステップS31で取得された運搬物品情報に含まれる特性情報が温度管理の必要性が無いことを表す場合に、移動速度を表す変数の値を変更しない。
これに対して、スケジュール決定部123は、特性情報が冷蔵管理、冷凍管理、又は、保温管理の必要性があることを表す場合に、移動速度を表す変数の値を、基準の速度よりも速い速度に変更する。スケジュール決定部123がこのように移動速度を表す変数の値を変更するのは、物品が保冷庫又は保温庫に保管された状態であっても、物品の温度は、時間の経過と共に上昇又は下降するためである。次に、スケジュール決定部123は、変更された移動速度又は変更されなかった移動速度で運搬ルートの総運搬距離を除算することで、無人移動機900が運搬ルートを移動して物品を運搬する運搬時間を決定する。
これらの構成によれば、制御装置100のスケジュール決定部123は、運搬物品情報が温度管理の必要があることを表す場合に、運搬物品情報が温度管理の必要が無いことを表す場合よりも運搬時間をより短く決定する。このため、制御装置100は、運搬中における物品の温度変化によって物品の状態が変化することを抑制できる。
<実施例1の変形例10>
運搬される物品の特性が当該物品の温度管理の必要性の有無を含む実施例1の変形例8と、当該物品の特性に基づいて無人移動機900が当該物品を運搬し終える終了時刻を決定する実施例1の変形例3と、は、互いに組み合わせることができる。
このため、本変形例に係る制御装置100のスケジュール決定部123は、図13のステップS35において、変形例9と同様の処理を実行することで、運搬物品情報で表される物品の特性に基づいて運搬時間を決定し、システム時刻に運搬時間を加算した時刻を終了時刻として決定する。
<実施例1の変形例11>
運搬される物品の特性が当該物品の温度管理の必要性の有無を含む実施例1の変形例8と、当該物品の特性に基づいて無人移動機900が当該物品を運搬し始める開始時刻を決定する実施例1の変形例4と、は、互いに組み合わせることができる。
このため、本変形例に係る制御装置100のスケジュール決定部123は、図13のステップS35において、実施例1の変形例9と同様の処理を実行することで、物品の特性に基づいて運搬時間を決定する。また、スケジュール決定部123は、ステップS36において、決定された運搬時間と、ステップS31で取得された指定時間帯情報で表される指定時間帯と、に基づいて、実施例1の変形例4と同様の処理を実行することで、物品を運搬し始める開始時刻を決定する。
<実施例1の変形例12>
運搬される物品の特性が当該物品の温度管理の必要性の有無を含む実施例1の変形例8と、当該物品の特性に基づいて無人移動機900による当該物品の受渡方法を決定する実施例1の変形例5と、は、互いに組み合わせることができる。
本変形例に係る無人移動機900は、実施例1の変形例5に係る無人移動機900と同様に、図17に示したような、物品を握持するグリッパー960と、グリッパー960を吊り下げるワイヤー970と、ワイヤー970の巻き上げ及び巻き下げを行うウインチ980と、を備える。
本変形例に係る無人移動機900は、グリッパー960、ワイヤー970、及び、ウインチ980を用いて、2つの受渡方法の内の1つで物品を受け渡す。1番目の受渡方法は、宛先に居る人に物品を受け渡す対人受渡方法であり、2番目の受渡方法は、物品を宛先に置き去る置去受渡方法である。
対人受渡方法は、無人移動機900が宛先の上空を飛行している間に、鉛直下方向に光軸が向けられたグリッパー960の撮像装置962によって撮像された画像から人が検知された場合に、投下受渡方法、着地受渡方法、及び、吊下受渡方法のいずれかによって、物品を受け渡す方法である。
置去受渡方法は、撮像装置962で撮像された画像から人が検知されない場合であっても、投下受渡方法、着地受渡方法、及び、吊下受渡方法のいずれかで物品を宛先に置き去ることによって、物品の受け渡しを行う方法である。
対人受渡方法では、宛先を撮像した画像から人が検知された場合に当該宛先に物品が投下等されるため、投下等された物品の温度管理を宛先に居る人が引き継ぐことができる。このため、温度管理が必要な物品の受渡方法として、置去受渡方法よりも対人受渡方法の方が適している。
これに対して、温度管理が不要な物品の受け渡し方法として、置去受渡方法及び対人受渡方法の双方が適している。しかし、置去受渡方法では、宛先を撮像した画像から人が検知されなくとも物品が受け渡されるため、対人受渡方法よりも物品の受渡効率が高い。
本変形例に係る情報記憶部190は、図30に示すような受渡方法テーブルを予め記憶している。受渡方法テーブルの1番目のレコードには、温度管理の必要性が無いことを表す特性情報と、温度管理の必要性が無い物品に適した受渡方法の内で、最も受渡効率が高い置去受渡方法を表す受渡方法情報と、が予め対応付けられて保存されている。また、2番目のレコードには、冷蔵管理の必要性があることを表す特性情報と、冷蔵管理の必要性がある物品に適した対人受渡方法を表す受渡方法情報と、が予め対応付けられて保存されている。さらに、3番目のレコードには、冷凍管理の必要性があることを表す特性情報と、冷凍管理の必要性がある物品に適した対人受渡方法を表す受渡方法情報と、が予め対応付けられて保存されている。
本変形例に係る受渡方法決定部124は、図18のステップS52において、図30の受渡方法テーブルから、運搬物品情報に含まれる特性情報に対応付けられた受渡方法情報を取得し、取得された受渡方法情報で表される受渡方法を、無人移動機900による物品の受渡方法として決定する。
本変形例に係る無人移動機900のCPU911は、図21のステップS65において、受渡方法情報で表される受渡方法で物品を受け渡させる制御信号を生成して駆動回路919へ出力する。
受渡方法情報で表される受渡方法が置去受渡方法である場合、無人移動機900のCPU911は、投下受渡方法、着地受渡方法、及び、吊下受渡方法のいずれかによって物品を宛先に投下等させる制御信号を生成して出力する。
これに対して、受渡方法情報で表される受渡方法が対人受渡方法である場合、無人移動機900のCPU911は、宛先の上空でホバリング飛行又は旋回飛行させるようにプロペラ931から934を制御する制御信号を生成して出力する。宛先の上空でホバリング飛行又は旋回飛行させるのは、グリッパー960が備える撮像装置962の画角に宛先を含めるためである。
その後、無人移動機900のCPU911は、図11に示した入出力ポート918を介して撮像を命じる信号を、グリッパー960の撮像装置962へ出力した後に、入出力ポート918を介して撮像装置962から出力された撮像画像を表す情報を取得する。次に、CPU911は、取得された情報で表される撮像画像に対して、例えば、テンプレートマッチングを実行することで、宛先を撮像した画像から人を表す領域を検出する。
無人移動機900のCPU911は、人を表す領域を検出できた場合に、宛先に居る人が検知されたと判別し、投下受渡方法、着地受渡方法、及び、吊下受渡方法のいずれかによって物品を宛先に投下等させる制御信号を生成し出力する。これに対して、CPU911は、人を表す領域を検出できなかった場合に、宛先に居る人が検知されなかったと判別する。次に、CPU911は、宛先に人が居ないため、対人受渡方法で物品を受け渡すことができないと判別し、物品の受け渡しを中止する。
これらの構成によれば、制御装置100の受渡方法決定部124は、取得部110で取得された運搬物品情報が温度管理の必要性があることを表す場合に、無人移動機900による物品の受渡方法を、人に物品を受け渡す対人受渡方法に決定する。対人受渡方法で物品が受け渡されれば、物品を受け渡された人が物品の温度管理を引き継ぐことができるため、制御装置100は、温度管理の必要性がある物品の受渡方法を、当該物品に適した方法に決定できる。
また、これらの構成によれば、制御装置100の受渡方法決定部124は、運搬物品情報が温度管理の必要性が無いことを表す場合に、無人移動機900による物品の受渡方法を、対人受渡方法よりも受渡効率の高い置去受渡方法に決定する。このため、制御装置100は、物品の受渡効率をより向上できる。
本変形例では、無人移動機900は、受渡方法情報で表される受渡方法が対人受渡方法である場合、宛先の上空でホバリング飛行又は旋回飛行しながら、グリッパー960が備える撮像装置962で宛先を撮像し、撮像された画像に基づいて宛先に居る人を検知すると説明した。
しかし、これに限定される訳では無く、無人移動機900のCPU911は、受渡方法情報で表される受渡方法が対人受渡方法である場合、無人移動機900を着地させる制御信号を生成して出力しても良い。次に、CPU911は、不図示のスピーカ又は表示装置に、無人移動機900の前方に立つように受取人に促すメッセージを出力させても良い。
その後、無人移動機900のCPU911は、無人移動機900が着地してから、無人移動機900の前方に光軸が向けられた、図10の撮像装置951に撮像を命じる信号を出力し、撮像装置951から出力された撮像画像に基づいて、無人移動機900の前方に居る人を検知しても良い。その後、人が検知されると、無人移動機900のCPU911は、着地受渡方法によって物品を受け渡させる制御信号を生成して出力してもよい。
<実施例1の変形例13>
運搬される物品の特性が当該物品の温度管理の必要性の有無を含む実施例1の変形例8と、当該物品の特性に基づいて、物品を運搬させる無人移動機を、複数台の無人移動機901ないし903から決定する実施例1の変形例6と、は、互いに組み合わせることができる。
本変形例では、運搬システム1は、実施例1の変形例6と同様に、制御装置100と、図22に示したような複数台の無人移動機901から903を備える。無人移動機901か903は、図10に示した第1囲持枠941aと第2囲持枠941bとに代えて、図31に示すような格納庫990を備えている。無人移動機901の格納庫990は、格納庫990内の物品の温度を管理する機能を有していないため、格納庫990内の温度は、常温に維持される。
無人移動機902は、無人移動機901と同様に、不図示の格納庫を備えている。無人移動機902の不図示の格納庫は、冷媒を圧縮して気化させる不図示の圧縮機と、冷媒を液化させる凝縮器と、冷媒の圧力を低下させることで冷媒の沸点を下げる膨張弁と、冷媒を気化させる蒸発器と、蒸発器における冷媒の気化によって冷却された空気を格納庫990内で循環させる不図示のファンと、を備えている。これらの構成により、無人移動機902の不図示の格納庫は、格納庫内の物品を冷蔵管理する機能を有しており、格納庫内の温度は、例えば、摂氏10度以下であり、かつ、物品が凍らない程度の低温に保たれる。
無人移動機903は、無人移動機902と同様に、不図示の格納庫を備えている。無人移動機903の不図示の格納庫の構成は、無人移動機902の不図示の格納庫の構成と同様であるが、無人移動機903の不図示の格納庫は、格納庫内の物品を冷凍管理する機能を有している。このため、無人移動機903の格納庫内の温度は、例えば、摂氏−18度以下に保たれる。
これらのため、温度管理が不要な物品を運搬する無人移動機として、無人移動機901ないし903のいずれも適切であるが、無人移動機901の運搬コストが、無人移動機901から903のコストの内で最も低い。無人移動機901は、無人移動機902及び903と異なり、温度管理のためにコストを消費しないためである。尚、無人移動機901から903の質量はそれぞれ同じであるとする。
また、冷蔵管理が必要な物品を運搬する無人移動機として、無人移動機901ないし903の内で、冷蔵管理機能を有する無人移動機902が最も適切であり、冷凍管理が必要な物品を運搬する無人移動機として、無人移動機901ないし903の内で、冷凍管理機能を有する無人移動機903が最も適切である。
本変形例に係る情報記憶部190は、図32に示すような無人移動機テーブルを予め記憶している。無人移動機テーブルの1番目のレコードには、無人移動機901の機体IDと、無人移動機901が備える格納庫が温度管理機能を有さないことを表す文字列「−」と、無人移動機901で運搬するのに適した物品の特性として、温度管理の必要性がないことを表す特性情報「不要」と、が予め対応付けられて保存されている。
2番目のレコードには、無人移動機902の機体IDと、無人移動機902が備える不図示の格納庫が冷蔵管理機能を有することを表す文字列「冷蔵管理機能」と、無人移動機902で運搬するのに適した物品の特性として、冷蔵管理の必要があることを表す特性情報「要冷蔵」と、が予め対応付けられて保存されている。同様に、3番目のレコードには、無人移動機903の機体IDと、無人移動機903の格納庫が冷凍管理機能を有することを表す文字列「冷凍管理機能」と、無人移動機903で運搬するのに適した物品の特性として、冷凍管理の必要があることを表す特性情報「要冷凍」と、が予め対応付けられて保存されている。
本変形例に係る制御装置100の無人機決定部125は、図23のステップS72において、図32に示した無人移動機テーブルから、取得部110で取得された運搬物品情報に含まれる特性情報と対応付けられた機体IDを取得する。次に、無人機決定部125は、取得された機体IDで識別される無人移動機を、特性情報で表される特性を有する物品を運搬させる無人移動機として決定する。
本変形例に係る無人移動機901の格納庫990は、扉と、扉を受止める不図示の扉枠と、扉の裏面に設置されたカンヌキである不図示のデッドボルトと、デッドボルトの受座であり、扉枠に設置された不図示のストライクと、を備える。
また、格納庫990は、不図示のケーブルで接続された制御装置910の駆動回路919から出力される信号に従って、デッドボルトをストライクへ挿入させることで扉を施錠し、デッドボルトをストライクから抜出させることで扉を解錠する、不図示のモータを備えている。
本変形例に係る無人移動機901のCPU911は、図12のステップS24において、格納庫990の扉を解錠及び開放させる信号を出力し、例えば、格納庫990の開放された扉を下向きにし、かつ、無人航空機900を揺する飛行を行うことで、宛先へ物品を投下する。
無人移動機902及び903が備える不図示の格納庫は、無人移動機901が備える格納庫990と同様に、不図示の扉、扉枠、デッドボルト、ストライク、及び、モータを有している。このため、無人移動機902及び903が備える不図示のCPUは、図12のステップS24において、無人移動機901のCPU911によって出力される制御信号と同様の信号を出力することで、宛先で物品の受け渡しを行う。
これらの構成によれば、制御装置100の無人機決定部125は、冷蔵管理の必要性があることを運搬物品情報が表す場合に、無人移動機901ないし903の内で、冷蔵管理機能を有する無人移動機902を、当該物品を運搬させる無人移動機として決定する。同様に、無人機決定部125は、冷凍管理の必要性があることを運搬物品情報が表す場合に、冷凍管理機能を有する無人移動機903を、当該物品を運搬させる無人移動機として決定する。これらのため、制御装置100は、物品の無人移動機による運搬中に物品の温度管理をより確実に行えるので、運搬中に物品の状態が変化することをより確実に抑制できる。
本変形例では、実施例1の変形例8と、実施例1の変形例6と、の組み合わせについて説明したが、これに限定される訳では無く、実施例1の変形例8と、実施例1の変形例1又は7と、を組み合わせても良い。
<実施例1の変形例14>
実施例1と実施例1の変形例8とは、組み合わせることができる。このため、物品の特性情報は、当該物品の衝撃耐性及び温度管理の必要性の有無のいずれか1つ以上を表しても良い。また、制御装置100のルート決定部121は、特性情報で表される物品の衝撃耐性及び温度管理の必要性の有無のいずれか1つ以上に基づいて、無人移動機900が当該物品を運搬する運搬ルートを決定しても良い。さらに、制御装置100の動作モード決定部122は、特性情報で表される物品の衝撃耐性及び温度管理の必要性の有無いずれか1つ以上に基づいて、無人移動機900が当該物品を搭載して移動する際の挙動に係る動作モードを決定しても良い。
また、実施例1と実施例1の変形例8との組み合わせについて説明したが、これに限定される訳では無く、実施例1の変形例1から7のいずれかと、実施例1の変形例8と、は互いに組み合わせることができる。
<実施例1の変形例15>
実施例1に係る運搬システム1は、図1に示したような制御装置100と、無人航空機である無人移動機900と、を備えると説明したが、これに限定される訳では無い。本変形例に係る運搬システム1は、図1に示したような制御装置100と、無人で地上を走行する無人地上車両である、図33に示すような無人移動機800と、を備える。
無人移動機800は、車輪801及び802を含む複数の車輪を備える車台810と、不図示のレンズの光軸を前方に向けた状態で車台810の前面に設置された撮像装置820と、を備える。撮像装置820は、デジタル式のステレオカメラであり、予め定められた周期で無人移動機800の前方を撮像し、互いに視差を有する2つの撮像画像を制御装置890へ出力する。
また、無人移動機800は、配達される物品を格納する格納庫831を有する格納装置830を、車台810の上にさらに備える。さらに無人移動機800は、格納庫831から物品を取り出すロボットアーム840を、格納装置830の上面にさらに備える。
ロボットアーム840は、垂直多関節ロボットであり、図17に示したグリッパー960と同様の構成及び機能を有するグリッパー841と、不図示のモータによって可動させられる複数の関節構造及び関節構造を中心として可動する複数のアーム842と、を備える。
また、無人移動機800は、撮像装置820が出力する撮像画像に基づいて、障害物を避けながら物品の運搬ルートを走行するように、複数の車輪にそれぞれ内蔵された不図示のモータを駆動させる制御装置890と、を備える。制御装置890は、ロボットアーム840のグリッパー841が備える撮像装置850が出力する撮像画像に基づいて、格納庫831から物品を取り出すように、ロボットアーム840が備える不図示のモータを駆動させる。
制御装置890は、不図示のCPU、RAM、ROM、フラッシュメモリ、通信回路、GPS回路、入出力ポート、及び、駆動回路を備える。制御装置890の不図示のCPU、RAM、ROM、フラッシュメモリ、通信回路、及び、GPS回路の構成及び機能は、図11に示した無人移動機900の制御装置910が備えるCPU911、RAM912、ROM913a、フラッシュメモリ913b、通信回路914、及び、GPS回路916の構成及び機能と同様である。
制御装置890の入出力ポートは、車台810の前面に設置された撮像装置820と接続された不図示のケーブルに接続されており、撮像装置820が出力する撮像画像を不図示のフラッシュメモリに出力する。また、制御装置890の入出力ポートは、不図示のケーブルを介して、ロボットアーム840が備える不図示の駆動回路及び撮像装置850に接続されている。入出力ポートは、不図示のCPUから出力された制御信号をロボットアーム840の駆動回路又は撮像装置850へ出力し、撮像装置850から出力された撮像画像を不図示のフラッシュメモリへ出力する。
制御装置890の駆動回路は、車輪801及び802を含む複数の車輪をそれぞれ回転させる、複数の不図示のモータにそれぞれ接続されたケーブルに接続されており、不図示のCPUが出力する信号に従って当該複数のモータを駆動させる。
制御装置890のCPUは、不図示の通信回路が制御装置100から受信した運搬制御情報に含まれる運搬ルート情報を取得し、車台810の前面に設置された撮像装置820によって撮像された画像を、不図示のフラッシュメモリから読み出す。その後、CPUは、読み出した画像に基づいて障害物を避けながら、運搬ルート情報で表される運搬ルートを順行させる制御信号を生成して、不図示の駆動回路へ出力する。駆動回路は、出力された制御信号に従って、複数の車輪をそれぞれ回転させる不図示の複数のモータを駆動させる。このようにして、無人移動機800は、運搬制御情報に従って運搬ルートを移動する。
また、制御装置890のCPUは、ロボットアーム840が備える撮像装置850から出力される画像に基づいて、格納庫831から物品を取り出させる制御信号を生成して、不図示の入出力ポートに出力する。ロボットアーム840は、入出力ポートから入力された制御信号に従って格納庫に格納された物品を取り出す。さらに、制御装置890のCPUは、撮像装置850から出力される画像に基づいて、取り出された物品を、例えば、宛先の庭、駐車場、玄関前、又は、廊下へ置かせる、若しくは、宛先の庭又は共用部に設置された宅配ボックスに収納させる制御信号を生成して入出力ポートに出力する。ロボットアーム840は、入出力ポートから入力された制御信号に従って物品を置く等する。その後、制御装置890のCPUは、運搬ルートを逆行させる制御信号を生成して、不図示の駆動回路へ出力する。このようにして、無人移動機800は、物品を宛先に置き去ることで、物品を受け渡す置去受渡方法を実行できる。
この置去受渡方法では、物品が床又は地面、若しくは、宅配ボックスの内部に置かれる際に、物品に僅かな衝撃しか加わらない。本変形例では、ロボットアーム840は、弱い衝撃耐性、基準の衝撃耐性、又は、強い衝撃耐性を有する物品の状態を変化させ無い又は変化させ難い衝撃しか生じない速度で物品を置く。このため、置去受渡方法は、弱い衝撃耐性、基準の衝撃耐性、又は、強い衝撃耐性を有する物品の受渡方法として適切である。
また、制御装置890のCPUは、撮像装置850から出力される画像に基づいて、取り出された物品を、例えば、宛先の庭、駐車場、玄関前、廊下、又は、ベランダへ投げ入れさせる制御信号を生成して入出力ポートに出力しても良い。この場合、ロボットアーム840は、入出力ポートから入力された制御信号に従って物品を投げ入れる。このようにして、無人移動機800は、物品を宛先へ投げ入れることで、物品を受け渡す投入受渡方法を実行できる。
この投入受渡方法では、物品が床又は地面に衝突する際に、物品に衝撃が加わる。本変形例では、ロボットアーム840は、弱い衝撃耐性又は基準の衝撃耐性を有する物品の状態を変化させる又は変化させ易い衝撃であって、強い衝撃耐性を有する物品の状態を変化させ無い又は変化させ難い衝撃が生じる初速で物品を投げる。このため、投入受渡方法は、強い衝撃耐性を有する物品の受渡方法として適切である。また、投入受渡方法によれば、無人移動機800は、宛先まで移動しなくとも受け渡しできるため、置去受渡方法よりも受渡効率が良い。
さらに、制御装置890のCPUは、撮像装置850から出力される画像に基づいて、格納庫831から取り出された物品を、宛先にいる人に渡させる制御信号を生成して入出力ポートに出力する。ロボットアーム840は、入出力ポートから入力された制御信号に従って物品を人に渡す。このようにして、無人移動機800は、物品を宛先にいる人へ渡す対人受渡方法を実行できる。
この対人受渡方法で、温度管理の必要性がある物品を受け渡せば、受け渡された人が温度管理を引き継ぐことができるため、置去受渡方法及び投入受渡方法よりも、温度管理の必要性がある物品の受渡方法として適切である。
<実施例1の変形例16>
実施例1に係る無人移動機900は、無人航空機であると説明したが、これに限定される訳では無く、無人地上移動機、無人水上移動機、又は、無人水中移動機であっても良い。無人地上移動機は、例えば、無人で地上を歩行するロボットのように、無人で地上を移動する機械又は装置であれば、どのようなものでもよい。また、無人水上移動機は、例えば、無人船のように、無人で水上を移動する機械又は装置であれば、どのようなものでも良いし、無人水中移動機は、例えば、無人潜水艦のように、無人で水中を移動する機械又は装置であれば、どのようなものでもよい。さらに、無人航空機は、例えば、ドローンのように、無人で空中を飛行する機械又は装置であれば、どのようなものでも良い。
<実施例1の変形例17>
実施例1に係る運搬システム1は、図1に示すような制御装置100と、無人移動機900を備えると説明したが、これに限定される訳では無い。運搬システム1は、制御装置100を備えず、図10に示した無人移動機900が備える制御装置910が、実施例1に係る制御装置100の機能を発揮しても良い。
つまり、図11に示した無人移動機900の制御装置910が備えるCPU911が、図3に示した運搬制御処理を実行しても良い。これにより、無人移動機900のCPU911が、図5に示した制御装置100の取得部110、ルート決定部121、動作モード決定部122、生成部130、及び、制御部140とそれぞれ同様の機能を有する不図示の取得部、ルート決定部、動作モード決定部、生成部、及び、制御部として機能しても良い。また、無人移動機900の制御装置910が備えるフラッシュメモリ913bが、図5に示した制御装置100の情報記憶部190と同様の機能を有する不図示の情報記憶部として機能しても良い。
<実施例2>
本実施例に係る制御装置100は、無人移動機900による物品の運搬中に、例えば、慣性力又は重力が作用した物品が、段ボール等の梱包の中で、転倒、横転、又は、滑走することで生じる物品の重心の位置変化を検知する点で、実施例1に係る制御装置100と相違する。また、本実施例に係る制御装置100は、物品の重心の位置変化が検知されると、無人移動機900に物品を運搬させる運搬ルート及び物品を運搬させる際の動作モードを変更する点で、実施例1に係る制御装置100と相違する。以下、実施例1と同様の構成については、実施例1で用いた符号と同一の符号を用いて説明するが、本実施例と実施例1との相違について主に説明する。
本実施例に係る制御装置100のCPU101は、図3の運搬制御処理を実行することで、運搬ルート及び動作モードを決定し、決定された動作モードで無人移動機900に当該運搬ルートを移動させる制御を行う。本実施例では、運搬制御処理の実行を終了する前に、CPU101は、図3のステップS01の実行により取得された宛先情報と、ステップS05の実行により決定された動作モードを表す動作モード情報と、図9のステップS14で補正された複数の重付係数を表す情報と、を情報記憶部190に保存する。CPU101がこれらの情報を保存するのは、運搬ルート及び動作モードを変更する、図34に示すような制御変更処理の実行にこれらの情報が必要だからである。
図3の運搬制御処理を実行した後に、制御装置100の通信回路104が、日時を表す日時情報と、当該日時における無人移動機900の位置を表す位置情報と、当該日時における無人移動機900の姿勢を表す姿勢情報と、を受信すると、制御装置100のCPU101は、受信された日時情報、位置情報、及び、姿勢情報を用いて、図34の制御変更処理を実行する。
これにより、制御装置100のCPU101は、姿勢情報で表される無人移動機900の姿勢の変化に基づいて、無人移動機900に搭載された物品の重心の位置の変化を検知する、図35に示すような検知部150として機能する。
また、制御装置100のCPU101は、検知部150で重心の位置の変化が検知されると、図3の運搬制御処理の実行により決定された運搬ルートを変更するルート変更部161として機能する。ルート変更部161は、受信された位置情報で表される無人移動機900の位置から宛先までの変更前の運搬ルートよりも、無人移動機900が速度を変更させる回数が少ない当該位置から宛先までのルートを、変更後の運搬ルートとする。
さらに、CPU101は、重心の位置の変化が検知されると、図3の運搬制御処理の実行により決定された動作モードを変更する動作モード変更部162として機能する。動作モード変更部162は、変更前の動作モードの制限速度よりも遅い制限速度、及び、変更前の動作モードの制限加速度よりも小さい制限加速度を課す動作モードを、変更後の動作モードとする。
本実施例の情報記憶部190は、無人移動機900の状態に関する情報が保存された複数のレコードが保存される、不図示の状態履歴テーブルを予め記憶している。状態履歴テーブルの各レコードには、日時を表す日時情報と、当該日時における無人移動機900の位置を表す位置情報と、当該日時における無人移動機900の姿勢を表す姿勢情報と、が対応付けられて保存される。
また、本実施例の情報記憶部190は、図36に示す動作モードテーブルを記憶している。図36の動作モードテーブルの第1番目から第3番目のレコードは、図8の動作モードテーブルの第1番目から第3番目のレコードと同様の情報が予め保存されている。動作モードテーブルの第4番目のレコードには、低速モードの制限速度よりも遅い制限速度と、低速モードの制限加速度よりも小さい制限加速度と、が無人移動機900に課せられる超低速モードを表す動作モード情報が予め保存されている。
図34の制御変更処理の実行が開始されると、制御装置100の取得部110は、無人移動機900が物品の宛先に到着したことを告げる到着報告を、通信回路104が受信したか否かを判別する(ステップS81)。
取得部110は、到着報告が受信されたと判別すると(ステップS81;Yes)、制御変更処理の実行を終了する。これに対して、取得部110は、到着報告が受信されていないと判別すると(ステップS81;No)、通信回路104から日時情報、位置情報、及び、姿勢情報を取得する(ステップS82)。次に、取得部110は、取得された日時情報、位置情報、及び、姿勢情報を互いに対応付けて、情報記憶部190が記憶する不図示の状態履歴テーブルに保存する。
その後、検知部150は、情報記憶部190から、無人移動機900の姿勢を観察する時間として予め定められた観察時間を表す情報を取得する。次に、検知部150は、システム日時を取得し、取得されたシステム日時よりも観察時間だけ前の第1日時を算出する。その後、検知部150は、第1日時からシステム日時までの第1期間に含まれる日時を表す日時情報が保存された複数のレコードを、状態履歴テーブルから取得する。次に、検知部150は、取得された複数のレコードにそれぞれ保存された日時情報で表される日時と、姿勢情報で表される当該日時における無人移動機900の姿勢と、に基づいて、第1期間における無人移動機900の姿勢の変化周期を特定する。
また、検知部150は、第1日時よりも観察時間だけ前の第2日時から第1日時までの第2期間に含まれる日時を表す日時情報が保存された複数のレコードを、状態履歴テーブルから取得する。次に、検知部150は、取得された複数のレコードにそれぞれ保存された日時情報と姿勢情報とに基づいて、第2期間における無人移動機900の姿勢の変化周期を特定する。
その後、検知部150は、第1期間における姿勢の変化周期と、第2期間における姿勢の変化周期と、の差異を算出する。次に、検知部150は、情報記憶部190から予め定められた閾値を表す情報を取得し、算出された変化周期の差異が、取得された閾値よりも大きいか否かを判別することで、姿勢の変化周期が変化したか否かを判別する。また、検知部150は、姿勢の変化周期が変化したか否かを判別することで、無人移動機900に搭載された物品の重心の位置が変化したか否かを検知する(ステップS83)。
検知部150がこのように検知するのは、物品を搭載した無人移動機900の姿勢が変化する変化周期は、揚力を発生させるプロペラ931ないし934から、無人移動機900と当該物品と当該物品の梱包とを1つの物体とみなした場合における当該1つの物体の重心までの距離で主に決まるためである。
ここで、プロペラ931から934の位置と、無人移動機900自体の重心の位置と、無人移動機900に枠持されている梱包自体の重心の位置と、は、変化しない。しかし、例えば、物品が段ボール等の梱包の中で緩衝材等によって十分に固定されていない場合、又は、当該物品の固定状態が悪化した場合には、梱包中で物品の位置が変化して、物品の重心の位置が変化する場合がある。このため、検知部150は、無人移動機900の姿勢の変化周期が変化したか否かを判別することで、物品自体の重心の位置が変化したか否かを検知する。
このとき、検知部150は、変化周期の差異が閾値以下であると判別すると、無人移動機900の姿勢の変化周期が変化しなかったと判別し、かつ、物品の重心の位置が変化しなかったと検知する(ステップS83;No)。その後、ステップS81から上記処理が繰り返される。
これに対して、検知部150は、変化周期の差異が閾値よりも大きいと判別すると、姿勢の変化周期が変化したと判別し、物品の重心の位置が変化したことを検知する(ステップS83;Yes)。また、検知部150は、梱包された物品が、梱包中で移動する特性又は移動し易い特性を有することを検知する。
その後、図35のルート変更部161は、システム日時から最も近い日時を表す日時情報と対応付けられた位置情報を、状態履歴テーブルから取得する。次に、ルート変更部161は、運搬中の物品の宛先を表す宛先情報を情報記憶部190から読み出す。その後、ルート変更部161は、取得された位置情報と、読み出した宛先情報と、を用いて、図3のステップS02と同様の処理を実行する。これにより、ルート変更部161は、位置情報で表される無人移動機900の位置から、宛先情報で表される宛先までの運搬ルートのN個の候補を決定する(ステップS84)。
次に、ルート変更部161は、N個の候補の総合評価値を算出する、図9に示した評価値算出処理を実行する(ステップS85)。評価値算出処理の実行を開始すると、ルート変更部161は、変数nを値「1」で初期化する(ステップS11)。その後、ルート変更部161は、実施例1で説明したステップS12の処理と同様の処理を実行することで、n番目の候補について、総運搬距離に基づく第1の評価値、混雑度に基づく第2の評価値、及び、方向変更回数に基づく第3の評価値を算出する(ステップS12)。
次に、ルート変更部161は、n番目の候補について、変更前の運搬ルートの総合評価値の算出に用いられた複数の重付係数の値を表す情報を、情報記憶部190から読み出し、読み出された情報で表される値を初期値とし、当該初期値で複数の重付係数を初期化する(ステップS13)。
その後、ルート変更部161は、総運搬距離に基づく第1の評価値の重付係数を補正せず、混雑度に基づく第2の評価値の重付係数と、方向変更回数に基づく第3の評価値と、を、ステップS13で読み出された値よりも大きい値に補正する(ステップS14)。
ルート変更部161がこのような補正を行うのは、無人移動機900の位置から宛先まで物品を運搬する間に無人移動機900が行う回避行動及び方向変更の回数がより少ない運搬ルートの候補の方が、回数がより多い候補よりも回避行動及び方向変更のために無人移動機900が速度を変更する回数が少ないためである。無人移動機900が速度を変更する回数が少ないと、物品に慣性力が作用する回数がより少ないため、物品が梱包材の中で移動して、例えば、梱包材に衝突する等して衝撃を受ける回数がより少ないからである。つまり、無人移動機900が行う回避行動及び方向変更の回数がより少ない運搬ルートの候補の方が、回数がより多い候補よりも、梱包材の中で移動する特性又は移動し易い特性を有する物品の運搬ルートとして適切だからである。
その後、ルート変更部161は、ステップS12で算出された複数の評価値を、ステップS14で補正された複数の重付係数で重み付けすることで、n番目の候補の総合評価値を算出する(ステップS15)。
その後、ルート変更部161は、変数nの値を「1」だけ増加させた後に(ステップS16)、変数nの値が、運搬ルートの候補の総数Nよりも大きくなるまで、ステップS12から上記処理を繰り返す。ルート変更部161は、変数nの値が候補の総数Nより大きいと判別すると(ステップS17;Yes)、評価値算出処理の実行を終了する。
図34のステップS85で評価値算出処理が実行された後に、ルート変更部161は、図3のステップS04と同様の処理を実行することで、N個の候補それぞれについて算出されたN個の総合評価値に基づいて新たな運搬ルートを決定する。その後、ルート変更部161は、無人移動機900に移動させる運搬ルートを、図3のステップS04で決定された変更前の運搬ルートから、決定された新たな運搬ルートに変更する(ステップS86)。
次に、動作モード変更部162は、情報記憶部190から、図3のステップS05の実行により決定された変更前の動作モードを表す動作モード情報を読み出す。その後、動作モード変更部162は、図36の動作モードテーブルから、読み出された動作モード情報で表される変更前の動作モードの制限速度よりも遅い制限速度と、変更前の動作モードの制限加速度よりも小さい制限加速度と、が無人移動機900に課せられる動作モードを表す動作モード情報を取得する。次に、無人移動機900の動作モードを、図3のステップS05で決定された変更前の動作モードから、取得された動作モード情報で表される新たな動作モードに変更する(ステップS87)。
その後、生成部130は、無人移動機900に運搬ルートをステップS86で決定された新たな運搬ルートに変更させ、かつ、動作モードをステップS87で決定された新たな動作モードに変更させる、新たな運搬制御情報を生成する(ステップS88)。生成部130によって生成される新たな運搬制御情報は、当該新たな運搬ルートを表す運搬ルート情報と、当該新たな動作モードを表す動作モード情報と、を含んでいる。その後、生成部130は、無人移動機900の機体IDを運搬制御情報に追加して制御部140へ出力する。
次に、制御部140は、生成部130によって生成された新たな運搬制御情報を新たな制御コマンドとして、図2に示した通信回路104へ出力する(ステップS89)。その後、通信回路104が新たな制御コマンドを無人移動機900に送信した後に、制御部140は、制御変更処理の実行を終了する。
図11に示した無人移動機900の通信回路914が、新たな制御コマンドより前に制御装置100から送信された制御コマンドを受信すると、制御装置910のCPU911は、当該制御コマンドに従って無人移動機900に物品を運搬させる、図37に示すような移動制御処理を実行する。
無人移動機900のCPU911は、移動制御処理の実行を開始すると、図12のステップS21及びS22と同様の処理を実行する(ステップS91及びS92)。これにより、CPU911は、新たな制御コマンドより前に制御コマンドとして送信された運搬制御情報を取得し、取得された運搬制御情報で表される動作モードで運搬ルートを順行させる制御信号を出力する。
次に、無人移動機900のCPU911は、システム日時を取得し、取得されたシステム日時を表す日時情報を生成する。また、CPU911は、GPS回路916から出力される信号を取得し、取得された信号で表される無人移動機900の位置を表す位置情報を生成する。さらに、CPU911は、姿勢センサ917から出力される信号を取得し、取得された信号で表される無人移動機900の姿勢を表す姿勢情報を生成する。その後、CPU911は、制御装置100を宛先として、日時情報、位置情報、及び、姿勢情報を通信回路914へ出力する(ステップS93)。
無人移動機900の通信回路914が日時情報、位置情報、及び、姿勢情報を制御装置100へ送信した後に、無人移動機900のCPU911は、通信回路914が制御装置100から新たな運搬制御情報を受信したか否かを判別する(ステップS94)。このとき、CPU911は、通信回路914が新たな運搬制御情報を受信したと判別すると(ステップS94;Yes)、通信回路914から新たな運搬制御情報を取得する(ステップS95)。
その後、無人移動機900のCPU911は、運搬ルートを、ステップS91で取得された運搬制御情報に含まれる運搬ルート情報で表される運搬ルートから、ステップS95で取得された新たな運搬制御情報に含まれる運搬ルート情報で表される新たな運搬ルートに変更する(ステップS96)。
次に、無人移動機900のCPU911は、新たな運搬ルートを移動する際の動作モードを、ステップS91で取得された運搬制御情報に含まれる動作モード情報で表される動作モードから、ステップS95で取得された新たな運搬制御情報に含まれる動作モード情報で表される新たな動作モードに変更する(ステップS97)。
ステップS97が実行された後、又は、ステップS94において、通信回路914が新たな運搬制御情報を受信しなかったと判別された場合に(ステップS94;No)、無人移動機900のCPU911は、図12のステップS23と同様の処理を実行することで、宛先に到着したか否かを判別する(ステップS98)。このとき、CPU911は、宛先に到着しなかったと判別すると(ステップS98;No)、ステップS92から上記処理を繰り返す。これに対して、CPU911は、宛先に到着したと判別すると(ステップS98;Yes)、制御装置100を宛先として到着報告を通信回路914へ出力する(ステップS99)。
無人移動機900の通信回路914が到着報告を制御装置100へ送信した後に、CPU911は、図12のステップS24及び25と同様の処理を実行した後に(ステップS100及びS101)、移動制御処理の実行を終了する。これにより、物品の受け渡し、及び、無人移動機900の帰還が行われる。
これらの構成によれば、制御装置100の取得部110は、無人移動機900の姿勢を表す姿勢情報を取得し、検知部150は、取得部110で取得された姿勢情報で表される姿勢の変化に基づいて、無人移動機900に搭載された物品の重心の位置変化を検知する。このため、制御装置100は、梱包の中で、例えば、慣性力又は重力が作用した物品が転倒、横転、又は、滑走することで生じる物品の重心の位置変化を検知できるため、梱包を開けなくとも、梱包の中で物品が移動する特性又は移動し易い特性を有するか否かを特定できる。
また、これらの構成によれば、制御装置100のルート変更部161は、検知部150で重心の位置変化が検知されると、ルート決定部121で決定された運搬ルートを、当該運搬ルートよりも無人移動機900が速度を変更させる回数が少ない運搬ルートに変更し、制御部140は、ルート変更部161で変更された運搬ルートを移動させる制御を無人移動機900に行う。無人移動機900が速度を変更する回数がより少ないと、物品に慣性力が作用する回数がより少ないため、物品が梱包材の中で移動して、例えば、梱包材に衝突する等して衝撃を受ける回数がより少ない。このため、制御装置100は、梱包材の中で移動する特性又は移動し易い特性を有する物品の運搬ルートとしてより適切なルートを、無人移動機900に移動させて当該物品を運搬させることができるため、当該物品の状態が運搬前の状態と異なる状態に変化することを抑制できる。
さらに、これらの構成によれば、制御装置100の動作モード変更部162は、検知部150で重心の位置変化が検知されると、動作モード決定部122で決定された動作モードを、当該動作モードの制限速度よりも遅い制限速度、及び、当該動作モードの制限加速度よりも小さい制限加速度を課す動作モードに変更する。また、制御装置100の制御部140は、動作モード変更部162で変更された動作モードで物品を運搬させる制御を無人移動機900に行う。無人移動機900の速度を変化させる加速度が小さく、かつ、無人移動機900の速度が遅くなると、物品に作用する慣性力が小さく、かつ、物品に慣性力が作用する時間が短くなる。このため、制御装置100は、梱包材の中で移動する特性又は移動し易い特性を有する物品の運搬ルートとしてより適切な動作モードで、無人移動機900に当該物品を運搬させることができるため、当該物品の状態が運搬前の状態と異なる状態に変化することを抑制できる。
さらにこれらの構成によれば、検知部150は、無人移動機900が物品を運搬し始めてから取得部110で取得された姿勢情報に基づいて、無人移動機900に搭載された物品の重心の位置変化を検知する。このため、制御装置100は、運搬により物品に慣性力又は重力が作用することで、梱包の中における物品の固定状態が悪化して、物品が転倒、横転、又は、滑走等を始めたことを検知できる。このため、制御装置100は、物品が梱包の中で移動し始めると、梱包材の中で移動する特性又は移動し易い特性に変化した物品により適したルート及びモードに運搬ルート及び動作モードを変更できる。
本実施例において、物品は、段ボールで梱包されると説明したが、これに限定される訳では無く、例えば、紙袋、ビニール袋、又は、封筒で梱包されても良い。
<実施例2の変形例1>
実施例2に係る無人移動機900は、図37のステップS93で姿勢情報を出力し、制御装置100は、図34のステップS82で姿勢情報を取得し、ステップS83で、姿勢情報に基づいて無人移動機900に搭載された物品の重心の位置変化を検知すると説明したが、これに限定される訳では無い。
本変形例に係る無人移動機900のCPU911は、図37のステップS93で、姿勢情報に代えて、無人移動機900の姿勢を維持させるために、図10に示したプロペラ931から934を回転させる不図示のモータを駆動させる制御信号で表される制御内容を表す姿勢制御情報を出力する。また、本変形例に係る制御装置100の取得部110は、図34のステップS82で姿勢制御情報を取得し、検知部150は、ステップS83で、姿勢制御情報で表される制御内容が変化する周期の変化に基づいて、無人移動機900に搭載された物品の重心の位置変化を検知する。
<実施例2の変形例2>
実施例2と実施例2の変形例1とは、組み合わせることができる。このため、本変形例に係る無人移動機900のCPU911は、図37のステップS93で、姿勢情報と姿勢制御情報との双方を出力する。また、本変形例に係る制御装置100の取得部110は、図34のステップS82で姿勢情報と姿勢制御情報との双方を取得する。
検知部150は、ステップS83で、姿勢情報で表される無人移動機900の姿勢の変化周期、及び、姿勢制御情報で表される無人移動機900の制御内容の変化周期のいずれかが、第1期間と第2期間とで変化したか否かを判別する。検知部150は、姿勢の変化周期、及び、制御内容の変化周期のいずれかが、第1期間と第2期間とで変化したと判別した場合に、無人移動機900に搭載された物品の重心の位置が変化したと判別する。これに対して、検知部150は、姿勢の変化周期、及び、制御内容の変化周期の双方が、第1期間と第2期間とで変化しなかったと判別した場合に、無人移動機900に搭載された物品の重心の位置が変化しなかったと判別する。これらの構成によれば、制御装置100の検知部150は、姿勢情報及び姿勢制御情報の双方に基づいて物品の重心の位置の変化をより精度良く検知できる。
<実施例2の変形例3>
実施例2と実施例1の変形例2とは、互いに組み合わせることができる。本変形例に係る制御装置100は、検知部150によって、無人移動機900に搭載された物品の重心の位置の変化が検知されると、図14に示したスケジュール決定部123で決定された運搬時間を、当該運搬時間よりも長い運搬時間に変更する不図示のスケジュール変更部をさらに備えても良い。制御装置100の制御部140は、無人移動機900に、図35のルート変更部161で変更された運搬ルートを、スケジュール変更部で変更された運搬時間内に移動させる制御を行っても良い。
<実施例2の変形例4>
実施例2と実施例1の変形例3とは、互いに組み合わせることができる。本変形例に係る制御装置100は、検知部150によって、無人移動機900に搭載された物品の重心の位置の変化が検知されると、図14のスケジュール決定部123で決定された終了時刻を、当該終了時刻よりも遅い終了時刻に変更する不図示のスケジュール変更部をさらに備えても良い。制御装置100の制御部140は、無人移動機900に、図35のルート変更部161で変更された運搬ルートを、スケジュール変更部で変更された終了時刻までに移動させる制御を行っても良い。
実施例1及び2、実施例1の変形例1から17、並びに、実施例2の変形例1から4は、互いにそれぞれ組み合わせることができる。実施例1及び2、実施例1の変形例1から16、並びに、実施例2の変形例1から4のいずれかに係る機能を実現するための構成を備えた制御装置100、及び、実施例1の変形例17に係る機能を実現するための構成を備えた制御装置910として提供できることはもとより、複数の装置で構成されるシステムであって、実施例1及び2、実施例1の変形例1から17、並びに、実施例2の変形例1から4のいずれかに係る機能を実現するための構成をシステム全体として備えたシステムとして提供することもできる。
また、プログラムの適用により、既存の制御装置100を実施例1及び2、実施例1の変形例1から16、並びに、実施例2の変形例1から4のいずれかに係る制御装置100としてそれぞれ機能させることもできる。すなわち、実施例1及び2、実施例1の変形例1から16、並びに、実施例2の変形例1から4のいずれかで例示した制御装置100による各機能構成を実現させるためのプログラムを、既存の制御装置を制御するコンピュータ(CPUなど)が実行できるように適用することで、実施例1及び2、実施例1の変形例1から16、並びに、実施例2の変形例1から4のいずれかに係る制御装置100としてそれぞれ機能させることができる。
また、プログラムの適用により、既存の制御装置910を実施例1の変形例17に係る制御装置910として機能させることもできる。すなわち、実施例1の変形例17で例示した制御装置910による各機能構成を実現させるためのプログラムを、既存の制御装置を制御するコンピュータ(CPUなど)が実行できるように適用することで、実施例1の変形例17に係る制御装置910として機能させることができる。
このようなプログラムの配布方法は任意であり、例えば、メモリカード、CD−ROM(Compact Disc Read Only Memory)、又はDVD−ROM(Digital Versatile Disk Read Only Memory)などの記録媒体に搭載して配布できる他、インターネットなどの通信媒体を介して配布することもできる。また、本発明に係る方法は、実施例1及び2、実施例1の変形例1から16、並びに、実施例2の変形例1から4のいずれかに係る制御装置100、及び、実施例1の変形例17に係る制御装置910を用いて実施できる。
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
(付記)
(付記1)
運搬される物品の特性を表す運搬物品情報を取得する取得部と、
取得された前記運搬物品情報で表される前記特性に基づいて、前記物品を無人移動機に運搬させる運搬制御情報を生成する生成部と、を備える、
制御装置。
(付記2)
取得された前記運搬物品情報で表される前記特性に基づいて、前記無人移動機が前記物品を運搬する運搬ルートを決定するルート決定部、をさらに備え、
前記生成部は、決定された前記運搬ルートを表す運搬ルート情報を含み、かつ、前記運搬ルートを前記無人移動機に移動させる、前記運搬制御情報を生成する、
付記1に記載の制御装置。
(付記3)
取得された前記運搬物品情報で表される前記特性に基づいて、前記無人移動機が前記物品を搭載して前記運搬ルートを移動する際の挙動に係る動作モードを決定する動作モード決定部、をさらに備え、
前記生成部は、決定された前記動作モードを表す動作モード情報をさらに含み、かつ、前記無人移動機に前記動作モードで前記運搬ルートを移動させる、前記運搬制御情報を生成する、
付記2に記載の制御装置。
(付記4)
取得された前記運搬物品情報で表される前記特性に基づいて、前記無人移動機が前記運搬ルートを移動して前記物品を運搬する運搬時間を決定するスケジュール決定部、をさらに備え、
前記生成部は、決定された前記運搬時間を表すスケジュール情報をさらに含み、かつ、前記無人移動機に前記運搬ルートを前記運搬時間内に移動させる、前記運搬制御情報を生成する、
付記2に記載の制御装置。
(付記5)
取得された前記運搬物品情報で表される前記特性に基づいて、前記無人移動機が前記物品を運搬し終える終了時刻を決定するスケジュール決定部、をさらに備え、
前記生成部は、決定された前記終了時刻を表すスケジュール情報をさらに含み、かつ、前記無人移動機に前記運搬ルートを前記終了時刻までに移動させる、前記運搬制御情報を生成する、
付記2に記載の制御装置。
(付記6)
前記運搬物品情報は、前記物品の運搬を終了させる時間帯として指定された指定時間帯をさらに表し、
取得された前記運搬物品情報で表される前記特性と前記指定時間帯とに基づいて、前記無人移動機が前記物品を運搬し始める開始時刻を決定するスケジュール決定部、をさらに備え、
前記生成部は、決定された前記開始時刻と、前記指定時間帯と、を表すスケジュール情報をさらに含み、かつ、前記無人移動機に前記開始時刻に移動を開始させ、かつ、前記無人移動機に前記運搬ルートの移動を前記指定時間帯に含まれる時刻に完了させる、前記運搬制御情報を生成する、
付記2に記載の制御装置。
(付記7)
取得された前記運搬物品情報で表される前記特性に基づいて、前記無人移動機による前記物品の受渡方法を決定する受渡方法決定部、をさらに備え、
前記生成部は、決定された前記受渡方法を表す受渡方法情報を含み、かつ、決定された前記受渡方法で前記無人移動機に前記物品を受け渡させる、前記運搬制御情報を生成する、
付記1から6のいずれか一つに記載の制御装置。
(付記8)
取得された前記運搬物品情報で表される前記特性に基づいて、前記物品を運搬させる前記無人移動機を、複数の無人移動機から決定する無人機決定部、をさらに備え、
前記生成部は、決定された前記無人移動機を識別する機体識別情報を含み、かつ、決定された前記無人移動機に前記物品を運搬させる、前記運搬制御情報を生成する、
付記1から7のいずれか一つに記載の制御装置。
(付記9)
前記物品の前記特性は、前記物品の衝撃耐性を含む、
付記1から8のいずれか一つに記載の制御装置。
(付記10)
前記物品の前記特性は、前記物品の温度を管理する必要性の有無を含む、
付記1から9のいずれか一つに記載の制御装置。
(付記11)
前記無人移動機は、無人航空機又は無人地上車両である、
付記1から10のいずれか一つに記載の制御装置。
(付記12)
生成された前記運搬制御情報に基づいて、前記物品を運搬させる前記無人移動機に、前記物品を運搬させる制御を行う制御部、をさらに備える、
付記1から11のいずれか一つに記載の制御装置。
(付記13)
前記取得部は、前記無人移動機が前記物品を運搬し始めてから、前記無人移動機の姿勢を表す姿勢情報、及び、前記無人移動機の前記姿勢に対する制御内容を表す姿勢制御情報の少なくとも1つを取得し、
取得された前記姿勢情報で表される前記姿勢の変化、及び、前記姿勢制御情報で表される前記制御内容の変化の少なくとも1つに基づいて、前記無人移動機に搭載された前記物品の重心の位置の変化を検知する検知部と、
前記変化が検知されると、決定された前記運搬ルートを、当該運搬ルートよりも前記無人移動機が速度を変更させる回数が少ない運搬ルートに変更するルート変更部と、
変更された前記運搬ルートを移動させる制御を前記無人移動機に行う制御部と、をさらに備える、
付記2から6のいずれか一つに記載の制御装置。
(付記14)
物品を運搬する無人移動機であって、
運搬される物品の特性を表す運搬物品情報を取得する取得部と、
取得された前記運搬物品情報で表される前記特性に基づいて、前記物品を前記無人移動機に運搬させる運搬制御情報を生成する生成部と、を備える、
無人移動機。
(付記15)
制御装置が実行する方法であって、
運搬される物品の特性を表す運搬物品情報を取得する取得ステップと、
取得された前記運搬物品情報で表される前記特性に基づいて、前記物品を無人移動機に運搬させる運搬制御情報を生成する生成ステップと、を有する、
方法。