(57)【要約】【課題】外界センサを用いることなく、走行中の誤差を自動的に修正して自律走行することのできる自動搬送台車およびその制御方法を提供する。【解決手段】入力された経由点から求めた経路を移動中に、各駆動ユニットの移動量を求めて、その移動量を平均化することで荷台全体の移動量を求め、荷台の移動量が許容範囲内である場合には求めた荷台の移動量から各駆動ユニットの現在位置を求める一方、所定の許容範囲内を超える場合には、誤差のある駆動ユニットを除いた平均値を荷台の移動量として、各駆動ユニットの現在位置を求める。【選択図】図８
2008123116.tif 000002
【特許請求の範囲】
【請求項１】
荷台下面に設けられ左右独立して駆動する車輪を有する複数の駆動手段と、
前記各車輪の回転数を検出する検出手段と、
前記各車輪の回転数から前記複数の駆動手段それぞれの移動量を求め、求めた前記各駆動手段の移動量から前記荷台の移動量を求め、前記荷台の移動量が所定の許容範囲内である場合に、前記荷台の移動量から前記各駆動手段の現在位置を求める制御手段と、
を有することを特徴とする自動搬送台車。
【請求項２】
前記荷台の移動量は、前記各駆動手段の移動量と前記各駆動手段の前記荷台への取り付け位置とから前記各駆動手段ごとの前記荷台の基準点における推定移動量を求め、これら推定移動量の平均値であることを特徴とする請求項１記載の自動搬送台車。
【請求項３】
前記制御手段は、前記荷台の移動量が許容範囲以外の場合、前記平均値を求める際に少なくとも一つの駆動手段の移動量を除いた残りの駆動手段の移動量から前記平均値を求めて、当該求めた前記平均値が許容範囲内であれば、そのとき除外された駆動手段の誤差が大きいものと判断することを特徴とする請求項２記載の自動搬送台車。
【請求項４】
荷台下面に設けられた複数の駆動手段の移動量を当該移動手段に設けられた左右独立して駆動する車輪の回転数から求め、
求めた前記各駆動手段の移動量から前記荷台の移動量を求め、
前記荷台の移動量が所定の許容範囲内である場合に、当該荷台の移動量から前記各駆動手段の現在位置を求めることを特徴とする自動搬送台車の制御方法。
【請求項５】
前記荷台の移動量は、前記各駆動手段の移動量と前記各駆動手段の前記荷台への取り付け位置とから前記各駆動手段ごとの前記荷台の基準点における推定移動量を求め、これら推定移動量の平均値であることを特徴とする請求項４記載の自動搬送台車の制御方法。
【請求項６】
前記荷台の移動量が許容範囲以外の場合、前記平均値を求める際に少なくとも一つの駆動手段の移動量を除いた残りの駆動手段の移動量から前記平均値を求めて、当該求めた前記平均値が許容範囲内であれば、そのとき除外された駆動手段の誤差が大きいものと判断することを特徴とする請求項５記載の自動搬送台車の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動搬送台車およびその制御方法に関する。
【背景技術】
【０００２】
自動搬送台車は、物流の自動化を目的として、さまざまなものが開発されている。なかでも、無軌道で、与えられた経路、方向に自動的に進むことのできる自動搬送台車の開発が進められている。
【０００３】
このような自動搬送台車としては、従来、台車下に駆動車輪とは別に、測定輪を前後に２つ設け、水平軸方向および垂直軸方向の移動方向を計測して、その計測結果から、自身の移動位置を計算し、あらかじめ指定された経路、方向に自律移動できるように制御したものがある（たとえば特許文献１）。
【特許文献１】特開平５−３１３７３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来は、測定輪という台車の構成要素である駆動輪とは無関係の外界センサを別途設けることから、自動搬送台車を製作する際のコストアップにつながるという問題点があった。一方で、このような外界センサを設けない場合には、特許文献１の従来技術としても開示されているように、駆動輪に設けられているエンコーダからの信号だけでは、車輪のスリップや故障などを検出することができず、位置制御に誤差が生じるという問題がかねてよりあった。
【０００５】
そこで本発明の目的は、外界センサを用いることなく、走行中の誤差を自動的に修正して自律走行することのできる自動搬送台車およびその制御方法を提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するための本発明は、荷台下面に設けられ左右独立して駆動する車輪を有する複数の駆動手段と、前記各車輪の回転数を検出する検出手段と、前記各車輪の回転数から前記複数の駆動手段それぞれの移動量を求め、求めた前記各駆動手段の移動量から前記荷台の移動量を求め、前記荷台の移動量が所定の許容範囲内である場合に、前記荷台の移動量から前記各駆動手段の現在位置を求める制御手段と、を有することを特徴とする自動搬送台車である。
【０００７】
上記目的を達成するための本発明は、荷台下面に設けられた複数の駆動手段の移動量を当該移動手段に設けられた左右独立して駆動する車輪の回転数から求め、求めた前記各駆動手段の移動量から前記荷台の移動量を求め、前記荷台の移動量が所定の許容範囲内である場合に、当該荷台の移動量から前記各駆動手段の現在位置を求めることを特徴とする自動搬送台車の制御方法である。
【発明の効果】
【０００８】
本発明によれば、複数ある駆動手段のそれぞれの移動量からいったん自動搬送台車全体としての移動量を求めて、その移動量から自動搬送台車の位置を求め、さらに、求めた自動搬送台車全体としての移動量を現在位置として各駆動手段の現在位置を求めなおすことで、自動的に各駆動手段の現在位置の補正が行われるようになる。したがって、外界センサを必要とせずに、正確な自動搬送台車の自律走行が可能となる。
【０００９】
また、本発明は、複数ある駆動手段の移動量から求めた自動搬送台車の移動量が所定の許容範囲以外の場合には、どの駆動手段の誤差が大きいかを検出して、その誤差の大きな値を除外することとしたので、より正確な現在位置を求めることができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明を実施するための最良の形態を説明する。
【００１１】
図１は、本発明を適用した自動搬送台車の構成を説明するための概略図であり、台車下から見た図面である。図２は、この自動搬送台車の制御系を説明するためのブロック図である。また、図３は、一つの駆動ユニットの構成を説明するための斜視図（ａ）と模式図（ｂ）である。
【００１２】
この自動搬送台車１は、荷台１０の下面に、図示するように、第１〜第４駆動ユニット（駆動手段）１１〜１４が設けられている。また、この荷台１０の下面には制御装置２０が取り付けられている。ここで、図示矢印Ｆ方向を前進方向とする。
【００１３】
各駆動ユニット１１〜１４は、図２および図３に示すように、それぞれステアリング軸３０を有し、このステアリング軸３０に対して左右独立して回転する２つの駆動輪（車輪）を有する。２つの駆動輪は左側駆動輪ＤＬと右側駆動輪ＤＲである。ステアリング軸３０は各駆動輪ＤＬおよびＤＲの接地点よりも前に位置している。これは、駆動ユニットが左右方向へスムーズに回転可能となるための配置である。
【００１４】
ステアリング軸３０には、角度センサ３１が設けられている。左側駆動輪ＤＬには駆動輪の動力源である第１モータ４１と、第１モータ４１の移動量（回転角）を計測する第１エンコーダ４２（検出手段）が接続されている。同様に右側駆動輪ＤＲにも第２モータ４３と第２モータ４３の移動量（回転角）を計測する第２エンコーダ４４（検出手段）が接続されている。
【００１５】
制御装置２０（制御手段）は、各駆動ユニット１１〜１４それぞれの角度センサ３１、第１モータ４１、第２モータ４３、第１エンコーダ４２、および第２エンコーダ４４と、制御信号の受け渡しが行われるように接続されている。したがって、制御装置２０からは駆動信号が、各駆動ユニット１１〜１４それぞれの第１モータ４１および第２モータ４３に出力されて、第１モータ４１および第２モータ４３は受信した駆動信号に基づいて回転する。一方、各駆動ユニット１１〜１４それぞれの第１エンコーダ４２および第２エンコーダ４４からは、第１モータ４１および第２モータ４３の回転角の測定結果が制御装置２０に入っており、制御装置２０は、後述する方法にて、自動搬送台車１の現在位置を求めて、あらかじめ入力された経路にしたがって自動搬送台車１自体を自動的に移動させるように各駆動ユニット１１〜１４それぞれの第１モータ４１および第２モータ４３に対して駆動信号を出力する。このような制御装置２０は、たとえば、マイクロコンピュータなどである。
【００１６】
なお、制御装置２０の取り付け位置は荷台１０の下面に限らず、上面や側部などであってもよい。
【００１７】
ここで、自動搬送台車１の基本的な動作について説明する。
【００１８】
図４は、一つの駆動ユニットにおける駆動輪の動きとそれに伴う駆動ユニットの進行方向を説明する説明図であり、図５は、自動搬送台車１の全体の動作を説明する説明図である。
【００１９】
まず、図３および図４を参照して一つの駆動ユニットの動きを説明する。
【００２０】
駆動ユニット１１（他の駆動ユニット１２〜１４も同じである）の駆動輪ＤＬおよびＤＲがそれぞれ速度νｌｉおよびνｒｉで示されるベクトル方向に進むように回転すると（図示する事例ではＤＬおよびＤＲが互いに逆方向に回転している）、駆動ユニット１１は、それぞれνｘｉおよびνｙｉで示される分解ベクトルにより移動する方向および速度が定まる。そしてこの分解ベクトルνｘｉおよびνｙｉによって駆動ユニット１１の回転角ｗθが決まる。回転角ｗθは、ステアリング軸３０の中心ＳＰとするとき、その位置を中心（コントロールポイントＣＰ）とした角度である。
【００２１】
なお、本明細書および図面において示された符号νｌおよびνｒはそれぞれの駆動輪ＤＬおよびＤＲの進行方向（ベクトルの向き）と速度（ベクトルの長さ）を示し、νｘｉおよびνｙｉは２次元座標系におけるコントロールポイントＣＰのｘ方向およびｙ方向に分解された速度（ベクトルの長さ）を示す。また、各符号の添え字ｉは、第１〜第４駆動ユニットのそれぞれを識別するためのもので、それぞれの駆動ユニットの上記各速度を区別して示す場合には１〜４となる。なお、以下の説明において駆動ユニットそれぞれを区別しない場合には、添え字ｉは付さない場合がある。
【００２２】
図４を参照して駆動ユニットの各駆動輪ＤＬおよびＤＲの動きと移動方向について説明する。
【００２３】
まず、図４（ａ）に示すように、駆動輪ＤＬの速度νｌが駆動輪ＤＲの速度νｒより遅く、両駆動輪が前進方向に回転する場合、左に曲がりながら前方に進む（左前回という）。
【００２４】
次に、図４（ｂ）に示すように、駆動輪ＤＬの速度νｌと駆動輪ＤＲの速度νｒが同じで両駆動輪が前進方向に回転する場合には、前進する。
【００２５】
次に、図４（ｃ）に示すように、駆動輪ＤＬの速度νｌが駆動輪ＤＲの速度νｒより速く、両駆動輪が前進方向に回転する場合、右に曲がりながら前方に進む（右前回という）。
【００２６】
次に、図４（ｄ）に示すように、駆動輪ＤＬの速度νｌと駆動輪ＤＲの速度νｒが同じで逆方向に回転する場合（ＤＬが後進方向、ＤＲが前進方向）、駆動ユニット自体が左旋回する（左行という）。
【００２７】
次に、図４（ｅ）に示すように、駆動輪ＤＬの速度νｌと駆動輪ＤＲの速度νｒが同じで逆方向に回転する場合（ＤＬが前進方向、ＤＲが後進方向）、駆動ユニット自体が右方向に旋回する（右行という）。
【００２８】
なお、図４（ｄ）および図４（ｅ）の場合は、自動搬送台車１が停止した状態で左行または右行の動作をして、その後、たとえば、図４（ａ）と同様に両駆動輪が同じ速度で同じ方向に回転した場合には、自動搬送台車１自体が図１のＦ方向に対して直角に左または右方向に移動することになる。また、図では、左行または右行としてＦ方向に対して直角になるまで駆動輪をそれぞれ回転する場合を示したが、これに限らず、Ｆ方向に対して任意の角度となるようにすれば、自動搬送台車停止後、与えられた任意の角度方向に移動させることも可能である。
【００２９】
次に、図４（ｆ）に示すように、駆動輪ＤＬの速度νｌが駆動輪ＤＲの速度νｒより遅く、両駆動輪が後進方向に回転する場合、左に曲がりながら後方に進む（左後回という）。
【００３０】
次に、図４（ｇ）に示すように、駆動輪ＤＬの速度νｌと駆動輪ＤＲの速度νｒが同じで両駆動輪が後進方向に回転する場合には、後進する。
【００３１】
次に、図４（ｃ）に示すように、駆動輪ＤＬの速度νｌが駆動輪ＤＲの速度νｒより速く、両駆動輪が後進方向に回転する場合、右に曲がりながら後方に進む（右後回という）。
【００３２】
以上の各移動において、その速度はνｘおよびνｙの合成ベクトルであるベクトルνとなる（各駆動ユニットの速度はνｉ（ただしｉは１〜４の自然数）で示す）。
【００３３】
次に、上述のように移動する駆動ユニットの速度ベクトル（すなわち速度と移動方向を示す角度）の算出方法について説明する。
【００３４】
図５は駆動ユニットの速度ベクトルの算出方法について説明する説明図であり（ａ）は斜視図、（ｂ）および（ｃ）は模式図である。
【００３５】
図５（ａ）に示すように、駆動輪の半径（接地点から車軸中心までの距離）をｒ、駆動輪の回転角を、左側駆動輪がθｌｉ、右側駆動輪がθｒｉとする。ここで、駆動輪の回転角は第１エンコーダ４２および第２エンコーダ４４から取得された値である。回転角θｌｉおよびθｒｉは、実際の計算に当たっては角度単位（３６０度を１回転とする角度）で行うこと方がわかりやすいが、これに限らず、たとえばパルスエンコーダを使用している場合には、カウントされたパルス数そのものでもよい。
【００３６】
第１および第２エンコーダ４２，４４からの信号から各駆動輪の移動量が求めるには、左側駆動輪ＤＬの移動量はΔｄｌｉ＝Δθｌｉ×ｒ、右側駆動輪ＤＲの移動量はΔｄｒｉ＝Δθｒｉ×ｒとして求められる。
【００３７】
そして図５（ｂ）に示すように、この駆動輪全体の基準方向（図１のＦ方向を基準方向の正方向とする）に平行なユニット中心位置（駆動輪間の中間）の移動量Δｄは、Δｄ＝（Δｄｌｉ＋Δｄｒｉ）／２により求めることができる。また、駆動輪全体の回転角Δθは、Δθ＝（Δｄｌｉ−Δｄｒｉ）／Ｄである（ただし、Ｄは、駆動輪ＤＬの中心とＤＲの中心の間の距離である）。
【００３８】
さらに駆動ユニットに回転が加わる場合には、その回転中心ＯはΔｄｌｉ：Δｄｒｉ＝ΔＬｉ：ΔＲｉの関係となる（ただし、ΔＬｉは駆動輪ＤＬから回転中心Ｏまでの距離、ΔＲｉは駆動輪ＤＲから回転中心Ｏまでの距離。Ｄ＝ΔＬｉ＋ΔＲｉ）。したがって、回転中心Ｏは、ΔＬｉ＝ΔＲｉ×（Δｄｌｉ／Δｄｒｉ）、およびＤ＝ΔＬｉ＋ΔＲｉの関係から、ΔＬｉ＝（Ｄ×（Δｄｌｉ／Δｄｒｉ））／（１＋（Δｄｌｉ／Δｄｒｉ））の位置となる。
【００３９】
また、この回転中心Ｏは、回転軸をＸＪとして、回転軸ＸＪから左側駆動輪ＤＬの位置で基準方向と平行にΔｄｌｉだけ移動した位置と、同じく回転軸ＸＪから右側駆動輪ＤＲの位置で基準方向と平行にΔｄｒｉだけ移動した位置とを結ぶ線分ΔＸＪと回転軸ＸＪとが交わる点Ｏとなる。
【００４０】
回転に伴う駆動ユニットのコントロールポイントＣＰの移動量は、図５（ｃ）に示すように、回転中心ＯからコントロールポイントＣＰまで引いた線分Ｏ−ＣＰを回転中心Ｏを支点として駆動輪全体の回転角ΔθだけＣＰの位置を移動させたときの移動量ΔＣＰとなる。
【００４１】
そして、コントロールポイントＣＰの移動量はベクトルΔｄとベクトルΔＣＰの合成ベクトルΔＳとなり、ベクトルΔＳの終点（矢印の先端点）の位置が求められた駆動ユニットのコントロールポイントＣＰにおける現在の移動量ΔＣＰとなる。そして、このΔＣＰを以前の位置に加算すれば、駆動ユニット動作後の現在位置となる。
【００４２】
以上のようにして求められる各駆動ユニット１１〜１４の移動量ΔＣＰｉ（ただしｉは１〜４の自然数）は、制御装置２０によって算出される。そして、制御装置２０は、さらにこれを元に自動搬送台車１全体の移動量を算出する。また、角度センサ３１から得られるステアリング角度を用いて、各駆動ユニット１１〜１４の自動搬送台車１の基準点からの向きを示すベクトルｗθが求められる。すなわち、ΔＳ、ΔＣＰｉにｗθだけ加えた（ｗθだけ回転させた）ものが自動搬送台車１の基準位置から見た駆動ユニットのベクトルとなる。
【００４３】
図６および図７は自動搬送台車１全体の移動量の算出方法を説明する説明図である。
【００４４】
自動搬送台車１全体の移動量は、図６に示すように、求められた各駆動ユニット１１〜１４の移動量ΔＣＰｉに対して、ステアリング軸３０の中心ＳＰから自動搬送台車１の中心位置ＯＯ（荷台１０の基準点）までの幾何的な配置から求めることができる。すなわち、各駆動ユニット１１〜１４のステアリング軸３０の中心ＳＰ１〜４の位置は、自動搬送台車１の中心位置ＯＯからｘ軸方向にそれぞれＸ１〜４の間隔で取り付けられており、同様にｙ軸方向にはＹ１〜４の間隔で取り付けられている。
【００４５】
したがって、各駆動ユニット１１〜１４の移動量ΔＣＰｉから求められる自動搬送台車１の移動量は各駆動ユニット１１〜１４の移動量ΔＣＰｉをそれぞれｘ軸およびｙ軸方向に分解して、それぞれｘ軸方向にはＸ１〜４、ｙ軸方向にはＹ１〜４の値を引き算すればよい。
【００４６】
各駆動ユニット１１〜１４の動作にまったく誤差がなければ、各駆動ユニット１１〜１４の移動量ΔＣＰｉから求めた自動搬送台車１の移動量は、一致するはずである。しかし、現実には、スリップなどの誤差（詳細後述）が発生して、各駆動ユニット１１〜１４の移動量ΔＣＰｉから求めた自動搬送台車１の移動量は一致しない。
【００４７】
そこで、本実施形態では、各駆動ユニット１１〜１４の移動量ΔＣＰｉから求める自動搬送台車１の移動量は、各駆動ユニット１１〜１４の移動量ΔＣＰｉから求めた自動搬送台車１の移動量（推定移動量）のそれぞれの値を単純に算術平均を取り、自動搬送台車１の移動量Ｓａｖｅとした。そして、移動後の現在位置はこの移動量Ｓａｖｅの値を前の現在位置に加算した値ということになる。
【００４８】
そして、図７に示すように、平均化により求められた自動搬送台車１の移動量Ｓａｖｅを自動搬送台車１の中心位置ＯＯとして、このＳａｖｅ＝ＯＯの位置から幾何的に今度は各駆動ユニット１１〜１４と自動搬送台車１の中心位置の関係から逆算して、Ｓａｖｅ＝ＯＯを基準とする各駆動ユニット１１〜１４の現在位置ＳＳ１〜４を求める。
【００４９】
この平均値Ｓａｖｅから各駆動ユニットの現在位置ＳＳ１〜４を逆算して与えることで、各駆動ユニット間での微妙な位置の違いが自動的に補正されることになる。そして、求めた各駆動ユニット１１〜１４の現在位置ＳＳ１〜４は、次の経路点へ移動するための各駆動ユニットの現在位置となる（詳細後述）。
【００５０】
各駆動ユニット１１〜１４で発生する誤差のうち、大きくないものについては許容されるものとしてそのまま用いることができるが、大きな誤差が発生した場合には、自動搬送台車１が経路から外れてしまう原因となる。
【００５１】
そこで、本実施形態では、各駆動ユニットの移動量を平均して求めた自動搬送台車１の移動量Ｓａｖｅの値が、あらかじめ決めた許容範囲ｄｍａｘを外れているか否かにより、今後の移動を制御できる値となっているかどうかを判断することとした。
【００５２】
ここで許容範囲ｄｍａｘは、自動搬送台車１が自律走行させる際に、あらかじめ与えられた経路からどの程度ずれてもよいかによって変わってくる。また、スリップなど故障によらない誤差は、自動搬送台車１の速度が速ければ速いほど大きくなるため、許容範囲ｄｍａｘも速度に応じて変えてやる必要がある。
【００５３】
そこで、本実施形態では、許容範囲ｄｍａｘは、進行方向の次の目標点を中心として、目標速度×制御サンプリング周期を半径とする円の範囲とした。このように設定することで速度に依存するスリップなどの誤差のみ許容することが可能となる。
【００５４】
たとえば、自動搬送台車１の目標最高速度が１ｍ／ｓの場合、その走行中におけるずれ許容量が５ｍｍとすれば、制御サンプリング周期を０．０２とすると、許容範囲ｄｍａｘは、次の目標点を中心として、０〜１（ｍ／ｓ）×０．０２ｓｅｃを半径とする円の範囲となる。もちろんこの許容範囲ｄｍａｘは、自動搬送台車１を走行させる目的や目標速度などにより適宜変更すればよい。後述する経由点や補間点でもよいし、また、現在位置に対して、経由点および補間点方向に、現在速度×制御サンプリング周期だけ進んだ点を補間店とは別に設定してもよい。
【００５５】
このように許容範囲ｄｍａｘを設け、自動搬送台車１の移動量Ｓａｖｅの値が許容範囲ｄｍａｘを超えた場合には、いずれかの駆動ユニットに大きな誤差が発生しているものとして、大きな誤差の発生した駆動ユニットの移動量ΔＳｉを平均値の算出に用いないことで、自動搬送台車１の現在位置の算出精度を上げることができる。
【００５６】
しかし、全ての駆動ユニットの移動量ΔＳｉから平均化して求めた自動搬送台車１の移動量Ｓａｖｅの値だけでは、どの駆動ユニットの誤差が大きいのか判別することができない。そこで、本実施形態では、一つの駆動ユニットを除いて他の駆動ユニットだけから平均値を求め、その平均値が許容範囲ｄｍａｘを超えているかどうかにより、誤差の大きな駆動ユニットを判別することとした。これは一つの駆動ユニットを除いた他の駆動ユニットだけから算出した平均値が、許容範囲ｄｍａｘを超えていなければ、そのとき除かれている駆動ユニットが大きな誤差の発生源となっているとわかるものである。
【００５７】
また、一方で、このような大きな誤差の発生した駆動ユニットがある場合でも、自動搬送台車１には、複数の駆動ユニットが設けられているため、大きな誤差の発生した駆動ユニットにスリップなどが生じていても、自動搬送台車１そのものの進行方向が大きくくるうことはなく、ただ、大きな誤差の発生した駆動ユニットの移動量を加えてしまうと自動搬送台車１の移動量（すなわち現在位置）の算出にくるいが生じるので、これを排除するのである。
【００５８】
具体的には、第１駆動ユニット１１の移動量ΔＳ１を除いて、他の駆動ユニットの移動量ΔＳ２〜４の値を用いて平均化した値Ｓａｖｅ１とｄｍａｘとの比較、同様に第２駆動ユニット１２の移動量ΔＳ２を除いて、他の駆動ユニットの移動量ΔＳ１、ΔＳ３およびΔＳ４の値を用いて平均化した値Ｓａｖｅ２とｄｍａｘとの比較、同様に第３駆動ユニット１３の移動量ΔＳ３を除いて、他の駆動ユニットの移動量ΔＳ１、ΔＳ２およびΔＳ４の値を用いて平均化した値Ｓａｖｅ３とｄｍａｘとの比較、同様に第４駆動ユニット１４の移動量ΔＳ４を除いて、他の駆動ユニットの移動量ΔＳ１〜３の値を用いて平均化した値Ｓａｖｅ４とｄｍａｘとの比較を、それぞれ実行する。そして、これらＳａｖｅ１〜４のうちｄｍａｘを超えないＳａｖｅｉ（ただし、ｉは１〜４）があればそのＳａｖｅｉのときに除外されている駆動ユニットが大きな誤差を発生させていると判断する。
【００５９】
各駆動ユニットに生じる誤差は、たとえば、駆動輪のスリップ、駆動輪が空気注入タイヤの場合の空気圧不足やパンク、駆動輪がソリッドゴムタイヤの場合の磨耗量の違い、そして、複数の駆動ユニット間での速度の違い、ステアリング軸３０の角度の違いによる内力、ステアリング軸３０に設けられている角度センサ３１の向きの違いによる内力、角度センサ３１の誤差などによって発生する。
【００６０】
図１３は複数の駆動ユニット間での速度の違いを説明する説明図であり、図１３はステアリング軸３０の角度の違いによる内力を説明する説明図である。
【００６１】
複数の駆動ユニット間での速度の違いは、図１２（ａ）に示すように、たとえば、第１駆動ユニットの速度ν１が第３駆動ユニット速度ν３より速い場合、これらの合成速度ｓνは、ν１より遅くν３より速いことになる。このため、これら駆動ユニット間では、速度差が生じてしまうことになる。同様に図１２（ｂ）に示すように、たとえば、第１駆動ユニット１１の速度ν１が第３駆動ユニット１３の速度ν３より遅い場合、これらの合成速度ｓνは、ν１より速くν３より遅いことになり、これら駆動ユニット間では速度差が生じてしまうことになる。
【００６２】
このような速度誤差は速く回転する方の駆動ユニットがスリップして、現在位置算出の際の誤差原因となる。
【００６３】
一方、ステアリング軸３０の角度の違いによる内力は、図１３（ａ）に示すように、第１駆動ユニット１１と第２駆動ユニット１２の速度ベクトルが互いに内向きとなった場合や、図１３（ｂ）に示すように、第１駆動ユニット１１と第２駆動ユニット１２の速度ベクトルが互いに外向きとなった場合に発生する。内向きになった場合には、互いに外側へ作用する力が発生し、第１駆動ユニット１１ではｅθ１＜０方向の力が発生し、第２駆動ユニット１１ではｅθ１＞０方向の力が発生する。一方、外向きになった場合には、互いに内側へ作用する力が発生し、第１駆動ユニット１１ではｅθ１＞０方向の力が発生し、第２駆動ユニット１１ではｅθ１＜０方向の力が発生する。
【００６４】
このような内力が生じるとそれぞれの駆動ユニットは加わった力からの分だけスリップすることになり、しかも、ステアリング軸３０の切れ角が変わって力のバランスが崩れた場合、どちらかの方向へ回転移動してしまうことになる。このため、このようなステアリング軸３０の角度の違いによる内力も現在位置算出の際の誤差原因となる。
【００６５】
次に、自動搬送台車１が自律走行するときの全体の制御について説明する。
【００６６】
図８は自動搬送台車１が自律走行するときの制御装置２０の動作手順を示すフローチャートである。
【００６７】
まず、制御装置２０は、走行するコースの入力を受ける（Ｓ１）。このとき入力されるコースは、走行予定の経路の代表的な経路点と、その間の補間方法のみでよい。
【００６８】
図９は、この経路点とその間の補間指示についての説明図である。
【００６９】
走行するコースは、図９に示すように、自動搬送台車１を走行させたい経路の何点かを経由点として設定、入力し、さらに、経由点の間をどのように走行するかを補間指示として入力する。経由点は、通常、経路の始点、終点と、その間で経路が曲がる位置などを入力する。そして、経由点の間をまっすぐ進めば良いところは直線補間を指示し、曲がる部分では円弧補間を指示することになる。
【００７０】
次に制御装置２０は、入力された経由点と補間指示に基づいて、目標軌跡生成と目標速度・目標回転速度の算出を行う（Ｓ２）。
【００７１】
図１０は、目標軌跡生成と目標速度・目標回転速度の算出についての説明図である。
【００７２】
図示するように、直線補間が指示された区間では、図１０（ａ）に示すように、目標速度として、はじめの経由点（ｔ＝０ｓ）から速度が徐々に速くなり、経由点間の中間点（ｔ＝１０ｓ）まで加速し、中間点から直線補間が指示された区間の終わりの経由点（ｔ＝２０ｓ）まで徐々に遅くなるように補間点を設定する。ただし、最大速度は、直線走行時の最大速度を超えないものとする。
【００７３】
一方、円弧補間を指示された区間では、基本的に目標速度は、直線補間と同様に、その区間のはじめの経由点（ｔ＝２０ｓ）から速度が徐々に速くなり、経由点間の中間点（ｔ＝３０ｓ）まで加速し、中間点からその区間の終わりの経由点（ｔ＝４０ｓ）まで徐々に遅くなるように補間点を設定する。ただし、最大速度は、円弧走行時の最大速度を超えないものとする。
【００７４】
このとき設定された円弧走行時の速度νは、図１０（ｂ）に示すように、２次元座標系を用いて目標回転速度として、ｘ軸方向の速度νｘｊとｙ軸方向の速度νｙｊに分解する。なお図においてｗθは、駆動ユニットの向きを示し、自動搬送台車１の現在姿勢＋駆動ユニットのステアリング角度である。ここで自動搬送台車１の現在姿勢は、現在位置から求められた自動搬送台車１の向きであり、ステアリング角度は各駆動ユニットの角度センサ３１から得られる値である。
【００７５】
これにより、走行準備が整うので制御装置２０は、走行指令（不図示）があれば自動搬送台車１を走行させることができる。
【００７６】
自動搬送台車１の走行時は、制御装置２０が、直線区間においては上記直線区間の目標速度となるように、各駆動ユニットのそれぞれの駆動輪が同じ速度となるように指令し、円弧区間においては、上記円弧区間の目標速度および目標回転速度となるように、各駆動ユニットのそれぞれの駆動輪の速度となるように指令する。
【００７７】
図１１は、円弧区間の速度指令を説明する説明図である。
【００７８】
円弧区間では、図１１（ａ）に示すように、その区間の円弧の中心位置ＩＣＲがあらかじめ定められており（上記円弧補間指令の際に指令する円弧の中心位置ＩＣＲとして指定される）。上記目標回転速度は、このＩＣＲから自動搬送台車１の中心位置までの距離ｒ０が移動する円弧として算出されたものであるから、これをそれぞれの駆動ユニット１１〜１４に分配しなければならない。ＩＣＲからそれぞれの駆動ユニットのコントロールポイントＣＰまでの距離をｒｉとすれば、それぞれの駆動ユニットの目標速度νｉ＝ν＋ｗθ×ｒｉとなる。
【００７９】
制御装置２０は、図１１（ｂ）に示すように、得られた各駆動ユニットの目標速度νｉを各駆動ユニットにおけるそれぞれの駆動輪の速度に分配して指令する。
【００８０】
各駆動ユニットの目標速度νｉは、下記（１）式により求めることができる。
【００８１】
νｉ＝ｗｊ・ｕｉ  から、ｕｉ＝ｗｊ−１・νｉ  …（１）
式中、ｕｉは一つの駆動ユニットの中の各駆動輪の速度である。したがって、ｕｉの添え字ｉは１または２であり、たとえばｕ１＝左駆動輪の速度、ｕ２＝右駆動輪の速度である。
【００８２】
ｕｉは、下記（２）式により求められる。
【００８３】
【数１】
2008123116.tif 000003
【００８４】
また、ｗｊ−１はヤコビアン行列を示し、下記（３）式で示される。
【００８５】
【数２】
2008123116.tif 000004
【００８６】
（２）および（３）式中、ドットθｌｉは左駆動輪の回転速度、ドットθｒｉは右駆動輪の回転速度を示す（ドットは式及び図に示したとおり微分値であることを示す符号である）。また、ｒは駆動輪（車輪）の半径であり、θ（ドットのない）は駆動輪（車輪）の回転角度である。また、ｓはステアリング軸から車軸までの距離でありオフセット量という。
【００８７】
走行が始まると、制御装置２０は、既に説明したとおり、各駆動ユニットの移動量ΔＣＰｉを求める（Ｓ１０）。移動量を求める間隔はあらかじめ決められた制御サンプリング周期による。
【００８８】
そして、制御装置２０は得られた各駆動ユニット１１〜１４の移動量ΔＣＰｉから自動搬送台車１の中心位置ＯＯにおける移動量の平均値Ｓａｖｅを算出して（Ｓ１１）、その値が許容範囲ｄｍａｘ内であれば（Ｓ１２：Ｙｅｓ）、その平均値Ｓａｖｅに基づいて各駆動ユニット１１〜１４の現在位置を算出する（Ｓ１５）。
【００８９】
一方、平均値Ｓａｖｅが許容範囲ｄｍａｘを超えていれば（Ｓ１２：Ｎｏ）、どの駆動ユニットの誤差が大きいかを検出する（Ｓ１４）。この動作は、既に説明したとおり、一つの駆動ユニットを除いた駆動ユニットから平均値Ｓａｖｅｉを求めて、求めた平均値Ｓａｖｅｉが許容範囲ｄｍａｘ内であれば、そのとき除外された駆動ユニットの誤差が大きいものと判断する。制御装置２０は、許容範囲ｄｍａｘ内となった平均値Ｓａｖｅｉをそのときの平均値Ｓａｖｅとして（Ｓ１５：誤差の大きな駆動ユニットを除外した平均値とする）、その平均値から各駆動ユニット１１〜１４の現在位置を算出する（Ｓ１５）。
【００９０】
続いて、制御装置２０は、現在位置が経路終点に達したか否かを判断して（Ｓ１６）、終点に到達していなければ、現在位置から目標点までの目標速度と方向を算出して、各駆動ユニットに対して指令する（Ｓ１７）。ここでの目標点は経路上の次の補間点である。その後はＳ１０へ戻り処理を継続する。
【００９１】
一方、Ｓ１６において経路終点に到達したと判断されたなら処理を終了する。
【００９２】
以上説明したように本実施形態によれば、各駆動ユニット１１〜１４それぞれの移動量を平均化して自動搬送台車１全体としての移動量Ｓａｖｅを求めることで、駆動輪以外の外界センサを必要とせず、自動搬送台車１の位置を求めることができ、さらに得られた自動搬送台車１全体としての移動量Ｓａｖｅを現在位置として駆動ユニットの現在位置にフィードバックすることで、自動的に現在位置の補正が行われるようになる。
【００９３】
また、自動搬送台車１の移動量Ｓａｖｅが許容範囲ｄｍａｘを越えていれば、どの駆動ユニットの誤差が大きいかを検出して、その誤差の大きな値を除外することとしたので、より正確な現在位置を求めることができる。
【００９４】
以上本発明を適用した実施形態を説明したが、本発明はこのような実施形態に限定されるものではない。たとえば、上述した実施形態では駆動ユニットが４つの場合を説明したが、３つの場合であっても適用することができる。また、上述した実施形態では誤差の大きな駆動ユニットを検出する際に、一つの駆動ユニットの移動量を除いた他の３つの駆動ユニットの移動量を平均化することとしたが、これに変えて、２つの駆動ユニットの移動量を除外するようにしてもよい。
【００９５】
さらには、上述した実施形態において大きな誤差の生じた駆動ユニットを検出した場合に、その駆動ユニットを制御装置内で記憶し、その後、連続して同じ駆動ユニットが大きな誤差が生じていると判断された場合には、その駆動ユニットに単純なスリップではなく故障などによる不具合があるものとして警告を表示するなどしてもよい。
【産業上の利用可能性】
【００９６】
本発明は、自走式の台車に利用できる。
【図面の簡単な説明】
【００９７】
【図１】本発明を適用した自動搬送台車の構成を説明するための概略図である。
【図２】自動搬送台車の制御系を説明するためのブロック図である。
【図３】一つの駆動ユニットの構成を説明するための斜視図である。
【図４】一つの駆動ユニットにおける駆動輪の動きとそれに伴う駆動ユニットの進行方向を説明する説明図である。
【図５】駆動ユニットの速度ベクトルの算出方法について説明する説明図である。
【図６】自動搬送台車全体の移動量の算出方法を説明する説明図である。
【図７】自動搬送台車全体の移動量の算出方法を説明する説明図である。
【図８】自動搬送台車が自律走行するときの制御装置の動作手順を示すフローチャートである。
【図９】経路点とその間の補間指示についての説明図である。
【図１０】目標軌跡生成と目標速度・目標回転速度の算出についての説明図である。
【図１１】円弧区間の速度指令を説明する説明図である。
【図１２】複数の駆動ユニット間での速度の違いを説明する説明図である。
【図１３】ステアリング軸の角度の違いによる内力を説明する説明図である。
【符号の説明】
【００９８】
１…自動搬送台車、
１０…荷台、
２０…制御装置、
３０…ステアリング軸、
３１…角度センサ、
４１…第１モータ、
４２…第１エンコーダ、
４３…第２モータ、
４４…第２エンコーダ。
【図８】
2008123116.tif 000005
【図１】
2008123116.tif 000006
【図２】
2008123116.tif 000007
【図３】
2008123116.tif 000008
【図４】
2008123116.tif 000009
【図５】
2008123116.tif 000010
【図６】
2008123116.tif 000011
【図７】
2008123116.tif 000012
【図９】
2008123116.tif 000013
【図１０】
2008123116.tif 000014
【図１１】
2008123116.tif 000015
【図１２】
2008123116.tif 000016
【図１３】
2008123116.tif 000017