以下、本発明の一実施形態について、図面を参照しながら説明する。
図1は、本実施形態に係る無人搬送車1及びその駆動操舵装置3の構成を示す斜視図である。
無人搬送車1は、台車2と、この台車2に取り付けられ、床面Fに予め配設された線状の誘導ラインLに沿って台車2を走行させる駆動操舵装置3と、を組み合わせて構成される。
台車2は、長方形の板状である荷台部21と、この荷台部21の床面F側の四隅に設けられたキャスタ22と、荷台部21のうち短辺縁部24RRに立設された枠状のハンドル23と、を備える。なお以下では、説明の便宜上、荷台部21のうちハンドル23が設けられている短辺縁部24RR側を台車2の後方側といい、ハンドル23が設けられていない短辺縁部24FF側を台車2の前方側という。なおこれら台車2の前方及び後方の定義は説明の便宜上のものであり、台車2の進行方向をこの向きに限定するものではない。また以下では、荷台部21に搬送対象物(図示せず)を搭載し、この無人搬送車1単独で自走させる場合について説明するが、本発明はこれに限らない。無人搬送車1は、例えば搬送対象物が搭載されたパレット(図示せず)と台車2とを連結することにより、パレットの牽引車として用いることもできる。
駆動操舵装置3は、回転駆動及び操舵の両方が可能な駆動操舵輪である前輪41Fを備える前輪駆動ユニット4Fと、回転駆動及び操舵の両方が可能な駆動操舵輪である後輪41Rを備える後輪駆動ユニット4Rと、回転駆動及び操舵の両方が可能な駆動操舵輪である副駆動輪71を備える副駆動ユニット7と、荷台部21の床面Fに対する位置及び姿勢を検出するための前側センサ5F及び後側センサ5Rと、各駆動ユニット4F,4R,7に電力を供給するバッテリBと、各センサ5F,5Rの検出信号を用いて各駆動ユニット4F,4R,7を制御する制御装置6と、を備える。
前輪駆動ユニット4Fは、荷台部21の床面F側のうち前方側、より具体的には短辺縁部24FF側でありかつ長辺縁部25L寄りの位置に取り付けられる。前輪駆動ユニット4Fは、床面Fに接する前輪41Fと、制御装置6から送信される後述の前輪速度指令信号及び前輪操舵角指令信号に応じて前輪41Fを駆動操舵する駆動部42Fと、を備える。駆動部42Fは、前輪速度指令信号及び前輪操舵角指令信号が入力されると、これら指令が実現されるように、前輪41Fを回転駆動したり、前輪41Fを荷台部21に対し垂直な前輪操舵軸43Fを中心として操舵駆動したりする。なお以下では、前輪41Fの回転速度を前輪速度ともいい、前輪41Fの前輪操舵軸43F周りでの角度を前輪操舵角ともいう。
また前輪駆動ユニット4Fには、前輪速度を検出し、検出値に応じた前輪速度検出信号を制御装置6に送信する前輪速度センサ46F(後述の図2参照)や、前輪操舵角を検出し、検出値に応じた前輪操舵角検出信号を制御装置6に送信する前輪操舵角センサ47F(後述の図2参照)とが設けられている。
後輪駆動ユニット4Rは、荷台部21の床面F側のうち前輪駆動ユニット4Fよりも後方側、より具体的には短辺縁部24RR側でありかつ長辺縁部25R寄りの位置に取り付けられる。後輪駆動ユニット4Rは、床面Fに接する後輪41Rと、制御装置6から送信される後述の後輪速度指令信号及び後輪操舵角指令信号に応じて後輪41Rを駆動操舵する駆動部42Rと、を備える。駆動部42Rは、後輪速度指令信号及び後輪操舵角指令信号が入力されると、これら指令が実現されるように、後輪41Rを回転駆動したり、後輪41Rを荷台部21に対し垂直な後輪操舵軸43Rを中心として操舵駆動したりする。なお以下では、後輪41Rの回転速度を後輪速度ともいい、後輪41Rの後輪操舵軸43R周りでの角度を後輪操舵角ともいう。
また後輪駆動ユニット4Rには、後輪速度を検出し、検出値に応じた後輪速度検出信号を制御装置6に送信する後輪速度センサ46R(後述の図2参照)や、後輪操舵角を検出し、検出値に応じた後輪操舵角検出信号を制御装置6に送信する後輪操舵角センサ47R(後述の図2参照)とが設けられている。
副駆動ユニット7は、荷台部21の床面F側のうち前輪駆動ユニット4Fと後輪駆動ユニット4Rとの間の位置に取り付けられる。副駆動ユニット7は、床面Fに接する副駆動輪71と、制御装置6から送信される後述の副駆動輪速度指令信号及び副駆動輪操舵角指令信号に応じて副駆動輪71を駆動操舵する駆動部72と、を備える。駆動部72は、副駆動輪速度指令信号及び副駆動輪操舵角指令信号が入力されると、これら指令が実現されるように、副駆動輪71を回転駆動したり、副駆動輪71を荷台部21に対し垂直な副駆動輪操舵軸73を中心として操舵駆動したりする。なお以下では、副駆動輪71の回転速度を副駆動輪速度ともいい、副駆動輪71の副駆動輪操舵軸73周りでの角度を副駆動輪操舵角ともいう。
前側センサ5Fは、荷台部21の床面F側のうち前方側に取り付けられる。より具体的には、前側センサ5Fは、平面視では後述の主軸OAGV上であって中心点PAGVよりも前方側に設けられる(後述の図2参照)。前側センサ5Fには、例えば、床面Fを撮影するカメラが用いられる。前側センサ5Fは、床面Fのうち誘導ラインLを含む画像を撮影し、画像信号を制御装置6へ送信する。
後側センサ5Rは、荷台部21の床面F側のうち、前側センサ5Fよりも後方側に取り付けられる。より具体的には、後側センサ5Rは、平面視では後述の主軸OAGV上であって中心点PAGVよりも後方側に設けられる(後述の図2参照)。後側センサ5Rには、例えば、床面Fを撮影するカメラが用いられる。後側センサ5Rは、床面Fのうち誘導ラインLを含む画像を撮影し、画像信号を制御装置6へ送信する。荷台部21の誘導ラインLに対する位置及び姿勢は、これら前側センサ5F及び後側センサ5Rによって得られた画像信号に基づく後述のずれ検出器61における演算によって特定される。
バッテリBは、例えば、荷台部21のうちハンドル23側に取り付けられる。また制御装置6は、例えば、台車2のうちハンドル23に取り付けられる。
図2は、制御装置6の制御回路の構成を示す図である。制御装置6は、台車2の位置及び姿勢のずれを検出するずれ検出器61と、前輪駆動ユニット4F及び後輪駆動ユニット4Rを制御する主制御部62と、副駆動ユニット7を制御する副制御部68と、を備える。
次に、図3の台車2の平面図を参照しながら、台車2の位置及び姿勢を把握するために制御装置6において規定される各種パラメータ及び座標系の定義について説明する。なお図3には、説明を容易にするため副駆動ユニット7の図示を省略する。
上述のように、前輪41Fの前輪操舵軸43F及び後輪41Rの後輪操舵軸43Rは、台車2の荷台部21に対し平面視で対角状に設けられる。以下では、前輪操舵軸43F及び後輪操舵軸43Rを通過する軸を主取付軸OPWSという。またこの主取付軸OPWS上であって、前輪操舵軸43Fと後輪操舵軸43Rとの間の中間点を台車2の中心点PAGVという。また以下では、前輪操舵軸43Fと後輪操舵軸43Rとの間の主取付軸OPWSに沿った距離を前後輪距離HAGVという。
また以下では、荷台部21の長辺縁部25L,25Rと平行でありかつ中心点PAGVを通過する軸を台車2の主軸OAGVという。また以下では、主取付軸OPWSと主軸OAGVとの成す角を取付角φAGVという。
前輪41Fは、荷台部21に対し平行な前輪回転軸45Fを中心軸として回転自在に設けられている。以下では、前輪41Fの前輪回転軸45F周りでの回転速度を前輪速度vFという。この前輪速度vFは、前輪駆動ユニット4Fに設けられている前輪速度センサ46F(図2参照)によって検出される。
また前輪41Fは、荷台部21に対し垂直な前輪操舵軸43Fを中心として回転自在に設けられている。以下では、前輪41Fの進行方向と主軸OAGVとの成す角を前輪操舵角ΔθFという。この前輪操舵角ΔθFは、前輪駆動ユニット4Fに設けられている前輪操舵角センサ47F(図2参照)によって検出される。また以下では、前輪41Fの進行方向と主取付軸OPWSとの成す角、すなわち前輪操舵角ΔθFから取付角φAGVを減じて得られる角も前輪操舵角ρFという。
後輪41Rは、荷台部21に対し平行な後輪回転軸45Rを中心軸として回転自在に設けられている。以下では、後輪41Rの後輪回転軸45R周りでの回転速度を後輪速度vRという。この後輪速度vRは、後輪駆動ユニット4Rに設けられている後輪速度センサ46R(図2参照)によって検出される。
また後輪41Rは、荷台部21に対し垂直な後輪操舵軸43Rを中心として回転自在に設けられている。以下では、後輪41Rの進行方向と主軸OAGVとの成す角を後輪操舵角ΔθRという。この後輪操舵角ΔθRは、後輪駆動ユニット4Rに設けられている後輪操舵角センサ47R(後述の図2参照)によって検出される。また以下では、後輪41Rの進行方向と主取付軸OPWSとの成す角、すなわち後輪操舵角ΔθRから取付角φAGVを減じて得られる角も後輪操舵角ρRという。
また以下では、台車2の中心点PAGVが進行する方向を台車2の進行方向という。またこの進行方向と平行でありかつ中心点PAGVを通過する軸を進行軸OΔという。また以下では、進行軸OΔと主取付軸OPWSとの成す角を進行角λという。
制御装置6では、台車2の中心点PAGVの位置を、進行軸座標系(図3中、実線矢印参照)と主取付軸座標系(図3中、破線矢印参照)との2つのデカルト座標系で把握する。
主取付軸座標系とは、そのX軸と主取付軸OPWSとが平行になり、かつ主取付軸OPWSの前輪41F側をX軸の正側とした座標系である。以下では、主取付軸座標系における中心点PAGVの位置ベクトルを、PAGV
PWS=[xAGV
PWS,yAGV
PWS]と表記する。
進行軸座標系とは、そのX軸と台車2の進行軸O
Δと進行方向とが平行になり、かつ台車2の進行方向を正側とした座標系である。以下では、進行軸座標系における中心点P
AGVの位置ベクトルを、P
AGV
Δ=[x
AGV
Δ,y
AGV
Δ]と表記する。なお、主取付軸座標系の位置ベクトルと進行軸座標系の位置ベクトルとは、下記式(3)に示す変換行列Q
Δによって相互に変換可能である。
また制御装置6では、台車2の姿勢を、その主軸OAGVと所定の基準軸OBSとの成す角である車体角ψによって把握する。本実施形態では、この基準軸OBSは、後に図4を参照して説明するように誘導ラインLの基準接線OLとするが、本発明はこれに限るものではない。
図2に戻り、ずれ検出器61は、台車2に設けられた前側センサ5F及び後側センサ5Rから送信される画像信号と、外部位置指令信号と、外部姿勢指令信号と、に基づいて以下で説明する位置・姿勢ずれ検出制御を行うことにより、位置誤差信号及び姿勢ずれ信号を生成し、主制御部62へ送信する。
図4は、台車2の平面図であり、ずれ検出器61における位置・姿勢ずれ検出制御の手順を説明するための図である。なお図4には、床面Fに配設された誘導ラインLと、台車2のうち、台車2の床面Fに対する位置を特定する際の基準となる中心点PAGVと、台車2の床面Fに対する姿勢を特定する際の基準となる進行軸OΔとを図示する。
先ず、ずれ検出器61では、前側センサ5F及び後側センサ5Rから送信される画像信号に基づいて、誘導ラインLの位置及び形状に関する情報を取得する。次にずれ検出器61では、取得した情報に基づいて、進行軸座標系における中心点PAGVの位置と、中心点PAGVを通過しかつ進行軸OΔに対し垂直な線と誘導ラインLとの交点である基準点PLの位置とを算出する。なお以下では、進行軸座標系の原点の位置を基準点PLに設定する。これにより、台車2の中心点PAGVの位置は、基準点PLから中心点PAGVまでの距離yAGV
Δで表される。以下では、中心点PAGVと基準点PLとの間の距離を台車2の検出走行位置yAGV
Δという。またずれ検出器61では、取得した情報に基づいて、誘導ラインLの基準点PLにおける接線である基準接線OLの向きを算出し、さらに主軸OAGVと基準接線OLとの成す角ψを算出する。以下では、主軸OAGVと基準接線OLとの成す角を検出車体角ψという。
ずれ検出器61では、図示しない無線通信手段を利用することにより、上記検出走行位置yAGV
Δに対する指令値に相当する位置指令値y*に応じた外部位置指令信号と、上記検出車体角ψに対する指令値に相当する姿勢指令値ψ*に応じた外部姿勢指令信号と、を取得する。次にずれ検出器61では、位置指令値y*から検出走行位置yAGV
Δを減算することによって走行誤差Δy(=y*-yAGV
Δ)を算出し、さらに姿勢指令値ψ*から検出姿勢ψを減算することによって姿勢誤差Δψを算出するとともに、走行誤差Δyに応じた位置誤差信号と姿勢誤差Δψに応じた姿勢ずれ信号とを主制御部62へ出力する。
以上のように、制御装置6では、外部位置指令信号及び外部姿勢指令信号を用いることにより、台車2の中心点PAGVと誘導ラインLとの間の距離や、台車2の主軸OAGVの誘導ラインLの接線に対する角度を自由に指定することができる。すなわち、台車2を、その中心点PAGVが誘導ラインLの直上をトレースするように走行させたい場合には、外部位置指令信号の位置指令値y*を0とすればよく、台車2を、その主軸OAGVが誘導ラインLの接線と常に平行になるように走行させたい場合には、外部姿勢指令信号の姿勢指令値ψ*を0とすればよい。
図2に戻り、主制御部62は、ずれ検出器61によって検出された走行誤差Δy及び姿勢誤差Δψと、台車2の速度に対する指令値v*に応じた外部速度指令信号と、各駆動ユニット4F,4Rに設けられた操舵角センサ47F,47Rによって検出された両輪の操舵角ΔθF,ΔθRと、に基づいて、以下で説明する主駆動操舵制御を実行することにより、走行誤差Δy及び姿勢誤差Δψが0になりかつ指令値v*が実現されるように、前輪速度vFに対する指令値vF
*に応じた前輪速度指令信号と、後輪速度vRに対する指令値vR
*に応じた後輪速度指令信号と、前輪操舵角ΔθFに対する指令値ΔθF
*に応じた前輪操舵角指令信号と、後輪操舵角ΔθRに対する指令値ΔθR
*に応じた後輪操舵角指令信号と、を生成し、これら指令信号を各駆動ユニット4F,4Rに入力する。
以下では主制御部62における主駆動操舵制御の具体的な手順を説明する前に、台車2に対し成立する運動方程式について、図5を参照しながら説明する。なお主制御部62における主駆動操舵制御では、副駆動ユニット7の存在を無視して前輪及び後輪速度指令信号並びに前輪及び後輪操舵角指令信号を生成する。
先ず、前輪41F及び後輪41Rは、台車2に対し前輪操舵軸43F及び後輪操舵軸43Rに固定されているため、前後輪距離H
AGVは常に一定である。このため、図5に示すように、台車2の主取付軸O
PWSに沿った微小移動距離dlと、前輪41Fの微小移動距離dl
Fと、後輪41Rの微小移動距離dl
Rと、の間には下記式(2)が成立する。なお、図5では、理解を容易にするため、微小移動距離dlを誇張して図示する。
また前輪41F及び後輪41Rがそれぞれ空転せずに移動する場合、両輪41F,41Rはそれぞれ仮想的な旋回中心点R
AGVを中心とした円周上を移動する。またこの旋回中心点R
AGVの位置は、図5に示すように、荷台部21の中心点P
AGVの位置と、前輪操舵角ρ
Fと、後輪操舵角ρ
Rと、によって定まる。また後輪41Rと旋回中心点R
AGVとの間の距離である後輪旋回半径R
R及び前輪41Fと旋回中心点R
AGVとの間の距離である前輪旋回半径R
Fは、それぞれ各操舵角ρ
F,ρ
Rを用いて下記式(3-1)及び(3-2)のように算出される。
また上記前輪旋回半径R
F及び微小移動距離dl
Fを用いると、荷台部21の車体角ψの微小変化量dψに対し、下記式(4-1)及び(4-2)が導出される。したがって下記式(4-2)が台車2の車体角ψに対する運動方程式となる。
図5に示すように、主取付軸座標系における前輪41Fの位置ベクトルP
F
PWSの微小変化量dP
F
PWS及び後輪41Rの位置ベクトルP
R
PWSの微小変化量dP
R
PWSは、それぞれ下記式(5-1)及び(5-2)のようになる。
従って、前輪41Fと後輪41Rの中間点である荷台部21の中心点P
AGVの主取付軸座標系における位置ベクトルP
AGV
PWSの微小変化量dP
AGV
PWSに対し、下記式(6-1)及び(6-2)が導出される。したがって下記式(6-2)が、主取付軸座標系における位置ベクトルP
AGV
PWS=[x
AGV
PWS,y
AGV
PWS]の運動方程式となる。
なお、上記式(6-2)に示す運動方程式は、主取付軸O
PWSを基準とした主取付軸座標系における位置ベクトルP
AGV
PWSに対する運動方程式である。従って進行軸O
Δを基準とした進行軸座標系における位置ベクトルP
AGV
Δ=[x
AGV
Δ,y
AGV
Δ]に対する運動方程式は、式(6-2)に対し、上記式(1)に示す変換行列Q
Δを乗算することにより、下記式(7)のように導出される。
また3つのパラメータ(α,β,γ)を導入することにより、上記式(4-2)及び(7)に示す台車2の位置及び姿勢に対する運動方程式は、下記式(8-1)及び(8-2)に示すように書き換えられる。
ここでパラメータγは、上記式(8-1)より、下記式(9)に示すように表される。
また上記式(8-1)及び(8-2)より、前輪操舵角Δθ
F及び後輪操舵角Δθ
Rは、パラメータ(α,β,γ)を用いて下記式(10-1)及び(10-2)のように表すことができる。これはすなわち、パラメータαを走行誤差Δyを入力としたフィードバックコントローラの出力とし、パラメータβを姿勢誤差Δψを入力としたフィードバックコントローラの出力とした場合、これらフィードバックコントローラの出力であるパラメータα,βに基づいて下記式(10-1)及び(10-2)に示す非干渉化演算によって前輪操舵角Δθ
F及び後輪操舵角Δθ
Rを決定すると、走行誤差Δyと姿勢誤差Δψとをそれぞれ独立して制御できることを意味する。
次に、図6のブロック図を参照しながら、主制御部62における主駆動操舵制御の具体的な手順、すなわち主制御部62において前輪速度指令信号、後輪速度指令信号、前輪操舵角指令信号、及び後輪操舵角指令信号を生成する具体的な手順を説明する。
主制御部62は、上記式(9)によって定義される角度パラメータγの値を算出する角度パラメータ演算部63と、台車2の主取付軸OPWSに沿った微小移動距離dlの値を算出する微小移動距離演算部64と、進行角λの値を算出する進行角演算部67と、前輪速度指令値vF
*及び後輪速度指令値vR
*を算出する速度制御部65と、前輪操舵角指令値ΔθF
*及び後輪操舵角指令値ΔθR
*を算出する操舵角制御部66と、を備える。
進行角演算部67は、進行軸OAと取付軸O
PWSとの成す角である進行角λの値を算出する(図9参照)。より具体的には、進行角演算部67は、車体角ψ(基準軸O
BS(すなわち、誘導ラインLの基準接線O
L)と主軸O
AGVとの成す角)に対する指令値である姿勢指令値ψ
*と、主軸O
AGVと取付軸O
PWSとの成す角である取付角φ
AGVとを用いることにより、下記式(11)に従って進行角λの値を算出する。
角度パラメータ演算部63は、前輪操舵角センサ47Fによって検出された前輪操舵角ΔθFと、後輪操舵角センサ47Rによって検出された後輪操舵角ΔθRと、を用いて、上記式(9)に示す演算を行うことによって角度パラメータγの値を算出する。
速度制御部65は、外部速度指令値v*と、前輪操舵角センサ47Fによって検出された前輪操舵角ΔθFと、後輪操舵角センサ47Rによって検出された後輪操舵角ΔθRと、を用いることにより、前輪41Fの主取付軸OPWSに沿った微小移動距離dlFcosρFと、後輪41Rの主取付軸OPWSに沿った微小移動距離dlRcosρRと、が等しくなるように、すなわち上記式(2)が成立するように、前輪速度指令値vF
*及び後輪速度指令値vR
*を算出する。また速度制御部65は、算出した前輪速度指令値vF
*に応じた前輪速度指令信号及び後輪速度指令値vR
*に応じた後輪速度指令信号を生成し、これら指令信号を各駆動ユニット4F,4Rへ入力する。
より具体的には、速度制御部65では、外部速度指令値v
*と、検出された操舵角ρ
F,ρ
Rと、に基づいて下記式(12)に示す演算を行うことによって前輪速度指令値v
F
*及び後輪速度指令値v
R
*を算出する。
微小移動距離演算部64は、角度パラメータ演算部63によって算出された角度パラメータγの値と、前輪操舵角センサ47Fによって検出された前輪操舵角Δθ
Fと、後輪操舵角センサ47Rによって検出された後輪操舵角Δθ
Rと、前輪速度センサ46Fによって検出された前輪速度v
Fと、後輪速度センサ46Rによって検出された後輪速度v
Rと、に基づいて、微小時間dtにわたる台車2の中心点P
AGVの主取付軸O
PWSに沿った微小移動距離dlの値を算出する。より具体的には、微小移動距離演算部64は、下記式(13)に従って演算を行うことにより、微小移動距離dlの値を算出する。
操舵角制御部66は、微小移動距離演算部64によって算出された微小移動距離dlの値と、ずれ検出器61によって算出された走行誤差Δy及び姿勢誤差Δψと、を用いることにより、走行誤差Δy及び姿勢誤差Δψが何れも0になるように、前輪操舵角指令値ΔθF
*及び後輪操舵角指令値ΔθR
*を算出する。また操舵角制御部66は、算出した前輪操舵角指令値ΔθF
*及び後輪操舵角指令値ΔθR
*に応じた前輪操舵角指令信号及び後輪操舵角指令信号を生成し、これら指令信号を各駆動ユニット4F,4Rへ入力する。
より具体的には、操舵角制御部66は、走行誤差フィードバックコントローラ661と、姿勢誤差フィードバックコントローラ662と、非干渉コントローラ663と、を備え、これらを用いることによって走行誤差Δy及び姿勢誤差Δψが何れも0になるような指令値ΔθF
*,ΔθR
*を算出する。
走行誤差フィードバックコントローラ661は、ずれ検出器61によって検出された走行誤差Δyに基づいて既知のフィードバック制御則に従った演算を行うことにより、走行誤差Δyを0にするような第1制御入力αを生成し、この第1制御入力αを非干渉コントローラ663に入力する。
より具体的には、走行誤差フィードバックコントローラ661は、下記式(14)に示すように、微小移動距離演算部64によって算出された微小移動距離dlを変数としたPID制御則に従って第1制御入力αを生成する。ここで下記式(14)において、係数K
Py,K
Dy,K
Iyは、PID制御係数である。
姿勢誤差フィードバックコントローラ662は、ずれ検出器61によって検出された姿勢誤差Δψに基づいて既知のフィードバック制御則に従った演算を行うことにより、姿勢誤差Δψを0にするような第2制御入力βを生成し、この第2制御入力βを非干渉コントローラ663に入力する。
より具体的には、姿勢誤差フィードバックコントローラ662は、下記式(15)に示すように、微小移動距離演算部64によって算出された微小移動距離dlを変数としたPID制御則に従って第2制御入力βを生成する。ここで下記式(15)において、係数K
Pψ,K
Dψ,K
Iψは、PID制御係数である。
非干渉コントローラ663は、走行誤差Δyと姿勢誤差Δψとが干渉しないように、第1制御入力αと、第2制御入力βと、予め定められた取付角φ
AGVと、角度パラメータ演算部63によって算出された角度パラメータγの値と、進行角演算部67によって算出された進行角λの値と、に基づいて、前輪操舵角指令値Δθ
F
*及び後輪操舵角指令値Δθ
R
*を算出する。より具体的には、非干渉コントローラ663は、上記式(10-1)及び(10-2)を用いて導出される下記式(16-1)及び(16-2)に従って演算を行うことによって、前輪操舵角指令値Δθ
F
*及び後輪操舵角指令値Δθ
R
*を算出する。
ところで、利用者による利便性を考慮すると、走行誤差Δy及び姿勢誤差Δψが何れも0である場合、各フィードバックコントローラ661,662の出力である制御入力α,βは何れも0となり、さらに非干渉コントローラ663によって算出される前輪操舵角指令値Δθ
F
*及び後輪操舵角指令値Δθ
R
*は、所定の基準軸(例えば、台車2の進行軸O
Δ)に対し平行になっていることが好ましい。そこで非干渉コントローラ663は、上記式(16-1)及び(16-2)の代わりに、下記式(17-1)及び(17-2)に従って前輪操舵角指令値Δθ
F
*及び後輪操舵角指令値Δθ
R
*を算出してもよい。
上記式(17-1)及び(17-2)において、α
0は、上記式(8-1)及び(8-2)における積分定数であり、進行角λ及び角度パラメータγを用いて下記式(18-1)によって表される。これにより、上記式(17-1)及び(17-2)は、下記式(18-2)及び(18-3)で書き換えられる。非干渉コントローラ663では、下記式(18-2)及び(18-3)に従って前輪操舵角指令値Δθ
F
*及び後輪操舵角指令値Δθ
R
*を算出することにより、フィードバックコントローラ661,662の制御入力α,βが0であるときには、前輪41F及び後輪41Rを進行軸O
Δと平行にすることができる。
なお上記式(18-2)及び(18-3)は、下記式(19-1)及び(19-2)によって定義される角度δ
F,δ
Rを用いて、下記式(19-3)及び(19-4)に示すように書き換えることもできる。
図2に戻り、副制御部68は、上述のような主制御部62における主駆動操舵制御によって前輪駆動ユニット4F及び後輪駆動ユニット4Rで発生する駆動力の一部が副駆動ユニット7で発生する駆動力によって打ち消されないように副駆動ユニット7の速度及び操舵角を制御する。より具体的には、副制御部68は、主制御部62において算出された前輪速度指令値vF
*と、後輪速度指令値vR
*と、前輪操舵角指令値ΔθF
*と、後輪操舵角指令値ΔθR
*と、に基づいて、以下で説明する副駆動操舵制御を実行することにより、副駆動輪速度vSに対する指令値vS
*に応じた副駆動輪速度指令信号と、副駆動輪操舵角ΔθSに対する指令値ΔθS
*に応じた副駆動輪操舵角指令信号と、を生成し、これら指令信号を副駆動ユニット7に入力する。
図7は、台車2の平面図であり、副制御部68における副駆動操舵制御の概念を説明するための図である。
上述のように副駆動輪71の副駆動輪操舵軸73は、台車2の荷台部21に対し平面視で前輪操舵軸43Fと後輪操舵軸43Rとの間に設けられる。以下では、副駆動輪操舵軸73及び前輪操舵軸43Fを通過する軸を前輪取付軸OFSという。また副駆動輪操舵軸73及び後輪操舵軸43Rを通過する軸を後輪取付軸ORSという。
副駆動輪71は、荷台部21に対し平行な副駆動輪回転軸75を中心軸として回転自在に設けられている。以下では、副駆動輪71の副駆動輪回転軸75周りでの回転速度を副駆動輪速度vSという。
また副駆動輪71は、荷台部21に対し垂直な副駆動輪操舵軸73を中心として回転自在に設けられている。以下では、副駆動輪71の進行方向と主軸OAGVとの成す角を副駆動輪操舵角ΔθSという。
副制御部68では、台車2に設けられている副駆動輪操舵軸73や前輪操舵軸43F等の位置を主軸座標系(図7中、実線矢印参照)で把握する。主軸座標系とは、そのX軸と主軸OAGVとが平行になり、かつ主軸OAGVの前輪41F側をX軸の正側とした座標系である。
図8は、前輪操舵軸43F、後輪操舵軸43R、及び副駆動輪操舵軸73の位置ベクトルを示す図である。
以下では、主軸座標系における前輪操舵軸43Fの位置ベクトルP
F、後輪操舵軸43Rの位置ベクトルP
R、副駆動輪操舵軸73の位置ベクトルP
Sを、それぞれ下記式(20)のように表記する。
主軸座標系における前輪41Fの速度ベクトルV
F、後輪41Rの速度ベクトルV
R、副駆動輪71の速度ベクトルV
Sを、それぞれ下記式(21)のように表記する。
また前輪41Fの速度ベクトルv
F及び後輪41Rの速度ベクトルV
Rの各成分は、前輪速度v
F、後輪速度v
R、前輪操舵角Δθ
F、及び後輪操舵角Δθ
Rを用いると、下記式(22)のように表される。
また主軸座標系において、副駆動輪操舵軸73から前輪操舵軸43Fへ前輪取付軸O
FSに沿って延びる差分ベクトルΔP
FS、及び副駆動輪操舵軸73から後輪操舵軸43Rへ後輪取付軸O
RSに沿って延びる差分ベクトルΔP
RSは、上記式(20)に示す位置ベクトルを用いて、下記式(23-1)及び(23-2)のように表される。
上述のように、前輪駆動ユニット4F、後輪駆動ユニット4R、及び副駆動ユニット7は、それぞれ同一の荷台部21に取り付けられている。このため、前輪駆動ユニット4Fで発生する駆動力の一部が副駆動ユニット7で発生する駆動力によって打ち消されないようにし、かつ後輪駆動ユニット4Rで発生する駆動力の一部が副駆動ユニット7で発生する駆動力によって打ち消されないようにするためには、下記式(24-1)及び(24-2)に示すように、差分ベクトルΔP
FSと速度ベクトルv
Sとの内積を差分ベクトルΔP
FSと速度ベクトルv
Fとの内積と等しくし、かつ差分ベクトルΔP
RSと速度ベクトルv
Sとの内積を差分ベクトルΔP
RSと速度ベクトルv
Rとの内積と等しくする必要がある。換言すれば、副駆動輪71の前輪取付軸O
FSに沿った速度成分を前輪41Fの前輪取付軸O
FSに沿った速度成分と等しくし、かつ副駆動輪71の後輪取付軸O
RSに沿った速度成分を後輪41Rの後輪取付軸O
RSに沿った速度成分と等しくする必要がある。
従って上記式(24-1)及び(24-2)を用いると、副駆動輪71の速度ベクトルV
Sの各成分は、差分ベクトルΔP
FS,ΔP
RS及び速度ベクトルV
F,V
Rを用いて下記式(25)のように表される。
また上記式(25)によって算出された速度ベクトルV
Sの各成分の値を用いると、副駆動輪71の副駆動輪操舵角Δθ
S及び副駆動輪速度v
Sは、下記式(26)のように算出される。よって、副制御部68では、これら式(25)及び(26)に基づいて副駆動輪操舵角指令信号及び副駆動輪速度指令信号を生成することにより、前輪駆動ユニット4F及び後輪駆動ユニット4Rで発生した駆動力の一部が打ち消されないように副駆動ユニット7を制御する。
次に、図9のブロック図を参照しながら、副制御部68における副駆動操舵制御の具体的な手順、すなわち副制御部68において副駆動輪速度指令信号及び副駆動輪操舵角指令信号を生成する具体的な手順を説明する。
副制御部68は、前後輪速度指令ベクトル演算部681と、副駆動輪速度指令ベクトル演算部682と、指令値演算部683と、を備える。
前後輪速度指令ベクトル演算部681は、主制御部62において算出された前輪速度指令値v
F
*と、後輪速度指令値v
R
*と、前輪操舵角指令値Δθ
F
*と、後輪操舵角指令値Δθ
R
*とを用いることにより、指令値に基づく前輪41Fの速度指令ベクトルV
F
*及び後輪41Rの速度指令ベクトルV
R
*の主軸座標系における各成分の値を算出する。より具体的には、主制御部62において算出された4つの指令値(v
F
*,v
R
*,Δθ
F
*,Δθ
R
*)を、上記式(22)から導出される下記式(27)に入力することによって、速度指令ベクトルV
F
*,V
R
*の各成分の値を算出する。
副駆動輪速度指令ベクトル演算部682は、前後輪速度指令ベクトル演算部681において算出された速度指令ベクトルV
F
*,V
R
*を用いて、副駆動輪71の速度ベクトルV
Sに対する指令値に相当する速度指令ベクトルV
S
*の各成分の値を算出する。より具体的には、速度指令ベクトルV
F
*,V
R
*の各成分の値(v
Fx
*,v
Fy
*,v
Rx
*,v
Ry
*)と、予め定められた差分ベクトルΔP
FS,ΔP
RSの各成分の値(ΔP
FSx
*,ΔP
FSy
*,ΔP
RSx
*,ΔP
RSy
*)とを、上記式(25)から導出される下記式(28)に入力することによって、速度指令ベクトルV
S
*の各成分の値を算出する。
指令値演算部683は、副駆動輪速度指令ベクトル演算部682によって算出された速度指令ベクトルV
S
*の各成分の値(v
Sx
*,v
Sy
*)を、上記式(26)から導出される下記式(29)に入力することによって、副駆動輪操舵角指令値Δθ
S
*及び副駆動輪速度指令値v
S
*を算出する。また副制御部68は、以上のようにして算出した副駆動輪操舵角指令値Δθ
S
*に応じた副駆動操舵角指令信号及び副駆動輪速度指令値v
S
*に応じた副駆動輪速度指令信号を生成し、これら指令信号を副駆動ユニット7に入力する。
本実施形態に係る無人搬送車1の駆動操舵装置3によれば、以下の効果を奏する。
(1)駆動操舵装置3では、荷台部21に取り付けられた3つの駆動ユニット4F,4R,7のうちの2つを前輪駆動ユニット4F及び後輪駆動ユニット4Rとし、これら前輪び後輪駆動ユニット4F,4Rに対する速度指令信号(vF
*,vR
*)及び操舵角指令信号(ΔθF
*,ΔθR
*)を主制御部62によって生成し、また3つのうちの残りである副駆動ユニット7に対する速度指令信号(vS
*)及び操舵角指令信号(ΔθS
*)を副制御部68によって生成する。特に駆動操舵装置3では、副制御部68は、副駆動ユニット7の副駆動輪操舵軸73と前輪操舵軸43Fとを通過する前輪取付軸OFSに沿った副駆動ユニット7の速度成分と前輪駆動ユニット4Fの速度成分とが等しくなり、かつ副駆動輪操舵軸73と後輪駆動ユニット4Rの後輪操舵軸43Rとを通過する後輪取付軸ORSに沿った副駆動ユニット7の速度成分と後輪駆動ユニット4Rの速度成分とが等しくなるように速度指令信号(vS
*)及び操舵角指令信号(ΔθS
*)を生成する。これにより、副駆動ユニット7と前輪駆動ユニット4Fとの間及び副駆動ユニット7と後輪駆動ユニット4Rとの間に、力が作用しないように副駆動ユニット7の速度及び操舵角を制御できる。換言すれば、駆動操舵装置3によれば、前輪駆動ユニット4F及び後輪駆動ユニット4Rで発生した駆動力の一部が副駆動ユニット7で発生した駆動力によって打ち消されないように副駆動ユニット7の速度及び操舵角を制御できる。よって駆動操舵装置3によれば、少ない電力で大きな駆動力が得られるように3つの駆動ユニット4F,4R,7を協調して制御できる。
(2)本実施形態の駆動操舵装置3では、副駆動ユニット7の速度指令値vS
*や操舵角指令値ΔθS
*は、前輪及び後輪駆動ユニット4F,4Rの速度指令値(vF
*,vR
*)や操舵角指令値(ΔθF
*,ΔθR
*)によって一意的に決定されるため、台車2の位置及び姿勢は前輪及び後輪駆動ユニット4F,4Rの速度指令値及び操舵角指令値によって定まる。また、前輪及び後輪駆動ユニット4F,4Rの位置が近くなると、主制御部62による前輪及び後輪駆動ユニット4F,4Rの速度及び操舵角の制御の精度が悪化し、ひいては副制御部68による副駆動ユニット7の速度及び操舵角の制御の精度も悪化するおそれがある。そこで本実施形態の駆動操舵装置3では、荷台部21に取り付けられた3つの複数の駆動ユニット4F,4R,7のうち、平面視で最も離れている2つである前輪及び後輪駆動ユニット4F,4Rを主とし、これら主の駆動ユニット4F,4Rを主制御部62で制御し、残りの1つである副駆動ユニット7を副とし、この副の駆動ユニット7を副制御部68によって制御する。これにより、全ての駆動ユニット4F,4R,7の速度及び操舵角を精度よく制御できる。
(3)駆動操舵装置3では、副制御部68は、前輪取付軸OFSに沿った前輪駆動ユニット4Fの速度成分及び後輪取付軸ORSに沿った後輪駆動ユニット4Rの速度成分を、主制御部62によって生成された前輪及び後輪駆動ユニット4F,4Rに対する速度指令信号(vF
*,vR
*)及び操舵角指令信号(ΔθF
*,ΔθR
*)に基づいて算出する。これにより、副制御部68では、簡易な演算で副駆動ユニット7の速度及び操舵角を制御できる。
(4)駆動操舵装置3では、ずれ検出器61によって台車2の検出位置と外部位置指令との間の走行誤差Δy及び検出姿勢と外部姿勢指令との間の姿勢誤差Δψを検出する。また主制御部62では、前輪駆動ユニット4Fの主取付軸OPWSに沿った微小移動距離(dlFcosρF)と後輪駆動ユニット4Rの主取付軸OPWSに沿った微小移動距離(dlRcosρR)とが等しくなり、かつずれ検出器61によって検出された走行誤差Δy及び姿勢誤差Δψが無くなるように前輪及び後輪駆動ユニット4F,4Rに対する速度指令信号(vF
*,vR
*)及び操舵角指令信号(ΔθF
*,ΔθR
*)を生成する。これにより、3つの駆動ユニット4F,4R,7を合せて大きな駆動力を発生させつつ、前輪及び後輪駆動ユニット4F,4Rの間で無理な力が作用するのを防止しながら、台車2を外部姿勢指令に応じた姿勢にて、外部位置指令に応じた経路に沿って走行させることができる。
以上、本発明の一実施形態について説明したが、本発明はこれに限らない。本発明の趣旨の範囲内で、細部の構成を適宜変更してもよい。
例えば、上記実施形態では、荷台部21に設けた3つの駆動ユニット4F,4R,7のうち、平面視で最も離れた2つの前輪駆動ユニット4F及び後輪駆動ユニット4Rを主とし、これら主の駆動ユニット4F,4Rを主制御部62で制御し、残りの1つの副駆動ユニット7を副とし、この副の駆動ユニット7を副制御部68で制御した場合について説明したが、本発明はこれに限らない。主制御部62で制御する2つの主の駆動ユニットは、駆動ユニット4F,7としてもよいし、駆動ユニット4R,7としてもよい。
また上記実施形態では、荷台部21に3つの駆動ユニット4F,4R,7を取り付けた場合について説明したが、本発明はこれに限らない。荷台部21には、4つ以上の駆動ユニットを取り付けてもよい。
図10には、荷台部21に5つの駆動ユニット81,82,83,84,85を取り付けた場合における荷台部21の平面図である。この場合、平面視で最も離れている2つの駆動ユニット81,85を主の駆動ユニットとして選択し、これら2つの主の駆動ユニット81,85を主制御部62で制御し、残りの駆動ユニット82,83,84を副の駆動ユニットとして選択し、これら3つの副の駆動ユニットを、それぞれ副制御部68で制御することが好ましい。