IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社Preferred Roboticsの特許一覧

<>
  • 特開-自律走行車、被搬送体及び表示媒体 図1
  • 特開-自律走行車、被搬送体及び表示媒体 図2
  • 特開-自律走行車、被搬送体及び表示媒体 図3
  • 特開-自律走行車、被搬送体及び表示媒体 図4
  • 特開-自律走行車、被搬送体及び表示媒体 図5
  • 特開-自律走行車、被搬送体及び表示媒体 図6
  • 特開-自律走行車、被搬送体及び表示媒体 図7
  • 特開-自律走行車、被搬送体及び表示媒体 図8
  • 特開-自律走行車、被搬送体及び表示媒体 図9
  • 特開-自律走行車、被搬送体及び表示媒体 図10
  • 特開-自律走行車、被搬送体及び表示媒体 図11
  • 特開-自律走行車、被搬送体及び表示媒体 図12
  • 特開-自律走行車、被搬送体及び表示媒体 図13
  • 特開-自律走行車、被搬送体及び表示媒体 図14
  • 特開-自律走行車、被搬送体及び表示媒体 図15
  • 特開-自律走行車、被搬送体及び表示媒体 図16
  • 特開-自律走行車、被搬送体及び表示媒体 図17
  • 特開-自律走行車、被搬送体及び表示媒体 図18
  • 特開-自律走行車、被搬送体及び表示媒体 図19
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024108294
(43)【公開日】2024-08-13
(54)【発明の名称】自律走行車、被搬送体及び表示媒体
(51)【国際特許分類】
   G05D 1/43 20240101AFI20240805BHJP
   G06K 7/10 20060101ALI20240805BHJP
