(57)【要約】      （修正有）【課題】時間の概念を含む作業と走行予定の走行経路とを忠実に再現する。【解決手段】自律走行台車は、走行部と、記憶部７３と、自律走行経過時刻計数部７４１と、再現走行指令算出部７５３と、を備える。走行部は、走行制御指令に従って走行する。記憶部７３は、複数のサブゴール点と到達時刻とを関連付けて記憶した走行経路データを記憶する。自律走行経過時刻計数部７４１は、再現走行モードの実行時に、自律走行経過時刻を、自律走行経路時刻の進行を調整しながら計数する。再現走行指令算出部７５３は、再現走行モードの実行時に、走行経路データにおいて自律走行経過時刻に対応する到達時刻の直後の到達時刻に関連付けて記憶されているサブゴール点に基づいて、自律走行経過時刻における再現走行制御指令を走行制御指令として算出する。【選択図】図５
2015153303.tif 000002
【特許請求の範囲】
【請求項１】
走行制御指令に従って走行する走行部と、
走行予定の走行経路上に設定された複数のサブゴール点と、前記複数のサブゴール点のそれぞれに到達する到達時刻とを関連付けて記憶した走行経路データを記憶する記憶部と、
前記走行経路データに基づいて自律的に前記走行経路を走行する再現走行モードの実行時に、前記再現走行モードの開始時からの経過時刻である自律走行経過時刻を、前記自律走行経過時刻の進行を所定の条件に基づいて調整しながら計数する自律走行経過時刻計数部と、
前記再現走行モードの実行時に、前記走行経路データにおいて前記自律走行経過時刻に対応する前記到達時刻の直後の到達時刻である目標到達時刻に関連付けて記憶されているサブゴール点に基づいて、前記自律走行経過時刻における再現走行制御指令を前記走行制御指令として算出する再現走行指令算出部と、
を備える自律走行台車。
【請求項２】
前記再現走行指令算出部は、前記自律走行経過時刻が前記走行経路データにおける前記到達時刻に到達したときに、前記再現走行制御指令を算出する請求項１に記載の自律走行台車。
【請求項３】
走行の障害となる障害物の位置を検出する検出部と、
前記再現走行モードの実行時に、前記障害物の位置に基づいて前記走行部の再現走行速度を調整する再現走行速度調整部と、をさらに備え、
前記自律走行経過時刻計数部は、前記再現走行速度調整部において調整された前記再現走行速度に基づいて、前記自律走行経過時刻の進行を調整する、請求項１又は２に記載の自律走行台車。
【請求項４】
前記再現走行速度調整部が前記再現走行速度を０とした場合、前記自律走行経過時刻計数部は、前記自律走行経過時刻の計数を停止する、請求項３に記載の自律走行台車。
【請求項５】
前記走行経路データは、前記複数のサブゴール点のそれぞれにおける前記走行部の速度を、前記複数のサブゴール点のそれぞれに関連付けて記憶している、請求項１〜４のいずれかに記載の自律走行台車。
【請求項６】
操作者の操作により前記走行経路データを教示する手動操作教示モードの実行時に、前記手動操作教示モードの開始時からの時刻である教示経過時刻を計数する教示経過時刻計数部と、
前記手動操作教示モードの実行時に、操作者の操作により通過した走行経路上の教示サブゴール点と、前記教示サブゴール点を取得した時の前記教示経過時刻と、を関連づけて記憶して前記走行経路データを作製する教示データ作製部と、
をさらに備える請求項１〜５のいずれかに記載の自律走行台車。
【請求項７】
前記教示データ作製部は、前記教示サブゴール点における前記走行部の速度である教示速度を、前記教示サブゴール点と関連付けて前記走行経路データに記憶する、請求項６に記載の自律走行台車。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、指定した走行経路を自律的に再現走行する自律走行台車に関する。
【背景技術】
【０００２】
これまで、操作者により教示された走行経路を、自律的に再現して走行する走行台車やロボットなどが知られている。例えば、特許文献１には、筐体に、床面上を移動させる走行駆動手段と、床面上における筐体の位置を検出する位置検出手段と、床面の清掃処理を行う清掃手段と、走行駆動手段及び清掃手段の操作の入力を受け付ける操作受付手段と、位置検出手段により検出される位置に基づく移動経路と該移動経路を該操作受付手段の受付内容に結びつけて記憶する記憶手段と、該記憶手段に記憶される記憶内容を読み出し該記憶内容に基づいて走行駆動手段及び清掃手段を作動させる制御手段とを設けてなる清掃ロボットが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−３２６０２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の走行台車やロボットなどは、教示された走行経路を示す走行経路データに記憶された位置情報を所定の制御周期ごとに読み出し、読み出した位置情報に基づいて自律的に走行することにより、教示された走行経路を再現走行していた。このような走行台車やロボットは、走行経路を再現走行する際に、走行経路上に存在する障害物（特に、走行経路を教示するときには存在していなかった障害物）などにより、予定外の停止や減速などの走行条件の変更をすることがある。
【０００５】
従来の走行台車やロボットなどは、速度を低下して走行している間及び停止している間も走行経路データを読み出し続けるため、走行条件の変更後において、読み出した走行経路データの位置情報と、実際の走行台車やロボットなどの位置とがずれてしまうことがあった。その場合、教示した走行経路を忠実に再現走行できなかった。
【０００６】
また、従来の走行台車やロボットなどは、例えば、「一定時間停止する」であったり、「区間毎に異なる作業を行う」であったりといった時間の概念を含む作業を忠実に再現することが困難であった。
【０００７】
本発明の課題は、自律走行台車において、時間の概念を含む走行を忠実に再現することにある。
【課題を解決するための手段】
【０００８】
以下に、課題を解決するための手段として複数の態様を説明する。これら態様は、必要に応じて任意に組み合せることができる。
本発明の一見地に係る自律走行台車は、走行部と、記憶部と、自律走行経過時刻計数部と、再現走行指令算出部と、を備える。走行部は、走行制御指令に従って走行する。記憶部は、走行経路データを記憶する。走行経路データは、複数のサブゴール点と到達時刻とを関連づけて記憶する。サブゴール点は、走行予定の走行経路上に設定された目標点である。到達時刻は、複数のサブゴール点のそれぞれに到達する時刻である。
【０００９】
自律走行経過時刻計数部は、再現走行モードの実行時に、自律走行経過時刻を、自律走行経路時刻の進行を所定の条件に基づいて調整しながら計数する。再現走行モードは、走行経路データに基づいて、自律走行台車が自律的に走行するモードである。自律走行経過時刻は、再現走行モードの開始時からの経過時刻である。
再現走行指令算出部は、再現走行モードの実行時に、走行経路データにおいて目標到達時刻に関連づけて記憶されているサブゴール点に基づいて、自律走行経過時刻における再現走行制御指令を走行制御指令として算出する。目標到達時刻は、走行経路データにおいて、自律走行経過時刻に対応する到達時刻の直後の到達時刻である。
【００１０】
上記の自律走行台車においては、走行予定の走行経路を走行経路データに基づいて走行中（すなわち、再現走行モードの実行中）に、自律走行経過時刻計数部が、自律走行経過時刻を、自律走行経過時刻の進行を所定の条件に基づいて調整しながら計数する。また、再現走行モードの実行中、再現走行指令算出部が、現在の自律走行経過時刻における再現走行制御指令を、走行経路データにおいて目標到達時刻に関連づけられて記憶されているサブゴール点に基づいて算出する。再現走行制御指令は走行制御指令として算出されているため、走行部は、算出された再現走行制御指令に基づいて、自律走行台車を走行させる。
【００１１】
上記の自律走行台車において、自律走行経過時刻の進行速度が所定の条件に従って調整可能となっている。また、現時点の再現走行制御指令が、自律走行経過時刻の直後の時刻に対応する到達時刻に関連づけられたサブゴール点に基づいて算出されている。これにより、再現走行指令算出部は、計数された自律走行経過時刻と走行経路データ中の到達時刻とを比較して、適切なサブゴール点を次の到達目標点として選択できる。その結果、自律走行台車は忠実に走行予定の走行経路を再現走行できる。
【００１２】
また、走行経路データには、サブゴール点と到達時刻とが関連づけられて記憶されている。従って、例えば、一定時間停止するといった時間の概念を含む操作を走行経路データに記憶できる。そして、再現走行モードの実行時に、自律走行台車がこのような走行経路データを忠実に再現することにより、走行経路データに示された走行経路を忠実に再現しつつ、時間の概念を有する走行を忠実に再現できる。
【００１３】
再現走行指令算出部は、自律走行経過時刻が走行経路データにおける到達時刻に到達したときに、再現走行制御指令を算出してもよい。これにより、走行経路データに示された到達時刻に対応する時刻にて、再現走行制御指令を更新できる。
【００１４】
自律走行台車は、検出部と再現走行速度調整部とをさらに備えていてもよい。検出部は、走行の障害となる障害物の位置を検出する。再現走行速度調整部は、再現走行モードの実行時に、障害物の位置に基づいて走行部の再現走行速度を調整する。再現走行速度は、再現走行モードの実行時の自律走行台車の速度である。
また、自律走行経過時刻計数部は、再現走行速度調整部において調整された再現走行速度に基づいて、自律走行経過時刻の進行を調整する。
これにより、再現走行モードの実行時に、障害物が検出された場合に、自律走行台車は、速度を調整して走行経路を走行できる。また、再現走行速度に基づいて単位経過時間を調整することにより、自律走行台車の再現走行速度が、走行経路データに示されていない変化をした場合に、自律走行経過時刻の進行速度を再現走行速度に基づいて変更できる。
その結果、再現走行指令算出部は、計数された自律走行経過時刻と走行経路データ中の到達時刻とを比較して、適切なサブゴール点を次の到達目標点として選択できる。
【００１５】
再現走行速度調整部が再現走行速度を０とした場合、自律走行経過時刻計数部は、自律走行経過時刻の計数を停止してもよい。これにより、自律走行台車が停止（再現走行速度＝０）後走行を開始するときには、本来の到達目標点とは異なるサブゴール点を走行経路データから読み出しにくくできる。
【００１６】
走行経路データは、複数のサブゴール点のそれぞれにおける走行部の速度を、複数のサブゴール点のそれぞれに関連付けて記憶してもよい。これにより、再現走行指令算出部は、走行経路データに示された各サブゴール点に関連づけられた自律走行台車の速度に基づいて、再現走行制御指令を算出できる。
【００１７】
自律走行台車は、教示経過時刻計数部と、教示データ作製部とをさらに備えていてもよい。教示経過時刻計数部は、手動操作教示モードの実行時に、教示経過時刻を計数する。手動操作教示モードは、操作者による操作により走行経路データを教示するモードである。教示経過時刻は、手動操作教示モードの開始時からの時刻である。
教示データ作製部は、教示サブゴール点と、教示サブゴール点を取得した時の教示経過時刻と、を関連づけて記憶して走行経路データを作製する。教示サブゴール点は、操作者の操作により通過した走行経路上の位置を表す点である。
これにより、操作者の操作による自律走行台車の時間の概念を含む操作を、走行経路データとして記憶できる。
【００１８】
教示データ作製部は、教示速度を教示サブゴール点と関連づけて走行経路データに記憶してもよい。教示速度は、教示サブゴール点における走行部の速度である。これにより、教示データ作製部は、走行経路を教示する際の実際の自律走行台車の速度を、走行経路データに記憶できる。
【発明の効果】
【００１９】
自律走行台車において、時間の概念を含む作業と走行予定の走行経路とを忠実に再現できる。
【図面の簡単な説明】
【００２０】
【図１】自律走行台車の全体構成を示す図。
【図２】操作部の構成を示す図。
【図３】制御部の全体構成を示す図。
【図４】経過時刻計数部の構成を示す図。
【図５】モータ駆動部の構成を示す図。
【図６Ａ】自律走行台車の基本動作を示すフローチャート。
【図６Ｂ】走行経路データの取得方法を示すフローチャート。
【図６Ｃ】走行経路の再現走行方法を示すフローチャート。
【図７Ａ】走行経路データ単位の一例を示す図。
【図７Ｂ】走行経路データの一例を示す図。
【図８】走行経路データに示されたサブゴール点、及び、サブゴール点に関連づけられている速度及び到達時刻の関係を模式的に示した図。
【図９】再現走行の一例を模式的に示した図。
【発明を実施するための形態】
【００２１】
１．第１実施形態
（１）自律走行台車の全体構成
まず、本実施形態に係る自律走行台車１００の全体構成について、図１を用いて説明する。図１は、自律走行台車の全体構成を示す図である。自律走行台車１００は、台車部１と、走行部２と、検出部３と、操作部５と、制御部７と、を備える。台車部１は、自律走行台車１００の本体を構成する。走行部２は、台車部１に搭載されている。走行部２は、走行制御指令（後述）に従って走行することにより、台車部１を走行させる。検出部３は、制御部７（後述）に信号送受信可能に接続されている。そして、検出部３は、障害物（人や他の台車などの走行障害物、荷物などの仮置き障害物）及び走行経路にある壁などを検出し、障害物及び壁などの位置情報を制御部７に出力する。操作部５は、台車部１の上部後方側に取付部材９を介して固定されている。また、操作部５は、制御部７に信号送受信可能に接続されている。操作部５は、操作者が自律走行台車１００を操作することにより移動平面を手動走行させながら走行経路を教示するとき（手動操作教示モードの実行時）、操作者により操作される。これにより、自律走行台車１００の走行モードが手動操作教示モードの実行時に、自律走行台車１００は、操作者による操作部５の操作に基づいて制御される。また、操作部５は、自律走行台車１００の各種設定を行う。
【００２２】
制御部７は、走行部２のモータ２３ａ、２３ｂ（後述）に電気的に接続されている。また、制御部７には、検出部３が信号送受信可能に接続されている。制御部７は、手動操作教示モードの実行時には、操作者による操作部５の操作に基づいて、操作走行制御指令を走行制御指令として作成し、走行部２のモータ２３ａ、２３ｂを制御する。
一方、走行経路を自律的に走行する再現走行モードの実行時には、制御部７は、手動操作教示モードの実行時において教示された走行経路を表す走行経路データ５００（後述）に基づいて、再現走行制御指令（後述）を走行制御指令として作成し、走行部２のモータ２３ａ、２３ｂを制御する。
【００２３】
また、制御部７は、再現走行モードの実行時において、所定の条件に基づいて自律走行経過時刻の進行を調整している。ここで、「時刻の進行」とは、時刻が進んでいく速度のことである。従って、自律走行経過時刻の進行は、必ずしも、実時間（実時刻）とは同一とはならない。そして、本実施形態の制御部７は、進行が調整された自律走行経過時刻と走行経路データ５００に示された到達時刻（後述）とを比較して到達目標点を決定し、決定した到達目標点に基づいて、再現走行制御指令を作成している。
【００２４】
さらに、制御部７は、検出部３から得られる信号（後述）に基づいて、障害物及び壁などの位置情報を把握する。また、制御部７は、障害物及び壁などの位置情報に基づき、移動平面（走行環境）における自律走行台車１００の位置を把握する。また、制御部７は、検出部３から得られる信号に基づいて、走行経路上、あるいは、走行経路に侵入してくる（と予測される）、走行の障害となる走行障害物および仮置き障害物を把握する。そして、再現走行モードの実行時において、走行障害物などの未知の障害物が検出された場合には、再現走行中の自律走行台車１００の速度（再現走行速度）が調整される。
なお、自律走行台車１００の走行部２、検出部３、操作部５、及び制御部７の構成の詳細については、後述する。
【００２５】
自律走行台車１００は、補助輪部８をさらに備える。補助輪部８は、２つの補助車輪８ａ、８ｂを有する。２つの補助車輪８ａと８ｂは、それぞれが独立に回転可能なように台車部１の後方底部に取り付けられている。補助輪部８を備えることにより、自律走行台車１００は安定に、かつ、スムーズに移動できる。
【００２６】
（２）走行部の構成
次に、走行部２の構成について図１を用いて詳細に説明する。走行部２は、２つの主輪２１ａ、２１ｂと、２つのモータ２３ａ、２３ｂと、を有する。主輪２１ａ、２１ｂは、台車部１の略中央部の底部に設置されている。
また、主輪２１ａ、２１ｂは、それぞれ、モータ２３ａ、２３ｂの出力回転軸に接続されている。これにより、主輪２１ａはモータ２３ａの回転に従って回転し、主輪２１ｂはモータ２３ｂの回転に従って回転する。すなわち、主輪２１ａ及び主輪２１ｂは、お互いに独立に回転可能となっている。そのため、主輪２１ａの回転速度と主輪２１ｂの回転速度に差を持たせることにより、台車部１（自律走行台車１００）の進行方向（向き）を変更できる。
【００２７】
モータ２３ａ、２３ｂは、制御部７に電気的に接続されている。モータ２３ａ、２３ｂはそれぞれ、制御部７のモータ駆動部７５（図３）により、独立して制御可能となっている。従って、モータ２３ａ、２３ｂは、それぞれ独立に、任意の回転数で正逆に回転できる。その結果、主輪２１ａ、２１ｂは、それぞれ独立に、回転数の制御が可能である。
モータ２３ａ、２３ｂとしては、たとえば、サーボモータ及び／又はブラシレスモータなどの電動モータを用いることができる。
【００２８】
（３）検出部の構成
次に、検出部３の構成について、図１を用いて説明する。検出部３は、自律走行台車１００の走行経路周辺の障害物（走行障害物など）及び壁などを検出し、障害物及び壁などの位置情報を出力する。そのため、検出部３は、前方検出器３１と、後方検出器３３と、を有する。前方検出器３１は、自律走行台車１００の前方にある障害物及び壁などを検出する。後方検出器３３は、自律走行台車１００の後方にある障害物及び壁などを検出する。また、前方検出器３１と後方検出器３３は、自律走行台車１００と障害物及び壁などとの間の距離及び、自律走行台車１００から見た障害物及び壁などが存在する方向に関する情報などを含む信号を出力する。これにより、検出部３は、自律走行台車１００から見た障害物及び壁などの相対的な位置情報を、制御部７に出力できる。
検出部３の前方検出器３１及び後方検出器３３としては、例えば、その検出範囲として１８０°以上で射程距離４ｍ以上のレーザレンジファインダ（Ｌａｓｅｒ  Ｒａｎｇｅ  Ｆｉｎｄｅｒ、ＬＲＦ）などを用いることができる。
【００２９】
前方検出器３１及び後方検出器３３の射程距離が４ｍ以上であることにより、より離れた位置にある障害物を検知できる。これにより、自律走行台車１００において、より早い段階において、自律走行台車１００の速度を低減するか、又は、停止するかを判断できる。
なお、上記の射程距離は、４ｍ以上に限られず、自律走行台車１００の走行速度（最高速度）等により、適宜適切な射程距離を選択できる。
【００３０】
（４）操作部の構成
次に、操作部５の構成について、図２を用いて説明する。図２は、操作部の構成を示す図である。操作部５は、操作ハンドル５１ａ、５１ｂと、設定部５３と、表示部５５と、インターフェース５７と、筐体５９と、を備える。
操作ハンドル５１ａ、５１ｂは、それぞれ、筐体５９の左右に回動可能に取り付けられている。また、操作ハンドル５１ａ、５１ｂは、インターフェース５７と信号送受信可能に接続されている。これにより、操作ハンドル５１ａ、５１ｂの回動量（操作量）及び回動方向は、インターフェース５７において電気信号に変換され、制御部７に入力される。そして、制御部７に入力された操作ハンドル５１ａ、５１ｂの回動量及び回動方向に基づき、操作走行制御指令が作成され、作成された操作走行制御指令を走行制御指令として、走行部２のモータ２３ａ、２３ｂが制御される。
また、操作ハンドル５１ａを進行方向への走行速度を指示するための入力インターフェースとし、操作ハンドル５１ｂを操舵角を指示するための入力インターフェースとしてもよい。
【００３１】
これにより、操作者は、手動操作教示モードの実行時に操作ハンドル５１ａ、５１ｂを操作することにより、自律走行台車１００に所望の走行経路を走行させることができる。
【００３２】
設定部５３は、インターフェース５７に接続されている。設定部５３は、自律走行台車１００の走行モードを、再現走行モード、又は、手動操作教示モードのいずれかに切り替える。そして、設定部５３において設定された走行モードが、インターフェース５７を介して、制御部７の切替部７７（図３）に入力される。また、設定部５３は、自律走行台車１００のその他の各種設定を設定可能となっていてもよい。
設定部５３は、例えば、自律走行台車１００の走行モード及び各種設定などを行うためのスイッチ又は／及びキーボードなどにより構成できる。又は、設定部５３は、タッチパネルとして構成され、表示部５５と一体に形成されていてもよい。
【００３３】
表示部５５は、インターフェース５７に接続されている。表示部５５は、インターフェース５７を介して、制御部７から自律走行台車１００の各種設定などの情報を、読み出して表示する。表示部５５としては、液晶ディスプレイなどのディスプレイを用いることができる。また、上記のように、設定部５３と表示部５５とを一体に形成する場合は、表示部５５（と設定部５３）として、タッチパネル機能付きディスプレイを用いることができる。
【００３４】
インターフェース５７は、制御部７に接続されている。インターフェース５７は、操作ハンドル５１ａ、５１ｂの回動量、回動方向、及び設定部５３のスイッチ及び／又はキー入力などを電気信号に変換し、制御部７へ出力する。また、インターフェース５７は、操作者の指示などに応じて、制御部７から自律走行台車１００に関する情報を読み出して、表示部５５に表示する。
従って、インターフェース５７としては、マイコンボードを用いることができる。マイコンボードは、例えば、操作ハンドル５１ａ、５１ｂの回動量、回転方向、及び設定部５３における設定状態を電気信号に変換する信号変換器と、表示部５５に情報を表示するための表示部駆動回路と、制御部７と信号を送受信するための通信インターフェースと、を備えている。
【００３５】
（５）制御部の構成
Ｉ．制御部の全体構成
次に、制御部７の全体構成について図３を用いて説明する。図３は、制御部の全体構成を示す図である。
なお、制御部７は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、ハードディスク装置と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）と、記憶媒体読み出し装置などにより構成される記憶装置と、信号変換を行うインターフェースなどと、を備えたマイコンシステムなどのコンピュータにより実現できる。
【００３６】
また、以下に示す制御部７の各部の機能の一部又は全部は、上記マイコンシステムなどのコンピュータにおいて実行可能なプログラムとして実現されていてもよい。さらに、当該プログラムは、マイコンボードの記憶装置に記憶されていてもよい。又は、制御部７の各部の機能の一部又は全部は、カスタムＩＣなどにより実現されていてもよい。
【００３７】
制御部７は、教示データ作製部７１と、位置推定部７２と、記憶部７３と、経過時刻計数部７４と、モータ駆動部７５と、障害物情報取得部７６と、切替部７７と、を有する。
【００３８】
教示データ作製部７１は、手動操作教示モードの実行時に、操作者が操作部５を用いて自律走行台車１００を操作することにより通過した位置に関する情報を所定の時刻毎に取得する。そして、教示データ作製部７１は、当該位置に関する情報を、自律走行台車１００が走行する移動平面を表現した座標系（以後、移動座標と呼ぶことにする）上の座標値に変換する。さらに、教示データ作製部７１は、座標変換された位置に関する情報と、当該位置に関する情報を取得したときの教示経過時間とを関連づけて記憶部７３（後述）に記憶する。
ここで、上記の位置に関する情報は、走行予定の走行経路上に設定された通過すべき目標点である。従って、上記の位置に関する情報のことを、「教示サブゴール点」又は「サブゴール点」と呼ぶことにする。
【００３９】
また、教示データ作製部７１は、手動操作教示モードの実行時に、自律走行台車１００の走行開始位置から、操作者が自律走行台車１００の走行を終了させる（手動操作教示モードの終了、あるいは、走行終了位置に到達する）まで、教示サブゴール点の取得を継続する。この結果、教示データ作製部７１は、走行開始位置から走行終了位置までに取得した複数の教示サブゴール点の集合体と、複数の教示サブゴール点のそれぞれに関連づけられた教示経過時刻の集合体とを、記憶部７３に記憶できる。
【００４０】
このように、手動操作教示モードの実行時に、操作者の操作により自律走行台車１００が通過した位置を座標値（教示サブゴール点）の集合体として取得し記憶することにより、操作者の操作により教示された自律走行台車１００の走行経路を記憶部７３に記憶できる。従って、教示データ作製部７１が取得した教示サブゴール点の集合体と、複数の教示サブゴール点のそれぞれに関連づけられている教示経過時刻の集合体とを記憶したデータのことを、「走行経路データ」と呼ぶことにする。また、複数の教示サブゴール点のそれぞれに関連づけられている教示経過時刻のことを「到達時刻」と呼ぶ。さらに、走行経路データ５００に記憶されている教示サブゴール点のことを単に「サブゴール点」と呼ぶこともある。
【００４１】
また、走行経路データ５００に、手動操作教示モードの実行時に自律走行台車１００が通過した位置に関する情報（教示サブゴール点、又は、サブゴール点）と、教示サブゴール点を取得した教示経過時刻（到達時刻）とが関連づけられて記憶されることにより、走行経路データ５００に位置に関する情報だけでなく、時刻に関する情報も記憶できる。
その結果、再現走行モードの実行時に、教示された走行経路を再現走行する際、再現走行指令算出部７５３（図５）は、自律走行経過時刻（後述）と走行経路データ５００中の到達時刻とを比較しつつ、走行経路データ５００中のどの教示サブゴール点（サブゴール点）を、次の走行目標のサブゴール点とするべきかを適切に選択できる。
【００４２】
また、教示データ作製部７１は、教示サブゴール点を取得するときに、当該教示サブゴール点における自律走行台車１００の速度（教示速度）を取得し、教示速度と教示サブゴール点とを関連づけて、記憶部７３に記憶する。この場合、走行経路データ５００は、教示サブゴール点（サブゴール点）の集合体と、到達時刻の集合体と、教示速度の集合体とにより構成される。
【００４３】
このように、走行経路データ５００に（教示）サブゴール点における（教示）速度をサブゴール点に関連づけて記憶することにより、手動操作教示モードの実行時において、走行経路を教示する際の実際の自律走行台車１００の速度を、走行経路データ５００として記憶できる。また、再現走行モードの実行中に、各サブゴール点を通過する際の速度を走行経路データ５００から参照できる。
【００４４】
また、走行経路データ５００に（教示）サブゴール点における（教示）速度をサブゴール点に関連づけて記憶することにより、例えば、一定時間停止するといった時間の概念を含む走行を走行経路データ５００に記憶できる。そして、再現走行モードの実行時に、自律走行台車１００がこのような走行経路データ５００を忠実に再現することにより、走行経路データ５００に示された走行経路を忠実に再現しつつ、時間の概念を有する走行を忠実に再現できる。
【００４５】
なお、上記の教示サブゴール点における自律走行台車１００の速度である教示速度は、例えば、操作部５の回動量及び／又は回動方向から算出される操作走行制御指令（後述）に基づいて算出される。その他、単位時間当たりのモータ２３ａ、２３ｂ又は主輪２１ａ、２１ｂの回転量からも教示速度を算出できる。さらに、位置推定部７２（後述）において推定された自律走行台車１００の位置の単位時間当たりの変化から教示速度を算出してもよい。
【００４６】
位置推定部７２は、走行環境（移動平面上）における台車部１（自律走行台車１００）の位置を所定の時間毎に推定する。位置推定部７２は、例えば、ＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  Ａｎｄ  Ｍａｐｐｉｎｇ）法などを用いて、自律走行台車１００の移動平面上における位置を推定できる。
【００４７】
位置推定部７２は、検出部３において取得された自律走行台車１００から見た障害物及び／又は壁などの相対的な位置情報を、移動座標上の座標値へと変換する。そして、位置推定部７２は、検出部３の前方検出器３１及び後方検出器３３が検出した障害物及び／又は壁などの位置情報に基づいて、自律走行台車１００の周囲の移動平面の地図情報（ローカルマップと呼ぶことにする）を作成する。また、位置推定部７２は、移動平面の地図情報（環境地図と呼ぶことにする）を記憶部７３に記憶している。そして、位置推定部７２は、環境地図とローカルマップとを比較して、自律走行台車１００が移動平面のどの位置に存在するかを推定する。
【００４８】
また、位置推定部７２は、モータ２３ａ、２３ｂの回転数に基づいても、自律走行台車１００の位置を推定できるようになっている（デッドレコニング）。そのため、モータ２３ａ、２３ｂの出力回転軸には、それぞれ、軸の回転数を測定する装置が取り付けられている。本実施形態においては、モータ２３ａ、２３ｂの出力回転軸には、それぞれ、エンコーダ２３１ａ、２３１ｂ（図５）が取り付けられている。このように、検出部３による位置推定と、モータ２３ａ、２３ｂの回転数に基づいた位置推定とを組み合わせることにより、互いの位置推定結果を相互補完できる。その結果、検出部３のみ、又は、モータ２３ａ、２３ｂの回転数のみに基づく位置推定よりも、さらに精度のよい位置の推定ができる。
【００４９】
記憶部７３は、制御部７がマイコンシステムにより実現されている場合は、マイコンシステムなどのコンピュータの記憶装置（あるいは、記憶装置の記憶領域の一部）に対応するものである。記憶部７３は、自律走行台車１００の各種設定、走行経路データ５００、障害物（走行障害物など）及び壁などの位置情報、などの情報を記憶する。また、制御部７の各部の機能の一部又は全部が上記コンピュータにより実行可能なプログラムにより実現されているとき、記憶部７３は、当該プログラムを記憶してもよい。
【００５０】
経過時刻計数部７４は、自律走行台車１００において用いる各種経過時刻を計数する。本実施形態において、経過時刻としては、自律走行経過時刻（後述）と教示経過時刻とが存在する。自律走行経過時刻は、自律走行台車１００において再現走行モードが実行中に計数される時刻であり、再現走行モード開始時（再現走行モードの実行が開始された時点）からの経過時刻である。一方、教示経過時刻は、自律走行台車１００において手動操作教示モードが実行中に計数される時刻であり、手動操作教示モード開始時（手動操作教示モードの実行が開始された時点）からの経過時刻である。
なお、経過時刻計数部７４の詳細な構成及び動作については、後述する。
【００５１】
モータ駆動部７５は、モータ２３ａ、２３ｂに接続されている。これにより、モータ駆動部７５は、モータ２３ａ、２３ｂを制御できる。
モータ駆動部７５は、操作部５と信号送受信可能に接続され、手動操作教示モードの実行時には、操作部５の操作ハンドル５１ａ、５１ｂの回動量及び／又は回動方向に基づき、操作走行制御指令を作成する。そして、モータ駆動部７５は、操作走行制御指令を走行制御指令として、モータ２３ａ、２３ｂを制御する。
【００５２】
一方、再現走行モードの実行時には、モータ駆動部７５は、記憶部７３に記憶された走行経路データ５００に基づいて、再現走行制御指令を作成する。そして、モータ駆動部７５は、再現走行制御指令を走行制御指令として、モータ２３ａ、２３ｂを制御する。
なお、モータ駆動部７５の詳細な構成及び動作については、後述する。
【００５３】
障害物情報取得部７６は、検出部３の前方検出器３１と後方検出器３３とに信号送受信可能に接続されている。障害物情報取得部７６は、前方検出器３１と後方検出器３３とから出力される信号に基づき、障害物及び壁などの位置情報を取得する。そして、障害物情報取得部７６は、必要に応じて、障害物及び壁などの位置情報を記憶部７３に記憶する。このとき、障害物情報取得部７６は、位置推定部７２に障害物及び壁などの位置情報を出力してもよい。そして、位置推定部７２が、障害物及び壁などの位置情報を移動座標上の座標値に変換して、障害物及び壁などの位置情報を記憶部７３に記憶してもよい。
【００５４】
また、障害物情報取得部７６は、再現走行速度調整部７５９（図５）と信号送受信可能となっている。そのため、障害物情報取得部７６は、再現走行モードの実行時に、自律走行の障害となる走行障害物の位置に関する情報を、再現走行速度調整部７５９へと送信できる。
【００５５】
切替部７７は、操作部５の設定部５３における走行モードの設定状態に基づいて、自律走行台車１００の走行モードを、再現走行モード、又は、手動操作教示モードのいずれかに切り替えて設定する。そして、制御部７の各部は、必要に応じて、切替部７７において設定された走行モードを参照可能となっている。
【００５６】
ＩＩ．経過時刻計数部の構成
次に、経過時刻計数部７４の構成について図４を用いて説明する。図４は、経過時刻計数部の構成を示す図である。経過時刻計数部７４は、自律走行経過時刻計数部７４１と、教示経過時刻計数部７４３と、を有する。
自律走行経過時刻計数部７４１は、再現走行モードの実行時に、自律走行経過時刻を計数する。自律走行経過時刻計数部７４１は、自律走行経過時間の進行を所定の条件に基づいて調整しながら自律走行経過時刻を計数する。
【００５７】
具体的には、再現走行モードの実行中に、自律走行台車１００の速度（再現走行速度）が走行経路データ５００に示された教示速度よりも小さくなった場合には、自律走行経過時刻計数部７４１は、自律走行経過時間の進行を実時間よりも遅らせる。
一方、再現走行モードの実行中に自律走行台車１００が、走行経路データ５００に示されていない停止を実行した場合には、自律走行経過時刻計数部７４１は、自律走行経過時刻の計数を停止する。
【００５８】
このように、自律走行経過時刻計数部７４１が、再現走行モードの実行時に、所定の条件（例えば、走行経路データ５００には示されていない予定外の減速や停止など）に基づいて自律走行経過時刻の進行を調整することにより、再現走行指令算出部７５３は、自律走行経過時刻と走行経路データ５００中の到達時刻とを比較して、適切なサブゴール点を次の到達目標点として選択できる。その結果、自律走行台車１００は、忠実に走行経路データ５００に示された走行経路を再現走行できる。
【００５９】
後述するように、自律走行経過時刻計数部７４１は、単位経過時間を後述の制御タイミング毎に累積加算することにより自律走行経過時刻を計数する。単位経過時間とは、自律走行経過時刻の進行速度を決定するものである。本実施形態においては、単位経過時間は、調整された再現走行速度に基づいて調整される。
【００６０】
教示経過時刻計数部７４３は、手動操作教示モードの実行時に、教示経過時刻を計数する。教示経過時刻計数部７４３は、例えば、手動操作教示モードの開始時から所定の単位時間を累積加算することにより、教示経過時刻を計数する。所定の単位時間としては、例えば、モータ駆動部７５におけるモータ２３ａ、２３ｂの制御周期を用いることができる。その他、制御部７を構成するコンピュータシステムのクロック周期、又は、コンピュータシステムにて用いられている時刻を、上記の単位時間として用いることもできる。
【００６１】
ＩＩＩ．モータ駆動部の構成
次に、モータ駆動部７５の構成について、図５を用いて説明する。図５は、モータ駆動部の構成を示す図である。
モータ駆動部７５は、駆動切替部７５１と、再現走行指令算出部７５３と、モータ制御部７５５と、操作走行制御指令算出部７５７と、再現走行速度調整部７５９と、を有する。
【００６２】
駆動切替部７５１は、切替部７７と信号送受信可能に接続されている。また、駆動切替部７５１は、３つの端子ｄ、ｅ、ｆを有している。駆動切替部７５１は、切替部７７において手動操作教示モードが選択された場合、端子ｄと端子ｅとを接続する。また、駆動切替部７５１は、切替部７７において再現走行モードが選択された場合、端子ｅと端子ｆとを接続する。
その結果、駆動切替部７５１は、手動操作教示モードの実行時には、操作走行制御指令をモータ制御部７５５（後述）へと入力する。一方、駆動切替部７５１は、再現走行モードの実行時には、再現走行指令算出部７５３（後述）において算出された再現走行制御指令（後述）をモータ制御部７５５へと入力する。
【００６３】
再現走行指令算出部７５３は、記憶部７３と信号送受信可能に接続されている。そのため、再現走行指令算出部７５３は、記憶部７３に記憶されている走行経路データ５００を参照できる。また、再現走行指令算出部７５３は、自律走行経過時刻計数部７４１と信号送受信可能に接続されている。そのため、再現走行指令算出部７５３は、自律走行経過時刻を参照できる。さらに、再現走行指令算出部７５３は、駆動切替部７５１の端子ｆと接続されている。
【００６４】
従って、再現走行指令算出部７５３は、再現走行モードの実行時に、自律走行経過時刻と、走行経路データ５００中の到達時刻とを比較し、自律走行経過時刻の直後の到達時刻を目標到達時刻とする。その後、再現走行指令算出部７５３は、走行経路データ５００から目標到達時刻に関連づけられているサブゴール点（到達目標点）を読み出して、読み出したサブゴール点に基づいて再現走行制御指令を算出する。
【００６５】
そして、再現走行モードの実行時には、駆動切替部７５１の端子ｆと端子ｅとが接続されているため、算出された再現走行制御指令がモータ制御部７５５へと出力される。これにより、再現走行モードの実行時には、再現走行指令算出部７５３において算出された再現走行制御指令に基づいて、モータ２３ａ、２３ｂが制御される。
【００６６】
モータ制御部７５５は、モータ２３ａ、２３ｂと電気的に接続されている。また、モータ制御部７５５は、モータ２３ａ、２３ｂのそれぞれに備えられたエンコーダ２３１ａ、２３１ｂと信号送受信可能に接続されている。さらに、モータ制御部７５５は、駆動切替部７５１の端子ｅと接続されている。
【００６７】
従って、モータ制御部７５５は、手動操作教示モードの実行時には、駆動切替部７５１を介して、操作走行制御指令（後述）を入力する。一方、再現走行モードの実行時には、モータ制御部７５５は、駆動切替部７５１を介して、再現走行制御指令を入力する。
このため、モータ制御部７５５は、手動操作教示モードの実行時には、操作走行制御指令に基づいて、モータ２３ａ、２３ｂを制御する。一方、再現走行モードの実行時には、モータ制御部７５５は、再現走行制御指令に基づいて、モータ２３ａ、２３ｂを制御する。
【００６８】
また、モータ制御部７５５は、モータ２３ａ、２３ｂを制御する際に、エンコーダ２３１ａ、２３１ｂにより測定されたモータ２３ａ、２３ｂの回転数及び回転量などをモニターしている。そして、モータ制御部７５５は、モータ２３ａ、２３ｂの回転数及び回転量などをフィードバックして、モータ２３ａ、２３ｂを制御している（フィードバック制御）。
そのため、モータ制御部７５５としては、フィードバック制御理論を用いたモータ制御装置などを用いることができる。
【００６９】
操作走行制御指令算出部７５７は、操作部５と信号送受信可能に接続されている。そのため、操作走行制御指令算出部７５７は、操作部５の操作ハンドル５１ａ、５１ｂの回動量及び／又は回動方向を入力する。そして、当該回動量及び／又は回動方向に基づいて、操作走行制御指令を算出する。
また、操作走行制御指令算出部７５７は、駆動切替部７５１の端子ｄと接続されている。そのため、操作走行制御指令算出部７５７は、手動操作教示モードの実行時（すなわち、端子ｄと端子ｅとが接続されたとき）、駆動切替部７５１を介して、操作走行制御指令をモータ制御部７５５に出力する。
【００７０】
さらに、操作走行制御指令算出部７５７は、教示データ作製部７１と信号送受信可能に接続されている。そのため、操作走行制御指令算出部７５７は、手動操作教示モードの実行時に、操作走行制御指令を教示データ作製部７１に出力できる。
本実施形態においては、操作走行制御指令は、操作ハンドル５１ａ、５１ｂの回動量及び／又は回動方向を数値化したものである。例えば、操作走行制御指令は、操作ハンドル５１ａ、５１ｂの回動量の最大の回動量に対する割合の数値に、操作ハンドル５１ａ、５１ｂの回動方向に従って決定される正負の符号を付した数値とすることができる。
この場合、モータ制御部７５５は、操作走行制御指令に示された数値と、モータ制御部７５５において予め決められているモータ２３ａ、２３ｂの最大回転速度との積により、モータ２３ａ、２３ｂの回転速度を決定できる。
【００７１】
再現走行速度調整部７５９は、障害物情報取得部７６と信号送受信可能に接続されている。このため、再現走行速度調整部７５９は、再現走行モードの実行時に、走行経路上の走行の障害となる走行障害物、及び／又は、走行経路周辺に存在し走行経路に進入する可能性のある走行障害物の位置に関する情報（走行障害物位置情報）を、取得できる。これにより、再現走行速度調整部７５９は、走行障害物の位置（走行障害物位置情報）に基づいて、再現走行モードの実行時における自律走行台車１００の速度（再現走行速度）を調整できる。
【００７２】
また、再現走行速度調整部７５９は、モータ制御部７５５と信号送受信可能に接続されている。このため、再現走行速度調整部７５９は、調整した再現走行速度を出力できる。この場合、再現走行速度調整部７５９は、例えば、再現走行速度を低下させたい場合には、再現走行速度をどの程度低下したいかを示す調整係数を出力できる。
一方、再現走行速度調整部７５９は、再現走行モードの実行時に自律走行台車１００を停止させたい場合は、例えば、再現走行速度、又は、上記の調整係数を０とする信号をモータ制御部７５５に出力できる。
【００７３】
さらに、再現走行速度調整部７５９は、自律走行経過時刻計数部７４１と信号送受信可能に接続されている。このため、再現走行速度調整部７５９は、再現走行速度をどの程度低下したいかを示す上記調整係数、又は、自律走行経過時刻の計数を停止する指令を自律走行経過時刻計数部７４１に送信できる。
これにより、自律走行経過時刻計数部７４１は、再現走行速度が低下したときには、上記の調整係数を用いて、自律走行経過時刻に対して累積加算する単位経過時間の長さを調整できる。また、自律走行経過時刻計数部７４１は、自律走行台車１００が停止したときには、自律走行経過時刻の計数を停止する指令を受信することにより、自律走行経過時刻計数部７４１の計数を停止できる。
【００７４】
（６）自律走行台車の動作
Ｉ．自律走行台車の基本動作
次に、本実施形態に係る自律走行台車１００の基本動作について、図６Ａを用いて説明する。図６Ａは、自律走行台車の基本動作を示すフローチャートである。ここでは、操作者が操作部５を操作して自律走行台車１００を走行させて自律走行台車１００に走行経路を教示させた上で、教示された走行経路を再現走行モードの実行時に再現走行する例を示す。
走行経路データ５００の作成を開始すると、教示データ作製部７１が、自律走行台車１００を操作者が操作することにより自律走行台車１００が通過した走行経路の走行経路データ５００を取得し、記憶部７３に記憶する（ステップＳ１）。
【００７５】
本実施形態においては、走行経路データ５００には、自律走行台車１００が通過した走行経路上の位置を示す教示サブゴール点のみでなく、各教示サブゴール点が取得されたときの教示経過時刻（到達時刻）と、各教示サブゴール点における自律走行台車１００の速度（教示速度）とが、教示サブゴール点（サブゴール点）に関連づけられて記憶されている。ここで、到達時刻は教示を開始した時刻から停止することなく教示終了まで計時する。
これにより、再現走行指令算出部７５３は、再現走行モードの実行時に、自律走行経過時刻と走行経路データ５００中の到達時刻とを比較しつつ、どのサブゴール点を次の到達目標点とするかを適切に決定できる。その結果、自律走行台車１００は、再現走行モードの実行時に、走行経路データ５００に示された走行経路を忠実に再現走行できる。
なお、ステップＳ１における走行経路データ５００の取得方法については、後ほど詳しく説明する。
【００７６】
走行経路データ５００を取得後、自律走行台車１００を自律走行させたい場合は、設定部５３などにより自律走行台車１００の走行モードを再現走行モードに切り替える。そして、自律走行台車１００が、走行経路データ５００に示された走行経路を自律的に再現走行する（ステップＳ２）。
自律走行台車１００は、走行経路データ５００に示された走行経路を自律的に再現走行するとき、検出部３により、走行経路上あるいは走行経路に侵入すると考えられる走行の障害となる走行障害物などの位置に関する情報を取得している。そして、自律走行台車１００は、走行障害物の位置に関する情報に基づいて、再現走行中の速度（再現走行速度）を調整する。
【００７７】
例えば、走行障害物などと自律走行台車１００との距離が十分に大きい場合、自律走行台車１００の再現走行速度調整部７５９は、走行障害物が走行経路から抜け出ることを待つなどのために、再現走行速度を走行経路データ５００に示された教示速度よりも低下させる。一方、走行障害物と自律走行台車１００との距離が小さい場合、再現走行速度調整部７５９は、走行障害物と自律走行台車１００との衝突を避けるため、再現走行速度を０とする。
【００７８】
そして、再現走行モードの実行時においては、本実施形態の自律走行経過時刻計数部７４１は、調整された再現走行速度に基づいて、自律走行経過時刻の進行速度を調整する。例えば、上記のように、走行障害物が検出されて、再現走行速度が教示速度よりも減少した場合には、自律走行経過時刻の進行を遅らせる。
一方、再現走行速度が０（すなわち、自律走行台車１００が停止）となった場合には、自律走行経過時刻の計数（進行）を停止する。
【００７９】
このように、再現走行モードの実行時に、自律走行台車１００において、走行経路データ５００に示されていない予想外の再現走行速度の変化（調整）が生じた場合に、自律走行経過時刻の進行速度を再現走行速度に従って調整することにより、再現走行指令算出部７５３は、自律走行経過時刻と到達時刻とを比較しつつ、どのサブゴール点を次の到達目標点とするかを適切に決定できる。その結果、自律走行台車１００は、再現走行モードの実行時に、走行経路データ５００に示された走行経路を忠実に再現走行できる。
なお、ステップＳ２における自律走行台車１００の再現走行方法については、後ほど詳しく説明する。
【００８０】
ＩＩ．走行経路データの取得方法
まず、図６ＡのステップＳ１における、走行経路データ５００の取得方法について、図６Ｂを用いて説明する。図６Ｂは、走行経路データの取得方法を示すフローチャートである。ここで示す例においては、上記のように、操作者が操作部５を操作して自律走行台車１００を走行させて自律走行台車１００に走行経路を教示させる方法にて走行経路データ５００が取得される。
従って、まず、自律走行台車１００の走行モードが手動操作教示モードに設定される（ステップＳ１１）。走行モードの手動操作教示モードへの切替は、例えば、操作者が操作部５の設定部５３を操作することにより、実行される。
【００８１】
設定部５３により走行モードが手動操作教示モードへ切り替えられると、走行モードが手動操作教示モードとなったことが制御部７の切替部７７に通知される。そして、切替部７７は、モータ駆動部７５の駆動切替部７５１に対して、駆動切替部７５１の端子ｄと端子ｅとを接続するよう指令する。これにより、操作部５の操作ハンドル５１ａ、５１ｂの回動量及び回動方向に基づいて算出された操作走行制御指令が、モータ制御部７５５に入力される。
これにより、操作者は、操作ハンドル５１ａ、５１ｂの回動量及び回動方向などを調整することにより、自律走行台車１００を手動操作できる。
【００８２】
また、走行モードを手動操作教示モードに設定したタイミングにおいて、教示経過時刻計数部７４３が、教示経過時刻の計数を開始する。本実施形態においては、教示経過時刻計数部７４３は、モータ２３ａ、２３ｂの制御周期を上記の単位時間として、手動操作教示モードの開始時から累積加算して、教示経過時刻を計数する。
【００８３】
走行モードを手動操作教示モードに設定後、操作者が自律走行台車１００を手動により操作する。操作者による手動操作中に、教示データ作製部７１は、所定の時間毎に、操作者の操作により自律走行台車１００が通過した移動平面上の位置を、教示サブゴール点として取得する（ステップＳ１２）。または、操作者による手動操作中に、教示データ作製部７１は、所定の距離を走行する毎に、移動平面上の位置とそのときの到達時刻とを、教示サブゴール点として取得しても良い。
【００８４】
このとき、教示サブゴール点を取得する所定の時間は、制御タイミングが発生する周期の倍数であることが好ましい。これにより、上記の教示された教示経過時刻と再現走行時の自律走行経過時刻とのずれを０とできる。
【００８５】
サブゴール点を取得する際、教示データ作製部７１は、位置推定部７２に対して、現在の自律走行台車１００の移動座標上の位置（サブゴール点の座標）を推定するよう指令する。そして、位置推定部７２は、当該指令に対して、座標値により表現された位置（サブゴール点）を、教示サブゴール点として教示データ作製部７１に出力する。
【００８６】
教示サブゴール点を取得後、教示データ作製部７１は、教示サブゴール点を取得したときの教示経過時刻を、教示経過時刻計数部７４３から取得する（ステップＳ１３）。
【００８７】
さらに、教示データ作製部７１は、取得したサブゴール点を通過している際の自律走行台車１００の速度を、教示速度として取得する（ステップＳ１４）。
このとき、教示データ作製部７１は、操作走行制御指令算出部７５７において算出された、操作者の操作による操作部５の回動量及び回動方向から算出される操作走行制御指令を、操作走行制御指令算出部７５７から受信する。そして、教示データ作製部７１は、受信した操作走行制御指令を、教示速度として取得する。
【００８８】
その他、教示データ作製部７１は、単位時間当たりのモータ２３ａ、２３ｂ又は主輪２１ａ、２１ｂの回転量から教示速度を算出してもよい。さらに、教示データ作製部７１は、位置推定部７２において推定された自律走行台車１００の位置の単位時間当たりの変化から教示速度を算出してもよい。適宜、適切な方法により、教示データ作製部７１は、教示速度を取得できる。
これにより、再現走行指令算出部７５３は、後述するように、走行経路データ５００に示された各サブゴール点に関連づけられた教示速度に基づいて、再現走行制御指令を算出できる。
【００８９】
上記のステップＳ１２〜Ｓ１４を実行して、教示サブゴール点と、教示サブゴール点を取得したときの教示経過時刻と、教示サブゴール点を取得したときの教示速度とを取得後、教示データ作製部７１は、教示サブゴール点と、教示経過時刻と、教示速度と、を関連づけて、図７Ａに示すような走行経路データ単位５００−ｋを生成する（ステップＳ１５）。図７Ａは、走行経路データ単位の一例を示す図である。
【００９０】
図７Ａに示す走行経路データ単位５００−ｋは、ｋ番目に取得された教示サブゴール点に対して生成された走行経路データ単位である。図７Ａに示すように、走行経路データ単位５００−ｋは、到達時刻記憶領域５０１−ｋと、サブゴール点記憶領域５０３−ｋと、教示速度記憶領域５０５−ｋと、を有する。この走行経路データ単位５００−ｋにおいては、到達時刻記憶領域５０１−ｋと、サブゴール点記憶領域５０３−ｋと、教示速度記憶領域５０５−ｋとが、紙面の横方向に接続されている。
【００９１】
走行経路データ単位５００−ｋの到達時刻記憶領域５０１−ｋには、ｋ番目の教示サブゴール点を取得したときの教示経過時刻が、到達時刻（Ｔｋ）として記憶される。サブゴール点記憶領域５０３−ｋには、ｋ番目に取得した教示サブゴール点の座標値（ｘｋ，ｙｋ）が記憶される。そして、教示速度記憶領域５０５−ｋには、ｋ番目の教示サブゴール点（ｘｋ，ｙｋ）における教示速度（ｖｋ）が記憶されている。
【００９２】
図７Ａに示すような構造を有する走行経路データ単位５００−ｋに、教示サブゴール点と、教示経過時刻（到達時刻）と、教示速度とを記憶することにより、到達時刻と教示速度とを、教示サブゴール点に関連づけて記憶できる。
【００９３】
走行経路データ単位５００−ｋを生成後、教示データ作製部７１は、走行経路データ単位５００−ｋを記憶部７３に記憶する（ステップＳ１６）。
サブゴール点を記憶部７３に記憶する際、すでにいくつかの走行経路データ単位が記憶部７３に記憶され走行経路データ５００（図７Ｂ）が形成されている場合には、今回作製した走行経路データ単位５００−ｋは、記憶されている走行経路データ５００の末尾に追加される。
【００９４】
走行経路データ単位５００−ｋを記憶部７３に記憶後、教示データ作製部７１は、次の教示サブゴール点の取得までの間に、操作者の手動操作による走行経路の教示が終了したかどうかを確認する（ステップＳ１７）。ここで、走行経路の教示が終了したかどうかの判断は、例えば、走行経路の教示が終了したことを教示データ作製部７１に通知するスイッチやアイコン（図示せず）を操作部５に設けて、操作者が当該スイッチやアイコンを操作することにより、走行経路の教示が終了したことを通知してもよい。
【００９５】
または、操作ハンドル５１ａ、５１ｂの回動量が０（操作されていない）であることを予め設定した一定時間検知したときに、走行経路の教示が終了したと、教示データ作製部７１が判断してもよい。その他、操作者が自律走行台車１００の操作を終了したことを検出する他の手段により、走行経路の教示が終了したかどうかを判断できる。
【００９６】
操作者の手動操作による走行経路の教示が終了したと判断した場合（ステップＳ１７において、「Ｙｅｓ」の場合）、教示データ作製部７１は、走行経路データ５００の取得を終了する。
一方、操作者の手動操作による走行経路の教示が継続していると判断した場合（ステップＳ１７において、「Ｎｏ」の場合）、ステップＳ１２に戻り、上記の走行経路データ単位５００−ｋの生成と記憶とを継続する。これにより、教示データ作製部７１は、走行経路の教示が継続している限り（すなわち、手動操作教示モードが実行されている限り）、走行経路データ単位５００−ｋの生成と記憶とを継続できる。
【００９７】
例えば、教示サブゴール点をｎ＋１個取得するまで上記の走行経路データ単位５００−ｋの生成と記憶とが継続されたときには、図７Ｂに示すような走行経路データ５００が取得される。図７Ｂは、走行経路データの一例を示す図である。
図７Ｂに示す走行経路データ５００においては、ｎ＋１個の走行経路データ単位５００−０、５００−１、５００−２、５００−３、・・・、５００−ｎ−１、５００−ｎが、紙面の上から下へ積み重なるように接続されている。すなわち、図７Ｂに示す走行経路データ５００は、ｎ＋１個の走行経路データ単位により構成されている。
【００９８】
このように、上記のステップＳ１１〜Ｓ１７を実行することにより、教示データ作製部７１は、図７Ｂに示すような、各教示サブゴール点と、各教示サブゴール点を取得した到達時刻と、各教示サブゴール点における教示速度とが関連づけられて記憶された走行経路データ５００を作製できる。
【００９９】
ＩＩＩ．再現走行方法
（ｉ）再現走行の原理
次に、本実施形態の自律走行台車１００における、走行経路データ５００に示された再現走行の原理について説明する。ここでは、図８に示すような、走行経路データ５００のｋ番目からｋ＋３番目までの再現走行を例にとって説明する。図８は、走行経路データ５００に示されたサブゴール点、及び、サブゴール点に関連づけられている速度及び到達時刻の関係を模式的に示した図である。
図８に示すように、走行経路データ５００のｋ番目からｋ＋３番目までのサブゴール点Ｐｋ、Ｐｋ＋１、Ｐｋ＋２、Ｐｋ＋３のそれぞれをについて、到達時刻Ｔｋ、Ｔｋ＋１、Ｔｋ＋２、Ｔｋ＋３と、教示速度ｖｋ、ｖｋ＋１、ｖｋ＋２、ｖｋ＋３が関連づけられているとする。その結果、図８における位置と到達時刻の関係を示すグラフにおいて実線にて示された折れ線のような走行経路が教示されているとする。
【０１００】
図８に示されているように、走行経路データ５００にはサブゴール点と到達時刻とが関連づけられて記憶されているため、例えば、到達時刻Ｔｋ＋２からＴｋ＋３までは停止すると言った時間の概念を含む操作が走行経路データ５００に記憶できている。
【０１０１】
自律走行台車１００が図８に示すような走行経路データ５００に示された走行経路を走行する際に、図９に示すように、実時刻ＴｋからＴｋ＋１の間の色つき部分の時間範囲にて走行障害物などを検知して自律走行台車１００が減速し、実時刻Ｔｋ＋１からＴｋ＋２の色つき部分の時間範囲にて走行障害物などを検知して自律走行台車１００が停止したものとする。図９は、再現走行の一例を模式的に示した図である。
なお、ここで、「実時間」及び「実時刻」とは、実際の時間及び時刻のことを言う。一方、自律走行経路時刻は、必ずしも実時刻と同一に進行ものではない、仮想的な時刻である。
【０１０２】
このように、再現走行モードの実行時に、自律走行台車１００が走行経路データ５００に示されていない減速や停止を行った場合、図９に示すように、減速及び／又は停止が発生した後の実時間Ｔｋ＋１、Ｔｋ＋２に到達した時点において、自律走行台車１００は、これらの実時刻に対応している到達時刻Ｔｋ＋１、Ｔｋ＋２に関連づけられたサブゴール点Ｐｋ＋１、Ｐｋ＋２には到達していない。
【０１０３】
一方、実時刻Ｔｋ＋３においては、図９に示すように、対応する到達時刻Ｔｋ＋３に関連づけられているサブゴール点Ｐｋ＋３に到達している。しかしながら、次の理由から、このような場合でも、自律走行台車１００は走行経路データ５００に示された走行経路を忠実に走行したとは言えない。
走行経路データ５００には、到達時刻Ｔｋ＋２からＴｋ＋３の間は停止することが示されている。仮に走行経路データ５００に示されている通りにＴｋ＋３から再び走行を開始するとした場合、自律走行台車１００は、サブゴール点Ｐｋ＋３（実際はＰｋ＋２に到達している）に到達した時刻ｔ２からＴｋ＋３までの間は停止する。
【０１０４】
しかしながら、図９に示されているように、時刻ｔ２からＴｋ＋３までの停止時間は、走行経路データ５００に示されていた停止時間（Ｔｋ＋３−Ｔｋ＋２）よりも短い。すなわち、自律走行台車１００は、再現走行中に、教示された停止時間（Ｔｋ＋３−Ｔｋ＋２）よりも短い時間しか停止していない。このような場合、自律走行台車１００は、教示された操作者による操作（加減速や停止）を忠実に再現できていない。
【０１０５】
そのため、自律走行経過時刻計数部７４１は、走行経路データ５００に示されていない予定外の減速や停止などが発生した場合に、自律走行経過時刻の進行速度を調整する。本実施形態においては、自律走行経路時刻を計数する際に累積加算する単位経過時間を調整することにより、自律走行経過時刻の進行速度を調整している。そして、再現走行指令算出部７５３は、進行速度が調整された自律走行経過時刻と走行経路データ５００中の到達時刻とを比較して、到達目標点を決定する。
【０１０６】
図９に示す自律走行経過時刻と実時間との関係を示すグラフにおいては、実時刻に対する自律走行経過時刻のグラフ（実線にて示したグラフ）の傾きが、単位経過時間（自律走行経過時刻の進行速度）に対応する。なお、自律走行経過時刻と実時間との関係を示すグラフにおける点線のグラフは、実時刻の進行を示すグラフである。
【０１０７】
図９に示すように、到達時刻ＴｋとＴｋ＋１の間の減速区間において、当該区間における実時間と自律走行経過時刻との関係を示すグラフの傾きは、点線のグラフ（実時刻＝実時間）よりもゆるやかとなっている。すなわち、自律走行経過時刻の進行速度が減少している。
そのため、実時間Ｔｋ＋１よりも後の実時刻ｔ１において、自律走行経過時刻は、走行経路データ５００におけるｋ＋１番目のサブゴール点Ｐｋ＋１に関連づけられている到達時刻Ｔｋ＋１となる。また、図９に示すように、自律走行台車１００は自律走行経過時刻がＴｋ＋１（実時刻＝ｔ１）となった時に、サブゴール点Ｐｋ＋１に到達する。
【０１０８】
そして、自律走行経過時刻がＴｋ＋１（実時刻＝ｔ１）となった時に、すなわち、自律走行台車１００がサブゴール点Ｐｋ＋１に到達したときに、再現走行指令算出部７５３は、次の到達目標点をサブゴール点Ｐｋ＋２とする。そして、再現走行指令算出部７５３は、自律走行台車１００を、サブゴール点Ｐｋ＋２に関連づけられた速度ｖｋ＋２にて走行させるための再現走行指令を算出する。
【０１０９】
一方、実時刻ｔ１とＴｋ＋２の間の停止区間において、単位経過時間は０に設定されている。そのため、実時間と自律走行経過時刻との関係を示すグラフは傾き０（水平）となっている。すなわち、停止区間においては、自律走行経過時刻の計数が停止している。そして、自律走行台車１００が走行を開始してから、自律走行経過時刻の進行速度が実時間の進行速度と同一となる。
そのため、実時刻Ｔｋ＋２よりも後の実時刻ｔ２のときに自律走行経過時刻はＴｋ＋２となる。また、図９に示すように、自律走行台車１００は自律走行経過時刻がＴｋ＋２（実時刻＝ｔ２）となった時に、サブゴール点Ｐｋ＋２に到達する。
【０１１０】
そして、サブゴール点Ｐｋ＋２に到達した（自律走行経過時刻がＴｋ＋２となった）時に、再現走行指令算出部７５３は、サブゴール点Ｐｋ＋３を次の到達目標点とする。そして、再現走行指令算出部７５３は、自律走行台車１００を、サブゴール点Ｐｋ＋３に関連づけられた速度ｖｋ＋３にて走行（図７に示した走行経路データ５００においては、停止）させるための再現走行制御指令を算出する。
【０１１１】
さらに、図９に示すように、実時刻ｔ２以降、自律走行経過時刻の進行速度は実時間の進行速度と同一となっているため、実時刻Ｔｋ＋３よりも後の実時刻ｔ３（＝ｔ２＋（Ｔｋ＋３−Ｔｋ＋２））のときに自律走行経過時刻はＴｋ＋３となる。そして、自律走行経過時刻がＴｋ＋３となった時に、再現走行指令算出部７５３は、自律走行台車１００を速度ｖｋ＋４にて走行（再び走行）させる再現走行制御指令を算出する。
その結果、図９に示すように、自律走行台車１００は、実時刻ｔ２からｔ３までのＴｋ＋３−Ｔｋ＋２の長さの時間停止している。すなわち、自律走行台車１００は、再現走行中に、教示された位置に、教示された停止時間だけ停止できている。
【０１１２】
このように、自律走行台車１００が走行経路データ５００に示されていない予定外の減速や停止などを行った場合に、自律走行経過時刻の進行を遅くするか、自律走行経過時刻の計数（進行）を停止し、再現走行指令算出部７５３が自律走行経路時刻に基づいて再現走行制御指令を作成することにより、走行経路データ５００に示されている走行経路だけでなく、停止などの操作を行う時間長さも忠実に再現できる。
【０１１３】
（ｉｉ）再現走行方法
次に、本実施形態の自律走行台車１００における、走行経路の再現走行方法を、図６Ｃを用いて説明する。図６Ｃは、走行経路の再現走行方法を示すフローチャートである。
走行経路の再現走行を開始すると、まず、自律走行台車１００の走行モードが再現走行モードに設定される（ステップＳ２０１）。走行モードの再現走行モードへの切替は、例えば、操作者が操作部５の設定部５３を操作することにより、実行される。
【０１１４】
設定部５３により走行モードが再現走行モードへ切り替えられると、走行モードが再現走行モードとなったことが制御部７の切替部７７に通知される。そして、切替部７７は、モータ駆動部７５の駆動切替部７５１に対して、駆動切替部７５１の端子ｅと端子ｆとを接続するよう指令する。これにより、モータ制御部７５５は、駆動切替部７５１を介して、再現走行指令算出部７５３と信号送受信可能に接続される。その結果、モータ制御部７５５は、再現走行制御指令に基づいて、モータ２３ａ、２３ｂを制御できる。
【０１１５】
走行モードを再現走行モードへ切替後、制御部７は、現在時刻が走行部２（モータ２３ａ、２３ｂ）の制御タイミングであるかどうかを確認する（ステップＳ２０２）。制御部７が、現在時刻が制御タイミングでないと判断した場合（ステップＳ２０２において、「Ｎｏ」の場合）、ステップＳ２０２に戻る。
一方、制御部７が、現在時刻が制御タイミングであると判断した場合（ステップＳ２０２において、「Ｙｅｓ」の場合）、ステップＳ２０３へ進む。
このように、ステップＳ２０２においては、制御部７は、現在時刻が制御タイミングであるかどうかを確認して、以後の処理を実行する。これにより、制御部７は、制御タイミング毎に走行部２を制御できる。制御タイミングとしては、例えば、モータ２３ａ、２３ｂの制御周期を用いることができる。
【０１１６】
ステップＳ２０２において現在時刻が制御タイミングであると判断された後、まず、障害物情報取得部７６が、検出部３からの信号に基づいて、走行経路周辺の障害物に関する情報を取得する（ステップＳ２０３）。
そして、再現走行速度調整部７５９が、障害物情報取得部７６が取得した障害物の位置に関する情報に基づいて、走行経路上にあると思われる走行の障害となる障害物（走行障害物）、及び／又は、走行経路上に侵入すると予測される走行障害物などを検知する。
【０１１７】
再現走行速度調整部７５９が、上記のいずれかの走行障害物などを検出した場合（ステップＳ２０３において、「Ｙｅｓ」の場合）、ステップＳ２０４に進む。一方、再現走行速度調整部７５９が、走行障害物などを検出しない場合（ステップＳ２０３において、「Ｎｏ」の場合）、ステップＳ２０７に進む。
【０１１８】
再現走行速度調整部７５９が走行障害物を検出した場合、再現走行速度調整部７５９は、走行障害物などの位置と現在の自律走行台車１００との位置関係に基づいて、再現走行モードの実行時の自律走行台車１００速度である再現走行速度を調整する（ステップＳ２０４）。
再現走行速度調整部７５９は、例えば、走行障害物などが自律走行台車１００の近傍にあり、走行障害物などと自律走行台車１００とが衝突する可能性が高いと判断した場合、自律走行台車１００を停止するようモータ制御部７５５に指令する。すなわち、再現走行速度調整部７５９は、モータ制御部７５５に対して、モータ２３ａ、２３ｂの回転を停止するように指令する。
【０１１９】
一方、走行障害物などと自律走行台車１００とが比較的離れており、すぐには衝突の可能性がないような場合、再現走行速度調整部７５９は、モータ制御部７５５に対して、自律走行台車１００の走行速度を制限するよう指令する。すなわち、再現走行速度調整部７５９は。モータ２３ａ、２３ｂの回転数を制限するように指令する。これにより、再現走行速度調整部７５９は、自律走行台車１００の再現走行速度を制限できる。
【０１２０】
再現走行速度調整部７５９は、再現走行速度を制限する際に、例えば、自律走行台車１００の最大走行速度（手動操作教示モードの実行時において、操作ハンドル５１ａ、５１ｂの回動量を全開にした場合の自律走行台車１００の（教示）速度に対応）に対する割合値をモータ制御部７５５に送信することにより、モータ２３ａ、２３ｂの回転数を制限するように指令できる。
これにより、モータ制御部７５５は、予め決められている最大走行速度と上記の割合値との積を算出するという単純な演算により、モータ２３ａ、２３ｂの具体的な制限回転数を算出できる。
【０１２１】
再現走行速度調整部７５９が再現走行速度を制限（減速）した場合（ステップＳ２０４において、「減速」の場合）、自律走行経過時刻計数部７４１は、単位経過時間の長さを調整し、自律走行経過時刻の進行速度（すなわち、単位経過時間）を実時間の進行速度よりも遅くする。（ステップＳ２０５）。
具体的には、自律走行経過時刻計数部７４１は、単位経過時間の大きさを、制御タイミングを決定する信号の周期（制御周期）よりも小さくする。そして、自律走行経過時刻計数部７４１は、再現走行速度を制限している間、上記の制御周期よりも小さい値の単位経過時間を制御周期毎に累積加算していく。
【０１２２】
そのため、自律走行経過時刻計数部７４１は、まず、走行経路データ５００に示された、自律走行台車１００の現在位置に対応するサブゴール点に関連づけられている教示速度と、再現走行速度調整部７５９が制限した再現走行速度とを比較する。
【０１２３】
次に、自律走行経過時刻計数部７４１は、例えば、調整された再現走行速度と現在位置における教示速度との比（再現走行速度／教示速度）と、制御タイミングを決定する信号の周期（制御周期）との積を、単位経過時間として算出する。これにより、制御周期よりも小さい値の単位経過時間を算出できる。
【０１２４】
一方、再現走行速度調整部７５９が再現走行速度を０とした（すなわち、自律走行台車１００を停止した）場合、自律走行経過時刻計数部７４１は、単位経過時間を０とする（ステップＳ２０６）。これにより、自律走行経過時刻計数部７４１は、自律走行経過時刻の計数を停止できる。なぜなら、０値の単位経過時間を自律走行経過時刻に累積加算しても、自律走行経過時刻の値は増加しないからである。
その他、再現走行速度が０になった場合、自律走行経過時刻計数部７４１は、単位経過時間の累積加算を停止することにより、自律走行経過時刻の計数を停止してもよい。これによっても、自律走行経過時刻の値を増加させないようにできる。
【０１２５】
また、ステップＳ２０３において走行障害物を検知しなかった場合（ステップＳ２０３において、「Ｎｏ」の場合）、自律走行経過時刻計数部７４１は、単位経過時間の長さを、制御タイミングを決定する信号の周期（制御周期）と同一とする（ステップＳ２０７）。
【０１２６】
上記のステップＳ２０５〜Ｓ２０７によって、所定の条件（走行障害物などを検知したかどうか、及び、再現走行速度を調整したかどうか）に基づいて単位経過時間を調整後、自律走行経過時刻計数部７４１は、現在の自律走行経過時刻に調整した単位経過時間を加算することにより、新たな自律走行経過時刻を計数する（ステップＳ２０８）。
【０１２７】
上記に示したように、再現走行速度が教示速度よりも低下された場合に、自律走行経過時刻計数部７４１が、制御周期よりも小さい値の単位経過時間を制御周期毎に累積加算して自律走行経過時刻を計数することにより、自律走行経過時刻の進行速度を実時間の進行速度よりも遅くできる。
【０１２８】
一方、再現走行速度が０とされた（すなわち、自律走行台車１００が停止した）場合には、自律走行経過時刻計数部７４１が、０である単位経過時間を累積加算して自律走行経過時刻を計数することにより、自律走行経過時刻の計数（進行）を停止できる。
【０１２９】
さらに、再現走行速度が教示速度と同一であるとされた場合（走行障害物などが検出されなかった場合など）には、自律走行経過時刻計数部７４１が、制御周期と同一の単位経過時間を制御周期毎に累積加算して自律走行経過時刻を計数することにより、自律走行経過時刻の進行速度を実時間の進行速度と同一とできる。
【０１３０】
ステップＳ２０８において、調整された単位経過時間を自律走行経過時刻に加算して新たな自律走行経過時刻を計数後、再現走行指令算出部７５３は、新たに計数した自律走行経過時刻が、走行経路データ５００に示されている到達時刻と対応する値となっているかを確認する（ステップＳ２０９）。
新たに計数した自律走行経過時刻が、走行経路データ５００に示されている到達時刻と対応する値となっていない場合（ステップＳ２０９において、「Ｎｏ」の場合）、例えば、新たに計数した自律走行経過時刻が２つの到達時刻の間の時刻となっている場合には、ステップＳ２０２に戻る。そして、ステップＳ２０２〜Ｓ２０８までを再び実行する。
【０１３１】
一方、新たに計数した自律走行経過時刻が、走行経路データ５００に示されている到達時刻にほぼ対応する値となっている場合（ステップＳ２０９において、「Ｙｅｓ」の場合）、再現走行指令算出部７５３は、走行経路データ５００において、新たに計数した自律走行経過時刻に対応する到達時刻の直後の到達時刻（目標到達時刻）に関連づけられたサブゴール点を、新たな到達目標点とする（ステップＳ２１０）。
【０１３２】
具体的には、例えば、新たに計数した自律走行経過時刻に対応する到達時刻が、ｍ番目の走行経路データ単位５００−ｍ中の到達時刻（Ｔｍ）であった場合に、再現走行指令算出部７５３は、到達時刻Ｔｍの直後の到達時刻である目標到達時刻を決定する。本実施形態においては、再現走行指令算出部７５３は、ｍ番目の走行経路データ単位５００−ｍの次の走行経路データ単位５００−（ｍ＋１）に記憶されている到達時刻Ｔｍ＋１を、目標到達時刻とする。そして、再現走行指令算出部７５３は、到達時刻Ｔｍ＋１に関連づけられたサブゴール点Ｐｍ＋１（ｘｍ＋１，ｙｍ＋１）を新たな到達目標点とする。
これにより、再現走行指令算出部７５３は、自律走行経過時刻が走行経路データ５００に示された到達時刻に対応する時刻となったときに、再現走行制御指令を更新できる。
【０１３３】
再現走行指令算出部７５３が新たな到達目標点を決定した後、再現走行指令算出部７５３は、新たな到達目標点に到達するための走行制御指令（再現走行制御指令）を作成する（ステップＳ２１１）。
具体的には、上記のように、ｍ＋１番目の走行経路データ単位５００−（ｍ＋１）に記憶されているサブゴール点を新たな到達目標点とした場合を例にとると、再現走行指令算出部７５３は、走行経路データ単位５００−（ｍ＋１）に記憶されている教示速度ｖｍ＋１にて自律走行台車１００を走行させる走行制御指令を作成する。
【０１３４】
再現走行指令算出部７５３が、自律走行台車１００を速度ｖｍ＋１にて走行させる再現走行制御指令を作成後、作成された再現走行制御指令は駆動切替部７５１を介して、モータ制御部７５５へ送信される。その結果、モータ制御部７５５は、自律走行台車１００を速度ｖｍ＋１にて走行させるように、モータ２３ａ、２３ｂの回転数を制御できる。
【０１３５】
再現走行指令算出部７５３が再現走行制御指令を出力後、再現走行指令算出部７５３が、走行経路データ５００に示された走行経路をすべて走行したかどうかを判断する（ステップＳ２１２）。再現走行指令算出部７５３は、例えば、次の到達目標点を読み出す場合などに、走行経路データ５００のエンド・オブ・ファイル（「ＥＯＦ」と記載されることもある）識別子を検出した場合に、全ての走行経路データ５００に示された走行経路をすべて走行したと判断できる。
【０１３６】
再現走行指令算出部７５３が全ての走行経路を走行したと判断した場合（ステップＳ２１２において、「Ｙｅｓ」の場合）、再現走行モードの実行を終了する。
一方、再現走行指令算出部７５３が全ての走行経路を走行していないと判断した場合（ステップＳ２１２において、「Ｎｏ」の場合）、ステップＳ２０２に戻り、再現走行モードの実行を継続する（すなわち、再現走行を継続する）。
【０１３７】
これにより、自律走行台車１００は、走行経路上のサブゴール点を忠実に通過しつつ、自律走行台車１００の加減速や停止などの操作者による操作の時間長さ（すなわち、時間の概念を有する操作）も忠実に再現して、走行経路の終点まで再現走行できる。
【０１３８】
（７）他の実施形態
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。
【０１３９】
（Ａ）走行経路データの作製に関する他の実施形態
上記の第１実施形態においては、操作者が実際に自律走行台車１００を操作し、操作者の操作により自律走行台車１００が通過した走行経路が、走行経路データ５００として記憶されていた。しかし、走行経路データ５００の作成方法は、上記の方法に限られない。実際に自律走行台車１００を操作することなく走行経路データ５００を作製してもよい。
【０１４０】
例えば、移動平面上の予め決めておいた自律走行台車１００の複数の通過点を（教示）サブゴール点として走行経路データ５００（例えば、走行経路データ５００用の電子ファイルなど）に記憶し、記憶したサブゴール点のそれぞれに、予め決めておいた各サブゴール点を通過する時刻と、各サブゴール点における走行速度と、を関連づけて記憶することによっても、走行経路データ５００を作製できる。
【０１４１】
または、操作者の実際の操作に基づいて作製された走行経路データ５００を、走行経路データ５００を作成後に修正可能となっていてもよい。これにより、走行経路データ５００にノイズが含まれていたり、操作者の誤った操作が記憶されてしまったりした場合であっても、ノイズが低減され、かつ／又は、当該誤った操作を訂正した走行経路データ５００を作製し記憶できる。
【産業上の利用可能性】
【０１４２】
本発明は、指定した走行経路を自律的に再現走行する自律走行台車に広く適用できる。
【符号の説明】
【０１４３】
１００ 自律走行台車
１     台車部
２     走行部
２１ａ、２１ｂ主輪
２３、２３ｂ  モータ
２３１ａ、２３１ｂ   エンコーダ
３     検出部
３１   前方検出器
３３   後方検出器
５     操作部
５１ａ 操作ハンドル
５１ｂ 操作ハンドル
５３   設定部
５５   表示部
５７   インターフェース
５９   筐体
７     制御部
７１   教示データ作製部
７２   位置推定部
７３   記憶部
７４   経過時刻計数部
７４１ 自律走行経過時刻計数部
７４３ 教示経過時刻計数部
７５   モータ駆動部
７５１ 駆動切替部
７５３ 再現走行指令算出部
７５５ モータ制御部
７５７ 操作走行制御指令算出部
７５９ 再現走行速度調整部
７６   障害物情報取得部
７７   切替部
８     補助輪部
８ａ   補助車輪
８ｂ   補助車輪
９     取付部材
５００ 走行経路データ
５００−０、５００−１、５００−２、５００−３、５００−ｋ、５００−ｍ、５００−ｎ−１、５００−ｎ 走行経路データ単位
５０１−ｋ    到達時刻記憶領域
５０３−ｋ    サブゴール点記憶領域
５０５−ｋ    教示速度記憶領域
Ｐｋ、Ｐｋ＋１、Ｐｋ＋２、Ｐｋ＋３、Ｐｍ＋１     教示サブゴール点、サブゴール点
Ｔｋ、Ｔｋ＋１、Ｔｋ＋２、Ｔｋ＋３、Ｔｍ、Ｔｍ＋１      到達時刻、教示経過時刻
ｄ、ｅ、ｆ    端子
ｔ１、ｔ２、ｔ３     実時刻
ｖｋ、ｖｋ＋１、ｖｋ＋２、ｖｋ＋３、ｖｋ＋４     教示速度、速度
【図１】
2015153303.tif 000003
【図２】
2015153303.tif 000004
【図３】
2015153303.tif 000005
【図４】
2015153303.tif 000006
【図５】
2015153303.tif 000007
【図６Ａ】
2015153303.tif 000008
【図６Ｂ】
2015153303.tif 000009
【図６Ｃ】
2015153303.tif 000010
【図７Ａ】
2015153303.tif 000011
【図７Ｂ】
2015153303.tif 000012
【図８】
2015153303.tif 000013
【図９】
2015153303.tif 000014