(57)【要約】【課題】少ない実測データを用いて人力駆動車の推進をアシストするモータを制御できる人力駆動車用制御装置を提供する。【解決手段】人力駆動車用制御装置は、クランクを有する人力駆動車の推進をアシストするモータを、前記クランクに入力される人力駆動力に応じて制御する制御部を含む人力駆動車用制御装置であって、前記制御部は、前記クランクの回転角度が前記クランクの回転方向に相互に離間している複数の予め定める角度範囲にある場合に得られる前記人力駆動力に応じて、前記クランクの回転角度が前記複数の予め定める角度範囲外にある場合において、出力トルクが変化するように前記モータを制御する。【選択図】図８
2020001578.tif 000002
【特許請求の範囲】
【請求項１】
クランクを有する人力駆動車の推進をアシストするモータを、前記クランクに入力される人力駆動力に応じて制御する制御部を含む人力駆動車用制御装置であって、
前記制御部は、
前記クランクの回転角度が前記クランクの回転方向に相互に離間している複数の予め定める角度範囲にある場合に得られる前記人力駆動力に応じて、前記クランクの回転角度が前記複数の予め定める角度範囲外にある場合において、出力トルクが変化するように前記モータを制御する、人力駆動車用制御装置。
【請求項２】
前記クランクは、第１クランクアームおよび前記第１クランクアームとは回転位相が１８０度異なる第２クランクアームを含み、
前記複数の予め定める角度範囲は、第１の角度範囲および第２の角度範囲を含み、
前記第１の角度範囲は、前記クランクが第１方向に回転する場合において、前記第１クランクアームが上死点から下死点に移動する範囲に設けられ、
前記第２の角度範囲は、前記クランクが第１方向に回転する場合において、前記第２クランクアームが上死点から下死点に移動する範囲に設けられる
請求項１に記載の人力駆動車用制御装置。
【請求項３】
前記第１の角度範囲は、前記クランクが第１方向に回転する場合において、前記第１クランクアームが上死点から９０°回転した角度を含み、
前記第２の角度範囲は、前記クランクが第１方向に回転する場合において、前記第２クランクアームが上死点から９０°回転した角度を含む
請求項２に記載の人力駆動車用制御装置。
【請求項４】
前記複数の予め定める角度範囲のうちの少なくとも１つの予め定める角度範囲の位相は、変更可能である
請求項１〜３のいずれか一項に記載の人力駆動車用制御装置。
【請求項５】
前記制御部は、前記人力駆動車の状態、前記人力駆動車の仕様、前記人力駆動車の搭乗者の搭乗状態、前記人力駆動車の搭乗者の身体的特徴、および、前記人力駆動車の走行環境の少なくとも１つに応じて、前記複数の予め定める角度範囲の幅、位相、および、数の少なくとも１つを変更する、
請求項１〜４のいずれか一項に記載の人力駆動車用制御装置。
【請求項６】
クランクを有する人力駆動車の推進をアシストするモータを、前記クランクに入力される人力駆動力に応じて制御する制御部を含む人力駆動車用制御装置であって、
前記制御部は、
前記クランクの回転角度が予め定める角度範囲にある場合に得られる前記人力駆動力に応じて、前記クランクの回転角度が予め定める角度範囲外にある場合において前記モータを制御し、
前記人力駆動車の状態、前記人力駆動車の仕様、前記人力駆動車の搭乗者の搭乗状態、前記人力駆動車の搭乗者の身体的特徴、および、前記人力駆動車の走行環境の少なくとも１つに応じて、前記予め定める角度範囲の幅、位相、および、数の少なくとも１つを変更する人力駆動車用制御装置。
【請求項７】
前記人力駆動車の状態は、前記人力駆動車の車速、前記クランクの回転速度、前記人力駆動車の加速度、前記クランクの回転速度に対する駆動輪の回転速度の比率、前記人力駆動車の傾斜の少なくとも１つを含む
請求項５または６に記載の人力駆動車用制御装置。
【請求項８】
前記人力駆動車の仕様は、サドルから前記クランクのクランク軸までの長さ、前記人力駆動車のフレームの形状、前記フレームの種類、および、ビンディングペダルの装着状態の少なくとも１つを含む
請求項５〜７のいずれか一項に記載の人力駆動車用制御装置。
【請求項９】
前記人力駆動車の搭乗者の搭乗状態は、サドルに着座している状態、立ち漕ぎ状態、および、ペダルの一方にのみ荷重をかけて走行している状態の少なくとも１つ、を含む
請求項５〜８のいずれか一項に記載の人力駆動車用制御装置。
【請求項１０】
前記人力駆動車の搭乗者の搭乗状態は、サドルに加わる荷重の状態を含む、
請求項５〜９のいずれか一項に記載の人力駆動車用制御装置。
【請求項１１】
前記人力駆動車の搭乗者の身体的特徴は、脚の長さを含む
請求項５〜１０のいずれか一項に記載の人力駆動車用制御装置。
【請求項１２】
前記人力駆動車の走行環境は、走行路の種類、走行路の傾斜、走行路の形状、風速、および風向きの少なくとも１つを含む
請求項５〜１１のいずれか一項に記載の人力駆動車用制御装置。
【請求項１３】
前記制御部は、操作装置が操作されることによって、前記人力駆動車の仕様、および、前記人力駆動車の搭乗者の身体的特徴の少なくとも１つを取得する、
請求項５〜１２のいずれか一項に記載の人力駆動車用制御装置。
【請求項１４】
前記制御部は、前記クランクにビンディングペダルが装着されている場合、前記クランクにビンディングペダルが装着されていない場合よりも、前記モータの出力トルクの最大値および最小値との差が小さくなるように、前記モータを制御する
請求項１〜１３のいずれか一項に記載の人力駆動車用制御装置。
【請求項１５】
前記制御部は、前記人力駆動力の最大値が所定値以上の場合、前記人力駆動力の最大値が前記所定値未満の場合よりも、前記モータの出力トルクの最大値および最小値との差が小さくなるように、前記モータを制御する
請求項１〜１４のいずれか一項に記載の人力駆動車用制御装置。
【請求項１６】
前記制御部は、前記人力駆動車の走行抵抗が増加する場合、前記モータの出力トルクの最大値および最小値との差が小さくなるように、前記モータを制御する
請求項１〜１５のいずれか一項に記載の人力駆動車用制御装置。
【請求項１７】
前記制御部は、前記人力駆動車の走行抵抗が減少する場合、前記モータの出力トルクの最大値および最小値との差が大きくなるように、前記モータを制御する
請求項１〜１６のいずれか一項に記載の人力駆動車用制御装置。
【請求項１８】
前記制御部は、周期的な振幅を有する波形の一部を用いて、前記クランクの回転角度が前記予め定める角度範囲外の場合における前記人力駆動力を推定する
請求項１〜１７のいずれか一項に記載の人力駆動車用制御装置。
【請求項１９】
前記人力駆動力を検出する検出部を含み、
前記制御部は、前記クランクが前記予め定める角度範囲のときだけ人力駆動力に関する信号を前記検出部から取得する
請求項１〜１８のいずれか一項に記載の人力駆動車用制御装置。
【請求項２０】
前記検出部は、前記人力駆動力に関する信号を無線で前記制御部に送信する
請求項１９に記載の人力駆動車用制御装置。
【請求項２１】
クランクに入力される人力駆動力を推定する制御部を含む人力駆動車用制御装置であって、
前記制御部は、
前記クランクの回転角度が前記クランクの回転方向に相互に離間している複数の予め定める角度範囲にある場合に得られる前記人力駆動力に応じて、前記クランクの回転角度が前記複数の予め定める角度範囲外の場合における前記人力駆動力を推定する、人力駆動車用制御装置。
【請求項２２】
クランクに入力される人力駆動力を推定する制御部を含む人力駆動車用制御装置であって、
前記制御部は、
前記クランクの回転角度が予め定める角度範囲にある場合おける前記人力駆動力に応じて、前記クランクの回転角度が予め定める角度範囲外における前記人力駆動力を推定し、
人力駆動車の状態、前記人力駆動車の仕様、前記人力駆動車の搭乗者の搭乗状態、前記人力駆動車の搭乗者の身体的特徴、および、前記人力駆動車の走行環境の少なくとも１つに応じて、前記予め定める角度範囲の幅、位相、および、数の少なくとも１つを変更する、人力駆動車用制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人力駆動車の推進をアシストするモータを制御する人力駆動車用制御装置に関する。
【背景技術】
【０００２】
特許文献１には、クランク軸に加わるトルクを歪みセンサによって歪みデータとして検出すること、歪みデータを伝送すること、および、伝送された歪みデータから人力によるペダル踏力を算出し、アシスト用モータのアシスト量を決定すること、が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１５／１０８１５２号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、制御部は、トルクセンサによって実測されるデータに基づいてアシスト用モータを制御する。
本発明の目的の１つは、人力駆動車の推進をアシストするモータを、少ない実測データを用いて制御できる人力駆動車用制御装置を提供する。
【課題を解決するための手段】
【０００５】
本発明の第１側面に従う人力駆動車用制御装置は、クランクを有する人力駆動車の推進をアシストするモータを、前記クランクに入力される人力駆動力に応じて制御する制御部を含む人力駆動車用制御装置であって、前記制御部は、前記クランクの回転角度が前記クランクの回転方向に相互に離間している複数の予め定める角度範囲にある場合に得られる前記人力駆動力に応じて、前記クランクの回転角度が前記複数の予め定める角度範囲外にある場合において、出力トルクが変化するように前記モータを制御する。
第１側面の人力駆動車用制御装置によれば、クランクが１回転する間で連続的に人力駆動力を検出しなくても、クランクが１回転する間で連続しない少なくとも２つの角度範囲における人力駆動力に応じて、人力駆動車の推進をアシストするモータを制御することができる。第１側面の人力駆動車用制御装置によれば、少ない実測データでモータを制御できる。
【０００６】
前記第１側面に従う第２側面の人力駆動車用制御装置において、前記クランクは、第１クランクアームおよび前記第１クランクアームとは回転位相が１８０度異なる第２クランクアームを含み、前記複数の予め定める角度範囲は、第１の角度範囲および第２の角度範囲を含み、前記第１の角度範囲は、前記クランクが第１方向に回転する場合において、前記第１クランクアームが上死点から下死点に移動する範囲に設けられ、前記第２の角度範囲は、前記クランクが第１方向に回転する場合において、前記第２クランクアームが上死点から下死点に移動する範囲に設けられる。
第２側面の人力駆動車用制御装置によれば、第１クランクアームに与えられる人力駆動力と、第２クランクアームに与えられる人力駆動力との両方を、モータの出力トルクに反映させることができる。
【０００７】
前記第２側面に従う第３側面の人力駆動車用制御装置において、前記第１の角度範囲は、前記クランクが第１方向に回転する場合において、前記第１クランクアームが上死点から９０°回転した角度を含み、前記第２の角度範囲は、前記クランクが第１方向に回転する場合において、前記第２クランクアームが上死点から９０°回転した角度を含む。
第３側面の人力駆動車用制御装置によれば、人力駆動力が最も大きくなりやすい角度における人力駆動力を用いることによって、複数の予め定める角度範囲外におけるモータの出力トルクを決定しやすくなる。
【０００８】
前記第１〜３側面のいずれか１つに従う第４側面の人力駆動車用制御装置において、前記複数の予め定める角度範囲のうちの少なくとも１つの予め定める角度範囲の位相は、変更可能である。
第４側面の人力駆動車用制御装置によれば、適切な角度における人力駆動力を用いて、複数の予め定める角度範囲外におけるモータの出力トルクを変化させることができる。
【０００９】
前記第１〜４側面のいずれか１つに従う第５側面の人力駆動車用制御装置において、前記制御部は、前記人力駆動車の状態、前記人力駆動車の仕様、前記人力駆動車の搭乗者の搭乗状態、前記人力駆動車の搭乗者の身体的特徴、および、前記人力駆動車の走行環境の少なくとも１つに応じて、前記複数の予め定める角度範囲の幅、位相、および、数の少なくとも１つを変更する。
第５側面の人力駆動車用制御装置によれば、人力駆動車の状態、人力駆動車の仕様、人力駆動車の搭乗者の搭乗状態、人力駆動車の搭乗者の身体的特徴、および、人力駆動車の走行環境の少なくとも１つに応じて、適切な角度における人力駆動力を用いて、複数の予め定める角度範囲外におけるモータの出力トルクを変化させることができる。
【００１０】
本発明の第６側面に従う人力駆動車用制御装置は、クランクを有する人力駆動車の推進をアシストするモータを、前記クランクに入力される人力駆動力に応じて制御する制御部を含む人力駆動車用制御装置であって、前記制御部は、前記クランクの回転角度が予め定める角度範囲にある場合に得られる前記人力駆動力に応じて、前記クランクの回転角度が予め定める角度範囲外にある場合において前記モータを制御し、前記人力駆動車の状態、前記人力駆動車の仕様、前記人力駆動車の搭乗者の搭乗状態、前記人力駆動車の搭乗者の身体的特徴、および、前記人力駆動車の走行環境の少なくとも１つに応じて、前記予め定める角度範囲の幅、位相、および、数の少なくとも１つを変更する。
第６側面の人力駆動車用制御装置によれば、連続的に人力駆動力を検出しなくても、人力駆動力に応じてモータを制御することができる。人力駆動車の状態、人力駆動車の仕様、人力駆動車の搭乗者の搭乗状態、人力駆動車の搭乗者の身体的特徴、および、人力駆動車の走行環境の少なくとも１つに応じて、適切な角度における人力駆動力を用いて、複数の予め定める角度範囲外におけるモータの出力トルクを変化させることができる。
【００１１】
前記第５または第６側面に従う第７側面の人力駆動車用制御装置において、前記人力駆動車の状態は、前記人力駆動車の車速、前記クランクの回転速度、前記人力駆動車の加速度、前記クランクの回転速度に対する駆動輪の回転速度の比率、前記人力駆動車の傾斜の少なくとも１つを含む。
第７側面の人力駆動車用制御装置によれば、人力駆動車の車速、クランクの回転速度、人力駆動車の加速度、クランクの回転速度に対する駆動輪の回転速度の比率、人力駆動車の傾斜の少なくとも１つに応じて、適切な角度における人力駆動力を用いて、複数の予め定める角度範囲外におけるモータの出力トルクを変化させることができる。
【００１２】
前記第５〜７側面のいずれか１つに従う第８側面の人力駆動車用制御装置において、前記人力駆動車の仕様は、サドルから前記クランクのクランク軸までの長さ、前記人力駆動車のフレームの形状、前記フレームの種類、および、ビンディングペダルの装着状態の少なくとも１つを含む。
第８側面の人力駆動車用制御装置によれば、サドルからクランクのクランク軸までの長さ、人力駆動車のフレームの形状、フレームの種類、および、ビンディングペダルの装着状態の少なくとも１つに応じて、適切な角度における人力駆動力を用いて、複数の予め定める角度範囲外におけるモータの出力トルクを変化させることができる。
【００１３】
前記第５〜８側面のいずれか１つに従う第９側面の人力駆動車用制御装置において、前記人力駆動車の搭乗者の搭乗状態は、サドルに着座している状態、立ち漕ぎ状態、および、ペダルの一方にのみ荷重をかけて走行している状態の少なくとも１つ、を含む。
第９側面の人力駆動車用制御装置によれば、サドルに着座している状態、立ち漕ぎ状態、および、ペダルの一方にのみ荷重をかけて走行している状態の少なくとも１つに応じて、適切な角度における人力駆動力を用いて、複数の予め定める角度範囲外におけるモータの出力トルクを変化させることができる。
【００１４】
前記第５〜９側面のいずれか１つに従う第１０側面の人力駆動車用制御装置において、前記人力駆動車の搭乗者の搭乗状態は、サドルに加わる荷重の状態を含む。
第１０側面の人力駆動車用制御装置によれば、前記サドルに加わる荷重の状態に応じて、適切な角度における人力駆動力を用いて、複数の予め定める角度範囲外におけるモータの出力トルクを変化させることができる。
【００１５】
前記第５〜１０側面のいずれか１つに従う第１１側面の人力駆動車用制御装置において、前記人力駆動車の搭乗者の身体的特徴は、脚の長さを含む。
第１１側面の人力駆動車用制御装置によれば、脚の長さに応じて、適切な角度における人力駆動力を用いて、複数の予め定める角度範囲外におけるモータの出力トルクを変化させることができる。
【００１６】
前記第５〜１１側面のいずれか１つに従う第１２側面の人力駆動車用制御装置において、前記人力駆動車の走行環境は、走行路の種類、走行路の傾斜、走行路の形状、風速、および風向きの少なくとも１つを含む。
第１２側面の人力駆動車用制御装置によれば、走行路の種類、走行路の傾斜、走行路の形状、風速、および風向きの少なくとも１つに応じて、適切な角度における人力駆動力を用いて、複数の予め定める角度範囲外におけるモータの出力トルクを変化させることができる。
【００１７】
前記第５〜１２側面のいずれか１つに従う第１３側面の人力駆動車用制御装置において、前記制御部は、操作装置が操作されることによって、前記人力駆動車の仕様、および、前記人力駆動車の搭乗者の身体的特徴の少なくとも１つを取得する。
第１３側面の人力駆動車用制御装置によれば、制御部は、人力駆動車の仕様、および、人力駆動車の搭乗者の身体的特徴の少なくとも１つを簡単に取得できる。
【００１８】
前記第１〜１３側面のいずれか１つに従う第１４側面の人力駆動車用制御装置において、前記制御部は、前記クランクにビンディングペダルが装着されている場合、前記クランクにビンディングペダルが装着されていない場合よりも、前記モータの出力トルクの最大値および最小値との差が小さくなるように、前記モータを制御する。
第１４側面の人力駆動車用制御装置によれば、連続的に人力駆動力を検出しなくても、ビンディングペダルを用いてクランクを回転させる場合においても、適切にモータの出力トルクを変化させることができる。
【００１９】
前記第１〜１４側面のいずれか１つに従う第１５側面の人力駆動車用制御装置において、前記制御部は、前記人力駆動力の最大値が所定値以上の場合、前記人力駆動力の最大値が前記所定値未満の場合よりも、前記モータの出力トルクの最大値および最小値との差が小さくなるように、前記モータを制御する。
第１５側面の人力駆動車用制御装置によれば、例えば、坂道および加速時など、人力駆動力の最大値が大きくなる場合において、人力駆動車を操作しやすくなる。
【００２０】
前記第１〜１５側面のいずれか１つに従う第１６側面の人力駆動車用制御装置において、前記制御部は、前記人力駆動車の走行抵抗が増加する場合、前記モータの出力トルクの最大値および最小値との差が小さくなるように、前記モータを制御する。
第１６側面の人力駆動車用制御装置によれば、人力駆動車の走行抵抗が増加する場合において、人力駆動車を操作しやすくなる。
【００２１】
前記第１〜１６側面のいずれか１つに従う第１７側面の人力駆動車用制御装置において、前記制御部は、前記人力駆動車の走行抵抗が減少する場合、前記モータの出力トルクの最大値および最小値との差が大きくなるように、前記モータを制御する。
第１７側面の人力駆動車用制御装置によれば、人力駆動車の走行抵抗が減少する場合において、人力駆動車を操作しやすくなる。
【００２２】
前記第１〜１７側面のいずれか１つに従う第１８側面の人力駆動車用制御装置において、前記制御部は、周期的な振幅を有する波形の一部を用いて、前記クランクの回転角度が前記予め定める角度範囲外の場合における前記人力駆動力を推定する。
第１８側面の人力駆動車用制御装置によれば、所定の角度範囲外の場合における人力駆動力を推定しやすい。
【００２３】
前記第１〜１８側面のいずれか１つに従う第１９側面の人力駆動車用制御装置において、前記人力駆動力を検出する検出部を含み、前記制御部は、前記クランクが前記予め定める角度範囲のときだけ人力駆動力に関する信号を前記検出部から取得する。
第１９側面の人力駆動車用制御装置によれば、制御部の処理の負荷を低減することができる。
【００２４】
前記第１〜１９側面のいずれか１つに従う第２０側面の人力駆動車用制御装置において、前記検出部は、前記人力駆動力に関する信号を無線で前記制御部に送信する。
第２０側面の人力駆動車用制御装置によれば、データの送受信経路において物理的接点が無いことから接点の摩耗のような物理的劣化がない。
【００２５】
本発明の第２１側面に従う人力駆動車用制御装置は、クランクに入力される人力駆動力を推定する制御部を含む人力駆動車用制御装置であって、前記制御部は、前記クランクの回転角度が前記クランクの回転方向に相互に離間している複数の予め定める角度範囲にある場合に得られる前記人力駆動力に応じて、前記クランクの回転角度が前記複数の予め定める角度範囲外の場合における前記人力駆動力を推定する。
第２１側面の人力駆動車用制御装置によれば、クランクの回転角度が複数の予め定める角度範囲外においても、人力駆動力を推定することができるので、クランクが１回転する間で連続的に人力駆動力を検出しなくてもよい。
【００２６】
本発明の第２２側面に従う人力駆動車用制御装置は、クランクに入力される人力駆動力を推定する制御部を含む人力駆動車用制御装置であって、前記制御部は、前記クランクの回転角度が予め定める角度範囲にある場合おける前記人力駆動力に応じて、前記クランクの回転角度が予め定める角度範囲外における前記人力駆動力を推定し、人力駆動車の状態、前記人力駆動車の仕様、前記人力駆動車の搭乗者の搭乗状態、前記人力駆動車の搭乗者の身体的特徴、および、前記人力駆動車の走行環境の少なくとも１つに応じて、前記予め定める角度範囲の幅、位相、および、数の少なくとも１つを変更する。
第２２側面の人力駆動車用制御装置によれば、クランクの回転角度が予め定める角度範囲外においても、人力駆動力を推定することができるので、連続的に人力駆動力を検出しなくてもよい。人力駆動車の状態、人力駆動車の仕様、人力駆動車の搭乗者の搭乗状態、人力駆動車の搭乗者の身体的特徴、および、人力駆動車の走行環境の少なくとも１つに応じて、適切な角度における人力駆動力を用いて、予め定める角度範囲外における人力駆動力を推定することができる。
【発明の効果】
【００２７】
本開示の人力駆動車用制御装置は、人力駆動車の推進をアシストするモータを、少ない実測データを用いて制御できる。
【図面の簡単な説明】
【００２８】
【図１】人力駆動車の側面図。
【図２】第１実施形態に係る人力駆動車用制御装置を含む人力駆動車の電気的構成を示すブロック図。
【図３】ドライブユニットの構成を模式的に示す断面図。
【図４】人力駆動力の波形をプロットした図。
【図５】クランクの回転角度を説明する図。
【図６】第１実施形態に係る人力駆動車用制御装置におけるトルク算出処理のフローチャート。
【図７】人力駆動力とモータの出力トルクとの関係を示す図。
【図８】出力トルクの一例を示す図。
【図９】第２実施形態に係る人力駆動車用制御装置を含む人力駆動車の電気的構成を示すブロック図。
【図１０】予め定める角度範囲の位相の変更の一例を示す図。
【図１１】人力駆動力の波形と、モータの出力トルクの波形との関係の一例を示す図。
【図１２】人力駆動力の波形と、モータの出力トルクの波形との関係の他の例を示す図。
【図１３】予め定める角度範囲の幅の一例を示す図。
【図１４】予め定める角度範囲の数の第１の例を示す図。
【図１５】ビンディングペダルの装着時に使用される関係式の波形の一例を示す図。
【図１６】第５実施形態に係る人力駆動車用制御装置におけるトルク算出処理のフローチャート。
【図１７】第６実施形態に係る人力駆動車用制御装置におけるトルク算出処理のフローチャート。
【発明を実施するための形態】
【００２９】
＜第１実施形態＞
図１〜図８を参照して、実施形態の人力駆動車用制御装置６０について説明する。以後、人力駆動車用制御装置６０を、単に制御装置６０と記載する。制御装置６０は、人力駆動車１０に設けられる。人力駆動車１０は、少なくとも人力駆動力Ｈによって駆動することができる車である。人力駆動車１０は、車輪の数が限定されず、例えば１輪車および３輪以上の車輪を有する車も含む。人力駆動車１０は、例えばマウンテンバイク、ロードバイク、シティバイク、カーゴバイク、および、リカンベントなど種々の種類の自転車、ならびに、電動アシスト自転車（Ｅ−ｂｉｋｅ）を含む。本実施形態では、人力駆動車１０を自転車として説明する。
【００３０】
図１に示されるとおり人力駆動車１０は、クランク１２および駆動輪１４を備える。人力駆動車１０は、フレーム１６をさらに備える。人力駆動車１０は、サドル１６Ｄをさらに含む。サドル１６Ｄは、フレーム１６のシートチューブに装着される。クランク１２には、人力駆動力Ｈが入力される。クランク１２は、フレーム１６に対して回転可能なクランク軸１２Ａを含む。クランク１２は、第１クランクアーム１２Ｂおよび第１クランクアーム１２Ｂとは回転位相が１８０度異なる第２クランクアーム１２Ｃを含む。第１クランクアーム１２Ｂは、クランク軸１２Ａの軸方向の第１端部に設けられる。第２クランクアーム１２Ｃは、クランク軸１２Ａの軸方向において第１端部とは反対側の第２端部に設けられる。第１クランクアーム１２Ｂおよび第２クランクアーム１２Ｃそれぞれには、ペダル１８が連結される。駆動輪１４は、クランク１２が回転することによって駆動される。駆動輪１４は、フレーム１６に支持される。クランク１２と駆動輪１４とは、駆動機構２０によって連結される。駆動機構２０は、クランク軸１２Ａに結合される第１回転体２２を含む。本実施形態では、クランク軸１２Ａと第１回転体２２とは、一体に回転するように結合される。クランク軸１２Ａと第１回転体２２とは、第１ワンウェイクラッチを介して結合されていてもよい。第１ワンウェイクラッチは、クランク１２が前転した場合に、第１回転体２２を前転させ、クランク１２が後転した場合に、第１回転体２２を後転させないように構成される。第１回転体２２は、スプロケット、プーリ、または、ベベルギアを含む。駆動機構２０は、第２回転体２４と、連結部材２６とをさらに含む。連結部材２６は、第１回転体２２の回転力を第２回転体２４に伝達する。連結部材２６は、例えば、チェーン、ベルト、または、シャフトを含む。
【００３１】
第２回転体２４は、駆動輪１４に連結される。第２回転体２４は、スプロケット、プーリ、または、ベベルギアを含む。第２回転体２４と駆動輪１４との間には、第２ワンウェイクラッチが設けられていることが好ましい。第２ワンウェイクラッチは、第２回転体２４が前転した場合に、駆動輪１４を前転させ、第２回転体２４が後転した場合に、駆動輪１４を後転させないように構成される。
【００３２】
人力駆動車１０は、前輪および後輪を含む。フレーム１６には、フロントフォーク１６Ａを介して前輪が取り付けられている。フロントフォーク１６Ａには、ハンドルバー１６Ｃがステム１６Ｂを介して連結されている。以下の実施形態では、後輪を駆動輪１４として説明するが、前輪が駆動輪１４であってもよい。
【００３３】
人力駆動車１０は、バッテリ２８をさらに含む。バッテリ２８は、１または複数のバッテリセルを含む。バッテリセルは、充電池を含む。バッテリ２８は、人力駆動車１０に設けられ、バッテリ２８と有線で電気的に接続されている他の電気部品、例えば、モータ３２および制御装置６０に電力を供給する。バッテリ２８は、制御装置６０の制御部６２と有線または無線によって通信可能に接続されてもよい。バッテリ２８は、例えば電力線通信（ＰＬＣ；power line communication）によって制御部６２と通信可能であってもよい。バッテリ２８は、フレーム１６の外部に取り付けられてもよく、少なくとも一部がフレーム１６の内部に収容されてもよい。
【００３４】
図２に示されるとおり人力駆動車１０は、人力駆動車用コンポーネント３０を含む。人力駆動車用コンポーネント３０は、人力駆動車１０の推進をアシストするためのモータ３２を含む。制御装置６０の制御部６２は、人力駆動車用コンポーネント３０と有線または無線通信によって接続可能に構成される。人力駆動車１０は、複数の人力駆動車用コンポーネント３０を含んでいてもよい。人力駆動車１０が複数の人力駆動車用コンポーネント３０を含む場合、制御部６２は、複数の人力駆動車用コンポーネント３０のそれぞれと有線または無線通信によって接続されてもよく、共通の通信線によって複数の人力駆動車用コンポーネント３０のそれぞれと有線通信によって接続されてもよい。
【００３５】
人力駆動車用コンポーネント３０は、ドライブユニット３０Ａを含む。モータ３２は、ドライブユニット３０Ａに含まれる。人力駆動車１０は、モータ３２の駆動回路３４をさらに含む。駆動回路３４は、ドライブユニット３０Ａに含まれる。モータ３２および駆動回路３４は、同一のハウジングに設けられることが好ましい。駆動回路３４は、バッテリ２８からモータ３２に供給される電力を制御する。駆動回路３４は、制御部６２と有線または無線によって通信可能に接続されている。駆動回路３４は、例えばシリアル通信によって制御部６２と通信可能である。駆動回路３４は、制御部６２からの制御信号に応じてモータ３２を駆動させる。モータ３２は、人力駆動車１０の推進をアシストするように構成される。モータ３２は、電気モータを含む。モータ３２は、ペダル１８から後輪までの人力駆動力Ｈの動力伝達経路、または、前輪に回転を伝達するように設けられる。モータ３２は、人力駆動車１０のフレーム１６、後輪、または、前輪に設けられる。本実施形態では、モータ３２は、クランク軸１２Ａから第１回転体２２までの動力伝達経路に結合される。モータ３２とクランク軸１２Ａとの間の動力伝達経路には、クランク軸１２Ａを人力駆動車１０が前進する方向に回転させた場合にクランク１２の回転力によってモータ３２が回転しないようにワンウェイクラッチが設けられるのが好ましい。本実施形態では、クランク軸１２Ａは、出力部３６に結合する。出力部３６には第１回転体２２が結合される。クランク軸１２Ａが第１ワンウェイクラッチを介して第１回転体２２に接続される場合、たとえばクランク軸１２Ａと出力部３６との間に第１ワンウェイクラッチが設けられてもよく、出力部３６を分割して構成し、分割した部分の間に第１ワンウェイクラッチが設けられてもよい。モータ３２および駆動回路３４が設けられるハウジングには、モータ３２および駆動回路３４以外の構成が設けられてもよく、例えばモータ３２の回転を減速して出力する減速機３８が設けられてもよい。減速機３８は、たとえば複数のギアを含む。減速機３８は、出力部３６に設けられるギア３６Ａを含む。減速機３８は、モータ３２の回転力を出力部３６に伝達する。
【００３６】
人力駆動車１０は、制御装置６０を含む。制御装置６０は、クランク１２を有する人力駆動車１０の推進をアシストするモータ３２を、クランク１２に入力される人力駆動力Ｈに応じて制御する制御部６２を含む。
制御部６２は、予め定められる制御プログラムを実行する演算処理装置を含む。演算処理装置は、例えばＣＰＵ（Central Processing Unit）またはＭＰＵ（Micro Processing Unit）を含む。制御部６２は、１または複数のマイクロコンピュータを含んでいてもよい。制御部６２は、複数の場所に離れて配置される複数の演算処理装置を含んでいてもよい。制御装置６０は、記憶部６４をさらに含む。記憶部６４には、各種の制御プログラムおよび各種の制御処理に用いられる情報が記憶される。記憶部６４は、例えば不揮発性メモリおよび揮発性メモリを含む。制御部６２および記憶部６４は、例えばモータ３２が設けられるハウジングに設けられる。
【００３７】
制御装置６０は、さらに、クランク回転センサ６６、車速センサ６８、および、クランク角度センサ７０を含むことが好ましい。
【００３８】
クランク回転センサ６６は、人力駆動車１０のクランク１２の回転速度を検出するために用いられる。クランク回転センサ６６は、例えば人力駆動車１０のフレーム１６またはモータ３２が設けられるハウジングに取り付けられる。クランク回転センサ６６は、磁界の強度に応じた信号を出力する磁気センサを含んで構成される。周方向に磁界の強度が変化する環状の磁石が、クランク軸１２Ａまたはクランク軸１２Ａから第１回転体２２までの間の動力伝達経路で、クランク軸１２Ａと一体に回転する部分に設けられる。クランク回転センサ６６は、制御部６２と有線または無線によって通信可能に接続されている。クランク回転センサ６６は、クランク１２の回転速度に応じた信号を制御部６２に出力する。クランク回転センサ６６は、クランク軸１２Ａから第１回転体２２までの人力駆動力Ｈの動力伝達経路において、クランク軸１２Ａと一体に回転する部材に設けられてもよい。例えば、クランク回転センサ６６は、クランク軸１２Ａと第１回転体２２との間に第１ワンウェイクラッチが設けられない場合、第１回転体２２に設けられてもよい。クランク回転センサ６６は、人力駆動車１０の車速を検出するために用いられてもよい。この場合、制御部６２は、クランク回転センサ６６によって検出されるクランク１２の回転速度と換算比率Ｒとに基づいて、駆動輪１４の回転速度を算出し、駆動輪１４の回転速度から人力駆動車１０の車速を検出する。換算比率Ｒは、記憶部６４に予め記憶されている。換算比率Ｒは、クランク１２の回転速度に対する駆動輪１４の回転速度の比を表す。人力駆動車１０に変速機が設けられる場合、制御部６２は、変速機の変速比ごとの換算比率Ｒを記憶することが好ましい。クランク回転センサ６６は、クランク１２の回転角度を検出するために用いられてもよい。たとえばクランク回転センサ６６が、磁界の強度に応じた信号を出力する磁気センサを含んで構成される場合、信号の出力がクランク１２の回転角度に対応するので、クランク１２の回転角度を検出するために用いることができる。クランク回転センサ６６は、クランク１２の回転速度を検出することができれば、いずれのセンサを含んでいてもよい。
【００３９】
車速センサ６８は、車輪の回転速度を検出するために用いられる。車速センサ６８は、有線または無線によって制御部６２と電気的に接続されている。車速センサ６８は、制御部６２と有線または無線によって通信可能に接続されている。本実施形態では、車速センサ６８は、車輪の回転速度に応じた信号を制御部６２に出力する。制御部６２は、車輪の回転速度に基づいて人力駆動車１０の車速を演算する。車速センサ６８は、リードスイッチを構成する磁性体リード、または、ホール素子を含むことが好ましい。車速センサ６８は、フレーム１６のチェーンステイに取り付けられ、後輪に取り付けられる磁石を検出する構成としてもよく、フロントフォーク１６Ａに設けられ、前輪に取り付けられる磁石を検出する構成としてもよい。車速センサ６８は、ＧＰＳ受信部を含んでいてよい。この場合、制御部６２は、ＧＰＳ受信部によって取得したＧＰＳ情報と、記憶部６４に予め記録されている地図情報と、時間とに応じて、人力駆動車１０の車速を検出してもよい。制御部６２は、時間を計るための計時回路を含むことが好ましい。車速センサ６８は、車輪の回転速度、または、人力駆動車１０の車速を検出することができれば、いずれのセンサを含んでいてもよい。
【００４０】
クランク角度センサ７０は、クランク１２の回転角度を検出するために用いられる。クランク角度センサ７０は、有線または無線によって制御部６２と電気的に接続されている。クランク角度センサ７０は、クランク１２が予め定める回転角度に位置するとき、制御部６２に所定の信号を出力する。クランク角度センサ７０は、スイッチ、またはエンコーダを含む。スイッチは、たとえば磁気スイッチを含む。磁気スイッチは、たとえばクランク軸１２Ａ、出力部３６、または、第１回転体２２に設けられる被検出部の磁気を検出するように構成される。被検出部は、クランク１２が予め定める回転角度に位置するとき、磁気センサによって検出されるように、クランク軸１２Ａに配置される。エンコーダは、たとえばロータリエンコーダを含む。クランク角度センサ７０は、クランク１２の回転角度を検出することができれば、どのようなセンサを含んでいてもよい。
【００４１】
制御装置６０は、人力駆動力Ｈを検出する検出部７２を含む。検出部７２は、人力駆動力ＨのトルクＴＨに関する物理量を検出するために用いられる。検出部７２は、人力駆動力Ｈに関する信号を出力する。人力駆動力Ｈに関する信号は、実測データを含む。人力駆動力ＨのトルクＴＨに関する物理量は、クランク１２に入力される人力駆動力Ｈに基づく出力部３６の歪みを含む。本実施形態では、検出部７２は、出力部３６の歪みを検出する。この場合、検出部７２は、出力部３６または出力部３６の周囲に設けられる。検出部７２は、歪センサまたは磁歪センサなどセンサを含む。歪センサは、歪ゲージを含む。好ましくは、検出部７２は、出力部３６のうち、クランク軸１２Ａに接続される部分と、モータ３２または減速機３８に接続される部分との間の部分の歪みを検出するように構成される。
【００４２】
図３に示されるように、歪センサは、好ましくは、動力伝達経路に含まれる出力部３６の外周部に設けられる。検出部７２は、人力駆動力Ｈに関する信号を有線で制御部６２に送信してもよい。検出部７２は、人力駆動力Ｈに関する信号を無線で制御部６２に送信してもよい。検出部７２が信号を無線で制御部６２に送信する場合、検出部７２は、無線の通信部７４を含む。例えば、検出部７２と制御部６２とは、電磁誘導方式または共鳴方式によって通信する。検出部７２の通信部７４のアンテナは、制御部６２のアンテナに対向するように配置される。検出部７２の通信部７４のアンテナは、基板７４Ａに設けられる。制御部６２のアンテナは、例えば、制御部６２および駆動回路３４を実装する基板３４Ａに設けられる。制御部６２のアンテナは、コイルを含む。検出部７２の通信部７４のアンテナは、コイルを含む。
【００４３】
制御部６２は、人力駆動車用コンポーネント３０を制御する。具体的には、制御部６２は、モータ３２を制御する。制御部６２は、人力駆動車１０に入力される人力駆動力Ｈに応じてモータ３２を制御するように構成される。制御部６２は、クランク１２に入力される人力駆動力Ｈに対するモータ３２による出力トルクの比率Ｘが、予め定める比率ＸＡになるようにモータ３２を制御するように構成される。予め定める比率ＸＡは、一定値であってもよく、人力駆動力Ｈに応じて変化する値であってもよく、車速に応じて変化する値であってもよく、クランク１２の回転速度によって変化する値であってもよい。人力駆動力Ｈは、人力駆動力ＨのトルクＴＨまたは人力駆動力Ｈの仕事率（ワット）を含む。人力駆動車１０に入力される人力駆動力ＨのトルクＴＨに対するモータ３２による出力トルクの比率ＸＴを、比率Ｘと記載する場合がある。人力駆動車１０に入力される人力駆動力Ｈの仕事率（ワット）に対するモータ３２による出力トルクの仕事率（ワット）の比率ＸＷを、比率Ｘと記載する場合がある。人力駆動力Ｈの仕事率は、クランク１２に入力される人力駆動力ＨのトルクＴＨとクランク１２の回転速度との乗算によって算出される。モータ３２の出力が減速機３８を介して人力駆動力Ｈの動力伝達経路に入力される場合は、減速機３８の出力を、モータ３２による出力トルクとする。制御部６２は、車速が、予め定める速度以上になると、モータ３２によるアシストを停止する。予め定める速度は、例えば２５ｋｍ／ｈ、または４５ｋｍ／ｈである。制御部６２は、予め定める比率ＸＡが異なる複数のモードでモータ３２を制御するようにしてもよい。制御部６２は、モータ３２の出力トルクが最大値以下になるようにモータ３２を制御する。最大値は、予め定める比率ＸＡが異なる複数のモードでモータ３２を制御する場合、モードごとに異なる値が設定されていてもよい。
【００４４】
制御部６２は、人力駆動力Ｈに加えてまたは代えて、車速、人力駆動車１０の走行路の勾配、クランク１２の回転速度、人力駆動車１０の走行する位置に関する地図データ、人力駆動車１０の走行地域の天候、人力駆動車１０の走行路の路面状態、人力駆動車１０の走行抵抗の少なくとも１つに応じて、モータ３２を制御してもよい。
【００４５】
制御部６２は、モータ３２を、クランク１２に入力される人力駆動力Ｈに応じて制御する。具体的には、制御部６２は、モータ３２が人力駆動力Ｈに応じた出力トルクを出すように、モータ３２を制御する。人力駆動力Ｈは、クランク１２の回転に伴って変化する。このため、モータ３２の出力トルクは、人力駆動力Ｈの変化に応じて変化する。
【００４６】
本実施形態では、制御部６２は、クランク１２の回転角度がクランク１２の回転方向に相互に離間している複数の予め定める角度範囲ＡＲにある場合に得られる人力駆動力Ｈに応じて、クランク１２の回転角度が複数の予め定める角度範囲ＡＲ外にある場合において、出力トルクが変化するようにモータ３２を制御する。
本実施形態では、制御部６２は、クランク１２に入力される人力駆動力Ｈを推定する。制御部６２は、クランク１２の回転角度がクランク１２の回転方向に相互に離間している複数の予め定める角度範囲ＡＲの一つにある場合における人力駆動力Ｈに応じて、クランク１２の回転角度が複数の予め定める角度範囲ＡＲ外の場合における人力駆動力Ｈを推定する。
【００４７】
図７に示すように、人力駆動力Ｈは、クランク１２が１回転する期間を１周期として周期的に変化する。クランク１２のクランクアームの一方を上死点に配置し、クランクアームの他方を下死点に配置した状態をクランク１２の回転角度が０°であると定義すると、典型的には、人力駆動力Ｈは、クランク１２の回転角度が０°から３６０°まで変化する間に、第１の最小値から第１の最大値に変化し、その後、第２の最小値に変化し、さらにその後、第２の最大値に変化して、その後再び第１の最小値に変化する。図７では、第１の最小値および第２の最小値をゼロ（０）としている。制御部６２は、人力駆動力Ｈの変化に応じてモータ３２の出力トルクを変化させる。人力駆動力Ｈの周期的な変化を推定することによって、クランク１２の一部の角度範囲において人力駆動力Ｈを取得していなくても、モータ３２の出力トルクを算出できる。
【００４８】
好ましくは、制御部６２は、周期的な振幅を有する波形の一部を用いて、クランク１２の回転角度が予め定める角度範囲ＡＲ外の場合における人力駆動力Ｈを推定する。
図４に示されるように、人力駆動力Ｈの周期的な変化は、周期を有する波形に近似して表すことができる。周期を有する波形は、たとえば正弦波で表される。クランクアーム１２Ｂ，１２Ｃが上死点および下死点に位置するときのクランク１２の回転角度に、周期を有する波形の最小ピークを対応させるか、または、クランクアーム１２Ｂ，１２Ｃが上死点および下死点から９０°離れて位置するときのクランク１２の回転角度に、周期を有する波形の最大ピークを対応させることによって、予め定めるクランク１２の回転角度における人力駆動力Ｈに基づいて、人力駆動力Ｈを推定するために用いられる周期を有する波形を定義できる。定義された波形に基づいて、予め定めるクランク１２の回転角度以外の回転角度における人力駆動力Ｈを推定できる。人力駆動力Ｈを推定するために用いられる周期を有する波形は、例えば、クランク１２の回転角度に関する関係式として定義される。
【００４９】
クランク１２の回転角度に関する関係式は、次の（１）式、および、（１）式を変形した（２）式を含む。（１）式は、クランク１２の回転角度に対する人力駆動力Ｈを示す。（１）式は、人力駆動力Ｈを推定するために用いられる周期を有する波形を示す。
Ｙ＝Ａ｛ｓｉｎ（２θ−π／２）＋１｝・・・・（１）
Ａ＝Ｙ／｛ｓｉｎ（２θ−π／２）＋１｝・・・・（２）
【００５０】
Ｙは、人力駆動力Ｈを表す。θは、クランク１２の回転角度を表す。（２）式においてＹには、予め定める回転角度における人力駆動力Ｈが入力される。（２）式においてθには、予め定める回転角度が入力される。（２）式によって定数Ａを決定できる。（２）式によって決定された定数Ａは（１）式に代入される。（１）式で定数Ａが決定されると、クランク１２の各回転角度における人力駆動力Ｈの推定値を算出できる。クランク１２の回転角度に関する関係式は、たとえば記憶部６４に記憶されている。
【００５１】
図５を参照して、クランク１２の回転角度の定義を説明する。人力駆動車１０を水平面に置いた状態で、一方のクランクアームが上死点に対応する位置に配置された状態におけるクランク１２の回転角度をゼロ（０）とする。クランク１２の回転角度は、クランク１２の回転角度がゼロに対応する位置から、回転中心軸線Ｃ１まわりの第１方向ＤＡへの角度ＴＡによって定義される。クランク１２の回転角度は、たとえば、回転中心軸線Ｃ１とクランクアームのペダル取り付け孔の中心軸線Ｃ２を含む平面をクランク１２の基準面として定義される。
【００５２】
制御部６２は、クランク１２の回転角度を取得する。本実施形態では、制御部６２は、クランク１２が予め定める回転角度にあることを検出するクランク角度センサ７０の信号を受信することによって、クランク１２の回転角度を取得する。クランク角度センサ７０は、クランク軸１２Ａ、第１クランクアーム１２Ｂまたは第２クランクアーム１２Ｃの近傍において、クランク１２が予め定める回転角度にあることを検出できるところに、配置される。制御部６２は、別の方法で、クランク１２の回転角度を取得してもよい。例えば、制御部６２は、クランク１２が基準回転角度にあるときのタイミングと、クランク１２の回転速度とに基づいて、クランク１２の回転角度を算出してもよい。クランク１２の基準回転角度は、例えば、第１クランクアーム１２Ｂまたは第２クランクアーム１２Ｃの上死点、下死点、上死点から所定角度だけ離れた所定角度、または、下死点から所定角度だけ離れた所定角度として定義される。例えば、制御部６２は、車速およびギア比に基づいてクランク１２の回転速度を算出し、クランク１２の回転速度と、クランク１２が所定の基準回転角度にあるときのタイミングとに基づいて、クランク１２の回転角度を算出してもよい。制御部６２は、例えば、クランク１２の回転角度をリアルタイムに検出するセンサからクランク１２の回転角度を取得してもよい。
【００５３】
例えば、複数の予め定める角度範囲ＡＲは、第１の角度範囲ＡＲ１および第２の角度範囲ＡＲ２を含む。好ましくは、第１の角度範囲ＡＲ１は、クランク１２が第１方向ＤＡに回転する場合において、第１クランクアーム１２Ｂが上死点から下死点に移動する範囲に設けられる。好ましくは、第２の角度範囲ＡＲ２は、クランク１２が第１方向ＤＡに回転する場合において、第２クランクアーム１２Ｃが上死点から下死点に移動する範囲に設けられる。
【００５４】
本実施形態では、人力駆動車１０を水平面に置いた状態において、第１クランクアーム１２Ｂが上死点にあり、第２クランクアーム１２Ｃが下死点にあるときの、クランク１２の回転角度を、０°とする。人力駆動車１０のフレーム１６に対する第１クランクアーム１２Ｂおよび第２クランクアーム１２Ｃの上死点および下死点の位置は、人力駆動車１０のピッチ角度に応じて変化するので、人力駆動車１０のピッチ角度を検出するセンサを設け、第１クランクアーム１２Ｂおよび第２クランクアーム１２Ｃの上死点および下死点の位置がずれないように人力駆動車１０のピッチ角度に応じて、クランク角度センサ７０によって検出されるクランク１２の回転角度を補正してもよい。
【００５５】
第１の角度範囲ＡＲ１は、クランク１２が第１方向ＤＡに回転する場合において、第１クランクアーム１２Ｂが上死点から９０°回転した角度を含む。第２の角度範囲ＡＲ２は、クランク１２が第１方向ＤＡに回転する場合において、第２クランクアーム１２Ｃが上死点から９０°回転した角度を含む。本実施形態では、第１の角度範囲ＡＲ１は、クランク１２の回転角度が９０°を含む範囲であり、第２の角度範囲ＡＲ２は、クランク１２の回転角度が２７０°を含む範囲である。例えば、第１の角度範囲ＡＲ１は、第１クランクアーム１２Ｂが上死点から９０°の回転角度のみを含んでいてもよい。例えば、第２の角度範囲ＡＲ２は、第２クランクアーム１２Ｃが上死点から９０°の回転角度のみを含んでいてもよい。
【００５６】
図６を参照して、制御部６２のトルク算出処理について説明する。制御部６２は、トルク算出処理を実行することによってモータ３２の出力トルクの目標値を算出する。検出部７２は、人力駆動力Ｈに関する信号を無線で制御部６２に送信してもよい。人力駆動力Ｈに関する信号は、出力部３６の歪みに関する実測データを含む。
【００５７】
制御部６２は、トルク算出処理を実行する。トルク算出処理は、次の、ステップＳ１１〜ステップＳ１６を含む。制御部６２は、トルク算出処理を開始すると、ステップＳ１１において、クランク角度センサ７０の検出結果に応じて、クランク１２の回転角度が予め定める角度範囲ＡＲであるか否かを判定する。制御部６２は、ステップＳ１１においてクランク１２の回転角度が予め定める角度範囲ＡＲにあると判定すると、ステップＳ１２に移る。制御部６２は、ステップＳ１１においてクランク１２の回転角度が予め定める角度範囲ＡＲではないと判定すると、ステップＳ１１を繰り返す。
制御部６２は、ステップＳ１２において、検出部７２から実測データを受信し、ステップＳ１３に移る。制御部６２は、ステップＳ１３において、ステップＳ１２において受信される実測データに基づいて予め定める角度範囲ＡＲの人力駆動力Ｈを算出し、人力駆動力Ｈに基づいて目標の出力トルクを算出して、ステップＳ１４に移る。
制御部６２は、ステップＳ１４において、クランク角度センサ７０の検出結果に応じて、クランク１２の回転角度が予め定める角度範囲ＡＲ外であるか否かを判定する。制御部６２は、クランク１２の回転角度が予め定める角度範囲ＡＲ外であると判定すると、ステップＳ１５に移り、クランク１２の回転角度が予め定める角度範囲ＡＲであると判定すると、ステップＳ１２に移る。
【００５８】
制御部６２は、ステップＳ１５において、予め定める角度範囲ＡＲの人力駆動力Ｈと、クランク１２の回転角度に関する関係式と、に基づいて、予め定める角度範囲ＡＲ外の人力駆動力Ｈを推定する。具体的には、ステップＳ１２で受信される実測データから、次にクランク１２の回転角度が予め定める角度範囲ＡＲ内になるまでの間の角度範囲における人力駆動力Ｈを、関係式を用いて推定する。例えば、予め定める角度範囲ＡＲが、第１の角度範囲ＡＲ１と第２の角度範囲ＡＲ２とを含み、第１の角度範囲ＡＲ１が９０°であり、第２の角度範囲ＡＲ２が２７０°である場合、制御部６２は、第１の角度範囲ＡＲ１における人力駆動力Ｈに応じて、９１°〜２６９°の範囲の人力駆動力Ｈを推定し、２の角度範囲ＡＲ２が２７０°における人力駆動力Ｈに応じて、２７１°〜８９°の範囲の人力駆動力Ｈを推定する。以下、制御部６２によって推定される人力駆動力Ｈを、人力駆動力ＨＥとする。
【００５９】
制御部６２は、ステップＳ１６において、ステップＳ１５で推定される人力駆動力ＨＥに基づいて目標の出力トルクを算出する。例えば、制御部６２は、予め定める比率ＸＡと、推定される人力駆動力Ｈとの乗算の値を、目標値の出力トルクとして算出する。
【００６０】
図７を参照して、人力駆動力Ｈ、人力駆動力ＨＥ、およびモータ３２の出力トルクの関係について説明する。図７（Ａ）は、クランク１２の回転角度と、人力駆動力Ｈとの関係を示す。図７（Ｂ）は、クランク１２の回転角度と、人力駆動力ＨＥとの関係を示す。図７（Ｃ）は、クランク１２の回転角度と、モータ３２の出力トルクとの関係を示す。
平地を走る人力駆動車１０では、たとえば図７（Ａ）に示されるように、人力駆動力Ｈは、クランク１２の回転角度が０°、１８０°のとき、最小となり、９０°、２７０°のとき最大となる。本実施形態では、人力駆動力Ｈの最小値をゼロ（０）として説明する。本実施形態では、クランク１２の回転角度が９０°と２７０°であるときに、検出部７２によって人力駆動力Ｈを検出する。制御部６２は、関係式の（１）式および（２）式と、クランク１２の回転角度が９０°と２７０°のときの人力駆動力Ｈとに基づいて、クランク軸１２Ａに加わる人力駆動力Ｈを推定する。図７（Ｂ）において、クランク１２の回転角度が９０°と２７０°であるときに、検出部７２によって検出される人力駆動力Ｈを黒点で示す。制御部６２によって推定される人力駆動力ＨＥの波形は、人力駆動力Ｈの波形に類似する。制御部６２は、検出部７２によって検出される人力駆動力Ｈ、または、推定される人力駆動力ＨＥと、予め定める比率ＸＡとに基づいて、モータ３２の出力トルクを決定する。図７に示されるように、クランク１２の回転角度について、人力駆動力Ｈのピークとモータ３２の出力トルクのピークとは一致する。このようにして、人力駆動力Ｈに応じた出力トルクがモータ３２から出力される。
【００６１】
本実施形態では、制御部６２は、クランク１２が予め定める角度範囲ＡＲのときだけ人力駆動力Ｈに関する信号を検出部７２から取得する。制御部６２は、クランク１２が予め定める角度範囲ＡＲ外にあるとき、人力駆動力Ｈに関する信号を検出部７２から取得しない。これによって、検出部７２から信号を取得するときの演算処理が軽減される。例えば、クランク１２の１周期における、検出部７２から出力される信号からのノイズを除去する演算処理の負担を少なくできる。ノイズを除去する演算処理は、信号の平滑化処理を含む。
【００６２】
図８を参照して、クランク１２に回転に伴って人力駆動力Ｈが減少するときの、モータ３２の出力トルクの推移の一例について説明する。クランク１２の回転角度が９０°のとき、検出部７２によって人力駆動力Ｈが検出され、以後、クランク１２の回転角度が１８０°回転する毎に、検出部７２によって人力駆動力が検出される。図７（Ｂ）で説明したように、クランク１２の回転角度が９１°〜２６９°の第３の角度範囲の人力駆動力ＨＥは、クランク１２の回転角度が９０°のときの人力駆動力Ｈに応じて決定される。
クランク１２の回転角度が２７１°〜４４９°である第４の角度範囲の人力駆動力ＨＥは、クランク１２の回転角度が２７０°のときの人力駆動力Ｈに応じて決定される。クランク１２の回転角度が２７０°のときの人力駆動力Ｈが、クランク１２の回転角度が９０°のときの人力駆動力Ｈよりも小さくなると、人力駆動力ＨＥの振幅が小さくなるので、図８の２点鎖線に示されるように、第３の角度範囲における出力トルクの振幅Ｔ１と、第４の角度範囲における出力トルクの振幅Ｔ２とに段差が生じる。制御部６２は、出力トルクが急に変化しないように、人力駆動力ＨＥまたはモータ３２の目標の出力トルクにフィルタ処理を行ってもよい。
制御部６２は、クランク１２の回転が停止すると、モータ３２を停止させる。制御部６２は、クランク１２の回転の停止に伴ってモータ３２を停止させる場合、クランク１２の回転が停止した後に、モータ３２の回転数が徐々に小さくなるようにモータ３２を制御してもよい。
図６の制御部６２のトルク算出処理は、たとえば、制御部６２に電力が供給されると開始されてもよく、モータ３２が人力駆動車１０の推進をアシストしない非アシストモードから、モータ３２が人力駆動車１０の推進をアシストするアシストモードに制御モードが変更されると開始されてもよい。図６の制御部６２のトルク算出処理は、たとえば、制御部６２への電力の供給が停止されるか、アシストモードから、非シストモードに制御モードが変更されるまで、処理を繰り返し、制御部６２への電力の供給が停止されるか、アシストモードから、非シストモードに制御モードが変更されると、終了する。
【００６３】
＜第２実施形態＞
図９〜図１３を参照して、第２実施形態に係る制御装置６０を説明する。第１実施形態と共通する構成については、第１実施形態と同一の符号を付し、重複する説明を省略する。
【００６４】
図９に示されるように、人力駆動車１０は、好ましくは、第１実施形態に示された構成に加えて、入力装置４０をさらに含む。入力装置４０は、人力駆動車１０に着脱可能に設けられてもよい。制御部６２は、入力装置４０と有線または無線通信によって通信可能に構成される。制御部６２が入力装置４０と有線通信によって通信可能に構成される場合、制御部６２と入力装置４０とは、例えば電力線通信によって接続される。制御部６２が入力装置４０と有線通信によって接続可能に構成される場合、入力装置４０、制御部６２、および、制御部６２と入力装置４０とを接続するための通信線のいずれか１つに、入力装置４０と制御部６２とを有線接続するためのポート部が設けられる。制御部６２が入力装置４０と無線通信によって接続可能に構成される場合、制御部６２および入力装置４０のそれぞれには、無線通信部が設けられる。無線通信の規格の一例は、ＡＮＴ＋（登録商標）またはＢｌｕｅｔｏｏｔｈ（登録商標）である。
【００６５】
入力装置４０は、１または複数の操作装置４２を含む。操作装置４２は、制御部６２に出力信号を送信する。操作装置４２は、プッシュスイッチ、レバー式スイッチ、および、タッチパネルの少なくとも１つを含んで構成されていてもよい。入力装置４０は、たとえば、レバースイッチ、サイクルコンピュータ、携帯電話、および、スマートフォンの１つを含む。
制御装置６０は、好ましくは、ペダル荷重センサ７６をさらに含む。ペダル荷重センサ７６は、搭乗者の搭乗状態を検出するために用いられる。ペダル荷重センサ７６は、ペダル１８またはクランク１２に設けられる。ペダル荷重センサ７６は、ペダル１８に加わる荷重を検出する。
制御装置６０は、好ましくは、着座荷重センサ７８を含む。着座荷重センサ７８は、着座状態を検出する。着座荷重センサ７８は、サドル１６Ｄに加わる荷重を検出する。着座荷重センサ７８は、制御部６２と有線または無線によって接続される。
制御装置６０は、好ましくは、サドル位置センサ８０を含む。サドル位置センサ８０は、サドル１６Ｄの高さを検出する。サドル位置センサ８０は、制御部６２と有線または無線によって接続される。
制御装置６０は、好ましくは、周辺センサ８２を含む。周辺センサ８２は、ハンドルバー１６Ｃまたはフレーム１６に設けられる。周辺センサ８２は、たとえばカメラを含み、周辺センサ８２のカメラは、人力駆動車１０の前方エリアを撮影する。周辺センサは、レーダを含んでいてもよい。周辺センサ８２は、制御部６２と有線または無線によって接続される。
制御装置６０は、好ましくは、傾斜センサ８４を含む。傾斜センサ８４は、たとえばフレーム１６に設けられる。傾斜センサ８４は、ジャイロを含む。傾斜センサ８４は、人力駆動車１０の前後方向における傾斜角度、および人力駆動車１０の左右方向の傾斜角度の少なくとも一方を検出する。傾斜センサ８４は、制御部６２と有線または無線によって接続される。
制御装置６０は、好ましくは、風圧センサ８６を含む。制御装置６０は、好ましくは、風向きセンサをさらに含む。風圧センサ８６は、風圧を検出する。例えば、風圧センサ８６は、ハンドルバー１６Ｃまたはフレーム１６に設けられる。風圧センサ８６は、制御部６２と有線または無線によって接続される。
【００６６】
制御部６２は、操作装置４２が操作されることによって、人力駆動車１０の仕様、および、人力駆動車１０の搭乗者の身体的特徴の少なくとも１つを取得する。人力駆動車１０の仕様および搭乗者の身体的特徴については後述する。
【００６７】
第１実施形態と同様に、制御部６２は、クランク１２の回転角度がクランク１２の回転方向に相互に離間している複数の予め定める角度範囲ＡＲ内にある場合における人力駆動力Ｈに応じて、クランク１２の回転角度が複数の予め定める角度範囲ＡＲ外において、出力トルクが変化するようにモータ３２を制御する。
【００６８】
本実施形態では、複数の予め定める角度範囲ＡＲのうちの少なくとも１つの予め定める角度範囲ＡＲの位相は、変更可能である。具体的には、好ましくは、制御部６２は、人力駆動車１０の状態、人力駆動車１０の仕様、人力駆動車１０の搭乗者の搭乗状態、人力駆動車１０の搭乗者の身体的特徴、および、人力駆動車１０の走行環境の少なくとも１つに応じて、複数の予め定める角度範囲ＡＲの幅、位相、および、数の少なくとも１つを変更する。
【００６９】
予め定める角度範囲ＡＲの位相を変更する場合について説明する。例えば、予め定める角度範囲ＡＲの位相は、人力駆動力Ｈの波形の最大値の位相が予め定める角度範囲ＡＲに入るように、制御部６２によって変更される。人力駆動力Ｈの波形の最大値は、人力駆動車１０の状態、人力駆動車１０の仕様、人力駆動車１０の搭乗者の搭乗状態、人力駆動車１０の搭乗者の身体的特徴、および、人力駆動車１０の走行環境の少なくとも１つに応じて変わる。予め定める角度範囲ＡＲの位相は、ユーザの操作装置４２へ操作に応じて変更してもよい。制御部６２が予め定める角度範囲ＡＲを変更することによって、人力駆動力Ｈの波形の最大値を検出部７２によって確実に検出できるようになる。モータ３２の出力トルクの目標値を算出する場合、最大値を含む人力駆動力Ｈを用いることによって、モータ３２の出力トルクが不足してしまうことを抑制できる。
【００７０】
図１０には、予め定める角度範囲ＡＲを変更する場合の一例を示される。たとえば、初期状態において、予め定める第１の角度範囲ＡＲ１が、６０°〜１２０°の範囲に定められ、予め定める第２の角度範囲ＡＲ２が、２４０°〜３００°の範囲に定められている場合において、制御部６２は、第１の角度範囲ＡＲ１を、たとえば４０°〜１００°に変更し、第２の角度範囲ＡＲ２をおよび、たとえば２２０°〜２８０°の範囲に変更する。
【００７１】
図１１には、予め定める角度範囲ＡＲを変更する場合の他の例が示される。図１１（Ａ）は、人力駆動力Ｈが最大値となるクランク１２の回転角度が、９０°から上死点側にシフトしている状態の人力駆動力Ｈの波形の一例を示す。図１１（Ａ）に示すように人力駆動力Ｈが最大値となるクランク１２の回転角度が、９０°からずれる場合は、予め定める角度範囲ＡＲに人力駆動力Ｈの最大値が含まれるように、たとえば、図７（Ｂ）に示される予め定める角度範囲ＡＲ１、ＡＲ２を、図１１（Ａ）に示される予め定める角度範囲ＡＲ１´、ＡＲ２´に変更することが好ましい。好ましくは、制御部６２は、予め定める角度範囲ＡＲ１´、ＡＲ２´を変更するとともに、人力駆動力Ｈを算出するための関係式を、人力駆動力Ｈの波形に合致するような関係式に変更する。図１１（Ｂ）は、出力トルクの波形の一例を示す。人力駆動力Ｈが最大値となるクランク１２の回転角度が、９０°から上死点側にシフトする例として、リカンベントのように、クランク１２が搭乗者よりも前方に位置するような場合が挙げられる。
【００７２】
図１２には、予め定める角度範囲ＡＲを変更する場合の他の例が示される。図１２（Ａ）は、人力駆動力Ｈが最大値となるクランク１２の回転角度が、９０°から下死点側にシフトしている状態の人力駆動力Ｈの波形の一例を示す。図１２（Ａ）に示すように人力駆動力Ｈが最大値となるクランク１２の回転角度が、９０°からずれる場合は、予め定める角度範囲ＡＲに人力駆動力Ｈの最大値が含まれるように、たとえば、図７（Ｂ）に示される予め定める角度範囲ＡＲ１、ＡＲ２を、図１２（Ａ）に示される予め定める角度範囲ＡＲ１´、ＡＲ２´に変更することが好ましい。好ましくは、制御部６２は、予め定める角度範囲ＡＲ１´、ＡＲ２´を変更するとともに、人力駆動力Ｈを算出するための関係式を、人力駆動力Ｈの波形に合致するような関係式に変更する。図１２（Ｂ）は、出力トルクの波形の一例を示す。人力駆動力Ｈが最大値となるクランク１２の回転角度が、９０°から下死点側にシフトする例として、クランク１２が搭乗者よりも後ろ側に位置するような場合が挙げられる。
【００７３】
図１３は、図７（Ｂ）に示す場合と比較して、予め定める角度範囲ＡＲの幅を拡大した例を示す。第１の角度範囲ＡＲ１が９０°に定められている場合、制御部６２は、たとえば、第１の角度範囲ＡＲ１を８０°〜１００°に変更する。第２の角度範囲ＡＲ２が、２７０°に定められている場合、制御部６２は、たとえば第２の角度範囲ＡＲ２を２６０°〜２８０°に変更する。このように変更された第１の角度範囲ＡＲ１および第２の角度範囲ＡＲ２において、制御部６２は、検出部７２によって検出される人力駆動力Ｈと予め定める比率ＸＡとに基づいて目標の出力トルクを計算する。第１の角度範囲ＡＲ１から第２の角度範囲ＡＲ２までの間の角度範囲における人力駆動力ＨＥは、第１の角度範囲ＡＲ１において検出された人力駆動力Ｈの最大値と（１）式および（２）式とに基づいて、推定されてもよく、第１の角度範囲ＡＲ１のうちクランク１２の回転方向における最下流の角度における人力駆動力Ｈの値と、（１）式および（２）式とに基づいて推定されてもよく、第１の角度範囲ＡＲ１の全範囲の波形から推定されてもよい。同様に、第２の角度範囲ＡＲ２から次の周期の第１の角度範囲ＡＲ１までの間の角度範囲における人力駆動力ＨＥは、第２の角度範囲ＡＲ２において検出された人力駆動力Ｈの最大値と（１）式および（２）式とに基づいて、推定されてもよく、第２の角度範囲ＡＲ２のうちクランク１２の回転方向における最下流の角度における人力駆動力Ｈの値と、（１）式および（２）式とに基づいて推定されてもよく、第２の角度範囲ＡＲ２の全範囲の波形から推定されてもよい。予め定める角度範囲ＡＲの幅が大きくなるように変更する場合、人力駆動力ＨＥの推定範囲が狭くなるため、たとえば人力駆動力Ｈが急激に変化する場合に、モータ３２の出力トルクを人力駆動力Ｈに追従させやすくなる。予め定める角度範囲ＡＲの幅が小さくなるように変更する場合、人力駆動力ＨＥの推定範囲が広くなるため、たとえば制御部６２の処理の負荷を低減することができる。
【００７４】
制御部６２は、予め定める角度範囲ＡＲ変更を、ユーザの操作装置４２へ操作に応じて変更してもよく、車両関連情報に応じて変更してもよい。
【００７５】
予め定める角度範囲ＡＲの数は、ユーザの操作装置４２へ操作に応じて変更してもよく、車両関連情報に応じて変更してもよい。予め定める角度範囲ＡＲの数は、好ましくは、人力駆動力Ｈの不規則な変化の多さに応じて変更される。例えば、人力駆動車１０を立ち漕ぎする場合、および、凸凹のある路面を走行する場合に、クランク１２の回転の１周期において、人力駆動力Ｈは不規則に変化しやすい。これに対して、舗装された平坦な道が続くとき、クランク１２の回転の数周期にわたって人力駆動力Ｈは規則的に変化しやすい。
図１４は、図７（Ｂ）に示す場合と比較して、予め定める角度範囲ＡＲの数を増やした例を示す。例えば、クランク１２の回転の１周期において、予め定める角度範囲ＡＲの数が、２から８に変更される。これによって、制御部６２によって推定される波形を、クランク１２に加わる人力駆動力Ｈの波形により近づけることができる。
【００７６】
以下、車両関連情報について具体的な事例を挙げる。
人力駆動車１０の状態は、人力駆動車１０の車速、クランク１２の回転速度、人力駆動車１０の加速度、クランク１２の回転速度に対する駆動輪の回転速度の比率、人力駆動車１０の傾斜の少なくとも１つを含む。
人力駆動車１０の車速、クランク１２の回転速度、人力駆動車１０の加速度、クランク１２の回転速度に対する駆動輪１４の回転速度の比率、および、人力駆動車１０の傾斜に応じて、クランク１２に加わる人力駆動力Ｈの波形が変化する場合がある。このため、制御部６２は、人力駆動車１０の車速、クランク１２の回転速度、人力駆動車１０の加速度、クランク１２の回転速度に対する駆動輪１４の回転速度の比率、および、人力駆動車１０の傾斜少なくとも１つに応じて、予め定める角度範囲ＡＲの幅、位相、および、数の少なくとも１つを変更してもよい。
【００７７】
人力駆動車１０の仕様は、サドル１６Ｄからクランク１２のクランク軸１２Ａまでの長さ、人力駆動車１０のフレームの形状、フレームの種類、および、ビンディングペダルの装着状態の少なくとも１つを含む。
人力駆動車１０の仕様の違いに応じて、クランク１２に加わる人力駆動力Ｈの波形が変化する場合がある。このため、制御部６２は、サドル１６Ｄからクランク１２のクランク軸１２Ａまでの長さ、人力駆動車１０のフレームの形状、フレームの種類、および、ビンディングペダルの装着状態の少なくとも１つに応じて、予め定める角度範囲ＡＲの幅、位相、および、数の少なくとも１つを変更してもよい。
【００７８】
人力駆動車１０の搭乗者の搭乗状態は、サドル１６Ｄに着座している状態、立ち漕ぎ状態、および、ペダル１８の一方にのみ荷重をかけて走行している状態の少なくとも１つ、を含む。
制御部６２は、ペダル荷重センサ７６、クランク回転センサ６６および着座荷重センサ７８の少なくとも１つから出力される信号に基づいて、搭乗者の搭乗状態を判定する。ペダル荷重センサ７６は、左右のペダル１８、または、第１クランクアーム１２Ｂおよび第２クランクアーム１２Ｃのそれぞれに設けられることが好ましい。制御部６２は、たとえば、着座荷重センサ７８から出力される信号に基づいて、着座している状態を判定する。制御部６２は、たとえば、着座荷重センサ７８およびクランク回転センサ６６からの出力される信号に基づいて、立ち漕ぎ状態を判定する。制御部６２は、たとえば、左右のペダル１８の荷重の差または、第１クランクアーム１２Ｂおよび第２クランクアーム１２Ｃの荷重の差に基づいて、一方にペダル１８にのみ荷重がかかっている状態を判定する。
搭乗者の搭乗状態の違いに応じて、クランク１２に加わる人力駆動力Ｈの波形が変化する場合がある。このため、制御部６２は、サドル１６Ｄに着座している状態、立ち漕ぎ状態、および、ペダル１８の一方にのみ荷重をかけて走行している状態の少なくとも１つに基づいて、予め定める角度範囲ＡＲの幅、位相、および、数の少なくとも１つを変更してもよい。検出部７２によって、ペダル１８に加わる荷重を検出できる場合、ペダル荷重センサ７６は省略し、制御部６２は、検出部７２から出力される信号に基づいて、搭乗者の搭乗状態を判定してもよい。
【００７９】
人力駆動車１０の搭乗者の搭乗状態は、サドル１６Ｄに加わる荷重の状態を含む。制御部６２は、たとえば、着座荷重センサ７８から出力される信号に基づいて、荷重が第１閾値以下の場合と、第１閾値よりも大きい場合とにおいて、予め定める角度範囲ＡＲを変更してもよい。制御部６２は、サドル１６Ｄに加わる荷重の状態に基づいて、予め定める角度範囲ＡＲの幅、位相、および、数の少なくとも１つを変更してもよい。
【００８０】
人力駆動車１０の搭乗者の身体的特徴は、脚の長さを含む。身体的特徴に応じて、クランク１２に加わる人力駆動力Ｈの波形が変化する場合がある。このため、制御部６２は、脚の長さに基づいて、予め定める角度範囲ＡＲの幅、位相、および、数の少なくとも１つを変更する。脚の長さに関する情報は、例えば、入力装置４０を用いて記憶部６４に記憶される。
制御部６２は、サドル１６Ｄの位置およびクランク軸１２Ａの間の長さと、脚の長さとの差または比に基づいて、予め定める角度範囲ＡＲの位相を変更してもよい。脚の長さが、サドル１６Ｄの位置とクランク軸１２Ａとの間の長さよりも長く、かつ、その差が規定値よりも大きい場合、クランク１２の回転角度が９０°において脚の曲がりが大きくなり、クランク１２に加わる人力の最大になるクランク１２の回転角度は、９０°よりも大きくなる。制御部６２は、脚の長さが、サドル１６Ｄの位置とクランク軸１２Ａとの間の長さよりも長く、かつ、その差が規定値よりも大きい場合、予め定める角度範囲ＡＲの位相をクランク１２の回転方向の下流側にシフトする。
【００８１】
人力駆動車１０の走行環境は、走行路の種類、走行路の傾斜、走行路の形状、風速、および風向きの少なくとも１つを含む。走行環境に応じて、クランク１２に加わる人力駆動力Ｈの波形が変化する場合がある。このため、制御部６２は、走行路の種類、走行路の傾斜、走行路の形状、風速、および風向きの少なくとも１つに基づいて、予め定める角度範囲ＡＲの幅、位相、および、数の少なくとも１つを変更する。
【００８２】
制御部６２は、走行路の種類および走行路の形状を、周辺センサ８２に含まれるカメラの画像に基づいて判定されてもよく、記憶部６４に地図データを記憶しておき、ＧＰＳ受信機によって受信される位置情報と、地図データとに基づいて判定されてもよい。
走行路の種類は、舗装道路および非舗装道路を含む。走行路の傾斜は、平坦、上り坂、急な上り坂、下り坂、および急な下り坂を含む。走行路の形状は、急なカーブ、緩やかなカーブ、折れ曲がり、および、直線を含む。制御部６２は、たとえば、走行路の種類が非舗装道路であること、走行路の傾斜が平坦以外であること、および、走行路の形状が直線以外であること、の少なくとも１つが成立する場合に、予め定める角度範囲ＡＲの幅および数の少なくとも一方を増加させてもよい。
【００８３】
制御部６２は、人力駆動車１０の前後方向における傾斜角度、および人力駆動車１０の左右方向の傾斜角度の少なくとも一方に基づいて、予め定める角度範囲ＡＲの幅、位相、および、数の少なくとも１つを変更してもよい。制御部６２は、たとえば人力駆動車１０前方が上方に傾斜する場合、予め定める角度範囲ＡＲの位相をクランク１２の回転方向の下流側にシフトする。制御部６２は、たとえば人力駆動車１０の前方が下方に傾斜する場合、予め定める角度範囲ＡＲの位相をクランク１２の回転方向の上流側にシフトする。
【００８４】
制御部６２は、たとえば、風速が増加または減少する場合、予め定める角度範囲ＡＲの数を変更する。
【００８５】
＜第３実施形態＞
第３実施形態に係る制御装置６０を説明する。第１実施形態と共通する構成については、第１実施形態と同一の符号を付し、重複する説明を省略する。
【００８６】
第３実施形態に係る制御装置６０は、第１実施形態と同様に、クランク１２を有する人力駆動車１０の推進をアシストするモータ３２を、クランク１２に入力される人力駆動力Ｈに応じて制御する制御部６２を含む。
制御部６２は、クランク１２の回転角度が予め定める角度範囲ＡＲにある場合に得られる人力駆動力Ｈに応じて、クランク１２の回転角度が予め定める角度範囲ＡＲ外にある場合においてモータ３２を制御する。加えて、制御部６２は、人力駆動車１０の状態、人力駆動車１０の仕様、人力駆動車１０の搭乗者の搭乗状態、人力駆動車１０の搭乗者の身体的特徴、および、人力駆動車１０の走行環境の少なくとも１つに応じて、予め定める角度範囲ＡＲの幅、位相、および、数の少なくとも１つを変更する。
【００８７】
人力駆動車１０の状態の例、人力駆動車１０の仕様の例、人力駆動車１０の搭乗者の搭乗状態の例、人力駆動車１０の搭乗者の身体的特徴の例、および、人力駆動車１０の走行環境の例は、第２実施形態に挙げた例と同じである。
【００８８】
第３実施形態では、クランク１２の１周期において、予め定める角度範囲ＡＲは少なくとも１つあればよく、予め定める角度範囲ＡＲは複数であってもよい。複数の予め定める角度範囲ＡＲが設定されている場合、複数の予め定める角度範囲ＡＲのそれぞれが独立して、人力駆動車１０の状態、人力駆動車１０の仕様、人力駆動車１０の搭乗者の搭乗状態、人力駆動車１０の搭乗者の身体的特徴、および、人力駆動車１０の走行環境の少なくとも１つに応じて、予め定める角度範囲ＡＲの幅、位相、および、数の少なくとも１つが変更されてもよい。
【００８９】
＜第４実施形態＞
各実施形態において、制御部６２は、次の構成を含んでもよい。
制御部６２は、クランク１２にビンディングペダルが装着されている場合、クランク１２にビンディングペダルが装着されていない場合よりも、モータ３２の出力トルクの最大値および最小値との差が小さくなるように、モータ３２を制御する。ビンディングペダルは、クリップレスペダル、または、クリップインペダルともいう。
【００９０】
例えば、制御部６２は、人力駆動車１０にビンディングペダルが装着されている場合に、モータ３２に適切なアシスト力を出力させるために関係式の（１）式を調整し、調整された式を用いてモータ３２を制御するための目標の出力トルクを算出する。制御部６２は、人力駆動力Ｈの推定に用いられる関係式の（１）式の、Ｙの最大値と最小値との差が、ビンディングペダルが装着されているときの人力駆動力Ｈに対して適切な値となるように、（１）式を変形する。例えば、（１）式において、「Ａ」の値を小さくする。
図１５に示されるように、制御部６２は、さらに、Ｙの平均値が増大するようにする（１）式を変形し、（３）式を得る。
Ｙ＝Ａ｛ｓｉｎ（２θ−π／２）＋１｝＋Ｂ・・・・（３）
（３）式は、（１）式の右辺に定数項Ｂを加えた式である。図１５には、（１）式に対応する波形を２点鎖線で示し、（３）式に対応する波形を実線で示している。（３）式を用いて、人力駆動力ＨＥを推定することによって、人力駆動車１０にビンディングペダルが装着されている場合に、モータ３２によって適切なアシスト力を付与できる。（３）式は、たとえば記憶部６４に登録されている。制御部６２は、ビンディングペダルの装着状態に関する信号に基づいて、人力駆動力ＨＥを推定に使用する関係式を（１）式から（３）式に変更する。ビンディングペダルの装着状態に関する信号は、たとえば、入力装置４０を用いて制御部６２に与えられる。
【００９１】
＜第５実施形態＞
各実施形態において、さらに、制御部６２は、次の構成を含んでもよい。
制御部６２は、人力駆動力Ｈの最大値が所定値以上の場合、人力駆動力Ｈの最大値が所定値未満の場合よりも、モータ３２の出力トルクの最大値および最小値との差が小さくなるように、モータ３２を制御する。
例えば、制御部６２は、人力駆動力Ｈの最大値が所定値以上の場合に、モータ３２に適切なアシスト力を出力させるために関係式の（１）式を調整し、調整された式を用いてモータ３２を制御するための目標の出力トルクを算出する。制御部６２は、人力駆動力Ｈの推定に用いられる関係式の（１）式を、Ｙの最大値と最小値との差が適切な値となるように変形する。例えば、制御部６２は、Ｙの最大値が変化しないで、Ｙの最小値が大きくなるように（１）式を変形する。（１）式と（２）式とを含んで第１関係式とし、（１）式から変形して得られる変形式と、（２）式とを含んで第２関係式とする。人力駆動力Ｈの最大値が所定値以上である場合にはモータ３２の脈動が大きくなりやすいが、本実施形態ではモータ３２の脈動を抑制できる。
【００９２】
制御部６２は、図１６に示されるトルク算出処理を実行する。トルク算出処理は、次の、ステップＳ２１〜ステップＳ２８を含む。ステップＳ２１からステップＳ２４までの各ステップは、それぞれ第１実施形態におけるステップＳ１１からステップＳ１４に対応する。ステップＳ２１からステップＳ２４によって、制御部６２は、予め定める角度範囲ＡＲの人力駆動力Ｈを取得する。
【００９３】
制御部６２は、ステップＳ２５において、実測データから求められる人力駆動力Ｈから人力駆動力Ｈの最大値を抽出し、人力駆動力ＨＥの最大値が所定値以上であるか否かを判定する。人力駆動力Ｈの最大値が所定値未満であるとき、制御部６２は、ステップＳ２６を実行する。人力駆動力Ｈの最大値が所定値以上であるとき、制御部６２は、ステップＳ２７を実行する。
【００９４】
制御部６２は、ステップＳ２６において、予め定める角度範囲ＡＲの人力駆動力Ｈと第１関係式とに基づいて、予め定める角度範囲ＡＲ外の人力駆動力ＨＥを推定する。一例では、第１関係式は、第１実施形態の関係式を含む。具体的には、実測データを得た所定の角度範囲ＡＲから実測データを得る次の角度範囲ＡＲまでの間の角度範囲における人力駆動力ＨＥを、第１関係式を用いて推定する。その後、制御部６２は、ステップＳ２８において、人力駆動力ＨＥに基づいて目標としての出力トルクを算出する。
【００９５】
制御部６２は、ステップＳ２７において、実測データと第２関係式とに基づいて、人力駆動力ＨＥを推定する。具体的には、実測データを得た所定の角度範囲ＡＲから実測データを得る次の角度範囲ＡＲまでの間の角度範囲における人力駆動力ＨＥを、第２関係式を用いて推定する。その後、制御部６２は、ステップＳ２８を実行し、人力駆動力ＨＥに基づいて目標としての出力トルクを算出する。
【００９６】
制御部６２は、ステップＳ２８において、クランク１２の各回転角度における人力駆動力ＨＥに基づいて目標の出力トルクを算出する。例えば、制御部６２は、人力駆動力ＨＥに対する出力トルクの比率ＸＡと人力駆動力Ｈとの乗算値を、目標値の出力トルクとして算出する。
【００９７】
＜第６実施形態＞
各実施形態において、さらに、制御部６２は、次の構成を含んでもよい。
制御部６２は、人力駆動車１０の走行抵抗が増加する場合、モータ３２の出力トルクの最大値および最小値との差が小さくなるように、モータ３２を制御する。また、制御部６２は、人力駆動車１０の走行抵抗が減少する場合、モータ３２の出力トルクの最大値および最小値との差が大きくなるように、モータ３２を制御する。
【００９８】
具体的には、制御部６２は、人力駆動車１０の走行抵抗が増減する場合に、適切なアシスト量とするために関係式の（１）式を調整し、調整された式を用いてモータ３２を制御するための目標の出力トルクを算出する。制御部６２は、人力駆動力Ｈの推定に用いられる関係式の（１）式のＹの最大値と最小値との差が、走行抵抗に対して適切な値となるように、（１）式を変形する。例えば、制御部６２は、Ｙの最大値が変化しないで、Ｙの最小値が大きくなるように（１）式を変形する。（１）式から変形して得られる変形式と、（２）式とを含んで第３関係式とする。
【００９９】
走行抵抗は、次の式で定義される。
走行抵抗＝ＣｄＳ（Ｖ−Ｖａ）２＋μｍｇ＋μｇｓｉｎθ＋ｍＶｘ・・・（４）
ＣｄＳ（Ｖ−Ｖａ）２は、空気抵抗を表す。
μｍｇは、転がり抵抗を表す。
μｇｓｉｎθは、勾配抵抗を表す。
ｍＶｘは、加速抵抗を表す。
「ｇ」は重力加速度を意味する。重力加速度に関する情報は、たとえば記憶部６４に予め記憶されている。
「ｍ」は、質量を意味する。ここでは、「ｍ」は、人力駆動車１０の質量と搭乗者の体重と荷物との総質量を意味する。質量に関する情報は、たとえば、記憶部６４に予め記憶されていてもよく、入力装置４０によって記憶部６４に記憶または設定されてもよい。
「ＣｄＳ」は、前方投影面積、空気密度、および人力駆動車１０の形状から決まる空気抵抗係数を意味する。空気抵抗係数に関する情報は、たとえば記憶部６４に予め記憶されている。
「μ」は、転がり摩擦係数を意味する。転がり摩擦係数に関する情報は、たとえば記憶部６４に予め記憶されている。
「θ」は、傾斜角度を意味する。
「Ｖａ」は、風速を意味する。好ましくは、制御装置６０は、たとえば風速センサをさらに含む。風速センサは、制御部６２に接続される。
「Ｖ」は、車速を意味する。
「Ｖｘ」は、加速度を意味する。制御装置６０は、たとえば加速度センサをさらに含む。車速センサ６８によって検出される車速から制御部６２が加速度を算出してもよい。
本実施形態では、走行抵抗には、空気抵抗、転がり抵抗、勾配抵抗および加速抵抗が含まれているが、走行抵抗には、空気抵抗、転がり抵抗、勾配抵抗および加速抵抗のうちの少なくとも１つのみが含まれていてもよく、任意の２つまたは３つのみが含まれていてもよい。
【０１００】
制御部６２は、図１７に示されるトルク算出処理を実行する。トルク算出処理は、次の、ステップＳ３１〜ステップＳ３８を含む。ステップＳ３１からステップＳ３４までは第１実施形態におけるステップＳ１１からステップＳ１４に準ずる。ステップＳ３１からステップＳ３４によって、制御部６２は、予め定める角度範囲ＡＲの人力駆動力Ｈを取得する。
【０１０１】
制御部６２は、ステップＳ３５において、走行抵抗が増加しているか、走行抵抗が減少しているかを判定する。例えば、走行抵抗の規定範囲は、第１値以上、第１値よりも大きい第２値以下の範囲を規定範囲として定義される。制御部６２は、走行抵抗が、第１値よりも小さいとき、走行抵抗が減少していると判定する。制御部６２は、走行抵抗が、第１値よりも大きい第２値よりも大きいとき、走行抵抗が増大していると判定する。走行抵抗が、規定範囲内にあるとき、制御部６２は、ステップＳ３６を実行する。走行抵抗が、増大または減少しているとき、制御部６２は、ステップＳ３７を実行する。
【０１０２】
制御部６２は、ステップＳ３６において、予め定める角度範囲ＡＲの人力駆動力Ｈと第１関係式とに基づいて、予め定める角度範囲ＡＲ外の人力駆動力ＨＥを推定する。一例では、第１関係式は、第１実施形態の関係式を含む。具体的には、実測データを得た所定の角度範囲ＡＲから実測データを得る次の角度範囲ＡＲまでの間の角度範囲における人力駆動力ＨＥを、第１関係式を用いて推定する。その後、制御部６２は、ステップＳ３８において、人力駆動力ＨＥに基づいて目標としての出力トルクを算出する。
【０１０３】
制御部６２は、ステップＳ３７において、実測データと第３関係式とに基づいて、人力駆動力ＨＥを推定する。具体的には、実測データを得た所定の角度範囲ＡＲから実測データを得る次の角度範囲ＡＲまでの間の角度範囲における人力駆動力ＨＥを、第３関係式を用いて推定する。その後、制御部６２は、ステップＳ３８を実行し、人力駆動力ＨＥに基づいて目標としての出力トルクを算出する。
【０１０４】
制御部６２は、ステップＳ３８において、クランク１２の各回転角度における人力駆動力Ｈに基づいて目標の出力トルクを算出する。例えば、制御部６２は、人力駆動力Ｈに対する出力トルクの比率ＸＡと人力駆動力Ｈとの乗算値を、目標値の出力トルクとして算出する。
【０１０５】
＜その他の実施形態＞
・各実施形態において、制御部６２は、クランク１２が予め定める角度範囲ＡＲにおいて検出部７２から実測データを受信するように検出部７２に電力を供給して検出部７２を起動させ、クランク１２が予め定める角度範囲ＡＲ外になると、検出部７２への電力の供給を停止して、検出部７２を停止させるようにしてもよい。これによって、電力の消費を低減することができる。制御部６２は、クランク１２が予め定める角度範囲ＡＲになるとたとえばクランク１２に設けられる磁石の磁力に応じて状態が変化するスイッチを含み、制御プログラムを必要としないで、検出部７２への電力の供給を開始および停止する構成としてもよい。
【０１０６】
・人力駆動力Ｈの推定に用いられる関係式は、各実施形態の例に限定されない。関係式に代えて、予め定める波形を用いて人力駆動力Ｈを推定してもよく、クランク１２の回転角度と人力駆動力Ｈとの関係を示すマップを用いて人力駆動力Ｈを推定してもよい。関係式は、３次関数の項を含んでいてもよく、４次関数の項を含んでいてもよい。１周期において予め定める角度範囲ＡＲが８以上である場合、予め定める角度範囲ＡＲと次の予め定める角度範囲ＡＲとの間の角度範囲に適用される関係式は、１次関数であってもよい。
【０１０７】
・各実施形態では、人力駆動力Ｈを検出する検出部７２は、出力部３６に設けられているが、検出部７２の配置はこれに限定されない。例えば、検出部７２は、第１クランクアーム１２Ｂおよび第２クランクアーム１２Ｃの少なくとも一方に設けられてもよく、ペダル１８に設けられてもよい。検出部７２は、搭乗者の靴底に装着されてもよい。
・第２実施形態において、入力装置４０、ペダル荷重センサ７６、着座荷重センサ７８、サドル位置センサ８０、周辺センサ８２、傾斜センサ８４、および、風圧センサ８６のうちの少なくとも１つを除く構成は、省略することができる。たとえば、第２実施形態において、入力装置４０、ペダル荷重センサ７６、着座荷重センサ７８、サドル位置センサ８０、周辺センサ８２、傾斜センサ８４、および、風圧センサ８６のうちの任意の１つ、任意の２つ、任意の３つ、任意の４つ、任意の５つ、任意の６つの構成を省略してもよい。
【符号の説明】
【０１０８】
ＡＲ…予め定める角度範囲、ＡＲ１…第１の角度範囲、ＡＲ２…第２の角度範囲、Ｈ…人力駆動力、Ｘ…比率、ＸＡ…比率、１０…人力駆動車、１２…クランク、１２Ａ…クランク軸、１２Ｂ…第１クランクアーム、１２Ｃ…第２クランクアーム、１４…駆動輪、１６…フレーム、１６Ａ…サドル、１６Ｄ…サドル、１８…ペダル、３２…モータ、４２…操作装置、６０…人力駆動車用制御装置（制御装置）、６２…制御部、７２…検出部。
【図１】
2020001578.tif 000003
【図２】
2020001578.tif 000004
【図３】
2020001578.tif 000005
【図４】
2020001578.tif 000006
【図５】
2020001578.tif 000007
【図６】
2020001578.tif 000008
【図７】
2020001578.tif 000009
【図８】
2020001578.tif 000010
【図９】
2020001578.tif 000011
【図１０】
2020001578.tif 000012
【図１１】
2020001578.tif 000013
【図１２】
2020001578.tif 000014
【図１３】
2020001578.tif 000015
【図１４】
2020001578.tif 000016
【図１５】
2020001578.tif 000017
【図１６】
2020001578.tif 000018
【図１７】
2020001578.tif 000019