【FI】
G05D1/02 J
G06K7/10 372
G06K7/10 412
【審査請求】未請求
【請求項の数】26
【出願形態】OL
(21)【出願番号】P 2023012586
(22)【出願日】2023-01-31
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 令和4年11月7日、Okamura Grand Fair 2023、ホテルニューオータニにて公開 令和5年1月5日(現地時間)、コンシューマー エレクトロニクス ショー(CES) 2023、ラスヴェガス コンベンション センターにて公開
(71)【出願人】
【識別番号】521499860
【氏名又は名称】株式会社Preferred Robotics
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】近藤 豊
(72)【発明者】
【氏名】寺田 耕志
(72)【発明者】
【氏名】日台 健一
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301AA02
5H301AA10
5H301BB05
5H301CC03
5H301CC06
5H301CC10
5H301DD05
5H301DD17
5H301FF15
5H301GG06
5H301GG07
5H301GG08
5H301GG09
5H301GG10
5H301GG28
5H301HH10
5H301HH19
5H301LL01
5H301LL06
5H301LL11
(57)【要約】
【課題】搬送対象に関する情報を容易に取得可能な自律走行車を提供する。
【解決手段】自律走行車が、1以上のマーカを備えた搬送対象の1以上の画像を取得するセンサと、自律走行車を制御する制御装置と、を備え、制御装置は、1以上の画像に含まれる1以上のマーカの認識結果に基づいて、搬送対象を識別し、搬送対象の識別結果に基づいて、自律走行車による搬送対象の搬送を制御する。
【選択図】図14
【特許請求の範囲】
【請求項1】
自律走行車であって、
1以上のマーカを備えた搬送対象の1以上の画像を取得するセンサと、
前記自律走行車を制御する制御装置と、を備え、
前記制御装置は、
前記1以上の画像に含まれる前記1以上のマーカの認識結果に基づいて、前記搬送対象を識別し、
前記搬送対象の識別結果に基づいて、前記自律走行車による前記搬送対象の搬送を制御する、
自律走行車。
【請求項2】
前記制御装置は、
前記識別結果に基づいて、前記搬送対象が利用者からの指示に基づいて特定された搬送対象であるか否かを判別する、
請求項1に記載の自律走行車。
【請求項3】
前記1以上のマーカは、前記自律走行車が前記搬送対象を搬送可能な状態にするための進行方向から前記センサを用いて前記1以上の画像を取得可能な位置に配置されており、
前記1以上のマーカは、少なくとも前記進行方向に対して手前側に配置された1以上のマーカと前記進行方向に対して奥側に配置された1以上のマーカとを含む、
請求項1に記載の自律走行車。
【請求項4】
前記奥側に配置された1以上のマーカを認識することで取得される情報量は、前記手前側に配置された1以上のマーカを認識することで取得される情報量より多い、
請求項3に記載の自律走行車。
【請求項5】
前記制御装置は、
前記手前側に配置された1以上のマーカの認識結果を用いて、前記搬送対象が利用者からの指示に基づいて特定された搬送対象に合致するか否かを判別した後、
前記奥側に配置された1以上のマーカの認識結果を用いて、前記搬送対象が前記特定された搬送対象に合致するか否かを判別する、
請求項3に記載の自律走行車。
【請求項6】
前記制御装置は、
前記手前側に配置された1以上のマーカの認識結果に基づいて、前記自律走行車が前記搬送対象を搬送可能な状態にするための制御を継続するか否かを判別する、
請求項3に記載の自律走行車。
【請求項7】
前記制御装置は、
前記奥側に配置された1以上のマーカの認識結果に基づいて、前記自律走行車が前記搬送対象を搬送可能な状態にするための制御を継続するか否かを判別する、
請求項6に記載の自律走行車。
【請求項8】
前記制御装置は、
前記手前側に配置された1以上のマーカの認識結果に基づいて、前記搬送対象との位置関係を認識し、
前記位置関係に基づいて、前記進行方向に前記自律走行車を移動させる制御を行う、
請求項3に記載の自律走行車。
【請求項9】
前記1以上のマーカは、前記搬送対象の識別情報以外の情報を含み、
前記制御装置は、前記識別情報以外の情報を用いて、前記自律走行車による前記搬送対象の搬送を制御する、
請求項1に記載の自律走行車。
【請求項10】
前記制御装置は、
前記1以上のマーカの認識結果に基づいて、前記自律走行車が備える1以上のセンサで取得したデータの一部を無効にし、
前記一部を無効にしたデータを用いて前記搬送対象を搬送する、
請求項1に記載の自律走行車。
【請求項11】
前記制御装置は、
前記1以上のセンサの測定範囲に前記搬送対象の一部が入るとき、前記一部に対応するデータを無効にする、
請求項10に記載の自律走行車。
【請求項12】
前記1以上のセンサは、前記1以上の画像を取得するセンサ、ToF方式のカメラ、LiDAR又はマイクのいずれか1つである、
請求項11に記載の自律走行車。
【請求項13】
前記制御装置は、
前記識別結果の正当性を検証する、
請求項1に記載の自律走行車。
【請求項14】
前記制御装置は、
前記識別結果を登録済みの搬送対象の識別情報と照合することで前記正当性を検証する、
請求項13に記載の自律走行車。
【請求項15】
前記1以上のマーカは、第1のマーカと第2のマーカとを含み、
前記制御装置は、
少なくとも、前記第1のマーカを認識することで取得した情報と前記第2のマーカを認識することで取得した情報の関係性、又は、前記第1のマーカと前記第2のマーカの間の距離のいずれかに基づいて、前記正当性を検証する、
請求項13に記載の自律走行車。
【請求項16】
前記搬送対象とドッキングすることで前記搬送対象を搬送する、
請求項1乃至請求項15のいずれか1項に記載の自律走行車。
【請求項17】
請求項16に記載の自律走行車に搬送される搬送対象が1以上のマーカを備えるための表示媒体であって、
前記1以上のマーカが形成され、
前記1以上のマーカは、前記搬送対象の識別情報を含み、
前記識別情報は、前記自律走行車による前記搬送対象の搬送の制御に利用される、
表示媒体。
【請求項18】
前記自律走行車が前記搬送対象を搬送可能な状態にするための進行方向に対して、手前側に配置された1以上のマーカと奥側に配置された1以上のマーカとを前記搬送対象が備えるための、
請求項17に記載の表示媒体。
【請求項19】
前記奥側に配置された1以上のマーカを前記自律走行車が認識することで取得される情報量は、前記手前側に配置された1以上のマーカを前記自律走行車が認識することで取得される情報量より多い、
請求項18に記載の表示媒体。
【請求項20】
前記搬送対象が、前記手前側に配置された1以上のマーカとして、第1のマーカと第2のマーカとを備え、前記奥側に配置された1以上のマーカとして、第3のマーカと第4のマーカとを備えるための表示媒体であって、
前記第1のマーカと前記第3のマーカが、前記進行方向に沿って配列され、
前記第2のマーカと前記第4のマーカが、前記進行方向に沿って配列され、
前記第1のマーカと前記第2のマーカが、前記進行方向と交差する方向に沿って配列され、
前記第3のマーカと前記第4のマーカは、前記進行方向と交差する方向に沿って配列される、
請求項18に記載の表示媒体。
【請求項21】
前記自律走行車が前記進行方向とは逆方向から前記搬送対象を搬送可能な状態にするための第2進行方向に対して、手前側に配置された1以上のマーカと奥側に配置された1以上のマーカとを前記搬送対象が備えるための、
請求項18に記載の表示媒体。
【請求項22】
請求項16に記載の自律走行車に搬送される被搬送体であって、
1以上のマーカを備え、
前記1以上のマーカは、前記被搬送体の識別情報を含み、
前記識別情報は、前記自律走行車による前記被搬送体の搬送の制御に利用される、
被搬送体。
【請求項23】
前記自律走行車が前記被搬送体を搬送可能な状態にするための進行方向に対して、手前側に配置された1以上のマーカと奥側に配置された1以上のマーカとを備える、
請求項22に記載の被搬送体。
【請求項24】
前記奥側に配置された1以上のマーカを前記自律走行車が認識することで取得される情報量は、前記手前側に配置された1以上のマーカを前記自律走行車が認識することで取得される情報量より多い、
請求項23に記載の被搬送体。
【請求項25】
前記手前側に配置された1以上のマーカとして、第1のマーカと第2のマーカと、
前記奥側に配置された1以上のマーカとして、第3のマーカと第4のマーカと、を備え、
前記第1のマーカと前記第3のマーカが、前記進行方向に沿って配列され、
前記第2のマーカと前記第4のマーカが、前記進行方向に沿って配列され、
前記第1のマーカと前記第2のマーカが、前記進行方向と交差する方向に沿って配列され、
前記第3のマーカと前記第4のマーカは、前記進行方向と交差する方向に沿って配列される、
請求項23に記載の被搬送体。
【請求項26】
前記自律走行車が前記進行方向とは逆方向から前記被搬送体を搬送可能な状態にするための第2進行方向に対して、手前側に配置された1以上のマーカと奥側に配置された1以上のマーカとを備える、
請求項23に記載の被搬送体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、自律走行車、被搬送体及び表示媒体に関する。
【背景技術】
【0002】
無人搬送車等の自律走行車は、例えば物品が載置された棚や牽引台車等の搬送対象を、ユーザによる運転操作を伴うことなく、自動で搬送することができる。自律走行車が搬送中の搬送対象の外形寸法を正確に把握していると、周囲の物体との衝突を回避し、効率的に搬送することが可能となる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2019-148881号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、搬送対象に関する情報を容易に取得可能な自律走行車を提供する。
【課題を解決するための手段】
【0005】
本開示の一態様による自律走行車は、1以上のマーカを備えた搬送対象の1以上の画像を取得するセンサと、自律走行車を制御する制御装置と、を備え、制御装置は、1以上の画像に含まれる1以上のマーカの認識結果に基づいて、搬送対象を識別し、搬送対象の識別結果に基づいて、自律走行車による搬送対象の搬送を制御する。
【図面の簡単な説明】
【0006】
図1】自律走行車の利用シーンの一例を示す図である。
図2】自律走行車の外観構成の一例を示す図である。
図3】自律走行車の内部構成及び下面構成の一例を示す図である。
図4】自律走行車が搬送対象となる棚とドッキングする様子を示した図である。
図5】棚のうち最下段より下部の概略構成の一例を示す正面図である。
図6】棚のキャスタと自律走行車のドッキング機構との位置関係を示す図である。
図7】ドッキング時のドッキング機構の動作例を示す図である。
図8】バーコードの表示位置の一例を示す図である。
図9】ドッキング時にカメラで撮影される画像の一例を示す図である。
図10】ドッキング時にカメラで撮影される画像の一例を示す図である。
図11】ドッキング時にカメラで撮影される画像の一例を示す図である。
図12】制御装置の機能構成の一例を示すブロック図である。
図13】搬送対象管理テーブルの一例を示す図である。
図14】ドッキング制御部の機能構成の一例を示すブロック図である。
図15】LiDARのセンサ無効領域の一例を示す図である。
図16】カメラのセンサ無効領域の一例を示す図である。
図17】自律走行処理の一例を示すフローチャートである。
図18】搬送対象探索処理の一例を示すフローチャートである。
図19】制御装置のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【0007】
以下、本開示の各実施形態について添付の図面を参照しながら説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省略する。
【0008】
なお、以下の説明において、x方向、y方向、z方向は互いに垂直な方向である。x方向及びy方向は水平方向であり、z方向は鉛直方向である。x方向は、自律走行車の幅方向である。y方向は、自律走行車の前後方向である。z方向は、自律走行車の高さ方向である。また、以下では説明の便宜上、x正方向側を右側、x負方向側を左側、y正方向側を奥側、y負方向側を手前側、z正方向側を上側、z負方向側を下側とも表現する場合がある。
【0009】
[実施形態]
<自律走行車の利用シーン>
はじめに、実施形態に係る自律走行車の利用シーンについて説明する。図1は、自律走行車の利用シーンの一例を示す図である。図1に示すように、自律走行車120は、例えば、自宅のリビング等の所定空間100において、ユーザ110がソファでくつろぐシーン等で利用される。
【0010】
図1に示す利用シーンは、例えば、ユーザ110がノートPCを使用しようとして、自律走行車120に対して、
・ウェイクワードを発声した後、
・「ノートPCを持ってきて」と発声した場合(すなわち、音声による搬送指示(以降、音声指示と呼ぶ)が行われた場合)、
を示している。この場合、自律走行車120は、被搬送体の一例であるキャスタ付きの棚130~150の中から、ノートPCや書物等の仕事道具131が載置された棚130を搬送対象として特定し、棚130とドッキングした後、棚130をユーザ110の近傍の位置まで搬送する。なお、自律走行車120は、ウェイクワードなしに行われた音声指示に従うよう構成されてもよい。
【0011】
また、自律走行車120は、ユーザ110がスマートフォン、タブレット等の情報処理端末で専用のアプリケーションを操作することで行われた搬送指示(すなわち、端末操作による搬送指示(以降、操作指示と呼ぶ))に従うよう構成されてもよい。この場合、自律走行車120は、無線LAN(Local Area Network)又は近距離無線通信等の通信ネットワークを介して、ユーザ110が保持する情報処理端末と接続し、その情報処理端末から搬送指示を示す制御信号を受信する。
【0012】
このように、自律走行車120を利用すれば、ユーザ110は、音声又は端末操作による搬送指示を行うだけで、ソファから動くことなく、離れた位置にあるノートPCを手元に置くことができる。
【0013】
なお、図1の例は、ユーザ110が搬送指示を行った時点で、棚130が、所定空間100内のアンカ170の位置に待機していた場合を示している。また、図1の例は、アンカ170の位置に待機していた棚130を、ユーザ110の近傍の位置172まで搬送する際に、最短の搬送経路上に、障害物として、ごみ箱160が置かれていた場合を示している。
【0014】
このような場合、自律走行車120は、棚130の搬送中にごみ箱160を検知し、点線矢印171に示す搬送経路で棚130を搬送することで、ごみ箱160との衝突を回避する。
【0015】
また、図1には示していないが、自律走行車120が棚130をユーザ110の近傍の位置172まで搬送し、ユーザ110がノートPCを棚130から取り出した後、自律走行車120に対して、「棚を元の位置に戻して」との音声指示を行ったとする。この場合、自律走行車120は、棚130を、アンカ170の位置まで搬送する。なお、棚を元の位置に戻すための搬送指示は、端末操作により行われてもよい。
【0016】
また、図1の例では、自律走行車120が搬送対象として棚130を搬送する場合について示したが、ユーザ110の搬送指示の内容によっては、自律走行車120が、棚140または棚150を搬送対象として特定して搬送してもよい。また、図1の例では、自律走行車120が、ユーザ110の近傍の位置を棚130の搬送先の位置として特定したが、ユーザ110の搬送指示の内容によっては、自律走行車120が、所定空間100内に設置された所定の設置物(例えば、家具等)の近傍の位置や、所定空間100内の任意の位置を、棚130の搬送先の位置として特定してもよい。
【0017】
<自律走行車の外観構成>
次に、自律走行車120の外観構成について説明する。図2は、自律走行車の外観構成の一例を示す図である。
【0018】
図2(a)に示すように、自律走行車120は、全体として直方体の形状を有しており、搬送対象となる棚の最下段の下側に進入できるよう、高さ方向(z軸方向)及び幅方向(x軸方向)の寸法が規定されている。なお、自律走行車120の形状は直方体に限定されない。
【0019】
自律走行車120の上面210には、搬送対象となる棚とドッキングするためのドッキング機構を構成する部材であるロック装置211が設置されている。また、自律走行車120の上面210には、LiDAR(Laser Imaging Detection and Ranging)212が設置されている。LiDAR212は、自律走行車120の上面210の高さ位置における、前後方向(y軸方向)及び幅方向(x軸方向)を測定範囲としており、LiDAR212による測定結果を用いることで、当該測定範囲にある障害物等を検出することができる。
【0020】
自律走行車120の前面220には、前面RGBカメラ221と、ToF方式(Time of Flight方式)のカメラ(ToFカメラ222)とが設置されている。なお、本実施形態の前面RGBカメラ221は、ToFカメラ222の上側に設置されるが、前面RGBカメラ221の設置位置は、この位置に限定されない。
【0021】
前面RGBカメラ221は、自律走行車120が前進方向に移動する際、例えば、
・搬送対象となる棚(例えば、棚130)、
・搬送先の近傍にいるユーザ(例えば、ユーザ110)、搬送先の近傍にある設置物、
・搬送経路上の障害物(例えば、ごみ箱160)、
等を撮影し、カラー画像を出力する。
【0022】
ToFカメラ222は距離画像センサの一例であり、マルチパス問題を回避するために、自律走行車120が走行する走行面(図2(b)に示す床面240)が測定範囲に含まれない程度に、自律走行車120の前面220において上向きに設置される。マルチパス問題の一例として、光源から出射した光が床面240を経由して他の対象物で反射し、その反射光をToFカメラ222が受光することによる測定精度の悪化が挙げられる。本実施形態において、ToFカメラ222の自律走行車120の前面220における上向きの設置角度Θは、床面240に対して約50度であるとする。
【0023】
また、ToFカメラ222は、自律走行車120が前進方向に移動する際、少なくともドッキングした棚が通過する領域(ドッキングした棚の高さ×ドッキングした棚の幅分の領域)を測定範囲として障害物等を撮影し、距離画像(深度画像)を出力する。なお、本実施形態において、ToFカメラ222の垂直画角θvは70度、水平画角θhは90度であるとする。
【0024】
自律走行車120の下面230には、駆動輪231と、従動輪232とが設置され、自律走行車120を支持する。
【0025】
駆動輪231は、幅方向(x軸方向)に1つずつ設置されており(幅方向に計2つ設置されており)、それぞれが独立してモータ駆動されることで、自律走行車120を、前進/後退方向(y軸方向)に移動させることができる。また、駆動輪231は、自律走行車120を、z軸周りに旋回させることができる。
【0026】
従動輪232は、幅方向(x軸方向)に1つずつ(幅方向に計2つ)設置されている。また、従動輪232は、自律走行車120に対して、それぞれがz軸周りに旋回可能に設置されている。なお、従動輪232の設置位置や設置数は、上記以外でもよい。
【0027】
<自律走行車の内部構成及び下面構成の詳細>
次に、自律走行車の内部構成及び下面構成の詳細について説明する。図3は、自律走行車の内部構成及び下面構成の一例を示す図である。
【0028】
このうち、図3(a)は、自律走行車120の上面カバーを取り外して、真上から見た様子を示している。以下、図3(a)を参照しながら、自律走行車120の内部を構成する各部について説明する。
【0029】
(a-1)第1制御基板及び第2制御基板
はじめに第1制御基板及び第2制御基板について説明する。図3(a)に示すように、自律走行車120は、第1制御基板311及び第2制御基板312を有する。本実施形態において、第1制御基板311は、例えば、電子デバイスを制御し、第2制御基板312は、例えば、駆動デバイスを制御する。ただし、第1制御基板311と第2制御基板312の役割区分はこれに限定されない。
【0030】
なお、図3(a)の例では、第1制御基板311と第2制御基板312とが、分かれて設置される場合を示しているが、第1制御基板311と第2制御基板312とは、1つの基板として一体的に設置されてもよい。第1制御基板311と第2制御基板312とを分けて設置するか、一体的に設置するかに関わらず、本実施形態では、第1制御基板311が有する機能と第2制御基板312が有する機能の両方を備える装置を、制御装置310と称す。
【0031】
(a-2)ドッキング機構
次に、ドッキング機構について説明する。図3(a)に示すように、自律走行車120は、搬送対象となる棚とドッキングするためのドッキング機構として、上下動可能なロック装置211を有する。なお、本実施形態のドッキング機構はソレノイド式のロック装置を用いているが、ロック装置の上下動を、ソレノイド以外の電磁アクチュエータで行っても、ラックアンドピニオン機構、台形ねじ機構、空気圧駆動機構など、他のアクチュエータで行ってもよい。
【0032】
ロック装置211の具体的な構成は、例えば、下記参考文献1に開示されている。
【0033】
〔参考文献1〕特開2022-144293号公報
【0034】
本実施形態において、ロック装置211は、幅方向(x軸方向)に1つずつ設置された駆動輪231の幅方向(x軸方向)の中心位置であって、駆動輪231の回転軸上に設置される(図3(a)、(b)の一点鎖線参照)。
【0035】
ロック装置211は、圧縮コイルばねを内蔵しており、ソレノイドがONになるとロック装置211が下方に移動し、圧縮コイルばねが縮む。一方、ロック装置211は、ソレノイドがOFFになると、圧縮コイルばねの圧縮力により、上方(z軸方向、図3(a)の場合は紙面手前側)に移動する。なお、ソレノイドのON/OFFは、制御装置310によって制御される。
【0036】
ロック装置211は、自律走行車120が、搬送対象となる棚の最下段の下側に進入した際に、搬送対象となる棚に取り付けられた凸状の突起(詳細は後述)にロック装置211の凹部を係合させることが可能であるか否かを判定する。
【0037】
自律走行車120は、ロック装置211を上方に移動させることが可能であると判定した場合に、ソレノイドをOFFにする。なお、本実施形態ではフォトリフレクタを用いてロック装置211と凸状の突起との対面状態を検出するようにしているが、フォトリフレクタ以外の方式で、この検出を行うようにしてもよい。フォトリフレクタ以外の方式としては、例えば、カメラや物理スイッチ、磁気式センサ、超音波センサ等を用いた方式が挙げられる。
【0038】
これにより、ロック装置211が凸状の突起に向けて移動し、ロック装置211が凸状の突起に係合する。この結果、自律走行車120と、搬送対象の棚とのドッキングが完了する。
【0039】
なお、上述したように、ロック装置211は、幅方向(x軸方向)に1つずつ設置された駆動輪231の幅方向(x軸方向)の中心位置に設置されている(幅方向において対称である)。このため、自律走行車120は、搬送対象となる棚の最下段の下側へ進入する際、前進方向で進入することも後退方向で進入することもできる。
【0040】
一方、自律走行車120が、搬送対象の棚とドッキングした状態で、ソレノイドをONにすることで、ロック装置211を下方に移動させると、自律走行車120と搬送対象の棚との間のドッキングが解除される。
【0041】
(a-3)各種入出力装置
次に、各種入出力装置について説明する。図3(a)に示すように、自律走行車120は、各種入出力装置として、上述したLiDAR212、前面RGBカメラ221、ToFカメラ222に加えて、後面RGBカメラ320、マイク301~304、スピーカ305~306を有する。
【0042】
このうち、LiDAR212、前面RGBカメラ221、ToFカメラ222の設置位置、設置方向、測定範囲、測定対象等については説明済みであるため、ここでは説明を省略する。
【0043】
後面RGBカメラ320は、自律走行車120が後退方向に移動する際、例えば、
・搬送対象となる棚(例えば、棚130)、
・搬送対象の棚の周辺の障害物、
等を撮影し、カラー画像を出力する。
【0044】
なお、前面RGBカメラ221及び後面RGBカメラ320は、カラー画像の代わりにグレースケール画像を出力してもよい。また、前面RGBカメラ221及び後面RGBカメラ320は、ステレオカメラでもよい。
【0045】
マイク301~304は、音入力装置の一例であり、自律走行車120のコーナ部4か所(前面側2か所、後面側2か所)にそれぞれ設置され、それぞれの方向からの音を検出する。このように、自律走行車120のコーナ部4か所にマイク301~304を設置することで、自律走行車120の現在の位置及び向きに対して、音声指示を行ったユーザ110がいずれの方向にいるのかを判定し、ユーザ110の位置を推定することができる。
【0046】
スピーカ305~306は、音声出力装置の一例であり、自律走行車120の側面方向に向かって、音声を出力する。スピーカ305~306は、例えば、ユーザ110による音声指示に対して、自律走行車120が認識したタスクの内容を確認するための音声を出力する。
【0047】
一方、図3(b)は、自律走行車120を下面から見た様子を示している。以下、図3(b)を参照しながら、自律走行車120の下面を構成する各部について説明する。
【0048】
(b-1)駆動輪
はじめに、駆動輪231について説明する。図3(b)に示すように、自律走行車120は、幅方向(x軸方向)に1つずつ設置された駆動輪231を有する。上述したように、駆動輪231は、それぞれが独立してモータ駆動されることで、自律走行車120を、前進/後退方向(y軸方向)に移動させたり、z軸周りに旋回させたりすることができる。
【0049】
具体的には、駆動輪231の両方を正転させることで、自律走行車120を前進方向に移動させ、駆動輪231の両方を逆転させることで、自律走行車120を後退方向に移動させることができる。また、駆動輪231の一方を正転させ、他方を逆転させることで、自律走行車120を旋回させることができる。
【0050】
なお、上述したように、駆動輪231の一方の回転軸と他方の回転軸とは、同軸上に形成されており、ロック装置211は、同軸上において、駆動輪231の一方と駆動輪231の他方との中心位置に設置されている。このため、駆動輪231の一方を正転させ、駆動輪231の他方を逆転させた場合、自律走行車120は、ロック装置211を中心に、旋回することになる。
【0051】
(b-2)従動輪
次に、従動輪232について説明する。図3(b)に示すように、自律走行車120は、幅方向(x軸方向)に1つずつ設置された従動輪232を有する。上述したように、従動輪232は、それぞれが、z軸周りに旋回可能に設置されている。このため、例えば、自律走行車120が前進方向または後退方向に移動した後に旋回する場合、従動輪232は、その向きを旋回方向に直ちに追従させることができる。また、例えば、自律走行車120が旋回した後に前進方向または後退方向に移動する場合、従動輪232は、その向きを前進または後退方向に直ちに追従させることができる。
【0052】
<ドッキングの概要>
次に、ドッキングの概要について説明する。図4は、自律走行車が搬送対象となる棚とドッキングする様子を示した図である。このうち、図4(a)は、自律走行車120が、アンカ170の位置に待機する、搬送対象となる棚130とドッキングする直前の様子を示したものである。
【0053】
図4(a)に示すように、棚130は段数が3段の棚であり、最下段400の下側には、フレームガイド410、420が、自律走行車120の幅に応じた間隔で、略平行に取り付けられている。これにより、自律走行車120が、搬送対象となる棚130の最下段400の下側に進入する際の進入方向が規定される。また、フレームガイド410、420は、自律走行車120が搬送対象となる棚130を搬送する際、幅方向のガイド部として機能し、棚130が自律走行車120に対して幅方向にずれることを防止する。
【0054】
進入方向は、自律走行車120が搬送対象を搬送可能な状態とするための進入方向である。ここで、搬送可能な状態とは、自律走行車120が搬送対象とドッキングしている状態を含む。また、搬送可能な状態とは、自律走行車が搬送対象を押したり、持ち上げたり、掴んだり、載せたり、牽引したり等により搬送できる状態を含む。また、搬送とは、自律走行車によって、搬送対象を別の場所に移動させることを含む。なお、本実施形態では、自律走行車120が棚130とドッキングするために最下段400の下側に進入するため、「進入方向」と表現しているが、自律走行車120が搬送対象に進入せずに搬送可能な状態とする態様であれば、「進行方向」と表現してもよい。
【0055】
また、棚130の足元には、キャスタ431~434が旋回可能に取り付けられている。これにより、自律走行車120は、ドッキングした棚130を容易に搬送することができる。
【0056】
一方、図4(b)は、自律走行車120が搬送対象となる棚130にドッキングした後の様子を示したものである。図4(b)では、自律走行車120の前面220が棚130の各段よりも前進方向に突出し、棚130の格段によって覆われていないが、棚130の形状又は寸法によっては、少なくとも、前面RGBカメラ221、ToFカメラ222、LiDAR212又は後面RGBカメラ320のいずれかの測定範囲が、棚130の構成部材(棚板、柱、キャスタ等)によって遮られる可能性がある。そのため、本実施形態では、棚130の形状及び寸法を特定し、少なくとも、前面RGBカメラ221、ToFカメラ222、LiDAR212又は後面RGBカメラ320のいずれかの測定範囲に無効領域を設定してもよい。
【0057】
なお、LiDAR212は、自律走行車120が棚130にドッキングした状態で、幅方向の測定範囲について、フレームガイド410、420又は棚130の構成部材によって遮られる可能性がある。
【0058】
このため、棚130のフレームガイド410、420には、LiDAR212の幅方向の測定範囲を遮蔽する割合を低減するために、開口部411、421が設けられている。
【0059】
図5は、棚130のうち最下段400より下部の概略構成を示す正面図である。図5に示すように、一対のフレームガイド410、420の中間の位置、すなわち棚130の最下段400のx方向の中心位置には、最下段400の下面から下方に突出するように突起440(連結部の一例)が設けられている。本実施形態では、突起440は例えば円柱状であるが、この形状に限られない。
【0060】
上述の自律走行車120のロック装置211は上下動可能に構成され、ロック装置211が上昇したときに、この突起440に篏合することによって、自律走行車120と棚130とが連結される。すなわち、自律走行車120のロック装置211(ドッキング機構)と、棚130(搬送対象)の突起440(連結部)とが、本実施形態に係る「自律走行車と搬送対象との連結構造」を構成する。
【0061】
<棚のキャスタの位置と自律走行車のドッキング機構の位置との関係>
次に、棚130に旋回可能に取り付けられたキャスタ431~434と、自律走行車120のドッキング機構との位置関係について説明する。図6は、棚のキャスタと自律走行車のドッキング機構との位置関係を示す図である。
【0062】
このうち、図6(a)は、自律走行車120が棚130にドッキングした状態を、棚130の最下段400の真上から見た様子を示している。ただし、説明の便宜上、最下段400は、外枠のみを示している。また、図6(b)は、自律走行車120が棚130にドッキングした状態を、自律走行車120の前面220の方向から見た様子を示している。
【0063】
図6(a)に示すように、棚130の4つのキャスタ431~434は、最下段400の角部に旋回可能に取り付けられている。4つのキャスタ431~434の旋回範囲は、符号501~符号504で示す通りであり、符号501~符号504の旋回範囲の中心位置が、キャスタ431~434の旋回中心の位置となる。
【0064】
また、図6(a)に示すように、棚130の最下段400の下側には、ロック装置211の凹部が上方に移動した際に係合する凸状の突起440が設けられている。
【0065】
凸状の突起440に凹状のロック装置211が係合することで、自律走行車120が棚130を搬送する際に、棚130が自律走行車120に対して前進方向または後退方向にずれることを防止することができる。なお、本実施形態では、ロック装置211が上方に移動した状態にあるか否かを明示するために、上方に移動した状態にあるロック装置211については、図面上、黒色で示すこととする。
【0066】
ここで、凸状の突起440は、その中心位置が、棚130の4つのキャスタ431~434の各旋回中心に対する中心位置と一致するように構成されている(図6(a)、(b)の破線及び一点鎖線参照)。このため、自律走行車120が棚130にドッキングした状態では、ロック装置211の中心位置は、棚130の4つのキャスタ431~434の各旋回中心に対しても中心位置となる。
【0067】
上述したように、自律走行車120は、ロック装置211を中心に旋回するように構成されていることから、自律走行車120が旋回した場合、棚130は、4つのキャスタ431~434の各旋回中心に対する中心位置の周りを旋回することになる。つまり、自律走行車120が旋回した場合の、棚130の旋回範囲は符号520で示す範囲となる。
【0068】
<ドッキング機構の動作例>
次に、自律走行車120が棚130にドッキングする場合のドッキング機構の動作例(ここでは、アンカ170の位置に待機していた棚130にドッキングする場合の動作例)について説明する。図7は、ドッキング時のドッキング機構の動作例を示す図である。図6(a)と同様に、図7は、棚130の最下段400の真上から見た様子を示している。ただし、説明の便宜上、最下段400は、外枠のみを示している。
【0069】
図7(a)は、自律走行車120が搬送対象となる棚130の近傍の位置まで移動した後、前面RGBカメラ221により撮影されたカラー画像に基づき、棚130を探索した様子を示している。本実施形態では、予め棚130に施された、棚130を識別するためのマーカを、カラー画像から抽出することで、棚130を探索する。また、深層学習ベースの物体認識モデルを用いて、カラー画像に対してインスタンスセグメンテーションや物体検出を行った結果と組み合わせて、棚130を探索してもよい。
【0070】
更に、図7(a)は、自律走行車120が棚130を探索することができた場合に、棚130の位置と向き(フレームガイド410、420の向き)を認識し、ドッキングする際の進入方向に対して180度旋回した様子を示している。
【0071】
180度旋回した自律走行車120は、後面RGBカメラ320により撮影されたカラー画像に基づいて、ドッキングを開始する。
【0072】
具体的には、ソレノイドをONにすることで、ロック装置211を下方に移動させた後、後退方向への移動を開始し、最下段400の下側であって、フレームガイド410とフレームガイド420との間に進入する。
【0073】
図7(b)は、自律走行車120が後退方向に移動しながら、フレームガイド410とフレームガイド420との間に進入する様子を示している。進入中、自律走行車120は、突起440にロック装置211を係合することが可能であるか否かを判定する。突起440にロック装置211を係合することが可能であるか否かの判定は、例えば、ロック装置211が備えるフォトリフレクタの測定結果に基づいて行うことができる。
【0074】
図7(c)は、突起440にロック装置211を係合させることが可能な状態を示している。図7(c)に示す状態で、自律走行車120は、ソレノイドをOFFにすることで、ロック装置211を上方に移動させ、突起440に係合させる。これにより、自律走行車120による、棚130へのドッキングが完了する。
【0075】
<搬送対象の探索方法>
本実施形態では、自律走行車120は、予め棚130に施された1以上のマーカに基づいて、棚130を探索する。自律走行車120は、センサにより取得した1以上のマーカを含む1以上の画像からマーカを認識する。本実施形態におけるセンサは、前面RGBカメラ221、ToFカメラ222、LiDAR212又は後面RGBカメラ320の少なくとも1つを含む。
【0076】
本実施形態におけるマーカは、情報が符号化されたコード及び特定の情報を示さないマーク(図形)を含む。コードは、一例として、バーコード等の一次元コード、QRコード(登録商標)やカラーコード(一例として、カメレオンコード(登録商標))等の二次元コード、アラビア数字やアルファベット等を配列した数値列又は文字列、AR(Augmented Reality)マーカ等である。コードは、画像から認識可能な記号であればどのようなものでもよく、必要な情報量や認識精度等を鑑みて任意に選択することができる。マークは、一例として、基準マークのように、それ自体が情報量を持たない図形であってもよい。各マークは、位置、色、形状、大きさ等に意味を持たせることが可能である。
【0077】
複数のマーカは、棚130の所定の位置に配置される。所定の位置は、一例として、自律走行車120が棚130にドッキングするための進入方向から、前面RGBカメラ221又は後面RGBカメラ320で撮像可能な位置である。
【0078】
図8は、マーカの表示位置の一例を示す図である。図8は、棚130の最下段400の下面を真下から見た様子を示している。図8に示すように、本実施形態におけるマーカは、4個のバーコード451~454により構成され、棚130の最下段400の下側に配置される。なお、図8において紙面上側から下側に向かう方向が自律走行車120の進入方向に対応する。
【0079】
バーコード451~454のうち、1組のバーコード451,452は、棚130の最下段400の下面に垂直に取り付けられた板状部材461に表示される。同様に、バーコード451~454のうち、1組のバーコード453,454は、棚130の最下段400の下面に垂直に取り付けられた板状部材462に表示される。
【0080】
バーコード451~454は、シール等の媒体(以下、「表示媒体」とも呼ぶ)に形成され、その表示媒体を板状部材461,462に貼付することで表示される。バーコード451~454は、1組ずつ2枚の表示媒体に形成されてもよいし、1個ずつ4枚の表示媒体に形成されてもよい。すなわち、複数のマーカは、個別に表示媒体に形成されてもよいし、複数のマーカを組にして表示媒体に形成されてもよい。表示媒体は、搬送対象となる棚130が1以上のマーカを備える状態にできるものであれば、紙、木片、樹脂シート、樹脂パネル等、どのようなものでもよい。また、表示媒体によって、板状部材461の裏面に表示されるバーコード453,454(詳細は後述)、及び、板状部材462の裏面に表示されるバーコード451,452(詳細は後述)が形成されてもよい。
【0081】
表示媒体は、板状部材の素材、形状、表面状態(粗さ)等に応じて、素材や貼付方法を任意に選択することができる。例えば、バーコードを紙や樹脂シート等に印刷し、板状部材と密着させながら高透光性のシートでラッピングすることで、板状部材に付着させてもよい。また、バーコードを板状部材の表面に直接印刷してもよい。この場合、板状部材自体が表示媒体として機能する。
【0082】
さらに、バーコードを板状部材にレーザー刻印することで、バーコードを形成してもよい。板状部材にスリットを形成し、バーコードが形成された媒体を挿入することでバーコードを表示してもよい。バーコードを棚130(例えば、最下段400の下面又は側面)に直接印刷又は刻印することでバーコードを表示してもよい。バーコードを表示する部材は、板状のみならず、円筒状、角柱状、球状等、任意の形状としてもよい。
【0083】
板状部材461,462は、自律走行車120の進入方向に沿って配列される。また、板状部材461,462は、それぞれバーコードが表示された面が進入方向を向くように取り付けられる。板状部材461と板状部材462とは、突起440を挟んで対称の位置に配置される。
【0084】
これにより、進行方向に対して手前側に配置されたバーコード451,452は、進入方向と交差する方向に配列される。同様に、進行方向に対して奥側に配置されたバーコード453,454は、進入方向と交差する方向に配列される。なお、進入方向と交差する方向は、進入方向と直交する方向を含む。また、バーコード451とバーコード453とは、進入方向に沿って配列される。同様に、バーコード452とバーコード454とは、進入方向に沿って配列される。
【0085】
手前側のバーコード451,452は、奥側のバーコード453,454よりも少ない情報量を表現するように構成してもよい。図8に示した例では、手前側のバーコード451,452はそれぞれ2桁の情報を示し、奥側のバーコード453,454はそれぞれ4桁の情報を示している。したがって、図8に示した例では、バーコード451~454は、12桁の情報を表現することができる。なお、各バーコードが表現する情報量は一例であり、必要となる情報量と認識可能な範囲とを考慮して任意に定めることができる。
【0086】
バーコード451~454をそれぞれ同じ面積で表示すると、手前側のバーコード451,452の方が、奥側のバーコード453,454よりも低い解像度で表示することができる。これにより、手前側のバーコード451,452の認識率が向上し、より遠方から手前側のバーコード451,452を認識することが可能となる。
【0087】
また、奥側のバーコード453,454は、自律走行車120が棚130に接近しないと前面RGBカメラ221又は後面RGBカメラ320で撮像可能とならないものであってもよい。この場合、奥側のバーコード453,454は、近い距離から認識されることになる。そのため、奥側のバーコード453,454は解像度を高くし情報量を多くすることが可能となっている。
【0088】
なお、自律走行車120は棚130の最下段400の下側に進入方向の逆方向で進入することも可能である。そのため、複数のマーカは、進入方向からも逆方向からも同様に撮像されるように配置するとよい。図8の例であれば、板状部材461の表面にはバーコード451,452を表示し、裏面にはバーコード453,454を表示すればよい。同様に、板状部材462の表面にはバーコード453,454を表示し、裏面にはバーコード451,452を表示すればよい。
【0089】
また、複数のマーカは、表面に表示するバーコードと裏面に表示するバーコードとを異なる情報としてもよい。自律走行車120は、進入方向から進入するときと、逆方向から進入するときとで異なるコードを認識するため、進入方向を認識することが可能となる。
【0090】
左右に配列された複数のバーコードは、所定の方向のバーコードが相対的に大きい値を示すように制限してもよい。例えば、左側のバーコードの方が右側のバーコードよりも大きい値を示すように制限してもよいし、右側のバーコードの方が左側のバーコードよりも大きい値を示すように制限してもよい。例えば、複数の棚が左右に並んで待機しているとき、自律走行車120が棚の間を挟んで2個のバーコードを認識する(すなわち、左側の棚の右側のバーコードと右側の棚の左側のバーコードを1組のバーコードとして認識する)ことが起こり得る。この場合、上記の制限を満たさない場合、不正なコードの組合せとして破棄してもよい。このとき、2個のバーコードの間の距離を測定し、予め定めた範囲内でなければ不正なコードの組合せとして破棄してもよい。
【0091】
複数のバーコードの間に課す制限は、値の大小関係に限定されない。例えば、コードが表現可能な情報のうち、特定の位置に配置されるコードに含める情報を一部の範囲のみに制限してもよい。あるコードに含める情報の範囲は、組み合わせて配置される他のコードに含める情報により決定してもよい。
【0092】
複数のマーカは、棚130を識別する識別情報を含む。識別情報は、一例として、棚130を一意に特定するシリアル番号であってもよい。また、識別情報は、一例として、在庫保管単位(SKU; Stock Keeping Unit)であってもよい。図8に示した例では、手前側の2個のバーコード451,452がシリアル番号の下4桁を示し、奥側の1個のバーコード453がシリアル番号の上4桁を示している。
【0093】
複数のマーカは、棚130に関する付加情報を含んでもよい。付加情報は、一例として、識別情報のチェックサム、棚130の裏表を示す情報、棚130の属性情報、棚130の搬送条件等であってもよい。属性情報は、一例として、棚130の種類、形状、外形寸法、質量、段数(棚板の数)、重心位置、キャスタの種類、形状、電気的接点の有無、機能(電気的接点を介して実現可能な機能を示し、例えば、通信、電源供給等が挙げられる)、又は使用期限(レンタル契約で提供されており、正規に使用できる日数が限定される場合等)等であってもよい。搬送条件は、一例として、センサ無効領域、使用可能センサ種類、搬送速度等であってもよい。搬送条件は、例えば、識別情報に基づいて決定してもよい。付加情報はこれらに限定されず、情報量が許す範囲で任意の情報を設定することができる。図8に示した例では、バーコード454が4桁の付加情報を示しており、付加情報として識別情報のチェックサムが設定されている。
【0094】
棚130に施されたマーカ(バーコード451~454)は、自律走行車120と棚130との距離に応じて、前面RGBカメラ221からの見え方が異なる。図9乃至図11は、自律走行車120が棚130にドッキングする時に前面RGBカメラ221により撮像される画像の一例を示す図である。
【0095】
図9は、自律走行車120が搬送対象となる棚130の近傍の位置に到達し、探索を開始したときの画像の一例である。図9に示されているように、自律走行車120と棚130との間に距離がある場合、手前側のバーコード451,452のみが前面RGBカメラ221により撮像される。自律走行車120は、バーコード451,452が示すシリアル番号の下4桁を認識し、棚130を特定する。シリアル番号の下4桁で棚130を特定可能な場合、自律走行車120は、棚130の最下段400の下側へ進入を開始する。なお、自律走行車120は、180度旋回し、後退方向で進入してもよいし、そのまま前進方向で進入してもよい。また、棚130を特定可能とは、シリアル番号の下4桁が合致する棚130が1個以上ある場合を指す。
【0096】
図10は、自律走行車120が棚130に接近し、最下段400の下側に進入するときの画像の一例である。図10に示されているように、自律走行車120が棚130に接近すると、手前側のバーコード451,452に加えて、奥側のバーコード453,454が後面RGBカメラ320により撮像されるようになる。自律走行車120は、バーコード451~453が示す8桁のシリアル番号を認識し、棚130を再度特定する。棚130を特定できた場合、自律走行車120は、搬送対象として特定された棚のシリアル番号と一致するか否かを判定する。認識したシリアル番号が搬送対象とする棚のシリアル番号と異なる場合、自律走行車120は、ドッキングを停止する。認識したシリアル番号が搬送対象とする棚のシリアル番号と一致する場合、自律走行車120は、棚130の最下段400の下側への進入を続行する。
【0097】
図11は、自律走行車120が棚130の最下段400の下側に進入したときの画像の一例である。図11に示されているように、自律走行車120が棚130の最下段400の下側に進入すると、手前側のバーコード451,452は後面RGBカメラ320の画角から外れ、奥側のバーコード453,454のみが後面RGBカメラ320により撮像されるようになる。そのため、自律走行車120は、最初に手前側のバーコード451,452を認識したとき、シリアル番号の下4桁をメモリに保存する。
【0098】
その後、自律走行車120は、ドッキングが完了するまで、棚130の最下段400の下側への進入を継続する。ドッキングが完了すると、自律走行車120は、棚130のシリアル番号に基づいて、棚130の仕様を取得する。棚130の仕様は、例えば、棚130の形状又は外形寸法の少なくとも一方を含む。例えば、棚130のシリアル番号と仕様とを対応付けた情報を自律走行車120のメモリに予め記憶しておき、その情報を読み出すことで棚130の仕様を取得してもよい。また、例えば、棚130のシリアル番号と仕様とを対応付けた情報を外部のサーバに記憶しておき、棚130のシリアル番号に基づいて外部のサーバから棚130の仕様を取得してもよい。さらに、複数のマーカに棚130の形状及び外形寸法を示す付加情報が含まれる場合、バーコードの認識結果から棚130の仕様を取得してもよい。自律走行車120は、棚130を搬送先の位置へ搬送する間、棚130の仕様を考慮しながら障害物を回避する。
【0099】
<制御装置の機能構成>
次に、制御装置310の機能構成について説明する。図12は、制御装置の機能構成の一例を示す図である。制御装置310には制御プログラムがインストールされており、当該プログラムが実行されることで、制御装置310は、搬送指示取得部801、搬送対象特定部802、搬送対象位置特定部803、ドッキング制御部804、搬送先特定部805、搬送先位置特定部806及び搬送制御部807として機能する。また、制御装置310は、搬送対象記憶部810及び環境地図記憶部811を備える。
【0100】
搬送指示取得部801は、ユーザ110による搬送指示を取得する。搬送指示取得部801は、音声指示を取得する場合、マイク301~304で検出された音データから、ユーザ110が発声したウェイクワードを認識し、ウェイクワードに続く音声指示を取得する。搬送指示取得部801は、操作指示を取得する場合、ユーザ110が保持する情報処理端末から搬送指示を示す制御信号を受信する。搬送指示取得部801は、取得した搬送指示を、搬送対象特定部802及び搬送先特定部805に通知する。
【0101】
搬送対象特定部802は、搬送指示取得部801より通知された搬送指示を解析し、自律走行車120が搬送すべき物品(例えば、ノートPC)を特定する。また、搬送対象特定部802は、搬送対象記憶部810に記憶されている搬送対象管理テーブルを参照することで、特定した物品が載置された棚(例えば、棚130)を、搬送対象として特定する。更に、搬送対象特定部802は、特定した搬送対象となる棚を、搬送対象位置特定部803に通知する。
【0102】
なお、取得した搬送指示に、(搬送すべき物品の代わりに)搬送対象となる棚を示すワードが含まれている場合にあっては、搬送対象特定部802は、直接、搬送対象となる棚(例えば、棚130)を特定し、搬送対象位置特定部803に通知する。
【0103】
搬送対象位置特定部803は、搬送対象特定部802より通知された搬送対象となる棚が、現在、どの位置にあるかを、搬送対象記憶部810に記憶されている搬送対象管理テーブルを参照することで特定する。また、搬送対象位置特定部803は、特定した搬送対象となる棚の位置を示す座標(例えば、アンカ170の位置を示す座標)を、ドッキング制御部804に通知する。
【0104】
ドッキング制御部804は、搬送対象位置特定部803より通知された搬送対象となる棚の位置を示す座標と、自律走行車120の現在の位置を示す座標とに基づき自律走行車120を移動させ、搬送対象となる棚にドッキングするよう制御する。また、ドッキング制御部804は、自律走行車120による搬送対象となる棚へのドッキングが完了すると、搬送制御部807に、ドッキングが完了したことを通知する。
【0105】
搬送先特定部805は、搬送指示取得部801より通知された搬送指示を解析し、搬送対象となる棚の搬送先の位置(例えば、ユーザ110の近傍の位置)を特定する。また、搬送先特定部805は、特定した搬送先の位置を、搬送先位置特定部806に通知する。
【0106】
搬送先位置特定部806は、搬送先特定部805より通知された搬送先の位置が、所定空間100内の設置物(例えば、家具等)の近傍の位置である場合には、搬送先の位置を示す座標を、環境地図記憶部811に記憶されている環境地図を参照することで特定する。なお、環境地図には、所定空間100内の各設置物の座標が登録されている。
【0107】
また、搬送先位置特定部806は、搬送先特定部805より通知された搬送先が、ユーザ110の近傍の位置である場合には、
・マイク301~304において検出された音データのいずれから音声指示が取得されたかに基づいて判定した、ユーザ110がいる方向と、
・音声指示が取得された際の自律走行車120の現在の位置及び向きと、
に基づいて、搬送先の位置を示す座標を特定する。
【0108】
なお、自律走行車120は、
・LiDAR212により測定された測定結果、
・前面RGBカメラ221により撮影されたカラー画像、
・ToFカメラ222により撮影された距離画像、
の少なくとも1つに基づいて、所定空間100内における自車の位置及び向きを所定周期で算出する。
【0109】
更に、搬送先位置特定部806は、特定した搬送先の位置を示す座標を、搬送制御部807に通知する。
【0110】
搬送制御部807は、ドッキング制御部804よりドッキング完了の通知があった場合に、搬送先位置特定部806より通知された搬送先の位置を示す座標に基づいて、自律走行車120を移動させるよう制御する。
【0111】
搬送制御部807では、自律走行車120の移動中、LiDAR212による測定結果、前面RGBカメラ221によるカラー画像、ToFカメラ222による距離画像を参照する。搬送制御部807は、LiDAR212による測定結果及び後面RGBカメラ320によるカラー画像参照し、後退方向で自律走行車120を移動させてもよい。そして、搬送制御部807は、自律走行車120の現在の位置を算出するとともに、搬送経路上に障害物を検知した場合には、衝突を回避するよう制御する。
【0112】
また、搬送制御部807は、自律走行車120が搬送先の位置に到達した後は、搬送対象の棚とのドッキングを解除し、最下段400の下側から退出する。
【0113】
<搬送対象管理テーブルの具体例>
次に、搬送対象記憶部810に記憶された搬送対象管理テーブルの具体例について説明する。図13は、搬送対象管理テーブルの一例を示す図である。
【0114】
図13に示すように、搬送対象管理テーブル900は、搬送対象となる棚と、棚に載置されている物品とを対応付けるテーブルである。搬送対象管理テーブル900には、情報の項目の一例として、"棚情報"、"物品"、"タグ"が含まれる。ただし、"物品"、"タグ"は必須ではなく、搬送対象管理テーブル900に含まれていなくてもよい。
【0115】
"棚情報"には、更に、"ID"、"種類"、"寸法"、"初期位置"、"解除位置"、"ドッキング位置"が含まれる。ただし、"ドッキング位置"は必須ではなく、"棚情報"に含まれていなくてもよい。
【0116】
"ID"には、それぞれの棚を識別するための識別情報が格納される。"種類"には、それぞれの棚の種類を示す情報が格納される。"寸法"には、それぞれの棚の外形寸法が格納される。図13では"寸法"は、直交座標系で示されているが、棚の形状に応じて座標系を変更してもよい。例えば、円柱状又は楕円柱状の棚であれば、円筒座標系で外形寸法を示してもよい。"初期位置"、"解除位置"、"ドッキング位置"は位置を示す座標(x,y)に加えて、姿勢を示す情報(例えば、yaw角)が含まれてもよい。
【0117】
"棚情報"には、棚130に関する他の情報を含めてもよい。他の情報の一例は、棚130の形状、質量、段数、重心位置、キャスタの種類、形状、電気的接点の有無、機能等である。
【0118】
"初期位置"には、自律走行車120が所定空間100内を走行中に最初に認識した棚の位置と姿勢を示す座標が格納される。あるいは、"初期位置"には、ユーザ110が予め指定した位置と姿勢(例えば、アンカ170の位置と姿勢)を示す座標が格納される。
【0119】
"解除位置"には、自律走行車120が搬送対象の棚とのドッキングを最後に解除した位置と姿勢を示す座標が格納される。"ドッキング位置"には、自律走行車120が搬送対象となる棚と最後にドッキングした位置と姿勢を示す座標が格納される。なお、各位置を示す座標は、環境地図上における座標である。ただし、各位置を示す座標に代えて、環境地図上で予め割り当てられた場所の名前が格納されてもよい。
【0120】
"物品"には、搬送対象となる棚に載置された物品を示す情報が格納される。"タグ"には、対応する物品の種別を示す情報が格納される。
【0121】
なお、図13に示す搬送対象管理テーブル900の場合、"棚情報"と、"物品"及び"タグ"とが、直接、対応付けられているが、これらは、間接的に対応付けられていてもよい。「間接的に対応付け」るとは、例えば、情報Aと情報Bとを対応付ける際に、情報Aと情報Cとを直接的に対応付け、かつ、情報Cと情報Bとを直接的に対応付けることで、情報Aと情報Bとを、情報Cを介して間接的に対応付けることを指す。
【0122】
また、搬送対象管理テーブル900は、限定されない一例として、下記の方法により予め作成してもよい。例えば、ユーザ110が棚を購入したとき、ユーザ110が情報処理端末にインストールされたアプリケーションを操作することで、購入した棚に関する情報を"棚情報"に登録してもよい。また、例えば、自律走行車120が所定空間100内を走行する間に新たな棚を発見したとき、発見した棚に関する情報を"棚情報"に登録してもよい。同様に、ユーザ110が情報処理端末にインストールされたアプリケーションを操作することで、登録済みの"棚情報"に"物品"、"タグ"を登録してもよい。
【0123】
搬送対象管理テーブル900には、既定の搬送先が設定されてもよい。既定の搬送先は、棚ごとに設定されてもよいし、物品ごとに設定されてもよい。既定の搬送先は、ユーザ110が情報処理端末にインストールされたアプリケーションを操作することで、登録してもよい。
【0124】
<ドッキング制御部の機能構成>
次に、ドッキング制御部804の機能構成についてより詳しく説明する。図14は、ドッキング制御部の機能構成の一例を示す図である。
【0125】
図14に示すように、ドッキング制御部804は、制御装置310にインストールされた制御プログラムが実行されることで、画像取得部901、物体認識部902、コード認識部903、識別情報生成部904、位置姿勢制御部905、識別情報検証部906、仕様特定部907及び無効領域設定部908として機能する。
【0126】
画像取得部901は、前面RGBカメラ221又は後面RGBカメラ320により出力されるカラー画像を取得する。画像取得部901は、自律走行車120が前進方向に移動しているときには、前面RGBカメラ221より出力されるカラー画像を取得する。一方、画像取得部901は、自律走行車120が後退方向に移動しているときには、後面RGBカメラ320より出力されるカラー画像を取得する。画像取得部901は、取得したカラー画像を物体認識部902及びコード認識部903に通知する。
【0127】
棚130に施されたマーカがToFカメラ222による距離画像に基づいて認識可能なものである場合、画像取得部901は、ToFカメラ222による距離画像を取得してもよい。例えば、マーカがバーコードであれば、ToFカメラ222により出力される距離画像(赤外線画像)に基づいて認識することが可能である。画像取得部901は、距離画像を取得した場合、取得した距離画像をコード認識部903に通知する。
【0128】
物体認識部902は、学習済みの物体認識モデル(一例として、学習済みのニューラルネットワーク)に基づいて、画像取得部901より通知されたカラー画像に撮像されている物体を認識する。なお、物体認識モデルは、入力画像から棚に相当する領域を認識するように学習されている。物体認識モデルの学習データは、搬送対象となる棚が撮像されたカラー画像に、棚に相当する領域を示す正解ラベルが付与されたデータである。物体認識部902は、カラー画像から棚130を認識した場合、棚130に相当する領域を示す認識結果をコード認識部903及び位置姿勢制御部905に通知する。
【0129】
物体認識部902は、ToFカメラ222による距離画像に基づいて物体を認識してもよい。物体認識部902は、前面RGBカメラ221及び後面RGBカメラ320とは異なるカメラより出力されたグレースケール画像に基づいて物体を認識してもよい。また、ステレオカメラを用いて物体を認識してもよい。
【0130】
コード認識部903は、画像取得部901より通知されたカラー画像又は距離画像から、マーカの認識対象とする範囲の画像を抽出する。コード認識部903は、画像を抽出する前に、マーカを認識しやすくなるように自律走行車120の位置及び姿勢を制御してもよい。マーカを認識しやすい位置及び姿勢は、例えば、棚130を正面から撮像可能な位置及び姿勢である。コード認識部903は、物体認識部902から認識結果が通知された場合、認識結果に示された棚に相当する領域から、マーカの認識対象とする範囲の画像を抽出する。
【0131】
認識対象とする範囲は、棚130に施されたマーカが含まれ得る範囲である。認識対象とする範囲は、棚130の種類に応じて予め設定しておけばよい。本実施形態では、棚130は最下段400の下側にマーカが施されているため、床面240から最下段400の高さまでの範囲で、画像を抽出すればよい。
【0132】
マーカがバーコードである場合、コード認識部903は、抽出した画像を閾値処理等で二値化し、モノクロ画像に変換する。このとき、コード認識部903は、二値化する前にカメラの内部パラメータ等に基づいて画像を補正してもよい。これにより、例えば、レンズ歪み等を取り除くことができる。
【0133】
そして、コード認識部903は、モノクロ画像からバーコードを認識する。コード認識部903は、バーコードを認識した場合、バーコードの位置及び値を示す認識結果を識別情報生成部904及び位置姿勢制御部905に通知する。なお、コード認識部903は、複数のマーカに棚130の外形寸法等を示す付加情報が含まれる場合、バーコードの認識結果を仕様特定部907に通知する。
【0134】
マーカが数値列又は文字列である場合、コード認識部903は、抽出した画像から数値列又は文字列を認識する。数値列又は文字列の認識は、例えば光学文字認識(OCR; Optical Character Recognition)等により行うことができる。コード認識部903は、数値列又は文字列を認識した場合、数値列又は文字列の位置及び値を示す認識結果を識別情報生成部904及び位置姿勢制御部905に通知する。
【0135】
マーカが図形である場合、コード認識部903は、抽出した画像から図形を認識する。図形の認識は、例えば学習済みの物体認識モデル(一例として、学習済みのニューラルネットワーク)に基づいて行うことができる。コード認識部903は、図形を認識した場合、図形に関する情報に基づいて、予め定められた値を取得する。図形に関する情報は、例えば、図形の位置、色、形状、大きさ等を含む。コード認識部903は、図形の位置及び取得した値を示す認識結果を識別情報生成部904及び位置姿勢制御部905に通知する。
【0136】
なお、コード認識部903は、例えば、図形に関する情報と値とを対応付ける情報から値を取得すればよい。図形に関する情報と値とを対応付ける情報は、自律走行車120のメモリに予め記憶しておいてもよい。また、図形に関する情報と値とを対応付ける情報は、外部のサーバに記憶しておき、図形の認識結果に基づいて外部のサーバから値を取得してもよい。
【0137】
なお、コード認識部903は、1枚の画像に基づいて複数のマーカを認識してもよい。また、コード認識部903は、異なる画角で撮像された複数の画像に基づいて複数のマーカを認識してもよい。したがって、コード認識部903による認識結果は、同じ1枚の画像から認識された1以上のマーカの認識結果と、1枚の画像から認識された1以上のマーカ及び他の画像から認識された1以上のマーカを含む1以上のマーカの認識結果と、のいずれであってもよい。
【0138】
さらに、コード認識部903は、バーコードの配列に制限が課されている場合、認識したバーコードが制限を満たしているかを判定する。例えば、左右に配列された2個のバーコードにおいて、左側のバーコードの方が右側のバーコードよりも大きい値を示すように制限されている場合、認識された2個のバーコードの値がその制限を満たしているか否かを判定する。また、例えば、2個のバーコード間の距離が制限されている場合、三角測量等により2個のバーコードの間の距離を測定し、予め定めた範囲内(一例として、左側のバーコードと右側のバーコードの間の距離が100mm等)であるか否かを判定する。制限を満たしていない場合(すなわち、右側のバーコードの方が左側のバーコードよりも大きい値を示す場合、又は2個のバーコードの距離が予め定めた範囲外である場合)、コード認識部903は、誤認識として認識結果を破棄する。
【0139】
識別情報生成部904は、コード認識部903より通知されたバーコードの認識結果に基づいて、識別情報を生成する。識別情報生成部904は、認識結果に示されたバーコードの数及びそれぞれの値の桁数に応じて、異なる規則に従って識別情報を生成する。
【0140】
認識結果に2桁のバーコードが2個示されている場合、手前側のバーコード451,452が認識されたものとみなすことができる。この状況は、自律走行車120が棚130から一定の距離以上離れている位置にいる場合に起こり得る。この場合、識別情報生成部904は、2個のバーコードの値を結合し、識別情報の下4桁として生成する。このとき、識別情報生成部904は、識別情報の下4桁を自律走行車120のメモリに保存する。
【0141】
認識結果に4個のバーコードが示されている場合、すべてのバーコード451~454が認識されたとみなすことができる。この状況は、自律走行車120が棚130から一定の距離より近づいている場合に起こり得る。この場合、識別情報生成部904は、バーコード451~453に対応する3個のバーコードの値を結合し、8桁の識別情報を生成する。
【0142】
認識結果に4桁のバーコードが2個示されている場合、奥側のバーコード453,454が認識されたものとみなすことができる。この状況は、自律走行車120が棚130の最下段400の下側に進入済みの場合に起こり得る。この場合、識別情報生成部904は、自律走行車120のメモリに保存していた識別情報の下4桁とバーコード453に対応する識別情報の上4桁とを結合し、8桁の識別情報を生成する。このとき、識別情報生成部904は、8桁の識別情報を識別情報検証部906に通知する。
【0143】
また、識別情報生成部904は、生成した識別情報に基づいて、バーコードを認識した棚を特定する。具体的には、識別情報生成部904は、生成した識別情報を、搬送対象管理テーブル900に格納されている棚情報の"ID"と照合することで、棚を特定する。識別情報生成部904は、識別情報の下4桁を生成した場合は、"ID"の下4桁と照合する。一方、識別情報生成部904は、8桁の識別情報を生成した場合は、"ID"全体と照合する。
【0144】
なお、本実施形態では、識別情報が8桁であるため、下4桁のみで照合しても正確に棚を特定することはできない。しかしながら、自律走行車120が搬送を行い得る所定空間100内に存在する棚の数は限定的であるため、下4桁のみであっても棚を特定可能である場合がほとんどである。例えば、所定空間100内に搬送対象となる棚が2個ある場合、それらの棚の間で下4桁が重複する確率は、約0.02%である。また、例えば、所定空間100内に搬送対象となる棚が10個ある場合、それらの棚の間で下4桁が重複する確率は、約1.1%である。識別情報の上4桁が異なる棚が特定されたとしても、自律走行車120が棚130とドッキングするために近づけば、すべてのバーコードが認識可能となり、8桁の識別情報を照合することが可能となる。
【0145】
さらに、識別情報生成部904は、識別情報に基づいて特定された棚が、搬送対象として特定された棚である場合、当該識別情報を位置姿勢制御部905及び仕様特定部907に通知する。一方、識別情報生成部904は、識別情報に基づいて棚を特定できなかった場合、又は、識別情報に基づいて特定された棚が、搬送対象として特定された棚と異なる棚である場合、その旨を位置姿勢制御部905に通知する。
【0146】
位置姿勢制御部905は、コード認識部903より通知されたバーコードの認識結果に基づいて、自律走行車120と棚130との相対的な位置姿勢を推定する。位置姿勢制御部905は、認識結果が2個のバーコードの位置を示す場合、それらの位置を用いた三角測量により、自律走行車120と棚130との距離を計算することができる。
【0147】
なお、位置姿勢制御部905は、バーコードの認識結果が1個のバーコードの位置を示す場合、当該バーコード左端と右端とを用いた三角測量により、自律走行車120と棚130との距離を計算してもよい。
【0148】
また、位置姿勢制御部905は、2個のバーコードの位置とToFカメラ222による距離画像とに基づいて、進入方向に対する角度のずれを計算することができる。
【0149】
さらに、位置姿勢制御部905は、識別情報生成部904より識別情報が通知された場合、自律走行車120と棚130との相対的な位置姿勢に基づいて、棚130の最下段400の下側への進入を行う。一方、位置姿勢制御部905は、識別情報生成部904より棚を特定できなかった旨が通知された場合、搬送対象として特定された棚とのドッキングを停止する。
【0150】
その後、位置姿勢制御部905は、搬送対象となる棚130を探索するために、自律走行車120の位置又は姿勢を変更する制御を行う。具体的には、まず、位置姿勢制御部905は、自律走行車120の位置又は姿勢を変化させながら、現在位置の近傍に存在する他の棚を探索する。他の棚を発見した場合、位置姿勢制御部905は、コード認識部903に処理を戻し、発見した棚のバーコードを認識する。発見した棚から認識された識別情報の下4桁により棚を特定できた場合、自律走行車120は、その棚とのドッキングを開始する。
【0151】
識別情報検証部906は、識別情報生成部904より通知された識別情報の正当性を検証する。識別情報の正当性は、
・識別情報の採番規則に従っていること、
・バーコードの配列が予め定めた制限を満たしていること、
・バーコードの距離が予め定めた範囲内であること、
・正規に発行された識別情報であること、又は、
・ユーザが使用を許可された棚を示す識別情報であること、
のいずれか1つに基づいて検証してもよい。
【0152】
なお、バーコードの配列が予め定めた制限を満たしていること、及びバーコードの距離が予め定めた範囲内であることは、コード認識部903において判定済みであれば、識別情報検証部906では検証しなくてもよい。
【0153】
識別情報の採番規則に従っていることは、識別情報からチェックサムを計算することで検証する。検証に用いるチェックサムは、例えば、棚130に施されたマーカに含まれる付加情報に設定されている。
【0154】
正規に発行された識別情報であることは、自律走行車又は棚の製造者、販売者、管理者等(以下、「製造者等」と総称する)により管理される出荷情報に基づいて検証する。出荷情報は、自律走行車120のメモリに記憶されていてもよいし、製造者等に設置された管理システムに記憶されていてもよい。
【0155】
出荷情報は、一例として、以下のように管理されている。まず、自律走行車の製造者等は、棚の製造者等が発行した在庫保管単位ごとに識別情報の範囲を割り当てる。次に、棚の製造者等は、製造した棚それぞれに在庫保管単位に割り当てられた範囲内の識別情報を割り当てる。棚に割り当てた識別情報と在庫保管単位とは、自律走行車の製造者等がデータベースで管理する。そして、自律走行車の製造者等は、データベースから抽出した出荷情報を自律走行車120に配布する。なお、自律走行車120がネットワークを通じてデータベースを参照するように構成してもよい。
【0156】
出荷情報には、搬送対象となる棚を識別する識別情報、棚が出荷済みであるか否かを示す情報等が含まれる。棚の使用者や使用期間等が制限される使用形態(例えば、サブスクリプションサービス、レンタル、リース等)である場合には、棚を使用するユーザを示す情報、棚の使用期限を示す情報等が含まれていてもよい。
【0157】
出荷情報が自律走行車120のメモリに記憶されている場合、識別情報検証部906は、識別情報生成部904より通知された識別情報を出荷情報に記憶されている識別情報と照合する。識別情報が出荷済みの棚の識別情報と合致した場合、識別情報検証部906は、識別情報が正当であると判定する。一方、識別情報がいずれの識別情報とも合致しない場合、又は、未出荷の棚の識別情報と合致した場合、識別情報検証部906は、識別情報が不正であると判定する。
【0158】
出荷情報にユーザを示す情報又は使用期限を示す情報が含まれる場合、識別情報検証部906は、これらの情報についても検証を行う。例えば、識別情報がユーザ110とは異なるユーザが使用する棚の識別情報である場合、又は、現在日時が使用期限を超過している場合、識別情報検証部906は、識別情報が不正であると判定する。
【0159】
出荷情報が製造者等の管理システムに記憶されている場合、識別情報検証部906は、通信ネットワークを介して管理システムと接続し、識別情報生成部904より通知された識別情報の検証要求を管理システムに送信する。管理システムでは、受信した識別情報を出荷情報と照合することで、識別情報の正当性を検証する。
【0160】
識別情報が未出荷の棚を示す場合、ドッキング制御部804は、搬送対象として特定された棚とのドッキングを停止する。その後、制御装置310は、不正な識別情報であることを通知する音声を、スピーカ305~306を介してユーザ110に出力する。例えば、制御装置310は、「不正な棚を発見しました」といった音声を、スピーカ305~306を介してユーザ110に出力する。また、制御装置310は、識別情報検証部906の検証結果に応じて、「棚の出荷情報が確認できません」、「異なるユーザが使用してる棚です」、「棚の使用期限が超過しています」といった、識別情報が不正である理由を通知する音声を出力してもよい。
【0161】
また、制御装置310は、不正な識別情報であることの通知を、ユーザ110が保持する情報処理端末に表示させてもよい。例えば、制御装置310は、「不正な棚を発見しました」といったメッセージを表示させるための制御信号を、ユーザ110が保持する情報処理端末に送信する。同様に、制御装置310は、識別情報が不正である理由を表示させるための制御信号を、ユーザ110が保持する情報処理端末に送信してもよい。
【0162】
仕様特定部907は、棚130の仕様を特定する。棚130の仕様は、棚130の形状及び外形寸法を含む。棚130の形状は、一例として、キャスタ431~434の位置を含む。仕様特定部907は、特定した棚130の仕様を無効領域設定部908に通知する。
【0163】
例えば、仕様特定部907は、識別情報生成部904より通知された識別情報に基づいて、搬送対象管理テーブル900に格納されている"種類"及び"寸法"を読み出すことで、棚130の形状及び外形寸法を特定する。なお、棚130の形状は、棚130の"種類"に応じて予め定めておけばよい。
【0164】
また、例えば、付加情報に棚130の形状及び外形寸法が設定されている場合、仕様特定部907は、コード認識部903より通知されたバーコードの認識結果から棚130の形状及び外形寸法を取得することで、棚130の形状及び外形寸法を特定してもよい。
【0165】
無効領域設定部908は、仕様特定部907より通知された棚130の種類及び外形寸法に基づいて、少なくとも、LiDAR212、前面RGBカメラ221、後面RGBカメラ320又はToFカメラ222のいずれかの測定範囲にセンサ無効領域を設定する。自律走行車120が棚130とドッキングしている状態では、棚130の一部(例えば、キャスタ431~434)が、少なくとも、LiDAR212、前面RGBカメラ221又はToFカメラ222のいずれかの測定範囲に干渉することがある。この場合、自律走行車120は、棚130の至近に障害物が存在すると誤認識し、搬送経路を正しく決定できない。棚130の種類及び外形寸法に基づいて、棚130の一部が干渉し得る測定範囲の領域を無効とすることで、障害物と誤認識することを回避することができる。
【0166】
センサ無効領域は、搬送対象となる棚ごとに予め設定されていてもよい。例えば、自律走行車120は、棚の識別情報とセンサ無効領域とを対応付けた情報をメモリに記憶しておく。仕様特定部907は、識別情報生成部904より通知された識別情報に基づいて、メモリからセンサ無効領域を設定するための情報を読み出す。センサ無効領域は、例えば、センサの設定情報、センサの認識動作に関する条件等により定義されてもよい。
【0167】
また、例えば、棚の識別情報とセンサ無効領域とを対応付けた情報を外部のサーバに記憶しておき、自律走行車120は、識別情報生成部904より通知された識別情報に基づいて外部のサーバから棚130のセンサ無効領域を取得してもよい。
【0168】
センサ無効領域は、各棚について、進入方向ごとに設定されていてもよい。すなわち、各棚について、正面側から進入したときのセンサ無効領域と、背面側から進入したときのセンサ無効領域とが設定されていてもよい。
【0169】
図15は、LiDAR212に設定されたセンサ無効領域の一例を示す図である。図15に示されているように、LiDAR212は、自律走行車120の上面210に設置されており、前後方向(y軸方向)及び幅方向(x軸方向)の測定範囲600を有する。無効領域設定部908は、棚130の種類に基づいてキャスタ431~434の位置を推定し、LiDAR212がキャスタ431~434を検出し得る方向に、キャスタ431~434それぞれに対応するセンサ無効領域611~614を設定する。
【0170】
図16は、前面RGBカメラ221又は後面RGBカメラ320に設定されたセンサ無効領域の一例を示す図である。図16に示されているように、前面RGBカメラ221又は後面RGBカメラ320では、カメラの画角が測定範囲600となる。無効領域設定部908は、棚130の種類に基づいて棚板及びキャスタの位置を推定し、棚板400及びキャスタ431,433が映り込む領域にセンサ無効領域615を設定する。
【0171】
同様にして、ToFカメラ222及びマイク301~304の測定範囲にセンサ無効領域を設定することができる。
【0172】
センサ無効領域が設定された前面RGBカメラ221又は後面RGBカメラ320は、センサ無効領域の画素値を無効な値(例えば、0)又は近傍の画素値に設定する。また、センサ無効領域が設定されたLiDAR212又はToFカメラ222は、センサ無効領域の測定結果を無効値に設定する。さらに、前面RGBカメラ221、ToFカメラ222又は後面RGBカメラ320にセンサ無効領域が設定されている場合、物体認識部902による認識結果がセンサ無効領域内にある場合、その認識結果を棄却してもよい。
【0173】
なお、無効領域設定部908は、識別情報から特定した棚130の種類に応じたセンサ無効領域に代えて、物体認識部902による認識結果に基づいてセンサ無効領域を設定してもよい。例えば、物体認識部902がカラー画像から棚130のキャスタ431~434を認識したとき、キャスタ431~434が干渉し得る測定範囲にセンサ無効領域を設定するとよい。また、無効領域設定部908は、識別情報から推定したキャスタの位置と、カラー画像から認識したキャスタの位置とを組み合わせて、センサ無効領域を設定してもよい。
【0174】
<自律走行処理の流れ>
次に、自律走行車120による自律走行処理の流れについて説明する。図17は、自律走行処理の一例を示すフローチャートである。
【0175】
ステップS1において、制御装置310の搬送指示取得部801は、ユーザ110による搬送指示を取得する。搬送指示取得部801は、音声指示を取得してもよいし、操作指示を取得してもよい。
【0176】
音声指示を取得する場合、搬送指示取得部801は、マイク301~304で検出された音データから、ユーザ110が発声したウェイクワードを認識し、認識したウェイクワードに続いて検出された音データを解析する。なお、ウェイクワードは、自律走行車120に予め設定されているが、ユーザ110が任意のワードに変更することも可能である。次に、搬送指示取得部801は、音データを解析した結果として得られた音声指示を、搬送対象特定部802及び搬送先特定部805に通知する。
【0177】
操作指示を取得する場合、搬送指示取得部801は、ユーザ110が保持する情報処理端末から制御信号を受信し、制御信号を解析する。次に、搬送指示取得部801は、制御信号を解析した結果として得られた操作指示を、搬送対象特定部802及び搬送先特定部805に通知する。
【0178】
ステップS2において、制御装置310の搬送対象特定部802は、搬送指示取得部801から通知された搬送指示に基づいて、搬送すべき物品もしくは棚を認識する。また、制御装置310の搬送先特定部805は、搬送指示取得部801から通知された搬送指示に基づいて、搬送先の位置を認識する。これにより、制御装置310は、物品を搬送先の位置に搬送するタスクを認識する。
【0179】
例えば、搬送指示取得部801が「ノートPCを持ってきて」といった音声指示を取得した場合、搬送対象特定部802は、搬送すべき物品として「ノートPC」を認識し、搬送先特定部805は、搬送先の位置として「ユーザ110の近傍の位置」を認識する。これにより、制御装置310は、「ノートPC」を「ユーザ110の近傍の位置」まで搬送するタスクであると認識する。
【0180】
搬送対象特定部802は、搬送指示で搬送先が指定されなかった場合、既定の搬送先を搬送先の位置として認識してもよい。例えば、既定の搬送先は、自律走行車120のメモリに予め記憶しておいてもよい。また、例えば、搬送対象管理テーブル900に棚又は物品ごとに予め登録されていてもよい。
【0181】
このとき、制御装置310は、認識したタスクに応じた音声を、スピーカ305~306を介してユーザ110に出力してもよい。例えば、搬送すべき物品である「ノートPC」を、搬送先の位置である「ユーザ110の近傍の位置」まで搬送するタスクを認識した場合には、「ノートPCをユーザまで搬送します」といった音声を、スピーカ305~306を介してユーザ110に出力する。
【0182】
また、制御装置310は、マイク301~304で検出された音データを解析することで、ユーザ110の音声がどの方向から発せられたか(言い替えると、ユーザ110がいる方向)を判定する。
【0183】
なお、制御装置310は、ユーザ110がいる方向についての判定結果を、予め作成された環境地図(例えば、所定空間100内の地図)上での、自律走行車120の位置を示す座標及び自律走行車120の向きを示す情報とともにメモリに保存する。
【0184】
ステップS3において、制御装置310の搬送対象特定部802は、ステップS2で認識したタスクに基づいて、搬送対象となる棚を特定する。具体的には、搬送対象特定部802は、前記タスクに搬送対象となる棚が特定されていればこれを、されていなければ搬送対象管理テーブル900を参照することで、搬送すべき物品が対応付けられている棚を、搬送対象として特定する。本実施形態では、ノートPCが棚130と対応付けて管理されているため、自律走行車120では、棚130を搬送対象として特定する。
【0185】
ステップS4において、制御装置310の搬送対象位置特定部803は、搬送対象となる棚の位置を示す座標を、搬送対象管理テーブル900を参照することで特定する。例えば、搬送対象となる棚が棚130である場合には、棚130の位置として、"解除位置"の座標(x2,y2,θ2)を特定する。解除位置の座標(x2,y2,θ2)は、自律走行車120が最後に棚130のドッキングを解除した位置であるので、その位置に棚130が存在する確率が高いからである。
【0186】
なお、搬送対象位置特定部803は、搬送対象管理テーブル900中の"初期位置"の座標(x1,y1,θ1)を、搬送対象となる棚の位置を示す座標として特定してもよい。
【0187】
ステップS4において、制御装置310のドッキング制御部804は、駆動輪231を制御して、自律走行車120を搬送対象となる棚130の位置に移動させる。このとき、ドッキング制御部804は、前面RGBカメラ221、ToFカメラ222、LiDAR212を用いて障害物を検出し、検出した障害物との衝突を回避しながら移動するように、自律走行車120を制御する。
【0188】
なお、この時点では、自律走行車120は、棚130とドッキングしていないため、棚130がドッキングしていた場合には棚130に接触する障害物であっても、自律走行車120に接触しない障害物については、障害物として認識しない。
【0189】
ステップS6において、制御装置310の搬送対象特定部802は、搬送対象となる棚130の近傍の位置に到達すると、自律走行車120を移動させながら、前面RGBカメラ221または後面RGBカメラ320から取得したカラー画像を解析して、棚130を探索する。ここでは、搬送対象特定部802が棚130を探索により発見したものとして説明を続ける。
【0190】
≪搬送対象探索処理≫
ここで、自律走行車120が搬送対象となる棚130を探索する処理(図17のステップS6)について、より詳しく説明する。図18は、搬送対象探索処理の一例を示すフローチャートである。
【0191】
ステップS6-1において、ドッキング制御部804の画像取得部901は、前面RGBカメラ221または後面RGBカメラ320より出力されるカラー画像を取得する。画像取得部901は、取得したカラー画像を物体認識部902及びコード認識部903に送る。
【0192】
ステップS6-2において、ドッキング制御部804の物体認識部902は、画像取得部901からカラー画像を受け取る。次に、物体認識部902は、学習済みの物体認識モデルに基づいて、カラー画像に撮像されている物体を認識する。
【0193】
ステップS6-3において、ドッキング制御部804の物体認識部902は、カラー画像から棚130が認識されたか否か(言い替えると、認識結果に棚130に相当する領域が含まれるか否か)を判定する。カラー画像から棚130が認識された場合(YES)、物体認識部902は、棚130の認識結果をコード認識部903及び位置姿勢制御部905に送り、ステップS6-5に処理を進める。一方、カラー画像から棚130が認識されなかった場合(NO)、物体認識部902はステップS6-4に処理を進める。
【0194】
ステップS6-4において、ドッキング制御部804の位置姿勢制御部905は、前面RGBカメラ221により撮像される範囲が変わるように、自律走行車120の位置及び姿勢の少なくとも一方を変更する。例えば、位置姿勢制御部905は、駆動輪231を制御して、自律走行車120を前進方向又は後退方向に移動させる。また、例えば、位置姿勢制御部905は、駆動輪231を制御して、自律走行車120を旋回させる。
【0195】
ステップS6-5において、ドッキング制御部804のコード認識部903は、画像取得部901からカラー画像を受け取る。また、コード認識部903は、物体認識部902から棚130の認識結果を受け取る。次に、コード認識部903は、カラー画像からバーコードの認識対象とする範囲の画像を抽出する。続いて、コード認識部903は、抽出した画像を閾値処理等で二値化し、モノクロ画像に変換する。そして、コード認識部903は、モノクロ画像からバーコードを認識する。
【0196】
ステップS6-6において、ドッキング制御部804のコード認識部903は、モノクロ画像からバーコードが認識されたか否かを判定する。モノクロ画像からバーコードが認識された場合(YES)、コード認識部903は、バーコードの認識結果を識別情報生成部904及び位置姿勢制御部905に送る。モノクロ画像からバーコードが認識されなかった場合(NO)、コード認識部903はステップS6-7に処理を進める。
【0197】
ステップS6-7において、ドッキング制御部804の位置姿勢制御部905は、物体認識部902から棚130の認識結果を受け取る。次に、位置姿勢制御部905は、駆動輪231を制御して、自律走行車120を棚130のバーコードを認識可能な位置姿勢となるように移動させる。その後、ドッキング制御部804は、新たな位置においてステップS6-5及びS6-6を再度実行する。このようにして、自律走行車120は、バーコードを認識するまで、位置の移動とバーコードの認識を繰り返し実行する。
【0198】
位置姿勢制御部905は、バーコードを認識すると、バーコードの認識結果に基づいて、自律走行車120の進入方向を調整する。例えば、バーコードの認識結果により棚130の進入方向に対して角度がずれていることが判明した場合、棚130と正対するように自律走行車120の位置及び姿勢を変更する制御を行う。
【0199】
ステップS6-8において、ドッキング制御部804の識別情報生成部904は、コード認識部903からバーコードの認識結果を受け取る。次に、識別情報生成部904は、バーコードの認識結果に基づいて、識別情報を生成する。
【0200】
ステップS6-9において、ドッキング制御部804の識別情報生成部904は、ステップS6-8で生成した識別情報を搬送対象管理テーブル900に格納されている識別情報と照合する。次に、識別情報生成部904は、棚130が一意に特定されたか否かを判定する。棚130が一意に特定された場合(YES)、識別情報生成部904は、識別情報を位置姿勢制御部905及び仕様特定部907に送り、ステップS6-11に処理を進める。なお、棚130が一意に特定された場合には、8桁の識別情報が1個の棚130と合致した場合が含まれる。棚130が一意に特定されなかった場合(NO)、識別情報生成部904はステップS6-10に処理を進める。
【0201】
ステップS6-10において、ドッキング制御部804の識別情報生成部904は、すべてのバーコードを認識したか否かを判定する。言い替えると、識別情報生成部904は、識別情報の全桁が認識されたか否か(本実施形態では、認識した識別情報が8桁であるか否か)を判定する。すべてのバーコードを認識していた場合(本実施形態では、識別情報が8桁である場合)(YES)、識別情報生成部904はステップS6-13に処理を進める。すべてのバーコードを認識していない場合(本実施形態では、識別情報が4桁である場合)(NO)、識別情報生成部904はステップS6-11に処理を進める。
【0202】
ステップS6-11において、ドッキング制御部804の位置姿勢制御部905は、駆動輪231を制御して、自律走行車120を棚130の進入方向に移動させる。その後、ドッキング制御部804は、新たな位置においてステップS6-5乃至S6-10を再度実行する。このようにして、自律走行車120は、棚130が特定されるまで、棚130への進入と棚130の特定を繰り返し実行する。
【0203】
なお、ステップS6-9において、8桁の識別情報が1個の棚130と合致した場合に棚130が一意に特定されたと判定したが、識別情報の下4桁が1個の棚130と合致した場合に、棚130が一意に特定されたと判定してもよい。この場合、ステップS6-12の実行前に、自律走行車120を棚130の進入方向に移動させ、残りのコードの認識処理を実行してもよい。
【0204】
ステップS6-12において、ドッキング制御部804の識別情報検証部906は、識別情報生成部904から識別情報を受け取る。次に、識別情報検証部906は、識別情報の正当性を検証する。識別情報が正当である場合(YES)、識別情報検証部906はステップS6-13に処理を進める。識別情報が不正である場合(NO)、識別情報検証部906はステップS6-13に処理を進める。
【0205】
ステップS6-13において、制御装置310は、搬送対象として特定された棚とのドッキングを停止する。次に、制御装置310は、棚130とのドッキングに失敗したことを通知する音声を、スピーカ305~306を介してユーザ110に出力する。制御装置310は、ドッキングに失敗したことを通知するメッセージを表示させるための制御信号を、ユーザ110が保持する情報処理端末に送信してもよい。
【0206】
ステップS6-14において、ドッキング制御部804の仕様特定部907は、コード認識部903からバーコードの認識結果を受け取る。また、仕様特定部907は、識別情報生成部904から識別情報を受け取る。次に、仕様特定部907は、バーコードの認識結果又は識別情報に基づいて棚130の仕様を特定する。仕様特定部907は、特定した棚130の仕様を無効領域設定部908に送る。
【0207】
ステップS6-14において、ドッキング制御部804の無効領域設定部908は、仕様特定部907から棚130の仕様を受け取る。次に、無効領域設定部908は、棚130の仕様に基づいて、少なくとも、LiDAR212、前面RGBカメラ221、ToFカメラ222又は後面RGBカメラ320のいずれかの測定範囲に設定するセンサ無効領域に関する情報を取得する。
【0208】
図17に戻って説明する。ステップS7において、制御装置310のドッキング制御部804は、自律走行車120を発見した棚130の最下段400の下側に進入させる。自律走行車120は、そのまま前進方向で進入してもよいし、180度旋回し、後退方向で進入してもよい。なお、ドッキング制御部804は、自律走行車120が後退方向で進入している間も、後面RGBカメラ320を用いて、棚130の最下段400の下側を認識し、最下段400との位置関係を調整しながら、自律走行車120の移動を制御する。
【0209】
ステップS8において、制御装置310のドッキング制御部804は、突起440にロック装置211を係合させることが可能な位置まで移動したことを判定する。
【0210】
また、ドッキング制御部804は、自律走行車120が突起440にロック装置211を係合させることが可能な位置まで移動すると、ソレノイドをOFFにすることで、ロック装置211を上方に移動させ、ロック装置211を突起440に係合させる。これにより、自律走行車120は、搬送対象となる棚130とのドッキングを完了する。
【0211】
ドッキングが完了すると、ドッキング制御部804は、搬送対象となる棚130について、搬送対象管理テーブル900に格納されている"ドッキング位置"を示す座標を、実際にドッキングした位置の座標に更新する。
【0212】
例えば、座標(x4,y4,θ4)の位置で搬送対象となる棚130とドッキングした場合、ドッキング制御部804は、搬送対象管理テーブル900の棚130の"ドッキング位置"の座標(x3,y3,θ3)を、(x4,y4,θ4)に更新する。
【0213】
ステップS9において、制御装置310の無効領域設定部908は、ステップS6-14で取得したセンサ無効領域に関する情報に基づいて、少なくとも、LiDAR212、前面RGBカメラ221、ToFカメラ222又は後面RGBカメラ320のいずれかの測定範囲にセンサ無効領域を設定する。
【0214】
ステップS10において、制御装置310の搬送先位置特定部806は、ステップS2で認識したタスクに基づいて、ドッキングした棚130の搬送先の位置の座標を特定する。例えば、「ノートPC」を「ユーザ110の近傍の位置」まで搬送するタスクの場合、搬送先位置特定部806は、ドッキングした棚130の搬送先の位置を示す座標として、ユーザ110の近傍の位置を示す座標を特定する。
【0215】
なお、搬送先の位置として、ユーザ110の近傍の位置を特定した場合、搬送先位置特定部806は、ステップS2においてメモリに保存した情報に基づいて、ユーザ110がいる可能性の高い位置を推定する。また、搬送先位置特定部806は、推定した位置の近傍の位置を示す、環境地図上の座標を特定する。ステップS2においてメモリに保存した情報とは、自律走行車120の環境地図上の位置を示す座標及び自律走行車120の向きを示す情報、ユーザ110がいる方向についての判定結果である。
【0216】
ステップS11において、制御装置310の搬送制御部807は、駆動輪231を制御して、自律走行車120を搬送先の位置(ユーザ110の近傍の位置)に移動する。このとき、搬送制御部807は、前面RGBカメラ221、ToFカメラ222、LiDAR212を用いて障害物を検出し、検出した障害物との衝突を回避しながら移動するように、自律走行車120を制御する。
【0217】
なお、この時点では、自律走行車120は、既に棚130とドッキングしているため、自律走行車120が接触しない障害物であっても、棚130が接触する障害物については、これを回避しながら移動する。このとき、自律走行車120は、仕様特定部907により特定された棚130の仕様を考慮して、幅方向、前後方向及び高さ方向において、他の物体と接触するか否かを判定する。これにより、自律走行車120は、精度よく障害物を回避しながら搬送経路を決定することができる。
【0218】
ステップS12において、制御装置310のドッキング制御部804は、搬送先の位置(例えば、ユーザ110の近傍の位置)に到達すると、ドッキングを解除する。また、ドッキング制御部804は、搬送対象となった棚130について、搬送対象管理テーブル900に格納されている"解除位置"を示す座標を、実際にドッキングを解除した位置の座標に更新する。
【0219】
例えば、座標(x5,y5,θ5)の位置で搬送対象となった棚130とドッキングを解除した場合、ドッキング制御部804は、搬送対象管理テーブル900の棚130の"解除位置"の座標(x2,y2,θ2)を、(x5,y5,θ5)に更新する。
【0220】
なお、ドッキング制御部804は、搬送先の位置に到達した際、前面RGBカメラ221から取得したカラー画像を解析して、ユーザ110を探索してもよい。そして、ユーザ110を探索することができた場合に、ドッキング制御部804はドッキングを解除してもよい。
【0221】
ステップS13において、制御装置310の搬送制御部807は、前面RGBカメラ221、ToFカメラ222、LiDAR212を用いて前方または後方の障害物の有無を確認する。そして、搬送制御部807は、棚130の最下段400の下側から、前方あるいは後方のうち、障害物がない方向に、自律走行車120を退出させる。
【0222】
前方および後方の両方に障害物がある場合には、搬送制御部807は、一定時間、自律走行車120を待機させ、再度、前方あるいは後方の障害物の有無を確認する。つまり、搬送制御部807は、前後方向の障害物の有無の確認と待機とを交互に繰り返す。
【0223】
なお、確認と待機の繰り返しを所定回数行っても、まだ前方および後方に障害物があることが確認された場合には、搬送制御部807は、自律走行車120をその場で待機させてもよい。また、上記説明では、ドッキング解除後に前方または後方の障害物の有無を確認したが、障害物の有無を確認することなく、ドッキング解除後は、ただちに、その場で待機する、あるいは予め決められた方向に退出するように構成してもよい。
【0224】
[変形例]
上記実施形態では、自律走行車120により搬送される搬送対象が、物品等を載置するキャスタ付きの棚である例を説明したが、搬送対象は棚に限定されない。例えば、搬送対象は、キャスタ付きの植木鉢、キャスタ付きの家電等でもよい。
【0225】
上記実施形態では、自律走行車120がキャスタ付きの棚とドッキングして搬送する例を説明したが、自律走行車120がドッキングせずに搬送してもよい。例えば、自律走行車120は、アームを備えるロボットであって、搬送対象をアーム等により押す、引く、掴む、持ち上げる等により搬送するロボットであってもよい。また、搬送対象を牽引する、持ち上げて運搬するロボットであってもよい。
【0226】
上記実施形態では、自律走行車120が、ユーザ110による搬送指示に応じてユーザ110が使用する物品を手元に搬送する無人搬送車である例を説明したが、自律走行車120が実行するタスクは物品の搬送に限定されない。例えば、自律走行車120は、掃除等の家事を実行する家事ロボット、工場や倉庫等で荷物や備品等を運搬する運搬ロボット、公道又は私道を走行する自動運転車、物品等を保持しながら飛行する運搬ドローン等であってもよい。
【0227】
上記実施形態では、棚130に施されたマーカは、進行方向に対して手前側に2個、奥側に2個の計4個のバーコードにより構成される例を説明したが、マーカを構成するコードの数及び配置はこれらに限定されない。例えば、マーカは、進行方向に対して手前側の2個のバーコードのみで構成されてもよい。また、例えば、マーカは、進行方向に沿って手前側と奥側に配列された2個のバーコードで構成されてもよい。
【0228】
上記実施形態では、進行方向に対して手前側において、進行方向と交差する方向に配列された2個のバーコードは、右側が識別情報の後ろから3~4桁目、左側が識別情報の後ろから1~2桁目であったが、これらは逆であってもよい。すなわち、右側が識別情報の後ろから1~2桁目、左側が識別情報の後ろから3~4桁目であってもよい。
【0229】
上記実施形態では、自律走行車120が、棚130の識別情報に基づいて、自律走行車120による棚130の搬送を制御した。ここで、識別情報に基づく搬送の制御は、限定されない一例として、以下を含む概念である。例えば、利用者の指示に基づいて特定された搬送対象か否かを、識別情報に基づいて判断し、特定された搬送対象であれば搬送し、それ以外であれば搬送しない制御を含む。また、例えば、搬送中の制御だけでなく、搬送するか否かの判断に関する制御を含む。また、例えば、識別結果に基づいて、搬送条件を変更する制御を含む。搬送条件を変更する制御の一例は、センサ無効領域の設定である。
【0230】
上記実施形態では、搬送対象に設けるマーカとしてバーコードを用いる例を示したが、マーカはバーコードに限定されない。どのようなマーカであっても、進入方向からみて奥のマーカから取得される情報量が手前のマーカから取得される情報量より多くなるようにマーカを決定してよい。また、このようなマーカは、ドッキング以外の方法で搬送される搬送対象に備えてもよい。つまり、ドッキング以外で搬送対象を搬送する自律走行車であっても同様な概念を適用可能である。
【0231】
上記実施形態では、マーカの認識結果に基づいて特定されたセンサ無効領域を設定したが、マーカの認識結果に応じてセンサ無効領域のモードを切り替えてもよい。この場合、センサ無効領域の設定に関する複数のモードを予め設定しておき、マーカの認識結果に応じて複数のモードのうち1つのモードを選択してもよい。
【0232】
上記実施形態では、マーカの認識結果に基づいてセンサ無効領域を設定したが、搬送条件としてセンサ無効領域以外の設定を変更してもよい。センサ無効領域以外の搬送条件の一例は、搬送時に使用するセンサ、物体認識手法、搬送速度等である。
【0233】
上記実施形態では、マーカの認識結果に基づいて搬送条件を変更したが、マーカ以外に基づく識別情報に基づいて搬送条件を変更してもよい。マーカ以外に基づく識別情報の一例は、RFID(radio frequency identification)等のような情報を発信可能な電子機器である。すなわち、情報発信可能な電子機器を搬送対象に内蔵し、自律走行車で電子機器を認識した結果に基づいて搬送対象の搬送条件を切り替えてもよい。
【0234】
上記実施形態では、搬送対象に設けられる複数のマーカをすべて同一の種類のマーカとする例を声明したが、複数の種類のマーカが混合した複数のマーカを搬送対象に設けてもよい。例えば、進入方向に対して手前側に配置されるマーカはバーコードとし、奥側に配置されるマーカは二次元コードとしてもよい。手前側のマーカと奥側のマーカとが異なる種類のマーカである場合であっても、手前側のマーカにより表現される情報量が奥側のマーカにより表現される情報量よりも少なくなるように構成してもよい。
【0235】
上記実施形態では、マーカの認識結果に基づいて、搬送対象の正当性を検証したが、マーカの認識結果に加えて、物体認識結果に基づいて搬送対象の正当性を検証してもよい。
【0236】
<まとめ>
以上の説明から明らかなように、実施形態に係る自律走行車120は、1以上のマーカを備えた搬送対象の1以上の画像を取得するセンサと、自律走行車120を制御する制御装置310と、を備える。制御装置310は、1以上の画像に含まれる1以上のマーカの認識結果に基づいて、搬送対象を識別し、搬送対象の識別結果に基づいて、自律走行車120による搬送対象の搬送を制御する。
【0237】
実施形態に係る自律走行車120は、搬送対象を搬送する自律走行車であって、搬送対象の画像を取得するカメラと、画像から認識した複数のマーカに基づいて搬送対象を識別する制御装置と、を備えてもよい。
【0238】
制御装置310は、識別結果に基づいて、搬送対象が利用者からの指示に基づいて特定された搬送対象であるか否かを判別してもよい。
【0239】
1以上のマーカは、自律走行車120が搬送対象を搬送可能な状態にするための進行方向からセンサを用いて1以上の画像を取得可能な位置に配置されており、1以上のマーカは、少なくとも進行方向に対して手前側に配置された1以上のマーカと進行方向に対して奥側に配置された1以上のマーカとを含んでもよい。奥側に配置された1以上のマーカを認識することで取得される情報量は、手前側に配置された1以上のマーカを認識することで取得される情報量より多くてもよい。
【0240】
制御装置310は、手前側に配置された1以上のマーカの認識結果を用いて特定された搬送対象に合致するか否かを判別した後、奥側に配置された1以上のマーカの認識結果を用いて特定された搬送対象に合致するか否かを判別してもよい。
【0241】
制御装置310は、手前側に配置された1以上のマーカの認識結果に基づいて、自律走行車120が搬送対象を搬送可能な状態にするための制御を継続するか否かを判別してもよい。制御装置310は、奥側に配置された1以上のマーカの認識結果に基づいて、自律走行車120が搬送対象を搬送可能な状態にするための制御を継続するか否かを判別してもよい。
【0242】
制御装置310は、手前側に配置された1以上のマーカの認識結果に基づいて、搬送対象との位置関係を認識し、位置関係に基づいて、進行方向に自律走行車を移動させる制御を行ってもよい。
【0243】
1以上のマーカは、搬送対象の識別情報以外の情報を含み、制御装置310は、識別情報以外の情報を用いて、自律走行車120による搬送対象の搬送を制御してもよい。
【0244】
制御装置310は、1以上のマーカの認識結果に基づいて、自律走行車120が備える1以上のセンサで取得したデータの一部を無効にし、一部を無効にしたデータを用いて搬送対象を搬送してもよい。制御装置310は、1以上のセンサの測定範囲に搬送対象の一部が入るとき、一部に対応するデータを無効にしてもよい。1以上のセンサは、1以上の画像を取得するセンサ、ToF方式のカメラ、LiDAR又はマイクのいずれか1つであってもよい。
【0245】
制御装置310は、識別情報の正当性を検証してもよい。制御装置310は、識別情報を登録済みの搬送対象の識別情報と照合することで正当性を検証してもよい。1以上のマーカは、第1のマーカと第2のマーカとを含み、制御装置310は、少なくとも、第1のマーカを認識することで取得した情報と第2のマーカを認識することで取得した情報の関係性、又は、第1のマーカと第2のマーカの間の距離のいずれかに基づいて、正当性を検証してもよい。
【0246】
自律走行車120は、搬送対象とドッキングすることで搬送対象を搬送してもよい。
【0247】
実施形態に係る表示媒体は、自律走行車120に搬送される搬送対象が1以上のマーカを備えるための表示媒体であって、1以上のマーカが形成され、1以上のマーカは、搬送対象の識別情報を含み、識別情報は、自律走行車120による搬送対象の搬送の制御に利用される。
【0248】
実施形態に係る表示媒体は、自律走行車120が搬送対象を搬送可能な状態にするための進行方向に対して手前側に配置された1以上のマーカと、進行方向に対して奥側に配置された1以上のマーカとを搬送対象が備えるための表示媒体であってもよい。奥側に配置された1以上のマーカを自律走行車120が認識することで取得される情報量は、手前側に配置された1以上のマーカを自律走行車120が認識することで取得される情報量より多くてもよい。
【0249】
実施形態に係る表示媒体は、搬送対象が、手前側に配置された1以上のマーカとして、第1のマーカと第2のマーカとを備え、奥側に配置された1以上のマーカとして、第3のマーカと第4のマーカとを備えるための表示媒体であって、第1のマーカと第3のマーカが、進行方向に沿って配列され、第2のマーカと第4のマーカが、進行方向に沿って配列され、第1のマーカと第2のマーカが、進行方向と交差する方向に沿って配列され、第3のマーカと第4のマーカは、進行方向と交差する方向に沿って配列される表示媒体であってもよい。
【0250】
実施形態に係る表示媒体は、自律走行車120が進行方向とは逆方向から搬送対象を搬送可能な状態にするための第2進行方向に対して、手前側に配置された1以上のマーカと奥側に配置された1以上のマーカとを搬送対象が備えるための表示媒体であってもよい。
【0251】
実施形態に係る被搬送体は、自律走行車120に搬送される被搬送体であって、1以上のマーカを備え、1以上のマーカは、被搬送体の識別情報を含み、識別情報は、自律走行車120による被搬送体の搬送の制御に利用される。
【0252】
実施形態に係る被搬送体は、自律走行車120が被搬送体を搬送可能な状態にするための進行方向に対して、手前側に配置された1以上のマーカと奥側に配置された1以上のマーカとを備えてもよい。奥側に配置された1以上のマーカを自律走行車120が認識することで取得される情報量は、手前側に配置された1以上のマーカを自律走行車120が認識することで取得される情報量より多くてもよい。
【0253】
実施形態に係る被搬送体は、手前側に配置された1以上のマーカとして、第1のマーカと第2のマーカと、奥側に配置された1以上のマーカとして、第3のマーカと第4のマーカと、を備え、第1のマーカと第3のマーカが、進行方向に沿って配列され、第2のマーカと第4のマーカが、進行方向に沿って配列され、第1のマーカと第2のマーカが、進行方向と交差する方向に沿って配列され、第3のマーカと第4のマーカは、進行方向と交差する方向に沿って配列されてもよい。
【0254】
実施形態に係る被搬送体は、自律走行車120が進行方向とは逆方向から被搬送体を搬送可能な状態にするための第2進行方向に対して、手前側に配置された1以上のマーカと奥側に配置された1以上のマーカとを備えてもよい。
【0255】
複数のマーカは、それぞれ異なる情報を示してもよい。複数のマーカは、少なくとも1つのマーカの情報量が他のマーカの情報量と異なってもよい。複数のマーカは、搬送対象を識別する識別情報を示してもよい。複数のマーカは、搬送対象の形状を示す情報を含んでもよい。搬送対象の形状を示す情報は、少なくとも搬送対象の形状又は外形寸法のいずれか1つを含み、その他の情報を含んでもよい。
【0256】
複数のマーカは、搬送対象の所定の位置に表示されてもよい。複数のマーカは、自律走行車120が棚130を搬送可能な状態にするための進入方向から前面RGBカメラ221又は後面RGBカメラ320で撮像可能な位置に配置されてもよい。
【0257】
複数のマーカは、第1のマーカ及び第2のマーカを含んでもよい。第1のマーカと第2のマーカは、進入方向に沿って配列されてもよい。第1のマーカと第2のマーカは、進入方向と交差する方向に沿って配列されてもよい。第2のマーカは、第1のマーカよりも情報量が多くてもよい。
【0258】
複数のマーカは、第1のマーカ、第2のマーカ、第3のマーカ及び第4のマーカを含んでもよい。第1のマーカと第2のマーカは、進入方向に沿って配列され、第3のマーカと第4のマーカは、進入方向に沿って配列され、第1のマーカと第3のマーカは、進入方向と交差する方向に沿って配列され、第2のマーカと第4のマーカは、進入方向と交差する方向に沿って配列されてもよい。
【0259】
第3のマーカ及び第4のマーカは、第1のマーカ及び第2のマーカよりも情報量が多くてもよい。
【0260】
自律走行車120が備える制御装置310は、第1のマーカ及び第2のマーカを認識したとき、進入方向に自律走行車120を走行させ、画像から第3のマーカ及び第4のマーカを認識したとき、複数のマーカに基づいて識別情報を生成してもよい。自律走行車120が備える制御装置310は、進入方向に対して手前側に配置された1以上のマーカを認識し、進入方向に対して奥側に配置された1以上のマーカを認識し、搬送対象を搬送可能な状態となるように自律走行車を移動させる制御を行ってもよい。
【0261】
自律走行車120が備える制御装置310は、第1のマーカ及び第2のマーカに基づいて棚130との位置関係を認識し、その位置関係に基づいて進入方向に自律走行車120を移動させる制御を行ってもよい。制御装置310は、第1のマーカ及び第2のマーカを用いた三角測量により位置関係を認識してもよい。
【0262】
自律走行車120が備える制御装置310は、複数のマーカに基づいて特定した棚130の情報に基づいて、棚130を搬送してもよい。棚130の情報は、棚130の形状を示す情報でもよい。棚130の情報は、画像に対する処理に関する情報でもよい。
【0263】
自律走行車120は、測定範囲内の物体に関するデータを取得するセンサをさらに備えてもよい。制御装置310は、棚130の情報に基づいて、棚130の一部が測定範囲に入るときその一部の位置に関するデータを無効にしてもよい。センサは、カメラ、ToF方式のカメラ、LiDAR又はマイクのいずれか1つでもよい。
【0264】
自律走行車120が備える制御装置310は、識別情報の正当性を検証してもよい。制御装置310は、識別情報を登録済みの棚130の識別情報と照合してもよい。
【0265】
実施形態に係る被搬送体は、自律走行車120に搬送される棚130であって、自律走行車120が進入する進入方向から自律走行車120が備えるカメラで撮像可能な位置に表示された複数のマーカを備える。
【0266】
実施形態に係る表示媒体は、自律走行車120に搬送される棚130において、自律走行車120が進入する進入方向から自律走行車120が備えるカメラで撮像可能な位置に表示するためのマーカが形成される。
【0267】
これにより、本開示の一実施形態によれば、搬送対象に関する情報を容易に取得可能な自律走行車を提供することができる。
【0268】
したがって、本開示の一実施形態によれば、搬送対象の形状、外形寸法等を特定することができるため、自律走行車120が棚130とドッキングしているときでも、周囲の物体との衝突を回避し、効率的に搬送することができる。
【0269】
また、本開示の一実施形態によれば、搬送対象に関する情報(仕様など)に基づいて、センサで取得した情報における無効領域を設定するため、棚130がセンサで検知されたとしても適切な動作を実行することができる。
【0270】
また、本開示の一実施形態によれば、搬送対象となる棚にユニークな識別情報が割り当てられており、識別情報が正当であるか検証するため、不正な偽造品等を検出することができる。
【0271】
また、本開示の一実施形態によれば、光学的に認識可能なマーカを搬送対象に表示すれば実現できるため、簡便かつ安価に搬送対象を識別することが可能となる。
【0272】
[その他の実施形態]
前述した実施形態における制御装置310の一部又は全部は、ハードウェアで構成されていてもよいし、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)等が実行するソフトウェア(プログラム)の情報処理で構成されてもよい。ソフトウェアの情報処理で構成される場合には、前述した実施形態における制御装置310の少なくとも一部の機能を実現するソフトウェアを、CD-ROM(Compact Disc-Read Only Memory)、USB(Universal Serial Bus)メモリ等の非一時的な記憶媒体に収納し、少なくとも一つのプロセッサに読み込ませることにより、ソフトウェアの情報処理を実行してもよい。また、通信ネットワークを介して当該ソフトウェアがダウンロードされてもよい。さらに、ソフトウェアの処理の全部又は一部がASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の回路に実装されることにより、当該ソフトウェアによる情報処理がハードウェアにより実行されてもよい。
【0273】
ソフトウェアを収納する記憶媒体は、光ディスク等の着脱可能なものでもよいし、ハードディスク、メモリ等の固定型の記憶媒体であってもよい。また、記憶媒体は、制御装置310内部に備えられてもよいし(主記憶装置、補助記憶装置等)、制御装置310に備えられてもよい。
【0274】
図19は、制御装置310のハードウェア構成の一例を示すブロック図である。制御装置310は、一例として、プロセッサ701と、主記憶装置702(メモリ)と、補助記憶装置703(メモリ)と、ネットワークインタフェース704と、デバイスインタフェース705と、を備え、これらがバス706を介して接続されたコンピュータとして実現されてもよい。
【0275】
図19の制御装置310は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。
【0276】
制御装置310の各種演算は、1又は複数のプロセッサを用いて、又はネットワークを介した複数台のコンピュータを用いて、並列処理で実行されてもよい。また、各種演算が、プロセッサ701内に複数ある演算コアに振り分けられて、並列処理で実行されてもよい。また、本開示の処理、手段等の一部又は全部は、ネットワークインタフェース704を介して制御装置310と通信可能なクラウド上に設けられたプロセッサ及び記憶装置の少なくとも一方により実現されてもよい。
【0277】
プロセッサ701は、少なくとも制御装置310の制御又は演算のいずれかを行う電子回路(処理回路、Processing circuit、Processing circuitry、CPU、GPU、FPGA、ASIC等)であってもよい。また、プロセッサ701は、汎用プロセッサ、特定の演算を実行するために設計された専用の処理回路又は汎用プロセッサと専用の処理回路との両方を含む半導体装置のいずれであってもよい。また、プロセッサ701は、光回路を含むものであってもよいし、量子コンピューティングに基づく演算機能を含むものであってもよい。
【0278】
プロセッサ701は、制御装置310の内部構成の各装置等から入力されたデータやソフトウェアに基づいて演算処理を行ってもよく、演算結果や制御信号を各装置等に出力してもよい。プロセッサ701は、制御装置310のOS(Operating System)や、アプリケーション等を実行することにより、制御装置310を構成する各構成要素を制御してもよい。
【0279】
制御装置310は、1又は複数のプロセッサ701により実現されてもよい。ここで、プロセッサ701は、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップあるいは2つ以上のデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。
【0280】
主記憶装置702は、プロセッサ701が実行する命令及び各種データ等を記憶してもよく、主記憶装置702に記憶された情報がプロセッサ701により読み出されてもよい。補助記憶装置703は、主記憶装置702以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ又は不揮発性メモリのいずれでもよい。前述した実施形態における制御装置310において各種データ等を保存するための記憶装置は、主記憶装置702又は補助記憶装置703により実現されてもよく、プロセッサ701に内蔵される内蔵メモリにより実現されてもよい。例えば、前述した実施形態における搬送対象記憶部810又は環境地図記憶部811は、主記憶装置702又は補助記憶装置703により実現されてもよい。
【0281】
制御装置310が、少なくとも1つの記憶装置(メモリ)と、この少なくとも1つの記憶装置に接続(結合)される少なくとも1つのプロセッサで構成される場合、記憶装置1つに対して、少なくとも1つのプロセッサが接続されてもよい。また、プロセッサ1つに対して、少なくとも1つの記憶装置が接続されてもよい。また、複数のプロセッサのうち少なくとも1つのプロセッサが、複数の記憶装置のうち少なくとも1つの記憶装置に接続される構成を含んでもよい。また、記憶装置がプロセッサと一体になっている構成(例えば、L1キャッシュ、L2キャッシュを含むキャッシュメモリ)を含んでもよい。
【0282】
ネットワークインタフェース704は、無線又は有線により、通信ネットワーク740に接続するためのインタフェースである。ネットワークインタフェース704は、既存の通信規格に適合したもの等、適切なインタフェースを用いればよい。ネットワークインタフェース704により、通信ネットワーク740を介して接続された外部装置730と情報のやり取りが行われてもよい。なお、通信ネットワーク740は、WAN(Wide Area Network)、LAN(Local Area Network)、PAN(Personal Area Network)等の何れか又はそれらの組み合わせであってよく、制御装置310と外部装置730との間で情報のやり取りが行われるものであればよい。WANの一例としてインターネット等があり、LANの一例としてIEEE802.11やイーサネット(登録商標)等があり、PANの一例としてBluetooth(登録商標)やNFC(Near Field Communication)等がある。
【0283】
デバイスインタフェース705は、外部装置750と直接接続するUSB等のインタフェースである。
【0284】
外部装置730は制御装置310とネットワークを介して接続されている装置である。外部装置730は、例えば、ユーザ110が保持する情報処理端末、又は自律走行車120が用いる各種の情報を記憶する外部のサーバであってもよい。外部装置750は制御装置310と直接接続されている装置である。
【0285】
外部装置730又は外部装置750は、一例として、入力装置であってもよい。入力装置は、例えば、カメラ、マイクロフォン、モーションキャプチャ、各種センサ、キーボード、マウス、タッチパネル等のデバイスであり、取得した情報を制御装置310に与える。また、パーソナルコンピュータ、タブレット端末、スマートフォン等の入力部とメモリとプロセッサを備えるデバイスであってもよい。
【0286】
本実施形態において、入力装置は、例えば、カメラ(前面RGBカメラ221、ToFカメラ222、後面RGBカメラ320)、マイクロフォン(マイク301~304)、各種センサ(LiDAR212)等の電子デバイスであり、取得した情報を制御装置310に与える。
【0287】
また、外部装置730又は外部装置750は、記憶装置(メモリ)であってもよい。例えば、外部装置730はネットワークストレージ等であってもよく、外部装置750はHDD等のストレージであってもよい。
【0288】
また、外部装置730又は外部装置750は、制御装置310の構成要素の一部の機能を有する装置でもよい。つまり、制御装置310は、外部装置730又は外部装置750に処理結果の一部又は全部を送信してもよいし、外部装置730又は外部装置750から処理結果の一部又は全部を受信してもよい。
【0289】
本明細書(請求項を含む)において、「a、b及びcの少なくとも1つ(一方)」又は「a、b又はcの少なくとも1つ(一方)」の表現(同様な表現を含む)が用いられる場合は、a、b、c、a-b、a-c、b-c又はa-b-cのいずれかを含む。また、a-a、a-b-b、a-a-b-b-c-c等のように、いずれかの要素について複数のインスタンスを含んでもよい。さらに、a-b-c-dのようにdを有する等、列挙された要素(a、b及びc)以外の他の要素を加えることも含む。
【0290】
本明細書(請求項を含む)において、「データを入力として/を用いて/データに基づいて/に従って/に応じて」等の表現(同様な表現を含む)が用いられる場合は、特に断りがない場合、データそのものを用いる場合や、データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、データから抽出した特徴量、データの中間表現等)を用いる場合を含む。また、「データを入力として/を用いて/データに基づいて/に従って/に応じて」何らかの結果が得られる旨が記載されている場合(同様な表現を含む)、特に断りがない場合、当該データのみに基づいて当該結果が得られる場合や、当該データ以外の他のデータ、要因、条件及び/又は状態にも影響を受けて当該結果が得られる場合を含む。また、「データを出力する」旨が記載されている場合(同様な表現を含む)、特に断りがない場合、データそのものを出力として用いる場合や、データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、データから抽出した特徴量、各種データの中間表現等)を出力として用いる場合を含む。
【0291】
本明細書(請求項を含む)において、「接続される(connected)」及び「結合される(coupled)」との用語が用いられる場合は、直接的な接続/結合、間接的な接続/結合、電気的(electrically)な接続/結合、通信的(communicatively)な接続/結合、機能的(operatively)な接続/結合、物理的(physically)な接続/結合等のいずれをも含む非限定的な用語として意図される。当該用語は、当該用語が用いられた文脈に応じて適宜解釈されるべきであるが、意図的に或いは当然に排除されるのではない接続/結合形態は、当該用語に含まれるものして非限定的に解釈されるべきである。
【0292】
本明細書(請求項を含む)において、「AがBするよう構成される(A configured to B)」との表現が用いられる場合は、要素Aの物理的構造が、動作Bを実行可能な構成を有するとともに、要素Aの恒常的(permanent)又は一時的(temporary)な設定(setting/configuration)が、動作Bを実際に実行するように設定(configured/set)されていることを含んでよい。例えば、要素Aが汎用プロセッサである場合、当該プロセッサが動作Bを実行可能なハードウェア構成を有するとともに、恒常的(permanent)又は一時的(temporary)なプログラム(命令)の設定により、動作Bを実際に実行するように設定(configured)されていればよい。また、要素Aが専用プロセッサ、専用演算回路等である場合、制御用命令及びデータが実際に付属しているか否かとは無関係に、当該プロセッサの回路的構造等が動作Bを実際に実行するように構築(implemented)されていればよい。
【0293】
本明細書(請求項を含む)において、含有又は所有を意味する用語(例えば、「含む(comprising/including)」、「有する(having)」等)が用いられる場合は、当該用語の目的語により示される対象物以外の物を含有又は所有する場合を含む、open-endedな用語として意図される。これらの含有又は所有を意味する用語の目的語が数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)である場合は、当該表現は特定の数に限定されないものとして解釈されるべきである。
【0294】
本明細書(請求項を含む)において、ある箇所において「1つ又は複数(one or more)」、「少なくとも1つ(at least one)」等の表現が用いられ、他の箇所において数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)が用いられているとしても、後者の表現が「1つ」を意味することを意図しない。一般に、数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)は、必ずしも特定の数に限定されないものとして解釈されるべきである。
【0295】
本明細書において、ある実施形態の有する特定の構成について特定の効果(advantage/result)が得られる旨が記載されている場合、別段の理由がない限り、当該構成を有する他の1つ又は複数の実施形態についても当該効果が得られると理解されるべきである。但し、当該効果の有無は、一般に種々の要因、条件及び/又は状態に依存し、当該構成により必ず当該効果が得られるものではないと理解されるべきである。当該効果は、種々の要因、条件及び/又は状態が満たされたときに実施形態に記載の当該構成により得られるものに過ぎず、当該構成又は類似の構成を規定したクレームに係る発明において、当該効果が必ずしも得られるものではない。
【0296】
本明細書(請求項を含む)において、複数のハードウェアが所定の処理を行う場合、各ハードウェアが協働して所定の処理を行ってもよいし、一部のハードウェアが所定の処理の全てを行ってもよい。また、一部のハードウェアが所定の処理の一部を行い、別のハードウェアが所定の処理の残りを行ってもよい。本明細書(請求項を含む)において、「1又は複数のハードウェアが第1の処理を行い、前記1又は複数のハードウェアが第2の処理を行う」等の表現(同様な表現を含む)が用いられている場合、第1の処理を行うハードウェアと第2の処理を行うハードウェアは同じものであってもよいし、異なるものであってもよい。つまり、第1の処理を行うハードウェア及び第2の処理を行うハードウェアが、前記1又は複数のハードウェアに含まれていればよい。なお、ハードウェアは、電子回路、電子回路を含む装置等を含んでよい。
【0297】
本明細書(請求項を含む)において、複数の記憶装置(メモリ)がデータの記憶を行う場合、複数の記憶装置のうち個々の記憶装置は、データの一部のみを記憶してもよいし、データの全体を記憶してもよい。また、複数の記憶装置のうち一部の記憶装置がデータを記憶する構成を含んでもよい。
【0298】
以上、本開示の実施形態について詳述したが、本開示は上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において、種々の追加、変更、置き換え、部分的削除等が可能である。例えば、前述した実施形態において、数値又は数式を説明に用いている場合、これらは例示的な目的で示されたものであり、本開示の範囲を限定するものではない。また、実施形態で示した各動作の順序も例示的なものであり、本開示の範囲を限定するものではない。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19