(57)【要約】 【構成】  走行ルートの周回距離Ｌとこれを複数に分割した分割距離Ｐとを記憶し、エンコーダ信号ｅから  ｅ modＰ＝ｄ  ｅ＝ｃＰ＋ｄ  となる値ｃ，ｄを求めて、（ｃ，ｄ）を現在位置とする。      【効果】  １個の基準マークでかつ簡単な補正演算により、エンコーダへの補正を施すことができる。【選択図】    図２
2008276605.tif 000002
【特許請求の範囲】
【請求項１】
走行ルートに沿って、走行ルート上の位置を求めるための距離センサを備えた走行車を走行させるシステムにおいて、
走行車に、
走行ルートの全長を求めるための手段と、
走行ルートの全長を走行した際の前記距離センサの信号をルート長Ｌとして、該ルート長Ｌをｍ区間に仮想的に分割して、区間の切れ目での距離センサの信号と比較する信号を記憶するための記憶手段と、
距離センサの信号が区間の切れ目に達する毎に区間情報を更新すると共に、区間の切れ目からの距離センサの信号の増分を求めるための現在位置算出手段、
とを設けたことを特徴とする、走行車システム。  
【請求項２】
前記各区間の長さＰを共通にしたことを特徴とする、請求項１の走行車システム。
【請求項３】
前記各区間の長さＰをＬ／２ｎ（ｎは自然数）としたことを特徴とする、請求項２の走行車システム。
【請求項４】
前記走行車を複数台走行させると共に、前記区間情報と増分とを他の走行車との間で通信するための通信部と、受信した他の走行車の区間情報と前記増分とから自機との干渉を回避するための干渉回避手段を設けたことを特徴とする、請求項１〜３のいずれかの走行車システム。
【請求項５】
前記走行ルートが周回ルートで、該走行ルートに沿って基準となるマークを１箇所に設け、
走行車に該マークを検出するための手段を設けて、該マークを検出した後に走行ルートを一周して再度前記マークを検出するまでの距離センサの信号を、前記ルート長Ｌとするようにしたことを特徴とする、請求項１〜４のいずれかの走行車システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、無人搬送車、有軌道台車、スタッカークレーンや天井走行車などの走行車のシステムに関する。
【背景技術】
【０００２】
複数の走行車が同一ルートを走行するシステムでは、各走行車が現在位置のデータを互いに交換して、干渉を回避することが行われている（特許文献１：特開２００５−１９６６５５）。ここで走行ルートの全長に渡ってリニアセンサの被検出マークを設け、リニアセンサで正確な現在位置を求めることができる場合、求めた現在位置を互いに通信すればよい。しかしながらエンコーダなどの補正が必要なセンサの場合、エンコーダ値を通信する前に補正が必要である。センサ信号の補正では、センサ信号と実際の走行距離との比を求めて、この比でセンサ信号を絶えず除算することが考えられるが、除算を繰り返し行うことになり制御回路側の負担が大きい。そこで発明者は走行ルートに沿って複数の校正マークを設けて、校正マークを通過する毎にセンサ信号を校正することを検討したが、校正マークの位置を正確に求める必要があり、マークの設置上の負担が大きい。
【特許文献１】特開２００５−１９６６５５
【発明の開示】
【発明が解決しようとする課題】
【０００３】
この発明の課題は、走行車の現在位置を補正するための、校正用のマークの設置を容易にし、かつ補正演算を簡単にすることにある。
請求項２，３の発明での追加の課題は、現在位置を通信する際の、走行車間の通信データが短くて済むようにすることにある。
請求項４の発明での追加の課題は、走行車間の干渉を回避することにある。
請求項５の発明での追加の課題は、走行ルートの全長を容易に求めることができるようにすることにある。
【課題を解決するための手段】
【０００４】
この発明の走行車システムは、走行ルートに沿って、走行ルート上の位置を求めるための距離センサを備えた走行車を走行させるシステムにおいて、
走行車に、
走行ルートの全長を求めるための手段と、
走行ルートの全長を走行した際の前記距離センサの信号をルート長Ｌとして、該ルート長Ｌをｍ区間に仮想的に分割して、区間の切れ目での距離センサの信号と比較する信号を記憶するための記憶手段と、
距離センサの信号が区間の切れ目に達する毎に区間情報、例えば区間の番号やＩＤ、を更新すると共に、区間の切れ目からの距離センサの信号の増分を求めるための現在位置算出手段、
とを設けたことを特徴とする。
走行ルートの分割は制御上の仮想的なもので、走行ルートに沿って実際に分割用のマークなどを設ける必要はなく、ルートの全長に対する距離センサの信号をｍ区間に分割すればよい。現在位置の通信は、走行車間で直接にあるいは地上側のコントローラなどを介して行う。
【０００５】
ここで前記各区間の長さＰを共通にすると、区間を分割するためのデータとして単一のデータＰを記憶すれば良く、また走行車の現在位置の通信が簡単になる。
さらに前記各区間の長さＰをＬ／２ｎ（ｎは自然数）とすると、現在位置を通信する際に区間情報を２進法で表示し、これに区間の切れ目からのデータを付加すれば良く、通信するデータ長を短くできる。
【０００６】
また好ましくは、前記走行車を複数台走行させると共に、前記区間情報と増分とを他の走行車との間で通信するための通信部と、受信した他の走行車の区間情報と前記増分とから自機との干渉を回避するための干渉回避手段を設ける。干渉の回避では一般に車間距離が必要であるが、同じ区間内では増分の差のみを用い、区間が異なる場合は増分の差に区間の長さを加味し、基準マークからの実際の距離に換算しなくても良い。あるいは現在位置を基準マークからの実際の距離に換算して、自機と他の走行車との車間距離を求めても良い。
【０００７】
好ましくは、前記走行ルートが周回ルートで、該走行ルートに沿って基準となるマークを１箇所に設け、走行車に該マークを検出するための手段を設けて、該マークを検出した後に走行ルートを一周して再度前記マークを検出するまでの距離センサの信号を、前記ルート長Ｌとする。基準マークの位置自体は任意で、設置精度は必要でない。なお走行ルートが往復ルートの場合、基準マークを例えば走行ルートの両端部付近に設けて、走行ルートの両端に応じた長さを求める。
【発明の効果】
【０００８】
この発明では、距離センサで求めた信号を、区間情報と区間の切れ目からの距離センサの信号の増分とに分解する。区間は走行ルートの全長を仮想的にｍ分割したもので、区間分割用のマークなどは不要である。距離センサには誤差があるが、ｍ個の区間の長さの比が各走行車間で共通であれば、区間の切れ目も走行車間で共通である。次に区間内での位置を示すデータには距離センサの誤差に比例した誤差があるが、区間の長さを短くするとこの誤差は小さくなる。
この発明では、距離センサの信号が得られる毎に補正係数で除算するような負担がない。また適宜に位置に基準となるマークを設置し、あるいはリミットスイッチなどで走行車が所定の位置を通過したことを検出すれば良く、位置が既知の分割マークを複数設置する手間が不要である。この発明では、距離センサの誤差を小さくすることにより、走行車間の干渉の回避や正確な停止制御などを行うことができる。  
【０００９】
ここで走行ルートを分割した各区間の長さＰを一定にすると、区間長の記憶が容易になる。また走行ルートを２ｎ個の区間に分割すると、距離センサの信号をｅとして増分ｄと区間情報ｃは、ｅがＰの倍数に達する毎に増分ｄを０にリセットして区間情報ｃを１変更することで求まる。また送信データはｃの２進法表記とｄで短くて済む。
そして走行車間で区間情報と増分とを通信するようにすると、他の走行車の区間情報と増分とを受信することにより、車間距離を求めて干渉を回避できる。
特にマークを周回ルートの１箇所に設けて、マークを検出した後に再度該マークを検出するまでの距離センサの信号を走行ルートの長さＬとすると、簡単にルート長Ｌを求めることができる。
【発明を実施するための最良の形態】
【００１０】
以下に本発明を実施するための最適実施例を示す。
【実施例】
【００１１】
図１〜図５に、実施例の走行車システムと変形例とを示す。図１〜図４において、２は走行車システムで、４は走行ルートで、ここでは周回ルートであり、走行ルート４の１箇所の適宜の位置にＩＣタグやバーコード、光学マーク、磁気マークなどからなる基準マーク６を設ける。基準マーク６は走行原点などの特定の位置に設ける必要はない。８はステーションで、複数台の走行車１０が走行ルート４に沿って周回走行し、現在位置を走行車１０間で通信すると共に、コントローラ１２に報告する。そしてコントローラ１２は走行車１０に搬送指令を割り付ける。なお走行車１０の種類は、地上走行の無人搬送車や、地上を有軌道で走行する有軌道台車やスタッカークレーン、あるいは天井走行車などとする。
【００１２】
図２に、走行車１０での走行制御系を示す。エンコーダ１４は走行ルート４に沿って走行距離を表す信号ｅ（エンコーダ信号）を求め、信号ｅを出力する代わりに単にモータ軸などの回転数を表すパルス列を出力しても良い。マークセンサ１６はＲＦＩＤリーダや、バーコードリーダ、光学センサ、磁気センサなどからなり、基準マーク６を検出する。通信部１８は他の走行車やコントローラ１２と通信し、現在位置を報告すると共に、他の走行車の現在位置を受信し、コントローラ１２から搬送指令を受信し、搬送結果を報告する。干渉回避部２０は、他の走行車との車間距離を算出し干渉を回避する。演算部２２は走行車１０の制御に必要な演算を行い、例えば走行ルート４を１周する際の周回距離Ｌをエンコーダ１４が求めると、この距離を所定の分割数ｍで除算し、分割距離Ｐを求める。分割数ｍは例えば２のべき乗とする。また演算部２２は通信部１８から他の走行車の現在位置を受信すると、自機との車間距離を求める。
【００１３】
周回距離記憶部２４は、テスト走行として走行車１０が走行ルート４を１周した際に、基準マーク６を検出した後１周して再度基準マーク６を検出するまでの、エンコーダ１４の信号ｅの増分を周回距離Ｌとして記憶する。分割距離記憶部２６は、周回距離Ｌを２n（ｎは自然数）個の区間に等分した際の分割距離Ｐを記憶し、  Ｌ＝２n×Ｐ  である。位置カウンター２８は、分割した区間の切れ目でエンコーダ１４の信号を０にリセットした距離ｄと、区間の番号ｃ（ｃは自然数または０）とをカウントする。位置カウンター２８では、エンコーダ信号ｅが分割距離Ｐの倍数になる毎に距離ｄを０にリセットし、区間番号ｃを１加算する。なお区間番号ｃを１ずつ加算する代わりに、区間番号ｃを０から負の値へ１ずつ減算しても良い。そしてカウンター値ｄはエンコーダ１４からのパルスにより増加し、
ｅ  modＰ＝ｄ、ｅ＝ｃＰ＋ｄ  の関係がある。
【００１４】
図３に、位置カウンター２８の構成を示す。エンコーダ１４はパルスジェネレータ３０とカウンタ３１とからなり、パルスジェネレータ３０はモータ軸の回転数などを監視してパルス列を発生し、このパルス列でカウンタ３１を加算してエンコーダ信号ｅを出力する。なおカウンタ３１は設けなくても良い。位置カウンター２８はカウンタ３２と比較部３３並びにレジスタ３４とからなり、カウンタ３２はパルスジェネレータ３０のパルス列で加算され、その出力ｄを比較部３３へ入力する。比較部３３はカウンタ３２の出力ｄを分割距離Ｐと比較し、これらが一致もしくはｄが分割距離Ｐよりも大きくなると、カウンタ３２を０へリセットする。そしてカウンタ３２のリセットと同時に、レジスタ３４の値を１加算する。またマークセンサにより基準マークを検出すると、カウンタ３２とレジスタ３４を共に０にリセットする。なおカウンタ３２で走行ルート４の１周分の走行距離を求める場合、１周の間カウンタ３２を０にリセットせずに、パルスジェネレータ３０の信号を加算すると良い。
【００１５】
図４に、実施例での現在位置の取得アルゴリズムを示す。周回距離Ｌを取得するため、各走行車は走行ルート４を１周する。そして基準マークを検出すると、エンコーダ値ｅを０にリセットし、１周して再度基準マークを検出すると、エンコーダ値ｅを周回距離Ｌとして記憶する。また周回距離Ｌを２n等分し、分割距離Ｐとして記憶する。周回距離Ｌや分割距離Ｐの算出は各走行車１０毎に行い、分割距離Ｐの算出は各走行車１０が独自に行っても、周回距離Ｌをコントローラ１２に送信して、コントローラ１２で計算した分割距離Ｐを受信してもよい。
【００１６】
現在位置の取得では、基準マークを検出する毎にエンコーダ値を０にリセットし、位置カウンター２８の出力ｃ，ｄを共に０にリセットする。エンコーダ値ｅを０にリセットする代わりに、基準マーク６を検出してからのエンコーダ値の増分を用いてもよい。エンコーダ値ｅの増加と同期してカウンタ値ｄを加算し、ｄがＰ以上の場合、
ｄ＝ｄ−Ｐ，ｃ＝ｃ＋１  とする。そして求めたｃとｄの組み合わせを現在位置を表すデータとして、他の走行車やコントローラ１２へ送信する。次に他の走行車から現在位置のデータ（ｃ’，ｄ’）を受信し、車間距離を算出する。例えば干渉の回避は後行の走行車が行うものとし、区間番号ｃと区間内での走行距離ｄの比較により、いずれの走行車が先行しているかを確認する。そして同じ区間内ではｄとｄ’との比較により、区間が異なる場合は区間内の走行距離ｄ，ｄ’と１区間当たりの距離Ｐとを加味して、車間距離を求め、求めた車間距離に基づいて干渉を回避する。
【００１７】
以上のようにすると、簡単に走行車間の干渉を回避できる。そして干渉の回避では、基準マークを走行ルートに沿って適宜の位置に設置すれば良く、その設置精度は重要ではない。また走行ルートに沿って複数箇所に位置が既知の分割マークを設置する必要もない。さらにエンコーダ毎の補正係数を求めて、エンコーダ値を絶えず除算する必要もない。従って簡単に基準マークを設置して、簡単にエンコーダ誤差を補正した現在位置のデータを求めることができる。  
【００１８】
周回ルートを等分せずに区間によって分割距離が異なる場合、区間毎の分割距離を図示しないテーブルに記憶し、図３の比較部３３で距離ｄがテーブルに記憶した分割距離と一致することを検出すると、カウンタ３２をリセットし、レジスタ３４を１加算すると良い。
【００１９】
図１〜図４の実施例では、走行ルート４に沿って周回走行する走行車１０を示した。これに代えて図５に、走行レール５１に沿って往復走行するスタッカークレーン５２，５３を用いたシステムの例を示す。５０は変形例の走行車システムで、５１は走行レールで、スタッカークレーンの１号機５２と２号機５３が走行し、走行レール５１は左右の非干渉範囲と中央の干渉範囲の３つの範囲に分けられる。５４，５５は基準マークで、スタッカークレーン５２，５３はマークセンサ５６，５７を備えて、マーク５４，５５を検出する。
【００２０】
スタッカークレーン５２，５３はそれぞれ基準マーク５４，５５間の走行距離をエンコーダで求め、これを（２n−２）個の区間に等分し、さらにマーク５４，５５の左右に同じ分割距離の区間を１区間ずつ追加する。合計の分割数は２ｎで、各区間の分割距離は一定である。ここで分割距離Ｐがスタッカークレーン５２，５３の車体長の１／２よりもやや大きいようにすると、基準マーク５４，５５の左右に１区間ずつ追加することにより、スタッカークレーン５２，５３間の干渉範囲での現在位置を、区間番号と区間の切れ目を基準としてエンコーダで求めた距離で表現できる。そして区間は、例えば基準マーク５４の左側の区間を区間０とし、基準マーク５５の右側の区間を２n−１番目の区間とし、各区間内での距離データを、例えば区間の左端で０，右端でＰとなるように定める。
【００２１】
このようにすると、区間番号と区間内の距離データとの意味が、１号機５２と２号機５３の間で共通となる。１号機５２と２号機５３は図示しない通信部により互いに区間番号と区間内距離の形で現在位置を通知し、非干渉範囲にある場合干渉の恐れがないので、非干渉範囲にあることのみを通知する。１号機５２と２号機５３は受信した相手方の現在位置のデータから車間距離を求め、干渉を回避する。他の点では図１〜図４の実施例と同様である。
【００２２】
なお基準マーク６を設ける代わりに、周回走行ルートの１箇所にリミットスイッチなどを設けて、走行車１０を検出するとその旨を走行車１０に通信しても良い。この場合、走行車１０は前記の通信を受信した後に再度受信するまでのエンコーダでの走行距離が、走行ルート長となる。さらに基準マーク６を設ける場合も、リミットスイッチなどを設ける場合も、走行ルートを一周するとエンコーダ値をリセットすることが好ましい。走行車１０間で直接通信することにより、コントローラ１２の負担を軽減しかつタイムラグを小さくすることが好ましいが、コントローラ１２を介して通信しても良い。
【図面の簡単な説明】
【００２３】
【図１】実施例の走行車システムのブロック図
【図２】実施例の走行車での、走行制御系を示すブロック図
【図３】実施例でのエンコーダと位置カウンターとのブロック図
【図４】実施例での現在位置取得アルゴリズムを示すフローチャート
【図５】変形例の走行車システムのブロック図
【符号の説明】
【００２４】
２          走行車システム
４          走行ルート
６          基準マーク
８          ステーション
１０        走行車
１２        コントローラ
１４        エンコーダ
１６        マークセンサ
１８        通信部
２０        干渉回避部
２２        演算部
２４        周回距離Ｌの記憶部
２６        分割距離Ｐの記憶部
２８        位置カウンター
３０        パルスジェネレータ
３１，３２  カウンタ
３３        比較部
３４        レジスタ
５０        走行車システム
５１        走行レール
５２，５３  スタッカークレーン
５４，５５  基準マーク
５６，５７  マークセンサ
【図１】
2008276605.tif 000003
【図２】
2008276605.tif 000004
【図３】
2008276605.tif 000005
【図４】
2008276605.tif 000006
【図５】
2008276605.tif 000007