特許第6825715号(P6825715)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社豊田自動織機の特許一覧

<>
  • 特許6825715-移動車両 図000002
  • 特許6825715-移動車両 図000003
  • 特許6825715-移動車両 図000004
  • 特許6825715-移動車両 図000005
  • 特許6825715-移動車両 図000006
  • 特許6825715-移動車両 図000007
  • 特許6825715-移動車両 図000008
  • 特許6825715-移動車両 図000009
  • 特許6825715-移動車両 図000010
  • 特許6825715-移動車両 図000011
  • 特許6825715-移動車両 図000012
  • 特許6825715-移動車両 図000013
  • 特許6825715-移動車両 図000014
  • 特許6825715-移動車両 図000015
  • 特許6825715-移動車両 図000016
  • 特許6825715-移動車両 図000017
  • 特許6825715-移動車両 図000018
  • 特許6825715-移動車両 図000019
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6825715
(24)【登録日】2021年1月18日
(45)【発行日】2021年2月3日
(54)【発明の名称】移動車両
(51)【国際特許分類】
   G05D 1/02 20200101AFI20210121BHJP
   G05D 1/12 20060101ALI20210121BHJP
【FI】
   G05D1/02 J
   G05D1/12 G
【請求項の数】11
【全頁数】16
(21)【出願番号】特願2019-546591(P2019-546591)
(86)(22)【出願日】2018年9月10日
(86)【国際出願番号】JP2018033354
(87)【国際公開番号】WO2019069626
(87)【国際公開日】20190411
【審査請求日】2020年3月26日
(31)【優先権主張番号】特願2017-196216(P2017-196216)
(32)【優先日】2017年10月6日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】南田 将哉
(72)【発明者】
【氏名】三歩一 卓人
【審査官】 松本 泰典
(56)【参考文献】
【文献】 特開2010−238132(JP,A)
【文献】 特開2006−155349(JP,A)
【文献】 特開2004−126802(JP,A)
【文献】 国際公開第2015/033445(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/02
G05D 1/12
(57)【特許請求の範囲】
【請求項1】
移動車両であって、
1以上の車輪と、
追尾対象の位置を検出するように構成されたセンサと、
前記移動車両が前記追尾対象を追尾するよう、前記センサの検出結果に基づいて目標点を設定し、当該目標点に向かって前記移動車両が移動するように前記1以上の車輪を制御する制御部と、を備え、
前記制御部は、
前記センサの検出結果に基づいて前記追尾対象の移動方向が変化した変化点が存在するか否かを判定し、
前記変化点が存在しない場合は、前記追尾対象を前記目標点に設定し、
前記変化点が存在する場合は、前記変化点に基づいて前記目標点を設定する、ように構成されるとともに前記センサが所定の時間間隔で検出した前記追尾対象の複数の位置データをメモリに保存し、保存された前記複数の位置データに基づいて前記変化点を判定する、ように構成される、移動車両。
【請求項2】
前記制御部は、前記保存された複数の位置データのうち、1以上の条件を満たす位置を前記変化点として判定するように構成され、
前記1以上の条件は、前記移動車両から前記追尾対象に向かう方向軸を第1軸、前記第1軸と直交する方向軸を第2軸とした座標系において、前記第2軸上の座標の絶対値が最も大きい位置であることを含む、請求項に記載の移動車両。
【請求項3】
前記制御部は、前記移動車両から前記追尾対象に向かう方向軸を第1軸、前記第1軸と直交する方向軸を第2軸とした座標系において、前記第2軸上の座標の絶対値が閾値以下の位置を前記変化点の候補から除外する請求項またはに記載の移動車両。
【請求項4】
前記制御部は、前記保存された複数の位置データのうち、1以上の
条件を満たす位置を前記変化点として判定するように構成され、
前記1以上の条件は、前記移動車両から前記追尾対象に向かう方向軸を第1軸、前記第1軸と直交する方向軸を第2軸とした座標系において、前記第2軸上の座標の絶対値が閾値より大きいことを含む、請求項のいずれか1項に記載の移動車両。
【請求項5】
前記1以上の条件は、前記移動車両からの距離が所定距離以上離れていることを含む、請求項またはに記載の移動車両。
【請求項6】
前記制御部は、前記変化点から規定距離進んだ位置を前記目標点として設定するように構成される、請求項1〜のいずれか1項に記載の移動車両。
【請求項7】
前記制御部は、前記移動車両から前記目標点までの距離が前記規定距離以下の場合、前記目標点に向かう前記移動車両の移動を停止するように構成される、請求項に記載の移動車両。
【請求項8】
前記制御部は、前記移動車両から前記目標点までの距離が前記規定距離より長く、かつ、速度判定距離以下である場合は、前記目標点までの距離が遠いほど速い移動速度で前記移動車両を前記目標点に向けて移動させるように構成される、請求項に記載の移動車両。
【請求項9】
前記制御部は、前記移動車両から前記目標点までの距離が前記速度判定距離より長く、かつ、停止判定距離以下である場合は、前記目標点までの距離が前記速度判定距離であるときと同じ一定の速度で前記移動車両を前記目標点に向けて移動させるように構成される、請求項に記載の移動車両。
【請求項10】
前記制御部は、前記移動車両から前記目標点までの距離が前記停止判定距離より長い場合は、前記目標点に向かう前記移動車両の移動を停止するように構成される、請求項に記載の移動車両。
【請求項11】
前記1以上の車輪は、複数の全方向車輪を含み、
前記制御部は、前記移動車両の前方に前記追尾対象が位置するように、前記複数の全方向車輪を制御するように構成される、請求項1〜10のいずれか1項に記載の移動車両。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、センサにより検知した追尾対象を追尾する移動車両に関するものである。
【背景技術】
【0002】
特許文献1に開示の搬送ロボットは、搬送者を認識して、搬送者との間に所定距離を保ちながら搬送者を追尾する。追尾中、搬送ロボットは、搬送者及び周囲の障害物等を検知部により検知する。検知部が搬送者を認識できなくなった場合、搬送ロボットは、認識できなくなった場所の近傍において曲がり角の存在を認識して、曲がり角を曲がる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−126802号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
この種の移動車両は、移動経路に障害物があると停止するように構成される。図15には、追尾対象110が曲がり角を曲がるときの移動経路を実線で示し、この追尾対象110をセンサ、例えばレーザ式センサで認識して追尾する機台100の移動経路を破線で示す。追尾対象110が曲がり角で移動方向を90度変更した場合、機台100は追尾対象110に向かう最短経路を進む。このため、機台100は、直角の経路をショートカットするように、追尾対象110の軌跡とは異なる経路で進む。詳細には、図16(a)に示すように、追尾対象110が角まで直進し、その角で移動方向を変更する。その後、機台100は、図16(b)、図16(c)及び図16(d)にそれぞれ示す、追尾対象110の移動経路上の各地点に向けて移動するように、段階的に移動方向を変更する。そのため、機台100は曲がり角に沿って移動することなく、最短距離で追尾対象110を追尾する。
【0005】
ここで、図15に破線で示すように、機台100が追尾対象110の軌跡とは異なる経路を進んだ場合、図17に示すように、機台100が障害物に衝突する可能性がある。例えば、レーザの照射高さよりも低い位置に障害物があると、センサはその障害物を検知することができないため、機台100が障害物にぶつかるかまたは乗り上げる可能性がある。また、工場内などで進入禁止エリアを設けている場合、人である追尾対象110が進入禁止エリアの角を曲がったときに、機台100が進入禁止エリアに入ってしまう可能性がある。他にも、図18(a)及び図18(b)に示すように、見通しの悪い曲がり角において、機台100が追尾対象110を見失う可能性がある。
【0006】
本発明の目的は、追尾対象の経路に追従しつつ追尾対象を追尾することができる移動車両を提供することにある。
【課題を解決するための手段】
【0007】
本開示の移動車両は、1以上の車輪と、追尾対象の位置を検出するように構成されたセンサと、前記移動車両が前記追尾対象を追尾するよう、前記センサの検出結果に基づいて前記1以上の車輪を制御するように構成される制御部と、を備える。前記制御部は、前記センサの検出結果に基づいて前記追尾対象の移動方向が変化した変化点を判定し、前記変化点に基づいて目標点を設定するように構成される。
【0008】
上記移動車両によれば、制御部は、センサの検出結果に基づいて追尾対象の移動方向の変化を認識すると、変化点に基づいて目標点を設定する。追尾対象が通過した経路に障害物はないので、追尾対象の経路を追従しつつ追尾対象を追尾することができる。
【0009】
前記制御部は、前記センサが所定の時間間隔で検出した前記追尾対象の複数の位置データをメモリに保存し、保存された前記複数の位置データに基づいて前記変化点を判定するように構成されてもよい。
【0010】
前記制御部は、前記移動車両から前記追尾対象に向かう方向軸を第1軸、前記第1軸と直交する方向軸を第2軸とした座標系において、前記第2軸上の座標の絶対値が閾値以下の位置を前記変化点の候補から除外するようにしてもよい。
【0011】
前記制御部は、前記保存された複数の位置データのうち、1以上の条件を満たす位置を前記変化点として判定するように構成されてもよい。
前記1以上の条件は、前記移動車両から前記追尾対象に向かう方向軸を第1軸、前記第1軸と直交する方向軸を第2軸とした座標系において、前記第2軸上の座標の絶対値が最も大きい位置であることを含んでもよい。
【0012】
前記1以上の条件は、前記移動車両から前記追尾対象に向かう方向軸を第1軸、前記第1軸と直交する方向軸を第2軸とした座標系において、前記第2軸上の座標の絶対値が閾値より大きいことを含んでもよい。
【0013】
前記1以上の条件は、前記移動車両からの距離が所定距離以上離れていることを含んでもよい。
前記制御部は、前記変化点から規定距離進んだ位置を前記目標点として設定するように構成されてもよい。
【0014】
前記制御部は、前記移動車両から前記目標点までの距離が前記規定距離以下の場合、前記目標点に向かう前記移動車両の移動を停止するように構成されてもよい。
前記制御部は、前記移動車両から前記目標点までの距離が前記規定距離より長く、かつ、速度判定距離以下である場合は、前記目標点までの距離が遠いほど速い移動速度で前記移動車両を前記目標点に向けて移動させるように構成されてもよい。
【0015】
前記制御部は、前記移動車両から前記目標点までの距離が前記速度判定距離より長く、かつ、停止判定距離以下である場合は、前記目標点までの距離が前記速度判定距離であるときと同じ一定の速度で前記移動車両を前記目標点に向けて移動させるように構成されてもよい。
【0016】
前記制御部は、前記移動車両から前記目標点までの距離が前記停止判定距離より長い場合は、前記目標点に向かう前記移動車両の移動を停止するように構成されてもよい。
前記1以上の車輪は、複数の全方向車輪を含んでもよく、前記制御部は、前記移動車両の前方に前記追尾対象が位置するように、前記複数の全方向車輪を制御するように構成されてもよい。
【0017】
前記目標点は、前記移動車両が前記変化点で移動方向を変化させるために、前記追尾対象の現在位置とは別の位置に設定された移動の目標点であってもよい。前記制御部は、前記変化点が判定されない場合には前記移動車両を前記追尾対象に向けて移動させ、前記変化点を判定した場合には、前記移動車両を前記変化点に基づいて設定した前記目標点に向けて移動させるように構成されてもよい。
【図面の簡単な説明】
【0018】
図1】実施形態における移動車両の概略平面図。
図2図1の車両のブロック図。
図3図3(a)〜図3(e)は、図1の車両の動作を説明するための概略平面図。
図4図1の車両の作用を説明するためのフローチャート。
図5図1の車両が曲がり角で追尾対象の移動経路に追従する場合の概略平面図。
図6図1の車両の目標点の設定を説明するための概略平面図。
図7図7(a),図7(b),図7(c)は各段階での目標点の設定を説明するための概略平面図。
図8】追尾対象が通過した位置の座標を説明するための概略平面図。
図9図9(a)は追尾対象の移動経路が直角の場合の変化点の位置を説明するための概略平面図、図9(b)は追尾対象の移動経路が曲線の場合の変化点の位置を説明するための概略平面図、図9(c)は追尾対象の移動経路上に変化点がない場合を説明するための概略平面図。
図10】追尾対象者が真っ直ぐ歩いた場合のセンサの検出結果を説明するための概略平面図。
図11】変化点の設定を説明するための概略平面図。
図12】機台と追尾対象の最低距離を説明するための概略平面図。
図13】変化点に基づく目標点の設定を説明するための概略平面図。
図14図1の車両から目標点までの距離と同車両の移動速度との関係を示すグラフ。
図15】追尾対象と機台のそれぞれの移動経路を説明するための概略平面図。
図16図16(a),図16(b),図16(c),図16(d)は、曲がり角で追尾対象を追尾する機台の位置の変化を説明するための概略平面図。
図17】追尾対象の移動経路をショートカットした機台が障害物に衝突する例を説明するための概略平面図。
図18図18(a)は曲がり角を曲がった追尾対象を追尾する機台を示す概略平面図で,図18(b)は曲がり角で追尾対象を見失った機台を示す概略平面図。
【発明を実施するための形態】
【0019】
以下、本発明を具体化した一実施形態を図面に従って説明する。
図1に示すように、車両10は、全方向移動車両である。車両10は、機台20と4つの車輪30,31,32,33を備えている。4つの車輪30,31,32,33は、機台20に取り付けられている。詳しくは、平面視において機台20の中心に対して90°毎に車輪30,31,32,33が配置されている。各車輪30,31,32,33は全方向車輪、例えばオムニホイールである。各車輪30,31,32,33は、全方向に駆動可能に構成された車輪である。即ち、各車輪は、車輪の円周方向において自由回転するローラ(樽型を有する小輪)を複数有し、前、後、左及び右に自由に動くことができる。車両10は、このように構成された4つの車輪を用いて、車軸を変動させることなく、機台20を全方向に移動させるようになっている。
【0020】
機台20にはセンサ65が装着されている。センサ65は、水平方向に広がる所定角度の視界(検出範囲)を有する。センサ65は、視界が機台20の前方と一致するように、機台20の正面に固定される。センサ65は、距離センサであり、レーザレンジファインダ(LRF)を使用している。センサ65は、所定の時間間隔で追尾対象70(図5参照)の位置を検出する。
【0021】
図2に示すように、車両10は、モータ40,41,42,43及び駆動回路50を備える。モータ40,41,42,43及び駆動回路50は機台20に搭載されている。モータ40,41,42,43の出力軸は、それぞれ対応する車輪30,31,32,33に対して駆動力を伝達可能に連結されている。モータ40,41,42,43により、それぞれ車輪30,31,32,33が駆動される。
【0022】
駆動回路50は、制御部であるコントローラ60と、駆動回路61,62,63,64と、メモリ66とを有する。コントローラ60は、CPU及びメモリ(ROM54及びRAM等)を備えるコンピュータとして構成されており、メモリに記憶されたプログラムをCPUが実行することにより各種の制御を実行する。メモリすなわちコンピュータ可読媒体は、汎用または専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含む。
【0023】
コントローラ60は、自身が実行する全ての処理についてソフトウェア処理を行うものに限られない。たとえば、コントローラ60は、自身が実行する処理の少なくとも一部についてハードウェア処理を行う専用のハードウェア回路(たとえば特定用途向け集積回路:ASIC)を備えてもよい。すなわち、コントローラ60は、1)コンピュータプログラム(ソフトウェア)に従って動作する1つ以上のプロセッサ、2)各種処理のうち少なくとも一部の処理を実行する1つ以上の専用のハードウェア回路、或いは3)それらの組み合わせ、を含む回路(circuitry)として構成し得る。
【0024】
コントローラ60には、センサ65から送られる検出信号が入力される。センサ65の検出信号には、追尾対象を含め、車両10の周辺で検出した物体の情報が含まれる。
駆動回路61によりモータ40が駆動され、このモータ40の駆動により車輪30が回転する。駆動回路62によりモータ41が駆動され、このモータ41の駆動により車輪31が回転する。駆動回路63によりモータ42が駆動され、このモータ42の駆動により車輪32が回転する。駆動回路64によりモータ43が駆動され、このモータ43の駆動により車輪33が回転する。
【0025】
コントローラ60は、それぞれ駆動回路61,62,63,64を介して対応するモータ40,41,42,43を制御する。これにより、対応する車輪30,31,32,33が回転して、機台20を前、後、左及び右の各方向に移動させたり、回転させたりすることができる。
【0026】
このようにして、全方向移動車両である車両10は、センサ65の計測結果(検出結果)に基づいてコントローラ60が全方向車輪30〜33を制御することにより、センサ65が検出した追尾対象を追尾する。追尾対象は、人(追尾対象者)でもよいし、車両等の物(追尾対象物)でもよい。センサ65は、追尾対象の位置を検出するとともに、検出範囲に存在する障害物の位置を検出する。
【0027】
次に、車両10の動作について説明する。
全方向移動車両である4輪オムニホイール車両10は、並進、旋回または斜行を含め、自由な動作が可能である。車両10は、例えば、図3(a),図3(b),図3(c),図3(d),図3(e)に示すように移動することができる。図3(a)に示すように、車輪30,33が正転すると同時に車輪31,32が逆転すると、機台20が前進する。図3(b)に示すように、車輪30,32を停止した状態で、車輪31が逆転すると同時に車輪33が正転すると、機台20が斜行する。図3(c)に示すように、車輪30,31が逆転すると同時に車輪32,33が正転すると、機台20が横行する。図3(d)に示すように、車輪30,31,32,33が正転すると、機台20が旋回する。
【0028】
図3(e)に示すように、車輪30,33が正転すると同時に車輪31,32が所定の速度で回転すると、機台20は前進しながら旋回する。このように、車両10は、並進と旋回とを組み合わせた動作、すなわち、機台20を回転させながら移動することが可能である。
【0029】
そのため、車両10は、図5に示すように、曲がり角のある経路を進む追尾対象70に追従する場合、追尾対象70を常にセンサ65の検出方向である正面に捉えるように、機台20を回転させながら移動することができる。
【0030】
このように、車両10は、センサ65の視界も考慮して移動を行う。全方向移動車両における特性を活かして、コントローラ60は、例えば、図5に示すように、センサ65が追尾対象70の視野内に入る姿勢(向き)を保持するように、全方向車輪30,31,32,33を制御する。詳しくは、コントローラ60は、車両10が追尾対象70を追尾する間、機台20の前方に追尾対象70が位置するように、全方向車輪である車輪30,31,32,33を制御して、機台20の前方に追尾対象70が位置するように、機台20の向き(姿勢)を変化させる。
【0031】
コントローラ60は、センサ65の検出結果に基づいて追尾対象70の移動方向が変化した変化点Pcを判定するように構成される。また、コントローラ60は、変化点Pc(図9(a)参照)に基づいて目標点Pt(図6参照)を設定するように構成される。目標点Ptは、車両10が変化点Pcで移動方向を変化させるために、追尾対象70の現在位置とは別の位置に設定された移動の目標点である。
【0032】
図7(a),図7(b),図7(c)は、追尾対象70及び移動車両10の移動経路を示す。図7(a)は追尾対象70が曲がり角に到達した段階を示す。この段階では、目標点Ptは追尾対象70に設定されている。図7(b)では、追尾対象70が曲がり角で移動方向を変えた後の段階を示す。この段階では、車両10は変化点Pcに基づいて設定した目標点Ptに向けて移動している。図7(c)は、車両10が変化点Pcに到達した段階を示す。この段階になると、コントローラ60は目標点Ptを追尾対象70に戻し、再び追尾対象70の追尾を始める。
【0033】
図8において、位置1が現在の追尾対象70の位置を示し、位置2〜14は、位置1から順に遡って50msec毎に記録された追尾対象70の過去の位置を示す。
コントローラ60は、所定の時間間隔(50msec毎)で検出された追尾対象70の位置データをメモリ66に保存して、保存された複数の位置データに基づいて変化点Pcを判定するように構成される。追尾対象70の複数の過去の位置データ(座標)は、機台20を中心として設定される相対座標系で保持される。
【0034】
この相対座標系は、図8に示すように、現在位置(現在時刻)において、車両10から追尾対象70に向かう方向軸を第1軸であるX軸とし、X軸に直交する方向軸を第2軸であるY軸としたX−Y座標系である。本実施形態では、X軸とY軸とが機台20の中心で直交し、その交差点がX−Y座標系の原点になる。原点から追尾対象70に向かう方向のX座標は正の値になる。
【0035】
メモリ66には、例えば、このX−Y座標系における追尾対象70の直近100回分の追尾対象70の位置座標が保持される。新たな位置データが取得されると、コントローラ60は、100回分のうち最も古いデータを破棄して、新たに追加された最新の位置データを含む100回分の位置データを、現在時刻における相対座標系に変換する。このような相対座標系の変換は、機台20が旋回する都度、行われる。これにより、制御周期が50msであれば、コントローラ60は、50ms×100回=5000ms(5.0s)前までの位置データをメモリ66から読み出すことが可能である。
【0036】
次に、変化点Pcの設定について説明する。
コントローラ60は、保存された複数の位置データのうち、1以上の条件を満たす位置を変化点Pcとして設定する。
【0037】
変化点の設定条件1は、変化点Pcとすべき位置が機台20よりも前方にあること、である。この場合、変化点Pcとすべき位置のX座標はゼロより大きくなる。これは、図9(a)に示すように追尾対象70の移動経路が直角である場合だけでなく、図9(b)に示すように追尾対象70の移動経路が曲線の場合も同様である。
【0038】
変化点の設定条件2は、第2軸上の座標(Y座標)の絶対値が閾値Dmより大きいこと、である。この閾値Dmは、例えば、0.6mにすることができる。この場合、|Y座標|>0.6であり、Y座標の絶対値が閾値Dmより大きくなる位置が検出された時点で、その位置が変化点Pcの候補になる。つまり、Y座標の絶対値が閾値Dmより大きくなる位置は変化点Pcの候補として有効化され、Y座標の絶対値が閾値Dm以下の位置は変化点Pcの候補から除外される。言い換えると、追尾対象の移動方向の変化を認識する際に、閾値Dm以下の変化は無効化される。
【0039】
図9(c)のように追尾対象70が直進している間には、過去の位置データのY座標がいずれも0.6m以下であるため、条件2は満たされない。したがって、車両10が移動する際の目標点Ptは追尾対象70になる。
【0040】
閾値を0.6mとするのは、次の理由による。センサ65が、歩いている追尾対象者の後方に来る方の脚を順次検出している場合、図10に示すように、追尾対象70が直進していても、検出したのが右脚か左脚かで、Y座標には0.3〜0.4mほどの差が生じる。そのため、機台20からは、追尾対象70がジグザグに動いているように捉えられる。閾値が無かった場合、追尾対象70が直進していても、機台20がジグザグに動く。こうした無駄な移動方向の変更を避けるために、閾値Dmを0.4+α(マージンα=0.2m)に設定している。したがって、追尾対象70が直進可能な車両である場合などには、この閾値Dmをより小さくしてもよいし、閾値Dm(条件2)を設定しなくてもよい。
【0041】
変化点の設定条件3は、第2軸上の座標(Y座標)の絶対値が最も大きい位置であること、である。例えば、図11に示すX−Y座標系においては、位置7のY座標(Y7)の絶対値が最も大きいので、位置7が変化点Pcの候補となる。
【0042】
変化点の設定条件4として、変化点Pcを設定する時に、車両10と設定すべき変化点Pcとの距離が所定距離Dn以上離れていること、を含んでもよい。この所定距離Dnは、例えば、1mである。例えば、図11に示すX−Y座標系においては、位置7〜17は車両10からの距離がDn以上離れていないので、変化点Pcの候補から外れる。位置18及びそれ以前の位置は、条件1(X>0)を満たさない。残る位置1〜6のうちでは、位置6のY座標(Y6)の絶対値が最も大きいので、位置6は条件3を満たす。
【0043】
位置6は、X座標(X6)が0より大きいので、条件1を満たす。位置6は、Y座標(Y6)が閾値Dmより大きいので、条件2を満たす。したがって、図11に示す例では、条件1〜4を全て満たす位置6が変化点Pcとして判定される。
【0044】
次に、変化点Pcに基づく目標点Ptの設定について説明する。
追尾対象70の移動軌跡上の変化点Pcが判定された場合、コントローラ60は、変化点Pcに基づいて目標点Ptを設定する。詳細には、コントローラ60は、変化点Pcから規定距離Ds進んだ位置を目標点Ptとして設定する。
【0045】
規定距離Dsは、例えば0.7mとすることができる。変化点Pcから規定距離Ds進んだ点を目標点Ptとするのは、以下の理由による。本実施例では図12に示すように、機台20は、追尾対象70との間に、最低でも0.7mの距離を空けて、追尾を行う。そのため、変化点Pcを目標点Ptとすると、機台20は目標よりも0.7m手前で移動方向を変えることになる。そこで、図13に示すように、変化点Pcよりも更に0.7m前方に目標点Ptを設定することによって、機台20は変化点Pcで移動方向を変化させることができる。目標点Ptは、機台20の現在位置から変化点Pcに向かう直線の延長線上に設定する。
【0046】
コントローラ60は、変化点Pcに基づいて設定された目標点Ptに向かって車両10が移動するときに、車両10の移動速度を変更してもよい。
例えば、図14に示すように、車両10は、目標点Ptまでの距離Dtが規定距離Dsより長く、かつ、速度判定距離Da以下である場合(規定距離Ds<Dt≦速度判定距離Da)は、目標点Ptまでの距離Dtが遠いほど速い移動速度vで目標点Ptに向けて移動してもよい。速度判定距離Daは、例えば、1.8mにすることができる。
【0047】
これに加えて、車両10は、目標点Ptまでの距離Dtが速度判定距離Daより長く、かつ、停止判定距離Db以下である場合(速度判定距離Da<Dt≦停止判定距離Db)は、目標点Ptまでの距離Dtが速度判定距離Daであるときと同じ一定の速い速度Vfで目標点Ptに向けて移動してもよい。停止判定距離Dbは、例えば、3〜10mにすることができる。最大速度となる速度Vfは、例えば、2.2m/secにすることができる。なお、規定距離Ds<速度判定距離Da<停止判定距離Dbである。
【0048】
車両10は、車両10から目標点Ptまでの距離Dtが規定距離Ds以下の場合(Dt≦規定距離Ds)、目標点Ptに向かう移動を停止してもよい。
さらに、車両10は、車両10から目標点Ptまでの距離Dtが停止判定距離Dbより長くなった場合(停止判定距離Db<Dt)にも、目標点Ptに向かう移動を停止するようにしてもよい。
【0049】
目標点Ptまでの距離Dtが10mより長い場合、最高速度Vf=2.2m/secで進んだとしても、車両10が変化点Pcに到達するまでに4秒以上かかる。その間に追尾対象70が変化点Pcから先に進むと、車両10が変化点Pcに到達したときに、追尾対象70との距離が離れすぎてしまう。例えば、追尾対象70の過去100回目(5秒前)の位置データと車両10の現在位置とが離れて、追尾対象70の位置データに基づく正確な変化点Pcの判定が困難になる。したがって、車両10は、目標点Ptまでの距離Dtが停止判定距離Dbより長くなった場合には停止して、目標点Ptを設定しなおすことが好ましい。
【0050】
コントローラ60は、車両10の起動後、所定の時間間隔、例えば50msec毎に、図4に示す処理を実行する。なお、変化点到達フラグは、車両を起動する際にオン状態にされる。
【0051】
図4のステップS101において、センサ65が追尾対象70の位置を検出する。コントローラ60はステップS102で追尾対象70の座標配列を一つ後にずらす。詳しく説明すると、コントローラ60はステップS101で検出した追尾対象70の最新の位置データ、すなわち位置座標をメモリ66に保存して、最も古い位置データを破棄する。
【0052】
コントローラ60は、ステップS103で変化点到達フラグがオンか否か判定する。コントローラ60は、変化点到達フラグがオンならばステップS104に移行し、変化点到達フラグがオフならばステップS108に移行する。
【0053】
コントローラ60は、ステップS104において、メモリ66に保存された追尾対象70の複数の位置データに基づいて、変化点Pcが存在するか否か判定する。
詳細には、コントローラ60が追尾対象70の過去の位置座標を検索し(例えば100回分)、その中に上記条件1〜4を満たす位置がある場合、変化点Pcが存在すると判定する。
【0054】
コントローラ60は、ステップS104において変化点Pcが存在しない場合、ステップS106に移行して、追尾対象70を目標点Ptとする。一方、ステップS104において変化点Pcが存在する場合、コントローラ60はステップS105に移行して、変化点Pcから0.7m進んだ点を目標点Ptとする。その後、コントローラ60はステップS107で変化点到達フラグをオフにして、処理を終了する。
【0055】
規定距離Dsは、0.7mに限らず、適宜調整されていてもよい。また、変化点Pcを目標点Ptとしてもよい(規定距離Ds=0)。例えば変化点到達フラグがオフの状態では、機台20の追尾対象70までの最低距離の設定を0.7から0mに変更することによって、車両10が目標点Ptまで到達するようにしても良い。
【0056】
コントローラ60は、ステップS108において変化点Pcまで到達したか否か判定し、到達していないと判断した場合には処理を終了する。一方、コントローラ60は、ステップS108において変化点Pcまで到達したと判断した場合、ステップS109に移行して変化点到達フラグをオンにした後、処理を終了する。ステップS108では、誤差を考慮して、機台20から変化点Pcまでの距離が0.1m以内であれば、変化点Pcまで到達したと判断してもよい。
【0057】
例えば図7(a)に示す状況下においては、図4のステップS101→S102→S103→S104→S106→エンドの処理が繰り返し行われる。
例えば図7(b)に示す状況下においては、当初、ステップS101→S102→S103→S104→S105→S107→エンドの処理が行われる。さらに、次回の処理においてステップS101→S102→S103→S108→エンドの処理が行われ、これが繰り返される。そして、図7(c)に示す状況になると、ステップS101→S102→S103→S108→S109→エンドの処理が行われる。
【0058】
すなわち、図7(a)においては追尾対象70の移動方向に変化が無いため、追尾対象70が目標点Ptとなる(ステップS106)。そして、図7(b)においては追尾対象70の移動方向に変化があり、変化点Pcに基づいて目標点Ptが設定される(ステップS105)。さらに、図7(c)においては追尾対象70の移動方向に変化があった点(Pc)まで機台20が移動すると(ステップS108=YES)、追尾対象70が目標点Ptとなる。
【0059】
図4の制御により、車両10は、追尾対象70が移動した軌跡と実質的に同じ経路、あるいは追尾対象70が移動した軌跡により近い経路に沿って移動することになる。すなわち、車両10は、曲がり角を曲がるときには、追尾対象70自身ではなく、追尾対象70の移動経路に追従する。このように、車両10が追尾対象70の移動経路に追従することにより、図15図16(a)、図16(b)、図16(c)及び図16(d)に示すような車両10の移動経路のショートカットは発生しない。
【0060】
そのため、図17に示すように、ショートカットした車両10が障害物に衝突することもない。また、工場内の進入禁止エリアを避けて追尾対象70が移動した場合に、車両10が誤って進入禁止エリアに入ることが防止される。さらに、図18(a)及び図18(b)に示すように、見通しの悪い曲がり角で車両10が追尾対象110を見失うこともない。
【0061】
上記実施形態によれば、以下のような効果を得ることができる。
(1)コントローラ60は、センサ65の検出結果に基づいて追尾対象70の移動方向の変化を認識すると、変化点Pcに基づいて目標点Ptを設定する。そして、コントローラ60は、必要に応じて車両10が変化点Pcまで移動した後に、追尾対象70の追尾を再開するように、制御を行う。このように、車両10は追尾対象70が通過した経路、すなわち障害物がない経路を進むので、障害物にぶつかって停止することなく、追尾対象70を追尾できる。即ち、車両10は、追尾対象70の移動経路に追従しつつ追尾対象70を追尾することができる。
【0062】
つまり、追尾対象70が同じ進行方向に進み続けている間は、車両10が追尾対象70の移動経路から大きく外れることは無いが、追尾対象70が進行方向を変えた場合、車両10の移動経路が追尾対象70の移動経路から外れる可能性がある。そのため、追尾対象70が進行方向を変えた場合には、コントローラ60が目標点Ptを変更する。詳細には、コントローラ60は、追尾対象70の進行方向が大きく変化する点を探索して、進行方向に変化がない場合には常に追尾対象70を目標点Ptとする。一方、追尾対象70の進行方向に変化があった場合には、コントローラ60が変化点Pcを判定し、その変化点Pcに基づいて目標点Ptを設定する。このような経路追従するための目標点Ptの決定により、車両10はマップ情報を持つことなく、追尾対象70の移動経路に沿って移動することができるため、コスト面で有利である。
【0063】
(2)コントローラ60は、メモリ66に追尾対象70の位置データを複数保存して、保存した複数の位置データに基づいて変化点Pcを判定する。よって、コントローラ60は、位置データに基づいて変化点Pcを判定することができ、実用的である。
【0064】
(3)車両10は、全方向車輪である車輪30,31,32,33と、車両前方に追尾対象70がくるように姿勢(向き)が変化する機台20とを備える。そして、コントローラ60は、追尾対象70の過去の位置データのうち、Y座標の絶対値が最も大きい位置を変化点Pcの候補とする。よって、確実に変化点Pcを算出でき、実用的である。
【0065】
(4)コントローラ60が追尾対象70の移動方向の変化を認識する際に、閾値以下の変化は無効になる。つまり、Y軸方向での0.6mを閾値Dmとして、閾値Dmより大きい変化が有効になる。よって、誤った変化点Pcの算出を防止できる。
【0066】
(5)変化点Pcを判定する際に、車両10との距離が所定距離Dn以上離れている位置を変化点Pcとするので、所定距離Dn以内の距離を進む間に、何度も変化点Pcを判定する必要がない。コントローラ60が短時間の間に何度も変化点Pcを判定する場合、判定のための計算に時間がかかるため、車両10の移動速度が遅くなる。そうすると、車両10が追尾対象70を見失ったり、変化点Pcを通り過ぎたりするおそれがある。したがって、条件4を満たす位置を変化点Pcとすることにより、車両10は追尾対象70の移動経路により近い経路で進むことが可能になる。
【0067】
(6)車両10は、設定された目標点Ptまでの距離Dtが規定距離Ds以下の場合、目標点Ptに向かう移動を停止する。そのため、規定距離Ds>0の場合にも、車両10が変化点Pcを通り過ぎるオーバーランを抑制できる。
【0068】
(7)車両10は、目標点Ptまでの距離Dtが規定距離Dsより長く、かつ、速度判定距離Da以下である場合は、目標点Ptまでの距離が遠いほど速い移動速度vで目標点Ptに向けて移動する。そのため、目標点Ptまでの距離Dtが遠いときには、車両10の移動速度を上げて速やかに移動することができる。また、目標点Ptまでの距離Dtが近いときには、車両10の移動速度を下げてオーバーランを抑制することが可能になる。
【0069】
(8)車両10は、目標点Ptまでの距離Dtが速度判定距離Daより長く、かつ、停止判定距離Db以下である場合は、目標点Ptまでの距離Dtが速度判定距離Daであるときと同じ一定の速い速度Vfで目標点Ptに向けて移動するように構成される。この構成によれば、Da<Dt≦Dbの場合に、車両10は最高速度Vfで速やかに移動することができる。
【0070】
(9)車両10は、目標点Ptまでの距離Dtが停止判定距離Dbより長い場合は、目標点Ptに向かう移動を停止する。これにより、車両10が不適切な方向に進むことを抑制できる。
【0071】
(10)車両10は全方向移動車両であるので、設定した目標点Ptに向けて進みながら旋回することにより、車両10とは異なる方向に進む追尾対象70が常に正面に位置するように、向きを変化させることができる。したがって、1つのセンサ65で追尾対象70の位置を検出することができる。
【0072】
(11)車両10は、追尾対象70が真っ直ぐ進んでいる間、すなわち変化点Pcがない場合には追尾対象70に向けて移動するので、追尾対象70を追尾することができる。また、車両10は、追尾対象70が移動方向を変更した場合には、変化点Pcを判定する。そして、車両10が、変化点Pcに基づいて設定される目標点Ptに向けて移動することにより、追尾対象70の移動経路に沿うように移動方向を変更することができる。
【0073】
上記実施形態は、以下に示す変更例のように変更してもよい。上記実施形態に含まれる各構成は、下記変更例に含まれる各構成と任意に組み合わせることができる。下記変更例に含まれる構成同士は、任意に組み合わせることができる。
【0074】
○ センサ65はレーザ方式以外のものでもよく、例えば超音波方式のセンサを用いてもよい。
○ 全方向移動車両はオムニホイール方式以外のものを用いてもよく、例えば、メカナムホイール方式やオムニボール方式の全方向移動車両を用いてもよい。
【0075】
○ 車両は全方向移動車両でなくてもよい。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18