(57)【要約】      （修正有）【課題】ユーザによる操作性を向上し、かつ、教示された走行経路を忠実に走行できるよう制御する。【解決手段】移動制御装置２は、切替部２７と、速度制御指令部と、モータ制御指令部と、モータ駆動部２５と、を備える。切替部２７は、走行モードを、自律走行モード又は手動走行モードのいずれかに切り替える。速度制御指令部は、走行モードに基づき、速度制御指令を出力する。モータ制御指令部は、走行モードが手動走行モードである場合には、モータ１３ａ、１３ｂが出力可能なトルクを制限する第１モータ制御指令を出力する。一方、走行モードが自律走行モードである場合には、モータ１３ａ、１３ｂの速度を速度制御指令に追随させる第２モータ制御指令を出力する。モータ駆動部２５は、速度制御指令と、モータ制御指令とに基づいて、モータ１３ａ、１３ｂを駆動する。【選択図】図３
2014220890.tif 000002
【特許請求の範囲】
【請求項１】
複数の車輪と前記複数の車輪のそれぞれに接続された複数のモータとを備え、自律走行と手動操作による手動走行とが可能な自律移動体の移動制御装置であって、
走行モードを、前記自律移動体を自律走行させる自律走行モード、又は、前記自律移動体を手動にて走行させる手動走行モードのいずれかに切り替える切替部と、
前記走行モードに基づき、前記モータの速度を制御するための速度制御指令を出力する速度制御指令部と、
前記走行モードが前記手動走行モードである場合には、前記モータが出力可能なトルクを制限する第１モータ制御指令を、前記走行モードが前記自律走行モードである場合には、前記モータの速度を前記速度制御指令に追随させる第２モータ制御指令を、モータ制御指令として出力する、モータ制御指令部と、
前記速度制御指令と前記モータ制御指令とに基づいて、前記モータを駆動するモータ駆動部と、
を備える自律移動体の移動制御装置。
【請求項２】
前記モータ駆動部は、
前記速度制御指令及び前記モータ制御指令に基づいて決定される制御パラメータに基づいて、電力指示値を算出する電力制御部と、
前記電力指示値に基づいて、前記モータにモータ駆動電力を供給する電力供給部と、
を有する、請求項１に記載の自律移動体の移動制御装置。
【請求項３】
前記電力制御部の前記制御パラメータは制御ゲインを含み、
前記電力制御部は、
所定の数の予め決定された前記制御ゲインを記憶する、制御ゲイン記憶部と、
前記モータ制御指令に基づき、前記制御ゲイン記憶部に記憶された前記所定の数の制御ゲインから、１つの制御ゲインを選択する制御ゲイン設定部と、
をさらに有する、請求項２に記載の自律移動体の移動制御装置。
【請求項４】
前記制御ゲイン設定部は、前記モータ制御指令が前記第２モータ制御指令の場合には、前記第２制御ゲインを選択し、
前記モータ制御指令が前記第１モータ制御指令の場合には、前記第２制御ゲインよりも小さな値を有する第１制御ゲインを選択する、請求項３に記載の自律移動体の移動制御装置。
【請求項５】
前記モータ駆動部は、前記モータ駆動電力の電力値を検出する電力値検出部と、
前記モータ制御指令が前記第１モータ制御指令である場合には、前記モータ駆動電力の上限を所定の第１電力値に制限する電力制限部と、
をさらに有する、請求項２〜４のいずれかに記載の自律移動体の移動制御装置。
【請求項６】
前記走行モードが前記手動走行モードのときに、前記モータ駆動電力が所定の時間以上所定の閾値を超えた場合、前記電力制限部は、前記モータ駆動電力の上限を第２電力値に制限する、請求項５に記載の自律移動体の移動制御装置。
【請求項７】
前記速度制御指令部へ走行指示を出力する主制御部をさらに備え、
前記速度制御指令部は、前記主制御部からの走行指示に基づいて前記速度制御指令を演算し、
前記主制御部から出力される前記走行指示は、前記走行モードが前記自律走行モードの時に自律走行する走行経路に基づいた位置情報と時刻情報とを含む、請求項１〜６のいずれかに記載の自律移動体の移動制御装置。
【請求項８】
複数の車輪と、
前記複数の車輪のそれぞれに接続された複数のモータと、
走行モードを、自律走行を行う自律走行モード、又は、手動にて操作される手動走行モードのいずれかに切り替える切替部と、
前記走行モードに基づき、前記モータの速度を制御するための速度制御指令を出力する速度制御指令部と、
前記走行モードが前記手動走行モードである場合には、前記モータが出力可能なトルクを制限する第１モータ制御指令を、前記走行モードが前記自律走行モードである場合には、前記モータの速度を前記速度制御指令に追随させる第２モータ制御指令を、モータ制御指令として出力する、モータ制御指令部と、
前記速度制御指令と前記モータ制御指令とに基づいて、前記モータを駆動するモータ駆動部と、
を備える自律移動体。
【請求項９】
複数の車輪と前記車輪のそれぞれに前記車輪を回転可能に接続された複数のモータとを備え、自律走行と手動操作による手動走行とが可能な自律移動体の制御方法であって、
走行モードを、前記自律移動体を自律走行させる自律走行モード、又は、前記自律移動体を手動にて走行させる手動走行モードのいずれかに切り替えるステップと、
前記走行モードに基づき、前記モータの速度を制御するための速度制御指令を出力するステップと、
前記走行モードが前記手動走行モードである場合には、前記モータが出力可能なトルクを制限する第１モータ制御指令を出力し、前記走行モードが前記自律走行モードである場合には、前記モータの速度を前記速度制御指令に追随させる第２モータ制御指令を、モータ制御指令として出力するステップと、
前記速度制御指令と前記モータ制御指令とに基づいて、前記モータを駆動するステップと、
を含む自律移動体の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、教示された走行経路を自律走行する自律移動体、自律移動体の移動制御装置、及び自律移動体の制御方法に関する。
【背景技術】
【０００２】
従来、教示された走行経路を自律走行する自律移動体が知られている。例えば、特許文献１には、人間が操作しながら掃除コースに従って掃除機を動かし、そのときの掃除機の進行方向や車輪の回転のデータを記憶装置に記憶させ、次の掃除の際には、記憶装置に記憶させた上記データを読み出して掃除機を動かす、自走式掃除機が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特公昭６１−３４８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示された自走式掃除機の場合、人間による自走式掃除機の操作をアシストする機能がないため、人間（ユーザ）が自走式掃除機を操作しにくくなる。そのため、ユーザは、自走掃除機に所望の掃除コースを精度良く教示できない場合がある。
【０００５】
本発明の課題は、ユーザによる自律移動体の操作性を向上し、かつ、ユーザにより教示された走行経路を忠実に走行できるよう自律走行体を制御することにある。
【課題を解決するための手段】
【０００６】
以下に、課題を解決するための手段として複数の態様を説明する。これら態様は、必要に応じて任意に組み合せることができる。
本発明の一見地に係る自律移動体の移動制御装置は、複数の車輪と、複数の車輪のそれぞれに接続された複数のモータとを備え、自律走行と手動操作による手動走行とが可能な自律移動体の移動制御装置である。移動制御装置は、切替部と、速度制御指令部と、モータ制御指令部と、モータ駆動部と、を備える。切替部は、走行モードを、自律移動体を自律走行させる自律走行モード、又は、自律移動体を手動にて走行させる手動走行モードのいずれかに切り替える。速度制御指令部は、走行モードに基づき、モータの速度を制御するための速度制御指令を出力する。モータ制御指令部は、走行モードが手動走行モードである場合には、モータが出力可能なトルクを制限する第１モータ制御指令を出力する。一方、走行モードが自律走行モードである場合には、モータ制御指令部は、モータの速度を速度制御指令に追随させる第２モータ制御指令を出力する。モータ駆動部は、速度制御指令部から出力される速度制御指令と、モータ制御指令部から出力されるモータ制御指令とに基づいて、モータを駆動する。
【０００７】
この移動制御装置では、まず、切替部が、走行モードを自律走行モード、又は、手動走行モードのいずれかに切り替えて設定する。次に、速度制御指令部が、走行モードに基づいて、モータの速度を制御する速度制御指令を出力する。そして、モータ制御指令部が、走行モードに基づき、モータ制御指令を出力する。このとき、モータ制御指令部は、走行モードが手動走行モードの時には、モータ制御指令として第１モータ制御指令を出力する。一方、走行モードが自律走行モードの時には、モータ制御指令部は、モータ制御指令として第２モータ制御指令を出力する。
その後、モータ駆動部が、速度制御指令及びモータ制御指令に基づいて、モータを制御する。
【０００８】
このような移動制御装置により、ユーザが自律移動体を手動にて操作するときには、自律移動体のモータから出力されるトルクが制限される。一方、自律移動体が自律走行するときには、モータから出力可能なトルクが制限されることなく、速度制御指令部において作成された速度制御指令に追随するように、モータが制御される。この結果、ユーザが自律移動体を操作しているときには、ユーザは無理な外力を加えることなく自律移動体を操作できる。一方、自律移動体が自律走行するときには、自律移動体は速度制御指令に従って走行できる。
【０００９】
従って、ユーザによる自律移動体の操作性を向上できる。そして、自律移動体は、ユーザにより教示された走行経路を忠実に走行できる。
【００１０】
モータ駆動部は、電力制御部と、電力供給部と、を有していてもよい。電力制御部は、速度制御指令及びモータ制御指令に基づいて決定される制御パラメータに基づいて、電力指示値を算出する。電力供給部は、電力指示値に基づいて、モータにモータ駆動電力を供給する。
【００１１】
このようなモータ駆動部を用いることで、モータに供給されるモータ駆動電力により、モータから出力可能なトルクやモータの回転速度を制御できる。その結果、モータ駆動部によるモータの制御が容易になる。
【００１２】
電力制御部の制御パラメータは制御ゲインを含んでいてもよい。この場合、電力制御部は、制御ゲイン記憶部と、制御ゲイン設定部と、を有している。制御ゲイン記憶部は、所定の数の予め決定された制御ゲインを記憶する。制御ゲイン設定部は、モータ制御指令に基づき、制御ゲイン記憶部に記憶された所定の数の制御ゲインから、１つの制御ゲインを選択する。
ここで、制御ゲインとは、モータの制御値（例えば、モータの回転速度や、モータ駆動電力など）を目標値に到達させるために必要な、モータへの制御量を決定する定数である。
【００１３】
電力制御部の制御パラメータを制御ゲインとし、制御ゲインをモータ制御指令に基づき決定することにより、１つの電力制御部のみを用いて、特性の異なる複数の制御を行える。その結果、モータ駆動部の構造を単純にできる。
【００１４】
制御ゲイン設定部は、モータ制御指令が第２モータ制御指令の場合には、第２制御ゲインを選択し、モータ制御指令が第１モータ制御指令の場合には、第２制御ゲインよりも小さな値を有する第１制御ゲインを選択してもよい。
これにより、電力制御部は、走行モードが手動走行モードのときに、モータへ入力されるモータ駆動電力を抑制できる。従って、走行モードが手動走行モードのときに、モータから出力可能なトルクを制限できる。
【００１５】
モータ駆動部は、電力値検出部と、電力制限部と、をさらに有していてもよい。電力値検出部は、モータ駆動電力の電力値を検出する。電力制限部は、モータ制御指令が第１モータ制御指令である場合に、モータ駆動電力の上限を所定の第１電力値に制限する。
これにより、走行モードが手動走行モードのときに、モータに入力されるモータ駆動電力の上限値を確実に制限できる。この結果、走行モードが手動走行モードのときに、モータが出力可能なトルクを確実に制限できる。
【００１６】
走行モードが手動走行モードのときに、モータ駆動電力が所定の時間以上所定の閾値を超えた場合、電力制限部は、モータ駆動電力の上限を第２電力値に制限してもよい。
これにより、所定の時間以上、モータへ過剰なモータ駆動電力が入力されることを抑制できる。その結果、自律移動体を手動操作する際に、ユーザが長時間無理な外力を加えて自律移動体を操作する必要がなくなる。その結果、ユーザによる自律移動体の操作性が向上する。
【００１７】
移動制御装置は、速度制御指令部へ走行指示を出力する主制御部をさらに備えていてもよい。この場合、速度制御指令部は、主制御部からの走行指示に基づいて速度制御指令を演算する。また、主制御部から出力される走行指示は、走行モードが自律走行モード時に自律走行する走行経路に基づいた位置情報と時刻情報とを含んでいてもよい。
これにより、速度制御指令部は、位置情報と時刻情報を含む走行指示に基づいて、容易に走行経路を忠実に走行できる速度制御指令を演算できる。
【００１８】
本発明の他の見地に係る自律移動体は、複数の車輪と、複数のモータと、切替部と、速度制御指令部と、モータ制御指令部と、モータ駆動部と、を備える。複数のモータは、複数の車輪に接続される。切替部は、走行モードを、自律走行を行う自律走行モード、又は、手動にて操作される手動走行モードのいずれかに切り替える。速度制御指令部は、走行モードに基づき、モータの速度を制御するための速度制御指令を出力する。モータ制御指令部は、走行モードが手動走行モードである場合には、モータが出力可能なトルクを制限する第１モータ制御指令を出力する。一方、走行モードが自律走行モードである場合には、モータ制御指令部は、モータの速度を速度制御指令に追随させる第２モータ制御指令を、モータ制御指令として出力する。モータ駆動部は、速度制御指令とモータ制御指令とに基づいて、モータを駆動する。
【００１９】
このような自律移動体においては、ユーザが自律移動体を手動にて操作するときには、自律移動体のモータから出力されるトルクが制限される。一方、自律移動体が自律走行するときには、モータから出力可能なトルクが制限されることなく、速度制御指令部において作成された速度制御指令に追随するように、モータが制御される。この結果、ユーザが自律移動体を操作しているときには、ユーザは無理な外力を加えることなく自律移動体を操作できる。一方、自律移動体が自律走行するときには、自律移動体は速度制御指令に従って走行できる。
【００２０】
従って、ユーザによる自律移動体の操作性を向上できる。そして、自律移動体は、ユーザにより教示された走行経路を忠実に走行できる。
【００２１】
本発明のさらに他の見地に係る制御方法は、複数の車輪と車輪のそれぞれに車輪を回転可能に接続された複数のモータとを備え、自律走行と手動操作による手動走行とが可能な自律移動体の制御方法である。制御方法は、以下のステップを含む。
◎走行モードを、自律移動体を自律走行させる自律走行モード、又は、自律移動体を手動にて走行させる手動走行モードのいずれかに切り替えるステップ。
◎走行モードに基づき、モータの速度を制御するための速度制御指令を出力するステップ。
◎走行モードが手動走行モードである場合には、モータが出力可能なトルクを制限する第１モータ制御指令を出力し、走行モードが自律走行モードである場合には、モータの速度を速度制御指令に追随させる第２モータ制御指令を、モータ制御指令として出力するステップ。
◎速度制御指令とモータ制御指令とに基づいて、モータを駆動するステップ。
【００２２】
このような制御方法により、ユーザが自律移動体を手動にて操作するときには、自律移動体のモータから出力されるトルクが制限される。一方、自律移動体が自律走行するときには、モータから出力可能なトルクが制限されることなく、速度制御指令部において作成された速度制御指令に追随するように、モータが制御される。この結果、ユーザが自律移動体を操作しているときには、ユーザは無理な外力を加えることなく自律移動体を操作できる。一方、自律移動体が自律走行するときには、自律移動体は速度制御指令に従って走行できる。
【００２３】
従って、ユーザによる自律移動体の操作性を向上できる。そして、自律移動体は、ユーザにより教示された走行経路を忠実に走行できる。
【発明の効果】
【００２４】
本発明では、ユーザによる自律移動体の操作性を向上し、かつ、ユーザにより教示された走行経路を忠実に走行できるよう自律走行体を制御できる。
【図面の簡単な説明】
【００２５】
【図１】自律移動体の全体構成を示す図
【図２】操作部の構成を示す図
【図３】移動制御装置の全体構成を示す図
【図４】走行制御部の構成を示す図
【図５】モータ駆動部の全体構成を示す図
【図６Ａ】モータドライバの基本的な構成を示す図
【図６Ｂ】電力制限部及び電力値検出部を有さないモータドライバの構成を示す図
【図７】自律移動体の全体的な動作を示すフローチャート
【図８Ａ】片側の主輪の回転速度を減速したときの、自律移動体の動作およびモータ駆動電流の時間変化を示す図
【図８Ｂ】積分項を有効（Ｋｉ１≠０）としたとき、及び、積分項を無効（Ｋｉ１＝０）としたときの、モータ駆動電流の時間変化を示す図
【図８Ｃ】電力制限部を有しないとき、及び、電力制限部を有するときの、モータ駆動電流の時間変化を示す図
【図８Ｄ】ピボット操作時の、自律移動体の動作及びモータ駆動電流の時間変化を示す図
【発明を実施するための形態】
【００２６】
１．第１実施形態
（１）自律移動体の全体構成
まず、本実施形態に係る自律移動体の全体構成について、図１を用いて説明する。図１は、自律移動体の全体構成を示す図である。本実施形態の自律移動体１００は、ユーザにより教示された予定走行経路を再現しながら、自律して走行可能な移動体である。
自律移動体１００は、移動部１と、移動制御装置２と、検出部３と、操作部５と、備える。移動部１は、自律移動体１００を移動させる。検出部３は、移動制御装置２に接続されている。そして、検出部３は、障害物や走行経路にある壁などを検出し、障害物や壁などの位置情報を移動制御装置２に出力する。操作部５は、自律移動体１００の本体７に、取付部材９を介して固定されている。また、操作部５は、移動制御装置２に信号の送受信が可能なように接続されている。操作部５は、ユーザが自律移動体１００に予定走行経路を教示するとき、ユーザにより操作される。これにより、自律移動体１００の走行モードが手動走行モードのときに、自律移動体１００は、ユーザによる操作部５の操作に基づいて制御される。また、操作部５は、自律移動体１００の各種設定を行う。
【００２７】
移動制御装置２は、移動部１に電気的に接続されている。また、移動制御装置２には、検出部３が接続されている。移動制御装置２は、自律移動体１００の走行モードが手動走行モードのときには、ユーザによる操作部５の操作に基づいて、移動部１を制御する。一方、自律移動体１００の走行モードが自律移動するモードのときには、移動制御装置２は、例えば手動走行モードによって教示された予定走行経路を走行するように自律移動体１００の移動指令を作成する。そして、移動制御装置２は、作成された移動指令に基づいて移動部１を制御する。
また、移動制御装置２は、障害物や壁などの位置情報を把握する。また、移動制御装置２は、障害物や壁などの位置情報に基づき、移動平面における自律移動体１００の位置を把握する。
なお、自律移動体１００の移動部１、移動制御装置２、検出部３、及び操作部５の構成の詳細については、後述する。
【００２８】
自律移動体１００は、補助輪部８をさらに備える。補助輪部８は、２つの補助車輪８ａ、８ｂを有する。２つの補助車輪８ａと８ｂは、それぞれが独立に回転可能なように取り付けられている。補助輪部８を備えることにより、自律移動体１００は安定に、かつ、スムーズに移動できる。
なお、移動部１が２以上の車輪を有する場合など、移動部１自体が自律移動体１００を安定に走行できる構造を有している場合には、補助輪部８はなくてもよい。
【００２９】
（２）移動部の構成
次に、移動部１の構成について図１を用いて詳細に説明する。移動部１は、２つの主輪１１ａ、１１ｂと、２つのモータ１３ａ、１３ｂと、を有する。本実施形態の移動部１においては、それぞれの主輪１１ａ、１１ｂは独立に回転可能である。このような構成の移動部１においては、主輪１１ａと１１ｂの回転数に差を生じさせることにより、自律移動体１００の方向を転換させる。
主輪１１ａ、１１ｂは、それぞれ、モータ１３ａ、１３ｂの出力回転軸に接続されている。これにより、主輪１１ａはモータ１３ａの回転に従って回転し、主輪１１ｂはモータ１３ｂの回転に従って回転する。
【００３０】
モータ１３ａ、１３ｂは、移動制御装置２に電気的に接続されている。モータ１３ａ、１３ｂはそれぞれ、移動制御装置２のモータドライバ２５ａ、２５ｂ（図５）により、独立して制御可能となっている。従って、モータ１３ａ、１３ｂは、それぞれ独立に、任意の回転数及びトルクなどを発生できる。その結果、主輪１１ａ、１１ｂは、それぞれ独立に、回転数及びトルクの制御が可能となっている。
モータ１３ａ、１３ｂとしては、サーボモータやブラシレスモータなどの電動モータを用いることができる。
【００３１】
（３）検出部の構成
次に、検出部３の構成について、図１を用いて説明する。検出部３は、自律移動体１００の走行経路周辺の障害物や壁などを検出し、障害物や壁などの位置情報を出力する。そのため、検出部３は、前方検出器３１と、後方検出器３３と、を有する。前方検出器３１は、自律移動体１００の前方にある障害物や壁などを検出する。後方検出器３３は、自律移動体１００の後方にある障害物や壁などを検出する。また、前方検出器３１と後方検出器３３は、自律移動体１００と障害物や壁などとの間の距離や、自律移動体１００から見た障害物や壁などが存在する方向に関する情報などを含む信号を出力する。これにより、検出部３は、自律移動体１００から見た障害物や壁などの相対的な位置情報を、移動制御装置２に出力できる。
検出部３の前方検出器３１及び後方検出器３３としては、例えば、レーザレンジファインダ（Ｌａｓｅｒ  Ｒａｎｇｅ  Ｆｉｎｄｅｒ、ＬＲＦ）などを用いることができる。
【００３２】
（４）操作部の構成
次に、操作部５の構成について、図２を用いて説明する。図２は、操作部５の構成を示す図である。操作部５は、操作ハンドル５１ａ、５１ｂと、設定部５３と、表示部５５と、インターフェース５７と、を備える。
操作ハンドル５１ａ、５１ｂは、それぞれ、操作部５の筐体５９の左右に取り付けられている。これにより、自律移動体１００の走行モードが手動走行モードであるとき、ユーザは、操作ハンドル５１ａ、５１ｂに適切な外力Ｆｕ（後述）を加えて、自律移動体１００を操作できる。
なお、操作ハンドル５１ａ、５１ｂは、筐体５９に回動可能に取り付けられていてもよい。この場合、操作ハンドル５１ａ、５１ｂは、インターフェース５７と接続されている。これにより、操作ハンドル５１ａ、５１ｂの回動量（操作量）は、インターフェース５７において電気信号に変換され、移動制御装置２に入力できる。そして、操作モードが手動走行モードのときに、操作ハンドル５１ａ、５１ｂの操作量に応じて、自律移動体１００は操作できる。
【００３３】
設定部５３は、インターフェース５７に接続されている。設定部５３は、自律移動体１００の走行モードを、自律走行モード、又は、手動走行モードのいずれかに切り替える。そして、設定部５３において設定された走行モードが、インターフェース５７を介して、移動制御装置２の切替部２７（図３）に入力される。また、設定部５３は、自律移動体１００のその他の各種設定を設定可能となっていてもよい。
設定部５３は、例えば、自律移動体１００の走行モードや各種設定などを行うためのスイッチやキーボードなどにより構成できる。又は、設定部５３は、タッチパネルとして構成され、表示部５５と一体に形成されていてもよい。
【００３４】
表示部５５は、インターフェース５７に接続されている。表示部５５は、インターフェース５７を介して、移動制御装置２から自律移動体１００の各種設定や位置情報などの情報を、読み出して表示する。表示部５５としては、液晶ディスプレイなどのディスプレイを用いることができる。また、上述のように設定部５３と表示部５５とを一体に形成する場合は、表示部５５（と設定部５３）として、タッチパネル機能付きディスプレイを用いることができる。
【００３５】
インターフェース５７は、移動制御装置２に接続されている。インターフェース５７は、設定部５３のスイッチやキー入力などを電気信号に変換し、移動制御装置２へ出力する。また、必要に応じて、操作ハンドル５１ａ、５１ｂの操作量を電気信号に変換し、移動制御装置２へ出力する。さらに、インターフェース５７は、ユーザの指示などに応じて、移動制御装置２から自律移動体１００に関する情報を読み出して、表示部５５に表示する。
従って、インターフェース５７としては、設定部５３における設定状態（必要に応じて、操作ハンドル５１ａ、５１ｂの操作量）を電気信号に変換する信号変換器と、表示部５５に情報を表示するための表示部駆動回路と、移動制御装置２と信号を送受信するための通信インターフェースと、などを備えたマイコンボードなどを用いることができる。
【００３６】
（５）移動制御装置の構成
Ｉ．移動制御装置の全体構成
次に、移動部１の移動制御装置２の全体構成について図３を用いて説明する。図３は、移動制御装置２の全体構成を示す図である。
なお、移動制御装置２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、ハードディスク装置と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）と、記憶媒体読み出し装置などの記憶装置と、信号変換を行うインターフェースなどと、を備えたマイコンシステムなどにより、実現できる。また、以下に示す移動制御装置２の各部の機能の一部又は全部は、プログラムとして実現されていてもよい。さらに、当該プログラムは、マイコンボードの記憶装置に記憶されていてもよい。又は、移動制御装置２の各部の機能の一部又は全部は、カスタムＩＣなどにより実現されていてもよい。
移動制御装置２は、教示部２１と、自己位置推定部２２と、記憶部２３と、走行制御部２４と、モータ駆動部２５と、障害物情報取得部２６と、切替部２７と、主制御部２８と、を有する。
【００３７】
教示部２１は、走行モードが手動走行モードのときに、ユーザが操作部５を用いて自律移動体１００を移動させた際の移動経路を所定の時間間隔にて取得する。そして、教示部２１は、取得した移動経路を、自律移動体１００が移動する移動平面を表現した座標系（以後、移動座標と呼ぶことにする）上の座標値に変換し、当該座標値と移動経路を取得した時間とを関連付ける。さらに、教示部２１は、座標変換された移動経路を記憶部２３に記憶する。
ここで、上記のようにして教示部２１が生成した移動経路の座標値の集合体を、予定走行経路と呼ぶことにする。また、予定走行経路には、移動経路を取得した時間が関連付けられている。
後述するように、モータ１３ａ、１３ｂの回転速度は、ユーザが自律移動体１００に外力を加えることにより、制御される。教示部２１は、また、ユーザの操作により調整されたモータ１３ａ、１３ｂの回転速度を、所定の時間間隔にて取得する。
【００３８】
また、教示部２１は、移動経路上を移動中の自律移動体１００の姿勢を、移動経路を取得するときに取得してもよい。ここで、自律移動体１００の姿勢とは、自律移動体１００の前方が向いた方向のことを言う。これにより、予定走行経路は、自律移動体１００の姿勢に関する情報（姿勢情報）をさらに含むことができる。
【００３９】
自己位置推定部２２は、移動平面上における自律移動体１００の位置を推定する。自己位置推定部２２は、例えば、ＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  Ａｎｄ  Ｍａｐｐｉｎｇ）法などを用いて、自律移動体１００の移動平面上における位置を推定できる。
自己位置推定部２２は、検出部３において取得された自律移動体１００から見た障害物や壁などの相対的な位置情報を、移動座標上の座標値へと変換する。そして、自己位置推定部２２は、検出部３の前方検出器３１及び後方検出器３３が検出した障害物や壁などの位置情報に基づいて、自律移動体１００の周囲の移動平面の地図情報（ローカルマップと呼ぶことにする）を作成する。また、自己位置推定部２２は、移動平面の地図情報（環境地図と呼ぶことにする）を記憶部２３に記憶している。そして、自己位置推定部２２は、環境地図とローカルマップとを比較して、自律移動体１００が移動平面のどの位置に存在するかを推定する。
さらに、自己位置推定部２２は、モータ１３ａ、１３ｂの回転数に基づいても、自律移動体１００の位置を推定できるようになっていてもよい。
【００４０】
記憶部２３は、移動制御装置２がマイコンシステムにより実現されている場合は、マイコンシステムの記憶装置（あるいは、記憶装置の記憶領域の一部）に対応するものである。記憶部２３は、自律移動体１００の各種設定、予定走行経路、障害物や壁などの位置情報、などの情報を記憶する。また、移動制御装置２の各部の機能の一部又は全部がソフトウェアにより実現されているとき、記憶部２３は、当該ソフトウェアを記憶してもよい。
【００４１】
走行制御部２４は、モータ１３ａ、１３ｂの速度を制御するための速度制御指令ｖｃを、モータ駆動部２５（後述）に出力する。また、走行制御部２４は、切替部２７（後述）において設定されている走行モードに基づいて、モータ制御指令をモータ駆動部２５に出力する。
本実施形態においては、走行制御部２４は、走行モードが手動走行モードの場合には、第１モータ制御指令を出力する。一方、走行モードが自律走行モードの場合には、第２モータ制御指令を出力する。ここで、第１モータ制御指令とは、モータ１３ａ、１３ｂが出力可能なトルクを制限するモータ制御指令のことである。一方、第２モータ制御指令とは、モータ１３ａ、１３ｂのトルクを制限することなく、モータ１３ａ、１３ｂの速度を速度制御指令ｖｃに追随させるモータ制御指令のことである。
なお、走行制御部２４の詳細な構成及び動作については、後述する。
【００４２】
モータ駆動部２５は、モータ１３ａ、１３ｂに接続されている。これにより、モータ駆動部２５は、モータ１３ａ、１３ｂを制御できる。
また、モータ駆動部２５は、走行制御部２４から速度制御指令ｖｃ及びモータ制御指令を入力する。そして、モータ駆動部２５は、速度制御指令ｖｃ及びモータ制御指令に基づき、モータ１３ａ、１３ｂを制御する。
なお、モータ駆動部２５の詳細な構造及び動作については、後述する。
【００４３】
障害物情報取得部２６は、検出部３の前方検出器３１と後方検出器３３とに接続されている。障害物情報取得部２６は、前方検出器３１と後方検出器３３とから出力される信号に基づき、障害物や壁などの位置情報を取得する。そして、障害物情報取得部２６は、必要に応じて、障害物や壁などの位置情報を記憶部２３に記憶する。このとき、障害物情報取得部２６は、自己位置推定部２２に障害物や壁などの位置情報を出力してもよい。そして、自己位置推定部２２が、障害物や壁などの位置情報を移動座標上の座標値に変換して、障害物や壁などの位置情報を記憶部２３に記憶してもよい。
【００４４】
切替部２７は、操作部５の設定部５３における走行モードの設定状態に基づいて、走行モードを、自律走行モード、又は、手動走行モードのいずれかに切り替えて設定する。そして、移動制御装置２の各部は、必要に応じて、切替部２７において設定された走行モードを参照可能となっている。
【００４５】
主制御部２８は、走行制御部２４の速度制御指令部２４１（後述）へ走行指示を出力する。この場合、速度制御指令部２４１は、主制御部２８からの走行指示に基づいて、速度制御指令ｖｃを演算する。
また、主制御部２８から出力される走行指示は、走行モードが自律走行モード時に自律走行する走行経路に基づいた、位置情報と時刻情報を含む。このとき、走行経路は、ユーザにより教示された予定走行経路から生成される。
これにより、速度制御指令部２４１は、位置情報と時刻情報を含む走行指示に基づいて、走行経路を忠実に走行できる速度制御指令ｖｃを演算できる。その結果、走行モードが自律走行モードのときに、自律移動体１００は、走行経路を忠実に走行できる。
【００４６】
ＩＩ．走行制御部の構成
次に、走行制御部２４の構成について図４を用いて説明する。図４は、走行制御部２４の構成を示す図である。走行制御部２４は、速度制御指令部２４１と、モータ制御指令部２４３と、を有する。
速度制御指令部２４１は、走行モードに基づいて、速度制御指令ｖｃを出力する。本実施形態においては、走行モードが自律走行モードの時には、教示されたとおりに予定走行経路を走行する速度制御指令ｖｃを出力する。すなわち、速度制御指令部２４１は、手動走行モード時に教示部２１により取得されたモータ１３ａ、１３ｂの回転速度に基づいて、速度制御指令ｖｃを出力する。
一方、走行モードが手動走行モードの時には、操作部５の設定部５３において設定された設定値などに従って、モータ１３ａ、１３ｂが、同一の所定の速度にて回転するような速度制御指令ｖｃを出力する。操作ハンドル５１ａ、５１ｂが回動可能である場合には、操作ハンドル５１ａ、５１ｂの回動量に従って、速度制御指令ｖｃを出力してもよい。
【００４７】
ここで、上記の同一の所定の速度のことを、無負荷時手動速度ｖｎと呼ぶことにする。なぜなら、走行モードが手動走行モードのときの同一の所定の速度は、自律移動体１００にユーザから何らの外力も加えられていないときに、モータが出力できる速度だからである。後述するように、走行モードが手動走行モードのとき、ユーザは、自律移動体１００の進行方向に対して、主に逆方向の外力Ｆｕを自律移動体１００に加えて、自律移動体１００の方向を制御する。なお、走行モードが手動走行モードのとき、自律移動体１００は、外力が加えられていないときは、無負荷時手動速度ｖｎにて直進する。
【００４８】
なお、無負荷時手動速度ｖｎは、操作部５の設定部５３、又は、操作ハンドル５１ａ、５１ｂにより、調整可能とされていてもよい。これにより、自律移動体１００に予定走行経路を教示するユーザの特性などに応じて、無負荷時手動速度ｖｎを適切に調整できる。
【００４９】
モータ制御指令部２４３は、走行モードに基づいて、モータ制御指令を出力する。モータ制御指令部２４３は、走行モードが手動走行モードの場合には、第１モータ制御指令を出力する。一方、走行モードが自律走行モードの場合には、モータ制御指令部２４３は、第２モータ制御指令を出力する。
本実施形態においては、第１モータ制御指令には、モータ駆動部２５に対して、モータ１３ａ、１３ｂが速度制御指令ｖｃに対して追随しにくくなるよう、モータ１３ａ、１３ｂを制御するようなモータ制御指令を含んでいる。また、モータ駆動部２５が、電力制限部（図６Ａ）を有している場合は、第１モータ制御指令に、走行モードが手動走行モードのときにモータ駆動部２５が出力可能な、モータ駆動電流Ｉｄの上限値（第１電流値Ｉ１、及び／又は、第２電流値Ｉ２）（後述）に関する情報を含める。なお、上記のように、第１モータ制御指令に、第１電流値Ｉ１、第２電流値Ｉ２を含める場合は、モータ駆動部２５が、モータ１３ａ、１３ｂに出力する電流（モータ駆動電流Ｉｄ）により、モータ１３ａ、１３ｂの電力を制御する場合である。
走行モードが手動走行モードのときに、モータ制御指令部２４３が、上記のような第１モータ制御指令を出力することより、モータ１３ａ、１３ｂへ供給されるモータ駆動電流Ｉｄが制限される。その結果、モータ１３ａ、１３ｂから出力可能なトルクを制限できる。
【００５０】
一方、走行モードが自律走行モードのとき、モータ制御指令部２４３から出力される第２モータ制御指令には、モータ１３ａ、１３ｂを速度制御指令ｖｃに追随させるような、第１モータ制御指令とは異なるモータ制御指令を含ませる。また、第１モータ制御指令にモータ駆動電流Ｉｄの上限値に関する情報が含まれる場合には、第２モータ制御指令には、モータ駆動電流Ｉｄの上限値を解除するモータ制御指令を含める。
走行モードが自律走行モードのときに、モータ制御指令部２４３が、上記のような第２モータ制御指令を出力することにより、モータ１３ａ、１３ｂは、速度制御指令ｖｃに追随できる。その結果、自律移動体１００は、走行経路を忠実に走行できる。
【００５１】
なお、第１モータ制御指令に、モータ１３ａ、１３ｂが速度制御指令ｖｃに対して追随しにくくなるようなモータ制御指令及びモータ駆動電流Ｉｄの上限値を含ませる理由、及び、第１モータ制御指令と第２モータ制御指令とが異なる理由については、後ほど詳しく説明する。
【００５２】
ＩＩＩ．モータ駆動部の構成
（ｉ）全体構成
次に、モータ駆動部２５の構成について説明する。まず、モータ駆動部２５の全体構成について、図５を用いて説明する。図５は、モータ駆動部２５の全体構成を示す図である。
モータ駆動部２５は、第１モータドライバ２５ａと、第２モータドライバ２５ｂと、を有する。第１モータドライバ２５ａ、及び、第２モータドライバ２５ｂは、それぞれ、モータ１３ａ、１３ｂに接続されている。従って、第１モータドライバ２５ａはモータ１３ａを、第２モータドライバ２５ｂはモータ１３ｂを、それぞれ独立に駆動する。
そのため、第１モータドライバ２５ａ、第２モータドライバ２５ｂには、走行制御部２４から、それぞれ独立に、速度制御指令ｖｃ及びモータ制御指令が入力される。
【００５３】
（ｉｉ）モータドライバの構成
次に、第１モータドライバ２５ａ、第２モータドライバ２５ｂの構成について、図６Ａ及び図６Ｂを用いて説明する。第１モータドライバ２５ａと第２モータドライバ２５ｂは同じ構造を有しているので、ここでは、第１モータドライバ２５ａを例にとって、モータドライバの構造を説明する。図６Ａは、第１モータドライバ２５ａの基本的な構成を示す図である。
なお、本実施形態に係るモータドライバ２５ａ、２５ｂは、モータ１３ａ、１３ｂを駆動するために入力される電流であるモータ駆動電流Ｉｄ（モータ駆動電力の一例）を制御することにより、モータ１３ａ、１３ｂの電力を制御する。
第１モータドライバ２５ａは、電力制御部２５１と、電力供給部２５３と、を有する。電力制御部２５１は、速度制御指令ｖｃ及びモータ制御指令を、走行制御部２４から入力可能となっている。また、モータ１３ａから、モータ１３ａの回転速度ｖを入力可能となっている。モータ１３ａの回転速度ｖは、モータ１３ａに備えられたエンコーダからの信号などに基づいて決定される。
【００５４】
電力制御部２５１は、速度制御指令ｖｃ及びモータ制御指令に基づいて決定される制御パラメータと、モータ１３ａの回転速度ｖとに基づいて、電流指示値Ｉｃ（電力指示値の一例）を算出し出力する。ここで、制御パラメータとは、電力制御部２５１の制御特性を決定するためのパラメータである。また、電流指示値Ｉｃは、電力供給部２５３（後述）に対する指令であり、電力供給部２５３が出力すべきモータ駆動電流Ｉｄ（後述）を指示する信号である。
なお、電力制御部２５１としては、制御パラメータにより電力制御部２５１の制御特性を変化できるような制御を用いた制御装置が用いられる。このような制御装置としては、例えば、ＰＩ（Ｐｒｏｐｏｒｔｉｏｎａｌ  Ｉｎｔｅｇｒａｌ）制御理論を用いた制御装置や、ＰＩＤ（Ｐｒｏｐｒｏｔｉｏｎａｌ  Ｉｎｔｅｇｒａｌ  Ｄｉｆｆｅｒｅｎｔｉａｌ（Ｄｅｒｉｖａｔｉｖｅ））制御理論を用いた制御装置などが挙げられる。
なお、本実施形態における電力制御部２５１の構成については、後述する。
【００５５】
電力供給部２５３は、電力制御部２５１から電流指示値Ｉｃを入力可能となっている。また、電力供給部２５３は、モータ１３ａに接続されている。そのため、電力供給部２５３は、電流指示値Ｉｃに基づいて、モータ１３ａにモータ駆動電流Ｉｄを供給できる。
なお、電力供給部２５３は、モータ１３ａに供給されている実際のモータ駆動電流Ｉｄをフィードバックして、電流指示値Ｉｃとモータ駆動電流Ｉｄとの差分に基づいて、出力すべきモータ駆動電流Ｉｄを算出して出力している。
【００５６】
（ｉｉｉ）電力制御部の構成
次に、電力制御部２５１の構成について、図６Ａを用いて説明する。図６Ａに示すように、電力制御部２５１は、差分算出部２５１１と、制御部２５１３と、制御ゲイン設定部２５１５と、制御ゲイン記憶部２５１７と、電流制限部２５１９と、を有する。
差分算出部２５１１は、速度制御指令ｖｃを走行制御部２４から入力可能となっており、モータ１３ａの実際の回転速度ｖをモータ１３ａから入力可能となっている。差分算出部２５１１は、速度制御指令ｖｃと、モータ１３ａの実際の回転速度ｖとの速度偏差Δｖ（ｖｃ−ｖ）を算出し出力する。
【００５７】
制御部２５１３は、制御ゲイン設定部２５１５から信号受信可能に接続されている。これにより、制御ゲイン設定部２５１５から受信した信号により、制御部２５１３の制御特性が調整される。また、制御部２５１３は、差分算出部２５１１から、速度偏差Δｖを入力可能となっている。さらに、制御部２５１３は、電力供給部２５３に接続されている。これにより、制御部２５１３は、速度偏差Δｖから電流指示値Ｉｃを算出し、電流指示値Ｉｃを電力供給部２５３に出力できる。
なお、制御部２５１３においては、モータ１３ａの回転速度ｖが速度制御指令ｖｃに到達するために追加されるべき制御量（追加制御量と呼ぶことにする）ΔＴを、速度偏差Δｖから計算し、その後、ΔＴを出力すべき電流指示値Ｉｃに変換する。
【００５８】
本実施形態において、制御部２５１３は、ＰＩ制御理論に基づき動作する。このとき、制御部２５１３は、追加制御量ΔＴを、ΔＴ＝Ｋｐ×Δｖ＋Ｋｉ×Ｉｎｔ（Δｖ）という式から算出する。ここで、Ｉｎｔ（Δｖ）は、速度偏差Δｖの時間積分である。Ｋｐは、速度偏差Δｖ（比例項）に対するΔＴの出力量を決定する定数である。Ｋｉは、速度偏差Δｖの時間積分Ｉｎｔ（Δｖ）（積分項）に対するΔＴの出力量を決定する定数である。
ＰＩ制御理論に基づき動作する制御部２５１３は、上記定数Ｋｐ及びＫｉの値を調整することにより、制御部２５１３の制御特性を調整できる。上記定数Ｋｐ及びＫｉは、制御ゲインと呼ばれる。制御ゲインＫｐ及びＫｉは、制御ゲイン設定部２５１５からの信号により、調整される。
【００５９】
なお、本実施形態では、制御部２５１３として、ＰＩ制御理論に基づき動作する制御装置を用いているが、これに限られない。例えば、制御部２５１３は、ＰＩＤ制御理論に基づき動作する制御装置であってもよい。ＰＩＤ制御理論においては、ΔＴは、ΔＴ＝Ｋｐ×Δｖ＋Ｋｉ×Ｉｎｔ（Δｖ）＋Ｋｄ×（Δｖ）’という式で表される。ここで、（Δｖ）’は、速度偏差Δｖの時間微分である。Ｋｄは、Δｖの時間微分（Δｖ）’（微分項）に対するΔＴの出力量を決定する定数である。
【００６０】
制御部２５１３がＰＩＤ制御理論に基づき動作する制御装置である場合、制御部２５１３は、時間に対してより速く応答するようになる。これにより、モータ１３ａ、１３ｂは、走行モードが自律走行モードであるときに、速度制御指令ｖｃに、さらに忠実に追随できる。
なお、ＰＩＤ制御理論に基づき動作する制御部２５１３を用いている場合、制御ゲイン設定部２５１５により上記定数Ｋｄを０に設定することにより、制御部２５１３は、ＰＩ制御理論に基づいて動作するようになる。
【００６１】
制御ゲイン設定部２５１５は、制御部２５１３に信号を送信可能に接続されている。また、制御ゲイン設定部２５１５は、制御ゲイン記憶部２５１７（後述）から、データを入力可能に接続されている。これにより、制御ゲイン設定部２５１５は、走行制御部２４から出力されるモータ制御指令に基づいて、制御ゲイン記憶部２５１７から予め決定された１つの制御ゲインを選択して読み出す。そして、制御ゲイン設定部２５１５は、読み出した制御ゲインを制御部２５１３へ出力し、制御部２５１３の制御ゲインを設定する。
制御ゲイン設定部２５１５は、モータ制御指令が第２モータ制御指令の場合には、第２制御ゲインを制御ゲイン記憶部２５１７から選択する。一方、モータ制御指令が第１モータ制御指令の場合には、制御ゲイン設定部２５１５は、第１制御ゲインを制御ゲイン記憶部２５１７から選択する。
【００６２】
制御ゲイン記憶部２５１７は、制御ゲイン設定部２５１５と信号の送信可能に接続されている。制御ゲイン記憶部２５１７は、所定の数の予め決定された制御ゲインを記憶する。そして、制御ゲイン記憶部２５１７に記憶された制御ゲインが、制御ゲイン設定部２５１５から読み出されて、制御部２５１３に設定される。
制御ゲイン記憶部２５１７において記憶される制御ゲインは、制御部２５１３がＰＩ制御理論に基づいて動作するものである場合には、定数Ｋｐ及びＫｉの２つの定数を１つの単位とする。すなわち、制御ゲインは、２次元の定数（Ｋｐ，Ｋｉ）として表現される。また、制御部２５１３がＰＩＤ制御理論に基づいて動作するものである場合には、Ｋｐ、Ｋｉに加えて、Ｋｄをさらに追加して３つの定数を単位として、３次元の定数（Ｋｐ，Ｋｉ，Ｋｄ）として表現できる。
【００６３】
制御ゲイン記憶部２５１７は、少なくとも、第１制御ゲイン（Ｋｐ１，Ｋｉ１）と、第２制御ゲイン（Ｋｐ２，Ｋｉ２）との２つの制御ゲインを記憶する。なお、第２制御ゲインは、モータ１３ａの回転速度ｖが速度制御指令ｖｃに追随できる最適値に設定されている。このような、第２制御ゲインの最適値は、手動による調整により行われてもよいし、モータ駆動部２５により自動的に調整されてもよい。
また、第１制御ゲインは、第２制御ゲインよりも小さい値を有している。すなわち、第１制御ゲインと、第２制御ゲインとの間には、Ｋｐ１＜Ｋｐ２、Ｋｉ１＜Ｋｉ２の関係が成立している。このように、第１制御ゲインが第２制御ゲインよりも小さな値とすることにより、走行モードが手動走行モードの場合において、走行モードが自律走行モードの場合と比べて、モータ１３ａ、１３ｂが速度制御指令ｖｃに追随しにくくなるような電流指示値Ｉｃを出力できる。その結果、走行モードが手動走行モードのときに、モータ１３ａ、１３ｂへ入力されるモータ駆動電流Ｉｃを抑制できる。従って、走行モードが手動走行モードのときに、モータから出力可能なトルクを制限できる。
さらに、第１制御ゲインの積分項に関する制御ゲインＫｉ１は０とすることが好ましい。これにより、外力Ｆｕを長時間加えて、モータ１３ａ、１３ｂの回転速度を維持する場合にも、外力Ｆｕの大きさを徐々に上昇させるなどの操作が不要となる。その結果、ユーザによる自律移動体１００の操作性が向上する。
また、第１制御ゲインの値と第２制御ゲインの値を異ならせることにより、１つの制御部２５１３のみを用いて、特性の異なる複数の制御を行える。その結果、モータ駆動部２５の構造を単純にできる。
【００６４】
また、制御ゲイン記憶部２５１７は、２つ以上の制御ゲインを記憶していてもよい。これにより、自律移動体１００が走行する環境（移動平面の状態など）などに応じて、制御ゲイン設定部２５１５は、適切な制御ゲインを選択できる。制御ゲインが２つ以上の場合でも、第１制御ゲインの値は、第２制御ゲインの値よりも小さくなる。
【００６５】
さらに、制御ゲイン記憶部２５１７は、複数の制御ゲインを一群の第１制御ゲインとして記憶し、別の複数の制御ゲインを一群の第２ゲインとして記憶しておいてもよい。
この場合、制御ゲイン設定部２５１５は、モータ制御指令に基づき、一群の第１制御ゲインの中から１つの制御ゲインを選んで第１制御ゲインとし、一群の第２制御ゲインの中から１つの制御ゲインを選んで第２制御ゲインとして、制御部２５１３の制御ゲインとして設定してもよい。
これにより、自律移動体１００が走行する環境や、自律移動体１００を手動操作するユーザの特性などに応じて、制御ゲイン設定部２５１５は、適切な制御ゲインを選択できる。
制御ゲイン記憶部２５１７として、移動制御装置２に備わっている記憶装置（記憶部２３）の記憶領域の一部を用いることができる。その他、移動制御装置２の記憶装置や記憶部２３とは個別に、制御ゲイン記憶用の記憶部が存在していてもよい。
【００６６】
電流制限部２５１９は、制御部２５１３の出力と電力供給部２５３との間に接続される。電流制限部２５１９は、モータ制御指令が第１モータ制御指令の場合に、モータ駆動電流Ｉｄの上限を、所定の第１電流値Ｉ１（第１電力値の一例）に制限する。なお、本実施形態においては、モータ駆動電流Ｉｄを制御することによりモータ１３ａ、１３ｂの電力を制御しているため、電流制限部２５１９は、上記のように、モータ駆動電流Ｉｄの上限値を制限している。また、モータドライバ２５ａが電流制限部２５１９を有する場合、モータドライバ２５ａの出力とモータ１３ａの入力の間に、電力値検出部２５５が備えられる。電力値検出部２５５は、本実施形態においては、モータ駆動電流Ｉｄの電流値（電力値の一例）を検出する。電力値検出部２５５としては、電流を電圧に変換する装置、例えば、シャント抵抗などを用いることができる。又は、電力値検出部２５５としては、電流の流れる電線の周囲に生じる磁界を検出することにより電流を測定する装置、例えば、クランプ電流計やトランスカレントなどを用いることができる。
図６Ａに示すように、電力値検出部２５５の電流値の検出結果は、電流制限部２５１９に入力される。これにより、電流制限部２５１９は、モータドライバ２５ａから出力される実際のモータ駆動電流Ｉｄの電流値を監視し、モータ駆動電流Ｉｄが第１電流値Ｉ１よりも大きくなった場合、モータ駆動電流Ｉｄを第１電流値Ｉ１に設定するような電流指示値Ｉｃを出力する。
【００６７】
また、走行モードが手動走行モードのときに、モータ駆動電流Ｉｄが、所定の時間ｔ２（後述）以上、所定の閾値ＩＴ（後述）を超えた場合、電流制限部２５１９は、モータ駆動電流Ｉｄの上限を第２電流値Ｉ２（第２電力値の一例）に制限する。
これにより、所定の時間以上、モータ１３ａへ過剰なモータ駆動電流Ｉｄが入力されることを抑制できる。その結果、自律移動体１００を手動操作する際に、ユーザが長時間無理な外力Ｆｕを加えて自律移動体１００を操作する必要がなくなる。その結果、ユーザによる自律移動体１００の操作性が向上する。
電流制限部２５１９における第１電流値Ｉ１及び第２電流値Ｉ２は、第１モータ制御指令に含まれる第１電流値Ｉ１及び第２電流値Ｉ２に関する情報により設定される。一方、走行モードが自律走行モードの時には、電流制限部２５１９におけるモータ駆動電流Ｉｄの制限は解除される。これは、例えば、電流制限部２５１９に、モータ１３ａ、１３ｂの定格電流以上の値を有する第１電流値Ｉ１及び第２電流値Ｉ２を設定することにより実現できる。なお、第１電流値Ｉ１及び第２電流値Ｉ２に、モータ１３ａ、１３ｂの定格電流以上の値を設定しても、モータ１３ａ、１３ｂに入力可能なモータ駆動電流Ｉｄは最大電流Ｉｍａｘを超えない。
【００６８】
また、電流制限部２５１９は、制御部２５１３から出力される電流指示値Ｉｃが、モータ駆動電流Ｉｄが第１電流値Ｉ１を超えるような指示値であった場合に、電流指示値Ｉｃをモータ駆動電流Ｉｄが第１電流値Ｉ１になるような指示値に補正してもよい。そして、電流制限部２５１９は、補正した指示値を電流指示値Ｉｃとして出力もよい。このような方法によっても、電流制限部２５１９は、モータ駆動電流Ｉｄの上限を、第１電流値Ｉ１に制限できる。
なお、電流制限部２５１９が、制御部２５１３からの指示値を補正する方法により、モータ駆動電流Ｉｄの上限を第１電流値Ｉ１に制限する場合には、電力値検出部２５５は、なくてもよい。
【００６９】
このように、電力制限部２５１９は、算出された電流指示値Ｉｃが大きな値となっても、モータ駆動電流Ｉｄの大きさを制限できる。その結果、モータ１３ａ、１３ｂのトルクを制限できる。
なお、特に、走行モードが手動走行モードのときに、制御部２５１３のみであっても十分にモータ駆動電流Ｉｄを制限できる場合には、図６Ｂに示すように、電力制御部２５１は、電流制限部２５１９を有していなくてもよい。また、モータドライバ２５ａが、電流制限部２５１９を有していない場合には、電力値検出部２５５も、特に必要ない。
【００７０】
（６）自律移動体の動作
Ｉ．自律移動体の全体的な動作
次に、自律移動体１００の動作について説明する。まず、自律移動体１００を始動してから走行が終了するまでの、自律移動体１００の全体的な動作について、図７を用いて説明する。図７は、自律移動体１００を始動してから走行が終了するまでの、自律移動体１００の全体的な動作を示すフローチャートである。
自律移動体１００を始動すると、まず、ユーザが操作部５の設定部５３を操作して、自律移動体１００の走行モードを設定する。そして、設定部５３における設定が、切替部２７に反映される。つまり、切替部２７が、走行モードを、自律走行を行う自律走行モード、又は、手動にて操作される手動走行モードのいずれかに切り替える。その結果、移動制御装置２内において走行モードが設定される。（ステップＳ１）。
【００７１】
次に、走行制御部２４の速度制御指令部２４１が、切替部２７が設定した走行モードに基づいて、速度制御指令ｖｃを作成し出力する（ステップＳ２）。
ステップＳ２において、速度制御指令部２４１は、走行モードが手動走行モードの場合には、モータ１３ａ、１３ｂを無負荷時手動速度にて回転させる速度制御指令ｖｃを作成する。
一方、走行モードが自律走行モードの場合には、主制御部２８の走行指示に基づいて、速度制御指令ｖｃが作成される。このとき、主制御部２８は、自律移動体１００に教示された予定走行経路から走行経路を作成する。そして、主制御部２８は、走行経路と、検出部３から得られた障害物の位置情報とに基づいて、位置情報と時刻情報とを含んだ走行指示を作成する。走行指示が位置情報と時刻情報を含んでいることにより、速度制御指令部２４１は、時刻と速度の関係により示される速度制御指令ｖｃを、容易に作成できる。
【００７２】
そして、モータ制御指令部２４３が、走行モードが手動走行モードの場合には、モータ１３ａ、１３ｂから出力可能なトルクを制限するようにモータ１３ａ、１３ｂを制御するための第１モータ制御指令を作成する。一方、走行モードが自律走行モードの場合には、モータ１３ａ、１３ｂの回転速度が速度制御指令ｖｃに追随するようにモータ１３ａ、１３ｂを制御するための第２モータ制御指令を作成し出力する（ステップＳ３）。
【００７３】
次に、制御ゲイン設定部２５１５が、モータ制御指令の設定状態を検出する（ステップＳ４）。モータ制御指令が、第１モータ制御指令である場合（ステップＳ４にて「第１モータ制御指令」の場合）、自律移動体１００は、手動走行を行う（ステップＳ６）。この時、制御ゲイン設定部２５１５が、第１制御ゲインを制御ゲイン記憶部２５１７から読み出して、制御部２５１３に第１制御ゲインを設定する（ステップＳ６１）。ここで、電流制限部２５１９が、第１モータ制御指令に含まれる第１電流値Ｉ１及び第２電流値Ｉ２に関する情報に基づき、第１電流値Ｉ１、及び、第２電流値Ｉ２を設定する。
その後、モータ駆動部２５が、速度制御指令ｖｃに基づき、モータ１３ａ、１３ｂを制御する。そして、モータ１３ａ、１３ｂのトルク出力が制限された状態で、自律移動体１００は手動走行する（ステップＳ６２）。このとき、自律移動体１００は、操作部５を介してユーザから与えられる外力Ｆｕにより、操作される。
【００７４】
一方、モータ制御指令が、第２モータ制御指令である場合（ステップＳ４にて「第２モータ制御指令」の場合）、自律移動体１００は、自律走行を行う（ステップＳ５）。この時、制御ゲイン設定部２５１５が、第２制御ゲインを制御ゲイン記憶部２５１７から読み出して、制御部２５１３に第２制御ゲインを設定する（ステップＳ５１）。その後、モータ駆動部２５が、速度制御指令ｖｃに基づき、モータ１３ａ、１３ｂを制御する。そして、自律移動体１００は速度制御指令ｖｃに追随しながら自律走行する（ステップＳ５２）。
また、このとき、電流制限部２５１９におけるモータ駆動電流Ｉｄの上限値は解除される（ただし、モータ駆動電流Ｉｄは、最大電流Ｉｍａｘ以上にはならない）。
【００７５】
このように、走行モードに基づいて、適切な制御ゲインを制御部２５１３に設定することにより、自律移動体１００は、モータ１３ａ、１３ｂのトルク出力が制限されることなく自律走行モードにおいては速度制御指令ｖｃに追随して走行できる。一方、手動走行モードでは、自律移動体１００は、モータ１３ａ、１３ｂのトルク出力が制限された状態で走行する。その結果、手動走行モードにおいては、ユーザによる自律移動体１００の操作性が向上する。
【００７６】
ＩＩ．手動走行モードにおける自律移動体の動作
次に、手動走行モードにおける自律移動体１００の動作について図８Ａ〜図８Ｄを用いて説明する。特に、ユーザが操作ハンドル５１ａ、５１ｂを介して自律移動体１００の進行方向とは逆方向の外力Ｆｕを加えて、自律移動体１００の主輪１１ａ、１１ｂのいずれかの回転速度を減少させる動作について説明する。このとき、自律移動体１００は、回転速度を減少させられた主輪側に回転する。なぜなら、２つの主輪１１ａ、１１ｂの間に速度差が生じるからである。
図８Ａに示すように、今、進行方向左側の主輪１１ａに外力Ｆｕがユーザにより加えられたとする。その結果、主輪１１ａの回転速度ｖＬが、無負荷時手動速度ｖｎ（速度制御指令ｖｃも、ｖｎに設定されている）よりも、速度偏差Δｖｎだけ小さくなったとする。このとき、主輪１１ｂには外力が加えられていないので、主輪１１ｂは無負荷時手動速度ｖｎで回転する。これにより、自律移動体１００は、左旋回する。
【００７７】
この時、図８Ａに示すように、モータ１３ａを制御するモータドライバ２５ａは、速度偏差Δｖｎを無くするような制御を、モータ１３ａに対して行おうとする。すなわち、モータドライバ２５ａは、モータ駆動電流ＩｄをＩｍｉｎから、増加させる。このとき、モータ１３ａから出力されるトルクも増大する。なぜなら、モータ１３ａ、１３ｂから出力されるトルクは、モータ駆動電流Ｉｄが大きくなるに従い大きくなるからである。
なお、Ｉｍｉｎは、モータ１３ａ、１３ｂが無負荷時手動速度ｖｎにて回転しているときのモータ駆動電流Ｉｄである。
この時、制御部２５１３は、追加制御量ΔＴを示す式、ΔＴ＝Ｋｐ１×Δｖ＋Ｋｉ１×Ｉｎｔ（Δｖ）から、追加制御量ΔＴを算出する（追加制御量ΔＴ：Ｋｐ１Δｖｎ＋Ｋｉ１Δｖｎ）。そして、制御部２５１３は、現在の電流指示値Ｉｃに、追加制御量ΔＴに基づいて決定される指示値を加算し、新たな電流指示値Ｉｃとして出力する。その結果、電力供給部２５３から、Ｉｍｉｎよりも大きなモータ駆動電流Ｉｄが出力される。
【００７８】
また、図８Ａに示すように、制御ゲインＫｐ及びＫｉの値により、出力されるモータ駆動電流Ｉｄの時間変化が異なる。すなわち、制御ゲインＫｐ及びＫｉが大きくなるほど、モータ１３ａの回転速度の変化に対して速く反応する。よって、制御ゲインの値が大きいと、モータ駆動電流Ｉｄは急激に上昇し、短時間に最大電流Ｉｍａｘに到達する。一方、制御ゲインが小さくなるほど、モータ駆動電流Ｉｄの上昇速度はゆっくりとなる。すなわち、速度偏差Δｖｎに対して高速に応答しなくなる。
このように、手動走行モード時に、制御部２５１３の制御ゲインを第２制御ゲインより小さな第１制御ゲインに設定することより、モータ駆動電流Ｉｄは上昇しにくくなる。その結果、モータ１３ａ、１３ｂから出力されるトルクも上昇しにくくなる。すなわち、モータ１３ａ、１３ｂから出力可能なトルクが制限される。
【００７９】
なお、上述したように、走行モードが手動走行モードのときの、制御部２５１３の積分項に関する制御ゲインＫｉ１は、０とすることが好ましい。すなわち、ＰＩ制御の積分項を無効にすることが好ましい。図８Ｂに示すように、制御部２５１３は、積分項が有効である場合、速度変化Δｖｎを無くするために、積分項が無効である場合よりもより多くのモータ駆動電流Ｉｄを流すような電流指令値Ｉｃを生成する。
また、図８Ｂに示すように、積分項の影響は、速度偏差Δｖｎが保持される時間が長くなるほど顕著となる。なぜなら、積分項は、速度偏差Δｖｎの累積値に対応する項であるからである。すなわち、速度偏差Δｖｎが長時間存在する場合、速度偏差Δｖｎが累積されて、電流指示値Ｉｃ（すなわち、モータ駆動電流Ｉｄ）が急激に上昇するようになる。
モータ制御指令が第１モータ制御指令のときに、積分項に関する制御ゲインＫｉ１を０として、積分項（速度偏差Δｖｎの累積値）が追加制御量ΔＴに影響を与えないようにすることにより、モータ駆動電流Ｉｄが急激に上昇することを抑制できる。その結果、モータ１３ａ、１３ｂから出力されるトルクが制限される。
【００８０】
また、本実施形態においては、電力制御部２５１は、電流制限部２５１９によって、図８Ｃに示すように、モータ駆動電流Ｉｄが第１電流値Ｉ１よりも上昇しないようにしている。すなわち、制御部２５１３からの電流指示値Ｉｃが大きくなり、モータ駆動電流Ｉｄが第１電流値Ｉ１よりも大きくなるような場面でも、モータ駆動電流Ｉｄが第１電流値Ｉ１に制限される。
このようにして、走行モードが手動走行モードのときに、モータ１３ａ、１３ｂに入力されるモータ駆動電流Ｉｄの上限値は確実に制限される。この結果、走行モードが手動走行モードのときに、モータ１３ａ、１３ｂが出力可能なトルクを確実に制限できる。
【００８１】
次に、もう一つの自律移動体１００の操作について、図８Ｄを用いて説明する。図８Ｄは、主輪１１ａ、１１ｂのいずれかの回転をほとんど、あるいは、完全に停止させて、自律移動体１００を回転させた場合の、自律移動体１００の状態を示した図である。
このように、主輪１１ａ、１１ｂのいずれかを、ほとんど、あるいは、完全に停止させて、自律移動体１００を回転させる操作を、ピボット操作と呼ぶこともある。ピボット操作により、自律移動体１００は、より小さな回転半径にて回転（ピボット回転）できる。
図８Ｄにおいては、自律移動体１００の左側の主輪１１ａの回転をほぼ停止させて、自律移動体１００を左にピボット回転させる。この場合、左側の主輪１１ａの回転速度ｖＬはほぼ０となっている。従って、速度偏差Δｖｎは、図８Ａにおいて示した場合よりも大きくなる。その結果、制御部２５１３から出力される電流指示値Ｉｃは大きな値となる。
【００８２】
一方、本実施形態の電力制御部２５１は、電流制限部２５１９によって図８Ｄに示すように、所定の時間ｔ２以上、所定の閾値ＩＴを越えたモータ駆動電流Ｉｄが流れた場合には、モータ駆動電流Ｉｄを第２電流値Ｉ２に制限する。このため、モータ１３ａ、１３ｂをほぼ停止させることにより電流指示値Ｉｃが大きな値として算出されても、確実にモータ駆動電流Ｉｄを適切な電流値（第２電流値Ｉ２）に制限できる。よって、ピボット操作のように、モータ１３ａ、１３ｂの回転を確実に止めるような操作をしたい場合でも、ユーザは自律移動体１００に大きな外力Ｆｕを加える必要がなくなる。すなわち、ユーザによる自律移動体１００の操作性が向上する。
【００８３】
ＩＩＩ．手動走行モードと自律走行モードにより制御ゲインを異ならせる理由
ここで、手動走行モード時に第１制御ゲインを用い、自律動向モード時に第２制御ゲインを用いる理由について説明する。手動走行モード時に第１制御ゲインを用いる理由については、上述したとおりである。すなわち、大きな制御ゲインを有する第２制御ゲインを用いると、モータ１３ａ、１３ｂの回転速度を無負荷時手動速度ｖｎより低速にしようとすると、モータ１３ａ、１３ｂに大きなモータ駆動電流Ｉｄが流れるからである。その結果、手動操作により自律移動体１００を旋回させようとするときに、ユーザは強い外力Ｆｕを加えなくてはならなくなる。その結果、ユーザによる自律移動体１００の操作性が低下する。
【００８４】
一方、自律走行モード時に第１制御ゲインを用いた場合、制御ゲインが小さいために、モータ１３ａ、１３ｂの回転速度ｖが、速度制御指令ｖｃに追随しなくなる。そのため、速度制御指令部２４１が、主制御部２８にて作成された走行指示に基づいて、走行経路を忠実に走行可能な速度制御指令ｖｃを作成したとしても、自律移動体１００は走行経路を忠実に走行できなくなる。
従って、自律走行モード時に制御部２５１３において用いる第２制御ゲインとしては、モータドライバ２５ａ、２５ｂが、モータ１３ａ、１３ｂの出力可能なトルクを制限することなく、モータ１３ａ、１３ｂを速度制御指令ｖｃに追随可能に制御するような制御ゲインが用いられる。すなわち、走行モードが自律走行モードのとき、制御部２５１３は、自律移動体１００が予定走行経路を忠実に走行することに重点を置いた、モータ１３ａ、１３ｂの制御を行う。従って、第２制御ゲインには、第１制御ゲインよりも大きな値を有するような制御ゲインが設定される。
【００８５】
（７）本実施形態の効果
以下に、本実施形態の効果について述べる。
自律移動体１００（自律移動体の一例）は、２つの主輪１１ａ、１１ｂ（複数の車輪の一例）と、２つのモータ１３ａ、１３ｂ（複数のモータの一例）と、切替部２７（切替部の一例）と、速度制御指令部２４１（速度制御指令部の一例）と、モータ制御指令部２４３（モータ制御指令部の一例）と、モータ駆動部２５（モータ駆動部の一例）と、を備える。主輪１１ａ、１１ｂは、自律移動体１００を走行させる。モータ１３ａ、１３ｂのそれぞれは、主輪１１ａ、１１ｂのそれぞれに接続される。モータ１３ａ、１３ｂは、接続された主輪１１ａ、１１ｂを回転させる。切替部２７は、例えば図７のステップＳ１のように、走行モード（走行モードの一例）を、自律走行を行う自律走行モード（自律走行モードの一例）、又は、手動にて操作される手動走行モード（手動走行モードの一例）のいずれかに切り替える。速度制御指令部２４１は、例えば図７のステップＳ２のように、走行モードに基づき、モータ１３ａ、１３ｂの速度を制御するための速度制御指令ｖｃ（速度制御指令の一例）を出力する。モータ制御指令部２４３は、例えば、図７のステップＳ３のように、走行モードが手動走行モードである場合には、モータ１３ａ、１３ｂが出力可能なトルクを制限する第１モータ制御指令（第１モータ制御指令の一例）を出力する。一方、走行モードが自律走行モードである場合には、モータ制御指令部２４３は、例えば、図７のステップＳ３のように、モータの速度を速度制御指令ｖｃに追随させる第２モータ制御指令（第２モータ制御指令の一例）を、モータ制御指令（モータ制御指令の一例）として出力する。モータ駆動部２５は、速度制御指令ｖｃとモータ制御指令とに基づいて、モータ１３ａ、１３ｂを駆動する。
【００８６】
この自律移動体１００では、最初に、切替部２７が、走行モードを自律走行モード、又は、手動走行モードのいずれかに切り替えて設定する。次に、速度制御指令部２４１が、走行モードに基づいて、モータ１３ａ、１３ｂの速度を制御する速度制御指令ｖｃを出力する。そして、モータ制御指令部２４３が、走行モードに基づき、モータ制御指令を出力する。このとき、モータ制御指令部２４３は、走行モードが手動走行モードの時には、モータ制御指令として第１モータ制御指令を出力する。一方、走行モードが自律走行モードの時には、モータ制御指令部２４３は、モータ制御指令として第２モータ制御指令を出力する。
その後、モータ駆動部２５が、速度制御指令ｖｃ及びモータ制御指令に基づいて、モータを制御する。
【００８７】
このような自律移動体１００により、ユーザが自律移動体１００を手動にて操作するときには、モータ１３ａ、１３ｂから出力されるトルクが制限される。一方、自律移動体１００が自律走行するときには、モータから出力可能なトルクを制限することなく、速度制御指令部２４１において作成された速度制御指令ｖｃに追随するように、モータ１３ａ、１３ｂが制御される。この結果、ユーザが自律移動体１００を操作しているときには、ユーザは無理な外力Ｆｕ（外力の一例）を加えることなく自律移動体１００を操作できる。一方、自律移動体１００が自律走行するときには、自律移動体１００は速度制御指令ｖｃに従って走行できる。
【００８８】
従って、ユーザによる自律移動体１００の操作性を向上できる。そして、自律移動体１００は、ユーザにより教示された走行経路（走行経路の一例）を忠実に走行できる。
【００８９】
本実施形態の自律移動体１００においては、モータ駆動部２５は、電力制御部２５１（電力制御部の一例）と、電力供給部２５３（電力供給部の一例）と、を有している。電力制御部２５１は、速度制御指令ｖｃ及びモータ制御指令に基づいて決定される制御パラメータ（制御パラメータの一例）に基づいて、電流指示値Ｉｃ（電力指示値の一例）を算出する。電力供給部２５３は、電流指示値Ｉｃに基づいて、モータ１３ａ、１３ｂにモータ駆動電流Ｉｄ（モータ駆動電力の一例）を供給する。
【００９０】
このようなモータ駆動部２５により、モータ１３ａ、１３ｂから出力されるトルクが、モータ１３ａ、１３ｂに供給されるモータ駆動電流Ｉｄにより制御できる。その結果、モータ駆動部２５は、より簡単にモータから出力されるトルクを制御できる。
【００９１】
本実施形態の自律移動体１００においては、電力制御部２５１の制御パラメータは制御ゲインを含んでいる。よって、電力制御部２５１は、制御ゲイン記憶部２５１７（制御ゲイン記憶部の一例）と、制御ゲイン設定部２５１５（制御ゲイン設定部の一例）と、を有している。制御ゲイン記憶部２５１７は、所定の数の予め決定された制御ゲインを記憶する。制御ゲイン設定部２５１５は、モータ制御指令に基づき、制御ゲイン記憶部２５１７に記憶された所定の数の制御ゲインから、１つの制御ゲインを選択する。
【００９２】
電力制御部２５１の制御パラメータを制御ゲインとし、制御ゲインをモータ制御指令に基づき決定することにより、１つの電力制御部２５１のみを用いて、特性の異なる複数の制御を行える。その結果、モータ駆動部２５の構造を単純にできる。
【００９３】
本実施形態の自律移動体１００においては、制御ゲイン設定部２５１５は、モータ制御指令が第２モータ制御指令の場合には、第２制御ゲイン（第２制御ゲインの一例）を選択し、モータ制御指令が第１モータ制御指令の場合には、第２制御ゲインよりも小さな値を有する第１制御ゲイン（第１制御ゲインの一例）を選択している。
これにより、電力制御部２５１は、走行モードが手動走行モードのときに、モータ１３ａ、１３ｂへ入力されるモータ駆動電流Ｉｄを抑制できる。従って、走行モードが手動走行モードのときに、モータから出力可能なトルクを制限できる。
【００９４】
本実施形態の自律移動体１００においては、モータ駆動部２５は、電力値検出部２５５（電力値検出部の一例）と、電流制限部２５１９（電力制限部の一例）と、をさらに有している。電力値検出部２５５は、モータ駆動電流Ｉｄの電流値（電力値の一例）を検出する。電流制限部２５１９は、モータ制御指令が第１モータ制御指令である場合に、モータ駆動電流Ｉｄの上限を所定の第１電流値Ｉ１（第１電力値の一例）に制限する。
これにより、走行モードが手動走行モードのときに、モータ１３ａ、１３ｂに入力されるモータ駆動電流Ｉｄの上限値を確実に制限できる。この結果、走行モードが手動走行モードのときに、モータ１３ａ、１３ｂが出力可能なトルクを確実に制限できる。
【００９５】
本実施形態の自律移動体１００においては、走行モードが手動走行モードのときに、モータ駆動電流Ｉｄが時間ｔ２（所定の時間の一例）以上、閾値ＩＴ（所定の閾値の一例）を超えた場合、電流制限部２５１９は、モータ駆動電流Ｉｄの上限を第２電流値Ｉ２（第２電力値の一例）に制限している。
これにより、時間ｔ２以上、モータ１３ａ、１３ｂへ過剰なモータ駆動電流Ｉｄが入力されることを抑制できる。その結果、自律移動体１００を手動操作する際に、ユーザが長時間無理な外力Ｆｕを加えて自律移動体１００を操作する必要がなくなる。その結果、ユーザによる自律移動体１００の操作性が向上する。
【００９６】
本実施形態の自律移動体１００においては、移動制御装置２（移動制御装置の一例）は、速度制御指令部２４１へ走行指示（走行指示の一例）を出力する主制御部２８（主制御部の一例）をさらに備えている。この場合、速度制御指令部２４１は、主制御部２８からの走行指示に基づいて、速度制御指令ｖｃを演算する。また、主制御部２８から出力される走行指示は、走行モードが自律走行モード時に自律走行する走行経路（予定走行経路の一例）に基づいた位置情報（位置情報の一例）と時刻情報（時刻情報の一例）とを含んでいる。
これにより、速度制御指令部２４１は、位置情報と時刻情報とを含む走行指示に基づいて、容易に走行経路を忠実に走行できる速度制御指令ｖｃを演算できる。
【００９７】
２．他の実施形態
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。
（Ａ）自律移動体の構成についての他の実施形態
第１実施形態における自律移動体１００の移動部１は、２つの主輪１１ａと１１ｂを有していた。そして、主輪１１ａ、１１ｂのそれぞれが、モータ１３ａ、１３ｂの出力回転軸に回転可能に接続されていた。しかし、主輪及びモータの数は２に限られない。移動部は、２以上の主輪と、主輪のそれぞれに接続される複数のモータとにより構成されていてもよい。自律移動体の用途や、移動の自由度などに応じて、移動部は任意の数の主輪やモータにより構成できる。
【００９８】
（Ｂ）モータの電力制御について
第１実施形態に係る自律移動体１００のモータドライバ２５ａ、２５ｂは、速度制御指令ｖｃに基づいて、モータ１３ａ、１３ｂに入力するモータ駆動電流Ｉｄを制御することにより、モータ１３ａ、１３ｂの電力を制御していた。しかし、モータ１３ａ、１３ｂの電力を制御する方法は、モータ駆動電流Ｉｄを制御することに限られない。モータドライバ２５ａ、２５ｂは、モータ１３ａ、１３ｂに入力するモータ駆動電圧Ｖｄを制御することにより、モータ１３ａ、１３ｂへ入力される電力（電流）を制御してもよい。この場合、制御部２５１３から出力される指示値は、電圧指示値Ｖｃである。
例えば、ＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ）インバータなどのように、電力供給部２５３が電流制御の困難な電源装置などであった場合でも、モータ駆動電圧Ｖｄの制御を行うことにより、モータ１３ａ、１３ｂに入力される電流の大きさも調整できる。従って、モータ１３ａ、１３ｂの電力の制御を行える。
【００９９】
また、上記のように、電力供給部２５３として、ＰＷＭインバータなど出力電圧の周波数や波形などを制御可能な電源装置を用いた場合、電力供給部２５３は、モータ１３ａ、１３ｂに入力するモータ駆動電圧Ｖｄの周波数や波形を制御することにより、モータ１３ａ、１３ｂへ入力される電力（電流）を制御してもよい。例えば、電力供給部２５３としてＰＷＭインバータを用いた場合、電力供給部２５３から出力されるモータ駆動電圧Ｖｄのデューティ比を制御することによって、モータ１３ａ、１３ｂへ入力される電力（電流）を制御できる。この場合、制御部２５１３から出力される指示値は、デューティ比指示値Ｄｃである。
【産業上の利用可能性】
【０１００】
本発明は、教示された走行経路を自律走行する自律移動体に、広く適用できる。
【符号の説明】
【０１０１】
１００      自律移動体
１      移動部
１１ａ、１１ｂ      主輪
１３ａ、１３ｂ      モータ
２      移動制御装置
２１      教示部
２２      自己位置推定部
２３      記憶部
２４      走行制御部
２４１      速度制御指令部
２４３      モータ制御指令部
２５      モータ駆動部
２５ａ      第１モータドライバ
２５ｂ      第２モータドライバ
２５１      電力制御部
２５１１      差分算出部
２５１３      制御部
２５１５      制御ゲイン設定部
２５１７      制御ゲイン記憶部
２５１９      電流制限部
２５３      電力供給部
２５５      電力値検出部
２６      障害物情報取得部
２７      切替部
２８      主制御部
３      検出部
３１      前方検出器
３３      後方検出器
５      操作部
５１ａ、５１ｂ      操作ハンドル
５３      設定部
５５      表示部
５７      インターフェース
５９      筐体
７      本体
８      補助輪部
８ａ、８ｂ    補助車輪
９      取付部材
ｔ２      所定の時間
ｖ      モータの回転速度
ｖｃ      速度制御指令
ｖｎ      無負荷時手動速度
ｖＬ      左側主輪の回転速度
ｖＲ      右側主輪の回転速度
Δｖ、Δｖｎ      速度偏差
Ｉ１      第１電流値
Ｉ２      第２電流値
Ｉｃ      電流指示値
Ｉｄ      モータ駆動電流
Ｉｍｉｎ      無負荷時手動速度時のモータ駆動電流
Ｉｍａｘ      最大電流
ＩＴ      閾値
Ｖｄ      モータ駆動電圧
Ｖｃ      電圧指示値
Ｄｃ      デューティ比指示値
Ｆｕ      外力
Ｋｐ、Ｋｐ１、Ｋｐ２      制御ゲイン（比例項）
Ｋｉ、Ｋｉ１、Ｋｉ２      制御ゲイン（積分項）
Ｋｄ      制御ゲイン（微分項）
ΔＴ      追加制御量
【図１】
2014220890.tif 000003
【図２】
2014220890.tif 000004
【図３】
2014220890.tif 000005
【図４】
2014220890.tif 000006
【図５】
2014220890.tif 000007
【図６Ａ】
2014220890.tif 000008
【図６Ｂ】
2014220890.tif 000009
【図７】
2014220890.tif 000010
【図８Ａ】
2014220890.tif 000011
【図８Ｂ】
2014220890.tif 000012
【図８Ｃ】
2014220890.tif 000013
【図８Ｄ】
2014220890.tif 000014