(58)【調査した分野】(Int.Cl.,DB名)
前記制御部は、前記人力駆動車の状態、前記人力駆動車の仕様、前記人力駆動車の搭乗者の搭乗状態、前記人力駆動車の搭乗者の身体的特徴、および、前記人力駆動車の走行環境の少なくとも1つに応じて、前記複数の予め定める角度範囲の幅、位相、および、数の少なくとも1つを変更する、
請求項1から5のいずれか一項に記載の人力駆動車用制御装置。
前記人力駆動車の状態は、前記人力駆動車の車速、前記クランクの回転速度、前記人力駆動車の加速度、前記クランクの回転速度に対する駆動輪の回転速度の比率、前記人力駆動車の傾斜の少なくとも1つを含む
請求項6または7に記載の人力駆動車用制御装置。
前記人力駆動車の仕様は、サドルから前記クランクのクランク軸までの長さ、前記人力駆動車のフレームの形状、前記フレームの種類、および、ビンディングペダルの装着状態の少なくとも1つを含む
請求項6から8のいずれか一項に記載の人力駆動車用制御装置。
前記制御部は、前記クランクにビンディングペダルが装着されている場合、前記クランクにビンディングペダルが装着されていない場合よりも、前記モータの出力トルクの最大値および最小値との差が小さくなるように、前記モータを制御する
請求項1から14のいずれか一項に記載の人力駆動車用制御装置。
前記制御部は、前記人力駆動力の最大値が所定値以上の場合、前記人力駆動力の最大値が前記所定値未満の場合よりも、前記モータの出力トルクの最大値および最小値との差が小さくなるように、前記モータを制御する
請求項1から15のいずれか一項に記載の人力駆動車用制御装置。
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1では、制御部は、トルクセンサによって実測されるデータに基づいてアシスト用モータを制御する。
本発明の目的の1つは、人力駆動車の推進をアシストするモータを、少ない実測データを用いて制御できる人力駆動車用制御装置を提供する。
【課題を解決するための手段】
【0005】
本発明の第1側面に従う人力駆動車用制御装置は、クランクを有する人力駆動車の推進をアシストするモータを、前記クランクに入力される人力駆動力に応じて制御する制御部を含む人力駆動車用制御装置であって、前記制御部は、前記クランクの回転角度が前記クランクの回転方向に相互に離間している複数の予め定める角度範囲にある場合に得られる前記人力駆動力に応じて、前記クランクの回転角度が前記複数の予め定める角度範囲外にある場合において、出力トルクが変化するように前記モータを制御する。
第1側面の人力駆動車用制御装置によれば、クランクが1回転する間で連続的に人力駆動力を検出しなくても、クランクが1回転する間で連続しない少なくとも2つの角度範囲における人力駆動力に応じて、人力駆動車の推進をアシストするモータを制御することができる。第1側面の人力駆動車用制御装置によれば、少ない実測データでモータを制御できる。
【0006】
前記第1側面に従う第2側面の人力駆動車用制御装置において、前記クランクは、第1クランクアームおよび前記第1クランクアームとは回転位相が180度異なる第2クランクアームを含み、前記複数の予め定める角度範囲は、第1の角度範囲および第2の角度範囲を含み、前記第1の角度範囲は、前記クランクが第1方向に回転する場合において、前記第1クランクアームが上死点から下死点に移動する範囲に設けられ、前記第2の角度範囲は、前記クランクが第1方向に回転する場合において、前記第2クランクアームが上死点から下死点に移動する範囲に設けられる。
第2側面の人力駆動車用制御装置によれば、第1クランクアームに与えられる人力駆動力と、第2クランクアームに与えられる人力駆動力との両方を、モータの出力トルクに反映させることができる。
【0007】
前記第2側面に従う第3側面の人力駆動車用制御装置において、前記第1の角度範囲は、前記クランクが第1方向に回転する場合において、前記第1クランクアームが上死点から90°回転した角度を含み、前記第2の角度範囲は、前記クランクが第1方向に回転する場合において、前記第2クランクアームが上死点から90°回転した角度を含む。
第3側面の人力駆動車用制御装置によれば、人力駆動力が最も大きくなりやすい角度における人力駆動力を用いることによって、複数の予め定める角度範囲外におけるモータの出力トルクを決定しやすくなる。
【0008】
前記第1〜3側面のいずれか1つに従う第4側面の人力駆動車用制御装置において、前記複数の予め定める角度範囲のうちの少なくとも1つの予め定める角度範囲の位相は、変更可能である。
第4側面の人力駆動車用制御装置によれば、適切な角度における人力駆動力を用いて、複数の予め定める角度範囲外におけるモータの出力トルクを変化させることができる。
【0009】
前記第1〜4側面のいずれか1つに従う第5側面の人力駆動車用制御装置において、前記制御部は、前記人力駆動車の状態、前記人力駆動車の仕様、前記人力駆動車の搭乗者の搭乗状態、前記人力駆動車の搭乗者の身体的特徴、および、前記人力駆動車の走行環境の少なくとも1つに応じて、前記複数の予め定める角度範囲の幅、位相、および、数の少なくとも1つを変更する。
第5側面の人力駆動車用制御装置によれば、人力駆動車の状態、人力駆動車の仕様、人力駆動車の搭乗者の搭乗状態、人力駆動車の搭乗者の身体的特徴、および、人力駆動車の走行環境の少なくとも1つに応じて、適切な角度における人力駆動力を用いて、複数の予め定める角度範囲外におけるモータの出力トルクを変化させることができる。
【0010】
本発明の第6側面に従う人力駆動車用制御装置は、クランクを有する人力駆動車の推進をアシストするモータを、前記クランクに入力される人力駆動力に応じて制御する制御部を含む人力駆動車用制御装置であって、前記制御部は、前記クランクの回転角度が予め定める角度範囲にある場合に得られる前記人力駆動力に応じて、前記クランクの回転角度が予め定める角度範囲外にある場合において前記モータを制御し、前記人力駆動車の状態、前記人力駆動車の仕様、前記人力駆動車の搭乗者の搭乗状態、前記人力駆動車の搭乗者の身体的特徴、および、前記人力駆動車の走行環境の少なくとも1つに応じて、前記予め定める角度範囲の幅、位相、および、数の少なくとも1つを変更する。
第6側面の人力駆動車用制御装置によれば、連続的に人力駆動力を検出しなくても、人力駆動力に応じてモータを制御することができる。人力駆動車の状態、人力駆動車の仕様、人力駆動車の搭乗者の搭乗状態、人力駆動車の搭乗者の身体的特徴、および、人力駆動車の走行環境の少なくとも1つに応じて、適切な角度における人力駆動力を用いて、複数の予め定める角度範囲外におけるモータの出力トルクを変化させることができる。
【0011】
前記第5または第6側面に従う第7側面の人力駆動車用制御装置において、前記人力駆動車の状態は、前記人力駆動車の車速、前記クランクの回転速度、前記人力駆動車の加速度、前記クランクの回転速度に対する駆動輪の回転速度の比率、前記人力駆動車の傾斜の少なくとも1つを含む。
第7側面の人力駆動車用制御装置によれば、人力駆動車の車速、クランクの回転速度、人力駆動車の加速度、クランクの回転速度に対する駆動輪の回転速度の比率、人力駆動車の傾斜の少なくとも1つに応じて、適切な角度における人力駆動力を用いて、複数の予め定める角度範囲外におけるモータの出力トルクを変化させることができる。
【0012】
前記第5〜7側面のいずれか1つに従う第8側面の人力駆動車用制御装置において、前記人力駆動車の仕様は、サドルから前記クランクのクランク軸までの長さ、前記人力駆動車のフレームの形状、前記フレームの種類、および、ビンディングペダルの装着状態の少なくとも1つを含む。
第8側面の人力駆動車用制御装置によれば、サドルからクランクのクランク軸までの長さ、人力駆動車のフレームの形状、フレームの種類、および、ビンディングペダルの装着状態の少なくとも1つに応じて、適切な角度における人力駆動力を用いて、複数の予め定める角度範囲外におけるモータの出力トルクを変化させることができる。
【0013】
前記第5〜8側面のいずれか1つに従う第9側面の人力駆動車用制御装置において、前記人力駆動車の搭乗者の搭乗状態は、サドルに着座している状態、立ち漕ぎ状態、および、ペダルの一方にのみ荷重をかけて走行している状態の少なくとも1つ、を含む。
第9側面の人力駆動車用制御装置によれば、サドルに着座している状態、立ち漕ぎ状態、および、ペダルの一方にのみ荷重をかけて走行している状態の少なくとも1つに応じて、適切な角度における人力駆動力を用いて、複数の予め定める角度範囲外におけるモータの出力トルクを変化させることができる。
【0014】
前記第5〜9側面のいずれか1つに従う第10側面の人力駆動車用制御装置において、前記人力駆動車の搭乗者の搭乗状態は、サドルに加わる荷重の状態を含む。
第10側面の人力駆動車用制御装置によれば、前記サドルに加わる荷重の状態に応じて、適切な角度における人力駆動力を用いて、複数の予め定める角度範囲外におけるモータの出力トルクを変化させることができる。
【0015】
前記第5〜10側面のいずれか1つに従う第11側面の人力駆動車用制御装置において、前記人力駆動車の搭乗者の身体的特徴は、脚の長さを含む。
第11側面の人力駆動車用制御装置によれば、脚の長さに応じて、適切な角度における人力駆動力を用いて、複数の予め定める角度範囲外におけるモータの出力トルクを変化させることができる。
【0016】
前記第5〜11側面のいずれか1つに従う第12側面の人力駆動車用制御装置において、前記人力駆動車の走行環境は、走行路の種類、走行路の傾斜、走行路の形状、風速、および風向きの少なくとも1つを含む。
第12側面の人力駆動車用制御装置によれば、走行路の種類、走行路の傾斜、走行路の形状、風速、および風向きの少なくとも1つに応じて、適切な角度における人力駆動力を用いて、複数の予め定める角度範囲外におけるモータの出力トルクを変化させることができる。
【0017】
前記第5〜12側面のいずれか1つに従う第13側面の人力駆動車用制御装置において、前記制御部は、操作装置が操作されることによって、前記人力駆動車の仕様、および、前記人力駆動車の搭乗者の身体的特徴の少なくとも1つを取得する。
第13側面の人力駆動車用制御装置によれば、制御部は、人力駆動車の仕様、および、人力駆動車の搭乗者の身体的特徴の少なくとも1つを簡単に取得できる。
【0018】
前記第1〜13側面のいずれか1つに従う第14側面の人力駆動車用制御装置において、前記制御部は、前記クランクにビンディングペダルが装着されている場合、前記クランクにビンディングペダルが装着されていない場合よりも、前記モータの出力トルクの最大値および最小値との差が小さくなるように、前記モータを制御する。
第14側面の人力駆動車用制御装置によれば、連続的に人力駆動力を検出しなくても、ビンディングペダルを用いてクランクを回転させる場合においても、適切にモータの出力トルクを変化させることができる。
【0019】
前記第1〜14側面のいずれか1つに従う第15側面の人力駆動車用制御装置において、前記制御部は、前記人力駆動力の最大値が所定値以上の場合、前記人力駆動力の最大値が前記所定値未満の場合よりも、前記モータの出力トルクの最大値および最小値との差が小さくなるように、前記モータを制御する。
第15側面の人力駆動車用制御装置によれば、例えば、坂道および加速時など、人力駆動力の最大値が大きくなる場合において、人力駆動車を操作しやすくなる。
【0020】
前記第1〜15側面のいずれか1つに従う第16側面の人力駆動車用制御装置において、前記制御部は、前記人力駆動車の走行抵抗が増加する場合、前記モータの出力トルクの最大値および最小値との差が小さくなるように、前記モータを制御する。
第16側面の人力駆動車用制御装置によれば、人力駆動車の走行抵抗が増加する場合において、人力駆動車を操作しやすくなる。
【0021】
前記第1〜16側面のいずれか1つに従う第17側面の人力駆動車用制御装置において、前記制御部は、前記人力駆動車の走行抵抗が減少する場合、前記モータの出力トルクの最大値および最小値との差が大きくなるように、前記モータを制御する。
第17側面の人力駆動車用制御装置によれば、人力駆動車の走行抵抗が減少する場合において、人力駆動車を操作しやすくなる。
【0022】
前記第1〜17側面のいずれか1つに従う第18側面の人力駆動車用制御装置において、前記制御部は、周期的な振幅を有する波形の一部を用いて、前記クランクの回転角度が前記予め定める角度範囲外の場合における前記人力駆動力を推定する。
第18側面の人力駆動車用制御装置によれば、所定の角度範囲外の場合における人力駆動力を推定しやすい。
【0023】
前記第1〜18側面のいずれか1つに従う第19側面の人力駆動車用制御装置において、前記人力駆動力を検出する検出部を含み、前記制御部は、前記クランクが前記予め定める角度範囲のときだけ人力駆動力に関する信号を前記検出部から取得する。
第19側面の人力駆動車用制御装置によれば、制御部の処理の負荷を低減することができる。
【0024】
前記第1〜19側面のいずれか1つに従う第20側面の人力駆動車用制御装置において、前記検出部は、前記人力駆動力に関する信号を無線で前記制御部に送信する。
第20側面の人力駆動車用制御装置によれば、データの送受信経路において物理的接点が無いことから接点の摩耗のような物理的劣化がない。
【0025】
本発明の第21側面に従う人力駆動車用制御装置は、クランクに入力される人力駆動力を推定する制御部を含む人力駆動車用制御装置であって、前記制御部は、前記クランクの回転角度が前記クランクの回転方向に相互に離間している複数の予め定める角度範囲にある場合に得られる前記人力駆動力に応じて、前記クランクの回転角度が前記複数の予め定める角度範囲外の場合における前記人力駆動力を推定する。
第21側面の人力駆動車用制御装置によれば、クランクの回転角度が複数の予め定める角度範囲外においても、人力駆動力を推定することができるので、クランクが1回転する間で連続的に人力駆動力を検出しなくてもよい。
【0026】
本発明の第22側面に従う人力駆動車用制御装置は、クランクに入力される人力駆動力を推定する制御部を含む人力駆動車用制御装置であって、前記制御部は、前記クランクの回転角度が予め定める角度範囲にある場合おける前記人力駆動力に応じて、前記クランクの回転角度が予め定める角度範囲外における前記人力駆動力を推定し、人力駆動車の状態、前記人力駆動車の仕様、前記人力駆動車の搭乗者の搭乗状態、前記人力駆動車の搭乗者の身体的特徴、および、前記人力駆動車の走行環境の少なくとも1つに応じて、前記予め定める角度範囲の幅、位相、および、数の少なくとも1つを変更する。
第22側面の人力駆動車用制御装置によれば、クランクの回転角度が予め定める角度範囲外においても、人力駆動力を推定することができるので、連続的に人力駆動力を検出しなくてもよい。人力駆動車の状態、人力駆動車の仕様、人力駆動車の搭乗者の搭乗状態、人力駆動車の搭乗者の身体的特徴、および、人力駆動車の走行環境の少なくとも1つに応じて、適切な角度における人力駆動力を用いて、予め定める角度範囲外における人力駆動力を推定することができる。
【発明の効果】
【0027】
本開示の人力駆動車用制御装置は、人力駆動車の推進をアシストするモータを、少ない実測データを用いて制御できる。
【発明を実施するための形態】
【0029】
<第1実施形態>
図1〜
図8を参照して、実施形態の人力駆動車用制御装置60について説明する。以後、人力駆動車用制御装置60を、単に制御装置60と記載する。制御装置60は、人力駆動車10に設けられる。人力駆動車10は、少なくとも人力駆動力Hによって駆動することができる車である。人力駆動車10は、車輪の数が限定されず、例えば1輪車および3輪以上の車輪を有する車も含む。人力駆動車10は、例えばマウンテンバイク、ロードバイク、シティバイク、カーゴバイク、および、リカンベントなど種々の種類の自転車、ならびに、電動アシスト自転車(E−bike)を含む。本実施形態では、人力駆動車10を自転車として説明する。
【0030】
図1に示されるとおり人力駆動車10は、クランク12および駆動輪14を備える。人力駆動車10は、フレーム16をさらに備える。人力駆動車10は、サドル16Dをさらに含む。サドル16Dは、フレーム16のシートチューブに装着される。クランク12には、人力駆動力Hが入力される。クランク12は、フレーム16に対して回転可能なクランク軸12Aを含む。クランク12は、第1クランクアーム12Bおよび第1クランクアーム12Bとは回転位相が180度異なる第2クランクアーム12Cを含む。第1クランクアーム12Bは、クランク軸12Aの軸方向の第1端部に設けられる。第2クランクアーム12Cは、クランク軸12Aの軸方向において第1端部とは反対側の第2端部に設けられる。第1クランクアーム12Bおよび第2クランクアーム12Cそれぞれには、ペダル18が連結される。駆動輪14は、クランク12が回転することによって駆動される。駆動輪14は、フレーム16に支持される。クランク12と駆動輪14とは、駆動機構20によって連結される。駆動機構20は、クランク軸12Aに結合される第1回転体22を含む。本実施形態では、クランク軸12Aと第1回転体22とは、一体に回転するように結合される。クランク軸12Aと第1回転体22とは、第1ワンウェイクラッチを介して結合されていてもよい。第1ワンウェイクラッチは、クランク12が前転した場合に、第1回転体22を前転させ、クランク12が後転した場合に、第1回転体22を後転させないように構成される。第1回転体22は、スプロケット、プーリ、または、ベベルギアを含む。駆動機構20は、第2回転体24と、連結部材26とをさらに含む。連結部材26は、第1回転体22の回転力を第2回転体24に伝達する。連結部材26は、例えば、チェーン、ベルト、または、シャフトを含む。
【0031】
第2回転体24は、駆動輪14に連結される。第2回転体24は、スプロケット、プーリ、または、ベベルギアを含む。第2回転体24と駆動輪14との間には、第2ワンウェイクラッチが設けられていることが好ましい。第2ワンウェイクラッチは、第2回転体24が前転した場合に、駆動輪14を前転させ、第2回転体24が後転した場合に、駆動輪14を後転させないように構成される。
【0032】
人力駆動車10は、前輪および後輪を含む。フレーム16には、フロントフォーク16Aを介して前輪が取り付けられている。フロントフォーク16Aには、ハンドルバー16Cがステム16Bを介して連結されている。以下の実施形態では、後輪を駆動輪14として説明するが、前輪が駆動輪14であってもよい。
【0033】
人力駆動車10は、バッテリ28をさらに含む。バッテリ28は、1または複数のバッテリセルを含む。バッテリセルは、充電池を含む。バッテリ28は、人力駆動車10に設けられ、バッテリ28と有線で電気的に接続されている他の電気部品、例えば、モータ32および制御装置60に電力を供給する。バッテリ28は、制御装置60の制御部62と有線または無線によって通信可能に接続されてもよい。バッテリ28は、例えば電力線通信(PLC;power line communication)によって制御部62と通信可能であってもよい。バッテリ28は、フレーム16の外部に取り付けられてもよく、少なくとも一部がフレーム16の内部に収容されてもよい。
【0034】
図2に示されるとおり人力駆動車10は、人力駆動車用コンポーネント30を含む。人力駆動車用コンポーネント30は、人力駆動車10の推進をアシストするためのモータ32を含む。制御装置60の制御部62は、人力駆動車用コンポーネント30と有線または無線通信によって接続可能に構成される。人力駆動車10は、複数の人力駆動車用コンポーネント30を含んでいてもよい。人力駆動車10が複数の人力駆動車用コンポーネント30を含む場合、制御部62は、複数の人力駆動車用コンポーネント30のそれぞれと有線または無線通信によって接続されてもよく、共通の通信線によって複数の人力駆動車用コンポーネント30のそれぞれと有線通信によって接続されてもよい。
【0035】
人力駆動車用コンポーネント30は、ドライブユニット30Aを含む。モータ32は、ドライブユニット30Aに含まれる。人力駆動車10は、モータ32の駆動回路34をさらに含む。駆動回路34は、ドライブユニット30Aに含まれる。モータ32および駆動回路34は、同一のハウジングに設けられることが好ましい。駆動回路34は、バッテリ28からモータ32に供給される電力を制御する。駆動回路34は、制御部62と有線または無線によって通信可能に接続されている。駆動回路34は、例えばシリアル通信によって制御部62と通信可能である。駆動回路34は、制御部62からの制御信号に応じてモータ32を駆動させる。モータ32は、人力駆動車10の推進をアシストするように構成される。モータ32は、電気モータを含む。モータ32は、ペダル18から後輪までの人力駆動力Hの動力伝達経路、または、前輪に回転を伝達するように設けられる。モータ32は、人力駆動車10のフレーム16、後輪、または、前輪に設けられる。本実施形態では、モータ32は、クランク軸12Aから第1回転体22までの動力伝達経路に結合される。モータ32とクランク軸12Aとの間の動力伝達経路には、クランク軸12Aを人力駆動車10が前進する方向に回転させた場合にクランク12の回転力によってモータ32が回転しないようにワンウェイクラッチが設けられるのが好ましい。本実施形態では、クランク軸12Aは、出力部36に結合する。出力部36には第1回転体22が結合される。クランク軸12Aが第1ワンウェイクラッチを介して第1回転体22に接続される場合、たとえばクランク軸12Aと出力部36との間に第1ワンウェイクラッチが設けられてもよく、出力部36を分割して構成し、分割した部分の間に第1ワンウェイクラッチが設けられてもよい。モータ32および駆動回路34が設けられるハウジングには、モータ32および駆動回路34以外の構成が設けられてもよく、例えばモータ32の回転を減速して出力する減速機38が設けられてもよい。減速機38は、たとえば複数のギアを含む。減速機38は、出力部36に設けられるギア36Aを含む。減速機38は、モータ32の回転力を出力部36に伝達する。
【0036】
人力駆動車10は、制御装置60を含む。制御装置60は、クランク12を有する人力駆動車10の推進をアシストするモータ32を、クランク12に入力される人力駆動力Hに応じて制御する制御部62を含む。
制御部62は、予め定められる制御プログラムを実行する演算処理装置を含む。演算処理装置は、例えばCPU(Central Processing Unit)またはMPU(Micro Processing Unit)を含む。制御部62は、1または複数のマイクロコンピュータを含んでいてもよい。制御部62は、複数の場所に離れて配置される複数の演算処理装置を含んでいてもよい。制御装置60は、記憶部64をさらに含む。記憶部64には、各種の制御プログラムおよび各種の制御処理に用いられる情報が記憶される。記憶部64は、例えば不揮発性メモリおよび揮発性メモリを含む。制御部62および記憶部64は、例えばモータ32が設けられるハウジングに設けられる。
【0037】
制御装置60は、さらに、クランク回転センサ66、車速センサ68、および、クランク角度センサ70を含むことが好ましい。
【0038】
クランク回転センサ66は、人力駆動車10のクランク12の回転速度を検出するために用いられる。クランク回転センサ66は、例えば人力駆動車10のフレーム16またはモータ32が設けられるハウジングに取り付けられる。クランク回転センサ66は、磁界の強度に応じた信号を出力する磁気センサを含んで構成される。周方向に磁界の強度が変化する環状の磁石が、クランク軸12Aまたはクランク軸12Aから第1回転体22までの間の動力伝達経路で、クランク軸12Aと一体に回転する部分に設けられる。クランク回転センサ66は、制御部62と有線または無線によって通信可能に接続されている。クランク回転センサ66は、クランク12の回転速度に応じた信号を制御部62に出力する。クランク回転センサ66は、クランク軸12Aから第1回転体22までの人力駆動力Hの動力伝達経路において、クランク軸12Aと一体に回転する部材に設けられてもよい。例えば、クランク回転センサ66は、クランク軸12Aと第1回転体22との間に第1ワンウェイクラッチが設けられない場合、第1回転体22に設けられてもよい。クランク回転センサ66は、人力駆動車10の車速を検出するために用いられてもよい。この場合、制御部62は、クランク回転センサ66によって検出されるクランク12の回転速度と換算比率Rとに基づいて、駆動輪14の回転速度を算出し、駆動輪14の回転速度から人力駆動車10の車速を検出する。換算比率Rは、記憶部64に予め記憶されている。換算比率Rは、クランク12の回転速度に対する駆動輪14の回転速度の比を表す。人力駆動車10に変速機が設けられる場合、制御部62は、変速機の変速比ごとの換算比率Rを記憶することが好ましい。クランク回転センサ66は、クランク12の回転角度を検出するために用いられてもよい。たとえばクランク回転センサ66が、磁界の強度に応じた信号を出力する磁気センサを含んで構成される場合、信号の出力がクランク12の回転角度に対応するので、クランク12の回転角度を検出するために用いることができる。クランク回転センサ66は、クランク12の回転速度を検出することができれば、いずれのセンサを含んでいてもよい。
【0039】
車速センサ68は、車輪の回転速度を検出するために用いられる。車速センサ68は、有線または無線によって制御部62と電気的に接続されている。車速センサ68は、制御部62と有線または無線によって通信可能に接続されている。本実施形態では、車速センサ68は、車輪の回転速度に応じた信号を制御部62に出力する。制御部62は、車輪の回転速度に基づいて人力駆動車10の車速を演算する。車速センサ68は、リードスイッチを構成する磁性体リード、または、ホール素子を含むことが好ましい。車速センサ68は、フレーム16のチェーンステイに取り付けられ、後輪に取り付けられる磁石を検出する構成としてもよく、フロントフォーク16Aに設けられ、前輪に取り付けられる磁石を検出する構成としてもよい。車速センサ68は、GPS受信部を含んでいてよい。この場合、制御部62は、GPS受信部によって取得したGPS情報と、記憶部64に予め記録されている地図情報と、時間とに応じて、人力駆動車10の車速を検出してもよい。制御部62は、時間を計るための計時回路を含むことが好ましい。車速センサ68は、車輪の回転速度、または、人力駆動車10の車速を検出することができれば、いずれのセンサを含んでいてもよい。
【0040】
クランク角度センサ70は、クランク12の回転角度を検出するために用いられる。クランク角度センサ70は、有線または無線によって制御部62と電気的に接続されている。クランク角度センサ70は、クランク12が予め定める回転角度に位置するとき、制御部62に所定の信号を出力する。クランク角度センサ70は、スイッチ、またはエンコーダを含む。スイッチは、たとえば磁気スイッチを含む。磁気スイッチは、たとえばクランク軸12A、出力部36、または、第1回転体22に設けられる被検出部の磁気を検出するように構成される。被検出部は、クランク12が予め定める回転角度に位置するとき、磁気センサによって検出されるように、クランク軸12Aに配置される。エンコーダは、たとえばロータリエンコーダを含む。クランク角度センサ70は、クランク12の回転角度を検出することができれば、どのようなセンサを含んでいてもよい。
【0041】
制御装置60は、人力駆動力Hを検出する検出部72を含む。検出部72は、人力駆動力HのトルクTHに関する物理量を検出するために用いられる。検出部72は、人力駆動力Hに関する信号を出力する。人力駆動力Hに関する信号は、実測データを含む。人力駆動力HのトルクTHに関する物理量は、クランク12に入力される人力駆動力Hに基づく出力部36の歪みを含む。本実施形態では、検出部72は、出力部36の歪みを検出する。この場合、検出部72は、出力部36または出力部36の周囲に設けられる。検出部72は、歪センサまたは磁歪センサなどセンサを含む。歪センサは、歪ゲージを含む。好ましくは、検出部72は、出力部36のうち、クランク軸12Aに接続される部分と、モータ32または減速機38に接続される部分との間の部分の歪みを検出するように構成される。
【0042】
図3に示されるように、歪センサは、好ましくは、動力伝達経路に含まれる出力部36の外周部に設けられる。検出部72は、人力駆動力Hに関する信号を有線で制御部62に送信してもよい。検出部72は、人力駆動力Hに関する信号を無線で制御部62に送信してもよい。検出部72が信号を無線で制御部62に送信する場合、検出部72は、無線の通信部74を含む。例えば、検出部72と制御部62とは、電磁誘導方式または共鳴方式によって通信する。検出部72の通信部74のアンテナは、制御部62のアンテナに対向するように配置される。検出部72の通信部74のアンテナは、基板74Aに設けられる。制御部62のアンテナは、例えば、制御部62および駆動回路34を実装する基板34Aに設けられる。制御部62のアンテナは、コイルを含む。検出部72の通信部74のアンテナは、コイルを含む。
【0043】
制御部62は、人力駆動車用コンポーネント30を制御する。具体的には、制御部62は、モータ32を制御する。制御部62は、人力駆動車10に入力される人力駆動力Hに応じてモータ32を制御するように構成される。制御部62は、クランク12に入力される人力駆動力Hに対するモータ32による出力トルクの比率Xが、予め定める比率XAになるようにモータ32を制御するように構成される。予め定める比率XAは、一定値であってもよく、人力駆動力Hに応じて変化する値であってもよく、車速に応じて変化する値であってもよく、クランク12の回転速度によって変化する値であってもよい。人力駆動力Hは、人力駆動力HのトルクTHまたは人力駆動力Hの仕事率(ワット)を含む。人力駆動車10に入力される人力駆動力HのトルクTHに対するモータ32による出力トルクの比率XTを、比率Xと記載する場合がある。人力駆動車10に入力される人力駆動力Hの仕事率(ワット)に対するモータ32による出力トルクの仕事率(ワット)の比率XWを、比率Xと記載する場合がある。人力駆動力Hの仕事率は、クランク12に入力される人力駆動力HのトルクTHとクランク12の回転速度との乗算によって算出される。モータ32の出力が減速機38を介して人力駆動力Hの動力伝達経路に入力される場合は、減速機38の出力を、モータ32による出力トルクとする。制御部62は、車速が、予め定める速度以上になると、モータ32によるアシストを停止する。予め定める速度は、例えば25km/h、または45km/hである。制御部62は、予め定める比率XAが異なる複数のモードでモータ32を制御するようにしてもよい。制御部62は、モータ32の出力トルクが最大値以下になるようにモータ32を制御する。最大値は、予め定める比率XAが異なる複数のモードでモータ32を制御する場合、モードごとに異なる値が設定されていてもよい。
【0044】
制御部62は、人力駆動力Hに加えてまたは代えて、車速、人力駆動車10の走行路の勾配、クランク12の回転速度、人力駆動車10の走行する位置に関する地図データ、人力駆動車10の走行地域の天候、人力駆動車10の走行路の路面状態、人力駆動車10の走行抵抗の少なくとも1つに応じて、モータ32を制御してもよい。
【0045】
制御部62は、モータ32を、クランク12に入力される人力駆動力Hに応じて制御する。具体的には、制御部62は、モータ32が人力駆動力Hに応じた出力トルクを出すように、モータ32を制御する。人力駆動力Hは、クランク12の回転に伴って変化する。このため、モータ32の出力トルクは、人力駆動力Hの変化に応じて変化する。
【0046】
本実施形態では、制御部62は、クランク12の回転角度がクランク12の回転方向に相互に離間している複数の予め定める角度範囲ARにある場合に得られる人力駆動力Hに応じて、クランク12の回転角度が複数の予め定める角度範囲AR外にある場合において、出力トルクが変化するようにモータ32を制御する。
本実施形態では、制御部62は、クランク12に入力される人力駆動力Hを推定する。制御部62は、クランク12の回転角度がクランク12の回転方向に相互に離間している複数の予め定める角度範囲ARの一つにある場合における人力駆動力Hに応じて、クランク12の回転角度が複数の予め定める角度範囲AR外の場合における人力駆動力Hを推定する。
【0047】
図7に示すように、人力駆動力Hは、クランク12が1回転する期間を1周期として周期的に変化する。クランク12のクランクアームの一方を上死点に配置し、クランクアームの他方を下死点に配置した状態をクランク12の回転角度が0°であると定義すると、典型的には、人力駆動力Hは、クランク12の回転角度が0°から360°まで変化する間に、第1の最小値から第1の最大値に変化し、その後、第2の最小値に変化し、さらにその後、第2の最大値に変化して、その後再び第1の最小値に変化する。
図7では、第1の最小値および第2の最小値をゼロ(0)としている。制御部62は、人力駆動力Hの変化に応じてモータ32の出力トルクを変化させる。人力駆動力Hの周期的な変化を推定することによって、クランク12の一部の角度範囲において人力駆動力Hを取得していなくても、モータ32の出力トルクを算出できる。
【0048】
好ましくは、制御部62は、周期的な振幅を有する波形の一部を用いて、クランク12の回転角度が予め定める角度範囲AR外の場合における人力駆動力Hを推定する。
図4に示されるように、人力駆動力Hの周期的な変化は、周期を有する波形に近似して表すことができる。周期を有する波形は、たとえば正弦波で表される。クランクアーム12B,12Cが上死点および下死点に位置するときのクランク12の回転角度に、周期を有する波形の最小ピークを対応させるか、または、クランクアーム12B,12Cが上死点および下死点から90°離れて位置するときのクランク12の回転角度に、周期を有する波形の最大ピークを対応させることによって、予め定めるクランク12の回転角度における人力駆動力Hに基づいて、人力駆動力Hを推定するために用いられる周期を有する波形を定義できる。定義された波形に基づいて、予め定めるクランク12の回転角度以外の回転角度における人力駆動力Hを推定できる。人力駆動力Hを推定するために用いられる周期を有する波形は、例えば、クランク12の回転角度に関する関係式として定義される。
【0049】
クランク12の回転角度に関する関係式は、次の(1)式、および、(1)式を変形した(2)式を含む。(1)式は、クランク12の回転角度に対する人力駆動力Hを示す。(1)式は、人力駆動力Hを推定するために用いられる周期を有する波形を示す。
Y=A{sin(2θ−π/2)+1}・・・・(1)
A=Y/{sin(2θ−π/2)+1}・・・・(2)
【0050】
Yは、人力駆動力Hを表す。θは、クランク12の回転角度を表す。(2)式においてYには、予め定める回転角度における人力駆動力Hが入力される。(2)式においてθには、予め定める回転角度が入力される。(2)式によって定数Aを決定できる。(2)式によって決定された定数Aは(1)式に代入される。(1)式で定数Aが決定されると、クランク12の各回転角度における人力駆動力Hの推定値を算出できる。クランク12の回転角度に関する関係式は、たとえば記憶部64に記憶されている。
【0051】
図5を参照して、クランク12の回転角度の定義を説明する。人力駆動車10を水平面に置いた状態で、一方のクランクアームが上死点に対応する位置に配置された状態におけるクランク12の回転角度をゼロ(0)とする。クランク12の回転角度は、クランク12の回転角度がゼロに対応する位置から、回転中心軸線C1まわりの第1方向DAへの角度TAによって定義される。クランク12の回転角度は、たとえば、回転中心軸線C1とクランクアームのペダル取り付け孔の中心軸線C2を含む平面をクランク12の基準面として定義される。
【0052】
制御部62は、クランク12の回転角度を取得する。本実施形態では、制御部62は、クランク12が予め定める回転角度にあることを検出するクランク角度センサ70の信号を受信することによって、クランク12の回転角度を取得する。クランク角度センサ70は、クランク軸12A、第1クランクアーム12Bまたは第2クランクアーム12Cの近傍において、クランク12が予め定める回転角度にあることを検出できるところに、配置される。制御部62は、別の方法で、クランク12の回転角度を取得してもよい。例えば、制御部62は、クランク12が基準回転角度にあるときのタイミングと、クランク12の回転速度とに基づいて、クランク12の回転角度を算出してもよい。クランク12の基準回転角度は、例えば、第1クランクアーム12Bまたは第2クランクアーム12Cの上死点、下死点、上死点から所定角度だけ離れた所定角度、または、下死点から所定角度だけ離れた所定角度として定義される。例えば、制御部62は、車速およびギア比に基づいてクランク12の回転速度を算出し、クランク12の回転速度と、クランク12が所定の基準回転角度にあるときのタイミングとに基づいて、クランク12の回転角度を算出してもよい。制御部62は、例えば、クランク12の回転角度をリアルタイムに検出するセンサからクランク12の回転角度を取得してもよい。
【0053】
例えば、複数の予め定める角度範囲ARは、第1の角度範囲AR1および第2の角度範囲AR2を含む。好ましくは、第1の角度範囲AR1は、クランク12が第1方向DAに回転する場合において、第1クランクアーム12Bが上死点から下死点に移動する範囲に設けられる。好ましくは、第2の角度範囲AR2は、クランク12が第1方向DAに回転する場合において、第2クランクアーム12Cが上死点から下死点に移動する範囲に設けられる。
【0054】
本実施形態では、人力駆動車10を水平面に置いた状態において、第1クランクアーム12Bが上死点にあり、第2クランクアーム12Cが下死点にあるときの、クランク12の回転角度を、0°とする。人力駆動車10のフレーム16に対する第1クランクアーム12Bおよび第2クランクアーム12Cの上死点および下死点の位置は、人力駆動車10のピッチ角度に応じて変化するので、人力駆動車10のピッチ角度を検出するセンサを設け、第1クランクアーム12Bおよび第2クランクアーム12Cの上死点および下死点の位置がずれないように人力駆動車10のピッチ角度に応じて、クランク角度センサ70によって検出されるクランク12の回転角度を補正してもよい。
【0055】
第1の角度範囲AR1は、クランク12が第1方向DAに回転する場合において、第1クランクアーム12Bが上死点から90°回転した角度を含む。第2の角度範囲AR2は、クランク12が第1方向DAに回転する場合において、第2クランクアーム12Cが上死点から90°回転した角度を含む。本実施形態では、第1の角度範囲AR1は、クランク12の回転角度が90°を含む範囲であり、第2の角度範囲AR2は、クランク12の回転角度が270°を含む範囲である。例えば、第1の角度範囲AR1は、第1クランクアーム12Bが上死点から90°の回転角度のみを含んでいてもよい。例えば、第2の角度範囲AR2は、第2クランクアーム12Cが上死点から90°の回転角度のみを含んでいてもよい。
【0056】
図6を参照して、制御部62のトルク算出処理について説明する。制御部62は、トルク算出処理を実行することによってモータ32の出力トルクの目標値を算出する。検出部72は、人力駆動力Hに関する信号を無線で制御部62に送信してもよい。人力駆動力Hに関する信号は、出力部36の歪みに関する実測データを含む。
【0057】
制御部62は、トルク算出処理を実行する。トルク算出処理は、次の、ステップS11〜ステップS16を含む。制御部62は、トルク算出処理を開始すると、ステップS11において、クランク角度センサ70の検出結果に応じて、クランク12の回転角度が予め定める角度範囲ARであるか否かを判定する。制御部62は、ステップS11においてクランク12の回転角度が予め定める角度範囲ARにあると判定すると、ステップS12に移る。制御部62は、ステップS11においてクランク12の回転角度が予め定める角度範囲ARではないと判定すると、ステップS11を繰り返す。
制御部62は、ステップS12において、検出部72から実測データを受信し、ステップS13に移る。制御部62は、ステップS13において、ステップS12において受信される実測データに基づいて予め定める角度範囲ARの人力駆動力Hを算出し、人力駆動力Hに基づいて目標の出力トルクを算出して、ステップS14に移る。
制御部62は、ステップS14において、クランク角度センサ70の検出結果に応じて、クランク12の回転角度が予め定める角度範囲AR外であるか否かを判定する。制御部62は、クランク12の回転角度が予め定める角度範囲AR外であると判定すると、ステップS15に移り、クランク12の回転角度が予め定める角度範囲ARであると判定すると、ステップS12に移る。
【0058】
制御部62は、ステップS15において、予め定める角度範囲ARの人力駆動力Hと、クランク12の回転角度に関する関係式と、に基づいて、予め定める角度範囲AR外の人力駆動力Hを推定する。具体的には、ステップS12で受信される実測データから、次にクランク12の回転角度が予め定める角度範囲AR内になるまでの間の角度範囲における人力駆動力Hを、関係式を用いて推定する。例えば、予め定める角度範囲ARが、第1の角度範囲AR1と第2の角度範囲AR2とを含み、第1の角度範囲AR1が90°であり、第2の角度範囲AR2が270°である場合、制御部62は、第1の角度範囲AR1における人力駆動力Hに応じて、91°〜269°の範囲の人力駆動力Hを推定し、2の角度範囲AR2が270°における人力駆動力Hに応じて、271°〜89°の範囲の人力駆動力Hを推定する。以下、制御部62によって推定される人力駆動力Hを、人力駆動力HEとする。
【0059】
制御部62は、ステップS16において、ステップS15で推定される人力駆動力HEに基づいて目標の出力トルクを算出する。例えば、制御部62は、予め定める比率XAと、推定される人力駆動力Hとの乗算の値を、目標値の出力トルクとして算出する。
【0060】
図7を参照して、人力駆動力H、人力駆動力HE、およびモータ32の出力トルクの関係について説明する。
図7(A)は、クランク12の回転角度と、人力駆動力Hとの関係を示す。
図7(B)は、クランク12の回転角度と、人力駆動力HEとの関係を示す。
図7(C)は、クランク12の回転角度と、モータ32の出力トルクとの関係を示す。
平地を走る人力駆動車10では、たとえば
図7(A)に示されるように、人力駆動力Hは、クランク12の回転角度が0°、180°のとき、最小となり、90°、270°のとき最大となる。本実施形態では、人力駆動力Hの最小値をゼロ(0)として説明する。本実施形態では、クランク12の回転角度が90°と270°であるときに、検出部72によって人力駆動力Hを検出する。制御部62は、関係式の(1)式および(2)式と、クランク12の回転角度が90°と270°のときの人力駆動力Hとに基づいて、クランク軸12Aに加わる人力駆動力Hを推定する。
図7(B)において、クランク12の回転角度が90°と270°であるときに、検出部72によって検出される人力駆動力Hを黒点で示す。制御部62によって推定される人力駆動力HEの波形は、人力駆動力Hの波形に類似する。制御部62は、検出部72によって検出される人力駆動力H、または、推定される人力駆動力HEと、予め定める比率XAとに基づいて、モータ32の出力トルクを決定する。
図7に示されるように、クランク12の回転角度について、人力駆動力Hのピークとモータ32の出力トルクのピークとは一致する。このようにして、人力駆動力Hに応じた出力トルクがモータ32から出力される。
【0061】
本実施形態では、制御部62は、クランク12が予め定める角度範囲ARのときだけ人力駆動力Hに関する信号を検出部72から取得する。制御部62は、クランク12が予め定める角度範囲AR外にあるとき、人力駆動力Hに関する信号を検出部72から取得しない。これによって、検出部72から信号を取得するときの演算処理が軽減される。例えば、クランク12の1周期における、検出部72から出力される信号からのノイズを除去する演算処理の負担を少なくできる。ノイズを除去する演算処理は、信号の平滑化処理を含む。
【0062】
図8を参照して、クランク12に回転に伴って人力駆動力Hが減少するときの、モータ32の出力トルクの推移の一例について説明する。クランク12の回転角度が90°のとき、検出部72によって人力駆動力Hが検出され、以後、クランク12の回転角度が180°回転する毎に、検出部72によって人力駆動力が検出される。
図7(B)で説明したように、クランク12の回転角度が91°〜269°の第3の角度範囲の人力駆動力HEは、クランク12の回転角度が90°のときの人力駆動力Hに応じて決定される。
クランク12の回転角度が271°〜449°である第4の角度範囲の人力駆動力HEは、クランク12の回転角度が270°のときの人力駆動力Hに応じて決定される。クランク12の回転角度が270°のときの人力駆動力Hが、クランク12の回転角度が90°のときの人力駆動力Hよりも小さくなると、人力駆動力HEの振幅が小さくなるので、
図8の2点鎖線に示されるように、第3の角度範囲における出力トルクの振幅T1と、第4の角度範囲における出力トルクの振幅T2とに段差が生じる。制御部62は、出力トルクが急に変化しないように、人力駆動力HEまたはモータ32の目標の出力トルクにフィルタ処理を行ってもよい。
制御部62は、クランク12の回転が停止すると、モータ32を停止させる。制御部62は、クランク12の回転の停止に伴ってモータ32を停止させる場合、クランク12の回転が停止した後に、モータ32の回転数が徐々に小さくなるようにモータ32を制御してもよい。
図6の制御部62のトルク算出処理は、たとえば、制御部62に電力が供給されると開始されてもよく、モータ32が人力駆動車10の推進をアシストしない非アシストモードから、モータ32が人力駆動車10の推進をアシストするアシストモードに制御モードが変更されると開始されてもよい。
図6の制御部62のトルク算出処理は、たとえば、制御部62への電力の供給が停止されるか、アシストモードから、非シストモードに制御モードが変更されるまで、処理を繰り返し、制御部62への電力の供給が停止されるか、アシストモードから、非シストモードに制御モードが変更されると、終了する。
【0063】
<第2実施形態>
図9〜
図13を参照して、第2実施形態に係る制御装置60を説明する。第1実施形態と共通する構成については、第1実施形態と同一の符号を付し、重複する説明を省略する。
【0064】
図9に示されるように、人力駆動車10は、好ましくは、第1実施形態に示された構成に加えて、入力装置40をさらに含む。入力装置40は、人力駆動車10に着脱可能に設けられてもよい。制御部62は、入力装置40と有線または無線通信によって通信可能に構成される。制御部62が入力装置40と有線通信によって通信可能に構成される場合、制御部62と入力装置40とは、例えば電力線通信によって接続される。制御部62が入力装置40と有線通信によって接続可能に構成される場合、入力装置40、制御部62、および、制御部62と入力装置40とを接続するための通信線のいずれか1つに、入力装置40と制御部62とを有線接続するためのポート部が設けられる。制御部62が入力装置40と無線通信によって接続可能に構成される場合、制御部62および入力装置40のそれぞれには、無線通信部が設けられる。無線通信の規格の一例は、ANT+(登録商標)またはBluetooth(登録商標)である。
【0065】
入力装置40は、1または複数の操作装置42を含む。操作装置42は、制御部62に出力信号を送信する。操作装置42は、プッシュスイッチ、レバー式スイッチ、および、タッチパネルの少なくとも1つを含んで構成されていてもよい。入力装置40は、たとえば、レバースイッチ、サイクルコンピュータ、携帯電話、および、スマートフォンの1つを含む。
制御装置60は、好ましくは、ペダル荷重センサ76をさらに含む。ペダル荷重センサ76は、搭乗者の搭乗状態を検出するために用いられる。ペダル荷重センサ76は、ペダル18またはクランク12に設けられる。ペダル荷重センサ76は、ペダル18に加わる荷重を検出する。
制御装置60は、好ましくは、着座荷重センサ78を含む。着座荷重センサ78は、着座状態を検出する。着座荷重センサ78は、サドル16Dに加わる荷重を検出する。着座荷重センサ78は、制御部62と有線または無線によって接続される。
制御装置60は、好ましくは、サドル位置センサ80を含む。サドル位置センサ80は、サドル16Dの高さを検出する。サドル位置センサ80は、制御部62と有線または無線によって接続される。
制御装置60は、好ましくは、周辺センサ82を含む。周辺センサ82は、ハンドルバー16Cまたはフレーム16に設けられる。周辺センサ82は、たとえばカメラを含み、周辺センサ82のカメラは、人力駆動車10の前方エリアを撮影する。周辺センサは、レーダを含んでいてもよい。周辺センサ82は、制御部62と有線または無線によって接続される。
制御装置60は、好ましくは、傾斜センサ84を含む。傾斜センサ84は、たとえばフレーム16に設けられる。傾斜センサ84は、ジャイロを含む。傾斜センサ84は、人力駆動車10の前後方向における傾斜角度、および人力駆動車10の左右方向の傾斜角度の少なくとも一方を検出する。傾斜センサ84は、制御部62と有線または無線によって接続される。
制御装置60は、好ましくは、風圧センサ86を含む。制御装置60は、好ましくは、風向きセンサをさらに含む。風圧センサ86は、風圧を検出する。例えば、風圧センサ86は、ハンドルバー16Cまたはフレーム16に設けられる。風圧センサ86は、制御部62と有線または無線によって接続される。
【0066】
制御部62は、操作装置42が操作されることによって、人力駆動車10の仕様、および、人力駆動車10の搭乗者の身体的特徴の少なくとも1つを取得する。人力駆動車10の仕様および搭乗者の身体的特徴については後述する。
【0067】
第1実施形態と同様に、制御部62は、クランク12の回転角度がクランク12の回転方向に相互に離間している複数の予め定める角度範囲AR内にある場合における人力駆動力Hに応じて、クランク12の回転角度が複数の予め定める角度範囲AR外において、出力トルクが変化するようにモータ32を制御する。
【0068】
本実施形態では、複数の予め定める角度範囲ARのうちの少なくとも1つの予め定める角度範囲ARの位相は、変更可能である。具体的には、好ましくは、制御部62は、人力駆動車10の状態、人力駆動車10の仕様、人力駆動車10の搭乗者の搭乗状態、人力駆動車10の搭乗者の身体的特徴、および、人力駆動車10の走行環境の少なくとも1つに応じて、複数の予め定める角度範囲ARの幅、位相、および、数の少なくとも1つを変更する。
【0069】
予め定める角度範囲ARの位相を変更する場合について説明する。例えば、予め定める角度範囲ARの位相は、人力駆動力Hの波形の最大値の位相が予め定める角度範囲ARに入るように、制御部62によって変更される。人力駆動力Hの波形の最大値は、人力駆動車10の状態、人力駆動車10の仕様、人力駆動車10の搭乗者の搭乗状態、人力駆動車10の搭乗者の身体的特徴、および、人力駆動車10の走行環境の少なくとも1つに応じて変わる。予め定める角度範囲ARの位相は、ユーザの操作装置42へ操作に応じて変更してもよい。制御部62が予め定める角度範囲ARを変更することによって、人力駆動力Hの波形の最大値を検出部72によって確実に検出できるようになる。モータ32の出力トルクの目標値を算出する場合、最大値を含む人力駆動力Hを用いることによって、モータ32の出力トルクが不足してしまうことを抑制できる。
【0070】
図10には、予め定める角度範囲ARを変更する場合の一例を示される。たとえば、初期状態において、予め定める第1の角度範囲AR1が、60°〜120°の範囲に定められ、予め定める第2の角度範囲AR2が、240°〜300°の範囲に定められている場合において、制御部62は、第1の角度範囲AR1を、たとえば40°〜100°に変更し、第2の角度範囲AR2をおよび、たとえば220°〜280°の範囲に変更する。
【0071】
図11には、予め定める角度範囲ARを変更する場合の他の例が示される。
図11(A)は、人力駆動力Hが最大値となるクランク12の回転角度が、90°から上死点側にシフトしている状態の人力駆動力Hの波形の一例を示す。
図11(A)に示すように人力駆動力Hが最大値となるクランク12の回転角度が、90°からずれる場合は、予め定める角度範囲ARに人力駆動力Hの最大値が含まれるように、たとえば、
図7(B)に示される予め定める角度範囲AR1、AR2を、
図11(A)に示される予め定める角度範囲AR1´、AR2´に変更することが好ましい。好ましくは、制御部62は、予め定める角度範囲AR1´、AR2´を変更するとともに、人力駆動力Hを算出するための関係式を、人力駆動力Hの波形に合致するような関係式に変更する。
図11(B)は、出力トルクの波形の一例を示す。人力駆動力Hが最大値となるクランク12の回転角度が、90°から上死点側にシフトする例として、リカンベントのように、クランク12が搭乗者よりも前方に位置するような場合が挙げられる。
【0072】
図12には、予め定める角度範囲ARを変更する場合の他の例が示される。
図12(A)は、人力駆動力Hが最大値となるクランク12の回転角度が、90°から下死点側にシフトしている状態の人力駆動力Hの波形の一例を示す。
図12(A)に示すように人力駆動力Hが最大値となるクランク12の回転角度が、90°からずれる場合は、予め定める角度範囲ARに人力駆動力Hの最大値が含まれるように、たとえば、
図7(B)に示される予め定める角度範囲AR1、AR2を、
図12(A)に示される予め定める角度範囲AR1´、AR2´に変更することが好ましい。好ましくは、制御部62は、予め定める角度範囲AR1´、AR2´を変更するとともに、人力駆動力Hを算出するための関係式を、人力駆動力Hの波形に合致するような関係式に変更する。
図12(B)は、出力トルクの波形の一例を示す。人力駆動力Hが最大値となるクランク12の回転角度が、90°から下死点側にシフトする例として、クランク12が搭乗者よりも後ろ側に位置するような場合が挙げられる。
【0073】
図13は、
図7(B)に示す場合と比較して、予め定める角度範囲ARの幅を拡大した例を示す。第1の角度範囲AR1が90°に定められている場合、制御部62は、たとえば、第1の角度範囲AR1を80°〜100°に変更する。第2の角度範囲AR2が、270°に定められている場合、制御部62は、たとえば第2の角度範囲AR2を260°〜280°に変更する。このように変更された第1の角度範囲AR1および第2の角度範囲AR2において、制御部62は、検出部72によって検出される人力駆動力Hと予め定める比率XAとに基づいて目標の出力トルクを計算する。第1の角度範囲AR1から第2の角度範囲AR2までの間の角度範囲における人力駆動力HEは、第1の角度範囲AR1において検出された人力駆動力Hの最大値と(1)式および(2)式とに基づいて、推定されてもよく、第1の角度範囲AR1のうちクランク12の回転方向における最下流の角度における人力駆動力Hの値と、(1)式および(2)式とに基づいて推定されてもよく、第1の角度範囲AR1の全範囲の波形から推定されてもよい。同様に、第2の角度範囲AR2から次の周期の第1の角度範囲AR1までの間の角度範囲における人力駆動力HEは、第2の角度範囲AR2において検出された人力駆動力Hの最大値と(1)式および(2)式とに基づいて、推定されてもよく、第2の角度範囲AR2のうちクランク12の回転方向における最下流の角度における人力駆動力Hの値と、(1)式および(2)式とに基づいて推定されてもよく、第2の角度範囲AR2の全範囲の波形から推定されてもよい。予め定める角度範囲ARの幅が大きくなるように変更する場合、人力駆動力HEの推定範囲が狭くなるため、たとえば人力駆動力Hが急激に変化する場合に、モータ32の出力トルクを人力駆動力Hに追従させやすくなる。予め定める角度範囲ARの幅が小さくなるように変更する場合、人力駆動力HEの推定範囲が広くなるため、たとえば制御部62の処理の負荷を低減することができる。
【0074】
制御部62は、予め定める角度範囲AR変更を、ユーザの操作装置42へ操作に応じて変更してもよく、車両関連情報に応じて変更してもよい。
【0075】
予め定める角度範囲ARの数は、ユーザの操作装置42へ操作に応じて変更してもよく、車両関連情報に応じて変更してもよい。予め定める角度範囲ARの数は、好ましくは、人力駆動力Hの不規則な変化の多さに応じて変更される。例えば、人力駆動車10を立ち漕ぎする場合、および、凸凹のある路面を走行する場合に、クランク12の回転の1周期において、人力駆動力Hは不規則に変化しやすい。これに対して、舗装された平坦な道が続くとき、クランク12の回転の数周期にわたって人力駆動力Hは規則的に変化しやすい。
図14は、
図7(B)に示す場合と比較して、予め定める角度範囲ARの数を増やした例を示す。例えば、クランク12の回転の1周期において、予め定める角度範囲ARの数が、2から8に変更される。これによって、制御部62によって推定される波形を、クランク12に加わる人力駆動力Hの波形により近づけることができる。
【0076】
以下、車両関連情報について具体的な事例を挙げる。
人力駆動車10の状態は、人力駆動車10の車速、クランク12の回転速度、人力駆動車10の加速度、クランク12の回転速度に対する駆動輪の回転速度の比率、人力駆動車10の傾斜の少なくとも1つを含む。
人力駆動車10の車速、クランク12の回転速度、人力駆動車10の加速度、クランク12の回転速度に対する駆動輪14の回転速度の比率、および、人力駆動車10の傾斜に応じて、クランク12に加わる人力駆動力Hの波形が変化する場合がある。このため、制御部62は、人力駆動車10の車速、クランク12の回転速度、人力駆動車10の加速度、クランク12の回転速度に対する駆動輪14の回転速度の比率、および、人力駆動車10の傾斜少なくとも1つに応じて、予め定める角度範囲ARの幅、位相、および、数の少なくとも1つを変更してもよい。
【0077】
人力駆動車10の仕様は、サドル16Dからクランク12のクランク軸12Aまでの長さ、人力駆動車10のフレームの形状、フレームの種類、および、ビンディングペダルの装着状態の少なくとも1つを含む。
人力駆動車10の仕様の違いに応じて、クランク12に加わる人力駆動力Hの波形が変化する場合がある。このため、制御部62は、サドル16Dからクランク12のクランク軸12Aまでの長さ、人力駆動車10のフレームの形状、フレームの種類、および、ビンディングペダルの装着状態の少なくとも1つに応じて、予め定める角度範囲ARの幅、位相、および、数の少なくとも1つを変更してもよい。
【0078】
人力駆動車10の搭乗者の搭乗状態は、サドル16Dに着座している状態、立ち漕ぎ状態、および、ペダル18の一方にのみ荷重をかけて走行している状態の少なくとも1つ、を含む。
制御部62は、ペダル荷重センサ76、クランク回転センサ66および着座荷重センサ78の少なくとも1つから出力される信号に基づいて、搭乗者の搭乗状態を判定する。ペダル荷重センサ76は、左右のペダル18、または、第1クランクアーム12Bおよび第2クランクアーム12Cのそれぞれに設けられることが好ましい。制御部62は、たとえば、着座荷重センサ78から出力される信号に基づいて、着座している状態を判定する。制御部62は、たとえば、着座荷重センサ78およびクランク回転センサ66からの出力される信号に基づいて、立ち漕ぎ状態を判定する。制御部62は、たとえば、左右のペダル18の荷重の差または、第1クランクアーム12Bおよび第2クランクアーム12Cの荷重の差に基づいて、一方にペダル18にのみ荷重がかかっている状態を判定する。
搭乗者の搭乗状態の違いに応じて、クランク12に加わる人力駆動力Hの波形が変化する場合がある。このため、制御部62は、サドル16Dに着座している状態、立ち漕ぎ状態、および、ペダル18の一方にのみ荷重をかけて走行している状態の少なくとも1つに基づいて、予め定める角度範囲ARの幅、位相、および、数の少なくとも1つを変更してもよい。検出部72によって、ペダル18に加わる荷重を検出できる場合、ペダル荷重センサ76は省略し、制御部62は、検出部72から出力される信号に基づいて、搭乗者の搭乗状態を判定してもよい。
【0079】
人力駆動車10の搭乗者の搭乗状態は、サドル16Dに加わる荷重の状態を含む。制御部62は、たとえば、着座荷重センサ78から出力される信号に基づいて、荷重が第1閾値以下の場合と、第1閾値よりも大きい場合とにおいて、予め定める角度範囲ARを変更してもよい。制御部62は、サドル16Dに加わる荷重の状態に基づいて、予め定める角度範囲ARの幅、位相、および、数の少なくとも1つを変更してもよい。
【0080】
人力駆動車10の搭乗者の身体的特徴は、脚の長さを含む。身体的特徴に応じて、クランク12に加わる人力駆動力Hの波形が変化する場合がある。このため、制御部62は、脚の長さに基づいて、予め定める角度範囲ARの幅、位相、および、数の少なくとも1つを変更する。脚の長さに関する情報は、例えば、入力装置40を用いて記憶部64に記憶される。
制御部62は、サドル16Dの位置およびクランク軸12Aの間の長さと、脚の長さとの差または比に基づいて、予め定める角度範囲ARの位相を変更してもよい。脚の長さが、サドル16Dの位置とクランク軸12Aとの間の長さよりも長く、かつ、その差が規定値よりも大きい場合、クランク12の回転角度が90°において脚の曲がりが大きくなり、クランク12に加わる人力の最大になるクランク12の回転角度は、90°よりも大きくなる。制御部62は、脚の長さが、サドル16Dの位置とクランク軸12Aとの間の長さよりも長く、かつ、その差が規定値よりも大きい場合、予め定める角度範囲ARの位相をクランク12の回転方向の下流側にシフトする。
【0081】
人力駆動車10の走行環境は、走行路の種類、走行路の傾斜、走行路の形状、風速、および風向きの少なくとも1つを含む。走行環境に応じて、クランク12に加わる人力駆動力Hの波形が変化する場合がある。このため、制御部62は、走行路の種類、走行路の傾斜、走行路の形状、風速、および風向きの少なくとも1つに基づいて、予め定める角度範囲ARの幅、位相、および、数の少なくとも1つを変更する。
【0082】
制御部62は、走行路の種類および走行路の形状を、周辺センサ82に含まれるカメラの画像に基づいて判定されてもよく、記憶部64に地図データを記憶しておき、GPS受信機によって受信される位置情報と、地図データとに基づいて判定されてもよい。
走行路の種類は、舗装道路および非舗装道路を含む。走行路の傾斜は、平坦、上り坂、急な上り坂、下り坂、および急な下り坂を含む。走行路の形状は、急なカーブ、緩やかなカーブ、折れ曲がり、および、直線を含む。制御部62は、たとえば、走行路の種類が非舗装道路であること、走行路の傾斜が平坦以外であること、および、走行路の形状が直線以外であること、の少なくとも1つが成立する場合に、予め定める角度範囲ARの幅および数の少なくとも一方を増加させてもよい。
【0083】
制御部62は、人力駆動車10の前後方向における傾斜角度、および人力駆動車10の左右方向の傾斜角度の少なくとも一方に基づいて、予め定める角度範囲ARの幅、位相、および、数の少なくとも1つを変更してもよい。制御部62は、たとえば人力駆動車10前方が上方に傾斜する場合、予め定める角度範囲ARの位相をクランク12の回転方向の下流側にシフトする。制御部62は、たとえば人力駆動車10の前方が下方に傾斜する場合、予め定める角度範囲ARの位相をクランク12の回転方向の上流側にシフトする。
【0084】
制御部62は、たとえば、風速が増加または減少する場合、予め定める角度範囲ARの数を変更する。
【0085】
<第3実施形態>
第3実施形態に係る制御装置60を説明する。第1実施形態と共通する構成については、第1実施形態と同一の符号を付し、重複する説明を省略する。
【0086】
第3実施形態に係る制御装置60は、第1実施形態と同様に、クランク12を有する人力駆動車10の推進をアシストするモータ32を、クランク12に入力される人力駆動力Hに応じて制御する制御部62を含む。
制御部62は、クランク12の回転角度が予め定める角度範囲ARにある場合に得られる人力駆動力Hに応じて、クランク12の回転角度が予め定める角度範囲AR外にある場合においてモータ32を制御する。加えて、制御部62は、人力駆動車10の状態、人力駆動車10の仕様、人力駆動車10の搭乗者の搭乗状態、人力駆動車10の搭乗者の身体的特徴、および、人力駆動車10の走行環境の少なくとも1つに応じて、予め定める角度範囲ARの幅、位相、および、数の少なくとも1つを変更する。
【0087】
人力駆動車10の状態の例、人力駆動車10の仕様の例、人力駆動車10の搭乗者の搭乗状態の例、人力駆動車10の搭乗者の身体的特徴の例、および、人力駆動車10の走行環境の例は、第2実施形態に挙げた例と同じである。
【0088】
第3実施形態では、クランク12の1周期において、予め定める角度範囲ARは少なくとも1つあればよく、予め定める角度範囲ARは複数であってもよい。複数の予め定める角度範囲ARが設定されている場合、複数の予め定める角度範囲ARのそれぞれが独立して、人力駆動車10の状態、人力駆動車10の仕様、人力駆動車10の搭乗者の搭乗状態、人力駆動車10の搭乗者の身体的特徴、および、人力駆動車10の走行環境の少なくとも1つに応じて、予め定める角度範囲ARの幅、位相、および、数の少なくとも1つが変更されてもよい。
【0089】
<第4実施形態>
各実施形態において、制御部62は、次の構成を含んでもよい。
制御部62は、クランク12にビンディングペダルが装着されている場合、クランク12にビンディングペダルが装着されていない場合よりも、モータ32の出力トルクの最大値および最小値との差が小さくなるように、モータ32を制御する。ビンディングペダルは、クリップレスペダル、または、クリップインペダルともいう。
【0090】
例えば、制御部62は、人力駆動車10にビンディングペダルが装着されている場合に、モータ32に適切なアシスト力を出力させるために関係式の(1)式を調整し、調整された式を用いてモータ32を制御するための目標の出力トルクを算出する。制御部62は、人力駆動力Hの推定に用いられる関係式の(1)式の、Yの最大値と最小値との差が、ビンディングペダルが装着されているときの人力駆動力Hに対して適切な値となるように、(1)式を変形する。例えば、(1)式において、「A」の値を小さくする。
図15に示されるように、制御部62は、さらに、Yの平均値が増大するようにする(1)式を変形し、(3)式を得る。
Y=A{sin(2θ−π/2)+1}+B・・・・(3)
(3)式は、(1)式の右辺に定数項Bを加えた式である。
図15には、(1)式に対応する波形を2点鎖線で示し、(3)式に対応する波形を実線で示している。(3)式を用いて、人力駆動力HEを推定することによって、人力駆動車10にビンディングペダルが装着されている場合に、モータ32によって適切なアシスト力を付与できる。(3)式は、たとえば記憶部64に登録されている。制御部62は、ビンディングペダルの装着状態に関する信号に基づいて、人力駆動力HEを推定に使用する関係式を(1)式から(3)式に変更する。ビンディングペダルの装着状態に関する信号は、たとえば、入力装置40を用いて制御部62に与えられる。
【0091】
<第5実施形態>
各実施形態において、さらに、制御部62は、次の構成を含んでもよい。
制御部62は、人力駆動力Hの最大値が所定値以上の場合、人力駆動力Hの最大値が所定値未満の場合よりも、モータ32の出力トルクの最大値および最小値との差が小さくなるように、モータ32を制御する。
例えば、制御部62は、人力駆動力Hの最大値が所定値以上の場合に、モータ32に適切なアシスト力を出力させるために関係式の(1)式を調整し、調整された式を用いてモータ32を制御するための目標の出力トルクを算出する。制御部62は、人力駆動力Hの推定に用いられる関係式の(1)式を、Yの最大値と最小値との差が適切な値となるように変形する。例えば、制御部62は、Yの最大値が変化しないで、Yの最小値が大きくなるように(1)式を変形する。(1)式と(2)式とを含んで第1関係式とし、(1)式から変形して得られる変形式と、(2)式とを含んで第2関係式とする。人力駆動力Hの最大値が所定値以上である場合にはモータ32の脈動が大きくなりやすいが、本実施形態ではモータ32の脈動を抑制できる。
【0092】
制御部62は、
図16に示されるトルク算出処理を実行する。トルク算出処理は、次の、ステップS21〜ステップS28を含む。ステップS21からステップS24までの各ステップは、それぞれ第1実施形態におけるステップS11からステップS14に対応する。ステップS21からステップS24によって、制御部62は、予め定める角度範囲ARの人力駆動力Hを取得する。
【0093】
制御部62は、ステップS25において、実測データから求められる人力駆動力Hから人力駆動力Hの最大値を抽出し、人力駆動力HEの最大値が所定値以上であるか否かを判定する。人力駆動力Hの最大値が所定値未満であるとき、制御部62は、ステップS26を実行する。人力駆動力Hの最大値が所定値以上であるとき、制御部62は、ステップS27を実行する。
【0094】
制御部62は、ステップS26において、予め定める角度範囲ARの人力駆動力Hと第1関係式とに基づいて、予め定める角度範囲AR外の人力駆動力HEを推定する。一例では、第1関係式は、第1実施形態の関係式を含む。具体的には、実測データを得た所定の角度範囲ARから実測データを得る次の角度範囲ARまでの間の角度範囲における人力駆動力HEを、第1関係式を用いて推定する。その後、制御部62は、ステップS28において、人力駆動力HEに基づいて目標としての出力トルクを算出する。
【0095】
制御部62は、ステップS27において、実測データと第2関係式とに基づいて、人力駆動力HEを推定する。具体的には、実測データを得た所定の角度範囲ARから実測データを得る次の角度範囲ARまでの間の角度範囲における人力駆動力HEを、第2関係式を用いて推定する。その後、制御部62は、ステップS28を実行し、人力駆動力HEに基づいて目標としての出力トルクを算出する。
【0096】
制御部62は、ステップS28において、クランク12の各回転角度における人力駆動力HEに基づいて目標の出力トルクを算出する。例えば、制御部62は、人力駆動力HEに対する出力トルクの比率XAと人力駆動力Hとの乗算値を、目標値の出力トルクとして算出する。
【0097】
<第6実施形態>
各実施形態において、さらに、制御部62は、次の構成を含んでもよい。
制御部62は、人力駆動車10の走行抵抗が増加する場合、モータ32の出力トルクの最大値および最小値との差が小さくなるように、モータ32を制御する。また、制御部62は、人力駆動車10の走行抵抗が減少する場合、モータ32の出力トルクの最大値および最小値との差が大きくなるように、モータ32を制御する。
【0098】
具体的には、制御部62は、人力駆動車10の走行抵抗が増減する場合に、適切なアシスト量とするために関係式の(1)式を調整し、調整された式を用いてモータ32を制御するための目標の出力トルクを算出する。制御部62は、人力駆動力Hの推定に用いられる関係式の(1)式のYの最大値と最小値との差が、走行抵抗に対して適切な値となるように、(1)式を変形する。例えば、制御部62は、Yの最大値が変化しないで、Yの最小値が大きくなるように(1)式を変形する。(1)式から変形して得られる変形式と、(2)式とを含んで第3関係式とする。
【0099】
走行抵抗は、次の式で定義される。
走行抵抗=CdS(V−Va)
2+μmg+μgsinθ+mVx・・・(4)
CdS(V−Va)
2は、空気抵抗を表す。
μmgは、転がり抵抗を表す。
μgsinθは、勾配抵抗を表す。
mVxは、加速抵抗を表す。
「g」は重力加速度を意味する。重力加速度に関する情報は、たとえば記憶部64に予め記憶されている。
「m」は、質量を意味する。ここでは、「m」は、人力駆動車10の質量と搭乗者の体重と荷物との総質量を意味する。質量に関する情報は、たとえば、記憶部64に予め記憶されていてもよく、入力装置40によって記憶部64に記憶または設定されてもよい。
「CdS」は、前方投影面積、空気密度、および人力駆動車10の形状から決まる空気抵抗係数を意味する。空気抵抗係数に関する情報は、たとえば記憶部64に予め記憶されている。
「μ」は、転がり摩擦係数を意味する。転がり摩擦係数に関する情報は、たとえば記憶部64に予め記憶されている。
「θ」は、傾斜角度を意味する。
「Va」は、風速を意味する。好ましくは、制御装置60は、たとえば風速センサをさらに含む。風速センサは、制御部62に接続される。
「V」は、車速を意味する。
「Vx」は、加速度を意味する。制御装置60は、たとえば加速度センサをさらに含む。車速センサ68によって検出される車速から制御部62が加速度を算出してもよい。
本実施形態では、走行抵抗には、空気抵抗、転がり抵抗、勾配抵抗および加速抵抗が含まれているが、走行抵抗には、空気抵抗、転がり抵抗、勾配抵抗および加速抵抗のうちの少なくとも1つのみが含まれていてもよく、任意の2つまたは3つのみが含まれていてもよい。
【0100】
制御部62は、
図17に示されるトルク算出処理を実行する。トルク算出処理は、次の、ステップS31〜ステップS38を含む。ステップS31からステップS34までは第1実施形態におけるステップS11からステップS14に準ずる。ステップS31からステップS34によって、制御部62は、予め定める角度範囲ARの人力駆動力Hを取得する。
【0101】
制御部62は、ステップS35において、走行抵抗が増加しているか、走行抵抗が減少しているかを判定する。例えば、走行抵抗の規定範囲は、第1値以上、第1値よりも大きい第2値以下の範囲を規定範囲として定義される。制御部62は、走行抵抗が、第1値よりも小さいとき、走行抵抗が減少していると判定する。制御部62は、走行抵抗が、第1値よりも大きい第2値よりも大きいとき、走行抵抗が増大していると判定する。走行抵抗が、規定範囲内にあるとき、制御部62は、ステップS36を実行する。走行抵抗が、増大または減少しているとき、制御部62は、ステップS37を実行する。
【0102】
制御部62は、ステップS36において、予め定める角度範囲ARの人力駆動力Hと第1関係式とに基づいて、予め定める角度範囲AR外の人力駆動力HEを推定する。一例では、第1関係式は、第1実施形態の関係式を含む。具体的には、実測データを得た所定の角度範囲ARから実測データを得る次の角度範囲ARまでの間の角度範囲における人力駆動力HEを、第1関係式を用いて推定する。その後、制御部62は、ステップS38において、人力駆動力HEに基づいて目標としての出力トルクを算出する。
【0103】
制御部62は、ステップS37において、実測データと第3関係式とに基づいて、人力駆動力HEを推定する。具体的には、実測データを得た所定の角度範囲ARから実測データを得る次の角度範囲ARまでの間の角度範囲における人力駆動力HEを、第3関係式を用いて推定する。その後、制御部62は、ステップS38を実行し、人力駆動力HEに基づいて目標としての出力トルクを算出する。
【0104】
制御部62は、ステップS38において、クランク12の各回転角度における人力駆動力Hに基づいて目標の出力トルクを算出する。例えば、制御部62は、人力駆動力Hに対する出力トルクの比率XAと人力駆動力Hとの乗算値を、目標値の出力トルクとして算出する。
【0105】
<その他の実施形態>
・各実施形態において、制御部62は、クランク12が予め定める角度範囲ARにおいて検出部72から実測データを受信するように検出部72に電力を供給して検出部72を起動させ、クランク12が予め定める角度範囲AR外になると、検出部72への電力の供給を停止して、検出部72を停止させるようにしてもよい。これによって、電力の消費を低減することができる。制御部62は、クランク12が予め定める角度範囲ARになるとたとえばクランク12に設けられる磁石の磁力に応じて状態が変化するスイッチを含み、制御プログラムを必要としないで、検出部72への電力の供給を開始および停止する構成としてもよい。
【0106】
・人力駆動力Hの推定に用いられる関係式は、各実施形態の例に限定されない。関係式に代えて、予め定める波形を用いて人力駆動力Hを推定してもよく、クランク12の回転角度と人力駆動力Hとの関係を示すマップを用いて人力駆動力Hを推定してもよい。関係式は、3次関数の項を含んでいてもよく、4次関数の項を含んでいてもよい。1周期において予め定める角度範囲ARが8以上である場合、予め定める角度範囲ARと次の予め定める角度範囲ARとの間の角度範囲に適用される関係式は、1次関数であってもよい。
【0107】
・各実施形態では、人力駆動力Hを検出する検出部72は、出力部36に設けられているが、検出部72の配置はこれに限定されない。例えば、検出部72は、第1クランクアーム12Bおよび第2クランクアーム12Cの少なくとも一方に設けられてもよく、ペダル18に設けられてもよい。検出部72は、搭乗者の靴底に装着されてもよい。
・第2実施形態において、入力装置40、ペダル荷重センサ76、着座荷重センサ78、サドル位置センサ80、周辺センサ82、傾斜センサ84、および、風圧センサ86のうちの少なくとも1つを除く構成は、省略することができる。たとえば、第2実施形態において、入力装置40、ペダル荷重センサ76、着座荷重センサ78、サドル位置センサ80、周辺センサ82、傾斜センサ84、および、風圧センサ86のうちの任意の1つ、任意の2つ、任意の3つ、任意の4つ、任意の5つ、任意の6つの構成を省略してもよい。