(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-11
(45)【発行日】2024-03-19
(54)【発明の名称】移動体、移動体の制御方法、およびプログラム
(51)【国際特許分類】
G05D 1/244 20240101AFI20240312BHJP
G05D 1/43 20240101ALI20240312BHJP
【FI】
G05D1/244
G05D1/43
(21)【出願番号】P 2020104277
(22)【出願日】2020-06-17
【審査請求日】2023-05-11
(73)【特許権者】
【識別番号】000232254
【氏名又は名称】日本電気通信システム株式会社
(74)【代理人】
【識別番号】100110928
【氏名又は名称】速水 進治
(72)【発明者】
【氏名】陳 靖翔
(72)【発明者】
【氏名】石田 由香里
(72)【発明者】
【氏名】小林 航生
【審査官】稲垣 浩司
(56)【参考文献】
【文献】特開平10-297521(JP,A)
【文献】特開平11-242521(JP,A)
【文献】特開2006-107027(JP,A)
【文献】米国特許出願公開第2002/0165648(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/244
G05D 1/43
(57)【特許請求の範囲】
【請求項1】
走行路に沿って移動する本体と、
前記本体に取り付けられ、前記走行路の路面に設けられていて前記走行路を示すラインを検出する複数のセンサと、
前記複数のセンサによる前記ラインの検出結果を用いて前記本体の移動を制御する制御手段と、
を備え、
前記複数のセンサは、前記走行路に交わる方向に並んでおり、
前記制御手段は、
前記本体の速度v
0にρ(ただし0<ρ<1)を乗じた値を、前記ラインに垂直な方向における前記本体の速度である垂直方向速度の推定値として算出し、
前記検出結果を用いて、前記ラインを基準とした前記本体の相対位置を推定し、
前記推定された前記相対位置及び前記垂直方向速度の推定値を用いて、前記本体の移動方向を制御し、
前記ρは、前記本体が走行している間は固定されている移動体。
【請求項2】
請求項1に記載の移動体において、
前記移動体が走行していないとき、前記ρは変更可能である移動体。
【請求項3】
請求項1又は2に記載の移動体において、
0.05≦前記ρ≦0.5である移動体。
【請求項4】
請求項1~3のいずれか一項に記載の移動体において、
前記センサを3個以上有する移動体。
【請求項5】
請求項1~4のいずれか一項に記載の移動体において、
前記制御手段は、以下の式(1)を用いて現在の前記相対位置x
nを推定する移動体。
x
n=x
n-1+Δt(v
0×ρ-vx´)・・・(1)
ここで、Δtは一つ前に処理を行ってから現在までの経過時間であり、x
n-1は一つ前に算出した前記相対位置であり、vx´は当該推定の直前に行われた前記制御手段による前記垂直方向速度の操作量である。
【請求項6】
請求項5に記載の移動体において、
前記制御手段は、今回行うべき前記垂直方向速度の操作量、及び前記vx´を、PI(Proportional Integral)制御、PID(Proportional Integral Differential)制御、又はP(Proportional)制御によって決定する移動体。
【請求項7】
走行路に沿って移動する移動体の制御方法であって、
前記移動体は、
当該移動体の本体に取り付けられ、前記走行路の路面に設けられていて前記走行路を示すラインを検出する複数のセンサと、
前記複数のセンサによる前記ラインの検出結果を用いて前記本体の移動を制御する制御手段と、
を備え、
前記複数のセンサは、前記走行路に交わる方向に並んでおり、
前記制御手段は、
前記本体の速度v
0にρ(ただし0<ρ<1)を乗じた値を、前記ラインに垂直な方向における前記本体の速度である垂直方向速度の推定値として算出し、
前記検出結果を用いて、前記ラインを基準とした前記本体の相対位置を推定し、
前記推定された前記相対位置及び前記垂直方向速度の推定値を用いて、前記本体の移動方向を制御し、
前記ρは、前記本体が走行している間は固定されている、移動体の制御方法。
【請求項8】
走行路に沿って移動する移動体の制御に用いられるプログラムであって、
前記移動体は、
当該移動体の本体に取り付けられ、前記走行路の路面に設けられていて前記走行路を示すラインを検出する複数のセンサと、
前記複数のセンサによる前記ラインの検出結果を用いて前記本体の移動を制御するコンピュータと、
を備え、
前記複数のセンサは、前記走行路に交わる方向に並んでおり、
前記プログラムは、前記コンピュータに、
前記本体の速度v
0にρ(ただし0<ρ<1)を乗じた値を、前記ラインに垂直な方向における前記本体の速度である垂直方向速度の推定値として算出する機能と、
現在の前記検出結果を用いて、前記ラインを基準とした前記本体の相対位置を推定する機能と、
前記推定された前記相対位置及び前記垂直方向速度の推定値を用いて、前記本体の移動方向を制御する機能と、
を持たせ、
前記ρは、前記本体が走行している間は固定されている、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動体、移動体の制御方法、およびプログラムに関する。
【背景技術】
【0002】
近年は、倉庫などにおいて無人の移動体、例えば搬送車を用いることが検討されている。このような移動体の移動経路は、床にラインを引くことによって設定されていることが多い。この場合、移動体には、ラインを検出するためのセンサが設けられる。例えば特許文献1に記載の無人搬送車は、複数の光学式センサを有している。これら複数の光学式センサは、ラインに対して横方向に並んでいる。そしてこの無人搬送車は、これら複数の光学式センサの検出結果を用いて自動走行する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
移動体をラインに沿って自立走行させる場合において、移動体の走行経路を滑らかにすることは難しい。本発明の目的の一つは、移動体をラインに沿って自立走行させる場合において、移動体の走行経路を滑らかにすることにある。
【課題を解決するための手段】
【0005】
本発明によれば、走行路に沿って移動する本体と、
前記本体に取り付けられ、前記走行路の路面に設けられていて前記走行路を示すラインを検出する複数のセンサと、
前記複数のセンサによる前記ラインの検出結果を用いて前記本体の移動を制御する制御手段と、
を備え、
前記複数のセンサは、前記走行路に交わる方向に並んでおり、
前記制御手段は、
前記本体の速度v0にρ(ただし0<ρ<1)を乗じた値を、前記ラインに垂直な方向における前記本体の速度である垂直方向速度の推定値として算出し、
前記検出結果を用いて、前記ラインを基準とした前記本体の相対位置を推定し、
前記推定された前記相対位置及び前記垂直方向速度の推定値を用いて、前記本体の移動方向を制御し、
前記ρは、前記本体が走行している間は固定されている移動体が提供される。
【0006】
本発明によれば、走行路に沿って移動する移動体の制御方法であって、
前記移動体は、
当該移動体の本体に取り付けられ、前記走行路の路面に設けられていて前記走行路を示すラインを検出する複数のセンサと、
前記複数のセンサによる前記ラインの検出結果を用いて前記本体の移動を制御する制御手段と、
を備え、
前記複数のセンサは、前記走行路に交わる方向に並んでおり、
前記制御手段は、
前記本体の速度v0にρ(ただし0<ρ<1)を乗じた値を、前記ラインに垂直な方向における前記本体の速度である垂直方向速度の推定値として算出し、
前記検出結果を用いて、前記ラインを基準とした前記本体の相対位置を推定し、
前記推定された前記相対位置及び前記垂直方向速度の推定値を用いて、前記本体の移動方向を制御し、
前記ρは、前記本体が走行している間は固定されている、移動体の制御方法が提供される。
【0007】
本発明によれば、走行路に沿って移動する移動体の制御に用いられるプログラムであって、
前記移動体は、
当該移動体の本体に取り付けられ、前記走行路の路面に設けられていて前記走行路を示すラインを検出する複数のセンサと、
前記複数のセンサによる前記ラインの検出結果を用いて前記本体の移動を制御するコンピュータと、
を備え、
前記複数のセンサは、前記走行路に交わる方向に並んでおり、
前記プログラムは、前記コンピュータに、
前記本体の速度v0にρ(ただし0<ρ<1)を乗じた値を、前記ラインに垂直な方向における前記本体の速度である垂直方向速度の推定値として算出する機能と、
現在の前記検出結果を用いて、前記ラインを基準とした前記本体の相対位置を推定する機能と、
前記推定された前記相対位置及び前記垂直方向速度の推定値を用いて、前記本体の移動方向を制御する機能と、
を持たせ、
前記ρは、前記本体が走行している間は固定されている、プログラムが提供される。
【発明の効果】
【0008】
本発明によれば、移動体をラインに沿って自立走行させる場合において、移動体の走行経路は滑らかになる。
【図面の簡単な説明】
【0009】
【
図1】実施形態に係る移動体の構成の一例を示す図である。
【
図2】制御部のハードウェア構成例を示す図である。
【
図3】制御部が行う処理の一例を示すフローチャートである。
【
図4】制御部が
図3のステップS20で行う、移動体の現在の位置の判断方法を説明するための図である。
【
図5】制御部が
図3のステップS20で行う、移動体の現在の位置の判断方法を説明するための図である。
【
図6】制御部が
図3のステップS30行う、駆動部の制御量の決定方法の一例を説明するための図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【0011】
図1は、実施形態に係る移動体10の構成の一例を示す図である。本図に示す移動体10は、例えば無人搬送車であり、予め定められたエリア、例えば倉庫の中で用いられる。移動体10が用いられるエリアには、移動体10が走行すべきルート(以下、走行路と記載)が予め設定されている。走行路には、その走行路を示すためのライン20が設けられている。移動体10は、ライン20を検出しながら、このライン20に沿って移動する。ライン20は、例えば光学センサや磁気センサなどによって検出可能な構造となっている。
【0012】
移動体10は、本体100を有している。本体100には、複数のセンサ110、車輪120、駆動部130、及び制御部140が設けられている。
【0013】
複数のセンサ110は、例えば光学センサや磁気センサであり、走行路(すなわちライン20)に交わる方向に並んでいる。本図に示す例において、複数のセンサ110は移動体10の進行方向に直交する方向に並んでいる。複数のセンサ110は、いずれもライン20の有無を2値で出力する。なお、センサ110の数は3つ以上であるのが好ましく、さらには4つ以上であるのが好ましい。
【0014】
車輪120は本体100を移動させるために設けられている。本図に示す例において、本体100の左右には、車輪120が少なくとも一つずつ設けられている。そして、右側の車輪120は第1の駆動部130によって駆動され、左側の車輪120は第2の駆動部130によって駆動される。これら駆動部130は、いずれも、回転数が制御可能なモータを有している。
【0015】
制御部140は、複数のセンサ110によるライン20の検出結果(以下、検出パターンと記載)を用いて、ライン20を基準とした移動体10の位置を判断する。また制御部140は、この判断結果を用いて、複数の駆動部130を互いに独立して制御し、移動体10がライン20に沿って移動するようにする。制御部140が行う処理の詳細については後述する。なお、制御部140が複数の駆動部130を互いに独立して制御することにより、移動体10の移動方向及び移動速度は可変になる。
【0016】
図2は、制御部140のハードウェア構成例を示す図である。制御部140は、バス1010、プロセッサ1020、メモリ1030、ストレージデバイス1040、入出力インタフェース1050、及びネットワークインタフェース1060を有する。
【0017】
バス1010は、プロセッサ1020、メモリ1030、ストレージデバイス1040、入出力インタフェース1050、及びネットワークインタフェース1060が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1020などを互いに接続する方法は、バス接続に限定されない。
【0018】
プロセッサ1020は、CPU(Central Processing Unit) やGPU(Graphics Processing Unit)などで実現されるプロセッサである。
【0019】
メモリ1030は、RAM(Random Access Memory)などで実現される主記憶装置である。
【0020】
ストレージデバイス1040は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、メモリカード、又はROM(Read Only Memory)などで実現される補助記憶装置である。ストレージデバイス1040は制御部140の機能を実現するプログラムモジュールを記憶している。プロセッサ1020がこれら各プログラムモジュールをメモリ1030上に読み込んで実行することで、そのプログラムモジュールに対応する各機能が実現される。また、ストレージデバイス1040は定数ρを記憶する記憶部としても機能する。
【0021】
入出力インタフェース1050は、制御部140と各種入出力機器とを接続するためのインタフェースである。例えば制御部140は、入出力インタフェース1050を介してセンサ110及び駆動部130と通信する。
【0022】
ネットワークインタフェース1060は、制御部140をネットワークに接続するためのインタフェースである。このネットワークは、例えばLAN(Local Area Network)やWAN(Wide Area Network)である。ネットワークインタフェース1060がネットワークに接続する方法は、例えば無線接続であるが、有線接続であってもよい。
【0023】
図3は、制御部140が行う処理の一例を示すフローチャートである。制御部140は、本図に示す処理を繰り返し行うことにより、移動体10をライン20に沿って移動させる。
【0024】
まず制御部140は、複数のセンサ110それぞれのライン20の検出結果、すなわち上記した検出パターンを取得する(ステップS10)。次いでライン20は、ステップS10で取得した検出パターンを用いて、ライン20を基準とした移動体10の現在の位置を判断する(ステップS20)。例えば制御部140は、移動体10の中心が、ライン20の上に位置している/右側に位置している/左側に位置している、のいずれであるかを判断する。この処理の詳細については後述する。次いで制御部140は、ステップS20の判断結果を用いて、駆動部130の駆動条件の修正内容、すなわち移動体10の移動方向の修正量を決定する(ステップS30)。この処理の詳細についても後述する。その後、制御部140は、ステップS30の決定結果に従って駆動部130を制御する。
【0025】
図4及び
図5は、制御部140が
図3のステップS20で行う、移動体10の現在の位置の判断方法を説明するための図である。制御部140は、上記した検出パターン又はその変化を用いて、ライン20を基準とした移動体10の位置を判断する。具体的には、制御部140は、移動体10の幅方向の中心がライン20に重なっているとき、移動体10の幅方向の中心がライン20よりも右側に位置しているとき、及び、移動体10の幅方向の中心がライン20よりも左側に位置しているときのそれぞれにおいて、上記した検出パターン又はその変化(例えば現在の検出パターン、及び一つ前の検出パターンの組み合わせ)を予め記憶している。そして制御部140は、検出パターンまたはその変化が予め記憶している情報のいずれに該当するかを判断し、該当する情報に対応する位置に、移動体10が存在していると判断する。
【0026】
複数のセンサ110の間隔は任意である。例えば複数のセンサ110は互いに等間隔で配置されていてもよいし、少なくとも一つの間隔が他の間隔より大きくてもよいし、逆に小さくてもよい。また、センサ画像処理部110の間隔は、ライン20の幅よりも大きくてもよいし、小さくてもよい。
【0027】
そして
図4(A)に示すように、移動体10の幅方向の中心がライン20と重なっている場合、現在の検出パターンではいずれのセンサ110もライン20を検出しておらず、かつ、一つ前の検出パターンでは内側の2つのセンサ110のいずれかがライン20を検出していたことになる。
【0028】
また、
図4(B)に示すように、移動体10がライン20と重なっているが移動体10の幅方向の中心がライン20よりも右側に位置している場合、現在の検出パターンでは最も左側のセンサ110a及びその隣のセンサ110bのいずれかがライン20を検出している。
【0029】
また、
図4(C)に示すように、移動体10の全体がライン20よりも右側に位置している場合、現在の検出パターンではいずれのセンサ110もライン20を検出しておらず、かつ、一つ前の検出パターンでは最も左側のセンサ110aがライン20を検出していたことになる。
【0030】
また、
図5(A)に示すように、移動体10がライン20と重なっているが移動体10の幅方向の中心がライン20よりも左側に位置している場合、現在の検出パターンでは最も右側のセンサ110d及びその隣のセンサ110cのいずれかがライン20を検出している。
【0031】
また、
図5(B)に示すように、移動体10の全体がライン20よりも左側に位置している場合、現在の検出パターンではいずれのセンサ110もライン20を検出しておらず、かつ、一つ前の検出パターンでは最も右側のセンサ110dがライン20を検出していたことになる。
【0032】
図6は、制御部140が
図3のステップS30行う、駆動部130の制御量の決定方法の一例を説明するための図である。
【0033】
制御部140は、
図3のステップS30において、ライン20を基準にした時の移動体10の中心の現在の位置(すなわちライン20に対する相対位置)を判断している。ここで移動体10の中心がライン20と重なっている場合、制御部140は駆動部130の駆動条件を変化させない。
【0034】
一方、移動体10の中心がライン20からずれている場合、制御部140は、以下のようにして駆動部130の駆動条件の修正内容すなわち移動体10の移動方向の修正量を決定する。
【0035】
まず、制御部140は、駆動部130を制御しているため、移動体10の現在の速度v
0を認識している。そして制御部140は、この速度v
0にρ(ただし0<ρ<1)を乗じた値を、ライン20に垂直な方向(例えば
図6の左右方向)における移動体10の速度(以下、垂直方向速度と記載)v
1の推定値として算出する。
【0036】
ここで、ρは、移動体10が走行している間は固定されているが、移動体10が走行していないとき、ρは変更可能である。詳細には、ρは、移動体10をそのライン20に沿って試験走行した結果に従って設定される。例えば0.05≦ρ≦0.5であり、ユーザは、この範囲でρを例えば0.05刻み(又は0.1刻み)で変化させながら、移動体10を繰り返しライン20に沿って走行させる。そしてユーザは、最もスムーズに走行したρの値を、実際に用いる値として設定する。
【0037】
また制御部140は、垂直方向速度v
1の正負(図中右向き(正)であるか左向き(負)であるか)を、複数のセンサ110の検出パターンの変化を用いて判断する。例えば制御部140は、
図4(A)に対応する検出パターンから
図4(B)に対応する検出パターンに変化した場合、制御部140は、移動体10の垂直方向速度は右側を向いていると判断する。一方、制御部140は、
図4(C)に対応する検出パターンから
図4(B)に対応する検出パターンに変化した場合、制御部140は、移動体10の垂直方向速度v
1は左側を向いていると判断する。
【0038】
そして制御部140は、ライン20に対する移動体10の中心の相対位置、及び上記した垂直方向速度v1の推定値を用いて、移動体10の移動方向を制御する。
【0039】
具体的には、制御部140は、以下の(1)式を用いて上記相対位置を算出する
xn=xn-1+Δt(v0×ρ-vx´)・・・(1)
ここで、Δtは時間軸上の処理間隔すなわち一つ前に処理を行ってから現在までの経過時間であり、v0×ρは上記したように垂直方向速度v1の推定値であり、xn-1は一つ前の処理で算出した上記相対位置であり、vx´は一つ前の処理(すなわち当該推定の直前)で行われた制御部140よる垂直方向速度v1の操作量である。また、ρは常に正であるため、v0×ρの正負は、v0の正負によって定まる。そしてv0の正負は、上記したように、複数のセンサ110の検出パターンの変化を用いて判断される。
【0040】
そして制御部140は、今回行うべき垂直方向速度v1の操作量(すなわち移動体10の移動方向の修正量)vx、及び上記vx´を、PI(Proportional Integral)制御、PID(Proportional Integral Differential)制御、又はP(Proportional)制御によって決定する。
【0041】
例えばPI制御を用いる場合、制御部140は、vx及びvx´を、以下の式(2)を用いて算出する。
【数1】
ここでx0=0であり、Κ
p及びΚ
iはチューニングにより設定された定数である。
【0042】
またPID制御をいる場合、制御部140は、vx及びvx´を、以下の式(3)を用いて算出する。この場合、移動体10の戻りは早くなる。
【数2】
【0043】
またP制御をいる場合、制御部140は、vx及びvx´を、以下の式(4)を用いて算出する。この場合、制御部140の負荷は小さくなる。
【数3】
【0044】
以上、本実施形態によれば、制御部140は、複数のセンサ110の検出パターンを用いて、ライン20に対する移動体10の相対位置を判断する。そして制御部140は、移動体10の中心がライン20の上からずれていた場合、移動体10の中心がライン20の上に位置するように、移動体10の移動方向(すなわち垂直方向速度v1)を修正する。この修正において、制御部140は垂直方向速度v1を用いるが、速度v0にρを乗じた値を、垂直方向速度v1の推定値とする。ここで、本体が走行している間、ρは固定されている。従って、移動体10の走行経路は滑らかになる。
【0045】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【0046】
また、上述の説明で用いた複数のフローチャートでは、複数の工程(処理)が順番に記載されているが、各実施形態で実行される工程の実行順序は、その記載の順番に制限されない。各実施形態では、図示される工程の順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態は、内容が相反しない範囲で組み合わせることができる。
【0047】
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下に限られない。
1.走行路に沿って移動する本体と、
前記本体に取り付けられ、前記走行路の路面に設けられていて前記走行路を示すラインを検出する複数のセンサと、
前記複数のセンサによる前記ラインの検出結果を用いて前記本体の移動を制御する制御手段と、
を備え、
前記複数のセンサは、前記走行路に交わる方向に並んでおり、
前記制御手段は、
前記本体の速度v0にρ(ただし0<ρ<1)を乗じた値を、前記ラインに垂直な方向における前記本体の速度である垂直方向速度の推定値として算出し、
前記検出結果を用いて、前記ラインを基準とした前記本体の相対位置を推定し、
前記推定された前記相対位置及び前記垂直方向速度の推定値を用いて、前記本体の移動方向を制御し、
前記ρは、前記本体が走行している間は固定されている移動体。
2.上記1に記載の移動体において、
前記移動体が走行していないとき、前記ρは変更可能である移動体。
3.上記1又は2に記載の移動体において、
0.05≦前記ρ≦0.5である移動体。
4.上記1~3のいずれか一項に記載の移動体において、
前記センサを3個以上有する移動体。
5.上記1~4のいずれか一項に記載の移動体において、
前記制御手段は、以下の式(1)を用いて現在の前記相対位置xnを推定する移動体。
xn=xn-1+Δt(v0×ρ-vx´)・・・(1)
ここで、Δtは一つ前に処理を行ってから現在までの経過時間であり、xn-1は一つ前に算出した前記相対位置であり、vx´は当該推定の直前に行われた前記制御手段による前記垂直方向速度の操作量である。
6.上記5に記載の移動体において、
前記制御手段は、今回行うべき前記垂直方向速度の操作量、及び前記vx´を、PI(Proportional Integral)制御、PID(Proportional Integral Differential)制御、又はP(Proportional)制御によって決定する移動体。
7.走行路に沿って移動する移動体の制御方法であって、
前記移動体は、
当該移動体の本体に取り付けられ、前記走行路の路面に設けられていて前記走行路を示すラインを検出する複数のセンサと、
前記複数のセンサによる前記ラインの検出結果を用いて前記本体の移動を制御する制御手段と、
を備え、
前記複数のセンサは、前記走行路に交わる方向に並んでおり、
前記制御手段は、
前記本体の速度v0にρ(ただし0<ρ<1)を乗じた値を、前記ラインに垂直な方向における前記本体の速度である垂直方向速度の推定値として算出し、
前記検出結果を用いて、前記ラインを基準とした前記本体の相対位置を推定し、
前記推定された前記相対位置及び前記垂直方向速度の推定値を用いて、前記本体の移動方向を制御し、
前記ρは、前記本体が走行している間は固定されている、移動体の制御方法。
8.上記7に記載の移動体の制御方法において、
前記移動体が走行していないとき、前記ρは変更可能である移動体の制御方法。
9.上記7又は8に記載の移動体の制御方法において、
0.05≦前記ρ≦0.5である移動体の制御方法。
10.上記7~9のいずれか一項に記載の移動体の制御方法において、
前記センサが3個以上ある移動体の制御方法。
11.上記7~10のいずれか一項に記載の移動体の制御方法において、
前記制御手段は、以下の式(1)を用いて現在の前記相対位置xnを推定する移動体の制御方法。
xn=xn-1+Δt(v0×ρ-vx´)・・・(1)
ここで、Δtは一つ前に処理を行ってから現在までの経過時間であり、xn-1は一つ前に算出した前記相対位置であり、vx´は当該推定の直前に行われた前記制御手段による前記垂直方向速度の操作量である。
12.上記11に記載の移動体の制御方法において、
前記制御手段は、今回行うべき前記垂直方向速度の操作量、及び前記vx´を、PI(Proportional Integral)制御、PID(Proportional Integral Differential)制御、又はP(Proportional)制御によって決定する移動体の制御方法。
13.走行路に沿って移動する移動体の制御に用いられるプログラムであって、
前記移動体は、
当該移動体の本体に取り付けられ、前記走行路の路面に設けられていて前記走行路を示すラインを検出する複数のセンサと、
前記複数のセンサによる前記ラインの検出結果を用いて前記本体の移動を制御するコンピュータと、
を備え、
前記複数のセンサは、前記走行路に交わる方向に並んでおり、
前記プログラムは、前記コンピュータに、
前記本体の速度v0にρ(ただし0<ρ<1)を乗じた値を、前記ラインに垂直な方向における前記本体の速度である垂直方向速度の推定値として算出する機能と、
現在の前記検出結果を用いて、前記ラインを基準とした前記本体の相対位置を推定する機能と、
前記推定された前記相対位置及び前記垂直方向速度の推定値を用いて、前記本体の移動方向を制御する機能と、
を持たせ、
前記ρは、前記本体が走行している間は固定されている、プログラム。
14.上記13に記載のプログラムにおいて、
前記移動体が走行していないとき、前記ρは変更可能であるプログラム。
15.上記13又は14に記載のプログラムにおいて、
0.05≦前記ρ≦0.5であるプログラム。
16.上記13~15のいずれか一項に記載のプログラムにおいて、
前記センサは3個以上であるプログラム。
17.上記13~16のいずれか一項に記載のプログラムにおいて、
前記コンピュータに、以下の式(1)を用いて現在の前記相対位置xnを推定させるプログラム。
xn=xn-1+Δt(v0×ρ-vx´)・・・(1)
ここで、Δtは一つ前に処理を行ってから現在までの経過時間であり、xn-1は一つ前に算出した前記相対位置であり、vx´は当該推定の直前に行われた前記制御手段による前記垂直方向速度の操作量である。
18.上記17に記載のプログラムにおいて、
前記コンピュータに、今回行うべき前記垂直方向速度の操作量、及び前記vx´を、PI(Proportional Integral)制御、PID(Proportional Integral Differential)制御、又はP(Proportional)制御によって決定させるプログラム。
【符号の説明】
【0048】
10 移動体
100 本体
110 センサ
120 車輪
130 駆動部
140 制御部