運転者がペダル40L、40Rを踏むことにより回転するクランク軸38の回転トルク値をトルクセンサ80で検出し、該回転トルク値を用いて決定されたアシスト力を発生するようにモータ50を制御する電動補助自転車10の補助動力制御装置54において、前記補助動力制御装置54は、前記回転トルク値のピーク位置が検出されたタイミングから前記回転トルク値が検出されたタイミングまでの時間から、現在の前記回転トルク値が検出されたときの前記クランク軸38の回転角度を算出するとともに、算出された前記クランク軸38の回転角度から、検出された前記現在の回転トルク値から運転者が鉛直方向に前記ペダル40L、40Rを踏む踏み力を算出し、算出された前記踏み力に応じて前記モータ50のアシスト力を決定することを特徴とする電動補助自転車10の補助力制御装置54。請求項1に記載の電動補助自転車10の補助力制御装置54において、前記回転トルク値のピーク位置間を1サイクルとし、前回の1サイクルの期間の前記回転トルク値を参照データとして更新し、該参照データを用いて今回の1サイクルで検出される前記回転トルク値を正規化相関して得られた相関値から回転トルク位置のピーク位置を推定することを特徴とする電動補助自転車10の補助動力制御装置54。請求項1又は2に記載の電動補助自転車10の補助動力制御装置54において、前記電動補助自転車10の車速と前記踏み力に応じて前記モータ50のアシスト力を決定することを特徴とする電動保持自転車10の補助動力制御装置54。しかしながら、検出される回転トルク値は、運転者がペダルに加える踏み力の回転方向の分力であるため、該踏み力に応じたアシストトルクを発生させるようにモータが駆動制御されていない。そこで、本発明は、係る従来の問題点に鑑みてなされたものであり、運転者の踏み力に応じたアシストトルクを発生するようにモータの駆動制御を行う電動補助自転車の補助力制御装置を提供することを目的とする。上記目的を達成するために、請求項1に係る発明は、運転者がペダル40L、40Rを踏むことにより回転するクランク軸38の回転トルク値をトルクセンサ80で検出し、該回転トルク値を用いて決定されたアシスト力を発生するようにモータ50を制御する電動補助自転車10の補助動力制御装置54において、前記補助動力制御装置54は、前記回転トルク値のピーク位置が検出されたタイミングから前記回転トルク値が検出されたタイミングまでの時間から、現在の前記回転トルク値が検出されたときの前記クランク軸38の回転角度を算出するとともに、算出された前記クランク軸38の回転角度から、検出された前記現在の回転トルク値から運転者が鉛直方向に前記ペダル40L、40Rを踏む踏み力を算出し、算出された前記踏み力に応じて前記モータ50のアシスト力を決定することを特徴とする。請求項2に係る発明は、請求項1に記載の電動補助自転車10の補助力制御装置54において、前記回転トルク値のピーク位置間を1サイクルとし、前回の1サイクルの期間の前記回転トルク値を参照データとして更新し、該参照データを用いて今回の1サイクルで検出される前記回転トルク値を正規化相関して得られた相関値から回転トルク位置のピーク位置を推定することを特徴とする。請求項3に係る発明は、請求項1又は2に記載の電動補助自転車10の補助動力制御装置54において、前記電動補助自転車10の車速と前記踏み力に応じて前記モータ50のアシスト力を決定することを特徴とする。請求項1に記載の発明によれば、運転者がペダルを踏むことにより回転する前記クランク軸の回転トルク値をトルクセンサで検出し、該回転トルク値を用いて決定されたアシスト力を発生するようにモータを制御する電動補助自転車の補助動力制御装置において、前記補助動力制御装置は、前記回転トルク値のピーク位置が検出されたタイミングから前記回転トルク値が検出されたタイミングまでの時間から、現在の前記回転トルク値が検出されたときの前記クランク軸の回転角度を算出するとともに、算出された前記クランク軸の回転角度から、検出された前記現在の回転トルク値から運転者が鉛直方向に前記ペダルを踏む踏み力を算出し、算出された前記踏み力に応じて前記モータのアシスト力を決定するので、運転者が踏んでいる力に対してリニアにアシストすることができ、運転者の踏み力に沿ったアシスト制御を行うことができる。請求項2に記載の発明によれば、請求項1に記載の電動補助自転車の補助力制御装置において、前記回転トルク値のピーク位置間を1サイクルとし、前回の1サイクルの期間の前記回転トルク値を参照データとして更新し、該参照データを用いて今回の1サイクルで検出される前記回転トルク値を正規化相関して得られた相関値から回転トルク位置のピーク位置を推定するので、運転者がペダルの踏み込みを連続して複数回行い、ピーク位置が連続して複数発生した場合であっても、正規化相関された相関値によってピーク位置を検出するので、サイクル毎のクランク軸の回転角度毎に適切なアシストトルクを発生させることができ、運転者に違和感を与えることがないアシスト制御を行うことができる。請求項3に記載の発明によれば、前記電動補助自転車の車速と前記踏み力に応じて前記モータのアシスト力を決定するので、現在の車速に応じたアシスト比でアシスト制御を行うことができる。本発明に係る電動補助自転車の補助力制御装置について、好適な実施の形態を掲げ、添付の図面を参照しながら以下、詳細に説明する。図1は、電動補助自転車アシスト自転車10の左側面図、図2は、図1のアシスト自転車10の要部を示す左側面図、図3は、図2のIII-III線断面図である。アシスト自転車10は、車体前方に位置するヘッドパイプ12と、該ヘッドパイプ12から後方且つ下方に延びるダウンフレーム14と、ダウンフレーム14の後端から上方に立ち上がるシートパイプ16とを備える。ヘッドパイプ12には、下方に延びるフロントフォーク18が操舵可能に接続されており、このフロントフォーク18の下端に前輪WFが軸支されている。また、ヘッドパイプ12の上方にハンドル20が設けられている。ダウンフレーム14の後端には、後方に延びるリアフォーク22が配設されており、このリアフォーク22の後端に後輪WRが軸支されている。また、シートパイプ16の上部とリアフォーク22の後部との間に、左右一対のステー24が配設されている。ダウンフレーム14及びリアフォーク22は、アシスト駆動ユニット26を支持する。シートパイプ16には、上端にシート28を有するシートポスト30がシート28の上下位置を調整可能に装着されている。シートパイプ16の後方には、アシスト駆動ユニット26に電力を供給するためのバッテリ32が着脱可能にシートパイプ16のステー34に取り付けられている。アシスト駆動ユニット26及びスプロケット出力部36を貫通して、車体の幅方向に延びるクランク軸38が設けられ、クランク軸38の両側に、ペダル40Lを有するクランク42L、ペダル40Rを有するクランク42Rが接続されている。運転者がペダル40L、40Rを漕ぐことにより、クランク軸38に回転トルク動力が与えられる。クランク軸38に与えられた回転トルクに起因してスプロケット36が回転し、該スプロケット36の回転は、チェーン44を介して、後輪WR側のスプロケット46に伝達され、後輪WRが回転する。スプロケット36、チェーン44、及びスプロケット46は駆動系機構として機能する。ここで、図4に示すように、クランク軸38に与えられる回転トルク値fは、運転者がペダル40Lを漕いだときの踏み力Fの回転方向の分力であり、実際に運転者がペダルに与えた踏み力Fではない。回転トルク値fと踏み力Fとは、回転トルク値f=踏み力F×cosθ、の関係式で表すことができる。運転者は、ペダル40L、40Rを漕ぐときには、ペダル40L、40Rを鉛直方向に踏むので、踏み力Fの方向は、鉛直方向となる。アシスト駆動ユニット26は、その筐体ケース48内に、ブラシレスモータモータ50と、ブラシレスモータ50を駆動させる駆動ドライバ52と、後述する磁歪式トルクセンサトルクセンサによって検出された回転トルク値fに基づいて駆動ドライバ52のPWM制御を行うコントローラ補助動力制御装置54と、ブラシレスモータ50の駆動軸56と噛み合って回転する駆動ギア58と、駆動ギア58の回転に応じて回転する出力軸108と、出力軸108と一体となって回転するアシストスプロケット60とを一体に保持する。アシストスプロケット60にはチェーン44が取り付けられる。アシスト駆動ユニット26は、ブラシレスモータ50の駆動力を前記駆動系機構に伝達する。コントローラ54は、磁歪式トルクセンサ80によって検出された回転トルク値fから運転者が鉛直方向にペダル40L、40Rを踏む力ペダル40L、40Rに与える踏み力Fを算出し、該踏み力Fとアシスト自転車10の車速に応じたアシスト比とによって定められるアシストトルクアシスト力をブラシレスモータ50が発生するように、駆動ドライバ52をPWM制御するアシスト制御を行う。アシスト自転車10の車速は、前輪WF又は後輪WR等に設けられた図示しない車速センサによって得ることができる。なお、コントローラ54はカウンタとしての機能も有する。駆動ドライバ52、複数相本実施の形態では、UVW相の3相の各スイッチング素子を有し、コントローラ54は、決められたデューティ比でUVW相の各スイッチング素子をオンオフ制御することで、駆動ドライバ52をPWM制御する。このPWM制御により、駆動ドライバ52は、バッテリ32の直流電力を3相交流電力に変換して、3相の交流電流をブラシレスモータ50のU相のステータコイル、V相のステータコイル、W相のステータコイルに通電する。これにより、ブラシレスモータ50の駆動軸56が回転する。ブラシレスモータ50が発生したアシストトルクは、駆動軸56、駆動ギア58、を介して出力軸108に伝達される。出力軸108に伝達されたアシストトルクは、アシストスプロケット60を介してチェーン44に伝達される。したがって、運転者がペダル40L、40Rを漕ぐことによって、クランク軸38に与えられた回転トルク値f駆動力とブラシレスモータ50が発生したアシストトルクとが、チェーン44を介して、後輪側のスプロケット46に伝達されて、後輪WRが回転する。なお、アシストスプロケット60の後方には、チェーン44の巻き付け角を大きく取るためのアイドラ62が設けられている。ブラシレスモータ50は、円周方向に交互に配置された計8個のN極及びS極の永久磁石64を有するロータ66と、ロータ66の外周部を覆うように径方向で対抗配置され、ロータ66を回転させる回転磁界を発生するUVW相の3相のステータ巻線68を有するステータ70を備える。ロータ66の回転軸に駆動軸56が設けられている。また、ステータ70は、計12個あるので、U相のステータ巻線68、V相のステータ巻線68、及び、W相のステータ巻線68は、それぞれ4つある。ブラシレスモータ50のU相のステータコイルは、4つのU相のステータ巻線68によって構成され、V相のステータコイルは、4つのV相のステータ巻線68によって構成され、W相のステータコイルは、4つのW相のステータ巻線68によって構成される。アシスト駆動ユニット26は、アシスト自転車10が前に進む方向正方向に、ペダル40L、40Rを漕いだ場合にスプロケット36を回転させ、正方向とは反対の方向にペダル40L、40Rを漕いだ場合にスプロケット36を回転させない機構を有する。具体的には、図3に示すように、アシスト駆動ユニット26は、クランク軸38の外周に挿嵌される中空部材中空トルク伝達部材72と、該中空部材72と筐体48との間に設けられたベアリング部74と、クランク軸38と筐体48との間に設けられたベアリング部76と、クランク軸38と中空部材72との間に設けられたワンウェイクラッチ78とを有する。ワンウェイクラッチ78は、ペダル40L、40Rが正方向に漕がれたときにクランク軸38の回転を中空部材72に伝達し、ペダル40L、40Rが正方向と反対方向に漕がれたときにクランク軸38の回転を中空部材72に伝達しない構造を有する。中空部材72の右端はスプラインが形成されており、スプロケット36がスプラインに嵌合した状態で取り付けられている。正方向にペダル40L、40Rが漕がれると、クランク軸38が回転すると共に、ワンウェイクラッチ78により中空部材72が回転する。これにより、スプロケット36が回転する。一方、正方向と反対方向にペダル40L、40Rが漕がれると、クランク軸38は回転するが、中空部材72は、ワンウェイクラッチ78によって回転しない。これにより、正方向と反対方向にペダル40L、40Rが漕がれてもスプロケット36は回転しない。また、クランク軸38に与えられた回転トルク値fを検出する磁歪式トルクセンサ80は、クランク軸38上に配置される。詳しくは、支持部材82によって中空部材72の外周に磁歪式トルクセンサ80が配置されている。中空部材72には磁性膜84が設けられ、支持部材82は、磁歪式トルクセンサ80が該磁性膜84に対向するように磁歪式トルクセンサ80を中空部材72と相対回転可能に支持する。磁歪式トルクセンサ80は、2つの検出コイル86、88を含み、磁歪式トルクセンサ80は、中空部材72が回転することで発生する磁歪によって生じる各検出コイル86、88のインダクタンスの変化を電圧に変換してコントローラ54に出力する。なお、正方向と逆方向にペダル40L、40Rが漕がれている場合は、中空部材72は回転しないので、磁歪式トルクセンサ80によって、クランク軸38に与えられた回転トルク値fは検出されない。なお、磁歪式トルクセンサ80は、所定の周期でΔt毎に回転トルク値fを検出する。ブラシレスモータ50の駆動軸56には、磁石90を保持するマグネットホルダー92が設けられており、ロータ66の回転と一緒に回転する。磁石90を検出するホールIC94が磁石90に対向するように設けられており、ホールIC94は3つ設けられている図2参照。この3つのホールIC94によって、ロータ66の回転角度及び回転数を検出する。ホールIC94は、ホールICハウジング96によって保持されている。ホールICハウジング96は、ボルトbによって、アシスト駆動ユニット26の筐体48内部に取り付けられている。磁石90は、円周方向に沿って8個設けられており、N極の磁石90とS極の磁石90とが交互に配置されている。この磁石90及びホールIC94がブラシレスモータ50の回転角度を検出する磁極センサとして機能する。ブラシレスモータ50と駆動ギア58とは収納される空間が区画されている。マグネットホルダー92の外周には、ダストシール98が設けられ、ダストシール98は、駆動ギア58が設けられている空間からブラシレスモータ50が設けられている空間へのゴミ等の侵入を防ぐものである。ブラシレスモータ50を保護するカバーは、ブラシレスモータ50の外周に沿ってボルトBによってアシスト駆動ユニット26の筐体48に取り付けられている。筐体48は、筐体48内の空間を区画する仕切板100を有し、駆動ドライバ52、コントローラ54、及び磁歪式トルクセンサ80は、同一空間内に配置され、ブラシレスモータ50は、クランク軸38の後方且つ下方であり、磁歪式トルクセンサ80と区画された空間に収納配置されている。また、駆動ドライバ52及びコントローラ54は、磁歪式トルクセンサ80の下方に配置されている。磁歪式トルクセンサ80とブラシレスモータ50とは収納される空間が区画されているが、磁歪式トルクセンサ80とブラシレスモータ50とは近接されて配置された状態にある。また、図示しないが駆動ドライバ52と、コントローラ54とは筐体48壁面に固定されるとともに、対向する左右壁面に各々固定され、コントローラ54は、磁歪式トルクセンサ80側の筐体48壁面に配置されている。アイドラ62は、支持アーム102によって軸支され、ピボット104は、揺動可能に支持アーム102を軸支する。ピボット104に軸支された支持アーム102は、トーションスプリングによりアイドラ62がチェーン44を加圧する方向に付勢されている。アシストスプロケット60が有する出力軸108と、駆動ギア58との間には、ワンウェイクラッチ106が設けられ、ワンウェイクラッチ106は、駆動ギア58が正方向アシスト自転車10が前に進む方向に回転している場合のみ、該回転を出力軸108に伝達する。これにより、ブラシレスモータ50のロータ66が正方向に回転している場合のみ、アシストスプロケット60が回転し、ブラシレスモータ50が発生したアシストトルクがチェーン44を介して後輪WR側のスプロケット46に伝達される。図5は、磁歪式トルクセンサ80が検出した回転トルク値f、及び、該検出した回転トルク値fに応じて定められる踏み力Fと示すタイムチャートである。図5の参照符号150は、磁歪式トルクセンサ80が検出した回転トルク値fを示し、参照符号152は、該回転トルクから算出された踏み力Fを示す。回転トルクのピーク値が到来するのは、図4に示すクランク軸38の回転角度θが、0度、180度となったときなので、回転トルク値fは、ペダル40L、40Rを1回転漕ぐ期間を1周期とすると、半周期毎ペダル40L、40Rの半回転毎にピーク値が到来することになる。このピーク位置間の時間、つまり、半周期の時間をTppとする。この回転トルク値fのピーク値が到来するのは、図4に示すクランク軸38の回転角度θが、0度、180度となったときである。つまり、ピーク値fが到来するのは、クランク42L、42Rとアシスト自転車10の前後方向とのなす角θが0度、180度になったときである。コントローラ54は、検出された回転トルク値fからピーク位置を検出する。そして、直前に検出された回転トルク値fのピーク位置間の時間Tppと、直近にピーク位置が検出されたタイミングt1から直近に回転トルク値fが検出されたタイミングt2までの時間とから、タイミングt2におけるクランク軸38の回転角度θを算出する。詳しくは、回転角度θ=180度×t2-t1/Tpp、の関係式を用いて回転角度θを算出する。そして、コントローラ54は、直近に検出された回転トルク値タイミングt2で検出された回転トルク値fから、該算出された回転角度θにおける踏み力Fを算出する。詳しくは、踏み力F=回転トルク値f/cosθ、の関係式に基づいて算出する。そして、該算出した踏み力Fに応じたアシストトルクをブラシレスモータ50が発生するように、駆動ドライバ52をPWM制御する。このように、コントローラ54は、検出された回転トルク値fから運転者が鉛直方向にペダル40L、40Rを踏む踏み力Fを算出して、駆動ドライバ52を制御するので、運転者が踏んでいる力に対してリニアにアシストすることができ、運転者の踏み力Fに沿ったアシスト制御を行うことができる。しかしながら、運転者が実際にペダル40L、40Rを漕ぐ場合、図5に示すように、回転トルク値fのピーク位置が一定の周期で到来する波形にはならずに、不規則に乱れる可能性もあり、このような場合は、正確に回転トルク値fのピーク位置を推定することはできず、クランク軸38の回転角度θを適切に求めることができない。したがって本実施の形態ではさらに、このような場合も勘案して、正確にピーク位置を推定するというものである。なお、回転トルク値fのピーク位置が一定の周期で到来しない場合としては、運転者がペダル40L、40Rを半回転させずに、ペダル40L、40Rを逆方向に回転させて戻した後、再度ペダル40L、40Rを踏むというような場合がある。次に、コントローラ54の動作を、図6のフローチャートにしたがって説明する。なお、コントローラ54は、磁歪式トルクセンサ80が検出した回転トルク値fをコントローラ54の図示しないバッファメモリデータ記憶部に逐次記憶させていく。まず、コントローラ54は、磁歪式トルクセンサ80が検出した回転トルク値fに基づいて、回転トルク値fのピーク位置の検出処理を行うステップS1。回転トルク値fのピーク位置の検出処理は、Δfを算出する。Δfは、Δf=現在検出された今回に検出された回転トルク値f-前回検出された回転トルク値f/Δt、の関係式により求めることができる。次いで、コントローラ54は、回転トルク値fのピーク位置が検出されたか否かを判断するステップS2。詳しくは、今回求めたΔfが0より小さく、前回求めたΔfが0より大きい場合は、ピーク位置が検出されたと判断する。この場合、前回回転トルク値fを検出したタイミングがピーク位置となる。ステップS2で、ピーク位置が検出されていないと判断するとそのままステップS5に進み、ピーク位置が検出されたと判断すると、コントローラ54は、相関値未検出フラグがハイであるか相関値未検出フラグが立っているか否かを判断するステップS3。前記データ記憶部は、相関値未検出フラグのハイ1、ロー0を記憶するフラグ記憶領域を有し、コントローラ54は、該フラグ記憶領域にハイが記憶されているか否かにより判断する。なお、初期値として最初は、フラグ記憶領域にハイ1が記憶されている。また、初期値としてTpp=0、カウント値c=0に設定されている。ステップS3で、相関値未検出フラグがローであると判断するとそのままステップS5に進み、相関値未検出フラグがハイであると判断すると、コントローラ54は、前記データ記憶部の参照データ記憶領域に記憶されている参照データgの入れ替えを行って前記参照データ記憶領域の記憶を更新するステップS4して、ステップS5に進む。この参照データとは、ピーク位置間で検出された複数の回転トルク値fの集合であり、入れ替えられる参照データは、前回のピーク位置間直近のピーク位置間で検出された複数の回転トルク値fである。ここで、ピーク位置間を1サイクルとする。ステップS5に進むと、コントローラ54は、前記データ記憶部の前記参照データ記憶領域に記憶されている参照データを用いて、磁歪式トルクセンサ80が検出した回転トルク値fを正規化相関して相関値γを算出する。詳しくは、数1に示す関係式を用いて相関値γを算出する。ftは、タイミングt時に検出された回転トルク値を示し、γtは、タイミングt時に回転トルク値fから求められた相関値を示す。gtは、タイミングt時に検出された参照データとしての回転トルク値ftを示す。なお、参照データgがない場合は、算出される相関値γは、0となる。次いで、コントローラ54は、算出された相関値γに基づいて、相関値γのピーク位置の検出処理を行うステップS6。相関値γのピーク位置の検出処理は、Δγを算出する。Δγは、Δγ=直近に算出した今回算出した相関値γ-前回算出した相関値γ/Δt、の関係式により求めることができる。次いで、コントローラ54は、相関値γのピーク位置が検出された否かを判断するステップS7。詳しくは、今回求めたΔγが0より小さく、前回求めたΔγが0より大きく、且つ、前回算出した相関値γが所定値例えば、0.65より大きい場合は、ピーク位置が検出されたと判断する。ピーク位置が検出されたと判断された場合は前回相関値γを算出したタイミングがピーク位置となる。この相関値γのピーク位置を回転トルク値fのピーク位置と推定する。この相関値γは1を超えることがない値である。この相関値γtは、タイミングtにおける参照データg前回のサイクルにおける回転トルク値fと回転トルク値fとの類似度を表しており、相関値γが1の場合は最も類似度が高く完全一致しており、相関値γが低いほど類似度は低くなる。ステップS7で、相関値γのピーク位置が検出されていないと判断すると、コントローラ54は、現在のカウント値cが0より大きいか否かを判断するステップS8。ステップS8で、カウント値cが0より大きくないと判断するとステップS1に戻り、ステップS8で、カウント値cが0より大きいと判断すると、コントローラ54は、カウント値cをインクリメントするステップS9。つまり、カウント値c=カウント値c1、にする。次いで、コントローラ54は、カウント値cが閾値αより大きいか否かを判断するステップS10。ステップS10でカウント値cが閾値αより大きくないと判断した場合はステップS16に進み、ステップS10でカウント値cが閾値αより大きいと判断した場合は、相関値未検出フラグをハイにするステップS11。次いで、カウント値cを0にすると共に、1サイクルの時間Tppを0にしてステップS12、ステップS16に進む。一方、ステップS7で、相関値γのピーク位置が検出されたと判断すると、次いで、コントローラ54は、相関値未検出フラグをローにする。詳しくは、前記フラグ記憶領域にロー0を記憶させるステップS13。次いで、コントローラ54は、コントローラ54は、前記データ記憶部の前記参照データ記憶領域に記憶されている参照データgの入れ替えを行って前記参照データ記憶領域の記憶を更新させるステップS14。ステップS14では、相関値γのピーク位置間直近に検出された回転トルク値fのピーク位置間で検出された回転トルク値fを参照データgとして記憶する。次いで、コントローラ54は、ピーク位置間1サイクルの時間Tppを現在のカウンタ値cにするとともに、カウンタ値cを1にしてステップS15、ステップS16に進む。ステップS16に進むと、コントローラ54は、相関値未検出フラグがローで、且つ、Tppが0より大きいか否かを判断する。ステップS19で、相関値未検出フラグがローの場合、若しくはTppが0より大きくないと判断された場合は、ステップS1に戻る。一方で、ステップS16で、相関値未検出フラグがローで、且つ、Tppが0より大きいと判断するとステップS17に進み、コントローラ54は、現在のクランク軸38の回転角度θを算出する。詳しくは、前回の直近の1サイクルの時間Tppと現在のカウント値cとから現在のクランク軸38の回転角度θ今回検出された回転トルク値fにおけるクランク軸38の回転角度を算出する。直近に検出した相関値γのピーク位置をt1、今回検出した回転トルク値fの検出タイミングをt2とすると図5参照、クランク軸38の回転角度θは、θ=180度×t2-t1/Tpp、の関係式から求めることでき、t2-t1が現在のカウント値cとなる。次いで、コントローラ54は、今回検出された回転トルク値f及びクランク軸38の回転角度とから踏み力Fを推定するステップS18。踏み力Fは、踏み力F=回転トルク値f/cosθ、の関係式によって求めることができる。次いで、該求めた踏み力Fと、現在のアシスト自転車10の車速に応じたアシスト比とによって定められるアシストトルクをブラシレスモータ50が発生するように駆動ドライバ52をPWM制御してブラシレスモータ50を駆動させるステップS19。図7Aは、検出された回転トルク値fを示すタイムチャートであり、図7Bは、回転トルク値fを用いて正規化相関された相関値γを示すタイムチャートである。なお、図7A、図7Bで示すタイムチャートにおいては、カウンタ値cは閾値αより大きくなることは無いものとする。上述した動作により、タイミングt1で最初に回転トルク値fのピーク値が検出されるが、ステップS4で参照データgとして入れ替えられる回転トルク値fは、ピーク位置間の一部の期間で検出された回転トルク値であるため、ステップS5で算出される相関値γは低い値となる。したがって、ステップS7で相関値γのピーク位置は検出されない。その後、タイミングt2が到来すると、ステップS4でタイミングt1~タイミングt2の間に検出された回転トルク値fが参照データgとして入れ替えられ、相関値γが算出される。タイミングt3が到来すると、ステップS7で相関値γのピーク位置として検出され、ステップS14で、タイミングt2~タイミングt3の間で検出された回転トルク値fが参照データgとして入れ替えられる。そして、ステップS15で、現在のカウント値cがピーク位置間1サイクルの時間Tppとして設定されるとともに、カウント値が1に設定される。タイミングt3では、カウント値cは0なので、Tpp=0となる。次いで、ステップS16でYesと判断され、ステップS17に進む。なお、このときは、Tppが0であることから、正確なクランク軸38の回転角度を算出することができない。したがって、Tpp=0の場合は、ブラシレスモータ50の駆動制御を行わなくてもよい。つまり、Tpp=0の場合は、ステップS17~ステップS19の動作を行わなくてもよい。タイミングt4が到来すると、ステップS7で相関値γのピーク位置として検出され、ステップS14で、タイミングt3~タイミングt4の間で検出された回転トルク値fが参照データgとして入れ替えられる。そして、ステップS15で、現在のカウント値cがピーク位置間1サイクルの時間Tppとして設定されるとともに、カウント値が1に設定される。その後、ステップS17~ステップS19によってクランク軸38の回転角度、踏み力Fが順に算出され、ブラシレスモータ50が駆動されアシストトルクを発生する。その後、次の相関値γのピーク位置であるタイミングt6が到来するまでは、ステップS9でカウント値cがインクリメントされていき、ステップS17では、Tppを用いて現在のカウント値cと応じた回転角度θが算出される。ここで、タイミングt6の前後のタイミングt5、タイミングt7では、回転トルクfのピーク位置が検出されるが、相関値γに基づいてピーク位置を検出しているので、運転者がペダル40L、40Rの踏み込みを連続して複数回行い、ピーク位置が連続して複数発生した場合であっても、適切にクランク軸の回転角度θを算出することでき、適切なアシストトルクを発生させることができ、運転者に違和感を与えることがないアシスト制御を行うことができる。逆に、タイミングt5、タイミングt7をピーク位置と見做してしまうと、タイミングt4~タイミングt5、タイミングt5~タイミングt6、タイミングt6~タイミングt7は、ペダル40L、40Rが半回転した期間と見做されてしまうことになり、タイミングt4~タイミングt5、タイミングt5~タイミングt6、タイミングt6~タイミング7におけるクランク軸38の回転角度を適切に算出することができない。したがって、相関値γを求め、相関値γのピーク位置を回転トルク値fのピーク位置と推定することで、運転者に違和感を与えることがないアシスト制御を行うことができる。なお、図6のフローチャートにおいては、ステップS10で、カウンタ値cが閾値αより大きいと判断した場合は、相関値未検出フラグをハイにしステップS11、カウンタ値cを0、1サイクルの時間Tppを0にするステップS12ようにしたのは、所定時間が経過しているのに、相関値γのピーク位置が検出されない場合は、異常と判断して、初期化することで最初から図6に示す動作を行うためであり、異常事態にも対応することができる。以上、本発明について好適な実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。また、特許請求の範囲に記載された括弧書きの符号は、本発明の理解の容易化のために添付図面中の符号に倣って付したものであり、本発明がその符号をつけた要素に限定して解釈されるものではない。