(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-28
(45)【発行日】2022-04-05
(54)【発明の名称】無人搬送車の制御装置及び制御方法
(51)【国際特許分類】
G05D 1/02 20200101AFI20220329BHJP
【FI】
G05D1/02 W
(21)【出願番号】P 2018149480
(22)【出願日】2018-08-08
【審査請求日】2020-11-09
(31)【優先権主張番号】P 2017156879
(32)【優先日】2017-08-15
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】開田 宏介
(72)【発明者】
【氏名】小林 基久雄
【審査官】藤崎 詔夫
(56)【参考文献】
【文献】特開昭55-039926(JP,A)
【文献】特開2014-069645(JP,A)
【文献】特開昭56-127211(JP,A)
【文献】特開2001-287697(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/02
(57)【特許請求の範囲】
【請求項1】
走行面に設置されたマークを検出するマーク検出センサと、
直線に延びる第1直進軌道から、同第1直進軌道に交差して直線に延びる第2直進軌道へと前記無人搬送車の走行軌道を移行する際の旋回軌道
と、前記マークの位置から前記旋回軌道が開始する前記第1直進軌道上の点である旋回開始点までの距離である旋回開始距離と、を演算する旋回軌道演算部と、
前記マークの位置から前記旋回開始距離の分、前記第1直進軌道に沿って直進した後、同旋回軌道演算部が演算した前記旋回軌道に沿って走行するように前記無人搬送車の走行制御を行う走行制御部と、
を備え、
前記旋回軌道演算部は、前
記旋回開始点からの曲線長に比例して曲率が増加するクロソイド曲線に沿った軌道となる第1クロソイド区間と、前記旋回軌道が終了する前記第2直進軌道上の点である旋回終了点からの曲線長に比例して曲率が増加するクロソイド曲線に沿った軌道となる第2クロソイド区間と、区間の開始点において前記第1クロソイド区間の終了点に滑らかに繋がり、区間の終了点において前記第2クロソイド区間に滑らかに繋がる円弧に沿った軌道となる円弧区間と、の3つの区間からなる軌道を前記旋回軌道として演算する
とともに、前記旋回開始距離を演算するものであって、
且つ、
前記旋回軌道及び前記旋回開始距離の演算を、前記第1クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数、前記第2クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数、前記円弧区間における円弧の曲率半径、
前記マークの位置から前記第1直進軌道及び前記第2直進軌道の交差点までの距離、及び前記第1直進軌道と前記第2直進軌道との交差角度に基づき行うものである
無人搬送車の制御装置。
【請求項2】
無人搬送車の走行軌道を指示する仮想誘導線の位置情報、及び路標点となる仮想マークの位置情報を含む、前記無人搬送車の走行環境の情報である周辺環境地図情報を記憶し、
直線に延びる第1直進軌道から、同第1直進軌道に交差して直線に延びる第2直進軌道へと前記無人搬送車の走行軌道を移行する際の旋回軌道
と、前記仮想マークの位置から前記旋回軌道が開始する前記第1直進軌道上の点である旋回開始点までの距離である旋回開始距離と、を演算する旋回軌道演算部と、
前記仮想マークの位置から前記旋回開始距離の分、前記第1直進軌道に沿って直進した後、前記旋回軌道演算部が演算した前記旋回軌道に沿って走行するように前記無人搬送車の走行制御を行う走行制御部と、
を備え、
前記旋回軌道演算部は、前記旋回開始点からの曲線長に比例して曲率が増加するクロソイド曲線に沿った軌道となる第1クロソイド区間と、前記旋回軌道が終了する前記第2直進軌道上の点である旋回終了点からの曲線長に比例して曲率が増加するクロソイド曲線に沿った軌道となる第2クロソイド区間と、区間の開始点において前記第1クロソイド区間の終了点に滑らかに繋がり、区間の終了点において前記第2クロソイド区間に滑らかに繋がる円弧に沿った軌道となる円弧区間と、の3つの区間からなる軌道を前記旋回軌道として演算するものであって、
且つ、同旋回軌道
及び前記旋回開始距離の演算を、前記第1クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数、前記第2クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数、前記円弧区間における円弧の曲率半径、
前記仮想マークの位置から前記第1直進軌道及び前記第2直進軌道の交差点までの距離、及び前記第1直進軌道と前記第2直進軌道との交差角度に基づき行うものである
無人搬送車の制御装置。
【請求項3】
前記旋回軌道演算部は、
前記第1クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数、前記第2クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数、及び前記円弧区間における円弧の曲率半径は、予め値が定まった定数とするとともに、
且つ、前記第1直進軌道と前記第2直進軌道との交差点の位置、及び前記第1直進軌道と前記第2直進軌道との交差角度は、前記旋回軌道の演算毎に値を取得して前記旋回軌道の演算を行う
請求項
1又は2に記載の無人搬送車の制御装置。
【請求項4】
前記旋回軌道演算部は、
前記第1クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数、前記第2クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数は、予め値が定まった定数とするとともに、
且つ、前記円弧区間における円弧の曲率半径、前記第1直進軌道と前記第2直進軌道との交差点の位置、及び前記第1直進軌道と前記第2直進軌道との交差角度は、前記旋回軌道の演算毎に値を取得して前記旋回軌道の演算を行う
請求項
1又は2に記載の無人搬送車の制御装置。
【請求項5】
前記旋回軌道演算部は、前記旋回開始点からの走行距離と走行軌道の曲率との関数として前記旋回軌道を演算し、
前記走行制御部は、前記旋回軌道演算部が演算した前記関数における走行距離と曲率との関係が保たれるように、前記旋回開始点からの走行距離に応じて舵角制御を行うことで、前記走行制御を行う
請求項
1~4のいずれか1項に記載の無人搬送車の制御装置。
【請求項6】
走行面に設置されたマークの検出結果に基づき無人搬送車の走行制御を行う方法であって、
直線に延びる第1直進軌道から、同第1直進軌道に交差して直線に延びる第2直進軌道へと走行軌道を移行する際の旋回軌道として、
前記旋回軌道が開始する前記第1直進軌道上の点である旋回開始点からの曲線長に比例して曲率が増加するクロソイド曲線に沿った軌道となる第1クロソイド区間と、
前記旋回軌道が終了する前記第2直進軌道上の点である旋回終了点からの曲線長に比例して曲率が増加するクロソイド曲線に沿った軌道となる第2クロソイド区間と、
区間の開始点において前記第1クロソイド区間の終了点に滑らかに繋がり、区間の終了点において前記第2クロソイド区間に滑らかに繋がる円弧に沿った軌道となる円弧区間と、
の3つの区間からなる軌道を、前記第1クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数、前記第2クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数、前記円弧区間における円弧の曲率半径、
前記マークの位置から前記第1直進軌道及び前記第2直進軌道の交差点までの距離、及び前記第1直進軌道と前記第2直進軌道との交差角度に基づき演算するとともに、
前記マークの位置から前記交差点までの距離と前記旋回軌道の演算結果とに基づいて、前記マークの位置から前記旋回開始点までの距離である旋回開始距離を演算し、
前記マークの位置から前記旋回開始距離の分、前記第1直進軌道に沿って直進した後、演算した前記旋回軌道に沿って走行するように前記走行制御を行う
無人搬送車の制御方法。
【請求項7】
予め記憶された周辺環境地図情報に基づき、無人搬送車の走行制御を行う方法であって、
前記周辺環境地図情報には、前記無人搬送車の走行軌道を指示する仮想誘導線の位置情報、及び路標点となる仮想マークの位置情報を含む、前記無人搬送車の走行環境の情報が記憶されており、
直線に延びる第1直進軌道から、同第1直進軌道に交差して直線に延びる第2直進軌道へと走行軌道を移行する際の旋回軌道として、
前記旋回軌道が開始する前記第1直進軌道上の点である旋回開始点からの曲線長に比例して曲率が増加するクロソイド曲線に沿った軌道となる第1クロソイド区間と、
前記旋回軌道が終了する前記第2直進軌道上の点である旋回終了点からの曲線長に比例して曲率が増加するクロソイド曲線に沿った軌道となる第2クロソイド区間と、
区間の開始点において前記第1クロソイド区間の終了点に滑らかに繋がり、区間の終了点において前記第2クロソイド区間に滑らかに繋がる円弧に沿った軌道となる円弧区間と、
の3つの区間からなる軌道を、前記第1クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数、前記第2クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数、前記円弧区間における円弧の曲率半径、
前記仮想マークの位置から前記第1直進軌道及び前記第2直進軌道の交差点までの距離、及び前記第1直進軌道と前記第2直進軌道との交差角度に基づき演算するとともに、
前記仮想マークの位置から前記交差点までの距離と、前記旋回軌道の演算結果とに基づき、前記仮想マークの位置から前記旋回開始点までの距離である旋回開始距離を演算し、
前記仮想マークの位置から前記旋回開始距離の分、前記第1直進軌道に沿って直進した後、演算した前記旋回軌道に沿って走行するように前記走行制御を行う
無人搬送車の制御方法。
【請求項8】
前記第1クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数、前記第2クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数、及び前記円弧区間における円弧の曲率半径は、予め値が定まった定数とするとともに、
前記第1直進軌道と前記第2直進軌道との交差点の位置、及び前記第1直進軌道と前記第2直進軌道との交差角度は、前記旋回軌道の演算毎に値を取得して、前記旋回軌道の演算を行う
請求項
6又は7に記載の無人搬送車の制御方法。
【請求項9】
前記第1クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数、及び前記第2クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数は、予め値が定まった定数とするとともに、
前記円弧区間における円弧の曲率半径、前記第1直進軌道と前記第2直進軌道との交差点の位置、及び前記第1直進軌道と前記第2直進軌道との交差角度は、前記旋回軌道の演算毎に値を取得して、前記旋回軌道の演算を行う
請求項
6又は7に記載の無人搬送車の制御方法。
【請求項10】
前記旋回軌道は、前記旋回開始点からの走行距離と走行軌道の曲率との関数として演算され、
前記走行制御は、前記関数における走行距離と曲率との関係が保たれるように、前記旋回開始点からの走行距離に応じて舵角を制御することで行われる
請求項
6~9のいずれか1項に記載の無人搬送車の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、無人搬送車の制御装置及び制御方法に関する。
【背景技術】
【0002】
無人搬送車として、走行面に設置された誘導線をセンサにより検知し、その検知した誘導線に沿って走行するものがある。誘導線は直線や曲線により構成されており、直線に延びる2つの誘導線が交差する箇所も存在する。そのような2つの誘導線の交差箇所において、一方の誘導線から他方の誘導線に無人搬送車が乗り換えることで、無人搬送車に右折や左折をさせることがある。ただし、無人搬送車の旋回半径には下限(最小旋回半径)が存在しており、上記のような交差箇所では、誘導線をそのままトレースして無人搬送車を走行させられない。そのため、乗り換え前の誘導線(一方)を離れてから、乗り換え後(他方)の誘導線に到達するまでの走行経路の補間のための軌道(以下、旋回軌道と記載する)の演算が必要となる。
【0003】
従来、無人搬送車の走行軌道を自動生成する方法として、特許文献1に記載の方法が知られている。同文献では、3つのクロソイド曲線を繋いだ3連クロソイド曲線として、指定された2点間の走行軌道を求めている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、同文献1に記載の方法により上記交差点での旋回軌道を求めるには、旋回軌道の開始点、終了点を予め定めておく必要があるが、同文献には、両点をどの様に求めるかについて何らの開示もなされていない。また、たとえ両点を定められたとしても、求めた旋回軌道が、無人搬送車が実際に走行可能な軌道となる保証もない。
【0006】
本発明は、こうした実情に鑑みてなされたものであって、その解決しようとする課題は、直進軌道間の走行軌道の移行に際して無人搬送車を的確な軌道で走行できる無人搬送車の制御装置、及び制御方法を提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決する無人搬送車の制御装置は、直線に延びる第1直進軌道から、同第1直進軌道に交差して直線に延びる第2直進軌道へと無人搬送車の走行軌道を移行する際の旋回軌道を演算する旋回軌道演算部と、前記旋回軌道演算部が演算した旋回軌道に沿って走行するように前記無人搬送車の走行制御を行う走行制御部と、を備える。そしてその旋回軌道演算部は、前記旋回軌道が開始する前記第1直進軌道上の点である旋回開始点からの曲線長に比例して曲率が増加するクロソイド曲線に沿った軌道となる第1クロソイド区間と、前記旋回軌道が終了する前記第2直進軌道上の点である旋回終了点からの曲線長に比例して曲率が増加するクロソイド曲線に沿った軌道となる第2クロソイド区間と、区間の開始点において前記第1クロソイド区間の終了点に滑らかに繋がり、区間の終了点において前記第2クロソイド区間に滑らかに繋がる円弧に沿った軌道となる円弧区間と、の3つの区間からなる軌道を前記旋回軌道として演算するものであって、且つ、同旋回軌道の演算を、前記第1クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数、前記第2クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数、前記円弧区間における円弧の曲率半径、前記第1直進軌道と前記第2直進軌道との交差点の位置、及び前記第1直進軌道と前記第2直進軌道との交差角度に基づき行うものとなっている。
【0008】
また、上記課題を解決する無人搬送車の制御方法は、直線に延びる第1直進軌道から、同第1直進軌道に交差して直線に延びる第2直進軌道へと走行軌道を移行する際の旋回軌道として、前記旋回軌道が開始する前記第1直進軌道上の点である旋回開始点からの曲線長に比例して曲率が増加するクロソイド曲線に沿った軌道となる第1クロソイド区間と、前記旋回軌道が終了する前記第2直進軌道上の点である旋回終了点からの曲線長に比例して曲率が増加するクロソイド曲線に沿った軌道となる第2クロソイド区間と、区間の開始点において前記第1クロソイド区間の終了点に滑らかに繋がり、区間の終了点において前記第2クロソイド区間に滑らかに繋がる円弧に沿った軌道となる円弧区間と、の3つの区間からなる軌道を、前記第1クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数、前記第2クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数、前記円弧区間における円弧の曲率半径、前記第1直進軌道と前記第2直進軌道との交差点の位置、及び前記第1直進軌道と前記第2直進軌道との交差角度に基づき演算するとともに、演算した前記旋回軌道に沿って走行するように前記無人搬送車の走行制御を行っている。
【0009】
上記無人搬送車の制御装置、及び制御方法では、直進軌道間の走行軌道の移行に際しての旋回軌道として、実現可能な軌道を演算して、走行軌道の円滑な移行が可能とされる。
なお、上記無人搬送車の制御装置における旋回軌道演算部は、前記第1クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数、前記第2クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数、及び前記円弧区間における円弧の曲率半径は、予め値が定まった定数とするとともに、且つ、前記第1直進軌道と前記第2直進軌道との交差点の位置、及び前記第1直進軌道と前記第2直進軌道との交差角度は、前記旋回軌道の演算毎に値を取得して前記旋回軌道の演算を行うように構成することができる。また、上記無人搬送車の制御方法は、前記第1クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数、前記第2クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数、及び前記円弧区間における円弧の曲率半径は、予め値が定まった定数とするとともに、前記第1直進軌道と前記第2直進軌道との交差点の位置、及び前記第1直進軌道と前記第2直進軌道との交差角度は、前記旋回軌道の演算毎に値を取得して、前記旋回軌道の演算を行うものとすることができる。こうした場合、無人搬送車の旋回能力に応じて旋回軌道の旋回半径の設定が行い易くなる。
【0010】
これに対して上記無人搬送車の制御装置における旋回軌道演算部は、前記第1クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数、前記第2クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数は、予め値が定まった定数とするとともに、且つ、前記円弧区間における円弧の曲率半径、前記第1直進軌道と前記第2直進軌道との交差点の位置、及び前記第1直進軌道と前記第2直進軌道との交差角度は、前記旋回軌道の演算毎に値を取得して前記旋回軌道の演算を行うものとにしても構成できる。また、上記無人搬送車の制御方法において、前記第1クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数、及び前記第2クロソイド区間のクロソイド曲線における前記曲線長に対する前記曲率の比例定数は、予め値が定まった定数とするとともに、前記円弧区間における円弧の曲率半径、前記第1直進軌道と前記第2直進軌道との交差点の位置、及び前記第1直進軌道と前記第2直進軌道との交差角度は、前記旋回軌道の演算毎に値を取得して、前記旋回軌道の演算を行うものとすることもできる。こうした場合、旋回軌道の周囲の状況に応じた旋回半径の設定が行い易くなる。
【0011】
さらに、上記無人搬送車の制御装置における前記旋回軌道演算部は、前記旋回開始点からの走行距離と走行軌道の曲率との関数として前記旋回軌道を演算し、前記走行制御部は、前記旋回軌道演算部が演算した関数における走行距離と曲率との関係が保たれるように、前記旋回開始点からの走行距離に応じて舵角制御を行うことで、前記走行制御を行うことが望ましい。また、上記無人搬送車の制御方法において、前記旋回軌道は、前記旋回開始点からの走行距離と走行軌道の曲率との関数として演算され、前記走行制御は、前記関数における走行距離と曲率との関係が保たれるように、前記旋回開始点からの走行距離に応じて舵角を制御することで行われるものとすることが望ましい。こうした場合、演算した旋回軌道に沿って無人搬送車を走行させるための制御を簡易に行える。
【発明の効果】
【0012】
本発明によれば、直進軌道間の走行軌道の移行に際して無人搬送車を的確な軌道で走行できるようになる。
【図面の簡単な説明】
【0013】
【
図1】第1実施形態の制御装置及び制御方法が適用されるリーチタイプの無人フォークリフトの側面図。
【
図2】同フォークリフトの平面構造を模式的に示す図。
【
図3】同フォークリフトの制御装置の構成を模式的に示すブロック図。
【
図4】直進軌道の交差点での旋回軌道の設定態様の一例を示す図。
【
図6】旋回軌道演算部が演算した旋回軌道における走行距離と曲率との関係を示すグラフ。
【
図7】x’-y’座標系において第2クロソイド曲線を表した図。
【
図9】(a)は旋回軌道の近くに障害物が存在しない場合の、(b)は同障害物が存在する場合の、それぞれにおける好ましい旋回軌道の設定態様を示す図。
【
図10】第3実施形態の制御装置の構成を模式的に示すブロック図。
【発明を実施するための形態】
【0014】
(第1実施形態)
以下、無人搬送車の制御装置及び制御方法の第1実施形態を、
図1~
図8を参照して詳細に説明する。本実施形態の制御装置及び制御方法は、リーチタイプの無人フォークリフト(以下の説明では、単に「フォークリフト」と記載する)を制御対象の無人搬送車としている。
【0015】
図1に示すように、フォークリフト10は、車体本体11と、同車体本体11の前面から前方に突出した左右一対のレグ12と、を備えている。左右のレグ12の間には、図示しないリーチシリンダにより前後方向に移動可能な左右一対のマスト13が配設されている。左右のマスト13の間には、リフトシリンダ14により、マスト13に沿って上下方向に移動可能にリフトブラケット15が配設されている。そして、リフトブラケット15には、左右一対のフォーク16が取着されている。
【0016】
図2に示すように、左右のレグ12の先端部下面には、従動輪17がそれぞれ配設されている。また、車体本体11の下面左側には、操舵駆動輪18が配設されている。車体本体11の右側下面には、キャスターホイール19が配設されている。
【0017】
車体本体11の内部には、走行用モータ20が設けられており、操舵駆動輪18は同走行用モータ20により回転駆動される。また、車体本体11の内部には、操舵用モータ21が設けられており、操舵駆動輪18は同操舵用モータ21により水平方向に回動される。すなわち、操舵用モータ21は、操舵駆動輪18の操舵角を変化させる。なお、車体本体11の内部には、操舵駆動輪18の操舵角を検出する操舵角センサ22が設けられている。
【0018】
車体本体11の前面下部中央位置には、支持アーム23が前方に延出されている。フォークリフト10には、支持アーム23の先端部及び車体本体11の下面に誘導線検出センサ24がそれぞれ設けられている。また、車体本体11の下面には左右一対のマーク検出センサ25が設けられている。
【0019】
誘導線検出センサ24は、フォークリフト10の走行面に設置された誘導線を検知するセンサである。誘導線は、走行面におけるフォークリフト10の走行軌道を示す線であり、例えば走行面に貼られた一定幅の磁気テープや、走行面に一定間隔で直線上に並んで埋設された電気コイルなどにより形成されている。フォークリフト10の前後に設けられた2つの誘導線検出センサ24は、誘導線が発生する磁場、電場等により同誘導線の位置をそれぞれ検知する。そして、前後の誘導線検出センサ24の検出情報から、誘導線からのずれや車両前後の傾きが認識できるようになっている。なお、走行面には、直線に延びる複数の誘導線が設置されている。
【0020】
マーク検出センサ25は、走行面の各所に設置されたマークを検出するセンサである。マークは、一時停止や走行する誘導線の乗り換え等の、予め指令された動作を実行する位置をフォークリフト10に通知するもので、例えば走行面に貼られた矩形の磁気テープにより形成されている。マーク検出センサ25は、マークが発生する磁場等により、マークの位置を検出する。なお、マークは誘導線の左右のいずれかに設置されており、左右のいずれに設置されていても左右一対のマーク検出センサ25のいずれかがマークを検出できるようになっている。
【0021】
車体本体11の内部には、制御装置としての電子制御ユニット26が設けられている。
図3に示すように、電子制御ユニット26には、上述の操舵角センサ22、誘導線検出センサ24、及びマーク検出センサ25の検出信号がそれぞれ入力されている。そして、電子制御ユニット26は、フォークリフト10の走行開始前に外部から入力された指令と、それらの検出信号とに基づき、指令に従ってフォークリフト10が走行するように、走行用モータ20及び操舵用モータ21を制御する。なお、フォークリフト10への指令は、走行開始後のマークの検出数と実行する動作とにより構成されており、例えば走行開始後に検出した3個目のマークの位置では、所定時間の停止を指令する、といったものとなっている。
【0022】
そうした指令として、
図4に示すような、2本の誘導線の交差点Iにおいて、フォークリフト10の走行軌道を走行中の誘導線に沿った直進軌道から、その誘導線に交差するもう一つの誘導線に沿った直進軌道への走行軌道の乗換えを指示するものがある。このときの指令には、その指令に対応したマークMが検出されるまでの走行開始後のマークの検出数、同マークMの位置から交差点Iまでの距離L0、及び切り替え前後の直進軌道の交差角度θの情報が含まれている。以下の説明では、走行軌道の乗換え前の直進軌道を第1直進軌道S1と記載し、乗換え後の直進軌道を第2直進軌道S2と記載する。
【0023】
このときのフォークリフト10は、同図に破線で示すような、円滑に走行可能な旋回軌道S3を通って第1直進軌道S1から第2直進軌道S2へと走行軌道を乗換える。電子制御ユニット26は、上記指令に際して取得した各情報と、誘導線検出センサ24及びマーク検出センサ25の検出信号とに基づき、こうした旋回軌道S3を演算する旋回軌道演算部27を備えている。また、電子制御ユニット26は、旋回軌道S3の演算結果と操舵角センサ22の検出信号とに基づき、旋回軌道S3に沿ってフォークリフト10が走行するように走行用モータ20及び操舵用モータ21を制御する走行制御部28とを備えている。
【0024】
続いて、
図5を参照して、旋回軌道演算部27が行う旋回軌道S3の演算について説明する。旋回軌道演算部27は、第1クロソイド区間、第2クロソイド区間、及び円弧区間の3つの区間からなる軌道を旋回軌道S3として演算する。第1クロソイド区間の軌道は、第1直進軌道S1上の点である旋回開始点P0からの軌跡長に対して一定の比率で曲率が変化する曲線(クロソイド曲線)に沿った軌道となる。円弧区間の軌道は、第1クロソイド区間に続く、円弧に沿った軌道となる。第2クロソイド区間の軌道は、円弧区間に続く、第2直進軌道S2上の点である旋回終了点P3からの軌跡長に対して一定の比率で曲率が変化するクロソイド曲線に沿った軌道となる。以下の説明では、第1クロソイド区間のクロソイド曲線を第1クロソイド曲線と記載し、第2クロソイド区間のクロソイド曲線を第2クロソイド曲線と記載する。なお、クロソイド曲線は、曲線長に比例して曲率が増加する曲線である。よって、走行距離に比例するように舵角を拡大しながら走行を行ったときの走行軌跡は、クロソイド曲線となる。
【0025】
本実施形態では、第1、第2クロソイド区間におけるクロソイド曲線の曲線長に対する曲率の比例定数、及び円弧区間の円弧軌道における旋回半径Rを予め定めた上で旋回軌道S3の演算を行っている。これら比例定数、及び旋回半径Rと、交差角度θとが決まれば、旋回軌道S3における旋回開始点P0からの走行距離と走行軌道の曲率との関係が定まるようになる。
【0026】
図6に、旋回軌道S3における旋回開始点P0からの走行距離と、旋回軌道S3の曲率との関係を示す。同図に示すように、第1クロソイド区間におけるフォークリフト10の走行距離、及び第2クロソイド区間におけるフォークリフト10の走行距離は、既知となっている。これに対して、円弧区間におけるフォークリフト10の走行距離は、同円弧区間における円弧軌道の中心角度αと旋回半径Rとの積(=α×R)となる。そして、中心角度αは、下式の関係を示す値として求めることができる。
【0027】
【数1】
なお、τ1、τ2はそれぞれ、第1クロソイド曲線、第2クロソイド曲線の曲線形状を決めるパラメータとなっている。幾何学的には、τ1は、第1クロソイド区間の終了点P1における第1クロソイド曲線の接線と第1直進軌道S1との交差角度を表している。τ1の値は、旋回半径Rと第1クロソイド曲線の曲線長に対する曲率の比例定数とにより一義に定まる値となっている。また、τ2は、第2クロソイド区間の開始点P2における第2クロソイド曲線の接線と第2直進軌道S2との交差角度を表している。τ2の値は、旋回半径Rと第2クロソイド曲線の曲線長に対する曲率の比例定数とにより一義に定まる値となっている。
【0028】
さて、旋回軌道S3に沿ってフォークリフト10を走行させるには、旋回開始点P0からの走行距離に対して上記関係を満たして曲率が変化するように、走行用モータ20及び操舵用モータ21を制御すればよい。ただし、この時点では、旋回開始点P0の位置は未知である。
【0029】
旋回開始点P0の位置を求めるため、旋回開始点P0を原点(0,0)とするとともに、第1直進軌道S1の進行方向をx軸の正方向、x軸に直交し、且つ第1直進軌道S1から見て旋回軌道S3の旋回内側に向う方向をy軸の正方向とする直交座標系(以下、x-y座標系と記載する)での座標として、各区間の開始点、終了点の座標を定義する。以下では、このときの第1クロソイド区間の終了点P1の座標を(x1,y1)、第2クロソイド区間の開始点P2の座標を(x2,y2)、旋回終了点P3の座標を(x3,y3)と表す。また、円弧区間における円弧軌道の旋回中心Oの座標を(xr,yr)と表す。
【0030】
このとき、第1クロソイド区間の終了点P1の座標値x1,y1は、クロソイド曲線の近似式から、下式の関係を示す値として求めることができる。
【0031】
【数2】
一方、
図7に示すように、下記のx’-y’座標系における第2クロソイド区間の開始点P2の座標(x2’,y2’)を定義する。x’-y’座標系は、旋回終了点P3を原点(0,0)とするとともに、第2直進軌道S2の進行方向の逆方向をx’軸の正方向、x’軸に直交し、且つ第2直進軌道S2から見て旋回軌道S3の旋回内側に向う方向をy’軸の正方向とする直交座標系である。x’-y’座標系での第2クロソイド区間の開始点P2の座標値x2’,y2’は、x-y座標系での第1クロソイド区間の終了点P1の座標値x1,y1と同様に求めることができる。すなわち、x’-y’座標系における開始点P2の座標値x2’,y2’は、下式の関係を満たす値となる。
【0032】
【数3】
ここで、第1クロソイド区間の終了点P1における第1クロソイド曲線の接線が、下式の関係を満たす直線であるとする。
【0033】
【数4】
このとき、x-y座標系における旋回中心Oの座標値xr,yrは、幾何学的関係から、下式の関係を満たす値として求めることができる。
【0034】
【数5】
x-y座標系での第2クロソイド区間の開始点P2の座標値x2,y2は、第1クロソイド区間の終了点P1の座標値x1、y1、旋回中心Oの座標値xr,yr、及び回転行列R(α)に対して、下式の関係を満たす値となる。
【0035】
【数6】
x-y座標系における旋回終了点P3の座標値x3,y3は、x’-y’座標系における第2クロソイド区間の開始点P2の座標値x2’,y2’、x-y座標系における第2クロソイド区間の開始点P2の座標値x2,y2、回転行列R(π-θ)に対して下式の関係を満たす値となる。
【0036】
【数7】
図8に示すように、旋回開始点P0と旋回終了点P3の距離Dは、下式の関係を満たす値として求められる。
【0037】
【数8】
一方、同図に示す角度θ1、θ2はそれぞれ、下式の関係を満たす値として求められる。
【0038】
【数9】
これらより、交差点Iから旋回開始点P0までの距離(旋回開始距離L)は、下式の関係を満たす値として求められる。
【0039】
【数10】
上述の通り、マークMの位置から交差点Iまでの距離L0は既知である。よって、旋回開始距離Lが求まれば、マークMの位置から第1直進軌道S1に沿って距離(L0-L)だけ走行した位置として旋回開始点P0の位置を求めることができる。
【0040】
なお、実際には、旋回軌道演算部27は、演算の簡単のため、第1クロソイド曲線及び第2クロソイド曲線の曲線形状を決めるパラメータとして、軌跡長に対する曲率の比例定数N1、N2ではなく、τ1、τ2を用いて旋回軌道S3の演算を行っている。τ1、τ2は、上記比例定数N1、N2と旋回半径Rとにより一義に定まる値である。すなわち、旋回軌道演算部27は、前もって演算の一部を済ませているだけで、実質的には、上記比例定数N1、N2に基づいて旋回軌道S3の演算を行うものとなっている。ちなみに、旋回半径R、及びτ1、τ2の値は、予め値が定まった定数として、電子制御ユニット26に記憶されている。
【0041】
そして、旋回軌道演算部27は、定数として記憶された旋回半径R、τ1、τ2の値と、走行開始前の指令を通じて取得したマークMの位置から交差点Iまでの距離L0、及び交差角度θの値とに基づき、旋回軌道S3における旋回開始点P0からの走行距離、及び走行軌道の曲率の関数を演算する。さらに、旋回軌道演算部27は、旋回開始距離Lを演算する。そして、旋回軌道演算部27は、それらの演算結果を走行制御部28に出力する。
【0042】
走行制御部28は、マークMの位置から第1直進軌道S1に沿って距離(L0-L)を走行した位置(旋回開始点P0)より、旋回軌道演算部27が演算した関数の走行距離と曲率との関係が保たれるように、旋回開始点P0からの走行距離に応じて舵角制御を行う。これにより、第1直進軌道S1から旋回軌道S3を通って第2直進軌道S2へと走行軌道を移行するように、フォークリフト10を走行させている。
【0043】
なお、本実施形態では、円弧区間の旋回半径R、第1クロソイド区間及び第2クロソイド区間における走行距離に対する曲率の変化率を定めた上で旋回軌道S3の演算を行っている。走行距離に対する曲率の変化率が定まれば、走行距離に対する舵角の変更率も自ずと定まる。一方、フォークリフト10の最小旋回半径や舵角の変更速度には、操舵用モータ21の性能により定まる限界がある。その点、旋回半径Rや曲率の変化率を予め定めた上で、旋回軌道S3を演算すれば、限界を超える無理な操舵を要求しない、実際に走行可能な軌道として旋回軌道S3を演算できる。
【0044】
また、本実施形態において旋回軌道演算部27は、走行距離と曲率との関数として旋回軌道S3を演算して、走行制御部28に指令している。これに対して、走行制御部28は、走行距離と曲率との関係を保つように舵角の操作量を決めるだけで旋回軌道S3に沿った走行を実現できる。これに対して、走行面の二次元座標を用いて旋回軌道S3を指令した場合には、舵角の操作量の決定に複雑な演算が必要となり、走行制御部28の走行制御のための演算負荷が大きくなってしまう。
【0045】
以上説明した本実施形態の無人搬送車の制御装置及び制御方法によれば、以下の効果を奏することができる。
(1)第1直進軌道S1から第2直進軌道S2に走行軌道を移行する際の旋回軌道S3として、実際に走行可能な軌道を確実に設定できる。
【0046】
(2)走行距離及び曲率の関数として旋回軌道S3を演算しているため、旋回軌道S3に沿ってフォークリフト10を走行させるための車両制御を簡単にできる。
(第2実施形態)
次に、無人搬送車の制御装置及び制御方法の第2実施形態を、
図9を併せ参照して説明する。なお、本実施形態及び後述の第3実施形態にあって、上述の実施形態と共通する構成については、同一の符号を付してその詳細な説明は省略する。
【0047】
無人搬送車が走行する軌道の周囲には様々な障害物が存在することがある。そして、そうした障害物により、上記のような旋回軌道が制限されることがある。
図9(a)の場合、フォークリフト10が走行軌道を移行しようとする第1直進軌道S1及び第2直進軌道S2の交差点Iから障害物Eが離れており、比較的大きい旋回半径の旋回軌道S3を通っても、障害物Eが走行の邪魔になることはない。これに対して、
図9(b)の場合には、交差点Iに近い場所に障害物Eが存在しており、障害物Eを避けて走行可能な旋回軌道S3は、旋回半径の小さいものとなる。一方、フォークリフト10の最小旋回半径以上の範囲においても、ある程度よりも旋回半径を小さくすると、走行速度を落とさなければならなくなる、といった弊害が生じることがある。このように、周囲の状況に応じて旋回軌道S3の旋回半径の柔軟な調整が求められることがある。
【0048】
第1実施形態では、旋回軌道S3の旋回半径Rは定数に設定されている。これに対して本実施形態では、走行開始前の指令において、マークMの位置から交差点Iまでの距離L0、交差角度θと共に、旋回半径Rが指示され、旋回軌道演算部27は、その指示された旋回半径Rに基づき旋回軌道S3を演算するよう構成されている。
【0049】
こうした場合、指示された旋回半径Rの値によりτ1、τ2の値が変化するため、第1実施形態の場合のようにτ1、τ2の値を前もって演算しておくことはできない。そのため、本実施形態では、第1クロソイド曲線及び第2クロソイド曲線の曲線形状を決めるパラメータとして曲線長に対する曲率の比例定数を用いている。これらの比例定数は、予め値が定まった定数として電子制御ユニット26に記憶されている。そして、旋回軌道演算部27は、各クロソイド曲線の比例定数と指示された旋回半径Rの値とによりτ1、τ2の値を演算した上で、第1実施形態と同様の旋回軌道S3の演算を行うようにしている。こうした本実施形態では、走行の邪魔となる障害物の有無といった、周囲の状況に応じた適切な軌道として旋回軌道S3を演算することができる。
【0050】
(第3実施形態)
続いて、無人搬送車の制御装置及び制御方法の第3実施形態を、
図10を併せ参照して説明する。第1及び第2実施形態の制御装置及び制御方法は、走行環境に設置された誘導線及びマークを用いて誘導走行を行う、いわゆるガイド方式により運用された無人搬送車に適用されていた。無人搬送車の運用形態としては、ガイド方式の他、誘導線やマーク等が設置されていない走行環境において車両を自立走行させるガイドレス方式が存在する。本実施形態では、第1及び第2実施形態における走行軌道の乗り換えに際しての旋回軌道の演算ロジック及び走行制御を、ガイドレス方式により無人走行するフォークリフトに適用する場合について説明する。
【0051】
図10に、ガイドレス方式により無人走行するフォークリフトに搭載された、本実施形態の制御装置としての電子制御ユニット26’の構成を示す。ガイドレス方式の無人搬送車には、誘導線検出センサ24やマーク検出センサ25の代わりに、フォークリフトの周囲環境(障害物等)を走査する測域センサ30が設けられている。本実施形態では、測域センサ30として、レーザを走査して障害物等の距離と方向とを検出するレーザ走査式の測域センサが採用されている。
【0052】
本実施形態における電子制御ユニット26’には、フォークリフトの走行環境の情報である周辺環境地図情報32が記憶されている。周辺環境地図情報32には、フォークリフトの走行環境における障害物等の位置情報と、誘導線に相当するフォークリフトの走行軌道(以下、仮想誘導線と記載する)の位置情報とが含まれている。
【0053】
また、電子制御ユニット26’には、自車位置同定部31が設けられている。自車位置同定部31は、測域センサ30の検出結果と周辺環境地図情報32とを照合して、現在のフォークリフトの位置を同定する処理を行う。そして、本実施形態の電子制御ユニット26’に設けられた走行制御部28’は、自車位置同定部31により同定された現在のフォークリフトの位置と周辺環境地図情報32に登録された走行中の仮想誘導線の位置情報とを照合して、仮想誘導線に沿ってフォークリフトが走行するように走行用モータ20及び操舵用モータ21を制御する。
【0054】
さらに本実施形態における電子制御ユニット26’にも、走行軌道(仮想誘導線)の乗り換えに際してフォークリフトが走行する旋回軌道Sを演算する旋回軌道演算部27’が設けられている。第1及び第2実施形態における旋回軌道演算部27は、乗り換え指令に対応したマークMの検出に応じて旋回軌道Sを演算していた。これに対して、フォークリフトの走行環境にマークMが存在しない本実施形態の場合には、下記の態様で旋回軌道演算部27’による旋回軌道Sの演算を行うようにしている。
【0055】
すなわち、本実施形態では、周辺環境地図情報32に、マークMに相当する路標点(以下、仮想マークと記載する)の位置情報を含めるようにしている。そして、こうした仮想マークに関連付けたかたちでフォークリフトの走行指令を行うようにしている。旋回軌道演算部27’は、自車位置同定部31により同定されたフォークリフトの位置と、周辺環境地図情報32に登録された仮想マークの位置情報との照合により、乗り換え指令に対応した仮想マークへのフォークリフトの到達を確認している。そして、旋回軌道演算部27’は、その確認に応じて旋回軌道Sの演算を行うようにしている。ちなみに、旋回軌道S3の演算自体は、第1及び第2実施形態の場合と同様に行われる。
【0056】
なお、上記実施形態は、以下のように変更して実施することもできる。
・第3実施形態における自車位置同定部31を、フォークリフトの位置の同定に加えて、測域センサ30による周囲環境の走査結果に応じた周辺環境地図情報32の更新を行う、いわゆるSLAM(Simultaneous Localization and Mapping)を行うものとして構成してもよい。
【0057】
・第3実施形態での自車位置の同定(周辺環境地図情報32の更新)を、レーザ走査式の測域センサ30の代わりに、音波を用いて周囲環境を走査するマイクロフォンアレイ等の音波式の測域センサや、ステレオカメラ等の撮像データに基づき周囲環境を認識する画像処理システム等を用いて行うようにしてもよい。
【0058】
・上記実施形態では、交差点Iの位置(マークMの位置からの距離L0)や交差角度θといった旋回軌道S3の演算に必要な値を、走行開始前の指令を通じて取得していたが、交差点Iの手前に設置された送信器からそれらの値を取得するといったように、他のタイミング、手段によりそれらの値を取得するようにしてもよい。
【0059】
・上記実施形態では、走行距離と曲率の関数として旋回軌道S3を演算していたが、走行面の二次元座標における軌道の座標値などにより、同旋回軌道S3を演算するようにしてもよい。
【0060】
・上記実施形態におけるリーチタイプの無人フォークリフトを対象とした制御は、それ以外の無人搬送車にも同様に適用することができる。
【符号の説明】
【0061】
10…フォークリフト(無人搬送車)、18…操舵駆動輪、20…走行用モータ、21…操舵用モータ、22…操舵角センサ、24…誘導線検出センサ、25…マーク検出センサ、26,26’…電子制御ユニット、27,27’…旋回軌道演算部、28,28’…走行制御部、30…測域センサ、31…自車位置同定部、32…周辺環境地図情報、S1…第1直進軌道、S2…第2直進軌道、S3…旋回軌道、I…交差点、θ…交差角度。