(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-09-06
(45)【発行日】2024-09-17
(54)【発明の名称】自動走行システムおよび自動走行方法
(51)【国際特許分類】
G05D 1/244 20240101AFI20240909BHJP
G05D 1/43 20240101ALI20240909BHJP
G05D 1/228 20240101ALI20240909BHJP
A01B 69/00 20060101ALI20240909BHJP
G05D 1/246 20240101ALN20240909BHJP
【FI】
G05D1/244
G05D1/43
G05D1/228
A01B69/00 303L
G05D1/246
(21)【出願番号】P 2024085197
(22)【出願日】2024-05-24
【審査請求日】2024-05-24
【早期審査対象出願】
(73)【特許権者】
【識別番号】524050970
【氏名又は名称】株式会社トクイテン
(74)【代理人】
【識別番号】100166785
【氏名又は名称】大川 智也
(74)【代理人】
【識別番号】100165593
【氏名又は名称】加藤 淳也
(72)【発明者】
【氏名】豊吉 隆一郎
(72)【発明者】
【氏名】森 裕紀
(72)【発明者】
【氏名】野々山 昭太
(72)【発明者】
【氏名】奥野 福実夫
(72)【発明者】
【氏名】菅 佑樹
(72)【発明者】
【氏名】尾形 邦裕
【審査官】尾形 元
(56)【参考文献】
【文献】特開2019-21156(JP,A)
【文献】特表2022-540640(JP,A)
【文献】国際公開第2020/137311(WO,A1)
【文献】特開平8-221123(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00- 1/87
A01B 69/00
(57)【特許請求の範囲】
【請求項1】
通路を走行する走行装置と、前記走行装置の走行を制御する制御部とを備え、既知である前記通路に沿って前記走行装置を自動走行させる自動走行システムであって、
前記通路における複数の所定位置の各々に、
矩形の二次元領域内に特定の
幾何学的形状が描画されたARマーカーが配置されており、
前記走行装置は、
本体の進行方向を可変可能であり、且つ、前記進行方向に前記本体を走行させる走行駆動部と、
前記本体に設けられ、前記通路に配置された前記
ARマーカーを撮影可能な2Dカメラと、
を備え、
前記制御部は、
前記2Dカメラによって撮影された画像を処理することで、前記画像に含まれる少なくともいずれかの前記
ARマーカーを特定し、特定した前記
ARマーカーに対する前記走行装置の距離および方向を相対位置として取得する相対位置取得ステップと、
前記通路のマップにおける、複数の前記
ARマーカーの各々の配置を示すマップデータと、特定された前記
ARマーカーに対する前記走行装置の相対位置に基づいて、前記通路のマップ内における前記走行装置の現在位置を取得する現在位置取得ステップと、
前記現在位置取得ステップにおいて取得された前記走行装置の現在位置に基づいて前記走行駆動部の駆動を制御することで、前記走行装置を前記通路に沿って自動走行させる走行制御ステップと、
を実行し、
前記走行装置と複数の前記
ARマーカーを上方から見た場合に、
二次元である前記
ARマーカーの法線方向が、前記通路が延びる方向に対して所定の角度範囲内となるように、複数の前記
ARマーカーの各々が前記通路に配置されており、
前記走行装置が前記通路に沿って直進している際の、前記走行装置に設けられた前記2Dカメラの撮影光軸の方向と、前記走行装置が直進している前記通路に配置された前記
ARマーカーの法線方向が成す角度が、25度~65度の範囲内であることを特徴とする自動走行システム。
【請求項2】
請求項1に記載の自動走行システムであって、
前記
ARマーカーの法線方向が、前記通路が延びる方向に対して80度~100度の範囲内となるように、複数の前記
ARマーカーが前記通路に配置されており、
前記走行装置に設けられている前記2Dカメラの撮影光軸の方向が、前記走行装置から前後に延びる直進方向に対して、25度~65度の範囲内で傾いていることを特徴とする自動走行システム。
【請求項3】
請求項2に記載の自動走行システムであって、
前記走行装置に設けられている1つまたは複数の前記2Dカメラの撮影光軸の方向が、前記走行装置から前後に延びる直進方向に対して、左方および右方のいずれか一方に25度~65度の範囲内で傾いていることを特徴とする自動走行システム。
【請求項4】
請求項3に記載の自動走行システムであって、
前記走行装置の本体には2つの前記2Dカメラが設けられており、
前記走行装置から前後に延びる直進方向に対して、左方および右方の一方を撮影方向とした場合に、
一方の前記2Dカメラの撮影光軸の方向が、前記直進方向の前方に対して前記撮影方向側に25度~65度の範囲内で傾いており、
他方の前記2Dカメラの撮影光軸の方向が、前記直進方向の後方に対して前記撮影方向側に25度~65度の範囲内で傾いていることを特徴とする自動走行システム。
【請求項5】
請求項1に記載の自動走行システムであって、
前記制御部は、
前記2Dカメラによって撮影された画像に写る前記
ARマーカーの状態に基づいて、前記
ARマーカーに基づいて取得される前記相対位置の信頼度を算出する信頼度算出ステップをさらに実行することを特徴とする自動走行システム。
【請求項6】
請求項5に記載の自動走行システムであって、
前記制御部は、前記信頼度算出ステップにおいて、前記2Dカメラによって撮影された画像に写る前記
ARマーカーの形状が、前記2Dカメラの撮影光軸を前記
ARマーカーの法線方向に一致させた状態で撮影される形状に近い程、低い信頼度を算出することを特徴とする自動走行システム。
【請求項7】
請求項5に記載の自動走行システムであって、
二次元である前記
ARマーカーのうち、幾何学的特徴が形成される領域の外形が長方形状に形成されており、
前記制御部は、前記信頼度算出ステップにおいて、前記2Dカメラによって撮影された画像に写る前記
ARマーカーの前記外形の形状が平行四辺形に近い程、前記外形の形状が台形である場合に比べて低い信頼度を算出することを特徴とする自動走行システム。
【請求項8】
請求項5に記載の自動走行システムであって、
前記制御部は、前記現在位置取得ステップにおいて、
前記2Dカメラによって撮影された画像に含まれる前記
ARマーカーのうち、前記信頼度が基準を満たさない前記
ARマーカーに基づいて取得される情報を用いずに、前記走行装置の現在位置を取得することを特徴とする自動走行システム。
【請求項9】
請求項8に記載の自動走行システムであって、
前記制御部は、前記現在位置取得ステップにおいて、
前記2Dカメラによって撮影された画像に、前記信頼度が基準を満たす前記
ARマーカーが存在しない場合に、前記走行駆動部の駆動結果に基づいて前記走行装置の現在位置を取得することを特徴とする自動走行システム。
【請求項10】
請求項1に記載の自動走行システムであって、
前記制御部は、前記現在位置取得ステップにおいて、
複数の前記
ARマーカーに対して、前記走行装置の相対位置が複数取得されている場合に、取得された前記複数の相対位置に基づいて前記走行装置の現在位置を取得することを特徴とする自動走行システム。
【請求項11】
通路を走行する走行装置と、前記走行装置の走行を制御する制御部とを備え、既知である前記通路に沿って前記走行装置を自動走行させる自動走行システムによって実行される自動走行方法であって、
前記通路における複数の所定位置の各々に、
矩形の二次元領域内に特定の
幾何学的形状が描画されたARマーカーが配置されており、
前記走行装置は、
本体の進行方向を可変可能であり、且つ、前記進行方向に前記本体を走行させる走行駆動部と、
前記本体に設けられ、前記通路に配置された前記
ARマーカーを撮影可能な2Dカメラと、
を備え、
前記自動走行方法は、
前記2Dカメラによって撮影された画像を処理することで、前記画像に含まれる少なくともいずれかの前記
ARマーカーを特定し、特定した前記
ARマーカーに対する前記走行装置の距離および方向を相対位置として取得する相対位置取得ステップと、
前記通路のマップにおける、複数の前記
ARマーカーの各々の配置を示すマップデータと、特定された前記
ARマーカーに対する前記走行装置の相対位置に基づいて、前記通路のマップ内における前記走行装置の現在位置を取得する現在位置取得ステップと、
前記現在位置取得ステップにおいて取得された前記走行装置の現在位置に基づいて前記走行駆動部の駆動を制御することで、前記走行装置を前記通路に沿って自動走行させる走行制御ステップと、
を含み、
前記走行装置と複数の前記
ARマーカーを上方から見た場合に、
二次元である前記
ARマーカーの法線方向が、前記通路が延びる方向に対して所定の角度範囲内となるように、複数の前記
ARマーカーの各々が前記通路に配置されており、
前記走行装置が前記通路に沿って直進している際の、前記走行装置に設けられた前記2Dカメラの撮影光軸の方向と、前記走行装置が直進している前記通路に配置された前記
ARマーカーの法線方向が成す角度が、25度~65度の範囲内であることを特徴とする自動走行方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、既知である通路に沿って走行装置を自動走行させる自動走行システム、および、自動走行システムにおいて実行される自動走行方法に関する。
【背景技術】
【0002】
走行装置を通路に沿って自動走行させるための技術が知られている。例えば、特許文献1に記載の自動走行装置は、走行案内線の隣接箇所に予め付されているマークを撮影画像に基づいて検出し、検出結果に基づいて、走行案内線に沿って走行する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本願発明の発明者は、既知である通路に沿って、簡易な処理で適切に走行装置を自動走行させるための技術について誠意検討を行った。まず、既知である通路のマップのデータのみに基づいて、走行装置を走行させる距離および方向を制御することで、走行装置を自動走行させる方法が考えられる。しかし、この場合、通路が設置されている環境が僅かに変化しただけでも適切な自動走行を実現できない可能性が高くなる。例えば、農作物の栽培場に設置された通路に沿って走行装置を自動走行させる場合等には、農作物の生育、収穫、土壌の変化等に伴って環境が変化するので、通路のマップだけを用いても適切な自動走行は困難である。従って、走行装置の現在位置が適切に把握されることが望ましい。
【0005】
ここで、GPS等を利用すると、特に狭い領域内で走行装置を自動走行させる場合等に、現在位置の正確性が低下し易い。また、建物内およびビニールハウス内等、GPS等を利用できない場所も存在する。そこで、本願発明の発明者は、通路における所定位置にマーカーを設置し、設置されたマーカーに対する走行装置の相対位置を計測することで、走行装置の現在位置を把握する方法について検討した。走行装置に3Dカメラ(三次元カメラ)を設置し、3Dカメラによるマーカーの撮影画像を処理すれば、マーカーに対する走行装置の相対位置を計測することは可能である。しかし、3Dカメラは高価であり、且つ、3Dカメラによる撮影画像を処理するためには莫大な処理負担がかかる。よって、処理負担等の増加を抑制するためには、2Dカメラを用いることが望ましい。一方で、単にマーカーと2Dカメラを用いるのみでは、マーカーに対する走行装置の相対位置の計測精度が低下してしまうことが新たに判明した。
【0006】
本開示の典型的な目的は、既知である通路に沿って、簡易な処理で適切に走行装置を自動走行させることが可能な自動走行システムおよび自動走行方法を提供することである。
【課題を解決するための手段】
【0007】
本開示における典型的な実施形態が提供する自動走行システムは、通路を走行する走行装置と、前記走行装置の走行を制御する制御部とを備え、既知である前記通路に沿って前記走行装置を自動走行させる自動走行システムであって、前記通路における複数の所定位置の各々に、矩形の二次元領域内に特定の幾何学的形状が描画されたARマーカーが配置されており、前記走行装置は、本体の進行方向を可変可能であり、且つ、前記進行方向に前記本体を走行させる走行駆動部と、前記本体に設けられ、前記通路に配置された前記ARマーカーを撮影可能な2Dカメラと、を備え、前記制御部は、前記2Dカメラによって撮影された画像を処理することで、前記画像に含まれる少なくともいずれかの前記ARマーカーを特定し、特定した前記ARマーカーに対する前記走行装置の距離および方向を相対位置として取得する相対位置取得ステップと、前記通路のマップにおける、複数の前記ARマーカーの各々の配置を示すマップデータと、特定された前記ARマーカーに対する前記走行装置の相対位置に基づいて、前記通路のマップ内における前記走行装置の現在位置を取得する現在位置取得ステップと、前記現在位置取得ステップにおいて取得された前記走行装置の現在位置に基づいて前記走行駆動部の駆動を制御することで、前記走行装置を前記通路に沿って自動走行させる走行制御ステップと、を実行し、前記走行装置と複数の前記ARマーカーを上方から見た場合に、二次元である前記ARマーカーの法線方向が、前記通路が延びる方向に対して所定の角度範囲内となるように、複数の前記ARマーカーの各々が前記通路に配置されており、前記走行装置が前記通路に沿って直進している際の、前記走行装置に設けられた前記2Dカメラの撮影光軸の方向と、前記走行装置が直進している前記通路に配置された前記ARマーカーの法線方向が成す角度が、25度~65度の範囲内である。
【0008】
本開示における典型的な実施形態が提供する自動走行方法は、通路を走行する走行装置と、前記走行装置の走行を制御する制御部とを備え、既知である前記通路に沿って前記走行装置を自動走行させる自動走行システムによって実行される自動走行方法であって、前記通路における複数の所定位置の各々に、矩形の二次元領域内に特定の幾何学的形状が描画されたARマーカーが配置されており、前記走行装置は、本体の進行方向を可変可能であり、且つ、前記進行方向に前記本体を走行させる走行駆動部と、前記本体に設けられ、前記通路に配置された前記ARマーカーを撮影可能な2Dカメラと、を備え、前記自動走行方法は、前記2Dカメラによって撮影された画像を処理することで、前記画像に含まれる少なくともいずれかの前記ARマーカーを特定し、特定した前記ARマーカーに対する前記走行装置の距離および方向を相対位置として取得する相対位置取得ステップと、前記通路のマップにおける、複数の前記ARマーカーの各々の配置を示すマップデータと、特定された前記ARマーカーに対する前記走行装置の相対位置に基づいて、前記通路のマップ内における前記走行装置の現在位置を取得する現在位置取得ステップと、前記現在位置取得ステップにおいて取得された前記走行装置の現在位置に基づいて前記走行駆動部の駆動を制御することで、前記走行装置を前記通路に沿って自動走行させる走行制御ステップと、を含み、前記走行装置と複数の前記ARマーカーを上方から見た場合に、二次元である前記ARマーカーの法線方向が、前記通路が延びる方向に対して所定の角度範囲内となるように、複数の前記ARマーカーの各々が前記通路に配置されており、前記走行装置が前記通路に沿って直進している際の、前記走行装置に設けられた前記2Dカメラの撮影光軸の方向と、前記走行装置が直進している前記通路に配置された前記ARマーカーの法線方向が成す角度が、25度~65度の範囲内である。
【0009】
本開示に係る自動走行システムおよび自動走行方法によると、既知である通路に沿って、簡易な処理で適切に走行装置が自動走行される。
【図面の簡単な説明】
【0010】
【
図1】走行装置1を左斜め上方から見た斜視図である。
【
図2】自動走行システム10の電気的構成を示すブロック図である。
【
図3】マーカー30が設置された既知の通路100を、走行装置1が自動走行している状態を上方から見た模式図である。
【
図4】二次元のマーカー30の1つを正面(法線方向)から見た図である。
【
図5】
図4に示すマーカー30を左斜め前方から見た場合の模式図である。
【
図6】メイン通路101から分岐通路102に侵入する直前の走行装置1を上方から見た模式図である。
【
図7】メイン通路101から分岐通路102への侵入を開始した走行装置1を上方から見た模式図である。
【
図8】メイン通路101から分岐通路102に侵入した後の走行装置1を上方から見た模式図である。
【
図9】マーカー30を法線方向NDに対して直交する水平方向からマーカー30を見た場合の、法線方向NDと2Dカメラ5の撮影光軸Oの関係を模式的に示す図である。
【
図10】自動走行システム10の制御部が実行する自動走行制御処理のフローチャートである。
【発明を実施するための形態】
【0011】
<概要>
本開示で例示する自動走行システムは、通路を走行する走行装置と、走行装置の走行を制御する制御部とを備え、既知である通路に沿って走行装置を自動走行させる。本開示の自動走行方法は、自動走行システムによって実行される。通路における複数の所定位置の各々に、特定の幾何学的特徴を有する二次元のマーカーが予め配置されている。走行装置は、走行駆動部と2Dカメラ(例えば、単眼の二次元カメラ等)を備える。走行駆動部は、走行装置の本体の進行方向を可変可能であり、且つ、進行方向に本体を走行させる。2Dカメラは、走行装置の本体に設けられており、通路に配置されたマーカーを撮影することができる。制御部は、相対位置取得ステップ、現在位置取得ステップ、および自動走行ステップを実行する。相対位置取得ステップでは、制御部は、2Dカメラによって撮影された画像を処理することで、画像に含まれる少なくともいずれかのマーカーを特定し、特定したマーカーに対する走行装置の距離および方向を相対位置として取得する。現在位置取得ステップでは、制御部は、通路のマップにおける、複数のマーカーの各々の配置を示すマップデータと、特定されたマーカーに対する走行装置の相対位置に基づいて、通路のマップ内における走行装置の現在位置を取得する。走行制御ステップでは、制御部は、現在位置取得ステップにおいて取得された走行装置の現在位置に基づいて走行駆動部の駆動を制御することで、走行装置を通路に沿って自動走行させる。
【0012】
走行装置と複数のマーカーを上方から見た場合に、二次元であるマーカーの法線方向が、通路が延びる方向に対して所定の角度範囲内となるように、複数のマーカーの各々が通路に配置されている。走行装置が通路に沿って直進している際の、走行装置に設けられた2Dカメラの撮影光軸の方向と、走行装置が直進している通路に配置されたマーカーの法線方向が成す角度が、25度~65度の範囲内である。
【0013】
本開示の自動走行システムによると、通路の所定位置に配置されたマーカーが、走行装置に設置された2Dカメラによって撮影されることで、走行装置の現在位置が適切に取得される。取得された走行装置の現在位置に基づいて、走行装置が通路に沿って高い精度で自動走行される。よって、通路が設置されている環境の変化の影響を受けづらく、且つ、3Dカメラ等を用いる場合に比べて処理負担も増加し難い。さらに、本願発明者は、二次元であるマーカーの法線方向と、2Dカメラの撮影光軸が平行となっている場合(例えば、2Dカメラがマーカーを正面から撮影する場合等)には、マーカーに対する2Dカメラの相対位置(特に、方向)の計測精度が低下し易くなるという知見を得た。これは、マーカーの法線方向と2Dカメラの撮影光軸が平行となっていると、二次元の画像に基づいて検出されるマーカーの法線方向が、実際の法線方向とは真逆の方向として検出されてしまう現象が生じることが原因であると考えられる。本開示の自動走行システムでは、走行装置が通路に沿って直進している際に、走行装置の2Dカメラの撮影光軸の方向と、通路に配置されたマーカーの法線方向が成す角度が25度~65度の範囲内となるように、2Dカメラとマーカーが配置されている。その結果、マーカーの法線方向と、2Dカメラの撮影光軸が平行となる頻度が低下する。よって、マーカーに対する2Dカメラ(走行装置)の相対位置が、2Dカメラによって撮影された画像に基づいて、処理負担の増加を抑制しつつ高い精度で計測される。
【0014】
画像を処理することで、画像に含まれるマーカーに対する走行装置の相対位置を取得するための具体的な方法は、適宜選択できる。例えば、制御部は、2Dカメラによって撮影された画像においてマーカーが写る位置(例えば、画像の座標系におけるマーカーの位置等)と、画像に写るマーカーの向き(例えば、マーカーの形状等)に基づいて、マーカーに対する走行装置の方向(例えば、走行装置から見た場合のマーカーの方向等)を取得してもよい。また、制御部は、2Dカメラによって撮影された画像に写るマーカーの大きさに基づいて、マーカーに対する走行装置の距離(マーカーと走行装置の間の距離)を取得してもよい。
【0015】
マーカーには種々のマーカーを利用できる。例えば、矩形の二次元領域内に幾何学的形状が描画されたARマーカーが、通路に配置されていてもよい。この場合、2Dカメラによって撮影された画像が処理されることで、ARマーカーに対する2Dカメラの相対位置が適切に計測され易くなる。なお、複数のマーカーの各々に付されている幾何学的特徴は、マーカー毎に固有であってもよい。この場合、制御部は、2Dカメラによって撮影された画像に写るマーカーが、複数のマーカーのうちのいずれであるかを適切に特定することができる。
【0016】
制御部の構成も適宜選択できる。例えば、自動走行システムは、走行装置と制御装置(例えば、パーソナルコンピュータ、またはサーバ等)を備えていてもよい。走行装置と制御装置は、無線通信等によって通信接続されていてもよい。制御装置のコントローラが、走行装置の自動走行を制御するための相対位置取得ステップ、現在位置取得ステップ、および走行制御ステップを実行する制御部として機能してもよい。また、制御装置のコントローラと、走行装置のコントローラが協働して、相対位置取得ステップ、現在位置取得ステップ、および走行制御ステップを実行してもよい。この場合、走行装置のコントローラの処理能力を向上させなくても、制御の少なくとも一部が制御装置のコントローラによって実行されることで、走行装置が適切に自動走行される。また、走行装置のコントローラが単独で、相対位置取得ステップ、現在位置取得ステップ、および走行制御ステップを実行してもよい。この場合、自動走行システムは制御装置を備えていなくてもよい。
【0017】
マーカーの法線方向が、通路が延びる方向に対して80度~100度の範囲内となるように、複数のマーカーが通路に配置されていてもよい。走行装置に設けられている2Dカメラの撮影光軸の方向が、走行装置から前後に延びる直進方向に対して、25度~65度の範囲内で傾いていてもよい。
【0018】
この場合、二次元のマーカーの平面方向が、通路が延びる方向に沿うように(つまり、マーカーの法線方向が通路の中央に向けて直交するように)配置されればよいので、マーカーの設置が容易になる。さらに、マーカーの平面方向が、通路が延びる方向に対して傾いている場合とは異なり、走行装置の2Dカメラは、マーカーよりも進行方向の手前側からマーカーを撮影することもでき、且つ、マーカーよりも進行方向の奥側からマーカーを撮影することもできる。よって、マーカーに対する走行装置の相対位置が、より高い精度で取得され易くなる。
【0019】
なお、本開示における「直進方向」とは、走行装置が前方に直進する方向だけでなく、走行装置が後方に直進する方向も含む。つまり、本開示における「直進方向」は、走行装置が曲がらずに前後に直進する際の前後方向を示す。また、走行装置に複数の2Dカメラが設けられる場合、少なくとも1つの2Dカメラの撮影光軸が、直進方向に対して25度~65度の範囲内で傾いていれば、走行装置の現在位置は高い精度で計測される。
【0020】
走行装置に設けられている1つまたは複数の2Dカメラの撮影光軸の方向が、走行装置から前後に延びる直進方向に対して、左方および右方のいずれか一方に25度~65度の範囲内で傾いていてもよい。
【0021】
この場合、走行装置の左方および右方のうち、いずれか一方のマーカーが2Dカメラによって撮影される。本開示の自動走行システムによると、マーカーに対する走行装置の距離および方向(相対位置)に基づいて走行装置の現在位置が取得されるので、走行装置の左右両方のマーカーが2Dカメラによって撮影されなくても、走行装置の現在位置は適切に取得される。また、走行装置の左方および右方のうちの一方のみを撮影する場合には、左右両方を撮影する場合に比べて、走行装置に設置する2Dカメラの数を減らすことができる。よって、より簡易な構成および処理で走行装置の自動走行が実現される。
【0022】
走行装置の本体には、2つの2Dカメラが設けられていてもよい。ここで、走行装置から前後に延びる直進方向に対して、左方および右方の一方を撮影方向とする。一方の2Dカメラの撮影光軸の方向が、直進方向の前方に対して撮影方向側に25度~65度の範囲内で傾いていてもよい。他方の2Dカメラの撮影光軸の方向が、直進方向の後方に対して撮影方向側に25度~65度の範囲内で傾いていてもよい。
【0023】
この場合、走行装置の左方および右方のうちの一方のみを撮影することで、走行装置に設置する2Dカメラの数、および処理負担が増加することが、適切に抑制される。さらに、走行装置の左斜め前方と左斜め後方、もしくは、右斜め前方と右斜め後方が2Dカメラによって撮影されることで、通路に沿う方向における走行装置の現在位置が、より高い精度で取得される。よって、走行装置の自動走行がより適切に行われ易くなる。
【0024】
ただし、走行装置の本体に対する2Dカメラの具体的な設置方法を変更することも可能である。例えば、2つの2Dカメラを走行装置に設ける場合に、一方の2Dカメラの撮影光軸の方向を、進行方向に対して右側に25度~65度の範囲内で傾けると共に、他方の2Dカメラの撮影光軸の方向を、進行方向に対して左側に25度~65度の範囲内で傾けてもよい。この場合でも、2Dカメラによってマーカーが撮影されることで、走行装置の自動走行が適切に制御される。また、走行装置に設置する2Dカメラの数は、1つでもよいし3つ以上でもよい。
【0025】
また、通路に対するマーカーの設置角度と、走行装置に対する2Dカメラの設置角度を変更することも可能である。例えば、走行装置に設けられている2Dカメラの撮影光軸の方向が、走行装置から前後に延びる直進方向に対して平行、または90度となっていてもよい。マーカーの法線方向が、通路が延びる方向に対して、25度~65度の範囲内で傾いていてもよい。この場合でも、マーカーの法線方向と、2Dカメラの撮影光軸が平行となる頻度が低下する。よって、マーカーに対する2Dカメラ(走行装置)の相対位置が、処理負担の増加を抑制しつつ高い精度で計測される。
【0026】
制御部は、2Dカメラによって撮影された画像に写るマーカーの状態に基づいて、マーカーに基づいて取得される相対位置の信頼度を算出する信頼度算出ステップをさらに実行してもよい。この場合、算出される信頼度に基づいて走行装置の現在位置が取得されることで、取得される現在位置の精度がさらに向上し易くなる。
【0027】
制御部は、信頼度算出ステップにおいて、2Dカメラによって撮影された画像に写るマーカーの形状が、2Dカメラの撮影光軸をマーカーの法線方向に一致させた状態(つまり、2Dカメラをマーカーに正対させた状態)で撮影される形状に近い程、低い信頼度を算出してもよい。
【0028】
前述したように、二次元であるマーカーの法線方向と、2Dカメラの撮影光軸が平行となっている場合には、マーカーに対する2Dカメラの相対位置の計測精度が低下し易くなる。従って、画像に写るマーカーの形状が、2Dカメラをマーカーに正対させた状態で撮影される形状に近い程、低い信頼度が算出されることで、信頼度が適切に算出され易くなる。
【0029】
二次元であるマーカーのうち、幾何学的特徴が形成される領域の外形が長方形状に形成されていてもよい。制御部は、信頼度算出ステップにおいて、2Dカメラによって撮影された画像に写るマーカーの外形の形状が平行四辺形に近い程、外形の形状が台形である場合に比べて低い信頼度を算出してもよい。
【0030】
本願発明者は、二次元の撮影画像に写るマーカーの外形の形状が平行四辺形に近い程、マーカーに対する2Dカメラの相対位置の計測精度が低下し易くなるという知見を得た。これは、二次元の画像に写るマーカーの外形形状が平行四辺形に近いと、検出されるマーカーの法線方向が、実際の法線方向とは真逆の方向として検出されてしまう現象が生じることが原因であると考えられる。従って、画像に写るマーカーの形状が平行四辺形に近い程、外形の形状が台形である場合に比べて低い信頼度が算出されることで、信頼度が適切に算出され易くなる。なお、平行四辺形には、内角が90度ではない平行四辺形と、内角が90度である長方形および正方形が共に含まれる。しかし、マーカーが平行四辺形であれば、二次元の撮影画像に写るマーカーの外形が、内角が90度ではない平行四辺形である場合のみならず、内角が90度である長方形および正方形である場合も、相対位置の計測制度は低下し易くなる。従って、制御部は、撮影画像に写るマーカーの外形が、内角が90度ではない平行四辺形である場合にのみ低い信頼度を算出してもよいが、内角に関わらず、撮影画像に写るマーカーの外形が平行四辺形であれば低い信頼度を算出してもよい。
【0031】
制御部は、信頼度算出ステップにおいて、2Dカメラによって撮影された画像に写るマーカーの大きさが小さい程、低い信頼度を算出してもよい。画像に写るマーカーの大きさが小さいと、マーカーに対する2Dカメラの相対位置の計測精度が低下し易くなる。従って、画像に写るマーカーの大きさが小さい程、低い信頼度が算出されることで、信頼度が適切に算出され易くなる。
【0032】
本開示では、マーカーに基づいて取得される相対位置の信頼度を算出するための方法として、(1)二次元画像に写るマーカーが、2Dカメラを正対させた状態で撮影される形状に近い程、低い信頼度を算出する方法、(2)画像に写るマーカーの外形の形状が平行四辺形に近い程、低い信頼度を算出する方法、(3)画像に写るマーカーの大きさが小さい程、低い信頼度を算出する方法を例示する。制御部は、複数の方法を組み合わせることで信頼度を算出してもよい。例えば、制御部は、複数の方法の各々によって算出される信頼度に対して重み付けを行い、重みに基づいて複数の信頼度を統合することで、取得される相対位置の信頼度を算出してもよい。また、複数の方法の各々によって算出される信頼度のうち、最も低い信頼度が、相対位置の信頼度として採用されてもよい。
【0033】
制御部は、現在位置取得ステップにおいて、2Dカメラによって撮影された画像に含まれるマーカーのうち、信頼度が基準を満たさないマーカーに基づいて取得される情報を用いずに、走行装置の現在位置を取得してもよい。
【0034】
この場合、信頼度が基準を満たさないマーカーに対する相対位置が、走行装置の現在位置の取得に用いられないので、より高い精度で走行装置の現在位置が取得され易くなる。
【0035】
制御部は、現在位置取得ステップにおいて、2Dカメラによって撮影された画像に、信頼度が基準を満たすマーカーが存在しない場合に、走行駆動部の駆動結果に基づいて走行装置の現在位置を取得してもよい。
【0036】
この場合、信頼度が基準を満たすマーカーが画像に写り込んでいなくても、走行駆動部の駆動結果に基づいて、走行装置のある程度の現在位置が取得(推定)される。よって、通路に配置されているマーカーの数が少ない場合等でも、走行装置が適切に自動走行されやすくなる。
【0037】
制御部は、現在位置取得ステップにおいて、複数のマーカーに対して、走行装置の相対位置が複数取得されている場合に、取得された複数の相対位置に基づいて走行装置の現在位置を取得してもよい。
【0038】
この場合、1つのマーカーに対する走行装置の相対位置に基づいて走行装置の現在位置を取得するよりも、より高い精度で現在位置が取得され易くなる。
【0039】
例えば、制御部は、2Dカメラによって撮影された画像に、信頼度が基準を満たすマーカーが複数存在する場合に、信頼度が基準を満たす複数のマーカーの各々に対する走行装置の相対位置に基づいて、走行装置の現在位置を取得してもよい。この場合、信頼度が基準を満たすマーカーに対する相対位置が複数用いられるので、取得される現在位置の精度がさらに向上し易くなる。
【0040】
制御部は、複数のマーカーに対する複数の相対位置に基づいて走行装置の現在位置を取得する場合に、複数のマーカーの各々の信頼度を利用してもよい。例えば、制御部は、複数のマーカーの各々の信頼度に応じて、マーカーに対する相対位置の重み付けを行ってもよい。複数の相対位置の各々に基づいて算出される複数の走行装置の現在位置が相違する場合に、制御部は、相対位置の重みに応じて、最終的な現在位置を取得してもよい。
【0041】
ただし、走行装置の現在位置を取得するための具体的な方法を変更することも可能である。例えば、制御部は、2Dカメラによって撮影された画像に、マーカーが複数存在する場合に、画像に写る複数のマーカーのうち、信頼度が最も高い1つのマーカーに対する走行装置の相対位置に基づいて、走行装置の現在位置を取得してもよい。この場合、信頼度が最も高いマーカーに基づいて走行装置の現在位置が取得されるので、高い精度で現在位置が取得され易くなる。
【0042】
本開示の自動走行システムおよび自動走行方法は、農作物の栽培場に設置された通路に沿って走行装置を自動走行させるために用いられてもよい。農作物の栽培場では、農作物の生育、収穫、土壌の変化等によって環境が変化するので、通路のマップだけを用いても適切な自動走行は困難である。これに対し、本開示の自動走行システムおよび自動走行方法によると、通路の所定位置に複数のマーカーが設置されることで、構成および処理の複雑化を抑制しつつ適切に走行装置が自動走行される。
【0043】
<実施形態>
以下、本開示における典型的な実施形態の1つについて、図面を参照して説明する。一例として、本実施形態の自動走行システム10(
図2参照)は、農作物の栽培場に設置された通路に沿って走行装置1を自動走行させるために用いられる。ただし、他の通路(例えば、工場内または作業場内等に設けられた通路)に沿って走行装置1を自動走行させるために、本開示の自動走行システム10を用いることも可能である。
【0044】
(走行装置)
図1を参照して、本実施形態の自動走行システム10が備える走行装置1の概略構成について説明する。
図1の紙面左下側を、走行装置1の前方とする。
図1の紙面右上側を走行装置1の後方とする。
図1の紙面左上側を、走行装置1の右方とする。
図1の紙面右下側を、走行装置1の左方とする。
図1の紙面上側を、走行装置1の上方とする。
図1の紙面下側を、走行装置1の下方とする。なお、
図1、
図3、
図6~
図8では、走行装置1から前後に延びる方向を、直進方向SDとして示している。走行装置1は、前方または後方に直進する際に、直進方向SDに沿って走行する。
【0045】
図1に示すように、走行装置1は、各種構成を保持する本体2を備える。本実施形態では、本体2は略箱状であり、上面が平らになるように形成されている。本体2の上面には、作業者が乗ることも可能であり、種々の物体(例えば、収穫された農作物等)を載置することも可能である。
【0046】
本体2の右側には右車輪3Rが設けられており、本体2の左側には左車輪3Lが設けられている。本実施形態では、右車輪3Rおよび左車輪3Lの数はいずれも2つであるが、右車輪3Rおよび左車輪3Lの数を変更できることは言うまでもない。また、右車輪3Rおよび左車輪3Lの代わりに、走行装置1を走行させるための他の構成(例えば、ベルト状の履帯等)が採用されてもよい。
【0047】
本体2には、右車輪3Rおよび左車輪3Lを回転駆動させる走行駆動部4が設けられている。走行駆動部4は、走行装置1の本体2の進行方向を可変可能であり、且つ、進行方向に本体2を走行させる。一例として、本実施形態の走行駆動部4は、右車輪3Rと左車輪3Lの回転数および回転方向の少なくとも一方を変化させることで、走行装置1の進行方向を、直進方向SDに対して曲げることができる。また、走行駆動部4は、右車輪3Rと左車輪3Lの回転数および回転方向を共に一致させることで、走行装置1を直進方向SDに沿って前方または後方に直進させることができる。ただし、走行装置の進行方向を変えるための構成を変更することも可能である。例えば、走行駆動部は、走行装置の前輪の向きを変化させることで進行方向を変化させてもよい。
【0048】
本体2には、二次元の画像(本実施形態では動画像)を撮影する2Dカメラ5(5F,5B)が設けられている。2Dカメラ5は、通路100に配置されたマーカー30(
図3~
図9参照)を撮影することができる。本体2に設けられている2Dカメラ5の数、および撮影光軸の方向についての説明は後述する。
【0049】
本体2には、通信I/F6および制御部7が設けられている。通信I/F6は、走行装置1と制御装置20(
図2参照)を通信接続する。制御部7は、走行駆動部4の駆動制御、2Dカメラ5に関する各種制御、通信I/F6による通信の制御等を司る。
【0050】
(電気的構成)
図2を参照して、本実施形態の自動走行システム10の電気的構成について概略的に説明する。一例として、本実施形態の自動走行システム10は、走行装置1と制御装置20を備える。走行装置1と制御装置20は、無線通信によって接続される。本実施形態の自動走行システム10では、制御装置20のCPU22が、後述する自動走行制御処理(
図9参照)を実行することで、走行装置1の自動走行を制御する。ただし、走行装置1の自動走行を制御する方法を変更することも可能である。例えば、制御装置20のCPU22と、走行装置1のCPU8が、協働して自動走行制御処理を実行してもよい。また、走行装置1のCPU8が、単独で自動走行制御処理を実行してもよい。また、他のデバイスの制御部が、自動走行制御処理の一部を実行してもよい。
【0051】
走行装置1は、前述したように、走行駆動部4、2Dカメラ5(5F,5B)、通信I/F6、および制御部7を備える。制御部7は、制御を司るコントローラであるCPU8と、プログラムおよびデータ等を記憶することが可能な記憶装置9を備える。後述する自動走行制御処理(
図10参照)の少なくとも一部を走行装置1が実行する場合、記憶装置9には、自動走行制御処理を実行するための自動走行制御プログラムの少なくとも一部が記憶されていてもよい。通信I/F6は、走行装置1と制御装置20と通信接続する。
【0052】
制御装置20は、制御部21、通信I/F24、操作部25、および表示部26を備える。制御部21は、制御を司るコントローラであるCPU22と、プログラムおよびデータ等を記憶することが可能な記憶装置23を備える。記憶装置23には、後述する自動走行制御処理(
図10参照)を実行するための自動走行制御プログラムの少なくとも一部が記憶されている。また、記憶装置23には、既知である通路100と、通路100に設置された複数のマーカー30の各々の配置を示すマップデータが記憶されている。さらに、記憶装置23には、走行装置1を自動走行させる順路を示す走行計画も記憶される。通信I/F24は、制御装置20と走行装置1を通信接続する。操作部25は、ユーザが各種指示を制御装置20に入力するために、ユーザによって操作される。操作部25には、例えば、タッチパネル、各種ボタン、キーボード、マウス等の少なくともいずれかを使用できる。表示部26は、各種画像を表示する。なお、制御装置20が備える操作部25および表示部26の代わりに、制御装置20に外部接続される操作部および表示部が用いられてもよい。
【0053】
(走行装置を自動走行させる通路)
図3を参照して、走行装置1を自動走行させる通路100の一例について説明する。本実施形態の自動走行システム10は、既知である通路100に沿って走行装置1を自動走行させることができる。
図3に例示する既知の通路100には、メイン通路101と、メイン通路101から分岐する分岐通路102が含まれる。本実施形態では、通路100の全体を構成する複数の通路(メイン通路101および分岐通路102)の各々は、カーブが無い直線状である。分岐通路102は、メイン通路101に対して交差(本実施形態では直角に交差)している。ただし、各々の通路はカーブしていてもよい。
【0054】
既知の通路100における複数の所定位置の各々には、特定の幾何学的特徴を有する二次元のマーカー30が配置されている。各々のマーカー30は、二次元の幾何学的特徴が通路100の内側を向くように配置されている。マーカー30は、走行装置1に設けられた2Dカメラ5によって撮影される。走行装置1を自動走行させる場合、特に、複数の通路が分岐する分岐点(交差点)において正確に走行装置1の進行方向を制御する必要がある。従って、
図3に示す例では、複数の分岐点の各々の近傍(本実施形態では、走行装置1が分岐点に侵入する直前と直後)に、マーカー30が必ず設置されている。また、各々の通路の途中であっても、特に通路が長ければ、走行駆動部4の駆動結果(例えば、右車輪3Rおよび左車輪3Lの径および回転数等)のみによって走行装置1の現在位置を正確に取得することは難しくなる。従って、
図3に示す例では、各々の通路の途中にもマーカー30が配置されている場合がある。
【0055】
前述したように、自動走行システム10では、既知である通路100と、通路100に設置された複数のマーカー30の各々の配置を示すマップデータが記憶されている。従って、特定のマーカー30に対する走行装置1の相対位置が判明すれば、判明した相対位置をマップデータ上に当てはめることで、通路100上の走行装置1の現在位置が判明する。
【0056】
(マーカー)
図4および
図5を参照して、自動走行システム10において利用可能なマーカー30の一例について説明する。
図4に示すように、本実施形態では、矩形(本実施形態では正方形)の二次元領域内に幾何学的形状が描画されたARマーカーが、通路100に設置されるマーカー30として用いられる。その結果、2Dカメラ5によって撮影された画像が処理されることで、画像に写るマーカー30に対する2Dカメラ5(つまり、2Dカメラ5を備えた走行装置1)の相対位置(距離および方向)が適切に計測され易くなる。また、本実施形態では、通路100に設置される複数のマーカー30の各々に付されている幾何学的特徴は、マーカー30毎に固有である。マップデータでは、通路100内のどの位置に、どのマーカー30が設置されているかが示される。自動走行システム10(本実施形態では、制御装置20のCPU22)は、2Dカメラ5によって撮影された画像に写るマーカー30が、複数のマーカー30のうちのいずれであるかを、マーカー30の幾何学的特徴に基づいて特定することができる。自動走行システム10は、特定したマーカー30に対する走行装置1の相対位置を、マップデータ上で当てはめることで、通路100上の走行装置1の現在位置を取得する。
【0057】
マーカー30に対する走行装置1の相対位置を取得する方法の一例について説明する。本実施形態の自動走行システム10(本実施形態では、制御装置20のCPU22)は、2Dカメラ5によって撮影された画像においてマーカー30が写る位置(本実施形態では、画像の座標系においてマーカー30が写る位置)と、画像に写るマーカー30の向き(本実施形態ではマーカー30の形状)に基づいて、マーカー30に対する走行装置1の方向(つまり、走行装置1から見たマーカー30の方向)を取得する。また、自動走行システム10は、2Dカメラ5によって撮影された画像に写るマーカー30の大きさに基づいて、マーカー30に対する走行装置1の距離(マーカー30と走行装置1の間の距離)を取得する。
【0058】
ここで、
図5に示すように、二次元のマーカー30の法線方向NDに対して斜めの方向からマーカー30を撮影すると、画像に写るマーカー30の形状は、法線方向NDから撮影した場合の形状(本実施形態では正方形状)とは異なる形状(本実施形態では台形状)となる。この場合、画像に写るマーカー30の形状に基づいて、マーカー30の法線方向NDが正確に検出され易い。これに対し、本願発明者が試行および検討を繰り返したところ、マーカー30の法線方向NDと、2Dカメラ5の撮影光軸が平行となっている場合(例えば、2Dカメラ5がマーカー30を正面から撮影する場合等)には、マーカー30に対する2Dカメラ5の相対位置(特に方向)の計測精度が低下し易くなった。これは、マーカー30の法線方向NDと2Dカメラ5の撮影光軸が平行となっていると、二次元の画像に基づいて検出されるマーカーの法線方向が、実際の法線方向NDとは真逆の方向として検出されてしまう現象が生じることが原因であると考えられる。
【0059】
また、二次元の撮影画像に写るマーカー30の外形の形状が平行四辺形に近い程、マーカー30に対する2Dカメラ5の相対位置(特に方向)の計測精度が低下し易くなった。これは、二次元の画像に写るマーカー30の外形形状が平行四辺形に近いと、検出されるマーカーの法線方向が、実際の法線方向とは真逆の方向として検出されてしまう現象が生じることが原因であると考えられる。
【0060】
以上の知見に基づいて、本実施形態の自動走行システム10では、通路100に対するマーカー30の設置角度と、走行装置1に対する2Dカメラ5の設置角度の関係が調整されている。
【0061】
(マーカーと2Dカメラの設置角度)
図6~
図9を参照して、本実施形態の自動走行システム10における、マーカー30の設置角度と、走行装置1の2Dカメラ5の設置角度の関係について説明する。
図6および
図8に示すように、本実施形態では、走行装置1とマーカー30を上方から見た場合に、二次元であるマーカー30の法線方向NDが、通路100が延びる方向に対して所定の角度範囲内となるように、複数のマーカー30の各々が通路100に配置されている。走行装置1が通路100に沿って直進している際(
図6および
図8に示す状態)の、走行装置1に設けられた2Dカメラ5の撮影光軸O(OF,OB)の方向と、走行装置1が直進している通路(
図6ではメイン通路101、
図8では分岐通路102)に配置されたマーカー30の法線方向が成す角度が、25度~65度の範囲内(本実施形態では約45度)となっている。その結果、マーカー30の法線方向NDと、2Dカメラ5の撮影光軸O(OF,OB)が平行となる頻度が低下する。よって、マーカー30に対する2Dカメラ5(走行装置1)の相対位置が、2Dカメラ5によって撮影された画像に基づいて、処理負担の増加を抑制しつつ高い精度で計測される。
【0062】
図6および
図8に示すように、本実施形態では、マーカー30の法線方向NDが、通路100が延びる方向に対して80度~100度の範囲内(本実施形態では約90度)となるように、複数のマーカー30が通路に配置されている。さらに、走行装置1に設けられている2Dカメラ5の撮影光軸O(OF,OB)の方向が、走行装置1から前後方向に延びる直進方向SDに対して、25度~65度の範囲内(本実施形態では45度)で傾いている。つまり、走行装置1に設けられている2Dカメラ5の撮影光軸O(OF,OB)の方向と、走行装置1の直進方向SDが成す角θが、25度~65度の範囲内に調整されている。
【0063】
本実施形態では、二次元のマーカー30の平面方向が、通路100が延びる方向に沿うように(つまり、マーカー30の法線方向NDが通路100の中央に向けて極力直交するように)配置されればよいので、マーカー30の設置が容易になる。さらに、マーカー30の平面方向が、通路100が延びる方向に対して傾いている場合とは異なり、走行装置1の2Dカメラ5は、マーカー30よりも進行方向の手前側からマーカー30を撮影することもでき、且つ、マーカー30よりも進行方向の奥側からマーカー30を撮影することもできる。よって、マーカー30に対する走行装置1の相対位置が、より高い精度で取得され易くなる。
【0064】
図6~
図8を例示して、さらに具体的に説明する。
図6は、メイン通路101から分岐通路102に侵入する直前の走行装置1を上方から見た模式図である。
図6に示す状態では、走行装置1がメイン通路101を直進している。この場合、メイン通路101に配置されているマーカー30の法線方向NDと、走行装置1の2Dカメラ5の撮影光軸O(OF,OB)とが成す角度は、25度~65度の範囲内に収まりやすくなる。よって、マーカー30に対する走行装置1の相対位置が、高い精度で計測され易くなる。なお、
図6に示す例では、分岐通路102はメイン通路101から垂直に分岐している。従って、
図6に示す状態では、分岐通路102に配置されているマーカー30の法線方向NDと、走行装置1の2Dカメラ5Fの撮影光軸OFとが成す角度も、25度~65度の範囲内に収まっている。
【0065】
図7は、メイン通路101から分岐通路102への侵入を開始した走行装置1を上方から見た模式図である。
図7に示すように、走行装置1がカーブしている間は、マーカー30の法線方向NDに対して、2Dカメラ5の撮影光軸(
図7では、2Dカメラ5Bの撮影光軸OB)が平行となってしまうタイミングがある。しかしながら、走行装置1が通路100を曲がるために要する時間は、通路100に沿って直進する時間に比べると僅かである。従って、
図7に示す状態では、マーカー30に対する走行装置1の相対位置を利用しなくても、走行駆動部4の駆動結果を参照することで、走行装置1の現在位置が高い精度で把握される。
【0066】
図7に示す状態から、走行装置1の分岐通路102への侵入が完了すると、
図8に示す状態となる。
図8に示す状態でも、走行装置1が分岐通路102を直進しているので、分岐通路102に配置されているマーカー30の法線方向NDと、走行装置1の2Dカメラ5の撮影光軸O(OF,OB)とが成す角度は、25度~65度の範囲内に収まりやすくなる。よって、マーカー30に対する走行装置1の相対位置が、高い精度で計測され易くなる。
【0067】
図6~
図8に示すように、本実施形態では、走行装置1に設けられている1つまたは複数の2Dカメラ5(本実施形態では2つの2Dカメラ5)の撮影光軸O(OF,OB)の方向が、走行装置1から前後に延びる直進方向SDに対して、左方および右方のいずれか一方(本実施形態では左方のみ)に、25度~65度の範囲内で傾いている。その結果、本実施形態では、走行装置1の左方のマーカー30が2Dカメラ5によって撮影される。本実施形態の自動走行システム10によると、マーカー30に対する走行装置1の距離および方向(相対位置)に基づいて走行装置1の現在位置が取得されるので、走行装置1の左右両方のマーカー30が2Dカメラ5によって撮影されなくても、走行装置1の現在位置は適切に取得される。また、走行装置1の左方および右方のうちの一方のみを撮影する場合には、左右両方を撮影する場合に比べて、走行装置1に設置する2Dカメラ5の数を減らすことができる。よって、より簡易な構成および処理で走行装置1の自動走行が実現される。
【0068】
図6~
図8に示すように、本実施形態の走行装置1の本体2には、2つの2Dカメラ5F,5Bが設けられている。ここで、走行装置1から前後に延びる直進方向SDに対して、左方および右方の一方を撮影方向とする。本実施形態では、走行装置1の左方が撮影方向となる。一方の2Dカメラ5Fの撮影光軸OFの方向が、直進方向SDの前方に対して、撮影方向側(左側)に25度~65度の範囲内で傾いている。他方の2Dカメラ5Bの撮影光軸OBの方向が、直進方向SDの後方に対して撮影方向側(左側)に25度~65度の範囲内で傾いている。本実施形態によると、走行装置1の左方および右方のうちの一方のみを撮影することで、走行装置1に設置する2Dカメラ5の数、および、画像の処理負担が増加することが、適切に抑制される。さらに、走行装置1の左斜め前方と左斜め後方(右斜め前方と右斜め後方でもよい)が、2つの2Dカメラ5F,5Bによって撮影されることで、通路100に沿う方向における走行装置1の現在位置が、より高い精度で取得される。よって、走行装置1の自動走行がより適切に行われ易くなる。
【0069】
また、前述したように、二次元の撮影画像に写るマーカー30の外形の形状が平行四辺形に近い程、マーカー30に対する2Dカメラ5の相対位置(特に方向)の計測精度が低下し易くなる。ここで、マーカー30の法線方向NDに対して、左右の斜め上方または斜め下方から2Dカメラ5でマーカー30を撮影すると、撮影画像に写るマーカー30の外形の形状が平行四辺形になり易い。従って、
図9に示すように、本実施形態では、マーカー30を法線方向NDに対して直交する水平方向から見た場合に、マーカー30の法線方向NDと、2Dカメラ5の撮影光軸Oが成す角度Φが20度以下、より望ましくは10度以下となるように、マーカー30の設置角度と、走行装置1に設けられる2Dカメラ5の設置角度が調整されている。つまり、マーカー30の法線方向NDと、2Dカメラ5の撮影光軸Oが極力平行になるように、マーカー30の設置角度と、走行装置1に設けられる2Dカメラ5の設置角度が調整されている。その結果、マーカー30に対する2Dカメラ5(走行装置1)の相対位置が、より高い精度で計測され易くなる。
【0070】
(自動走行制御処理)
図10を参照して、本実施形態の自動走行システム10が実行する自動走行制御処理について説明する。前述したように、本実施形態では、制御装置20のCPU22が自動走行制御処理を実行する。しかし、自動走行制御処理の少なくとも一部は、他のデバイスの制御部(例えば、走行装置1のCPU8等)によって実行されてもよい。制御装置20のCPU22は、記憶装置23に記憶された自動走行制御プログラムに従って、
図10に例示する自動走行制御処理を実行する。
【0071】
まず、CPU22は、走行装置1の2Dカメラ5によって撮影された画像を取得する(S1)。本実施形態では、走行装置1の2Dカメラ5によって撮影された画像のデータが、無線通信によって制御装置20に送信される。次いで、CPU22は、S1で取得した画像を処理することで、撮影された画像にマーカー30が含まれているか否かを判断する(S2)。撮影された画像にマーカー30が含まれていなければ(S2:NO)、CPU22は、記憶装置23に記憶されているマップデータと、走行駆動部4の駆動結果(本実施形態では、右車輪3Rおよび左車輪3Lの径および回転数)に基づいて、走行装置1の現在位置を取得(推定)する(S11)。例えば、CPU22は、マーカー30等に基づいて過去に取得された走行装置1の正確且つ最新の位置と、走行駆動部4の駆動結果に基づいて取得される最新の位置からの走行経路を、マップデータ上に当てはめることで、走行装置の現在位置を取得してもよい。S11の処理が行われることで、2Dカメラ5によって撮影された画像にマーカー30が写り込んでいなくても、走行装置1のある程度の現在位置が取得(推定)される。
【0072】
S1で取得した画像にマーカー30が含まれている場合(S2:YES)、CPU22は、画像に写るマーカー30の状態に基づいて、そのマーカー30に基づいて取得される走行装置1の相対位置(マーカー30に対する走行装置1の距離および方向)の信頼度を算出する(S3)。
【0073】
本実施形態のS3では、CPU22は、2Dカメラ5によって撮影された画像に写るマーカー30の形状が、2Dカメラ5の撮影光軸O(OF,OB)をマーカー30の法線方向NDに一致させた状態(つまり、2Dカメラ5をマーカー30に正対させた状態)で撮影される形状に近い程、低い信頼度を算出する。本実施形態では、2Dカメラ5をマーカー30に正対させて撮影すると、画像に写るマーカー30の形状は正方形状となる。この場合、マーカー30に対する2Dカメラ5の相対位置の計測精度が低下し易くなる。従って、画像に写るマーカー30の形状が正方形状に近い程、低い信頼度が算出されることで、信頼度が適切に算出され易くなる。
【0074】
また、本実施形態のS3では、CPU22は、2Dカメラ5によって撮影された画像に写るマーカー30の外形の形状が平行四辺形に近い程、外形の形状が台形である場合に比べて低い信頼度を算出する。前述したように、二次元の撮影画像に写るマーカー30の外形の形状が平行四辺形に近い程、マーカー30に対する2Dカメラ5の相対位置(特に方向)の計測精度が低下し易くなる。従って、画像に写るマーカー30の形状が平行四辺形に近い程、低い信頼度が算出されることで、信頼度が適切に算出され易くなる。
【0075】
さらに、本実施形態のS3では、CPU22は、2Dカメラ5によって撮影された画像に写るマーカー30の大きさが小さい程、低い信頼度を算出する。画像に写るマーカー30の大きさが小さいと、マーカー30に対する2Dカメラ5の相対位置の計測精度が低下し易くなる。従って、画像に写るマーカー30の大きさが小さい程、低い信頼度が算出されることで、信頼度が適切に算出され易くなる。
【0076】
なお、CPU22は、以上説明した3つの信頼度算出方法の2つ以上を組み合わせることで信頼度を算出してもよい。例えば、CPU22は、複数の方法の各々によって算出される信頼度に対して重み付けを行い、重みに基づいて複数の信頼度を統合することで、取得される相対位置の信頼度を算出してもよい。また、複数の方法の各々によって算出される信頼度のうち、最も低い信頼度が、マーカー30に基づいて取得される相対位置の信頼度として採用されてもよい。
【0077】
次いで、CPU22は、S1で取得された画像に写る1つまたは複数のマーカー30の中に、S3で算出された信頼度が基準を満たす(例えば、信頼度が閾値以上である)マーカー30が存在するか否かを判断する(S5)。信頼度が基準を満たすマーカー30が画像に写っていなければ(S5:NO)、CPU22は、記憶装置23に記憶されているマップデータと、走行駆動部4の駆動結果に基づいて、走行装置1の現在位置を取得する(S11)。従って、信頼度が基準を満たすマーカー30が画像に写り込んでいなくても、走行駆動部4の駆動結果に基づいて、走行装置1のある程度の現在位置が取得(推定)される。よって、通路に配置されているマーカー30の数が少ない場合等でも、走行装置1が適切に自動走行されやすくなる。
【0078】
信頼度が基準を満たすマーカー30が、S1で取得された画像に存在する場合(S5:YES)、CPU22は、S1で取得された画像に写る1つまたは複数のマーカー30の中から、信頼度が基準を満たすマーカー30のみを特定する(S6)。以後行われるS7,S8の処理では、S1で取得された画像に含まれるマーカー30のうち、信頼度が基準を満たさないマーカー30に基づく情報を用いずに、信頼度が基準を満たすマーカー30の上方のみが用いられて、走行装置1の現在位置が取得される。その結果、より高い精度で走行装置1の現在位置が取得される。
【0079】
CPU22は、S1で取得された画像に写るマーカー30のうち、S6で特定したマーカー30(つまり、信頼度が基準を満たすマーカー30)に対する、走行装置1(2Dカメラ5)の相対位置を取得する(S7)。マーカー30に対する走行装置1の相対位置の取得方法は、前述した通りである。CPU22は、記憶装置23に記憶されているマップデータにおける複数のマーカー30の位置のうち、S6で特定されたマーカー30の位置と、S7で取得されたマーカー30に対する相対位置を、マップデータ上で当てはめることで、走行装置1の現在位置を取得する(S8)。その結果、通路100が設置されている環境の変化等に関わらず、走行装置1の現在位置が高い精度で取得される。
【0080】
なお、S6~S8の処理では、CPU22は、複数のマーカー30に対して、走行装置1の相対位置が複数取得された場合(つまり、本実施形態では、信頼度が基準を満たすマーカー30が画像の中に複数存在していた場合)に、取得された複数の相対位置に基づいて、走行装置1の現在位置を取得してもよい。例えば、CPU22は、S6で特定された複数のマーカー30の各々の信頼度に応じて、マーカー30に対する相対位置の重み付けを行ってもよい。複数の相対位置の各々に基づいて算出される複数の走行装置1の現在位置が相違する場合に、CPU22は、相対位置の重みに応じて、最終的な現在位置を取得してもよい。
【0081】
また、S6~S8の処理では、CPU22は、画像に写る複数のマーカー30のうち、信頼度が最も高い1つのマーカー30に対する走行装置1の相対位置に基づいて、走行装置1の現在位置を取得してもよい。この場合、信頼度が最も高いマーカー30に基づいて走行装置1の現在位置が取得されるので、高い精度で現在位置が取得され易くなる。
【0082】
CPU22は、S8またはS11で取得された走行装置1の現在位置と、記憶装置23に記憶された走行計画に基づいて走行駆動部4の駆動を制御することで、走行装置1を通路100に沿って自動走行させる(S12)。処理を終了させるトリガが入力されていなければ(S14:NO)、処理はS1へ戻り、S1~S14の処理が繰り返される。その結果、走行装置1が走行計画に基づいて自動走行される。処理を終了させるトリガが入力されると、自動走行制御処理は終了する。
【0083】
上記実施形態で開示された技術は一例に過ぎない。従って、上記実施形態で例示された技術を変更することも可能である。例えば、上記実施形態で例示された技術の一部のみを実行することも可能である。例えば、マーカー30の法線方向NDと、2Dカメラ5の撮影光軸Oが極力平行になるように、マーカー30の設置角度と、走行装置1に設けられる2Dカメラ5の設置角度が調整されれば、2Dカメラ5によって撮影されたマーカー30の形状は平行四辺形になり難い。この場合、画像に写るマーカー30の信頼度を算出する処理(S3)では、画像に写るマーカー30の形状が平行四辺形に近いか否かを判断しなくてもよい。
【0084】
また、上記実施形態では、マーカー30の法線方向NDが、通路100が延びる方向に対して80度~100度の範囲内(本実施形態では約90度)となるように、複数のマーカー30が通路に配置されている。また、走行装置1に設けられている2Dカメラ5の撮影光軸O(OF,OB)の方向が、走行装置1から前後方向に延びる直進方向SDに対して、25度~65度の範囲内(本実施形態では45度)で傾いている。その結果、マーカー30の法線方向NDと、2Dカメラ5の撮影光軸O(OF,OB)の角度が調整されている。しかし、通路100に対するマーカー30の設置角度と、走行装置1に対する2Dカメラ5の設置角度を変更することも可能である。例えば、走行装置1に設けられている2Dカメラ5の撮影光軸Oの方向が、走行装置1から前後に延びる直進方向SDに対して平行、または90度となっていてもよい。通路100に設置されるマーカー30の法線方向NDが、通路100が延びる方向に対して、25度~65度の範囲内で傾いていてもよい。この場合でも、マーカー30の法線方向NDと、2Dカメラ5の撮影光軸Oが平行となる頻度が低下する。よって、マーカー30に対する2Dカメラ5(走行装置1)の相対位置が、処理負担の増加を抑制しつつ高い精度で計測される。
【符号の説明】
【0085】
1 走行装置
2 本体
4 走行駆動部
5(5F,5B) 2Dカメラ
10 自動走行システム
20 制御装置
22 CPU
23 記憶装置
30 マーカー
100 経路
SD 直進方向
ND 法線方向
【要約】
【課題】既知である通路に沿って、簡易な処理で適切に走行装置を自動走行させることが可能な自動走行システムおよび自動走行方法を提供する。
【解決手段】走行装置1と複数のマーカー30を上方から見た場合に、二次元であるマーカー30の法線方向NDが、通路100が延びる方向に対して所定の角度範囲内となるように、複数のマーカー30の各々が通路100に配置されている。走行装置1が通路100に沿って直進している際の、走行装置1に設けられた2Dカメラ5F,5Bの撮影光軸OF,OBの方向と、走行装置1が直進している通路101に配置されたマーカー30の法線方向NDが成す角度が、25度~65度の範囲内である。
【選択図】
図6