(57)【特許請求の範囲】
【請求項１】
予め設けられた誘導線に沿って設定された走行経路に従って移動する自律走行車であって、
前記自律走行車の前方に配置されて前記誘導線を検出する前側誘導線検出手段と、
前記自律走行車の後方に配置されて前記誘導線を検出する後側誘導線検出手段と、
前記自律走行車の前後方向に向きが固定されて前記自律走行車の前方または後方に左右一対で回転自在に設けられた従動輪と、
前記自律走行車の前後方向に対する角度を変更可能な操舵手段を有するとともに駆動手段によって駆動される駆動操舵輪であって前記従動輪が前方に設けられている場合は後方に、前記従動輪が後方に設けられている場合は前方に、設けられた前記駆動操舵輪と、
前記前側誘導線検出手段からの検出信号と前記後側誘導線検出手段からの検出信号と前記走行経路とに基づいて、前記駆動手段と前記操舵手段を制御して、前記誘導線に沿って前記走行経路に従って前記自律走行車を移動させる制御装置と、を有し、
前記走行経路は、複数の前記誘導線が交差する交差点を有しており、
前記走行経路に従った交差点でのターンの種類には、ターンする左右の方向を含めて複数の種類が有り、
前記自律走行車は、積荷の有無を検出する積荷検出手段を有しており、
前記制御装置は、
前記走行経路に従って交差点にてターンする場合は、前記走行経路の交差点に対応させて予め設定された操舵角度と、前記操舵角度を補正する補正角度と、に基づいて前記操舵手段と前記駆動手段を制御して交差点をターンし、
交差点をターンし終えたと判断した際におけるターンした先の前記誘導線と前記自律走行車の前後方向とがなす角度に応じたズレ距離を、次回の交差点において、前記補正角度に基づいた操舵によって補正し、
前記制御装置は、
ターンの種類と前記積荷の有無に対応させて予め設定された前記操舵角度と、ターンの種類と前記積荷の有無に対応させた前記補正角度と、を記憶しており、
前記走行経路に従って交差点にてターンする場合は、ターンの種類と前記積荷の有無に対応させた前記操舵角度及び前記補正角度と、に基づいて前記操舵手段と前記駆動手段を制御し、
交差点をターンし終えたと判断した際、前記ズレ距離に基づいて、ターンの種類と前記積荷の有無に対応させた前記補正角度を変更し、変更した前記補正角度を記憶する、
自律走行車。
【請求項２】
請求項１に記載の自律走行車であって、
前記制御装置は、
前記走行経路に従って交差点をターンする場合は、今回のターンにおけるターンの種類と積荷の有無が同じとなる前回のターンにて検出した前記ズレ距離を相殺する角度よりも小さな角度を、今回のターンの際に使用する前記補正角度とする、
自律走行車。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予め設けられた誘導線に沿って設定された走行経路に従って移動する自律走行車に関する。
【背景技術】
【０００２】
近年では、種々の製品の製造工場等において、無人で部品や製品等を搬送する自律走行車が利用されている。自律走行車は、予め床面に貼られた磁気テープ等の誘導線に沿って、予めプログラムされた走行経路に従って自動的に移動する。そして自律走行車は、プログラムされた位置にて積荷を取得して走行経路に従って移動（搬送）し、プログラムされた移動先の位置にて積荷を下ろす、等の動作を自動的に行う。このような製造工場内では、複数の誘導線が平行あるいは交差するように張り巡らされており、単数または複数の自律走行車が、自身に搭載された制御装置のプログラムに従って、固有の走行経路で誘導線に沿って移動する。そして誘導線が交差する交差点では、自身に搭載された制御装置のプログラムに従って左右等にターンしながら（進路を変えながら）移動する。
【０００３】
例えば、特許文献１に記載の移動車の誘導設備では、誘導線の交差点において、移動車（自律走行車に相当）の車体後部がターン方向とは反対側にふくらむようにターンさせることで、迅速にターン先の誘導線に沿う適正姿勢となるようにしている。またターンの際には、予めプログラムされたステアリング角度となるように操向輪の操舵角度を制御している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−２８２０３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
自律走行車が誘導線の交差点にて左右にターンする際、ターンの角度に応じて、予め設定された（プログラムされた）操舵角度にて操舵輪を操舵してターンする。例えば左９０°のターンの際には、制御装置は、予め設定された左９０°操舵用の制御量を取得して、操舵角度検出手段を用いて操舵輪の実際の操舵角度を検出しながら操舵用モータを制御して操舵ギア等を介して操舵輪を制御する（あるいは、操舵角度検出手段を用いることなく、予め設定された制御量で操舵輪を制御する）。ところが、操舵ギアや操舵角度検出手段の機械的なガタツキや特性の経年変化（経年劣化）、あるいは積荷の重量の変化によるモータの負荷の変化等にて、初期の頃（あるいは積荷無しの状態）のターンの軌跡に対して、長期間経過すると（あるいは重量が大きい積荷を積載すると）ターンの軌跡がズレてくる場合がある。このような場合、ターン終了時点における自律走行車の姿勢が、ターン先の誘導線に対して傾斜した状態となり、ターン終了後の走行で蛇行したりコースアウト（誘導線から逸脱する）したりする可能性がある。ターン後に蛇行やコースアウトが発生した場合、自律走行車毎に固有の操舵角度（制御量）へと再調整を行う必要があり、非常に手間がかかっている。
【０００６】
特許文献１に記載の発明は、移動車（自律走行車）の左右のターンの際、予めプログラムされたステアリング角度となるように操向輪の操舵角度を制御しているが、比較的長期間使用した際等における機械的なガタツキや経年変化（経年劣化）に対する処置や、重量物の有無について、記載も示唆する記載も見受けられない。これでは、比較的長期間経過した場合（あるいは重量が大きい積荷を積載すると）、ターンの軌跡のズレが増大し、ターン終了後の走行で蛇行したりコースアウトしたりする可能性があり、これを回避するために定期的に自律走行車毎に再調整しなければならない可能性がある。
【０００７】
本発明は、このような点に鑑みて創案されたものであり、自律走行車の左右のターンの際の操舵角度の誤差の発生に影響を及ぼす部材の機械的なガタツキや特性の経年変化（経年劣化）等に対して、操舵角度の誤差を自動的に補正して操舵用の制御量の再調整を不要とすることができる自律走行車を提供することを課題とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明に係る自律走行車は次の手段をとる。まず、本発明の第１の発明は、予め設けられた誘導線に沿って設定された走行経路に従って移動する自律走行車であって、前記自律走行車の前方に配置されて前記誘導線を検出する前側誘導線検出手段と、前記自律走行車の後方に配置されて前記誘導線を検出する後側誘導線検出手段と、前記自律走行車の前後方向に向きが固定されて前記自律走行車の前方または後方に左右一対で回転自在に設けられた従動輪と、前記自律走行車の前後方向に対する角度を変更可能な操舵手段を有するとともに駆動手段によって駆動される駆動操舵輪であって前記従動輪が前方に設けられている場合は後方に、前記従動輪が後方に設けられている場合は前方に、設けられた前記駆動操舵輪と、前記前側誘導線検出手段からの検出信号と前記後側誘導線検出手段からの検出信号と前記走行経路とに基づいて、前記駆動手段と前記操舵手段を制御して、前記誘導線に沿って前記走行経路に従って前記自律走行車を移動させる制御装置と、を有し、前記走行経路は、複数の前記誘導線が交差する交差点を有している。そして、前記制御装置は、前記走行経路に従って交差点にてターンする場合は、前記走行経路の交差点に対応させて予め設定された操舵角度と、前記操舵角度を補正する補正角度と、に基づいて前記操舵手段と前記駆動手段を制御して交差点をターンし、交差点をターンし終えたと判断した際におけるターンした先の前記誘導線と前記自律走行車の前後方向とがなす角度に応じたズレ距離を、次回の交差点において、前記補正角度に基づいた操舵によって補正する、自律走行車である。
【０００９】
次に、本発明の第２の発明は、上記第１の発明に係る自律走行車であって、前記走行経路に従った交差点でのターンの種類には、ターンする左右の方向を含めて複数の種類が有り、前記自律走行車は、積荷の有無を検出する積荷検出手段を有している。そして、前記制御装置は、ターンの種類と前記積荷の有無に対応させて予め設定された前記操舵角度と、ターンの種類と前記積荷の有無に対応させた前記補正角度と、を記憶しており、前記走行経路に従って交差点にてターンする場合は、ターンの種類と前記積荷の有無に対応させた前記操舵角度及び前記補正角度と、に基づいて前記操舵手段と前記駆動手段を制御し、交差点をターンし終えたと判断した際、前記ズレ距離に基づいて、ターンの種類と前記積荷の有無に対応させた前記補正角度を変更する、自律走行車である。
【００１０】
次に、本発明の第３の発明は、上記第２の発明に係る自律走行車であって、前記制御装置は、前記走行経路に従って交差点をターンする場合は、今回のターンにおけるターンの種類と積荷の有無が同じとなる前回のターンにて検出した前記ズレ距離を相殺する角度よりも小さな角度を、今回のターンの際に使用する前記補正角度とする、自律走行車である。
【発明の効果】
【００１１】
第１の発明によれば、交差点をターンし終えたと判断した際におけるターンした先の誘導線と自律走行車とのズレ距離を、次回の交差点において、補正角度に基づいた操舵によって補正する。これにより、自律走行車の左右のターンの際の操舵角度の誤差の発生に影響を及ぼす部材の機械的なガタツキや特性の経年変化（経年劣化）等に対して、操舵角度の誤差を自動的に補正することができる。従って、操舵用の制御量の再調整を不要とすることができる。また、交差点をターンし終えた際の最終的なズレ距離を検出することで、どの部材にどれだけ誤差が生じているかに関係なく、各部材の誤差を総合した最終的な誤差を、ターンする毎に補正することができる。
【００１２】
第２の発明によれば、ターンの種類と、積荷の有無と、に対応させて、操舵角度と補正角度を記憶する。これにより、自律走行車のターンの種類毎、及び積荷の有無（モータへの負荷の大小）に応じて、それぞれの状況に合わせた補正を行うことができる。
【００１３】
第３の発明によれば、ターンの際に発生したズレ距離を、次のターンで一気に補正するのでなく、ターン毎に徐々に補正することで、ターン毎に誤差を小さくしていく。これにより、誤学習を防止し、予期せぬ不具合を未然に回避することが期待できる。
【図面の簡単な説明】
【００１４】
【図１】本発明の自律走行車の外観の例を示す斜視図である。
【図２】図１に示した自律走行車の概略平面図であって、自律走行車の各車輪の配置、及び走行を制御する制御装置に接続される各種の検出手段とアクチュエータ等の配置を説明する図である。
【図３】誘導線が張り巡らされた製造工場等の平面図の例であって、誘導線に沿って直進や左右のターンをしながら走行経路に従って自律走行車が走行する例を説明する図である。
【図４】第１の実施の形態（スピンターン）において、自律走行車の制御装置の処理手順の例を説明するフローチャートである。
【図５】第１の実施の形態において、誘導線の交差点において自律走行車が左９０°ターンを行う動作の例であって、自律走行車が交差点に達する前の直進動作状態の例を示す図である。
【図６】第１の実施の形態において、誘導線の交差点において自律走行車が左９０°ターンを行う動作の例であって、図５に示す状態の後、自律走行車がターン位置に達して停止した状態の例を示す図である。
【図７】第１の実施の形態において、誘導線の交差点において自律走行車が左９０°ターンを行う動作の例であって、図６に示す状態の後、停止状態において自律走行車が駆動操舵輪の操舵角度を左９０°ターン用の角度とした状態の例を示す図である。
【図８】第１の実施の形態において、誘導線の交差点において自律走行車が左９０°ターンを行う動作の例であって、図７に示す状態の後、自律走行車が駆動操舵輪の操舵角度を維持した状態で駆動操舵輪を駆動して、「理想状態」にて左９０°ターンをターンし終えた状態の例を示す図である。
【図９】第１の実施の形態において、誘導線の交差点において自律走行車が左９０°ターンを行う動作の例であって、図７に示す状態の後、自律走行車が駆動操舵輪の操舵角度を維持した状態で駆動操舵輪を駆動して、「実際に」左９０°ターンをターンし終えた状態の例を示す図である。
【図１０】第１の実施の形態において、ターンの種類及び積荷の有無に対応させて記憶している、補正角度及び基本操舵角度の例を説明する図である。
【図１１】第２の実施の形態（ピボットターン）において、自律走行車の制御装置の処理手順の例を説明するフローチャートである。
【図１２】第２の実施の形態において、誘導線の交差点において自律走行車が左９０°ターンを行う動作の例であって、自律走行車が交差点に達する前の直進動作状態の例を示す図である。
【図１３】第２の実施の形態において、誘導線の交差点において自律走行車が左９０°ターンを行う動作の例であって、図１２に示す状態の後、自律走行車がターン位置に達して停止した状態の例を示す図である。
【図１４】第２の実施の形態において、誘導線の交差点において自律走行車が左９０°ターンを行う動作の例であって、図１３に示す状態の後、停止状態において自律走行車が駆動操舵輪の操舵角度を左９０°ターン用の角度とした状態の例を示す図である。
【図１５】第２の実施の形態において、誘導線の交差点において自律走行車が左９０°ターンを行う動作の例であって、図１４に示す状態の後、自律走行車が駆動操舵輪の操舵角度を維持した状態で駆動操舵輪を駆動して、「理想状態」にて左９０°ターンをターンし終えた状態の例を示す図である。
【図１６】第２の実施の形態において、誘導線の交差点において自律走行車が左９０°ターンを行う動作の例であって、図１４に示す状態の後、自律走行車が駆動操舵輪の操舵角度を維持した状態で駆動操舵輪を駆動して、「実際に」左９０°ターンをターンし終えた状態の例を示す図である。
【図１７】第２の実施の形態において、ターンの種類及び積荷の有無に対応させて記憶している、補正角度及び基本操舵角度の例を説明する図である。
【図１８】第３の実施の形態（プログラムステア）において、自律走行車の制御装置の処理手順の例を説明するフローチャートである。
【図１９】第３の実施の形態において、誘導線の交差点において自律走行車が左９０°ターンを行う動作の例であって、自律走行車が交差点に達する前の直進動作状態の例を示す図である。
【図２０】第３の実施の形態において、誘導線の交差点において自律走行車が左９０°ターンを行う動作の例であって、図１９に示す状態の後、自律走行車がターン位置に達した後、走行しながら操舵（プログラムステア）して左９０°ターンをする例を説明する図である。
【図２１】第３の実施の形態において、誘導線の交差点において自律走行車が左９０°ターンを行う動作の例であって、図２０に示す状態の後、「実際に」左９０°ターンをターンし終えた状態の例を示す図である。
【図２２】第３の実施の形態において、ターンの種類及び積荷の有無に対応させて記憶している、補正加算角度及び基本加算角度の例を説明する図である。
【発明を実施するための形態】
【００１５】
以下に本発明を実施するための形態を図面を用いて説明する。なお、Ｘ軸とＹ軸とＺ軸が記載されている図において、Ｘ軸とＹ軸とＺ軸は互いに直交している。また、Ｚ軸方向は鉛直上向き方向を示し、Ｘ軸方向は図２に示す工場内（施設内）における一方方向（図２の例では紙面右方向）を示し、Ｙ軸方向は図２に示す工場内（施設内）における一方方向に直交する方向（図２の例では紙面上方向）を示している。
【００１６】
●［自律走行車の外観（図１）］
自律走行車１には、用途や作業現場等に応じて種々の外観のものがあるが、本実施の形態の説明では図１に示すように、リーチ型フォークリフトの外観を有する自律走行車を例として説明する。自律走行車１は、リーチ１０、マスト７０、フォーク６０、右従動輪８Ｒ、左従動輪８Ｌ、駆動操舵輪８Ｄ、キャスタ輪８Ｃ等を有している。
【００１７】
リーチ１０は左右一対で設けられており、車体の下部から前方に突出するように設けられている。また一対のリーチ１０の各々の前側部には、右従動輪８Ｒ、左従動輪８Ｌが設けられている。マスト７０は左右一対で設けられており、リーチ１０に沿って前後方向にスライド可能であるとともに、前後方向に傾斜可能である。フォーク６０は左右一対で設けられており、マスト７０に沿って上下方向にスライド可能（昇降可能）である。
【００１８】
右従動輪８Ｒは、右側のリーチ１０の前端近傍に設けられており、自律走行車１の前後方向（図１及び図２の例ではＸ軸方向）に向きが固定されて回転自在に設けられている。左従動輪８Ｌは、左側のリーチ１０の前端近傍に設けられており、自律走行車１の前後方向（図１及び図２の例ではＸ軸方向）に向きが固定されて回転自在に設けられている。そして右従動輪８Ｒと左従動輪８Ｌは、左右一対で自律走行車１に設けられている。なお、右従動輪８Ｒと左従動輪８Ｌは、左右一対で自律走行車１の前方に設けられていてもよいし、左右一対で自律走行車１の後方に設けられていてもよい。本実施の形態の説明では、右従動輪８Ｒと左従動輪８Ｌが、左右一対で自律走行車１の前方に設けられている例を説明する。
【００１９】
駆動操舵輪８Ｄは、自律走行車１の前後方向に対する角度（図２における中心軸線１Ｊに対する角度）を変更可能な操舵モータ５２（操舵手段に相当、図２参照）を有するとともに、駆動モータ５１（駆動手段に相当、図２参照）によって回転駆動される。なお、駆動操舵輪８Ｄは１個であり、従動輪（右従動輪８Ｒ及び左従動輪８Ｌ）が前方に設けられている場合では駆動操舵輪８Ｄは後方に設けられ、従動輪（右従動輪８Ｒ及び左従動輪８Ｌ）が後方に設けられている場合では駆動操舵輪８Ｄは前方に設けられている。また駆動操舵輪８Ｄは、左右方向において、右側と左側のどちらの側に配置されていてもよい。ただし、駆動操舵輪８Ｄが右側に配置されている場合はキャスタ輪８Ｃ（図２参照）は左側に配置され、駆動操舵輪８Ｄが左側に配置されている場合はキャスタ輪８Ｃ（図２参照）は右側に配置される。本実施の形態の説明では、駆動操舵輪８Ｄが、自律走行車１の後方、かつ左側に設けられている例を説明する。
【００２０】
キャスタ輪８Ｃは、図２に示すＸＹ平面内において方向が自由に変わるように自律走行車１に対して支持されているとともに、回転自在となるように自律走行車１に支持された車輪である。本実施の形態の説明では、キャスタ輪８Ｃが、自律走行車１の後方、かつ右側に設けられている例を説明する。
【００２１】
●［制御装置５０に接続される各種の検出手段とアクチュエータの配置（図２）］
次に図２を用いて自律走行車１の制御装置５０に接続される各種の検出手段やアクチュエータの配置位置等について説明する。図２に示すように、自律走行車１には、制御装置５０、前側誘導線検出手段２Ａ、後側誘導線検出手段２Ｂ、右マーカ検出手段２Ｒ、左マーカ検出手段２Ｌ、積荷検出手段２Ｃ、駆動モータ５１、操舵モータ５２、ポンプ用モータ６１、油圧ポンプ６２等が設けられている。なお、自律走行車１は、予め床面等に設けられた誘導線（例えば磁気テープ）に沿って走行し、複数が張り巡らされた誘導線の中から、予め設定された走行経路となる誘導線に従って、前進や後進、誘導線の交差点での左右のターン等を行いながら走行する。
【００２２】
前側誘導線検出手段２Ａは、自律走行車１の前方、かつ下方に配置されて、床面等にライン状に延びるように設けられた誘導線を検出し、検出信号を制御装置５０に向けて出力する。例えば誘導線が磁気テープの場合、前側誘導線検出手段２Ａは磁気センサであり、左右方向の幅２Ａｗは、例えば２０［ｃｍ］程度である。制御装置５０は、前側誘導線検出手段２Ａからの検出信号に基づいて、前側誘導線検出手段２Ａの下方に存在する誘導線が、前側検出手段中心２Ａｃから左右のどちらに、どれだけ離れた距離にあるか、を検出することができる。
【００２３】
後側誘導線検出手段２Ｂは、自律走行車１の後方、かつ下方に配置されて、床面等にライン状に延びるように設けられた誘導線を検出し、検出信号を制御装置５０に向けて出力する。例えば誘導線が磁気テープの場合、後側誘導線検出手段２Ｂは磁気センサであり、左右方向の幅２Ｂｗは、例えば２０［ｃｍ］程度である。制御装置５０は、後側誘導線検出手段２Ｂからの検出信号に基づいて、後側誘導線検出手段２Ｂの下方に存在する誘導線が、後側検出手段中心２Ｂｃから左右のどちらに、どれだけ離れた距離にあるか、を検出することができる。
【００２４】
右マーカ検出手段２Ｒは、後側誘導線検出手段２Ｂ（または前側誘導線検出手段２Ａ）の右側、かつ下方に配置されて、床面等にスポット的に設けられた右マーカ（誘導線の交差点の手前であることを示すマーカ等）を検出し、検出信号を制御装置５０に向けて出力する。例えば右マーカが磁気テープや磁石の場合、右マーカ検出手段２Ｒは磁気センサである。制御装置５０は、右マーカ検出手段２Ｒからの検出信号に基づいて、右マーカ検出手段２Ｒの下方に、右マーカがあるか否か、を検出することができる。なお、中心軸線１Ｊから右マーカ検出手段２Ｒまでの距離２Ｒｗは、右マーカの位置にあわせて適宜設定される。
【００２５】
左マーカ検出手段２Ｌは、後側誘導線検出手段２Ｂ（または前側誘導線検出手段２Ａ）の左側、かつ下方に配置されて、床面等にスポット的に設けられた左マーカ（誘導線の交差点の手前であることを示すマーカ等）を検出し、検出信号を制御装置５０に向けて出力する。例えば左マーカが磁気テープや磁石の場合、左マーカ検出手段２Ｌは磁気センサである。制御装置５０は、左マーカ検出手段２Ｌからの検出信号に基づいて、左マーカ検出手段２Ｌの下方に、左マーカがあるか否か、を検出することができる。なお、中心軸線１Ｊから左マーカ検出手段２Ｌまでの距離２Ｌｗは、左マーカの位置にあわせて適宜設定される。
【００２６】
積荷検出手段２Ｃは、例えばフォーク６０の上面に設けられた物体検出センサであり、フォーク６０の上面の積荷の有無に応じた検出信号を制御装置５０に向けて出力する。制御装置５０は、積荷検出手段２Ｃからの検出信号に基づいて、自律走行車１が積荷を持っている状態か、積荷を持っていない状態か、を検出することができる。
【００２７】
駆動モータ５１は、駆動ギア等を介して駆動操舵輪８Ｄを回転駆動して、自律走行車１を前進、後進、停止等する。制御装置５０は、駆動モータ５１に制御信号を出力して駆動操舵輪８Ｄを前進回転、後進回転、停止等の状態に制御することができる。また制御装置５０は、図示省略したエンコーダ等の回転検出手段からの検出信号に基づいて、駆動モータ５１の回転状態を検出し、自律走行車１の走行距離を検出することができる。
【００２８】
操舵モータ５２は、操舵ギア等を介して駆動操舵輪８Ｄの操舵角度を変更して、自律走行車１の進行方向を左右に変更する。制御装置５０は、操舵モータ５２に制御信号を出力して駆動操舵輪８Ｄの操舵角度（自律走行車１の中心軸線１Ｊに対する角度）を制御することができる。また制御装置５０は、図示省略したエンコーダ等の回転検出手段からの検出信号に基づいて、操舵モータ５２の回転状態を検出し、駆動操舵輪８Ｄの操舵角度を検出することができる。
【００２９】
ポンプ用モータ６１は、油圧ポンプ６２を駆動するための電動モータである。制御装置５０は、ポンプ用モータ６１に制御信号を出力してポンプ用モータ６１を介して油圧ポンプ６２を駆動して、マストのスライドや傾斜、フォークの昇降等の動作を行うための油圧を発生させることができる。
【００３０】
また右従動輪８Ｒの中心である右従動輪中心８Ｒｃと、と左従動輪８Ｌの中心である８Ｌｃと、を結んだ仮想直線８Ｐｖの中央を、左右従動輪中央８Ｐｃとする。
【００３１】
●［誘導線の例と、走行経路の例（図３）］
図３は、誘導線が床面に張り巡らされた製造工場等の平面図の例を示している。床面には、図３における左右方向（Ｘ軸方向）に誘導線Ｘ１、Ｘ２が設けられており、図３における上下方向（Ｙ軸方向）に誘導線Ｙ１、Ｙ２が設けられている。また図３では、誘導線Ｘ１と誘導線Ｙ１とが交差する位置を交差点Ｘ１Ｙ１、誘導線Ｘ１と誘導線Ｙ２とが交差する位置を交差点Ｘ１Ｙ２、誘導線Ｘ２と誘導線Ｙ１とが交差する位置を交差点Ｘ２Ｙ１、誘導線Ｘ２と誘導線Ｙ２とが交差する位置を交差点Ｘ２Ｙ２、にて示している。
【００３２】
走行経路Ｋ１は、自律走行車１の制御装置に予めプログラムされている。図３に点線にて示す走行経路Ｋ１の例では、自律走行車１は、例えば以下のように走行する。
（１）誘導線Ｘ２の左端から積荷ａを保持してスタートし、プログラムされた走行経路に基づいて、誘導線Ｘ２に沿って右方向に移動する。
（２）左マーカＭＬ１を検出して、プログラムされた走行経路に基づいて、次の交差点Ｘ２Ｙ１にて左９０°ターンして、誘導線Ｙ１に沿って図３における上方向に移動する。
（３）停止マーカＭＳ１を検出して、プログラムされた走行経路に基づいて、設備ＳＥ１の手前で停止し、保持している積荷ａを、加工入口受入部に降ろす。
（４）プログラムされた走行経路に基づいて、１８０°旋回して、誘導線Ｙ１に沿って図３における下方向に移動する。
（５）左マーカＭＬ２を検出して、プログラムされた走行経路に基づいて、次の交差点Ｘ１Ｙ１にて左９０°ターンして、誘導線Ｘ１に沿って図３における右方向に移動する。
（６）左マーカＭＬ３を検出して、プログラムされた走行経路に基づいて、次の交差点Ｘ１Ｙ２にて左９０°ターンして、誘導線Ｙ２に沿って図３における上方向に移動する。
（７）停止マーカＭＳ２を検出して、プログラムされた走行経路に基づいて、設備ＳＥ１の手前で停止し、加工終了払出部の積荷ｂを保持する。
（８）プログラムされた走行経路に基づいて、１８０°旋回して、誘導線Ｙ２に沿って図３における下方向に移動する。
（９）左マーカＭＬ４を検出して、プログラムされた走行経路に基づいて、次の交差点Ｘ１Ｙ２にて左９０°ターンして、誘導線Ｘ１に沿って図３における右方向に移動する。
【００３３】
操舵モータや操舵ギア、操舵角度検出手段（例えば操舵モータのエンコーダ）、の機械的なガタツキや特性の経年変化（経年劣化）、あるいは積荷の有無（重量物の有無）によるモータの負荷の変化等にて、ターンに誤差が発生する場合がある。この誤差が積み重なっていくと、やがてターン終了後の自律走行車の姿勢が、ターン先の誘導線に対して大きく傾斜した状態となり、ターン終了後の走行で蛇行したりコースアウト（誘導線から逸脱する）したりする可能性がある。これを回避するために定期的に、自律走行車毎にターンの制御量等を再調整する必要があり、非常に手間がかかる。そこで、ターンの誤差を自動的に補正し、再調整を不要とすることができる自律走行車の制御方法について、以下に説明する。
【００３４】
なお、交差点等でのターンの種類には、その場で旋回するスピンターン、その場で旋回するピボットターン（スピンターンとは旋回中心位置が異なる）、移動しながら旋回するプログラムステア、の３種類のターンがある。またターンの種類は、上記の３種類に加えて、右ターンまたは左ターン、９０°ターンまたは１８０°ターン、積荷あり時のターンまたは積荷なし時のターン、がある。
【００３５】
以下、第１の実施の形態では、スピンターンでの左９０°ターン（積荷なし）を例として説明し、第２の実施の形態では、ピボットターンでの左９０°ターン（積荷なし）を例として説明し、第３の実施の形態では、プログラムステアでの左９０°ターン（積荷なし）を例として説明する。
【００３６】
●［第１の実施の形態（左９０°スピンターンの例）（図４〜図１０）］
図４に示すフローチャートは、第１の実施の形態における制御装置のターンの処理の処理手順の例を示している。制御装置は、処理が開始されると、ステップＳ１０に進む。以下、図３に示す誘導線Ｘ２の左端から自律走行車１が移動を開始した場合を例にして説明する。なお、本実施の形態にて説明する「スピンターン」は、図７に示すように、左右従動輪中央８Ｐｃを旋回中心として右または左に旋回するターンであり、ターン中に４輪（駆動操舵輪８Ｄ、キャスタ輪８Ｃ、右従動輪８Ｒ、左従動輪８Ｌ）すべての位置が移動するターンである。また以下の説明では、自律走行車１が積荷を保持していない状態の例を説明する。
【００３７】
ステップＳ１０にて制御装置は、前側誘導線検出手段２Ａの前側検出手段中心２Ａｃ（図２参照）と、後側誘導線検出手段２Ｂの後側検出手段中心２Ｂｃ（図２参照）に、誘導線Ｘ２の中心軸線Ｘ２ｃが位置するように、操舵モータ５２と駆動モータ５１（図２参照）を制御して駆動操舵輪の操舵角度と駆動の制御を行なって、自律走行車１を、誘導線Ｘ２に沿って移動させ、ステップＳ１５に進む。誘導線Ｘ２に沿って自律走行車１が移動している状態は、図５に示すとおりである。
【００３８】
ステップＳ１５にて制御装置は、ターン位置に到達したか否かを判定し、ターン位置に到達したと判定した場合（Ｙｅｓ）はステップＳ２０に進み、ターン位置に到達していない場合（Ｎｏ）はステップＳ１０に戻る。そしてステップＳ２０に進んだ場合、制御装置は、駆動モータ５１の駆動を停止して駆動操舵輪の駆動を停止し、自律走行車１を停止させ、ステップＳ２５に進む。このステップＳ１５、Ｓ２０では、具体的には、図６に示すように、制御装置は、左マーカ検出手段２Ｌにて左マーカＭＬ１を検出した後、距離Ｄ１だけ誘導線Ｘ２に沿って移動した位置でターン位置に到達したと判定し、自律走行車１を停止させる（距離Ｄ１は適宜設定される）。停止した自律走行車１における左右従動輪中央８Ｐｃの位置は、交差点Ｘ２Ｙ１の中心位置と一致している。つまり、左右従動輪中央８Ｐｃが交差点Ｘ２Ｙ１の中心と一致する状態（図６の状態）において、左マーカ検出手段２Ｌよりも距離Ｄ１だけ左の位置に、左マーカＭＬ１が設けられている。
【００３９】
ステップＳ２５にて制御装置は、予め設定されている（プログラムされている）走行経路に従った現在の交差点（この場合、交差点Ｘ２Ｙ１）でのターンが、右ターンであるか否かを判定し、右ターンである場合（Ｙｅｓ）はステップＳ３０に進み、右ターンでない場合（Ｎｏ、左ターン）はステップＳ３０Ｅに進む。なお、右ターン、左ターンは、ターンの種類の１つである。
【００４０】
ステップＳ３０に進んだ場合、制御装置は、予め設定されている走行経路に従った現在の交差点（この場合、交差点Ｘ２Ｙ１）でのターンが、９０°ターンであるか否かを判定し、９０°ターンである場合（Ｙｅｓ）はステップＳ３５Ａに進み、９０°ターンでない場合（Ｎｏ、１８０°ターン）はステップＳ３５Ｃに進む。また、ステップＳ３０Ｅに進んだ場合、制御装置は、予め設定されている走行経路に従った現在の交差点（この場合、交差点Ｘ２Ｙ１）でのターンが、９０°ターンであるか否かを判定し、９０°ターンである場合（Ｙｅｓ）はステップＳ３５Ｅに進み、９０°ターンでない場合（Ｎｏ、１８０°ターン）はステップＳ３５Ｇに進む。なお、９０°ターン、１８０°ターンは、ターンの種類の１つである。
【００４１】
ステップＳ３５Ａに進んだ場合、制御装置は、積荷検出手段２Ｃ（図２参照）からの検出信号に基づいて積荷の有無を判定し、積荷がある場合（Ｙｅｓ）はステップＳ４０Ａに進み、積荷がない場合（Ｎｏ）はステップＳ４０Ｂに進む。ステップＳ３５Ｃに進んだ場合、制御装置は、積荷検出手段２Ｃからの検出信号に基づいて積荷の有無を判定し、積荷がある場合（Ｙｅｓ）はステップＳ４０Ｃに進み、積荷がない場合（Ｎｏ）はステップＳ４０Ｄに進む。ステップＳ３５Ｅに進んだ場合、制御装置は、積荷検出手段２Ｃからの検出信号に基づいて積荷の有無を判定し、積荷がある場合（Ｙｅｓ）はステップＳ４０Ｅに進み、積荷がない場合（Ｎｏ）はステップＳ４０Ｆに進む。ステップＳ３５Ｇに進んだ場合、制御装置は、積荷検出手段２Ｃからの検出信号に基づいて積荷の有無を判定し、積荷がある場合（Ｙｅｓ）はステップＳ４０Ｇに進み、積荷がない場合（Ｎｏ）はステップＳ４０Ｈに進む。
【００４２】
ステップＳ４０Ａに進んだ場合、制御装置は、ターン種類に「１」（右、９０°、積荷あり）を代入（記憶）して、ステップＳ４５に進む。ステップＳ４０Ｂに進んだ場合、制御装置は、ターン種類に「２」（右、９０°、積荷なし）を代入（記憶）して、ステップＳ４５に進む。ステップＳ４０Ｃに進んだ場合、制御装置は、ターン種類に「３」（右、１８０°、積荷あり）を代入（記憶）して、ステップＳ４５に進む。ステップＳ４０Ｄに進んだ場合、制御装置は、ターン種類に「４」（右、１８０°、積荷なし）を代入（記憶）して、ステップＳ４５に進む。ステップＳ４０Ｅに進んだ場合、制御装置は、ターン種類に「５」（左、９０°、積荷あり）を代入（記憶）して、ステップＳ４５に進む。ステップＳ４０Ｆに進んだ場合、制御装置は、ターン種類に「６」（左、９０°、積荷なし）を代入（記憶）して、ステップＳ４５に進む。ステップＳ４０Ｇに進んだ場合、制御装置は、ターン種類に「７」（左、１８０°、積荷あり）を代入（記憶）して、ステップＳ４５に進む。ステップＳ４０Ｈに進んだ場合、制御装置は、ターン種類に「８」（左、１８０°、積荷なし）を代入（記憶）して、ステップＳ４５に進む。
【００４３】
なお、制御装置は記憶装置（ＲＯＭ及びＲＡＭ）を有しており、当該記憶装置のＲＯＭには、本処理のプログラムと図１０に示すスピンターン基本操舵角度における基本操舵角度１〜８が記憶されている。例えば基本操舵角度６には、スピンターンにおける［左ターン、かつ９０°ターン、かつ積荷なし］の場合において、図７に示す状態における駆動操舵輪８Ｄの操舵角度θ１（補正が不要な理想状態の操舵角度）が記憶されている。また、記憶装置のＲＡＭ（またはFlashＲＯＭ）には、図１０に示すスピンターン補正角度における補正角度１〜８が記憶されている。補正角度１〜８は書き換え可能であり、例えば補正角度６には、スピンターンにおける［左ターン、かつ９０°ターン、かつ積荷なし］の場合において、図７に示す状態における操舵角度θ１（補正前の操舵角度）を補正するための角度が記憶されている。なお、補正角度の算出方法等については後述する。
【００４４】
ステップＳ４５にて制御装置は、ターン種類（ｎ）に対応する基本操舵角度（ｎ）と補正角度（ｎ）を読み込み、操舵総合角度（基本操舵角度＋補正角度）を算出し、ステップＳ５０に進む。積荷なしの自律走行車１が交差点Ｘ２Ｙ１を左９０°ターンする場合では、ターン種類が「６」であるので、制御装置は、図１０に示すスピンターン基本操舵角度の中の基本操舵角度６と、図１０に示すスピンターン補正角度の中の補正角度６と、を読み出し、基本操舵角度６と補正角度６を加算して操舵総合角度を算出する。なお、補正角度６は、後述するように、前回のターン種類「６」のターンを終了時に記憶した補正角度である。
【００４５】
ステップＳ５０にて制御装置は、自律走行車１を停止させた状態にて、ステップＳ４５にて求めた操舵総合角度となるように、操舵モータ５２を制御して駆動操舵輪８Ｄの操舵角度を制御し、ステップＳ５５に進む。ステップＳ５５にて制御装置は、駆動操舵輪８Ｄの操舵角度を操舵総合角度に維持しながら、駆動モータ５１を制御して駆動操舵輪８Ｄを左ターンする方向に駆動してターンを実行し、ステップＳ６０に進む。ステップＳ６０にて制御装置は、ターン終了するタイミングであるか否かを判定し、ターン終了と判定した場合（Ｙｅｓ）はステップＳ６５に進み、ターン終了と判定しない場合（Ｎｏ）はステップＳ５５に戻る。ステップＳ６０では、具体的には制御装置は、ターン先の誘導線Ｙ１（誘導線Ｙ１の中心軸線Ｙ１ｃ）と後側検出手段中心２Ｂｃとの間の距離であって徐々に小さくなっていく距離が所定の距離Ｅ１（終了判定距離であり、例えば−１０［ｍｍ］〜＋１０［ｍｍ］程度）以内となった場合（図９参照）に、ターンが終了したと判定する。例えば、符号が（−）の場合は後側検出手段中心２Ｂｃが誘導線Ｙ１の中心軸線Ｙ１ｃの左側にある場合を示し、符号が（＋）の場合は後側検出手段中心２Ｂｃが誘導線Ｙ１の中心軸線Ｙ１ｃの右側にある場合を示している。そしてステップＳ６５にて制御装置は、駆動モータ５１の駆動を停止して駆動操舵輪８Ｄの駆動を停止し、自律走行車１を停止状態にして、ステップＳ７０に進む。
【００４６】
なお、図７を用いて、［左ターン、かつ９０°ターン、かつ積荷なし］の場合のスピンターンの際の操舵角度θ１（基本操舵角度）の決定方法の例について説明する。図７に示すように、左９０°のスピンターンでは、自律走行車１の左右従動輪中央８Ｐｃを、交差点Ｘ２Ｙ１の中心位置に一致させ、左右従動輪中央８Ｐｃを中心として反時計回りの方向に（ほぼ）９０°ターンする。ここで、左右従動輪中央８Ｐｃから駆動操舵輪中心８Ｄｃまでの仮想直線ＶＬ１の長さを長さＲ１、左右従動輪中央８Ｐｃを中心として半径が長さＲ１の仮想円を仮想円ＶＣ１とする。そして、駆動操舵輪中心８Ｄｃにおける仮想円ＶＣ１の接線を仮想接線Ｓ１とする。この仮想接線Ｓ１と誘導線Ｘ２とがなす角度（ターン方向の側の角度）が、操舵角度θ１（この場合、基本操舵角度６に相当する）である。駆動操舵輪８Ｄの操舵角度等、種々の状態が理想状態であれば、図８の［理想状態でのターン終了時］に示すように、ターンが終了した際、左右従動輪中央８Ｐｃは交差点Ｘ２Ｙ１の中心と一致している。このとき、前側検出手段中心２Ａｃと後側検出手段中心２Ｂｃは誘導線Ｙ１の中心軸線Ｙ１ｃ上にある（図９に示す所定の距離Ｅ１をゼロに設定した場合）。しかし、実際には操舵角度をはじめ、種々の誤差を有しているので、ターンが終了した際、図９の［実際のターン終了時］に示すように、左右従動輪中央８Ｐｃは交差点Ｘ２Ｙ１の中心からズレており、ターン後の誘導線Ｙ１に対して自律走行車１が傾斜した状態となる。
【００４７】
ステップＳ７０にて制御装置は、図９に示す状態におけるズレ角度θｅに応じたズレ距離（距離Ｅ２）を検出してステップＳ７５に進む。具体的には制御装置は、前側検出手段中心２Ａｃとターン先の誘導線Ｙ１の中心軸線Ｙ１ｃとの距離Ｅ２を検出し、後側検出手段中心２Ｂｃとターン先の誘導線Ｙ１の中心軸線Ｙ１ｃとの距離Ｅ１を検出する。また、制御装置の記憶装置には、前側検出手段中心２Ａｃから後側検出手段中心２Ｂｃまでの距離ＬＡＢが予め記憶されている。この場合、ズレ角度θｅは、ステップＳ６０にてターンを終えたと判断した際におけるターンした先の誘導線（図９の例では誘導線Ｙ１）と自律走行車１の前後方向とがなす角度であり、sinθｅ＝［（距離Ｅ１＋距離Ｅ２）／距離ＬＡＢ］の式に基づいて求めることができる。なお、距離Ｅ１は、無視してよいほど小さな値であるので、sinθｅ≒［距離Ｅ２／距離ＬＡＢ］と近似してもよく、距離Ｅ２（ズレ距離）≒距離ＬＡＢ＊sinθｅとしてもよい。
【００４８】
ステップＳ７５にて制御装置は、ズレ距離（距離Ｅ２）を発生させないための相殺角度を、ズレ距離（距離Ｅ２）から換算し、換算した相殺角度に基づいた補正角度（例えば相殺角度の１／１０となる角度）を求め、ステップＳ８０に進む。なお、ズレ距離（距離Ｅ２）から換算した補正角度は、図９の例において、前側検出手段中心２Ａｃが誘導線Ｙ１の中心軸線Ｙ１ｃの右側にある場合と、左側にある場合とで、補正角度の正負の符号が異なる。そしてステップＳ８０にて制御装置は、求めた補正角度を、ターン種類（ｎ）に対応する補正角度（ｎ）に記憶してステップＳ１０に戻る。例えばターン種類が「６」の場合、求めた補正角度を補正角度６に記憶し、次回のターン種類「６」の場合に、この補正角度６の値が使用される。
【００４９】
以上、第１の実施の形態では、ターンがスピンターンの場合において、操舵角度に誤差が発生してターン終了後の自律走行車の姿勢にズレ角度θｅに応じたズレ距離（距離Ｅ２）が発生した際、当該ズレ距離（距離Ｅ２）を相殺するように（ズレ距離が発生しないように）補正角度を求め、求めた補正角度を次回のターンで使用する、という学習制御を行なう。これにより、ターンの誤差を自動的に補正することができる。また、ズレ距離（距離Ｅ２）を１回で相殺する相殺角度よりも小さな角度を補正角度とすることで、次のターンでズレ距離（距離Ｅ２）を１回で相殺するのでなく、複数回のターンで徐々にズレ距離を小さくしていき、誤学習を防止することができる。また、左ターンまたは右ターン、９０°ターンまたは１８０°ターン、積荷ありまたは積荷なし、のターンの種類に対応する基本操舵角度１〜８、補正角度１〜８を有することで、駆動操舵輪への負荷の状態等に応じて、より正確にターンの誤差を自動的に補正することができる。
【００５０】
●［第２の実施の形態（左９０°ピボットターンの例）（図１１〜図１７）］
交差点でのターンがスピンターンである第１の実施の形態に対して、第２の実施の形態では、交差点でのターンがピボットターンである。第１の実施の形態のスピンターンでは、ターン中（旋回中）に４輪（すべての車輪）の全ての位置が移動するが、第２の実施の形態のピボットターンでは、ターン中（旋回中）に、いずれか１輪を中心として右または左に旋回する。ピボットターンの場合、例えば左ターンでは左従動輪中心８Ｌｃを中心として左（反時計回り方向）に旋回し、右ターンでは右従動輪中心８Ｒｃを中心として右（時計回り方向）に旋回する点が、第１の実施の形態とは異なる。また処理手順では、上記の相違点により、図４のフローチャートに対して、図１１のフローチャートに示すように、図４のステップＳ１５が図１１ではステップＳ１６に変更され、ステップＳ２５〜Ｓ４５までの処理が異なる。また基本操舵角度及び補正角度は、図１７に示すように、ピボットターン専用の角度として記憶されている。またピボットターンでは９０°ターンを想定しているが１８０°ターンを想定していない（１８０°旋回すると誘導線から大きく外れてしまう）ので、基本操舵角度及び補正角度は、それぞれ４つである点も第１の実施の形態とは異なる。以下、これらの相違点について主に説明する。また以下の説明では、自律走行車１が積荷を保持していない状態の例を説明する。
【００５１】
図１１のフローチャートに示すように、制御装置は、処理が開始されると、ステップＳ１０に進む。以下、図４のフローチャートと相違する処理について主に説明する。
【００５２】
ステップＳ１６にて制御装置は、ターン位置に到達したか否かを判定し、ターン位置に到達したと判定した場合（Ｙｅｓ）はステップＳ２０に進み、ターン位置に到達していない場合（Ｎｏ）はステップＳ１０に戻る。そしてステップＳ２０に進んだ場合、制御装置は、駆動モータ５１の駆動を停止して駆動操舵輪の駆動を停止し、自律走行車１を停止させ、ステップＳ２５に進む。このステップＳ１６、Ｓ２０では、具体的には、図１３に示すように、制御装置は図１２に示す状態から前進して左マーカ検出手段２Ｌにて左マーカＭＬ１を検出した後、距離Ｄ２だけ誘導線Ｘ２に沿って移動した位置でターン位置に到達したと判定し、自律走行車１を停止させる（距離Ｄ２は適宜設定される）。停止した自律走行車１における左従動輪中心８Ｌｃ（または右従動輪中心８Ｒｃ）の位置は、誘導線Ｙ１の中心軸線Ｙ１ｃから距離Ｄ２Ａだけ離れた位置となり、「距離Ｄ２Ａ＝（右従動輪中心８Ｒｃと左従動輪中心８Ｌｃとの間の距離）／２」となるように、左マーカＭＬ１の位置及び距離Ｄ２が設定されている。
【００５３】
ステップＳ２５にて制御装置は、予め設定されている（プログラムされている）走行経路に従った現在の交差点（この場合、交差点Ｘ２Ｙ１）でのターンが、右ターンであるか否かを判定し、右ターンである場合（Ｙｅｓ）はステップＳ３５Ａに進み、右ターンでない場合（Ｎｏ、左ターン）はステップＳ３５Ｅに進む。なお、右ターン、左ターンは、ターンの種類の１つである。
【００５４】
ステップＳ３５Ａに進んだ場合、制御装置は、積荷検出手段２Ｃ（図２参照）からの検出信号に基づいて積荷の有無を判定し、積荷がある場合（Ｙｅｓ）はステップＳ４０Ａに進み、積荷がない場合（Ｎｏ）はステップＳ４０Ｂに進む。ステップＳ３５Ｅに進んだ場合、制御装置は、積荷検出手段２Ｃからの検出信号に基づいて積荷の有無を判定し、積荷がある場合（Ｙｅｓ）はステップＳ４１Ｅに進み、積荷がない場合（Ｎｏ）はステップＳ４１Ｆに進む。
【００５５】
ステップＳ４０Ａに進んだ場合、制御装置は、ターン種類に「１」（右９０°、積荷あり）を代入（記憶）して、ステップＳ４５に進む。ステップＳ４０Ｂに進んだ場合、制御装置は、ターン種類に「２」（右９０°、積荷なし）を代入（記憶）して、ステップＳ４５に進む。ステップＳ４１Ｅに進んだ場合、制御装置は、ターン種類に「３」（左９０°、積荷あり）を代入（記憶）して、ステップＳ４５に進む。ステップＳ４１Ｆに進んだ場合、制御装置は、ターン種類に「４」（左９０°、積荷なし）を代入（記憶）して、ステップＳ４５に進む。
【００５６】
制御装置は記憶装置（ＲＯＭ及びＲＡＭ）を有しており、当該記憶装置のＲＯＭには、本処理のプログラムと図１７に示すピボットターン基本操舵角度における基本操舵角度１〜４が記憶されている。例えば基本操舵角度４には、ピボットターンにおける［左９０°ターン、かつ積荷なし］の場合において、図１４に示す状態における駆動操舵輪８Ｄの操舵角度θ２（補正が不要な理想状態の操舵角度）が記憶されている。また、記憶装置のＲＡＭ（またはFlashＲＯＭ）には、図１７に示すピボットターン補正角度における補正角度１〜４が記憶されている。補正角度１〜４は書き換え可能であり、例えば補正角度４には、ピボットターンにおける［左９０°ターン、かつ積荷なし］の場合において、図１４に示す状態における操舵角度θ２（補正前の操舵角度）を補正するための角度が記憶されている。なお、補正角度の算出方法等については後述する。
【００５７】
ステップＳ４５にて制御装置は、ターン種類（ｎ）に応じた基本操舵角度（ｎ）と補正角度（ｎ）を読み込み、操舵総合角度（基本操舵角度＋補正角度）を算出し、ステップＳ５０に進む点は、第１の実施の形態と同じである。積荷なしの自律走行車１が交差点Ｘ２Ｙ１を左９０°ターンする場合では、ターン種類が「４」であるので、制御装置は、図１７に示すピボットターン基本操舵角度の中の基本操舵角度４と、図１７に示すピボットターン補正角度の中の補正角度４と、を読み出し、基本操舵角度４と補正角度４を加算して操舵総合角度を算出する。なお、補正角度４は、後述するように、前回のターン種類「４」のターンを終了時に記憶した補正角度である。
【００５８】
ステップＳ５０〜Ｓ６５の処理は、第１の実施の形態と同じであるが、以下に説明するように、ターンの際の基本操舵角度の決定方法が異なっている。
【００５９】
図１４を用いて、［左９０°ターン、かつ積荷なし］の場合のピボットターンの際の操舵角度θ２（基本操舵角度）の決定方法の例について説明する。図１４に示すように、左９０°のピボットターンでは、自律走行車１の左従動輪中心８Ｌｃを、誘導線Ｙ１の中心軸線Ｙ１ｃから距離Ｄ２Ａ（右従動輪中心８Ｒｃから左従動輪中心８Ｌｃまでの距離の１／２）だけ離れた位置にして、この左従動輪中心８Ｌｃを中心として反時計回りの方向に（ほぼ）９０°ターンする。ここで、ターンの中心となる左従動輪中心８Ｌｃから駆動操舵輪中心８Ｄｃまでの仮想直線ＶＬ２の長さを長さＲ２、左従動輪中心８Ｌｃを中心として半径が長さＲ２の仮想円を仮想円ＶＣ２とする。そして、駆動操舵輪中心８Ｄｃにおける仮想円ＶＣ２の接線を仮想接線Ｓ２とする。この仮想接線Ｓ２と誘導線Ｘ２とがなす角度（ターン方向の側の角度）が、操舵角度θ２（この場合、基本操舵角度４に相当する）である。駆動操舵輪８Ｄの操舵角度等、種々の状態が理想状態であれば、図１５の［理想状態でのターン終了時］に示すように、ターンが終了した際、左従動輪中心８Ｌｃの位置は図１４に示す左従動輪中心８Ｌｃの位置と一致している。このとき、前側検出手段中心２Ａｃと後側検出手段中心２Ｂｃは誘導線Ｙ１の中心軸線Ｙ１ｃ上にある（図１６に示す所定の距離Ｅ１をゼロに設定した場合）。しかし、実際には操舵角度をはじめ、種々の誤差を有しているので、ターンが終了した際、図１６の［実際のターン終了時］に示すように、左従動輪中心８Ｌｃの位置は、図１４に示す左従動輪中心８Ｌｃの位置からズレており、ターン後の誘導線Ｙ１に対して自律走行車１が傾斜した状態となる。
【００６０】
ステップＳ７０〜Ｓ８０の処理も、第１の実施の形態と同じである。以上、第２の実施の形態では、ターンがピボットターンの場合において、操舵角度に誤差が発生してターン終了後の自律走行車の姿勢にズレ角度θｅに応じたズレ距離（距離Ｅ２）が発生した際、当該ズレ距離（距離Ｅ２）を相殺するように（ズレ距離が発生しないように）補正角度を求め、求めた補正角度を次回のターンで使用する、という学習制御を行なう。これにより、ターンの誤差を自動的に補正することができる。また、ズレ距離（距離Ｅ２）を１回で相殺する相殺角度よりも小さな角度（例えば相殺角度の１／１０となる角度）を補正角度とすることで、次のターンでズレ距離（距離Ｅ２）を１回で相殺するのでなく、複数回のターンで徐々にズレ距離を小さくしていき、誤学習を防止することができる。また、左ターンまたは右ターン、積荷ありまたは積荷なし、のターンの種類に対応する基本操舵角度１〜４、補正角度１〜４を有することで、駆動操舵輪への負荷の状態等に応じて、より正確にターンの誤差を自動的に補正することができる。
【００６１】
●［第３の実施の形態（左９０°プログラムステアの例）（図１８〜図２２）］
交差点でのターンがスピンターンである第１の実施の形態に対して、第３の実施の形態では、交差点でのターンはプログラムステアと呼ばれるターンである。第１の実施の形態のスピンターンではターンの際、前進（または後進）状態から交差点で一旦停止し、その場で旋回して進行方向を向いたところで旋回を停止し、前進（または後進）を再開する、という手順でターンを行う。これに対して第３の実施の形態のプログラムステアでは後述するように、ターンの際、前進（または後進）状態を継続しながら、交差点の手前から徐々に操舵角度を大きくしながらターン前の誘導線から徐々に離れた後、操舵角度を徐々に小さくしながらターン先の誘導線に徐々に近づいていく点が異なる。また処理手順も、図１８のフローチャートに示すように、図４に示す第１の実施の形態のフローチャートとは異なる。また基本加算角度及び補正加算角度は、図２２に示すように、プログラムステア専用の角度として記憶されている。またプログラムステアでは９０°ターンを想定しているが１８０°ターンを想定していない（１８０°旋回すると誘導線から大きく外れてしまう）ので、基本加算角度及び補正加算角度は、それぞれ４つである点も第１の実施の形態とは異なる。以下、これらの相違点について主に説明する。また以下の説明では、自律走行車１が積荷を保持していない状態の例を説明する。
【００６２】
図１８のフローチャートに示すように、制御装置は、処理が開始されると、ステップＳ１０に進む。なお、図４に示すフローチャートと符号が同じステップは、処理内容が同じであることを示している。
【００６３】
ステップＳ１０にて制御装置は、第１の実施の形態と同様に、前側誘導線検出手段２Ａの前側検出手段中心２Ａｃ（図２参照）と、後側誘導線検出手段２Ｂの後側検出手段中心２Ｂｃ（図２参照）に、誘導線Ｘ２の中心軸線Ｘ２ｃが位置するように、操舵モータ５２と駆動モータ５１（図２参照）を制御して駆動操舵輪の操舵角度と駆動の制御を行なって、自律走行車１を、誘導線Ｘ２に沿って移動させ、ステップＳ１７に進む。誘導線Ｘ２に沿って自律走行車１が移動している状態は、図１９に示すとおりである。なお図１９〜図２１における仮想ターン経路ＶＴ１は、仮想的なターン経路を示しており、当該仮想ターン経路ＶＴ１の中央近傍に相当する位置には、ターン中間マーカＭＣ１が配置されている。
【００６４】
ステップＳ１７にて制御装置は、ターン開始位置に到達したか否かを判定し、ターン開始位置に到達したと判定した場合（Ｙｅｓ）はステップＳ２５に進み、ターン開始位置に到達していない場合（Ｎｏ）はステップＳ１０に戻る。具体的には、図２０に示すように、制御装置は、左マーカ検出手段２Ｌにて左マーカＭＬ１を検出した後、距離Ｄ３だけ誘導線Ｘ２に沿って移動した位置でターン開始位置に到達したと判定し、ステップＳ２５以降のプログラムステアのターン処理を実行する。なお図２０に示す距離Ｄ３、距離Ｄ３Ａは適宜設定されている。
【００６５】
ステップＳ２５にて制御装置は、予め設定されている（プログラムされている）走行経路に従った現在の交差点（この場合、交差点Ｘ２Ｙ１）でのターンが、右ターンであるか否かを判定し、右ターンである場合（Ｙｅｓ）はステップＳ３５Ａに進み、右ターンでない場合（Ｎｏ、左ターン）はステップＳ３５Ｅに進む。なお、右ターン、左ターンは、ターンの種類の１つである。
【００６６】
ステップＳ３５Ａに進んだ場合、制御装置は、積荷検出手段２Ｃ（図２参照）からの検出信号に基づいて積荷の有無を判定し、積荷がある場合（Ｙｅｓ）はステップＳ４０Ａに進み、積荷がない場合（Ｎｏ）はステップＳ４０Ｂに進む。ステップＳ３５Ｅに進んだ場合、制御装置は、積荷検出手段２Ｃからの検出信号に基づいて積荷の有無を判定し、積荷がある場合（Ｙｅｓ）はステップＳ４２Ｅに進み、積荷がない場合（Ｎｏ）はステップＳ４２Ｆに進む。
【００６７】
ステップＳ４０Ａに進んだ場合、制御装置は、ターン種類に「１」（右９０°、積荷あり）を代入（記憶）して、ステップＳ４７に進む。ステップＳ４０Ｂに進んだ場合、制御装置は、ターン種類に「２」（右９０°、積荷なし）を代入（記憶）して、ステップＳ４７に進む。ステップＳ４２Ｅに進んだ場合、制御装置は、ターン種類に「３」（左９０°、積荷あり）を代入（記憶）して、ステップＳ４７に進む。ステップＳ４２Ｆに進んだ場合、制御装置は、ターン種類に「４」（左９０°、積荷なし）を代入（記憶）して、ステップＳ４７に進む。
【００６８】
なお、制御装置は記憶装置（ＲＯＭ及びＲＡＭ）を有しており、当該記憶装置のＲＯＭには、本処理のプログラムと図２２に示すプログラムステア基本加算角度における基本加算角度１〜４が記憶されている。例えば基本加算角度４には、プログラムステアにおける［左９０°ターン、かつ積荷なし］の場合において、ターンを開始してから一定距離（または一定時間）経過する毎に、駆動操舵輪８Ｄの操舵角度に加算する基本加算角度（この場合、基本加算角度４に相当する）が記憶されている。また、記憶装置のＲＡＭ（またはFlashＲＯＭ）には、図２２に示すプログラムステア補正加算角度における補正加算角度１〜４が記憶されている。補正加算角度１〜４は書き換え可能であり、例えば補正加算角度４には、プログラムステアにおける［左９０°ターン、かつ積荷なし］の場合において、ターンを開始してから一定距離（または一定時間）経過する毎に、駆動操舵輪８Ｄの操舵角度に加算する操舵角度θ３（補正前の基本加算角度）を補正するための角度が記憶されている。なお、補正加算角度の算出方法等については後述する。
【００６９】
ステップＳ４７にて制御装置は、ターン種類（ｎ）に対応する基本加算角度（ｎ）と補正加算角度（ｎ）を読み込み、総合加算角度（基本加算角度＋補正加算角度）を算出し、ステップＳ５２に進む。積荷なしの自律走行車１が交差点Ｘ２Ｙ１を左９０°ターンする場合では、ターン種類が「４」であるので、制御装置は、図２２に示すプログラムステア基本加算角度の中の基本加算角度４と、図２２に示すプログラムステア補正加算角度の中の補正加算角度４と、を読み出し、基本加算角度４と補正加算角度４を加算して総合加算角度を算出する。なお、補正加算角度４は、後述するように、前回のターン種類「４」のターンを終了時に記憶した補正加算角度である。
【００７０】
ステップＳ５２にて制御装置は、前進（または後進）を継続しながら（駆動操舵輪を駆動しながら）、一定距離（または一定時間）経過する毎に、「操舵角度＜――操舵角度＋総合加算角度」を求め、求めた操舵角度にて駆動操舵輪を操舵し、ステップＳ５４に進む。つまり、一定距離（または一定時間）経過する毎に、操舵角度を徐々に大きくしていき、図２０に示す仮想ターン経路ＶＴ１における、誘導線Ｘ２上のターン開始位置からターン中間マーカＭＣ１までをトレースしていく。
【００７１】
ステップＳ５４にて制御装置は、仮想ターン経路ＶＴ１の中間位置に到達したか否かを判定し、中間位置に到達したと判定した場合（Ｙｅｓ）はステップＳ５６に進み、中間位置に到達していないと判定した場合（Ｎｏ）はステップＳ５２に戻る。具体的には、制御装置は、前側誘導線検出手段２Ａからの検出信号に基づいて、ターン中間マーカＭＣ１を検出したか否かを判定し、検出した場合（Ｙｅｓ）はステップＳ５６に進み、検出していない場合（Ｎｏ）はステップＳ５２に戻る。
【００７２】
ステップＳ５６に進んだ場合、制御装置は、前進（または後進）を継続しながら（駆動操舵輪を駆動しながら）、一定距離（または一定時間）経過する毎に、「操舵角度＜――操舵角度−総合加算角度」を求め、求めた操舵角度にて駆動操舵輪を操舵し、ステップＳ６０に進む。つまり、一定距離（または一定時間）経過する毎に、操舵角度を徐々に小さくなるように戻していき、図２０に示す仮想ターン経路ＶＴ１における、ターン中間マーカＭＣ１から誘導線Ｙ１までをトレースしていく。
【００７３】
ステップＳ６０にて制御装置は、ターン終了するタイミングであるか否かを判定し、ターン終了と判定した場合（Ｙｅｓ）はステップＳ７０に進み、ターン終了と判定しない場合（Ｎｏ）はステップＳ５６に戻る。ステップＳ６０では、具体的には制御装置は、ターン先の誘導線Ｙ１（誘導線Ｙ１の中心軸線Ｙ１ｃ）と後側検出手段中心２Ｂｃとの間の距離であって徐々に小さくなっていく距離が所定の距離Ｅ１（終了判定距離であり、例えば−１０［ｍｍ］〜＋１０［ｍｍ］程度）以内となった場合（図２１参照）に、ターンが終了したと判定する。例えば、符号が（−）の場合は後側検出手段中心２Ｂｃが誘導線Ｙ１の中心軸線Ｙ１ｃの左側にある場合を示し、符号が（＋）の場合は後側検出手段中心２Ｂｃが誘導線Ｙ１の中心軸線Ｙ１ｃの右側にある場合を示している。
【００７４】
なお、基本加算角度１〜４の各値は、操舵角度を加算する一定時間（または一定距離）、距離Ｄ３Ａの値等に基づいて決定されている。しかし、実際には操舵角度をはじめ、種々の誤差を有しているので、ターンが終了した際、図２１の［実際のターン終了時］に示すように、ターン後の誘導線Ｙ１に対して自律走行車１が傾斜した状態となる。
【００７５】
ステップＳ７０にて制御装置は、図２１に示す状態におけるズレ角度θｅに応じたズレ距離（距離Ｅ２）を検出してステップＳ７７に進む。具体的には制御装置は、前側検出手段中心２Ａｃとターン先の誘導線Ｙ１の中心軸線Ｙ１ｃとの距離Ｅ２を検出し、後側検出手段中心２Ｂｃとターン先の誘導線Ｙ１の中心軸線Ｙ１ｃとの距離Ｅ１を検出する。また、制御装置の記憶装置には、前側検出手段中心２Ａｃから後側検出手段中心２Ｂｃまでの距離ＬＡＢが予め記憶されている。この場合、ズレ角度θｅは、ステップＳ６０にてターンを終えたと判断した際におけるターンした先の誘導線（図２１の例では誘導線Ｙ１）と自律走行車１の前後方向とがなす角度であり、sinθｅ＝［（距離Ｅ１＋距離Ｅ２）／距離ＬＡＢ］の式に基づいて求めることができる。なお、距離Ｅ１は、無視してよいほど小さな値であるので、sinθｅ≒［距離Ｅ２／距離ＬＡＢ］と近似してもよく、距離Ｅ２（ズレ距離）≒距離ＬＡＢ＊sinθｅとしてもよい。
【００７６】
ステップＳ７７にて制御装置は、ズレ距離（距離Ｅ２）を発生させないための相殺角度を、ズレ距離（距離Ｅ２）から換算し、換算した相殺角度に基づいた補正加算角度（例えば、相殺角度の１／１０となる角度／（ステップＳ５２にて操舵角度を加算した回数）、にて求めた値）を求め、ステップＳ８０に進む。なお、ズレ距離（距離Ｅ２）から換算した補正加算角度は、図２１の例において、前側検出手段中心２Ａｃが誘導線Ｙ１の中心軸線Ｙ１ｃの右側にある場合と、左側にある場合とで、補正加算角度の正負の符号が異なる。そしてステップＳ８０にて制御装置は、求めた補正加算角度を、ターン種類（ｎ）に対応する補正加算角度（ｎ）に記憶してステップＳ１０に戻る。例えばターン種類が「４」の場合、求めた補正加算角度を補正加算角度４に記憶し、次回のターン種類「４」の場合に、この補正加算角度４の値が使用される。
【００７７】
以上、第３の実施の形態では、ターンがプログラムステアの場合において、刻々と変化する操舵角度に誤差が発生してターン終了後の自律走行車の姿勢にズレ角度θｅに応じたズレ距離（距離Ｅ２）が発生した際、当該ズレ距離（距離Ｅ２）を相殺するように（ズレ距離が発生しないように）補正加算角度を求め、求めた補正加算角度を次回のターンで使用する、という学習制御を行なう。これにより、ターンの誤差を自動的に補正することができる。また、ズレ距離（距離Ｅ２）を１回で相殺する相殺角度よりも小さな角度を補正加算角度とすることで、次のターンでズレ距離（距離Ｅ２）を１回で相殺するのでなく、複数回のターンで徐々にズレ距離を小さくしていき、誤学習を防止することができる。また、左ターンまたは右ターン、積荷ありまたは積荷なし、のターンの種類に対応する基本加算角度１〜４、補正加算角度１〜４を有することで、駆動操舵輪への負荷の状態等に応じて、より正確にターンの誤差を自動的に補正することができる。
【００７８】
本発明の自律走行車は、本実施の形態で説明した構成、構造、外観、形状、処理手順等に限定されず、本発明の要旨を変更しない範囲で種々の変更、追加、削除が可能である。
【００７９】
また、本発明の自律走行車は、製造工場内での製品または部品の搬送の利用に限定されず、種々の用途で利用される種々の自律走行車に適用することが可能である。
【００８０】
また、本実施の形態の説明に用いた数値は一例であり、この数値に限定されるものではない。
【符号の説明】
【００８１】
１        自律走行車
１Ｊ      中心軸線
２Ａ      前側誘導線検出手段
２Ａｃ    前側検出手段中心
２Ｂ      後側誘導線検出手段
２Ｂｃ    後側検出手段中心
２Ｃ      積荷検出手段
２Ｌ      左マーカ検出手段
２Ｒ      右マーカ検出手段
８Ｃ      キャスタ輪
８Ｄ      駆動操舵輪
８Ｄｃ    駆動操舵輪中心
８Ｌ      左従動輪
８Ｌｃ    左従動輪中心
８Ｒ      右従動輪
８Ｒｃ    右従動輪中心
８Ｐｃ    左右従動輪中央
１０      リーチ
５０      制御装置
５１      駆動モータ（駆動手段）
５２      操舵モータ（操舵手段）
６０      フォーク
６１      ポンプ用モータ
６２      油圧ポンプ
７０      マスト
ａ、ｂ    積荷
Ｋ１      走行経路
ＭＣ１    ターン中間マーカ
ＭＬ１〜ＭＬ４    左マーカ
ＭＳ１、ＭＳ２    停止マーカ
ＳＥ１    設備
Ｘ１、Ｘ２    誘導線
Ｙ１、Ｙ２    誘導線
Ｘ１Ｙ１、Ｘ１Ｙ２、Ｘ２Ｙ１、Ｘ２Ｙ２    交差点
Ｘ２ｃ、Ｙ１ｃ    中心軸線
θ１、θ２    操舵角度
θｅ      ズレ角度
Ｅ２      距離（ズレ距離）
【図１】
0006648629.tif 000002
【図２】
0006648629.tif 000003
【図３】
0006648629.tif 000004
【図４】
0006648629.tif 000005
【図５】
0006648629.tif 000006
【図６】
0006648629.tif 000007
【図７】
0006648629.tif 000008
【図８】
0006648629.tif 000009
【図９】
0006648629.tif 000010
【図１０】
0006648629.tif 000011
【図１１】
0006648629.tif 000012
【図１２】
0006648629.tif 000013
【図１３】
0006648629.tif 000014
【図１４】
0006648629.tif 000015
【図１５】
0006648629.tif 000016
【図１６】
0006648629.tif 000017
【図１７】
0006648629.tif 000018
【図１８】
0006648629.tif 000019
【図１９】
0006648629.tif 000020
【図２０】
0006648629.tif 000021
【図２１】
0006648629.tif 000022
【図２２】
0006648629.tif 000023