(57)【要約】  パワーアシスト装置(100)は、人力で駆動される車両(1)のパワーアシストのために用いられる。当該装置は、モータ(30)と、モータ駆動回路(25)と、車輪の回転速度に応じた信号を出力するセンサ(30a)〜(30c)と、メモリ(22)と、信号処理装置(20)とを備える。メモリは、車両に入力される合計トルクと車輪の回転速度とを関係づける伝達関数、および逆伝達関数、を規定するパラメータ(24b)の情報を記憶する。信号処理装置は、当該逆伝達関数に基づいて、車輪の回転速度の検出値から合計トルクの推定値を決定する。また信号処理装置は、当該伝達関数に基づいて、たとえば合計トルクの推定値から決まる車輪の回転速度の推定値と、車輪の回転速度の検出値との間の誤差を低減するように、パラメータの情報の少なくとも一部を更新する。
2017047333.tif 000002
【特許請求の範囲】
【請求項１】
車輪を有し、人力によって駆動される車両のパワーアシスト装置であって、  モータトルクを生成するモータと、  前記モータに電力を供給するモータ駆動回路と、  前記車輪の回転速度に応じた信号を出力するセンサと、  前記車両に入力される合計トルクと前記車輪の回転速度とを関係づける伝達関数、および逆伝達関数、を規定するパラメータの情報を記憶するメモリと、  前記メモリおよび前記モータ駆動回路に接続された信号処理装置と、を備え、  前記信号処理装置は、  （０）前記センサから出力された前記信号を受け取り、前記車輪の回転速度の検出値を決定し、  （1）前記メモリから前記パラメータの情報を読み出し、前記パラメータによって規定される逆伝達関数に基づいて、前記車輪の回転速度の検出値から前記合計トルクの推定値を決定し、  （2）前記モータの動作状態を示す情報を取得し、前記情報に基づいて、前記モータが生成しているモータトルクの推定値を決定し、  （3）前記合計トルクの推定値から前記モータトルクの推定値を減算して得た値に基づいて人力トルクの推定値を決定し、  （4）前記人力トルクの推定値に基づいて前記モータトルクの指令値を決定し、前記モータトルクの指令値を前記モータ駆動回路に入力し、  （5）前記パラメータによって規定される伝達関数に基づいて任意のトルクの値から決まる前記車輪の回転速度の推定値と、前記車輪の回転速度の検出値との間の誤差を低減するように、前記メモリに記憶された前記パラメータの情報の少なくとも一部を更新する、パワーアシスト装置。
【請求項２】
前記任意のトルクの値は、前記合計トルクの推定値である、請求項１に記載のパワーアシスト装置。
【請求項３】
前記信号処理装置は、逐次最小二乗アルゴリズムを用いて、前記（5）の処理を実行する、請求項１に記載のパワーアシスト装置。
【請求項４】
前記パラメータによって規定される伝達関数は線形一次遅れ系の伝達関数である、請求項１に記載のパワーアシスト装置。
【請求項５】
前記線形一次遅れ系の伝達関数の時定数は慣性モーメントおよび粘性抵抗係数に基づいて決定される、請求項４に記載のパワーアシスト装置。
【請求項６】
前記信号処理装置は、前記人力トルクが実質的に加えられていないときに前記（5）の処理を実行する、請求項１に記載のパワーアシスト装置。
【請求項７】
前記車両はペダルを有し、前記ペダルを介して入力された人力によって駆動され、  前記パワーアシスト装置は、前記ペダルの角度に応じた角度信号を出力するペダル角度センサをさらに備え、  前記信号処理装置は、    前記ペダル角度センサから出力された前記角度信号が、前記ペダルの上死点または下死点の角度を示すとき、または前記ペダル角度センサから出力された前記角度信号により、前記人力トルクが生じないときに前記（5）の処理を実行する、請求項６に記載のパワーアシスト装置。
【請求項８】
前記車両は持ち手を有し、前記持ち手を介して入力された人力によって駆動され、  前記パワーアシスト装置は、前記持ち手に前記人力が加えられているか否かを検出する検出器をさらに備え、  前記信号処理装置は、前記持ち手に前記人力が加えられていないことを前記検出器が検出したときに、前記（5）の処理を実行する、請求項７に記載のパワーアシスト装置。
【請求項９】
加速度または路面の傾斜角に応じた信号を出力する傾斜角センサをさらに備え、  前記信号処理装置は、前記（3）の処理に先立って、  （6）前記傾斜角センサから出力された信号に基づいて路面の傾斜角の推定値を決定し、前記傾斜角の推定値から勾配路抵抗トルクを推定し、  （7） 前記車輪の回転速度の検出値の二乗に比例する空気力抵抗トルクを推定し、  前記（3）の処理において、前記合計トルクの推定値から前記モータトルクの推定値を減算し、かつ前記勾配路抵抗トルクおよび前記空気力抵抗トルクを加算して得た値に基づいて人力トルクの推定値を決定する、請求項１に記載のパワーアシスト装置。
【請求項１０】
前記傾斜角センサは加速度センサであり、  前記信号処理装置は、前記加速度センサから出力された信号を所定の時区間にわたって積分することにより、前記（6）の処理を実行する、請求項９に記載のパワーアシスト装置。
【請求項１１】
前記人力トルクに応じたトルク検出信号を出力するトルクセンサをさらに備え、  前記信号処理装置は、    前記トルク検出信号に基づいて前記モータトルクの指令値を決定し、前記モータトルクの指令値を前記モータ駆動回路に入力する処理、および前記（0）から（4）までの処理の一方を実行する、請求項１に記載のパワーアシスト装置。
【請求項１２】
前記信号処理装置は、前記トルク検出信号が得られないとき、前記（0）から（4）までの処理を実行する、請求項１１に記載のパワーアシスト装置。
【請求項１３】
前記信号処理装置は、予め定められた時間条件にしたがって、前記（0）から（4）までの処理を実行する、請求項１２に記載のパワーアシスト装置。
【請求項１４】
前記モータ駆動回路は、前記モータに流れる電流の大きさを示す信号を出力し、  前記信号処理装置は、前記（2）の処理において、前記モータに流れる電流の大きさを示す信号を、前記モータの動作状態を示す情報として取得する、請求項１に記載のパワーアシスト装置。
【請求項１５】
前記センサは、前記車輪の回転速度に応じた前記モータの回転速度を示す信号を出力するホールセンサであり、  前記ホールセンサは複数設けられている、請求項１４に記載のパワーアシスト装置。
【請求項１６】
前記信号処理装置は、前記（4）の処理において、前記モータトルクの指令値をPWM信号として前記モータ駆動回路に入力する、請求項１５に記載のパワーアシスト装置。
【請求項１７】
車輪と、  請求項１に記載のパワーアシスト装置と、  を備え  前記パワーアシスト装置のモータは前記車輪と機械的に接続されており、  前記車輪は、操者の人力トルクと、前記モータのモータトルクとによって回転する、電動アシスト車両。
【請求項１８】
モータおよび車輪を備える電動アシスト車両に入力される合計トルクと前記車輪の回転速度とを関係づける伝達関数および逆伝達関数を規定するパラメータの情報を記憶するメモリと、  前記メモリに接続された信号処理装置と、を備え、  前記電動アシスト車両に組み込まれたとき、前記信号処理装置は、前記車輪の回転速度に応じた信号を出力するセンサおよび前記モータの駆動回路に接続され、  （０）前記センサから出力された前記信号を受け取り、前記車輪の回転速度の検出値を決定し、  （1）前記メモリから前記パラメータの情報を読み出し、前記パラメータによって規定される逆伝達関数に基づいて、前記車輪の回転速度の検出値から前記合計トルクの推定値を決定し、  （2）前記駆動回路から前記モータの動作状態を示す情報を取得し、前記情報に基づいて、前記モータが生成しているモータトルクの推定値を決定し、  （3）前記合計トルクの推定値から前記モータトルクの推定値を減算して得た値に基づいて人力トルクの推定値を決定し、  （4）前記人力トルクの推定値に基づいて前記モータトルクの指令値を決定し、前記モータトルクの指令値を前記駆動回路に入力し、  （5）前記パラメータによって規定される伝達関数に基づいて任意のトルクの値から決まる前記車輪の回転速度の推定値と、前記車輪の回転速度の検出値との間の誤差を低減するように、前記メモリに記憶された前記パラメータの情報の少なくとも一部を更新する、信号処理モジュール。
【請求項１９】
電動アシスト車両の車両機構に加えられる人力トルクを、前記車両機構のシステムパラメータを用いて推定し、推定された前記人力トルクからモータのトルクを算出して前記人力トルクと前記モータのトルクとによって前記電動アシスト車両を駆動するために用いられるパワーアシスト装置であって、  前記人力トルクが前記電動アシスト車両に加えられていないタイミングで、前記車両機構のシステムパラメータを更新する、パワーアシスト装置。
【発明の詳細な説明】
【技術分野】
【０００１】  本開示は、電動モータで人を補助するパワーアシスト装置、および当該パワーアシスト装置を搭載した電動アシスト車両に関する。
【背景技術】
【０００２】  モータを利用して車両の操者を補助する電動アシスト車両が普及しつつある。電動アシスト車両の典型例は、電動アシスト自転車である。電動アシスト自転車では、人間が自転車のペダルに踏力を加えたとき、その自転車に搭載されたモータが駆動力を追加する。同様の機能が、電動アシスト自転車以外の乗物、たとえば加えられた人間の力で移動する手押し荷車やベビーカーにも搭載されつつある。人間の力によって車両に与えられる駆動力は「人力トルク」によって表され、また、モータの駆動力は「モータトルク」によって表され得る。【０００３】  車両の操者をモータがアシストするために、パワーアシスト装置が加えられた人力トルクを検出し、モータトルクを適切に制御する必要がある。モータが適切なモータトルクを出力することにより、人間にとって快適なアシストが実現される。パワーアシスト装置が人力トルクを検出するために、従来、トルクセンサが用いられていた。その一方、装置の小型化・簡素化、コストダウン等が要求されており、トルクセンサを必要としない人力トルク推定技術が必要とされている。【０００４】  特許文献１および特許文献２は、トルクセンサを用いない電動アシスト自転車の制御技術を開示している。【０００５】  特許文献１に開示されている電動モータ付自転車では、自転車機構の伝達関数および当該伝達関数の逆関数が予め用意される。自転車機構は、自転車に与えられる合計トルク（人力トルクおよびモータトルクを含む）と自転車の車輪の回転角度とを関係づけるシステムとしてモデル化されている。伝達関数は、この自転車機構を規定するパラメータとして慣性モーメントおよび粘性抵抗を有する。このような伝達関数の逆関数を利用して、車輪の回転角度から合計トルクが求められる。その後、合計トルクからモータトルクを減算して人力トルクの推定値が得られる。【０００６】  特許文献２に開示されている電動アシスト車両は、外乱オブザーバを用いて、モータトルク以外のトルクを外乱トルクとして算出する。外乱トルクには、走行負荷トルク及び人力トルクが含まれている。この電動アシスト車両は、外乱トルクから走行負荷トルクを減算することにより、人力トルクを算出する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】日本国公開公報第平９−０８６４７６号公報
【特許文献２】日本国公開公報第２０１３−２５６１９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】  実際の利用環境で車両が走行すると、自転車操者の体重および積載物重量の変化に応じて自転車機構における慣性モーメントが変化する。また、走路の状態および車両の整備状況などに依存して粘性抵抗も変化し得る。特許文献１の電動モータ付自転車では、慣性モーメントおよび粘性抵抗は固定値として扱われ、それらの変化は考慮されていなかった。また、特許文献２の電動アシスト車両では、そもそも、自転車機構を規定するパラメータを用いて合計トルクを算出することが行われていなかった。【０００９】  本開示の種々の実施形態は、車両機構のモデルを規定するパラメータを同定し、その値を逐次更新する電動アシスト車両の実現を可能にする。
【課題を解決するための手段】
【００１０】  本開示の例示的な実施形態によれば、パワーアシスト装置は、車輪を有し、人力によって駆動される車両のパワーアシスト装置であって、モータトルクを生成するモータと、モータに電力を供給するモータ駆動回路と、車輪の回転速度に応じた信号を出力するセンサと、車両に入力される合計トルクと車輪の回転速度とを関係づける伝達関数、および逆伝達関数、を規定するパラメータの情報を記憶するメモリと、メモリおよびモータ駆動回路に接続された信号処理装置と、を備える。信号処理装置は、（０）センサから出力された信号を受け取り、車輪の回転速度の検出値を決定し、（1）メモリからパラメータの情報を読み出し、パラメータによって規定される逆伝達関数に基づいて、車輪の回転速度の検出値から合計トルクの推定値を決定し、（2）モータの動作状態を示す情報を取得し、情報に基づいて、モータが生成しているモータトルクの推定値を決定し、（3）合計トルクの推定値からモータトルクの推定値を減算して得た値に基づいて人力トルクの推定値を決定し、（4）人力トルクの推定値に基づいてモータトルクの指令値を決定し、モータトルクの指令値をモータ駆動回路に入力し、（5）パラメータによって規定される伝達関数に基づいて任意のトルクの値から決まる車輪の回転速度の推定値と、車輪の回転速度の検出値との間の誤差を低減するように、メモリに記憶されたパラメータの情報の少なくとも一部を更新する。【００１１】  開示の例示的な実施形態によれば、電動アシスト車両は、車輪と、上述のパワーアシスト装置と、を備える。パワーアシスト装置のモータは車輪と機械的に接続されている。車輪は、操者の人力トルクと、モータのモータトルクとによって回転する。【００１２】  開示の例示的な実施形態によれば、信号処理モジュールは、モータおよび車輪を備える電動アシスト車両に入力される合計トルクと車輪の回転速度とを関係づける伝達関数および逆伝達関数を規定するパラメータの情報を記憶するメモリと、メモリに接続された信号処理装置と、を備える。信号処理装置は、電動アシスト車両に組み込まれたとき、車輪の回転速度に応じた信号を出力するセンサおよびモータの駆動回路に接続される。信号処理装置は、（０）前記センサから出力された信号を受け取り、車輪の回転速度の検出値を決定し、（1）メモリからパラメータの情報を読み出し、パラメータによって規定される逆伝達関数に基づいて、車輪の回転速度の検出値から合計トルクの推定値を決定し、（2）駆動回路からモータの動作状態を示す情報を取得し、情報に基づいて、モータが生成しているモータトルクの推定値を決定し、（3）合計トルクの推定値からモータトルクの推定値を減算して得た値に基づいて人力トルクの推定値を決定し、（4）人力トルクの推定値に基づいてモータトルクの指令値を決定し、モータトルクの指令値を駆動回路に入力し、（5）パラメータによって規定される伝達関数に基づいて任意のトルクの値から決まる車輪の回転速度の推定値と、車輪の回転速度の検出値との間の誤差を低減するように、メモリに記憶されたパラメータの情報の少なくとも一部を更新する。【００１３】  開示の例示的な実施形態によれば、電動アシスト車両の車両機構に加えられる人力トルクを、車両機構のシステムパラメータを用いて推定し、推定された前記人力トルクからモータのトルクを算出して人力トルクとモータのトルクとによって電動アシスト車両を駆動するために用いられるパワーアシスト装置であって、人力トルクが電動アシスト車両に加えられていないタイミングで、車両機構のシステムパラメータを更新する、パワーアシスト装置。
【発明の効果】
【００１４】  本開示の例示的な実施の形態によれば、パワーアシスト装置または信号処理モジュールは、車両機構のモデルを規定するパラメータを同定し、その値を逐次更新する。そのため、パワーアシスト装置または信号処理モジュールは、外部環境の変化を考慮してアシスト比またはアシスト量を正確に算出することができる。さらに、電動アシスト車両は、上述のパワーアシスト装置を備えるため、車両の操者は、最適なアシストを受けることができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本開示の例示的な実施の形態にかかる電動アシスト自転車１を示す図である。
【図２】図２は、電動アシスト自転車１に搭載されるパワーアシスト装置１００の詳細なハードウェア構成例を示す図である。
【図３】図３は、パワーアシスト装置１００を有する電動アシスト自転車のシステムブロック線図である。
【図４】図４は、自転車機構のダイナミクスのモデルを示す図である。
【図５】図５は、マイクロプロセッサ２０の動作の手順を示すフローチャートである。
【図６】図６は、走行負荷トルク算出処理を含む処理の手順を示すフローチャートである。
【図７】図７は、パワーアシスト装置１１０を表現したブロック線図である。
【図８】図８は、パワーアシスト装置１１０のマイクロプロセッサ２０の動作の手順を示すフローチャートである。
【図９】図９は、ペダル１６の位置（角度）と、ペダルトルクとの関係を示す図である。
【図１０】図１０は、本開示の他の例示的な実施の形態である電動手押し車２の側面図である。
【図１１】図１１は、線形時不変システムのモデルを示す図である。
【発明を実施するための形態】
【００１６】  以下、添付の図面を参照しながら、本開示のパワーアシスト装置およびパワーアシスト装置を備えた車両の実施形態を詳細に説明する。
【００１７】  （実施の形態１）  図１は、本開示の限定的でない例示的な実施の形態にかかる電動アシスト自転車１を示す。電動アシスト自転車１は、モータを利用して人を補助する自転車である。
【００１８】  電動アシスト自転車１は、一般的な自転車に備えられている部品の他、信号処理装置であるマイクロプロセッサ２０、モータ３０、およびバッテリ４０を備えている。一般的な自転車に備えられている部品の一例は、ハンドル１０、フレーム１１、前輪１２、後輪１３、サドル１４、チェーン１５、ペダル１６、クランク１７である。後輪１３は、チェーン１５を介してモータ３０と機械的に接続されている。後輪１３は、ペダル１６によって加えられた人力トルクと、モータ３０によって加えられたモータトルクによって回転する。これにより、電動アシスト自転車１が駆動される。なお、図１に示す電動アシスト自転車１の構成は一例であり、他の構成例を採用することも可能である。たとえば、電動アシスト自転車１は、チェーン１５を介してモータ３０と後輪１３とが機械的に接続されている形態に限らない。モータ３０が前輪１２に設けられてモータトルクを発生させ、前輪１２を直接駆動しても良い。
【００１９】  バッテリ４０は、たとえばリチウムイオンバッテリ、ニッケル水素バッテリなどの充電池（二次電池）であり得る。
【００２０】  電動アシスト自転車１は、上述したマイクロプロセッサ２０およびモータ３０を含むパワーアシスト装置によって、ペダル１６をこぐ自転車操者を補助する。以下、図２を参照しながらパワーアシスト装置の詳細な構成を説明する。
【００２１】  図２は、電動アシスト自転車１に搭載されるパワーアシスト装置１００の詳細なハードウェア構成例を示す。パワーアシスト装置１００は、マイクロプロセッサ２０と、ＲＯＭ（Read-Only Memory）２１と、ＲＡＭ（Random Access Memory）２２と、モータ駆動回路２５と、加速度センサ２６と、ペダル角度センサ２７と、モータ３０とを有する。
【００２２】  マイクロプロセッサ２０は、パワーアシスト装置１００の動作を総合的に制御する半導体集積回路である。マイクロプロセッサ２０は、種々のセンサの各々から信号を受け取り、各信号を利用してモータ３０の駆動を制御する。たとえばマイクロプロセッサ２０は、ホールセンサ信号のデータを受け取り、モータ３０の回転速度を算出する。さらにマイクロプロセッサ２０は、モータ３０の回転速度から現在の前輪１２または後輪１３の回転速度ωを算出する。すなわち、信号処理装置は、センサから出力された信号を受け取り、車輪の回転速度の検出値を決定する。
【００２３】  本実施の形態では、モータの回転速度と車輪の回転速度との間には所与の関係がある、またはモータの回転速度から車輪の回転速度が数値演算によって求められるとする。たとえば、モータの回転速度に所定の係数を乗じることにより、車輪の回転速度ωが得られるとする。多段変速の電動アシスト自転車の場合には、ギヤに応じた係数が用意され、マイクロプロセッサ２０が現在選択されているギヤに対応する係数をモータ３０の回転速度に乗じる。ただし、車輪速度を直接測定する車輪速度センサが、前輪１２または後輪１３に設けられてもよい。図３以降では、説明の簡単化のため、前輪１２または後輪１３の回転速度ωを利用した電動アシスト自転車１のシステムがモデル化される。
【００２４】  また、マイクロプロセッサ２０は、モータ駆動回路２５からモータ電流信号を受け取る。マイクロプロセッサ２０は、モータ電流信号に基づいて、モータが生成しているモータトルクの推定値を算出する。
【００２５】  マイクロプロセッサ２０は、取得した車輪の回転速度ω、モータトルクの推定値等を利用して、現在の人力トルクの推定値を算出する。マイクロプロセッサ２０は、人力トルクの推定値に応じたモータトルクを決定し、そのモータトルクを発生させるための指令値をＰＷＭ（Pulse Width Modulation）信号としてモータ駆動回路２５に入力する。またマイクロプロセッサ２０は、種々のセンサの検出値および算出した推定値を利用して電動アシスト自転車１のシステムの伝達関数および逆伝達関数を規定するパラメータの情報を更新する。マイクロプロセッサ２０のより詳細な動作は後述する。
【００２６】  ＲＯＭ２１は、不揮発性メモリであり、たとえばＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）である。ＲＯＭ２１は、予め用意されたコンピュータプログラム２３ａ、およびパラメータの初期値２３ｂを記憶している。コンピュータプログラム２３ａ、およびパラメータの初期値２３ｂは、パワーアシスト装置１００の動作開始時にマイクロプロセッサ２０によって読み出される。
【００２７】  ＲＡＭ２２は、典型的には揮発性記憶装置である。動作開始時にマイクロプロセッサ２０によってＲＯＭ２１から読み出されたコンピュータプログラム２３ａおよびパラメータの初期値２３ｂは、ＲＡＭ２２に展開される。図２には、ＲＡＭ２２に展開された、読み出されたコンピュータプログラム２４ａ、および本開示の処理によってパラメータの初期値２３ｂから更新されたパラメータ２４ｂが模式的に示されている。コンピュータプログラム２４ａは、後述する図５、図６および明細書においてマイクロプロセッサ２０の処理として説明されている処理を実行するための命令コードの集合である。パラメータ２４ｂは、後述する電動アシスト自転車１のダイナミクスの伝達関数、および逆伝達関数を規定する情報である。ＲＡＭ２２は、マイクロプロセッサ２０のワークメモリとしても機能する。
【００２８】  上述したマイクロプロセッサ２０、ＲＯＭ２１およびＲＡＭ２２は、別個の要素として設けられているが、これは一例である。たとえば、ＦＰＧＡ（Field-Programmable Gate Array）を用いて、マイクロプロセッサ２０、ＲＯＭ２１およびＲＡＭ２２を一体化してもよい。
【００２９】  本実施の形態では、マイクロプロセッサ２０、ＲＯＭ２１およびＲＡＭ２２を、信号処理モジュールと呼ぶこともある。信号処理モジュールは、たとえば１つの基板上に実装され得る。信号処理モジュールの態様は種々考えられる。たとえばマイクロプロセッサ２０、ＲＯＭ２１およびＲＡＭ２２に加えて、モータ駆動回路２５を有してもよい。または、マイクロプロセッサ２０は、逐次最小二乗アルゴリズムを実行する機能要素と、ＰＷＭ信号を生成する機能要素とに分けられてもよい。逐次最小二乗アルゴリズムを実行する機能要素、ＲＯＭ２１およびＲＡＭ２２が、信号処理モジュールと呼ばれてもよい。なお、ＰＷＭ信号を生成する機能要素およびモータ駆動回路２５が一体化して、インテリジェント・パワー・モジュールとして実装してもよい。また、この信号処理モジュールは、パワーアシストスーツのような人力補助システムに適用することができる。すなわち、信号処理モジュールは、車両への適用に限られない。
【００３０】  後述するホールセンサ３０ａ〜３０ｃは、モータ３０の回転速度に応じたアナログまたはデジタルのホールセンサ信号を出力する。ホールセンサ３０ａ〜３０ｃがアナログのホールセンサ信号を出力する。このとき、ＡＤ変換回路がマイクロプロセッサ２０内部に設けられてもよく、またはＡＤ変換回路がマイクロプロセッサ２０外部に設けられてもよい。ＡＤ変換回路はアナログのホールセンサ信号を受け取り、たとえば所定のサンプリング周波数によってホールセンサ信号をサンプリングし、サンプリング値を量子化することにより、デジタルの電気信号（ホールセンサ信号のデータ）を生成する。または、ホールセンサ３０ａ〜３０ｃがホールＩＣを有し、ホールＩＣにホールセンサ信号のデータを生成させてもよい。以下の実施形態では、ホールセンサ３０ａ〜３０ｃはホールＩＣを有し、ホールＩＣを用いてホールセンサ信号のデータを生成し出力するとする。マイクロプロセッサ２０は、ホールセンサ３０ａ〜３０ｃから出力されたホールセンサ信号のデータを受け取る。
【００３１】  モータ駆動回路２５は三相交流電力を出力するインバータ回路を含む。モータ駆動回路２５は、マイクロプロセッサ２０から受け取ったＰＷＭ信号に基づいて、Ｕ、Ｖ、Ｗ各相の電圧を生成し、モータ３０に電力を供給する。
【００３２】  加速度センサ２６は、たとえば、自転車の進行方向およびそれに垂直な方向の２軸のそれぞれについて加速度を検出することが可能なセンサである。後述のように、マイクロプロセッサ２０は、加速度センサ２６の出力を利用して路面の傾斜角の情報を取得する。路面の傾斜角を直接取得可能なセンサを用いてもよい。加速度の値が、マイクロプロセッサ等により演算によって算出されるか、加速度の値が、センサからの直接的な出力によって取得するかにかかわらず、本開示では、路面の傾斜角を取得するための信号を出力するセンサを包括的に、傾斜角センサと呼ぶ。
【００３３】  ペダル角度センサ２７は、たとえば公知の磁気式ロータリーエンコーダである。磁気式ロータリーエンコーダは、磁気パターンを形成した回転ディスクまたはドラムによって、回転の位置情報を周期的な磁界の変化としてとらえる。
【００３４】  モータ３０は、モータ駆動回路２５から供給された電力によってモータトルクを生成する。本実施の形態において、モータ３０は、３相同期モータであるとするが、これは一例である。モータ３０は３相誘導モータその他任意の種類のモータを採用し得る。なお、モータ３０がその他任意の種類のモータを用いられる場合、モータトルクを発生させるための指令値は、ＰＷＭ信号に限らない。モータ３０はホールセンサ３０ａ〜３０ｃを有する。ホールセンサ３０ａ〜３０ｃは、モータ３０の回転速度に応じた信号を出力する。
【００３５】  図３は、パワーアシスト装置１００を有する電動アシスト自転車のシステムブロック線図である。パワーアシスト装置１００の制御系は、４つのブロックＡ〜Ｄに大別される。ブロックＡは、自転車機構のダイナミクスを表す。ブロックＢは、後述するトルクセンサレス技術を表す。ブロックＣは、逐次最小二乗アルゴリズムを用いたパラメータ同定技術を表す。ブロックＤは、モータ３０による人力トルク補助技術（パワーアシスト技術とも称する）を表す。表１は、図３等において用いられている記号の意味を示す。
【００３６】
【表１】
2017047333.tif 000003
「＊」が付された記号は、推定値を意味することに留意されたい。
【００３７】  以下、ブロックＡ〜Ｄの詳細を説明する。Ａ．自転車機構のダイナミクス  本願発明者は、自転車機構のダイナミクスが線形システムであると仮定し、その伝達関数Ｇ（ｓ）を、一次遅れの伝達関数Ｇ（ｓ）＝１／（Ｊｓ＋Ｄ）としてモデル化した。伝達関数Ｇ（ｓ）への入力は、モータの出力トルクτM 、自転車操者の人力トルク（ペダルを有する車両一般に関して「ペダルトルク」とも呼ぶ。）τH、および走行に抗う方向に作用する走行負荷トルクτLを合算した総トルクτM＋τH−τLである。
【００３８】  伝達関数Ｇ（ｓ）の出力は、車輪の回転速度（走行速度）ωである。なお、図２に関連して説明したように、車輪の回転速度（走行速度）ωは、ホールセンサ信号を利用してモータの回転速度に基づき求めることができる。
【００３９】  伝達関数Ｇ（ｓ）に含まれるＪおよびＤは、動特性を決定付ける因子パラメータである。時定数であるパラメータＪおよびＤは、表１に示すように、それぞれ、自転車機構の慣性モーメントおよび粘性抵抗係数である。これらの初期値として、たとえば自転車の構造、重量、操者の想定体重などから定まる標準的な値が設定され得る。
【００４０】  たとえば特許文献１では、パラメータＪおよびＤは固定の値であるとして取り扱われている。しかし、本実施の形態では、パラメータＪおよびＤは変動値（ＪnおよびＤn；ｎ：整数）であると捉える。その理由は、パラメータＪは、自転車操者の体重や積載物の重量に応じて変化し得るからであり、またパラメータＤは、走路の状態や自転車機構の磨耗・劣化程度、あるいは整備状態に応じて変化し得るからである。パラメータＪおよびＤの変動は、自転車機構に印加される総トルクτM＋τH−τLと車輪の回転速度（走行速度）ωとの入出力関係に直結する。よって、本願発明者は、パラメータＪおよびＤが変動するという前提で、パラメータＪおよびＤを逐次更新することにより、ペダルトルクτHをより正確に推定することができると考えた。
【００４１】  上述の通り、パラメータＪおよびＤは、自転車操者の体重、搭載物の重量、走行環境等に応じて変化する。つまり、時間の経過に伴って変化する特性を有していると考えられる。ここでモデル化された自転車機構のダイナミクスは線形システムであるものの、厳密に言えば時不変システムではなく、時変システムの性質を有していると言える。
【００４２】  本実施の形態におけるマイクロプロセッサ２０は、後述するパラメータ同定技術によってＪnおよびＤnを逐次更新する。その結果、パワーアシスト装置１００は、Ｊn・ｓ＋Ｄnの特性、つまり自転車機構のダイナミクスの逆伝達関数を、その運転環境に適合させ続けることができる。さらにペダルトルクτHの推定値は実際のペダルトルクに追従する。これにより、マイクロプロセッサ２０は、より正確な合計トルクを推定でき、その合計トルクを入力とする伝達関数の出力、すなわちモータの回転速度の推定値と、モータの回転速度の検出値との間の誤差を低減することが可能となる。したがって、本実施の形態によれば、パラメータＪおよびＤが変化することを考慮して、マイクロプロセッサ２０は、パラメータJおよびＤを逐次更新する。このため、パラメータＪおよびＤが固定されて制御系が設計されている従来の自転車機構よりも、本実施の形態は、正確にペダルトルクτHを推定することができる。
【００４３】  Ｂ．トルクセンサレス技術  ブロックＢでは、種々の入力を用いて複数の演算処理が行われ、ペダルトルク推定値τ*Hが求められる。複数の演算処理には、（Ｂ１）モータの出力トルク推定値τ*M を算出する処理、（Ｂ２）合計トルク推定値（τ*M＋τ*H−τ*L）を算出する処理、（Ｂ３）走行負荷トルク推定値τL*を算出する処理、および（Ｂ４）ペダルトルク推定値τ*Hを算出する処理が含まれている。
【００４４】  （Ｂ１）モータの出力トルク推定値τ*M を算出する処理  本実施の形態では、ベクトル制御技術を用いてモータの回転を制御している。  図３における破線枠Ｂ内の左端のＮ（・）は、モータ電流のｄ軸成分Ｉdとｑ軸成分Ｉqと、が入力され、計算結果としてのモータの出力トルク推定値τ*M を出力する処理を行うことを表す。Ｎ（・）は、モータのT-I（トルク-電流）特性を計算式で表現している。すなわち、Ｎ（・）は、トルク算出処理をモデル化した式である。表１に示すように、Ｎ（・）に含まれるφは鎖交磁束を表し、Ｌはｄ軸インダクタンスからｑ軸インダクタンスを差し引いた値を表す。
【００４５】  なお、モータは上述したベクトル制御技術を用いることは必須ではない。ベクトル制御技術以外の手法によってモータの回転を制御してもよく、その場合にはその技術に基づくモータの出力トルクの推定が行われ得る。
【００４６】  （Ｂ２）合計トルク推定値（τ*M＋τ*H−τ*L）を算出する処理  図３における破線枠Ｂ内右端の（Ｊn・ｓ＋Ｄn）は、「Ａ．自転車機構のダイナミクス」で言及した伝達関数Ｇ（ｓ）の逆伝達関数を、ノミナルパラメータＪnおよびＤnを用いてモデル化した式である。ノミナルパラメータＪnおよびＤnは、後述する「Ｃ．パラメータ同定技術」の処理によって得られた値、つまり推定値である。図３では、推定値であることを意味するＪ*nおよびＤ*nが、（Ｊn・ｓ＋Ｄn）に入力されていることが示されている。
【００４７】  （Ｊn・ｓ＋Ｄn）は、車輪の回転速度ωが入力され、実際の自転車に印加されているであろう総トルクτM＋τH−τLに対する推定値τ*M＋τ*H−τ*Lを出力する。つまり、（Ｊn・ｓ＋Ｄn）は、実際の自転車機構のダイナミクス１／（Jｓ＋D）を逆算していることに相当する。
【００４８】  （Ｂ３）走行負荷トルク推定値τ*Lを算出する処理  一般的に、自転車機構における走行負荷トルクτLは、主に、以下に示す３つの要素から算出されると考えられる。  ・自転車の走行に伴い、大気と自転車操者を含めた自転車機構との間に大気速度が生じることによる空気力抵抗トルク推定値τ*L_a  ・自転車の路面の走行に伴い、自転車機構と路面との間に生じる摩擦によって生じる負荷抵抗トルク推定値と、自転車の勾配を有する路面の走行に伴い、進行を妨げる、あるいは進行を助長する方向に作用する重力成分が自転車操者を含めた自転車機構に生じることによる負荷抵抗トルク推定値と、を合算した勾配路抵抗トルク推定値τ*L_g
【００４９】  以下では、それぞれの負荷抵抗トルクの算出方法を説明する。
【００５０】  （Ｂ３−１）空気力抵抗トルク  本願発明者は、空気力抵抗トルクを以下の仮定を置いてモデル化した：・自転車が走行している際に作用する空気力は、自転車の進行方向および鉛直方向を含む２次元平面内のみに限定される。・空気力は、走行速度の二乗に比例する。  具体的には空気力抵抗トルクは下記の式１で表される。  τ*L_a＝Ｃ・｜ω｜・ω                （式１）  式１において、「Ｃ」は空気力抵抗トルク係数を意味する。当該係数は、一般的には、空気の密度、気流を遮る面積、空気力中心位置と自転車機構のダイナミクスの力学的中心位置間のモーメントアームなどを説明変数とした非線形関数である。しかしながら本願発明者は、係数Ｃは一定値であると仮定した。
【００５１】  （Ｂ３−２）勾配路抵抗トルク  自転車が傾斜を持った勾配路を走行する場合を考える。勾配の傾斜角はθとする。また、自転車操者、積載物および自転車の全質量はｍ、重力加速度はｇとする。全質量にかかる重力（鉛直下向き）ｍ・ｇは、勾配路に沿った方向の成分（ｍ・ｇ・ｓｉｎθ）と、勾配路に垂直な方向の成分（ｍ・ｇ・ｃｏｓθ）とに分解できる。このうち、勾配路に沿った方向の成分に起因するトルク（勾配路抵抗トルク）τ*L_gは、以下の式２で表すことができる。  τ*L_g＝Ｌg（ｍ・ｇ・ｓｉｎθ＋μ・ｍ・ｇ・ｃｏｓθ）        （式２）  ここで、μは摩擦係数である。μは、任意の値を設定しており、一定値としている。Ｌgは、重心位置と自転車機構のダイナミクスの力学的中心位置間のモーメントアームを表す。自転車操者を含めた自転車機構の運動が、自転車の進行方向および鉛直方向を含む２次元平面内に限定され、かつ重心位置が変化しない場合に限り、モーメントアームＬgは一定値と考えることができる。ただし、実際には２次元平面内での運動ではなく、３次元的な運動になる。本願発明者は２次元平面内での運動であると仮定してモデルを簡略化した。  上述の通り、走行負荷トルク推定値τ*Lは、空気力抵抗トルクおよび勾配路抵抗トルクの２要素で構成されると考えられる。よって、走行負荷トルク推定値τ*Lは以下の式３から算出される。  τ*L＝τ*L_a＋τ*L_g                        （式３）
【００５２】（Ｂ４）ペダルトルク推定値τ*Hを算出する処理  上述の処理（Ｂ２）により、合計トルク推定値（τ*M＋τ*H−τ*L）が得られている。そして処理（Ｂ１）によってモータの出力トルク推定値τ*Mが得られ、処理（Ｂ３）によって走行負荷トルク推定値τ*Lも得られている。  そこで下記の式４によって、ペダルトルクの推定値τ*Hは算出される。  τ*H＝合計トルクの推定値（τ*M＋τ*H−τ*L）    −モータの出力トルク推定値τ*M ＋走行負荷トルク推定値τ*L                    （式４）  上述のペダルトルク推定値τ*H には、様々な要因による誤差が含まれる。具体的には以下のとおりである。  （ｉ）モータの出力トルク推定値τ*Mの算出誤差  （ｉｉ）ノミナル値ＪnおよびＤnが、実際の真値ＪおよびＤとは違うことによる総トルク推定値τ*M＋τ*H−τ*L の算出誤差  （ｉｉｉ）走行負荷トルク推定値τ*L の算出誤差  （ｉｖ）モータ電流のd軸成分Ｉdとq軸成分Ｉqの検出誤差  （ｖ）車輪の回転速度ωの検出誤差  上記のそれぞれに対して対策が行われ、残る誤差要因がノミナル値ＪnおよびＤnと、実際の真値ＪおよびＤとの差異のみとなると、これに対する対策が次のＣに示す「パラメータ同定技術」である。
【００５３】  Ｃ．逐次最小二乗アルゴリズムを用いたパラメータ同定技術  「パラメータ同定技術」を適用する目的は、実際の自転車の走行を想定した場合、通常の使用条件下でさえ、自転車機構のダイナミクス（伝達関数：Ｇ（ｓ）＝１／（Ｊｓ＋Ｄ））を決定付ける因子パラメータＪおよびＤは変動するためである。この変動分を「パラメータ同定技術」により同定し、「トルクセンサレス技術」により推定されるペダルトルクτ*Hの推定精度を向上させることができる。
【００５４】  つまり動作原理は以下のとおりである。  （ｉ）逐次最小二乗アルゴリズムを用いてパラメータＪnおよびＤnを算出し、  （ｉｉ）計算結果として得られたＪnおよびＤnを用いて、上記Ｂに示した「トルクセンサレス技術」内のブロックＪn・ｓ＋Ｄnの特性をリアルタイムに逐次更新し、  （ｉｉｉ）「トルクセンサレス技術」で計算される自転車機構のダイナミクスの逆伝達関数Ｊn・ｓ＋Ｄnを、実際の自転車機構の「逆」ダイナミクスに一致させ続ける。そして、ペダルトルクの推定値τ*Hを実際のペダルトルクに一致させ続ける。
【００５５】  図３のブロックＣでは、トルク発生器が（１／Ｊ*n・ｓ＋Ｄ*n）および（１／Ｊ・ｓ＋Ｄ）のブロックに入力されるトルク値を決定する。トルク発生器は、たとえば、演算に利用されるトルク値を決定することができる演算回路である。
【００５６】  以下では、第１例として、ブロックＢにおいて求められた合計トルクの推定値を利用する処理を説明する。その後、第２例として、合計トルクの推定値を利用せず、他のトルクの値を利用する処理を説明する。
【００５７】  （第１例）  第１例では、トルク発生器はブロックＢにおいて求められた合計トルクの推定値（τ*M＋τ*H−τ*L）を、（１／Ｊ*n・ｓ＋Ｄ*n）および（１／Ｊ・ｓ＋Ｄ）のブロックに入力されるトルク値として用いる。
【００５８】  図４は、自転車機構のダイナミクスのモデルを示す。図中の「ｖ」はノイズを表す。ノイズｖは、合計トルク推定値τ*M＋τ*H−τ*Lの算出誤差、および出力である車輪の回転速度ωの検出誤差から構成されるノイズが加算的に印加されることを仮定している。すなわち、厳密には、出力ωの検出誤差とノイズｖとは無相関であるが、ノイズｖが、誤差を含む（Ｊ*n・ｓ＋Ｄ*n）に作用することにより、出力ωの検出誤差と一致する、と仮定している。このような仮定を置くことに工学的に問題はない。その理由は、ノイズｖは、ドリフトノイズ等の性質を有さない。ノイズｖが、ホワイトノイズ的性質を有する場合を考えると、「パラメータ同定技術」の適用、すなわち、最小二乗法の適用により、このノイズｖは、考えているモデルから除去される成分だからである。本願発明者は、ノイズｖが、ドリフトノイズ等の性質を有さず、ホワイトノイズ的性質を有する、という立場で本モデルを採用することとした。
【００５９】  図４のモデルの入出力関係は下記の通りである。  ω＝（１／Ｊ*n・ｓ＋Ｄ*n）・（τ*M＋τ*H−τ*L＋ｖ）      （式５）  式５を変形すると以下のとおりである。  Ｊ*n・ｓ・ω＝τ*M＋τ*H−τ*L−Ｄ*n・ω＋ｖ          （式６）  「ｓ」が微分要素であることを踏まえて式6を変形すると常微分方程式の式７が得られる。    Ｊ*n・ω・＝τ*M＋τ*H−τ*L−Ｄ*n・ω＋ｖ              （式７）
【００６０】  なお「ω・」は回転速度（角速度）ωの微分、すなわち角加速度を表す。以下に示す式８〜式１０およびｖ＝ｖｔの関係を用いて、常微分方程式の形式である式７を、差分方程式の形式となる式１１に置き換える。【数１】
2017047333.tif 000004
ここでδｔはサンプリング間隔を示す。
【００６１】  式１１を整理すると式１２が得られる。【数２】
2017047333.tif 000005
ここで、式１２におけるａ、ｂおよびｒtは以下の通りとした。
【数３】
2017047333.tif 000006
【００６２】  上記式１２を表現し直せば、式１６を得る。【数４】
2017047333.tif 000007
【００６３】  ここで、式１６と式１２における各記号の対応関係は、以下に示す通りである。【数５】
2017047333.tif 000008
【００６４】  以上の式１６〜式１９を、例えば、基本アルゴリズムとなる下記式（ａ−１）〜（ａ−４）にあてはめることにより、「パラメータ同定技術」を「トルクセンサレス技術」に適用できる。なお、下記式（ａ−１）〜（ａ−４）を導出する過程については、実施の形態の後に、「逐次最小二乗アルゴリズムの導出過程」として記述している。
【００６５】 逐次最小二乗法アルゴリズム  本願発明者は、以下に示す順序がもっとも効率よく計算できると考える。ただし、以下に示す順序に限定されることはない。なお、サンプリング時刻Ｋの基数は１である。【数６】
2017047333.tif 000009
【００６６】  上記の逐次最小二乗法アルゴリズムには、２つの初期値θ^0およびＰ0が必要になる（Ｐ0は、全ての要素がゼロでなければよい。全ての要素が0となるＰ0ではパラメータに対する逐次修正動作が機能しない）。初期値の設計指針は後述する。
【００６７】  上述の式（ａ−１）〜（ａ−４）から明らかなように、現在のパラメータを導出するためには、１つ前の値（ＰK-1、θ^K-1）が保持されていればよい。つまり、マイクロプロセッサ２０が演算を行う際に使用するＲＡＭ２２の記憶領域を抑制できる。
【００６８】  上述の式において、θ^Kが、システムを特定するパラメータａおよびｂを含み（式１９参照）、さらにパラメータａおよびｂは、自転車機構の慣性モーメントの推定値Ｊ*nおよび粘性抵抗係数の推定値Ｄ*nを含む（式１３および式１４参照）。したがって、逐次計算によりθ^Kを求めることにより、推定値Ｊ*nおよびＤ*nを以下のとおり得ることができる。なお、θ^K＝［ａk  ｂk］-1と置く。  Ｊ*n＝（−１）・δｔ・ａk／ｂk  （ａ−５）  Ｄ*n＝（ａk＋１）／ｂk          （ａ−６）
【００６９】  上述の処理により、パラメータ推定値Ｊ*nおよびＤ*nを更新することができる。上述の処理を繰り返すことにより、これらのパラメータによって規定される伝達関数に基づいて合計トルク推定値τ*M＋τ*H−τ*Lから決まるモータの回転速度の推定値と、モータの回転速度の検出値との間の誤差を低減することができる。
【００７０】  なお、逐次最小二乗法のバリエーションとして、「補助変数法」、「忘却法」、並びに「両者を組み合わせた方法」を利用してもよい。これらは周知であるため、それらの導出の手順は省略する。なお、「忘却法」は、最小二乗法が持つバイアス誤差を打ち消すことを目的とした方法ではない。しかしながら、同定対象とする線形システムが、実際には時不変な線形システムではなく、時変の線形システムである場合には、特に有効な方法である。よって、「補助変数法」と「忘却法」とを組み合わせた方法もまた有効な方法であると言える。
【００７１】  次に、「パラメータ同定技術」のアルゴリズムに必要となる２つの初期値θ^0およびＰ0の設計指針を示す。 初期値θ^0の設計指針  「パラメータ同定技術」の出力となるθ^K、またはその初期値となるθ^0の物理的な意味は、式１３および式１４に示されており、3つの設計因子Ｊ*n、Ｄ*nおよびδtは初期値としての妥当な値を見積もることができる量である。 初期値Ｐ0の設計指針  ＰKの物理的な意味は、後に説明する「逐次最小二乗アルゴリズムの導出過程」における（１３）式に示されている。また、逆行列であるＰKの初期値をＰ0とする。初期値Ｐ0、またはＰKの値の大小による機能的役割は、「逐次最小二乗アルゴリズムの導出過程」の（２８）式に続く文章で述べた通り、θ^Kに対する修正ゲインである。従って、定性的には、大きな値を持つＰKは逐次修正動作が速く、修正量が大きくなる傾向を持ち、逆に小さな値を持つＰKは逐次修正動作が遅く、修正量が小さくなる傾向を持つ。
【００７２】  電動アシスト自転車の通常の使用条件を考慮した場合、初期値θ＾0が適切に設定されている限り、修正ゲインＰKにより大きく修正する必要はないと考えられる。このため、小さな値を持つＰ0とすることが望ましいと考えられる。シミュレーションなどの机上検証により設定し、実機テストにより妥当性を点検する。なお、上記に加えて、以下の2点についても配慮する。全ての要素が0となるＰ0ではパラメータに対する逐次修正動作が機能しなくなる点。フィードバック構造を持つため、修正ゲインの大きさによっては、推定結果θ^Kが発振するとの現象に繋がる点。
【００７３】  （第２例）  次に、図３のブロックＣにおけるトルク発生器が他のトルクを、（１／Ｊ*n・ｓ＋Ｄ*n）および（１／Ｊ・ｓ＋Ｄ）のブロックに入力されるトルクとして採用する例を説明する。ここで、他のトルクとは、ブロックＢにおいて求められた推定された合計トルクではないことを意味する。
【００７４】  トルク発生器は、たとえば、下記のいずれかのトルクの値を上記各ブロックへの入力として利用することができる。  （１）推定値（τ*M−τ*L）  （２）指令値τM  （３）所定のτ（＝所定のτM−想定のτL）  いずれも、人力トルク（ペダルトルク）τHが発生していない状況下で、パラメータ同定を行うことを想定している。
【００７５】  上述の（１）は、ペダルトルクを考慮する必要がなくなった状況に相当する。たとえば、自転車操者がペダルを漕いでおり、パワーアシストが機能している際に、自転車操者があるタイミングで急に漕ぐのを止めたとする。このとき、ペダルは動いていない（ペダルトルクがない）が自走している状態になり、ペダルトルクを考慮する必要がなくなる。「自走」とは、電動アシスト自転車１がモータの駆動力のみで走行していることをいう。トルク発生器は推定値（τ*M−τ*L）を（１／Ｊ*n・ｓ＋Ｄ*n）および（１／Ｊ・ｓ＋Ｄ）のブロックへの入力として設定する。マイクロプロセッサ２０は、推定値（τ*M−τ*L）を用いてパラメータ同定を行う。
【００７６】  上述の（２）の例は、走行負荷が生じないと見なすことができる状況下でパラメータ同定を行う状況を想定している。たとえば、平坦で無風の道路において、負荷抵抗トルク（空気力抵抗トルクおよび勾配路抵抗トルク（摩擦力トルク含む））を無視できる速度で自転車操者がペダルを漕がずに、電動アシスト自転車１が自走している状況を想定する。マイクロプロセッサ２０は、その状況下でパラメータＪ*nおよびＤ*nを求める。
【００７７】  上述の（３）の例は、パワーアシストが行われていない状況下で自走状態になったときにパラメータ同定を行うことを想定している。たとえば、電動アシスト自転車１が電動スロットルを有し、電動スロットルの操作のみによって自走する機能を有しているとする。自転車操者がペダルを漕がずに、電動スロットルの操作によって電動アシスト自転車１が走行しているとき、モータトルクは電動スロットルの開度によって調整される。つまり、電動スロットルの開度に応じた所定のモータトルクτMが発生する。マイクロプロセッサ２０は、所定のモータトルクτMと、想定される走行負荷トルクτLを用いてパラメータ同定を行う。他の例として、電動荷押し車などのように、電動スロットルまたはそれに準ずる駆動力操作機構を有する場合にも、上述の（３）の例を適用することができる。
【００７８】  なお、図３では、ブロックＡにおける自転車機構のダイナミクスの現実のモデル（１／Ｊ・ｓ＋Ｄ）と、図３のブロックＣにおける推定モデル（１／Ｊ*n・ｓ＋Ｄ*n）とが対応している。本実施の形態では、自転車機構がトルクセンサを有しないことにより、現実のモデル（１／Ｊ・ｓ＋Ｄ）への入力トルクは特定できない。よって、トルク発生器によって決定されたトルクが、（１／Ｊ・ｓ＋Ｄ）に入力される現実のトルクの代替として利用されることになる。
【００７９】  上述の（１）〜（３）の例から理解されるように、（１／Ｊ・ｓ＋Ｄ）および（１／Ｊ*n・ｓ＋Ｄ*n）への入力は、推定値であってもよいし、現実の指令値であってもよいし、予め定められた値であってもよい。本明細書ではこれらを総称して「所定の値」と呼ぶ。上述の式５〜７および式１０から明らかなように、合計トルクの推定値（τ*M＋τ*H−τ*L）を、他のトルクの値に置き換えたとしても、式５〜１９および式（ａ−１）〜（ａ−６）は全て成り立つ。すなわち、トルク発生器によって決定された任意のトルクを利用して、パラメータＪ*nおよびＤ*nを逐次更新することができる。
【００８０】  上述の（１）〜（３）では、人力トルク（ペダルトルク）τHが発生していない状況下で、パラメータ同定を行う。人力トルクの影響を排除したパラメータ（特に、（２）のように走行負荷トルクの影響も排除された状況下で同定されたパラメータ）は、信頼度または精度が高いと言える。そのような精度の高いパラメータを求めた後、悪路などを走行してパラメータを更新すると、むしろ精度が低いパラメータを求めることになりかねない。そこで、一例として、上述の（１）〜（３）に代表される状況に該当するとマイクロプロセッサ２０が判断した場合には、パラメータを更新してもよい。
【００８１】  Ｄ．パワーアシスト技術  マイクロプロセッサ２０は、上述した「Ｂ．トルクセンサレス技術」によって求められた人力トルク推定値τ*Hに基づいて、モータ３０の駆動力（「アシスト量」とも呼ばれる。）を決定する。
【００８２】  たとえば、人力トルクの推定値τ*Hと、アシスト量に対応するモータトルクτMとの関係を予め関数τM＝ｆ（τ*H）として規定しておいてもよいし、人力トルクの推定値τ*HとモータトルクτMとの関係をテーブルに保持しておいてもよい。
【００８３】  さらに、人力トルクの推定値τ*H以外の条件を考慮してもよい。たとえば、人力トルクの推定値τ*Hに加えて、走行速度の検出値ωをさらに考慮した関数またはテーブルを用意してもよい。なお、人力トルクの推定値τ*Hがテーブルに記述されていない場合には、たとえば、算出された人力トルクの推定値τ*Hの前後で最も近い２つのトルク値をテーブルから抽出し、さらにそれらのトルク値に対応するモータトルクτM値を抽出して、内挿補間法を用いてモータトルクτMを算出してもよい。
【００８４】  図５は、マイクロプロセッサ２０の動作の手順を示すフローチャートである。ステップＳ１０３〜Ｓ１０７までが上述の「Ｂ．トルクセンサレス技術」に対応する。ステップＳ１０８およびＳ１０９が「Ｄ．パワーアシスト技術」に対応し、ステップＳ１１０が「Ｃ．パラメータ同定技術」に対応する。
【００８５】  ステップＳ１０１において、マイクロプロセッサ２０は、ホールセンサ３０ａ〜３０ｃから出力されたホールセンサ信号を受け取る。またマイクロプロセッサ２０は、モータ駆動回路２５からモータ電流信号を受け取る。
【００８６】  ステップＳ１０２において、マイクロプロセッサ２０は、ホールセンサ信号からモータの回転速度を算出し、たとえば所定の係数を乗じることにより、車輪の回転速度の検出値ωを取得する。
【００８７】  ステップＳ１０３において、マイクロプロセッサ２０は、ＲＡＭ２２から、逆伝達関数を規定するパラメータ（Ｊn、Ｄn）を読み出す。初期値を規定するパラメータ２３ｂは上述した設計指針に従って設定されていればよい。また、後述するステップＳ１１０を一度実行した後であれば、マイクロプロセッサ２０は更新された最新のパラメータ（Ｊn、Ｄn）をＲＡＭ２２から読み出す。
【００８８】  ステップＳ１０４において、マイクロプロセッサ２０は、逆伝達関数に基づいて、車輪の回転速度の検出値ωから合計トルクの推定値（τ*M＋τ*H−τ*L）を算出する。
【００８９】  ステップＳ１０５において、マイクロプロセッサ２０は、モータ電流信号に基づいてモータが生成しているモータトルクの推定値τ*Mを算出する。
【００９０】  ステップＳ１０６において、マイクロプロセッサ２０は、合計トルクの推定値からモータトルクの推定値を減算して人力トルク対応値を算出する。
【００９１】  ステップＳ１０７において、マイクロプロセッサ２０は、人力トルク対応値から人力トルクの推定値τ*H を算出する。この処理の一例は、人力トルク対応値からの走行負荷トルクτ*Lの減算である。この処理の詳細は、図６を参照しながら後述される。
【００９２】  なお、走行負荷トルクτ*Lを考慮しない場合には、この処理は特に必要無く、人力トルク対応値をそのまま人力トルクの推定値τ*Hとして取り扱ってもよい。ただし、演算処理上、何らかの変換を行う等により、人力トルク対応値をそのまま用いない処理はステップＳ１０７の範疇である。
【００９３】  ステップＳ１０８において、マイクロプロセッサ２０は、人力トルクの推定値τ*Hに基づいてモータトルクの指令値を算出する。マイクロプロセッサ２０は、たとえば人力トルクの推定値τ*Hとモータトルクの指令値とを対応付けたテーブル（図示せず）を有している。得られた人力トルクの推定値τ*Hに基づいてテーブルを参照し、モータトルクの指令値を特定することができる。
【００９４】  ステップＳ１０９において、マイクロプロセッサ２０は、モータトルクの指令値をＰＷＭ信号としてモータ駆動回路に入力する。
【００９５】  ステップＳ１１０において、マイクロプロセッサ２０は、伝達関数に基づいて合計トルクの推定値から決まる車輪の回転速度の推定値と検出値との間の誤差を低減するよう、伝達関数／逆伝達関数を規定するパラメータの情報の少なくとも一部を更新する。ステップＳ１１０の処理は、マイクロプロセッサ２０が、具体的には上述の式（ａ−１）から式（ａ−４）、または式（ａ−５）および式（ａ−６）を実行することを意味する。マイクロプロセッサ２０は、処理の結果得られたパラメータを、新たなパラメータ（Ｊn、Ｄn）としてＲＡＭ２２に格納する。
【００９６】  なお、図５では、トルクセンサレス技術（Ｂ）、パワーアシスト技術（Ｄ）のステップの後に、パラメータ同定技術（Ｃ）のステップが実行されているが、本開示はこの順序に限定されない。たとえば、パラメータ同定技術（Ｃ）のステップの後に、トルクセンサレス技術（Ｂ）およびパワーアシスト技術（Ｄ）のステップを行ってもよい。
【００９７】  図６は、図５のステップＳ１０７の一例である、走行負荷トルク算出処理を含む処理の手順を示すフローチャートである。上述のように、人力トルクの推定値τ*Hをより正確に求めるためには、走行負荷トルクを考慮することがより好ましい。図６のステップＳ２０１から２０４は、走行負荷トルクを算出する処理である。
【００９８】  ステップＳ２０１において、マイクロプロセッサ２０は、式１に示すように、自転車の車輪の回転速度ωから空気力抵抗トルクτ*L_aを算出する。
【００９９】  ステップＳ２０２において、マイクロプロセッサ２０は、加速度センサから自転車の勾配角（＝勾配路の傾斜角）θを算出する。
【０１００】  ステップＳ２０３において、マイクロプロセッサ２０は、勾配路の傾斜角θから勾配路抵抗トルクτ*L_gを算出する。上述のように、勾配路抵抗トルクτ*L_gは、摩擦によって生じる負荷抵抗トルク推定値と、重力成分が生じることによる負荷抵抗トルク推定値とを合算した値である。
【０１０１】  ステップＳ２０４において、マイクロプロセッサ２０は、空気力抵抗トルクτ*L_aおよび勾配路抵抗トルクτ*L_gを加算して走行負荷トルクτ*Lを算出する。
【０１０２】  ステップＳ２０５において、マイクロプロセッサ２０は、人力トルク対応値（τ*H−τ*L ）に走行負荷トルクτ*Lを加算し、人力トルクの推定値τ*H を算出する。
【０１０３】  なお、ステップＳ２０４は省略可能である。マイクロプロセッサ２０は、人力トルク対応値から、空気力抵抗トルクτ*L_aおよび勾配路抵抗トルクτ*L_gを減算して、人力トルクの推定値τ*H を算出してもよい。
【０１０４】  上述の図５および図６の処理を１回実行すると、伝達関数および逆伝達関数のパラメータが１回更新される。
【０１０５】  （実施の形態２）  図７は、本実施の形態にかかる動的システムであるパワーアシスト装置１１０を表現したブロック線図である。
【０１０６】  パワーアシスト装置１１０が、パワーアシスト装置１００（図３）と相違する点は、パラメータ同定技術を実行するタイミングである。図７では破線の枠に囲まれた「Ｃ’」に相当する。具体的には、パワーアシスト装置１１０のマイクロプロセッサは、ペダルトルクに対する推定値 τ*H がゼロとみなされる時のみパラメータ同定技術Ｃ’を実行してＪ*nおよびＤ*nの推定値を求める。なお、図３のブロックＣと対比すると、図７のブロックＣ’にはトルク発生器は存在していない。しかしながら、上述した推定値 τ*H がゼロとみなされる時とは、実施形態１において説明した、パラメータ同定技術Ｃにおける第２例の（１）と同じである。よって、トルク発生器を設け、推定値（τ*M−τ*L）を利用してＪnおよびＤnを更新することと実質的に同じである。
【０１０７】  ペダルトルクの推定値 τ*Hは、各種の推定計算を積み上げた結果、得られる値である。よって、図２に示す推定値の中で、もっとも信頼度が低い値であると言える。そのため、ペダルトルクの推定値 τ*Hを利用することなく、パラメータＪnおよびＤnを求めることができれば、その信頼性を向上させることができる。
【０１０８】  本願発明者は、ペダルトルクの推定値τ*Hがゼロとみなされる時点でパラメータＪnおよびＤnを求める処理を行い、より精度の高いパラメータＪnおよびＤnを求めることとした。以下、具体的に説明する。ハードウェアとしての構成は図２に示す通りである。よって、以下でもマイクロプロセッサ２０の処理として本実施の形態における動作を説明する。
【０１０９】  図８は、パワーアシスト装置１１０のマイクロプロセッサ２０の動作の手順を示すフローチャートである。図８と図５との相違点は、ステップＳ３０１およびＳ３０２である。
【０１１０】  ステップＳ３０１では、マイクロプロセッサ２０はペダル角度センサ２７からペダル１６（図１）の回転角を示す信号であるペダル回転角信号を受け取る。本実施の形態によるペダル角度センサ２７は、少なくとも、ペダル１６の位置が上死点または下死点またはそれらの近傍であることを特定できる信号（たとえば角度信号）を出力できれば、その構成は任意である。当該角度信号は、ペダル１６が上死点または下死点またはそれらの近傍に位置したタイミングに同期して、たとえばハイになればよい。本明細書では、このようなタイミングを、「角度信号がペダルの上死点または下死点の角度を示すとき」と表現することがある。
【０１１１】  ペダル角度センサ２７として、たとえば、公知の磁気式ロータリーエンコーダを用いることができる。磁気式ロータリーエンコーダは、磁気パターンを形成した回転ディスクまたはドラムによって、回転の位置情報を周期的な磁界の変化としてとらえる。ペダルの回転の位置情報として上死点および下死点を特定することができる。または、ペダル角度センサ２７は、磁石等を用いて特定の位置（角度）をペダル１６が通過したことを検出してハイの信号を出力し、それ以外ではローの信号を出力してもよい。
【０１１２】  ステップＳ３０２では、パラメータ同定技術を実行するステップＳ１１０を行う条件が規定されている。具体的には、マイクロプロセッサ２０は、ペダル回転角信号から、ペダル１６が現在、上死点または下死点の近傍にあるか否かを判定する。ペダル１６が上死点または下死点の近傍であれば処理はステップＳ１１０に進み、そうでなければ処理は終了する。
【０１１３】  ペダル１６が上死点、下死点またはそれらのいずれかの近傍に位置しているということは、その時点においてペダル１６に加えられる自転車操者の人力トルクは実質的にゼロであることを意味する。つまり、このタイミングでは、ペダルトルクに対する推定値 τ*H をゼロとみなすことができる。本願発明者は、ペダル１６が上死点、下死点またはそれらのいずれかの近傍に到達したタイミングに同期して、図５および図６に示す処理を実行してパラメータＪnおよびＤnを更新する処理を行い、演算の精度を高めることとした。
【０１１４】  ペダル１６が上死点および下死点を通過する期間は自転車操者にとっては一瞬である。しかしながらマイクロプロセッサ２０は、図５および図６に示す処理を数１００マイクロ秒ごとに実行することが可能である。したがって、マイクロプロセッサ２０は、上死点および下死点を通過する期間において、十分に処理を実行することが可能である。よってペダル１６が上死点および下死点に到達したタイミングでマイクロプロセッサ２０がパラメータＪnおよびＤnを更新することは可能である。本実施の形態の処理によれば、パラメータＪnおよびＤnは、ペダルクランク１回転あたり２回更新される。実施の形態１の処理と比較すると、更新頻度は大幅に下がる。しかしながら、ペダルクランク半回転でパラメータＪnおよびＤnが１回更新されていれば、実用上は十分迅速に走行環境の変化に追従できると考えられる。
【０１１５】  図９は、ペダル１６の位置（角度）と、ペダルトルクとの関係を示す。時刻ｔ１、ｔ２およびｔ３は、それぞれ図示された手前のペダル１６の下死点、上死点および下死点である。図示された奥側のペダルについては、逆に時刻ｔ１、ｔ２およびｔ３は、それぞれ、上死点、下死点および上死点である。グラフから、時刻ｔ１、ｔ２およびｔ３のペダルトルクが最も小さく、略０になっていることが理解される。時刻ｔ１、ｔ２およびｔ３において、またはそれらのうちの任意の１つの時点または２つの時点で、マイクロプロセッサ２０は、図８のステップＳ１１０を実行してパラメータＪnおよびＤnを求める。信頼性がもっとも低くなるペダルトルクの推定値 τ*Hをパラメータ同定技術の入力信号とする必要がなくなるため、系全体の信頼性の向上を見込むことができる。
【０１１６】  図１０は、本開示の他の例示的な実施の形態である電動手押し車２の側面を示す。電動手押し車２は、電動台車とも呼ばれる。電動アシスト自転車１と同様、電動手押し車２にも、ハンドル（持ち手）１０、マイクロプロセッサ２０、モータ３０およびバッテリ４０が備えられている。また、電動手押し車２は４つの車輪を有している。モータ３０は、２つの後輪１３に機械的に接続されている。
【０１１７】  電動手押し車２のハンドル（持ち手）１０には、持ち手に人力が加えられているか否かを検出する検出器５０が設けられている。検出器５０は、たとえば、一定の圧力がかかると作動する接点検出式の圧力スイッチであってもよいし、静電容量式／歪み検出式のダイアフラムゲージ（圧力センサ）であってもよい。または、圧電素子を用いたセンサであってもよい。検出器５０が人力を検出しているとき、マイクロプロセッサ２０はモータ３０を駆動させる。これにより、電動手押し車２は、持ち手を介して入力された人力と、モータ３０の駆動力によって移動する。
【０１１８】  持ち手を介して入力された人力のトルクは、実施の形態１および２における電動アシスト自転車１の人力トルク（ペダルトルク）に対応する。よって、実施の形態１および２の動作における人力トルク（ペダルトルク）を、持ち手を介して入力された人力のトルクに置き換えれば、実施の形態１および２に関する説明は、電動手押し車２にも適用できる。ただし、上述の実施の形態２における図８の処理を適用する場合は、パラメータＪnおよびＤnの更新のタイミングを以下のように変更してもよい。実施の形態２では、ペダル１６が上死点または下死点の近傍に位置している時に、ペダルトルクの推定値 τ*H をゼロとみなし、パラメータＪnおよびＤnを更新した。電動手押し車２では、検出器５０が人力を検出していない時、人力トルクはゼロである。よって、図８の処理を実行するに当たっては、図１０の電動手押し車２のマイクロプロセッサ２０は、検出器５０が人力を検出していない時に、ステップＳ１１０を実行すればよい。
【０１１９】  上述の実施の形態１および２は、上述した電動手押し車２の他、モータで、車いす搭乗者または車いす介助者を補助する電動アシスト車椅子にも適用することができる。
【０１２０】  上述の実施の形態では、トルクセンサを有しない電動アシスト車両を例示的に説明した。しかしながら、本開示は、トルクセンサを有する電動アシスト車両にも適用可能である。すなわち、人力による駆動力とモータによる駆動力とによって移動する電動アシスト車両であれば、トルクセンサの有無にかかわらず本開示は適用可能である。
【０１２１】  たとえば、マイクロプロセッサ２０が、人力トルクに応じたトルク検出信号をトルクセンサから受信しているとする。マイクロプロセッサ２０はトルク検出信号に基づいてモータトルクの指令値を決定し、モータトルクの指令値をモータ駆動回路に入力する処理（「処理Ａ」と呼ぶ。）を行う。そして、トルクセンサの故障等により、トルク検出信号が得られないとき、マイクロプロセッサ２０は、上述の人力トルク推定処理（「処理Ｂ」と呼ぶ。）を実行し、人力トルクを算出してもよい。つまりマイクロプロセッサ２０は、処理Ａ、および処理Ｂの一方を選択的に実行することができる。あるいはマイクロプロセッサ２０は、処理Ａおよび処理Ｂの両方を実行してもよい。たとえばマイクロプロセッサ２０は、処理Ｂによる推定結果を利用して、処理Ａによる結果を検証してもよい。誤差が予め定められた範囲内に入っていれば処理Ａによる推定結果は正しく、当該範囲を超えた場合には同じ処理を再度実行してもよい。後者に該当する場合には、処理Ａによる推定結果が正しくない可能性があるといえるからである。
【０１２２】  または、マイクロプロセッサ２０は、予め定められた時間条件にしたがって、上述の処理Ｂを実行してもよい。時間条件の例は、たとえば電動アシスト自転車の初回起動時である。初回起動時等に人力トルク推定を行い、トルクセンサの出力値が人力トルクの推定結果に整合するよう、トルクセンサの出力値にオフセットを加えてもよい。これにより、トルクセンサの個体差を吸収することができる。時間条件の他の例は、たとえば１年などの一定時間経過時である。トルクセンサからの出力値と人力トルクの推定結果とが所定値以上の差を有している場合には、トルクセンサの点検または故障を自転車操者に警告してもよい。
【０１２３】  他の例として、トルクセンサに代えてケイデンスセンサを有し、ケイデンスセンサの出力を利用してモータで自転車操者を補助する電動アシスト自転車にも、本開示を適用してもよい。さらに他の例として、人力を加えるペダルと、電動スロットルとを併有する電動アシスト自転車にも、本開示を適用することができる。自転車操者がペダルを漕いでいる時に電動スロットルの操作が有効とされ、モータによる補助が行われる電動アシスト自転車では、本開示による上述の処理によって人力トルクを推定し、かつ電動スロットルの開度の情報をさらに考慮して、モータの駆動力を決定すればよい。たとえば本開示による上述の処理により、推定された人力トルクに応じたモータの駆動力が決定され、さらに電動スロットルの開度に応じて、モータの駆動力が追加されてもよい。
【０１２４】  以上のことより、本開示の例示的な実施の形態は、車輪１２、１３を有し、人力によって駆動される車両１のパワーアシスト装置１００のために用いられる。パワーアシスト装置１００は、モータ３０と、モータ駆動回路２５と、車輪１２、１３の回転速度に応じた信号を出力するセンサ３０ａ〜３０ｃと、メモリ２２と、信号処理装置２０とを備える。モータ３０は、モータトルクを生成する。モータ駆動回路２５は、モータに電力を供給する。メモリ２２は、車両１に入力される合計トルクと車輪１２、１３の回転速度とを関係づける伝達関数、および逆伝達関数、を規定するパラメータ２４ｂの情報を記憶する。信号処理装置２０は、メモリ２２およびモータ駆動回路２５と接続される。
【０１２５】  ここで、信号処理装置２０は、センサ３０ａ〜３０ｃから出力された信号を受け取り、車輪１２、１３の回転速度の検出値を決定する。また、信号処理装置２０は、メモリ２２からパラメータ２４ｂの情報を読み出す。信号処理装置２０は、パラメータ２４ｂによって規定される逆伝達関数に基づいて、車輪１２、１３の回転速度の検出値から合計トルクの推定値を決定する。さらに、信号処理装置２０は、モータ３０の動作状態を示す情報を取得し、その情報に基づいて、モータ３０が生成しているモータトルクの推定値を決定する。信号処理装置２０は、合計トルクの推定値からモータトルクの推定値を減算して得た値に基づいて人力トルクの推定値を決定する。信号処理装置２０は、人力トルクの推定値に基づいてモータトルクの指令値を決定する。また、信号処理装置２０は、モータトルクの指令値をモータ駆動回路２５に入力する。信号処理装置２０は、パラメータ２４ｂによって規定される伝達関数に基づいて任意のトルクの値から決まる車輪１２，１３の回転速度の推定値と、車輪１２，１３の回転速度の検出値との間の誤差を低減するように、メモリ２２に記憶されたパラメータ２４ｂの情報の少なくとも一部を更新する。
【０１２６】  また、本開示の例示的な実施の形態では、パワーアシスト装置１００は、任意のトルクの値は、合計トルクの推定値とすることができる。この構成にすることで、トルク発生器によって決定された任意のトルクに対して、アシストするモータトルクの値を決定することができる。
【０１２７】  また、本開示の例示的な実施の形態では、パワーアシスト装置１００は、逐次最小二乗アルゴリズムを用いる。信号処理装置２０は、逐次最小二乗アルゴリズムにより、車輪１２，１３の回転速度の推定値と、車輪１２、１３の回転速度の検出値との間の誤差を最小とし、メモリ２２に記憶されたパラメータ２４ｂの情報の少なくとも一部を更新する。この構成にすることで、信号処理装置２０は、変動するパラメータを同定し、ペダルトルクの推定精度を向上させることができる。
【０１２８】  本開示の例示的な実施の形態では、パラメータ２４ｂによって規定される伝達関数は、線形一次遅れ系の伝達関数である。この構成にすることにより、パワーアシスト装置１００を自転車機構に適した装置とすることができる。
【０１２９】  本開示の例示的な実施の形態では、線形一次遅れ系の伝達関数の時定数は慣性モーメントおよび粘性抵抗係数に基づいて決定される。この構成にすることで、パワーアシスト装置１００は、自転車機構が有する動特性のパラメータである慣性モーメントおよび粘性抵抗係数を考慮した装置とすることができる。
【０１３０】  本開示の例示的な実施の形態では、信号処理装置２０は、人力トルクが実質的に加えられていないときに、メモリ２２に記憶されたパラメータ２４ｂの情報の少なくとも一部を更新する処理を行う。人力トルクが実質的に加えられていないとは、人力トルクがゼロに近い値であるほど好ましい。この構成にすることで、パラメータ２４ｂの演算の精度を高めることができる。
【０１３１】  本開示の例示的な実施の形態では、車両１はペダルを有し、ペダルを介して入力された人力によって駆動される。パワーアシスト装置１００は、ペダルの角度に応じた角度信号を出力するペダル角度センサをさらに備える。信号処理装置２０は、ペダル角度センサから出力された角度信号が、ペダルの上死点または下死点の角度を示すとき、またはペダル角度センサから出力された角度信号により、人力トルクが生じないときに、メモリ２２に記憶されたパラメータ２４ｂの情報の少なくとも一部を更新する処理を行う。人力トルクが生じないとは、人力トルクがゼロに近い値であるほど好ましい。この構成にすることで、自転車機構において、パラメータを取得する場合に、より精度よくパラメータを演算することができる。
【０１３２】  本開示の例示的な実施の形態では、車両は持ち手を有し、持ち手を介して入力された人力によって駆動されてもよい。パワーアシスト装置は、持ち手に人力が加えられているか否かを検出する検出器をさらに備える。信号処理装置は、持ち手に人力が加えられていないことを前記検出器が検出したときに、メモリ２２に記憶されたパラメータ２４ｂの情報の少なくとも一部を更新する処理を行う。この構成にすることで、パワーアシスト装置は、電動手押し車２により適した装置とすることができる。
【０１３３】  本開示の例示的な実施の形態では、パワーアシスト装置は、加速度または路面の傾斜角に応じた信号を出力する傾斜角センサをさらに備える。信号処理装置は、人力トルクの推定値の演算処理に先立って、傾斜角センサから出力された信号に基づいて路面の傾斜角の推定値を決定し、傾斜角の推定値から勾配路抵抗トルクを推定する。また、この処理の後に、信号処理装置は、車輪の回転速度の検出値の二乗に比例する空気力抵抗トルクを推定する。信号処理装置は、人力トルクの推定の演算処理において、合計トルクの推定値からモータトルクの推定値を減算し、かつ勾配路抵抗トルクおよび前記空気力抵抗トルクを加算して得た値に基づいて人力トルクの推定値を決定してもよい。この構成にすることで、パワーアシスト装置は、走行中の負荷をより考慮して人力トルクに対するアシストする力を決定することができる。
【０１３４】  本開示の例示的な実施の形態では、傾斜角センサは加速度センサとすることができる。信号処理装置は、加速度センサから出力された信号を所定の時区間にわたって積分することにより、勾配路抵抗トルクを推定する処理を実行する。この構成にすることで、信号処理装置は、加速度センサを用いることで、より精度よく路面の傾斜角を推定することができる。
【０１３５】  本開示の例示的な実施の形態では、パワーアシスト装置は、人力トルクに応じたトルク検出信号を出力するトルクセンサをさらに備える。信号処理装置は、トルク検出信号に基づいてモータトルクの指令値を決定し、モータトルクの指令値をモータ駆動回路に入力する処理を実行する。本開示の例示的な実施の形態では、パワーアシスト装置は、トルクセンサを有している車両もしくはパワーアシストスーツにも適用することができる。このとき、信号処理装置は、トルクセンサによりトルク検出信号が得られないとき、人力トルクの推定値に基づいてモータトルクの指令値を決定し、モータトルクの指令値をモータ駆動回路に入力してもよい。この構成にすることで、パワーアシスト装置は、何らかの影響によりトルクセンサに異常が生じた場合においても、人力トルクを推定することが出来る。すなわち、パワーアシスト装置を冗長的な設計にすることができる。また、信号処理装置は、予め定められた時間条件にしたがって、人力トルクの推定値に基づいてモータトルクの指令値を決定し、モータトルクの指令値をモータ駆動回路に入力してもよい。これにより、トルクセンサの個体差を吸収することができる。
【０１３６】  本開示の例示的な実施の形態では、モータ駆動回路は、前記モータに流れる電流の大きさを示す信号を出力する。信号処理装置は、モータトルクの推定値を決定する処理において、モータに流れる電流の大きさを示す信号を、モータの動作状態を示す情報として取得してもよい。
【０１３７】  本開示の例示的な実施の形態では、パワーアシスト装置は、電動アシスト車両の車両機構またはパワーアシストスーツの関節機構に加えられる人力トルクを、車両機構または関節機構のシステムパラメータを用いて推定し、推定された人力トルクからモータのトルクを算出して人力トルクとモータのトルクとによって電動アシスト車両を駆動するために用いられもよい。ここで、パワーアシスト装置は、人力トルクが電動アシスト車両またはパワーアシストスーツに加えられていないタイミングで、前記車両機構のシステムパラメータを更新する。ここで、人力トルクが電動アシスト車両またはパワーアシストスーツに加えられていないタイミングとは、人力トルクが生じていないタイミングであればよく、人力トルクがゼロに近いことが好ましい。
【０１３８】  （逐次最小二乗アルゴリズムの導出過程）  上述の実施の形態において言及した、逐次最小二乗アルゴリズムの導出例を以下説明する。なお、数式の番号は、実施の形態１と区別して「(1)」、「(2)」と記述し、説明中では(1)式などと記述する。
【０１３９】  図１１は、線形時不変システムのモデルを示す。線形時不変システムに示すシステムの次数nが既知であると仮定すると、その入出力関係は、一般的に、次式のような差分方程式で表現することができる。【数７】
2017047333.tif 000010
【０１４０】  上式において、ｘtはノイズｖtが印加される前の出力を表していることに注意した上、ｘtとｕtはそれぞれシステムへの出力信号と入力信号を意味し、添え字ｔは、時刻ｔにおけるサンプリングを意味する。また、ａiとｂi（ｉ＝１，２，・・・，ｎ）は同定すべきシステムパラメータを表す。また、ｖtは、入力信号ｕtとは無相関、かつ平均値ゼロであるホワイトノイズとする。
【０１４１】  したがって、これらの仮定から、図１１におけるｙtは、以下のように表すことができる。【数８】
2017047333.tif 000011
【０１４２】  なお、（2）式は、ノイズは加算されることを前提としたノイズモデルである。実践の場面で、他のノイズモデルが適切と判断する場合は、以降の定式化を見直す必要がある。まず、（2）式を（1）式に代入すれば、以下の式が得られる。【数９】
2017047333.tif 000012
ただし、ｒtは以下のように表記される。
【数１０】
2017047333.tif 000013
【０１４３】  （4）式は、ホワイトノイズｖtが、同定対象としている線形システムに含まれるノイズと解釈することができる。更に、数式表現を簡略化するために、観測した時系列信号をベクトル化（２ｎ×１）した観測ベクトルｚtと同定すべきシステムモデルパラメータをベクトル化（２ｎ×１）したパラメータベクトルθの2つの変数を導入する。【数１１】
2017047333.tif 000014
【０１４４】（5）式と（6）式を用いて、（3）式を表現し直すと以下の式が得られる。【数１２】
2017047333.tif 000015
【０１４５】  システムの同定とは、（7）式において、観測結果として得られているｙtとｚtを尤も妥当に説明できるθを求めることである。この「尤も妥当」という意味での１つの考え方が、最小二乗法と呼ばれるものであり、一言で表現すれば、（7）式で表現される直線と観測結果との距離（誤差）の二乗の和、すなわち、誤差の二乗和Ｊを最小にするようなθを求めることである。
【０１４６】  （7）式を用いれば、誤差の二乗和Ｊは、以下のように表現することができる。【数１３】
2017047333.tif 000016
【０１４７】  なお、ここでのＫは現在時刻を表し、時刻の基数は１である。この誤差の二乗和Ｊを最小にする必要十分条件は、以下のとおりである。【数１４】
2017047333.tif 000017
【０１４８】  （8）式を（9）式に代入して、若干のリダクションを行えば、さらに以下の式を得る。【数１５】
2017047333.tif 000018
【０１４９】  今、求めたいのはθであるため、（10）式をθについて解けばよいことになる。θが同定された推定値であることを強調するため、θ^（数式では「θ」の真上にハット「＾」）と表現し直せば、θ^ を次式のように得ることができる。【数１６】
2017047333.tif 000019
【０１５０】  なお、（11）式が数学的に成立するためには、逆行列の存在を証明することが必要となるが、実用上、逆行列が存在しないことは少ないため、ここでは、逆行列の存在に関する数学的証明を割愛する。
【０１５１】  いま、(11)式のθ^にKの添え字を付し、θ＾がKの関数であることを明示する。【数１７】
2017047333.tif 000020
【０１５２】  次に、(12)式における逆行列を以下のように置く。【数１８】
2017047333.tif 000021
【０１５３】  よって、（13）式を（12）式に代入すれば、以下の式が得られる。【数１９】
2017047333.tif 000022
【０１５４】  ここでの目的は、（14）式を逐次計算できる形式に表現し直すことである。この目的のため、（14）式を少し変形して、（15）式の形にする。【数２０】
2017047333.tif 000023
【０１５５】  ここで、（15）式の右辺の括弧内第１項に対しては、（14）式をもとに、以下のSTEP1とSTEP2の手順を踏むことにより、（16）式の表現に変換することができる。
【０１５６】STEP1：（14）式の両辺に、左から（ＰK）-1を乗じる。【数２１】
2017047333.tif 000024
【０１５７】STEP2：（16）式のＫをＫ−１に置き換える。【数２２】
2017047333.tif 000025
【０１５８】  （17）式を（15）式に代入すれば、以下の式を得る。【数２３】
2017047333.tif 000026
【０１５９】  したがって、（12）式を、見掛け上、逐次計算できる漸化形式の（18）式に変換できたことになる。但し、（逆行列の）逆行列（ＰK-1）-1を算出する処理の負荷が高いため、以下のSTEP1からSTEP5の手順により、逆行列（ＰK-1）-1を計算から除外する。
【０１６０】STEP1：（13）式の両辺の逆行列を取る。【数２４】
2017047333.tif 000027
【０１６１】STEP2：（19）式を変形する。【数２５】
2017047333.tif 000028
【０１６２】STEP3：（19）式から類推できるように、（20）式の右辺第１項は（ＰK-1）-1と等価である。
【０１６３】STEP4：従って、（20）式は（21）式のように表現することができる。【数２６】
2017047333.tif 000029
【０１６４】STEP5：（21）式の左右の辺の項を移項する。これにより、（22）式に示す通り、逆行列（ＰK-1）-1に対する漸化形式が得られる。【数２７】
2017047333.tif 000030
【０１６５】  （22）式を（18）式に代入すれば、以下の式が得られる。【数２８】
2017047333.tif 000031
【０１６６】  （23）式をリダクションすれば、最終的に（24）式を得る。【数２９】
2017047333.tif 000032
【０１６７】  （24）式が求めるべき逐次推定アルゴリズムの根幹式となる。逐次推定アルゴリズムを自己完結したものにするには、（24）式に付け加えるべき、逆行列ＰKを逐一計算しないようで済ませるための付帯計算式がある。それらに言及する前に、（24）式の物理的な意味について、以下に説明する。（24）式におけるＺKTθ＾K-1は、前回のサンプリング時刻Ｋ−１において、システムを同定した結果であるθ＾K-1に基づけば、現在のサンプリング時刻Ｋにおける出力ｙKはこうなるはずだという主張（推定値）を意味する。なぜならば、ノイズｒKを一旦無視すれば、ＺKTθ＾K-1は、現在のサンプリング時刻ＫにおけるｙKを明快に指し示すからである。いま、同定対象としているシステムは（7）式により示されるが、現在のサンプリング時刻をＫとして、（7）式を以下のとおり再記する。【数３０】
2017047333.tif 000033
【０１６８】  実際には（２５）式で示される通り、（時不変システムの場合には）無視したノイズｒKの分だけ、ＺKTθ＾K-1は誤差を含むことになる。この量が、前回のサンプリング時刻Ｋ−１から見た現在のサンプリング時刻Ｋの推定値であることをより明確に示すために、以下のように表記する。【数３１】
2017047333.tif 000034
【０１６９】  （２６）式を用いれば、（２４）式の右辺第2項の括弧内は、以下のようになる。【数３２】
2017047333.tif 000035
【０１７０】  推定結果ｙ＾Kが、今回観測された出力信号ｙKをどの程度説明できるか、すなわち、推定結果の誤差を表している。この推定誤差をεKと表せば、さらに以下の式が得られる。【数３３】
2017047333.tif 000036
【０１７１】  ここで、（24）式をみると、現在のサンプリング時刻Ｋにおける推定値θ＾Kは、前回のサンプリング時刻Ｋ−１における推定値θ＾K-1に対して、推定誤差εKにＰK・ＺKを乗じた量を付け加える形となっている。数学的に言い直せば、（24）式は、推定誤差εKに修正ゲインＰK・ＺKを乗じた量によって、前回推定値θ＾K-1を逐次修正して、最新の推定値θ＾Kを求めていることを意味している。
【０１７２】  次に、（24）式を、自己完結した逐次推定アルゴリズムとして、成立させるための付帯計算式を説明する。つまり、修正ゲインＰK・ＺKにおけるＰKは、（13）式で示される通り、逆行列であり、逆行列を直接計算しないで済むようにすることが目標である。
【０１７３】  最初に、（21）式の両辺の逆行列を取れば、以下のようになる。【数３４】
2017047333.tif 000037
【０１７４】  ここで、証明なしに、逆行列の補題と呼ばれる定理を用いる。逆行列の補題  ある正則行列Ａに対しては、次の式が成立する。ここで、Ｉは単位行列を示す。【数３５】
2017047333.tif 000038
【０１７５】  （29）式の右辺に、逆行列の補題（30）式をあてはめると、以下の式が得られる。【数３６】
2017047333.tif 000039
【０１７６】  さらに、今の場合、観測ベクトルＺKは、サイズ（２ｎ×１）であるため、（31）式右辺第２項にある（Ｉ＋ＺKT・ＰK-1・ＺK）-1はスカラ量とならざるを得ない。したがって、以下のように記述することができる。【数３７】
2017047333.tif 000040
【０１７７】  （30）式と（32）式とから、さらに以下の式を得る。【数３８】
2017047333.tif 000041
【０１７８】  さらに、（33）式に対して、右からＺKを乗じると、以下の（３４）〜（３６）式を得る。【数３９】
2017047333.tif 000042
【０１７９】  これにより、逐次計算により解くべき（24）式の右辺第２項ＰK・ＺKについて、簡便な表現を得ることができた。
【０１８０】  以上をまとめると、逐次最小二乗法のアルゴリズムとして、（24）式、（28）式、（33）式及び（36）式を解けばよいことになる。これらの各式が、上記「数６」に記載の式（ａ−１）〜（ａ−４）である。
【産業上の利用可能性】
【０１８１】  本開示は、たとえばトルクセンサの有無にかかわらず、電動アシスト車両に加えられる人力トルクを推定するために利用することができる。電動アシスト車両として、電動アシスト自転車、電動手押し車、電動アシスト車椅子、電動台車などに利用可能である。また、本開示は、パワーアシストスーツの関節に加えられる人力トルクを推定するために利用することができる。
【符号の説明】
【０１８２】  １…電動アシスト自転車、  ２…電動手押し車、  １０…ハンドル、  １１…フレーム、  １２…前輪、  １３…後輪、  １４…サドル、  １５…チェーン、  １６…ペダル、  １７…クランク、  ２０…マイクロプロセッサ、  ２１…ＲＯＭ、  ２２…ＲＡＭ、  ２３ａ・２４ａ…コンピュータプログラム、  ２３ｂ・２４ｂ…パラメータ、  ２５…モータ駆動回路、  ２６…加速度センサ、  ２７…ペダル角度センサ、  ３０…モータ、  ４０…バッテリ、  １００…パワーアシスト装置
【図１】
2017047333.tif 000043
【図２】
2017047333.tif 000044
【図３】
2017047333.tif 000045
【図４】
2017047333.tif 000046
【図５】
2017047333.tif 000047
【図６】
2017047333.tif 000048
【図７】
2017047333.tif 000049
【図８】
2017047333.tif 000050
【図９】
2017047333.tif 000051
【図１０】
2017047333.tif 000052
【図１１】
2017047333.tif 000053
【国際調査報告】
2017047333.tif 000054
2017047333.tif 000055