(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-18
(45)【発行日】2024-11-26
(54)【発明の名称】自律移動体
(51)【国際特許分類】
G05D 1/43 20240101AFI20241119BHJP
【FI】
G05D1/43
(21)【出願番号】P 2021122594
(22)【出願日】2021-07-27
【審査請求日】2023-10-12
(31)【優先権主張番号】P 2020205819
(32)【優先日】2020-12-11
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100088155
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100124062
【氏名又は名称】三上 敬史
(74)【代理人】
【識別番号】100148013
【氏名又は名称】中山 浩光
(74)【代理人】
【識別番号】100162640
【氏名又は名称】柳 康樹
(72)【発明者】
【氏名】飯塚 遼
【審査官】大古 健一
(56)【参考文献】
【文献】特開2020-187707(JP,A)
【文献】特開2017-123065(JP,A)
【文献】特開2000-148246(JP,A)
【文献】特開2019-109770(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00 - 1/87
(57)【特許請求の範囲】
【請求項1】
追従対象物に追従するように自律走行する自律移動体であって、
走行する機台と、
前記機台に設けられ、前記機台の周辺の状況に関する周辺情報を検出する周辺情報検出部と、
前記周辺情報に基づいて、前記機台を制御する制御部と、を備え、
前記制御部は、
前記周辺情報に基づいて、前記機台の周辺に存在する障害物の外形を検出する障害物形状検出部と、
前記障害物形状検出部で取得された前記障害物によって形成される通路の通路幅を検出する通路幅検出部と、
前記機台を停止させる障害物の存在を検出するための障害物停止エリアを設定する障害物停止エリア設定部と、を有し、
前記障害物停止エリア設定部は、前記通路幅検出部で検出された前記通路幅に基づいて、前記障害物停止エリアの範囲を変更し、
前記障害物停止エリア設定部は、前記障害物停止エリアとして、前記機台の速度に基づく第1の範囲、及び前記通路幅に基づく第2の範囲に設定可能であり、
前記障害物停止エリア設定部は、前記通路幅検出部で検出された前記通路幅が所定の幅閾値を下回り、且つ、前記機台の速度が所定の速度閾値を下回っている場合、前記障害物停止エリアとして少なくとも前記第2の範囲を含む範囲に設定する
、自律移動体。
【請求項2】
追従対象物に追従するように自律走行する自律移動体であって、
走行する機台と、
前記機台に設けられ、前記機台の周辺の状況に関する周辺情報を検出する周辺情報検出部と、
前記周辺情報に基づいて、前記機台を制御する制御部と、を備え、
前記制御部は、
前記周辺情報に基づいて、前記機台の周辺に存在する障害物の外形を検出する障害物形状検出部と、
前記障害物形状検出部で取得された前記障害物によって形成される通路の通路幅を検出する通路幅検出部と、
前記機台を停止させる障害物の存在を検出するための障害物停止エリアを設定する障害物停止エリア設定部と、を有し、
前記障害物停止エリア設定部は、前記通路幅検出部で検出された前記通路幅に基づいて、前記障害物停止エリアの範囲を変更し、
前記通路幅検出部は、前記障害物の検出範囲を幅方向に短冊状の複数の区間に区切り、基準位置から前記幅方向の外側へ向かって、順次、各区間内に前記障害物が存在するかの判定処理を行い、前記障害物が存在すると判定された区間と前記基準位置との間の区間の数に基づいて、前記通路幅を検出する
、自律移動体。
【請求項3】
周辺情報は、前記機台の周辺の各箇所における状況を検出する複数の検出情報を含み、
前記通路幅検出部は、複数の前記検出情報のうち、検出情報選定エリア内において、前記障害物の存在を示すものを、前記通路幅の検出に用いる検出情報として選定する、請求項1
又は2に記載の自律移動体。
【請求項4】
前記通路幅検出部は、前記障害物の検出範囲の大きさに基づいて、前記検出情報選定エリアの大きさを設定する、請求項
3に記載の自律移動体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自律移動体に関する。
【背景技術】
【0002】
自律移動体として、特許文献1に記載されたものが知られている。この自律移動体は、自律走行する機台と、機台に設けられ、機台の周辺の状況に関する周辺情報を検出する周辺情報検出部と、周辺情報に基づいて、機台を制御する制御部と、を備える。自律移動体は、周辺情報検出部で機台の周辺に存在する障害物を監視して、障害物との衝突を回避しながら自律走行を行う。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、自律移動体は、作業者などの追従対象物に追従しながら走行を行う場合がある。このとき、自律移動体は、機台を停止させる障害物の存在を検出するための障害物停止エリアを設定した状態で、追従走行を行う。このような障害物停止エリアは、機台の速度に応じた大きさに設定され、速度が低いほど小さく設定される。これにより、不必要に障害物が検出されることを抑制することで、自律移動体は、狭い通路であっても、追従対象物に遅れることなく追従することができる。しかし、通路幅が機台よりも小さいような通路であっても、追従対象物が当該通路を通り抜ける場合がある。このとき、機台は通路に近づき過ぎる前に停止することが好ましいが、速度に基づく障害物停止エリアが小さいことによって、機台が通路にぎりぎりまで近づいてから停止することになる。例えば、狭い通路に、センサで検出できないようなチェーンが設置されており、追従対象物がチェーンをまたいで通過するような場合、機台が通路まで近づき過ぎてチェーンと干渉する可能性がある。従って、追従対象物へ追従しつつ、機台と障害物との干渉を抑制することができる自律移動体が求められていた。
【0005】
本発明の目的は、追従対象物へ追従しつつ、機台と障害物との干渉を抑制することができる自律移動体を提供することである。
【課題を解決するための手段】
【0006】
本発明の一態様に係る自律移動体は、追従対象物に追従するように自律走行する自律移動体であって、走行する機台と、機台に設けられ、機台の周辺の状況に関する周辺情報を検出する周辺情報検出部と、周辺情報に基づいて、機台を制御する制御部と、を備え、制御部は、周辺情報に基づいて、機台の周辺に存在する障害物の外形を検出する障害物形状検出部と、障害物形状検出部で取得された障害物によって形成される通路の通路幅を検出する通路幅検出部と、機台を停止させる障害物の存在を検出するための障害物停止エリアを設定する障害物停止エリア設定部と、を有し、障害物停止エリア設定部は、通路幅検出部で検出された通路幅に基づいて、障害物停止エリアの範囲を変更する。
【0007】
本発明の一態様に係る自律移動体では、障害物停止エリア設定部が、機台を停止させる障害物の存在を検出するための障害物停止エリアを設定する。従って、自律移動体は、機台の周辺の障害物との干渉を回避しながら、追従対象物に追従するように自律走行することができる。ここで、障害物停止エリア設定部は、通路幅検出部で検出された通路幅に基づいて、障害物停止エリアの範囲を変更することができる。追従対象物が狭い通路を通過することによって、機台と追従対象物との間に狭い通路が存在するような場合、障害物停止エリア設定部は、当該通路の通路幅に応じて、適切な位置で機台を停止させることができるように、障害物停止エリアの範囲を適切に変更することができる。この場合、機台が狭い通路に近づき過ぎることを抑制することができるため、例えば狭い通路にチェーンなどが存在していた場合でも、機台がチェーンなどと干渉することを抑制できる。以上より、自律移動体は、追従対象物へ追従しつつ、機台と障害物との干渉を抑制することができる。
【0008】
障害物停止エリア設定部は、障害物停止エリアとして、機台の速度に基づく第1の範囲、及び通路幅に基づく第2の範囲に設定可能であり、障害物停止エリア設定部は、通路幅検出部で検出された通路幅が所定の幅閾値を下回り、且つ、機台の速度が所定の速度閾値を下回っている場合、障害物停止エリアとして少なくとも第2の範囲を含む範囲に設定してよい。障害物停止エリア設定部は、上述のような幅閾値と速度閾値を用いて、障害物停止エリアの範囲の変更を行うことで、より適切な障害物停止エリアを設定することができる。
【0009】
通路幅検出部は、障害物の検出範囲を幅方向に短冊状の複数の区間に区切り、基準位置から幅方向の外側へ向かって、順次、各区間内に障害物が存在するかの判定処理を行い、障害物が存在すると判定された区間と基準位置との間の区間の数に基づいて、通路幅を検出してよい。このように検出範囲を短冊状の複数の区間に区切ることによる物体の位置を検出する方法は実績のある方法であるが、当該方法を通路幅の検出に用いることで、通路幅検出部の検出結果の信頼度を高めることができる。
【0010】
周辺情報は、機台の周辺の各箇所における状況を検出する複数の検出情報を含み、通路幅検出部は、複数の検出情報のうち、検出情報選定エリア内において、障害物の存在を示すものを、通路幅の検出に用いる検出情報として選定する。この場合、通路幅検出部は、複数の検出情報のうち、障害物の存在を示す検出情報を用いる一方、障害物の存在を示していない検出情報を用いずに、通路幅を検出することができる。このように、通路幅検出部は、通路幅を検出するのに必要な検出情報に絞って演算を行うことが可能となるため、処理負担を低減することができる。
【0011】
通路幅検出部は、障害物の検出範囲の大きさに基づいて、検出情報選定エリアの大きさを設定してよい。この場合、通路幅検出部は、通路幅の検出を行う検出範囲での必要性に基づいて、検出情報選定エリアを適切な大きさに設定できる。
【発明の効果】
【0012】
本発明によれば、追従対象物へ追従しつつ、機台と障害物との干渉を抑制することができる自律移動体を提供することができる。
【図面の簡単な説明】
【0013】
【
図1】本発明の一実施形態に係る自律移動体の走行の様子を示す概略図である。
【
図3】自律移動体の制御部にて行われる制御処理の制御内容を示すフローチャートである。
【
図4】
図4(a)は、速度ベース障害物停止エリア及び通路幅ベース障害物停止エリアを示し、
図4(b)(c)(d)は、採用された障害物停止エリアを示す概念図である。
【
図5】自律移動体が狭い通路付近で自律走行を行っている様子を示す概念図である。
【
図6】通路幅の算出方法の一例を示す概念図である。
【
図7】通路幅ベース障害物停止エリアの長さの算出方法の一例を示す概念図である。
【
図8】比較例に係る自律移動体が狭い通路付近で自律走行を行っている様子を示す概念図である。
【
図9】変形例に係る自律移動体の検出情報選定エリアの一例を示す概念図である。
【
図10】変形例に係る自律移動体の制御部にて行われる制御処理の制御内容を示すフローチャートである。
【
図11】変形例に係る自律移動体の検出情報選定エリアの一例を示す概念図である。
【
図12】変形例に係る自律移動体の検出情報選定エリアの一例を示す概念図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【0015】
図1は、本発明の一実施形態に係る自律移動体1の走行の様子を示す概略図である。
図2は、自律移動体1のブロック構成図である。自律移動体1は、種々の荷物が収容された複数の棚等を有する製造工場、荷物配送センター、パーツセンター、倉庫等にて、荷物を入庫する場合や、荷物を出庫する場合に用いられる自律走行台車などである。
図1に示すように、自律移動体1は、作業者などの追従対象物2に追従するように自律走行する。自律移動体1は、追従対象物2が移動することに伴い、当該追従対象物2の後に続くように移動する。
【0016】
自律移動体1は、機台3と、周辺情報検出部4と、を備える。機台3は、追従対象物2に追従するように走行する自律移動体1の本体部である。
図1に示す例においては、機台3は、円筒状の形状を有しており、下面側に走行用の車輪6を備えている。機台3は、複数の車輪6(例えば、
図6に示す用に四個)を有しており、各方向へ自由に移動することができる。
【0017】
周辺情報検出部4は、機台3に設けられ、機台3の周辺の状況に関する周辺情報を検出する。周辺情報検出部4は、各方向の状況を検出できるように、機台3の上面に設けられている。機台3の周辺の状況には、機台3の周辺に存在する障害物の位置及び形状を示す情報や、追従対象物2の位置などを示す情報などが含まれる。周辺情報検出部4は、例えば、レーザセンサ(LRF:Laser Range Finder)、ステレオカメラ、ToF(Time of flight)カメラ、レーダセンサ、超音波センサなどの各種センサ、またはこれらのセンサの組み合わせによって構成される。例えば、周辺情報検出部4の一例としてのレーザセンサは、機台3の周辺の検出範囲における環境の状態を検出する。具体的に、レーザセンサは、機台3の周辺の物体(障害物及び追従対象物2)を検出し、検出した物体との位置関係を計測することができる。レーザセンサは、機台3の周辺にレーザを照射し、レーザの反射光を受光することにより、レーザセンサから機台3の周辺の物体を検出し、当該物体までの距離を計測する。使用するレーザとしては、2Dレーザでもよいし、3Dレーザでもよい。
【0018】
周辺情報検出部4によって検出される周辺情報は、3機台の周辺の各箇所における状況を検出する複数の検出情報を含む。周辺情報検出部4としてレーザセンサが採用される場合、
図9に示すように、周辺情報検出部4は、走査線SLとしてレーザを発信しながら、周辺を走査する。周辺情報検出部4は、各箇所における走査線SLによって得られる情報を検出情報として取得する。具体的に、走査線SLが障害物OAの表面に当たった箇所では、周辺情報検出部4は、障害物OAの存在を示す情報として、障害物OAの表面のデータ点DPを検出情報として取得する。なお、データ点DPの詳細については、障害物形状検出部16の説明と共に後述する。その一方、障害物OAが機台3の周辺に存在しない箇所では、周辺情報検出部4は、障害物OAが周囲に存在していないことを示す情報として、走査線SLによるデータ点DPが得られなかったことを検出情報として取得する。なお、周辺情報検出部4としてカメラが採用される場合、周辺情報検出部4は、各箇所における画像を周辺情報として取得する。
【0019】
図2に示すように、自律移動体1は、前述の周辺情報検出部4と、駆動部7と、制御部10と、を備える。
【0020】
駆動部7は、特に図示はしないが、自律移動体1の車輪6を回転させるモータを備える。駆動部7は、制御部10からの制御信号に基づいて、自律移動体1が所望の動作をするように車輪6を駆動させる。
【0021】
制御部10は、自律移動体1を統括的に管理するECU[Electronic Control Unit]を備えている。ECUは、CPU[Central Processing Unit]、ROM[Read Only Memory]、RAM[Random Access Memory]、CAN[Controller Area Network]通信回路等を有する電子制御ユニットである。ECUでは、例えば、ROMに記憶されているプログラムをRAMにロードし、RAMにロードされたプログラムをCPUで実行することにより各種の機能を実現する。制御部10は、情報取得部11と、追従制御部12と、障害物監視部13と、走行制御部14と、記憶部15と、を備える。
【0022】
情報取得部11は、自律移動体1の自律走行に必要な各種情報を所得する。情報取得部11は、少なくとも周辺情報検出部4で検出された周辺情報を取得する。また、情報取得部11は、自律移動体1の速度も取得することができる。
【0023】
追従制御部12は、自律移動体1が追従対象物2(
図1参照)を追従するための制御を行う。追従制御部12は、情報取得部11で取得した周辺情報を用いて追従対象物2の位置を特定する。追従制御部12は、機台3と追従対象物2との距離が所定の値で一定となるように制御する。従って、追従対象物2が前回の検出位置に対して所定の方向に所定の距離だけ移動した場合、追従制御部12は、追従対象物2の当該移動に伴って自律移動体1が移動するように制御する。追従制御部12は、走行制御部14を介して、駆動部7を駆動させることで、機台3を所望の方向及び移動量だけ移動させる。
【0024】
走行制御部14は、追従制御部12の制御内容及び障害物監視部13の監視結果に基づいて、自律移動体1の走行を制御する。走行制御部14は、所望の方向へ所望の移動量だけ自律移動体1が移動するように、駆動部7へ制御信号を出力する。また、走行制御部14は、加速や減速が必要な場合は、駆動部7へ加減速の制御信号を出力し、停止が必要な場合は、駆動部7へ停止の制御信号を出力する。記憶部15は、各種データを記憶する。記憶部15は、例えば、自律移動体1が作業を行う現場の地図データを記憶する。
【0025】
障害物監視部13は、自律移動体1の周辺に存在する障害物を監視する。障害物監視部13は、特に、機台3と追従対象物2との間に存在する障害物(
図1に示す障害物OA1,OA2)や、自律移動体1が追従を行う際の移動経路付近に存在する障害物を監視する。障害物監視部13は、障害物形状検出部16と、通路幅検出部17と、障害物停止エリア設定部18と、を備える。
【0026】
障害物形状検出部16は、情報取得部11で取得された周辺情報に基づいて、機台3の周辺に存在する障害物の外形を検出する。周辺情報検出部4としてレーザセンサを用いた場合、
図7に示すように、レーザが障害物OA1,OA2の表面に当たることで、データ点DPが取得される。このデータ点DPからは、周辺情報検出部4に対する幅方向の位置及び距離を把握することができる。このようなデータ点DPは、障害物OA1,OA2の表面で幅方向に所定のピッチで取得される。これにより、障害物形状検出部16は、複数のデータ点DPで構成されるデータ点群を取得することができる。障害物形状検出部16は、データ点群に基づいて、周辺に存在する障害物OA1,OB2の形状を検出することができる。具体的に、障害物OA1の端部のデータ点DP1と、障害物OA2の端部のデータ点DP2とは、互いに幅方向に離間しており、データ点DP1と障害物OA2との間にはデータ点DPが存在していない。従って、障害物形状検出部16は、自律移動体1の左側に、データ点DP1の位置を端部として左側へ広がる障害物OA1の形状を検出できる。また、障害物形状検出部16は、自律移動体1の道側に、データ点DP2の位置を端部として道側へ広がる障害物OA2の形状を検出できる。また、障害物形状検出部16は、障害物OA1と障害物OA2との間に、自律移動体1が障害物OA1,OA2よりも奥側へ移動する際に通過する経路の候補となる通路PLが形成されていることも検出できる。
【0027】
図1に戻り、通路幅検出部17は、障害物形状検出部16で取得された障害物によって形成される通路の通路幅を検出する。
図7の例においては、障害物OA1,OA2によって形成される通路PLの通路幅Wを検出する。通路幅検出部17が通路幅を検出するための具体的な方法は特に限定されず、公知の方法を適宜採用すればよいが、例えば、
図6に示すような方法を採用してよい。
【0028】
図6に示すモデルでは、自律移動体1の進行方向MDに障害物OC1,OC2が存在しており、両者の間に通路PLが形成されている。機台3の中心を限定とし、進行方向MDをX軸とし、幅方向をY軸としたXY座標が設定される。
図6(a)に示すように、通路幅検出部17は、通路PLの通路幅を検出するための検出範囲DEを設定する。検出範囲DEは、X軸を基準位置として、左右に通路幅閾値WLの広さを有するように設定される。通路幅閾値WLは、自律移動体1が通路PLを通過することができる通路幅の限界値であり、機台3の直径の値に設定される。通路幅検出部17は、障害物の検出範囲DEを幅方向に短冊状の複数の区間SDEに区切る。
【0029】
ここで、通路幅検出部17は、X軸を基準位置として、当該基準位置から幅方向の外側へ向かって、順次、各区間SDE内に障害物が存在するかの判定処理を行う。具体的には、基準位置に対して右側の障害物OC2を検出するときは、通路幅検出部17は、基準位置の右側であって、基準位置に一番近い区間SDEについて、障害物が存在するかの判定処理を行う。当該区間SDEに障害物が存在しないと判定された場合、通路幅検出部17は、基準位置の右側であって、基準位置に二番目に近い区間SDEについて判定処理を行う。このように、通路幅検出部17は、区間SDEを右側へ一つずつずらしながら判定処理をおこなう。このような処理を行うと、
図6(b)に示すように、通路幅検出部17は、基準位置から右側へ六番目の区間SDEにて障害物OC2を検出する。なお、障害物OC2が区間SDE内に存在するかどうかは、内積を用いて判定することができる。これにより、通路幅検出部17は、障害物OC2が存在すると判定された六番目の区間SDEと基準位置との間の区間SDEの数(五個)に基づいて、基準位置の右側の通路幅を検出する。一つの区間の幅が0.05mであるとすると、通路幅検出部17は、「0.05m × (6個-1個)= 0.25m」が右側の通路幅であると検出する。通路幅検出部17は、左側の通路幅についても同様の演算を行う。左側の障害物OC1は、五番目の区間SDEで検出される。従って、通路幅検出部17は、「0.05m × (5個-1個)= 0.2m」が左側の通路幅であると検出する。通路幅検出部17は、右側の通路幅と左側の通路幅を足し合わせることで、障害物OC1,OC2間の通路の通路幅(=0.45m)を検出する。
【0030】
障害物停止エリア設定部18は、機台3と追従対象物2との間において、機台3を停止させる障害物の存在を検出するための障害物停止エリアを設定する。本実施形態では、障害物停止エリア設定部18は、障害物停止エリアとして、機台3の速度に基づく速度ベース障害物停止エリア(第1の範囲)、及び通路幅に基づく通路幅障害物停止エリア(第2の範囲)の少なくとも一方の範囲に設定される。障害物停止エリア設定部18は、まず、速度ベース障害物停止エリアの大きさを算出し、通路幅ベース障害物停止エリアの大きさを算出する。そして、障害物停止エリア設定部18は、状況に合わせて、最終的に機台3を停止させる障害物の存在を検出するための障害物停止エリアを決定する。
【0031】
具体的には、障害物停止エリア設定部18は、
図4(a)に示すように、速度ベース障害物停止エリアSE1として、機台3の周囲を取り囲むような円形の範囲に設定される。障害物停止エリア設定部18は、機台3の速度に応じて、速度ベース障害物停止エリアSE1の直径を調整する。例えば、障害物停止エリア設定部18は、障害物の検出後に機台3が停止するのに必要な距離を確保できるように、速度が速いほど速度ベース障害物停止エリアSE1の直径を大きくする。なお、障害物停止エリア設定部18は、公知の方法を用いて速度ベース障害物停止エリアSE1の直径を設定することができる。なお、速度ベース障害物停止エリアSE1は、機台3の全周に設定されてもよいが、
図1及び
図5に示すように、進行方向MDに対する後側の一部を省略してもよい。
【0032】
障害物停止エリア設定部18は、
図4(a)に示すように、通路幅ベース障害物停止エリアSE2として、機台3に対して進行方向MDの前側に、所定の幅、及び所定の長さを有する矩形状の範囲に設定される。障害物停止エリア設定部18は、最低限、障害物と機台3との間で空けておきたい距離をパラメータとして設定すれば、当該パラメータと通路幅との関係によって、幾何的に決定することができる。具体的に、
図7に示すように、通路PLの幅方向と垂直であり、障害物OA2の端部のデータ点DP2を通過する線を基準線STとする。このとき、機台3の中心CPが基準線STに配置され、機台3とデータ点DP2との間に最低限、障害物OA2と機台3との間で空けておきたい距離Xthを空けるような位置に、機台3を仮想的に配置する。なお、
図7に示す位置関係は、実際に障害物停止エリア設定部18が算出を行うときの位置関係とは異なっており、演算のために仮想的に設定した配置である。このときの中心CPと他方の障害物OA1の端部のデータ点DP1との間の距離が、通路幅ベース障害物停止エリアSE2の長さLとして採用される。この場合、中心CP、データ点DP1、及びデータ点DP2によって直角三角形が形成される。直角三角形の斜辺の長さは長さLに該当し、短辺が通路幅Wに該当し、長辺が「距離Xth+機台3の半径R」に該当する。従って、長さLと、通路幅Wと、距離Xthと、機台3の半径Rとの間には、「L
2 = W
2 + (Xth+R)
2」という関係式が成り立つ。従って、長さLは、当該関係式の右辺の平方根を算出することによって求めることができる。なお、長さLは0より大きい正の数である。なお、当該算出方法は、通路幅ベース障害物停止エリアSE2の長さを求めるための方法の一例に過ぎず、特に限定されることなく他の方法が用いられてよい。なお、通路幅ベース障害物停止エリアSE2の片側幅(機台中心から半分の幅)は、次のように設定してよい。例えば、片側幅は、機台幅(機台半径)+安全マージン(横方向に対して、障害物との距離を開けたい幅)によって算出されてよい。例えば、通路幅ベース障害物停止エリアSE2の幅を機台幅のみにしてしまうと、機台がぎりぎり通れるような通路へ侵入してしまい、その後走行中に横の障害物と干渉する恐れがあるため、それを抑制するために前述のような算出方法にて設定することができる。
【0033】
障害物停止エリア設定部18は、
図4(a)のように、速度ベース障害物停止エリアSE1及び通路幅ベース障害物停止エリアSE2の大きさを設定したら、状況に応じて、障害物停止エリアSE1,SE2の一方、又は両方を用いて、最終的な障害物停止エリアSE3を決定する。障害物停止エリア設定部18は、通常状態においては、
図4(b)に示すように、速度ベース障害物停止エリアSE1を最終的な障害物停止エリアSE3として採用する。一方、障害物停止エリア設定部18は、特定の状況となったら、
図4(c)、(d)に示すように、通路幅ベース障害物停止エリアSE2を最終的な障害物停止エリアSE3として採用する。例えば、障害物停止エリア設定部18は、
図4(c)に示すように、通路幅ベース障害物停止エリアSE2のみを最終的な障害物停止エリアSE3として採用してよい。あるいは、障害物停止エリア設定部18は、
図4(d)に示すように、通路幅ベース障害物停止エリアSE2及び速度ベース障害物停止エリアSE1を合わせた範囲を最終的な障害物停止エリアSE3として採用してよい。以上により、障害物停止エリア設定部18は、通路幅検出部17で検出された通路幅に基づいて、障害物停止エリアSE3の範囲を変更することができる。
【0034】
障害物停止エリア設定部18は、通路幅検出部17で検出された通路幅が所定の幅閾値を下回り、且つ、機台3の速度が所定の速度閾値を下回っている場合、障害物停止エリアSE3として少なくとも通路幅ベース障害物停止エリアSE2(第2の範囲)を含む範囲に設定する。例えば、幅閾値は、機台3の直径に設定されてもよいし、機台3の直径に所定の余裕寸法を足し合わせた値に設定されてもよい。速度閾値は、速度ベース障害物停止エリアが小さくなりすぎることで、機台3が通路PLに近づき過ぎることになる前段階における速度に設定されてよい。例えば、
図5(a)に示すように、追従対象物2が狭い通路PL(通路幅Wは幅閾値を下回っている)を通過する前段階においては、自律移動体1が通常の速度で走行するため、障害物停止エリア設定部18は、速度ベース障害物停止エリアSE1を障害物停止エリアSE3として採用する。一方、追従対象物2が狭い通路PLを通過するときには、速度を落として通過する。そのため、
図5(b)に示すように、自律移動体1が通路PL付近に近づいた状態では、自律移動体1の速度が低速になる。この場合、
図5(c)に示すように、障害物停止エリア設定部18は、通路幅ベース障害物停止エリアSE2を障害物停止エリアSE3として採用する。
【0035】
次に、
図3を参照して、自律移動体1の制御部10の制御内容について説明する。
図3は、自律移動体1の制御部10にて行われる制御処理の制御内容を示すフローチャートである。この制御処理は、自律移動体1が追従対象物2の追従走行をしているときに、所定のタイミングで繰り返し実行される。なお、制御処理の説明を行うために、適宜
図5を参照することがある。
【0036】
図3に示すように、制御部10の障害物形状検出部16は、情報取得部11を介して周辺情報検出部4から取得した周辺情報に基づいて、機台3の周辺に存在する障害物の形状を検出する(ステップS110)。次に、通路幅検出部17は、障害物形状検出部16で取得された障害物によって形成される通路の通路幅を検出する(ステップS120)。ステップS120では、通路幅検出部17は、障害物の検出範囲を幅方向に短冊状の複数の区間に区切り、基準位置から幅方向の外側へ向かって、順次、各区間内に障害物が存在するかの判定処理を行う。通路幅検出部17は、障害物が存在すると判定された区間と基準位置との間の区間の数に基づいて、通路幅を検出する。
図5(b)に示す状態では、通路幅検出部17は、機台3と追従対象物2との間に存在している通路PLの通路幅Wを検出する。
図5(a)に示す状態では、通路幅検出部17は、機台3の横に存在する一対の壁である障害物OD1,OD2によって形成される通路の通路幅を検出する。なお、
図6の検出範囲DE内に障害物がなければ、通路幅は2×WLとなる。したがって、
図5(a)において検出範囲DE内に障害物OD1,OD2が入っていなければ、通路幅は2×WLとなり、障害物OD1,OD2が入っている場合には、それらの障害物OD1,OD2から構成される通路幅が設定される。
【0037】
次に、障害物停止エリア設定部18は、機台の速度に基づく速度ベース障害物停止エリアSE1(通常の障害物停止エリア)の大きさを算出する(ステップS130)。次に、障害物停止エリア設定部18は、ステップS120で検出された通路幅に基づく通路幅ベース障害物停止エリアSE2の大きさを算出する(ステップS140)。障害物停止エリア設定部18は、ステップS130で算出した速度ベース障害物停止エリアSE1及びステップS140で算出した通路幅ベース障害物停止エリアSE2の両方を加味して、障害物停止エリアSE3を決定する(ステップS150)。ステップS150では、障害物停止エリア設定部18は、機台3と追従対象物2との間に極狭の通路が存在している場合、機台3がその通路へ進んでいるかを判断する。障害物停止エリア設定部18は、機台3が進んでいる通路の通路幅と所定の閾値とを比較する。また、障害物停止エリア設定部18は、機台3の速度と所定の速度閾値とを比較する。これらの処理に基づき、障害物停止エリア設定部18は、通路幅が所定の幅閾値を下回り、且つ、機台3の速度が所定の速度閾値を下回っているか否かを判定する(ステップS160)。
【0038】
ステップS160において「NO」と判定された場合、障害物停止エリア設定部18は、速度ベース障害物停止エリアSE1を障害物停止エリアSE3として採用する(ステップS180)。例えば、
図5(a)に示す状態では、障害物停止エリア設定部18は、速度ベース障害物停止エリアSE1を障害物停止エリアSE3として採用する。なお、もともと障害物停止エリアSE3として速度ベース障害物停止エリアSE1が採用されていた場合は、障害物停止エリア設定部18は、障害物停止エリアSE3をもとの状態で維持する。
【0039】
一方、ステップS160において「YES」と判定された場合、障害物停止エリア設定部18は、通路幅ベース障害物停止エリアSE2を障害物停止エリアSE3として採用する(ステップS170)。例えば、
図5(b)に示す状態では、障害物停止エリア設定部18は、通路幅ベース障害物停止エリアSE2を障害物停止エリアSE3として採用することで、
図5(c)に示す状態とする。もともと障害物停止エリアSE3として速度ベース障害物停止エリアSE1が採用されていた場合、障害物停止エリア設定部18は、ステップS120で検出された通路幅に基づいて、障害物停止エリアSE3の範囲を速度ベース障害物停止エリアSE1から通路幅ベース障害物停止エリアSE2へ変更する。
【0040】
ステップS170,S180において障害物停止エリアSE3が設定された後、障害物監視部13は、設定した障害物停止エリアSE3を用いて、障害物の判定処理を行う(ステップS190)。例えば、
図5(c)に示す状態では、障害物停止エリアSE3が、機台3よりも幅が狭い通路PLを検出するため、障害物監視部13は、機台3を停止させる必要のある障害物が存在すると判定して、自律移動体1の移動を停止させる。そして、ステップS190の処理が終了すると、
図3に示す制御処理が終了し、自律移動体1は、その場で停止したまま待機する。
【0041】
一方、
図5(a)に示す状態では、通常状態における障害物停止エリアSE3は、機台3よりも幅が狭い通路PLを検出しないため、障害物監視部13は、機台3を停止させる必要のある障害物が存在しないと判定して、自律移動体1の移動を継続させる。ステップS190の処理が終了すると、
図3に示す制御処理が終了し、再びステップS110から処理を繰り返す。
【0042】
次に、本実施形態に係る自律移動体1の作用・効果について説明する。
【0043】
比較例に係る自律移動体は、本実施形態のように、通路幅ベース障害物停止エリアを算出することなく、速度ベース障害物停止エリアのみを用いて、障害物を監視していた。例えば、
図8(a)に示すように、通路幅が機台3よりも小さいような通路PLであっても、追従対象物2が当該通路PLを通り抜ける場合がある。この場合、機台3は、追従対象物2に追従するために、通路PLに近づくように走行する。このとき、機台3は通路PLに近づき過ぎる前に停止することが好ましいが、速度に基づく障害物停止エリアSE1が小さいことによって、機台3が通路PLにぎりぎりまで近づいてから停止することになる。具体的には、機台3の前端部の一部が通路PLに入り込む程度まで近づいてしまう。ここで、狭い通路PLに、レーザセンサで検出できないようなチェーンCHが設置されており、追従対象物2がチェーンCHをまたいで通路PLを通過するような場合もある。この場合、
図8(b)に示すように、機台3が通路PLまで近づき過ぎて、前端部が通路PLに入り込む結果、チェーンCHと干渉する可能性がある。
【0044】
これに対し、実施形態に係る自律移動体1では、障害物停止エリア設定部18が、機台3を停止させる障害物の存在を検出するための障害物停止エリアSE3を設定する。従って、自律移動体1は、機台3の周辺の障害物との干渉を回避しながら、追従対象物2に追従するように自律走行することができる。ここで、障害物停止エリア設定部18は、通路幅検出部17で検出された通路幅に基づいて、障害物停止エリアSE3の範囲を変更することができる。追従対象物2が狭い通路PLを通過することによって、機台3と追従対象物2との間に狭い通路PLが存在するような場合、障害物停止エリア設定部18は、当該通路PLの通路幅に応じて、適切な位置で機台3を停止させることができるように、障害物停止エリアSE3の範囲を適切に変更することができる。この場合、機台3が狭い通路PLに近づき過ぎることを抑制することができるため(例えば
図5(c)参照)、例えば狭い通路PLにチェーンCHなどが存在していた場合でも、機台3がチェーンCHなどと干渉することを抑制できる。以上より、自律移動体1は、追従対象物2へ追従しつつ、機台3と障害物との干渉を抑制することができる。
【0045】
障害物停止エリア設定部18は、障害物停止エリアSE3として、機台3の速度に基づく速度ベース障害物停止エリアSE1(第1の範囲)、及び通路幅に基づく通路幅ベース障害物停止エリアSE2(第2の範囲)に設定可能であり、障害物停止エリア設定部18は、通路幅検出部17で検出された通路幅が所定の幅閾値を下回り、且つ、機台3の速度が所定の速度閾値を下回っている場合、障害物停止エリアSE3として少なくとも通路幅ベース障害物停止エリアSE2を含む範囲に設定してよい。障害物停止エリア設定部は18、上述のような幅閾値と速度閾値を用いて、障害物停止エリアSE3の範囲の変更を行うことで、より適切な障害物停止エリアを設定することができる。
【0046】
通路幅検出部17は、障害物の検出範囲を幅方向に短冊状の複数の区間に区切り、基準位置から幅方向の外側へ向かって、順次、各区間内に障害物が存在するかの判定処理を行い、障害物が存在すると判定された区間と基準位置との間の区間の数に基づいて、通路幅を検出してよい。このように検出範囲を短冊状の複数の区間に区切ることによる物体の位置を検出する方法は実績のある方法であるが、当該方法を通路幅の検出に用いることで、通路幅検出部の検出結果の信頼度を高めることができる。
【0047】
本発明は、上述の実施形態に限定されるものではない。
【0048】
例えば、
図1や
図5で示す作業現場の様子、障害物、通路、経路などは一例にすぎず、作業現場に合わせて適宜変更されてよい。
【0049】
また、通路幅検出部17は、通路幅を検出するために必要な演算の負荷を低減する処理を行ってもよい。具体的には、通路幅検出部17は、
図9に示すように、検出情報選定エリアDCEを設定することによって、走査線SLに基づく複数の検出情報を選定する。通路幅検出部17は、検出情報選定エリアDCE内において、障害物OAの存在を示すものを、通路幅の検出に用いる検出情報として選定する。具体的に、通路幅検出部17は、検出情報選定エリアDCE内にデータ点DPが入る走査線SLに基づく検出情報を、通路幅の検出に用いる検出情報として取得する。その一方、通路幅検出部17は、検出情報選定エリアDCE内にデータ点DPが入らない走査線SLに基づく検出情報、及びデータ点DPが得られない走査線SLに基づく検出情報を、通路幅の検出に用いない。
【0050】
図9に示す例では、検出情報選定エリアDCEは、機台3の中心CPを中心とした、円形の形状を有している。通路幅検出部17は、障害物OAの検出範囲DEの大きさに基づいて、検出情報選定エリアDCEの大きさを設定する。検出情報選定エリアDCEの半径R1は、検出範囲DEの対角線の長さに設定されている。具体的に、半径R1は、「(検出範囲DEの通路幅閾値WL)
2+(検出範囲DEの高さH1)
2」の平方根によって算出される値である。
【0051】
次に、
図10を参照して、変形例に係る自律移動体1の制御部10の制御内容について説明する。
図10に示すように、制御部10の障害物形状検出部16は、情報取得部11を介して周辺情報検出部4から取得した周辺情報に基づいて、機台3の周辺に存在する障害物の形状を検出する(ステップS110)。
図9に示す例では、周辺情報検出部4は、データ点DPに基づいて、障害物OAの形状を検出する。
【0052】
次に、通路幅検出部17は、検出情報選定エリアDCE内において、障害物OAの存在を示すものを、通路幅の検出に用いる検出情報として選定する(ステップS200)。
図9に示す例では、通路幅検出部17は、検出情報選定エリアDCE内に存在するデータ点DPに対応する走査線SLに基づく検出情報を選定する。次に、通路幅検出部17は、障害物形状検出部16で取得された障害物によって形成される通路の通路幅を検出する(ステップS120)。このとき、通路幅検出部17は、ステップS200で選定された検出情報だけを用い、他の検出情報を用いることなく、通路幅を検出する。なお、以降の制御処理は、
図3に示す内容と同様であるため、説明を省略する。
【0053】
以上のように、周辺情報は、機台3の周辺の各箇所における状況を検出する複数の検出情報を含み、通路幅検出部17は、複数の検出情報のうち、検出情報選定エリアDCE内において、障害物の存在を示すものを、通路幅の検出に用いる検出情報として選定する。この場合、通路幅検出部17は、複数の検出情報のうち、障害物の存在を示す検出情報を用いる一方、障害物の存在を示していない検出情報を用いずに、通路幅を検出することができる。このように、通路幅検出部17は、通路幅を検出するのに必要な検出情報に絞って演算を行うことが可能となるため、処理負担を低減することができる。
【0054】
通路幅検出部17は、障害物の検出範囲の大きさに基づいて、検出情報選定エリアDCEの大きさを設定してよい。この場合、通路幅検出部17は、通路幅の検出を行う検出範囲での必要性に基づいて、検出情報選定エリアDCEを適切な大きさに設定できる。
【0055】
検出情報選定エリアDCEの設定位置、及び大きさは特に限定されない。例えば、
図11に示すように、走査線SLの発信位置を中心とする検出情報選定エリアDCEが採用されてもよい。この場合も、通路幅検出部17は、障害物の検出範囲の大きさに基づいて、検出情報選定エリアDCEの大きさを設定してよい。具体的に、検出情報選定エリアDCEの半径R2は、「(検出範囲DEの通路幅閾値WL)
2+(検出範囲DEの高さH1-機台半径)
2」の平方根によって算出される値となる。
【0056】
また、
図12に示すように、検出情報選定エリアDCEの位置及び大きさを検出範囲DEと同一としてもよい。
【符号の説明】
【0057】
1…自律移動体、2…追従対象物、3…機台、4…周辺情報検出部、10…制御部、16…障害物形状検出部、17…通路幅検出部、18…障害物停止エリア設定部、SE1…速度ベース障害物停止エリア、SE2…通路幅ベース障害物停止エリア、SE3…障害物停止エリア。