(57)【要約】【課題】伸縮機構を含むコンポーネントを最適に自動制御するコンポーネントの制御装置、学習モデルの生成方法、学習モデル、コンピュータプログラム、および記憶媒体を提供する。【解決手段】制御装置は、人力駆動車の走行に関する入力情報に応じて学習モデルによって出力される伸縮機構の制御に関する出力情報に基づいて前記伸縮機構を制御する制御部を備える。【選択図】図５
2020121695.tif 000002
【特許請求の範囲】
【請求項１】
人力駆動車の走行に関する入力情報に応じて学習モデルによって出力される伸縮機構の制御に関する出力情報に基づいて前記伸縮機構を制御する制御部を備える、制御装置。
【請求項２】
前記伸縮機構は、前記人力駆動車のサスペンションであり、
前記出力情報は、ストローク長、ロックアウト状態、バネ力、ダンピングレートの内の少なくともいずれか１つを含む、請求項１に記載の制御装置。
【請求項３】
前記サスペンションは、第１部材と、前記第１部材に対して移動可能に設けられる第２部材とを含み、
前記入力情報は、前記第１部材に取り付けられる第１加速度センサによって出力される第１加速度と、前記第２部材に取り付けられる第２加速度センサによって出力される第２加速度とを含む、請求項２に記載の制御装置。
【請求項４】
前記学習モデルは、第１加速度と第２加速度との差が所定範囲になるように前記出力情報を出力する、請求項３に記載の制御装置。
【請求項５】
前記伸縮機構は、前記人力駆動車のシートポストであり、
前記出力情報は、シート高さ、座面の傾き、前後位置、および左右位置、の内の少なくともいずれか１つを含む、請求項１に記載の制御装置。
【請求項６】
前記入力情報は、前記人力駆動車の走行情報および前記人力駆動車の走行環境情報の少なくともいずれか１つを含む、請求項１〜５のいずれか一項に記載の制御装置。
【請求項７】
前記走行情報は、前記人力駆動車の走行速度、前記人力駆動車の加速度、前記人力駆動車の姿勢、前記人力駆動車のクランクのケイデンス、前記人力駆動車の駆動力、前記人力駆動車の荷重バランス、前記人力駆動車のギア比、前記人力駆動車のブレーキの操作量、ユーザの身体情報、のうちの少なくともいずれか１つを含む、請求項６に記載の制御装置。
【請求項８】
前記人力駆動車の走行環境情報は、車輪の接地状態、路面状況、位置情報、および、天候、の少なくともいずれか１つを含む、請求項６に記載の制御装置。
【請求項９】
前記制御部は伸縮機構の制御内容を、ユーザへ報知する報知部へ出力する、請求項１〜８のいずれか一項に記載の制御装置。
【請求項１０】
前記出力情報を評価する評価部を備え、
前記評価部の評価に基づいて前記学習モデルを更新する、請求項１〜９のいずれか一項に記載の制御装置。
【請求項１１】
前記評価部は、前記制御部による前記伸縮機構の制御後の前記入力情報である制御後入力情報に基づいて前記出力情報を評価する、請求項１０に記載の制御装置。
【請求項１２】
前記出力情報に関する指定操作を受け付ける操作部を備え、
前記制御後入力情報に基づいて前記学習モデルから出力される制御後出力情報と、前記指定操作との比較に基づいて前記出力情報を評価する、請求項１１に記載の制御装置。
【請求項１３】
前記学習モデルは、前記人力駆動車が走行する走行コース別に準備されており、
走行コースの選択を受け付け、
前記制御部は、選択された走行コースに対応する前記学習モデルによって前記入力情報に応じて出力される前記出力情報に基づいて前記伸縮機構を制御する、請求項１〜１２のいずれか一項に記載の制御装置。
【請求項１４】
人力駆動車の走行に関する入力情報が入力された場合に、前記人力駆動車のコンポーネントの内、伸縮機構の制御に関する出力情報を出力するニューラルネットワークを用い、
前記人力駆動車の走行に関する入力情報を取得し、
取得した入力情報を前記ニューラルネットワークへ与えることによって出力された出力情報を特定し、
特定された出力情報に基づいて前記伸縮機構を制御した場合に、前記人力駆動車の走行状態の評価を向上させるように前記ニューラルネットワークの中間層におけるパラメータをコンピュータによって学習する、学習モデルの生成方法。
【請求項１５】
人力駆動車の走行に関する入力情報を入力する入力層と、
前記人力駆動車のコンポーネントの内、伸縮機構を有する部分の制御に関する出力情報を出力する出力層と、
前記出力層から出力された出力情報に基づいて前記部分を制御した場合に、前記人力駆動車の走行状態の評価を向上させるように学習されたパラメータを有する中間層を備え、
前記入力情報が前記入力層に入力された場合に前記中間層で演算を行ない、前記部分の制御に関する出力情報を前記出力層から出力する、学習モデル。
【請求項１６】
人力駆動車の走行に関する入力情報が入力された場合に、前記人力駆動車のコンポーネントの内、伸縮機構を有する部分の制御に関する出力情報を出力するニューラルネットワークを用い、
前記人力駆動車の走行に関する入力情報を取得し、
取得した入力情報を前記ニューラルネットワークへ与えることによって出力された出力情報を特定し、
特定された出力情報に基づいて前記部分を制御した場合に、前記人力駆動車の乗員の快適さの評価を向上させるように前記ニューラルネットワークの中間層におけるパラメータを学習する処理を、コンピュータに実行させるコンピュータプログラム。
【請求項１７】
請求項１６に記載のコンピュータプログラムが記憶される記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人力駆動車のコンポーネントの制御に関する制御装置、学習モデルの生成方法、学習モデル、コンピュータプログラム、および記憶媒体に関する。
【背景技術】
【０００２】
自転車をはじめとして電動アシスト付き自転車、Ｅバイクと呼ばれる電動自転車等、少なくとも部分的に人力が用いられる人力駆動車がある。人力駆動車は、変速機、ブレーキ装置、シートポスト、またはサスペンション等である複数のコンポーネントを備える。変速機のみならず複数のコンポーネントそれぞれに対し、無線通信信号によって動作指令を送信する方法が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−０８９９８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
複数のコンポーネントの内、伸縮機構を含むシートポスト、サスペンションは、人力駆動車の乗り心地に大きく関連する振動に関わる。シートポストおよびサスペンションにて、振動の抑制、またはバネ係数を適切な係数とする制御によって、人力駆動車の乗り心地を向上させ、少ない力で効率的な運転を可能とする。乗り手が運転中にシートポストおよびサスペンションを適切に手動で制御するためには技量が必要である。人力駆動車の走行状況、または路面状況、目的に応じた最適な自動制御の実現が期待される。
【０００５】
本発明の目的は、伸縮機構を含むコンポーネントを最適に自動制御するコンポーネントの制御装置、学習モデルの生成方法、学習モデル、コンピュータプログラム、および記憶媒体を提供することである。
【課題を解決するための手段】
【０００６】
（１）本発明の第１側面に従う制御装置は、人力駆動車の走行に関する入力情報に応じて学習モデルによって出力される伸縮機構の制御に関する出力情報に基づいて前記伸縮機構を制御する制御部を備える。
このため、人力駆動車の走行に関する多様な入力情報に基づく様々なシチュエーションまたは走行環境に合わせた伸縮機構の自動制御が実現される。
【０００７】
（２）本発明の第２側面に従う制御装置では、前記伸縮機構は、前記人力駆動車のサスペンションであり、前記出力情報は、ストローク長、ロックアウト状態、バネ力、ダンピングレートの内の少なくともいずれか１つを含む。
このため、人力駆動車の走行に関する多様な入力情報に基づく様々なシチュエーションまたは走行環境に合わせた前記人力駆動車のサスペンションの自動制御が実現される。
【０００８】
（３）本発明の第３側面に従う制御装置では、サスペンションは、第１部材と、前記第１部材に対して移動可能に設けられる第２部材とを含み、前記入力情報は、前記第１部材に取り付けられる第１加速度センサによって出力される第１加速度と、前記第２部材に取り付けられる第２加速度センサによって出力される第２加速度とを含む。
このため、人力駆動車の走行に関し、可動部材に設けられた加速度センサから得られる振動に関する情報に基づく路面状況に合わせたサスペンションの自動制御が実現される。
【０００９】
（４）本発明の第４側面に従う制御装置では、前記学習モデルは、第１加速度と第２加速度との差が所定範囲になるように前記出力情報を出力する。
このため、人力駆動車の走行に関し、路面状況に合わせつつも振動の吸収を適切な範囲内とするサスペンションの自動制御が実現される。
【００１０】
（５）本発明の第５側面に従う制御装置は、前記伸縮機構は、前記人力駆動車のシートポストであり、前記出力情報は、シート高さ、座面の傾き、前後位置、および左右位置、の内の少なくともいずれか１つを含む。
このため、人力駆動車の走行に関する多様な入力情報に基づく様々なシチュエーションまたは走行環境に合わせた前記人力駆動車のシートポストの自動制御が実現される。
【００１１】
（６）本発明の第６側面に従う制御装置は、前記入力情報は、前記人力駆動車の走行情報および前記人力駆動車の走行環境情報の少なくともいずれか１つを含む。
このため、人力駆動車の走行に関し、走行環境に合わせた伸縮機構の適切な自動制御が実現される。
【００１２】
（７）本発明の第７側面に従う制御装置は、前記走行情報は、前記人力駆動車の走行速度、前記人力駆動車の加速度、前記人力駆動車の姿勢、前記人力駆動車のクランクのケイデンス、前記人力駆動車の駆動力、前記人力駆動車の荷重バランス、前記人力駆動車のギア比、前記人力駆動車のブレーキの操作量、ユーザの身体情報、のうちの少なくともいずれか１つを含む。
このため、人力駆動車の走行に関する多様な入力情報に基づく様々なシチュエーションまたは走行環境に合わせた伸縮機構の自動制御が実現される。
【００１３】
（８）本発明の第８側面に従う制御装置は、前記人力駆動車の走行環境情報は、車輪の接地状態、路面状況、位置情報、および、天候、の少なくともいずれか１つを含む。
このため、人力駆動車の走行に関する多様な入力情報に基づく様々なシチュエーションまたは走行環境に合わせた伸縮機構の自動制御が実現される。
【００１４】
（９）本発明の第９側面に従う制御装置は、前記制御部は伸縮機構の制御内容を、ユーザへ報知する報知部へ出力する。
このため、人力駆動車の走行に関する多様な入力情報に基づく様々なシチュエーションまたは走行環境に合わせた伸縮機構の制御内容をユーザに認識させ、違和感を生じさせない自動制御が実現される。
【００１５】
（１０）本発明の第１０側面に従う制御装置は、前記出力情報を評価する評価部を備え、前記評価部の評価に基づいて前記学習モデルを更新する。
このため、人力駆動車の乗り手であるユーザの運転特性、嗜好に合った伸縮機構の自動制御が実現される。
【００１６】
（１１）本発明の第１１側面に従う制御装置は、前記評価部は、前記制御部による前記伸縮機構の制御後の前記入力情報である制御後入力情報に基づいて前記出力情報を評価する。
このため、人力駆動車の乗り手であるユーザの運転特性、嗜好に合った伸縮機構の自動制御が実現される。
【００１７】
（１２）本発明の第１２側面に従う制御装置は、前記出力情報に関する指定操作を受け付ける操作部を備え、前記制御後入力情報に基づいて前記学習モデルから出力される制御後出力情報と、前記指定操作との比較に基づいて前記出力情報を評価する。
このため、人力駆動車の乗り手であるユーザの運転特性、嗜好に基づく操作内容に合った伸縮機構の自動制御が実現される。
【００１８】
（１３）本発明の第１３側面に従う制御装置は、前記学習モデルは、前記人力駆動車が走行する走行コース別に準備されており、走行コースの選択を受け付け、前記制御部は、選択された走行コースに対応する前記学習モデルによって前記入力情報に応じて出力される前記出力情報に基づいて前記伸縮機構を制御する。
このため、人力駆動車の走行コースに適合した多様な入力情報に基づく様々なシチュエーションまたは走行環境に応じた伸縮機構の自動制御が実現される。
【００１９】
（１４）本発明の第１４側面に従う学習モデルの生成方法は、人力駆動車の走行に関する入力情報が入力された場合に、前記人力駆動車のコンポーネントの内、伸縮機構の制御に関する出力情報を出力するニューラルネットワークを用い、前記人力駆動車の走行に関する入力情報を取得し、取得した入力情報を前記ニューラルネットワークへ与えることによって出力された出力情報を特定し、特定された出力情報に基づいて前記伸縮機構を制御した場合に、前記人力駆動車の走行状態の評価を向上させるように前記ニューラルネットワークの中間層におけるパラメータをコンピュータによって学習する。
このため、人力駆動車の走行に関する多様な入力情報に基づき伸縮機構を制御するための出力情報を、様々なシチュエーションまたは走行環境に合わせて出力するように学習モデルが生成される。学習モデルから出力される出力情報を用いることにより、シチュエーションまたは走行環境に応じて適切な自動制御が実現される。
【００２０】
（１５）本発明の第１５側面に従う学習モデルは、人力駆動車の走行に関する入力情報を入力する入力層と、前記人力駆動車のコンポーネントの内、伸縮機構を有する部分の制御に関する出力情報を出力する出力層と、前記出力層から出力された出力情報に基づいて前記部分を制御した場合に、前記人力駆動車の走行状態の評価を向上させるように学習されたパラメータを有する中間層を備え、前記入力情報が前記入力層に入力された場合に前記中間層で演算を行ない、前記部分の制御に関する出力情報を前記出力層から出力する。
このため、人力駆動車の走行に関する多様な入力情報に基づき伸縮機構を制御するための出力情報を出力する学習済みの学習モデルを用いてシチュエーションまたは走行環境に応じて適切な自動制御が実現される。
【００２１】
（１６）本発明の第１６側面に従うコンピュータプログラムは、人力駆動車の走行に関する入力情報が入力された場合に、前記人力駆動車のコンポーネントの内、伸縮機構を有する部分の制御に関する出力情報を出力するニューラルネットワークを用い、前記人力駆動車の走行に関する入力情報を取得し、取得した入力情報を前記ニューラルネットワークへ与えることによって出力された出力情報を特定し、特定された出力情報に基づいて前記部分を制御した場合に、前記人力駆動車の乗員の快適さの評価を向上させるように前記ニューラルネットワークの中間層におけるパラメータを学習する処理を、コンピュータに実行させる。
このため、コンピュータにより人力駆動車の走行に関する多様な入力情報に基づき伸縮機構を制御するための出力情報を、様々なシチュエーションまたは走行環境に合わせて出力するように学習モデルが生成される。学習モデルから出力される出力情報を用いることにより、シチュエーションまたは走行環境に応じて適切な自動制御が実現される。
【００２２】
（１７）本発明の第１７側面に従う記憶媒体は、前記（１６）のコンピュータプログラムが記憶される。
このため、記憶媒体からコンピュータによって読み出されるコンピュータプログラムに基づいて前記コンピュータは、人力駆動車の走行に関する多様な入力情報に基づき伸縮機構を制御するための出力情報を、様々なシチュエーションまたは走行環境に合わせて出力するように学習モデルを生成することができる。
【発明の効果】
【００２３】
本発明に関する人力駆動車の制御に関するデータの制御装置によれば、人力駆動車の走行に関する多様な入力情報に基づく様々なシチュエーションまたは走行環境に合わせた伸縮機構の自動制御を実現できる。
【図面の簡単な説明】
【００２４】
【図１】制御装置が適用される人力駆動車の側面図。
【図２】制御ユニットの内部構成を示すブロック図である。
【図３】学習モデルの生成方法の一例を示すフローチャートである。
【図４】第１例の学習モデルの生成方法を示すフローチャートである。
【図５】第１例の学習モデルの概要を示す図である。
【図６】第２例の学習モデルの生成方法を示すフローチャートである。
【図７】第２例の学習モデルの概要を示す図である。
【図８】制御ユニットによる学習モデルを用いた制御手順の一例を示すフローチャートである。
【図９】第２実施形態の制御システムの構成を示すブロック図である。
【図１０】アプリプログラムに基づいて表示される画面例を示す図である。
【図１１】アプリプログラムに基づいて表示される画面例を示す図である。
【図１２】第２実施形態における制御部の再学習の処理手順の一例を示すフローチャートである。
【図１３】第３実施形態の制御システムの構成を示すブロック図である。
【図１４】第３実施形態における端末装置２による学習モデルを用いた制御手順の一例を示すフローチャートである。
【図１５】選択画面の内容例を示す図である。
【発明を実施するための形態】
【００２５】
以下の各実施形態に関する説明は、本発明に関する制御装置が取り得る形態の例示であり、その形態を制限することを意図していない。本発明に関する制御装置、学習モデルの生成方法、学習モデル、コンピュータプログラム、および記憶媒体は、各実施形態の変形例、および、相互に矛盾しない少なくとも２つの変形例が組み合わせられた形態等のように各実施形態とは異なる形態を取り得る。
【００２６】
以下の各実施形態に関する説明において、前、後、前方、後方、左、右、横、上、および、下等の方向を表す言葉は、ユーザが人力駆動車のサドルに着座した状態における方向を基準として用いられる。
【００２７】
（第１実施形態）
図１は、第１実施形態の制御装置が適用される人力駆動車Ａの側面図である。人力駆動車Ａは、電気エネルギーを用いて人力駆動車Ａの推進をアシストするアシスト機構Ｃを含むロードバイクである。人力駆動車Ａの構成は、任意に変更可能である。第１例では、人力駆動車Ａはアシスト機構Ｃを含まない。第２例では、人力駆動車Ａの種類は、シティサイクル、マウンテンバイク、または、クロスバイクである。第３例では、人力駆動車Ａは、第１例および第２例の特徴を含む。
【００２８】
人力駆動車Ａは、本体Ａ１、ハンドルバーＡ２、前輪Ａ３、後輪Ａ４、フロントフォークＡ５、シートＡ６、ディレーラハンガーＡ７を備える。人力駆動車Ａは、駆動機構Ｂ、アシスト機構Ｃ、操作装置Ｄ、変速機Ｅ、シートポストＦ、サスペンションＧ、バッテリユニットＨ、および制御ユニット１００を備える。人力駆動車Ａは、速度センサＳ１、ケイデンスセンサＳ２、トルクセンサＳ３、角度センサＳ４、加速度センサＳ５、空気圧センサＳ６、および画像センサＳ７を含む。本体Ａ１は、フレームＡ１２を備える。
【００２９】
駆動機構Ｂは、チェーンドライブ、ベルトドライブ、または、シャフトドライブによって人力駆動力を後輪Ａ４へ伝達する。図１ではチェーンドライブの駆動機構Ｂを例示している。駆動機構Ｂは、クランクＢ１、第１スプロケット組立体Ｂ２、第２スプロケット組立体Ｂ３、チェーンＢ４、および、一対のペダルＢ５を含む。
【００３０】
クランクＢ１は、クランク軸Ｂ１１、右クランクＢ１２、および左クランクＢ１３を含む。クランク軸Ｂ１１は、フレームＡ１２に設けられるアシスト機構Ｃに回転可能に支持される。右クランクＢ１２および左クランクＢ１３は、それぞれクランク軸Ｂ１１に連結される。一対のペダルＢ５の一方は右クランクＢ１２に回転可能に支持される。一対のペダルＢ５の他方は左クランクＢ１３に回転可能に支持される。
【００３１】
第１スプロケット組立体Ｂ２は、第１回転中心軸心を有し、クランク軸Ｂ１１と一体回転可能に連結される。第１スプロケット組立体Ｂ２は、１または複数のスプロケットＢ２２を含む。クランク軸Ｂ１１の回転中心軸心と第１スプロケット組立体Ｂ２の回転中心軸心は同軸である。
【００３２】
第２スプロケット組立体Ｂ３は、第２回転中心軸心を有し、後輪Ａ４のハブ（図示略）に回転可能に支持される。第２スプロケット組立体Ｂ３は、１または複数のスプロケットＢ３１を含む。
【００３３】
チェーンＢ４は、第１スプロケット組立体Ｂ２のいずれかのスプロケットＢ２２および第２スプロケット組立体Ｂ３のいずれかのスプロケットＢ３１に巻き掛けられる。一対のペダルＢ５に加えられる人力駆動力によってクランクＢ１が前転すると、第１スプロケット組立体Ｂ２がクランクＢ１とともに前転し、第１スプロケット組立体Ｂ２の回転がチェーンＢ４を介して第２スプロケット組立体Ｂ３に伝達されることで後輪Ａ４が前転する。
【００３４】
アシスト機構Ｃは、人力駆動車Ａの推進をアシストする。一例では、アシスト機構Ｃは、第１スプロケット組立体Ｂ２にトルクを伝達することによって人力駆動車Ａの推進をアシストする。アシスト機構Ｃは電気モータを含む。アシスト機構Ｃは減速機を含んでいてもよい。アシスト機構Ｃは、人力駆動車Ａの後輪Ａ４に駆動力を伝達するチェーンＢ４を走行させる。アシスト機構Ｃは、チェーンＢ４の走行をアシストするための信号制御によって制御可能なコンポーネントの一部である。
【００３５】
操作装置Ｄは、ユーザが操作する操作部Ｄ１を含む。操作部Ｄ１の一例は、１または複数のボタンである。操作装置Ｄは操作部Ｄ１にて、電動シートポストＦの動作指定、電動サスペンションＧの動作指定等、各種コンポーネントの制御について指定操作を受け付ける。他の例の操作部Ｄ１にて、アシスト機構Ｃのモード（省エネルギーモード、ハイパワーモード等）の切り替えを受け付けてよい。操作部Ｄ１は、ブレーキレバーである。操作装置Ｄは、ブレーキレバーの操作量を制御ユニット１００へ出力する。左右のハンドルに設けられているブレーキレバーを左右に倒す都度に、変速機Ｅにおける変速段数または変速比を変更することができる。操作装置Ｄは、操作部Ｄ１の操作に応じた信号を送受信できるように、制御ユニット１００または各コンポーネントと通信接続される。第１例では、操作装置Ｄは、通信線、または、ＰＬＣ（Power Line Communication）が可能な電線によってコンポーネントと通信接続される。第２例では、操作装置Ｄは、無線通信が可能な無線通信ユニットによってコンポーネントと通信接続される。
【００３６】
変速機Ｅは種々の形態を取り得る。第１例では、変速機Ｅは、第２スプロケット組立体Ｂ３とチェーンＢ４との連結の状態を変速する外装変速機である。第２例では、変速機Ｅは、第１スプロケット組立体Ｂ２とチェーンＢ４との連結の状態を変速する外装変速機である。第３例では、変速機Ｅは、内装変速機である。第３例では、変速機Ｅの可動部は、内装変速機のスリーブおよび爪の少なくとも一方を含む。第４例では、変速機Ｅは、無段変速機である。第４例では、変速機Ｅの可動部は、無段変速機のボールプラネタリー（遊星転動体）を含む。変速機Ｅは、変速段数を変更するための信号制御によって制御可能なコンポーネントの一部である。
【００３７】
シートポストＦは人力駆動車Ａに含まれる伸縮機構の１つである。シートポストＦは、フレームＡ１２に対して移動可能に設けられたポスト本体Ｆ１と、ポスト本体Ｆ１の上端に設けられたヤグラＦ２とを含む。シートポストＦは、動作パラメータとして、シート高さを設定することで制御可能なコンポーネントの一部である。シートポストＦは、ポスト本体Ｆ１に対するアクチュエータＦ３を含む。シートポストＦは第１例では、電動式シートポストである。第１例のシートポストＦのアクチュエータＦ３は電動モータである。シート高さの設定値は、１つまたは複数である。シートポストＦは、操作装置Ｄから送信される操作に応じた信号、または制御ユニット１００から自動的に送信される信号に対応するシート高さの設定値に応じて、ポスト本体Ｆ１をフレームＡ１２に対して昇降させる。ポスト本体Ｆ１の昇降によってシートＡ６のシート高さが調整される。シートポストＦはポスト本体Ｆ１のフレームＡ１２からの突出長を検知するセンサを用い、突出長がシート高さの設定値に対応する値となるように調整する。シートポストＦは、ポストＦ本体Ｆ１の第１シリンダと第２シリンダとの間の相対的な直線移動量を検知するセンサを用いて、移動量がシート高さの設定値に対応する値となるように調整してもよい。シートポストＦは第２例では、機械式シートポストである。第２例のシートポストＦは、油圧式シートポスト、または、油圧および空気圧式シートポストを含む。第２例のシートポストＦは、バネおよび空気の少なくとも一方の力で伸び、人力を加えることによって縮む。第２例のシートポストＦでは、アクチュエータＦ３は油または空気の流路を開閉する電磁弁である。第２例のシートポストＦは、操作装置Ｄまたは制御ユニット１００から開放に対応する信号を受信すると、電磁弁を開く。電磁弁が開いている状態におけるシートポストＦは、バネおよび空気の少なくとも一方の力で伸びようとする。電磁弁が閉じている状態では、ポスト本体Ｆ１のフレームＡ１２からの突出長または直線移動量は変化しない。第２例のシートポストＦは、開放に対応する信号を受信した場合に、所定時間電磁弁を開くか、あるいは、次に動作指令を受け取るまで電磁弁を開く。第２例のシートポストＦは、ポスト本体Ｆ１のフレームＡ１２からの突出長または直線移動量を検知するセンサを用い、突出長または直線移動量がシート高さの設定値に対応する値に達するまで電磁弁を開く構成でもよい。シートポストＦは第３例では、電動モータと、油圧弁または気圧弁とを組み合わせた開閉機構を備えたシートポストであってよい。
【００３８】
シートポストＦのヤグラＦ２には、シートＡ６が取り付けられる。シートＡ６は座面Ａ６１および前後方向に沿うレールＡ６２を含む。シートＡ６のレールＡ６２がヤグラＦ２に設けられた前後方向に沿う溝に嵌められる。レールＡ６２に対するヤグラＦ２の位置によってシートＡ６のポスト本体Ｆ２に対する前後位置が調整される。シートポストＦは、アクチュエータＦ４を含む。アクチュエータＦ４は第１例では、レールＡ６２をラックレールとしてレールＡ６２に噛み合うようにヤグラＦ２に設けたギアを回転させる電動モータである。シートポストＦは、動作パラメータとしてシートＡ６の前後位置を設定することで制御可能なコンポーネントの一部である。シートポストＦは、シートＡ６のレールＡ６２に対するヤグラＦ２の位置を、設定された前後位置に対応する位置に調整する。シートポストＦは、ヤグラＦ２に左右方向の溝を設け、シートＡ６に左右方向に沿うレールを設けることで左右位置を制御可能な構成としてもよい。
【００３９】
シートポストＦのヤグラＦ２は、ポスト本体Ｆ１に対して、前後または左右について角度の調整が可能な状態で組み付けられている。シートポストＦは、アクチュエータＦ５を含む。アクチュエータＦ５は電動モータである。シートポストＦは、動作パラメータとして、シートＡ６の座面Ａ６１のポスト本体Ｆ１即ちフレームＡ１２に対する傾きを制御することが可能なコンポーネントである。シートポストＦは、シートＡ６の座面Ａ６１の傾きを、ポスト本体Ｆ１に対する角度を設定された傾きに調整する。
【００４０】
シートＡ６の前後位置、左右位置および傾きの調整は、他の構成で実現してもよい。ヤグラＦ２と、ヤグラＦ２に対して回動自在に設けられたクランプとによってシートＡ６のレールＡ６２を挟んでボルトおよびナットで固定する構成としてもよい。この構成の場合、アクチュエータＦ４またはアクチュエータＦ５は、クランプの回動角度、左右または前後の位置を制御する電動モータと、ボルトを締め、緩める電動モータである。
【００４１】
サスペンションＧは、人力駆動車Ａに含まれる伸縮機構の１つである。サスペンションＧは種々の形態をとり得る。サスペンションＧは第１例ではフロントフォークＡ５に設けられ、前輪Ａ３に加えられた衝撃を減衰するフロントサスペンションである。サスペンションＧは、前輪Ａ３に取り付けられる第１部材Ｇ１と、第１部材Ｇ１に対してバネまたはエアスプリングを介して移動可能に設けられる第２部材Ｇ２とを含む。第２部材Ｇ２は本体Ａ１またはハンドルバーＡ２のライダー部に固定される。サスペンションＧは、アクチュエータＧ３を含む。サスペンションＧは、動作パラメータとして、ストローク長、ロックアウト状態、バネ力、ダンピングレートを設定することで制御することが可能なコンポーネントの一部である。サスペンションＧは、例えば電動モータであるアクチュエータＧ３を駆動させることで、動作パラメータを変更することができる。サスペンションＧは、後輪Ａ４に加えられた衝撃を減衰するリアサスペンションであってもよい。リアサスペンションの場合、サスペンションＧは、後輪Ａ４に取り付けられシートステイ、またはチェーンステイに固定される第１部材と、フレームＡ１２のシートチューブ、トップチューブまたはダウンチューブに対して固定される第２部材とを含む。第２部材Ｇ２は、第１部材に対してバネまたはエアスプリングを介して移動可能である。サスペンションＧはシートポストＦに設けられてもよい。サスペンションＧは、フロントサスペンションおよびリアサスペンションであってもよい。サスペンションＧは、油圧式、空気圧および油圧のハイブリッド式のサスペンションのいずれであってもよい。アクチュエータＧ３は油または空気の流路を開閉するバルブであってよい。サスペンションＧは、操作装置Ｄから送信される操作に応じた信号、または制御ユニット１００から自動的に送信される信号に応じて、ロックアウト状態と解除状態とを切り替える。サスペンションＧはポンプおよびポンプからエアスプリングへの空気の供給を調整するバルブを備え、信号に応じてストローク長を複数の段階に変更可能であってもよい。ストローク長を変更するためにはアクチュエータＧ３はバルブを開閉させる電磁弁である。サスペンションＧは、アクチュエータＧ３を駆動させることで信号に応じてバネ力またはダンピングレートを複数の段階に変更可能であってもよい。
【００４２】
バネ力とはここでは、サスペンションＧのバネとしての力強さを表し、例えばバネ定数等のバネ特性である。サスペンションＧが油圧式または空気圧式の場合、その油圧、または空気圧に応じた非線形のバネ特性を有していてもよい。
【００４３】
バッテリユニットＨは、バッテリＨ１およびバッテリホルダＨ２を含む。バッテリＨ１は、１つ、または複数のバッテリセルを含む蓄電池である。バッテリホルダＨ２は、例えば、人力駆動車ＡのフレームＡ１２に固定される。バッテリホルダＨ２は、フレームＡ１２以外の自転車パーツに固定されてもよい。バッテリＨ１は、バッテリホルダＨ２に着脱可能である。バッテリＨ１は、バッテリホルダＨ２に取り付けられた場合に、アシスト機構Ｃ、変速機Ｅ、シートポストＦのアクチュエータＦ３，Ｆ４，Ｆ５、サスペンションＧのアクチュエータＧ１、および制御ユニット１００に電気的に接続される。
【００４４】
速度センサＳ１は、フロントフォークＡ５に固定される。速度センサＳ１は、人力駆動車Ａの走行速度を示す信号を出力するセンサである。速度センサＳ１は例えば、前輪Ａ３に設けられたマグネットと、フロントフォークＡ５に設けられてマグネットを検知する本体とを含み、回転速度を計測する。
【００４５】
ケイデンスセンサＳ２は、右クランクＢ１２および左クランクＢ１３のいずれかのケイデンスを測定するように設けられる。ケイデンスセンサＳ２は、測定したケイデンスを示す信号を出力する。トルクセンサＳ３は、右クランクＢ１２および左クランクＢ１３に掛かるトルクをそれぞれ測定するように設けられる。トルクセンサＳ３は、右クランクＢ１２および左クランクＢ１３の少なくとも一方において測定されたトルクを示す信号を出力する。
【００４６】
角度センサＳ４はフレームＡ１２に固定される。角度センサＳ４は、人力駆動車Ａのヨー、ロール、およびピッチを示す信号をそれぞれ出力するセンサである。角度センサＳ４は、三軸全てではなく少なくともいずれか１つを出力するものであってよい。角度センサＳ４は第１例ではジャイロセンサである。角度センサＳ４は第２例では回転角度を出力する方位センサである。
【００４７】
加速度センサＳ５は、サスペンションＧの第１部材Ｇ１に取り付けられた第１加速度センサＳ５１と、第２部材Ｇ２に取り付けられた第２加速度センサＳ５２とを含む。第１加速度センサＳ５１および第２加速度センサＳ５２は加速度を示す信号を出力する。
【００４８】
空気圧センサＳ６は、前輪Ａ３または後輪Ａ４に設けられており、タイヤ空気圧に対応する値を示す信号を出力する。
【００４９】
画像センサＳ７は、フレームＡ１２に前方を向けて設けられる。第１例では、フロントフォークＡ５にライトと共に前方に向けて設けられる。第２例では、ハンドルバーＡ２に設けられる。画像センサＳ７は、カメラモジュールを用いてユーザの視界に対応する映像を出力する。画像センサＳ７は、進行方向に存在する物を撮影した映像信号を出力する。画像センサＳ７は、映像から道路、建物、他の走行車両を区別して認識処理する画像認識部と一体化され、認識結果を出力するモジュールであってもよい。
【００５０】
図２は、制御ユニット１００の内部構成を示すブロック図である。制御ユニット１００は、制御部１０、記憶部１２、入出力部１４を含む。制御ユニット１００は、フレームＡ１２のいずれかの箇所に設置されている。制御ユニット１００は、ハンドルバーＡ２とフレームＡ１２との間に設けられてもよい。第１例では図１に示したように、第１スプロケット組立体Ｂ２とフレームＡ１２との間に設けられる。第２例では、バッテリホルダＨ２に設けられる。
【００５１】
制御部１０は、ＣＰＵ（Central Processing Unit ）またはＧＰＵ（Graphics Processing Unit）を用いたプロセッサであり、内蔵するＲＯＭ（Read Only Memory）およびＲＡＭ（Random Access Memory）等のメモリを用い、後述する学習アルゴリズムおよび人力駆動車Ａに設けられるコンポーネントを制御して処理を実行する。制御部１０は、内蔵クロックを用いて任意のタイミングで時間情報を取得する。
【００５２】
記憶部１２は、例えばフラッシュメモリ等の不揮発性メモリを含む。記憶部１２は、学習プログラム１Ｐおよび制御プログラム２Ｐを記憶する。学習プログラム１Ｐは制御プログラム２Ｐに含まれてもよい。記憶部１２は、制御部１０の処理によって作成される学習モデル１Ｍを記憶する。学習プログラム１Ｐは、記録媒体１８に記憶された学習プログラム８Ｐを読み出して記憶部１２に複製されたものであってもよい。制御プログラム２Ｐは、記憶媒体１９に記憶された制御プログラム９Ｐを読み出して記憶部１２に複製されたものであってもよい。
【００５３】
入出力部１４は、人力駆動車Ａに設けられたセンサ群Ｓ１−Ｓ７、操作装置Ｄ、制御対象のシートポストＦのアクチュエータＦ３，Ｆ４，Ｆ５に接続される。入出力部１４は、制御対象のサスペンションＧのアクチュエータＧ３にも接続される。制御部１０は入出力部１４によって、速度センサＳ１から速度を示す信号を取得する。制御部１０は入出力部１４によってケイデンスセンサＳ２からケイデンスを示す信号を取得し、トルクセンサＳ３からトルクを示す信号を取得する。制御部１０は入出力部１４によって角度センサＳ４から、人力駆動車Ａの姿勢、具体的にはヨー、ロール、またはピッチを示す信号を入力する。制御部１０は入出力部１４によって、第１加速度センサＳ５１および第２加速度センサ５２から、加速度を示す信号を取得する。制御部１０は入出力部１４によって、空気圧センサＳ６から、タイヤ空気圧に対応する値を示す信号を取得する。制御部１０は入出力部１４によって画像センサＳ７から、映像信号または映像信号に基づく認識結果を取得する。制御部１０は、これらのセンサ群Ｓ１−Ｓ７から得られる情報を入力情報として処理する。制御部１０は入出力部１４によって、操作装置Ｄからの信号を入力する。図２のブロック図では、入出力部１４は、アクチュエータＦ３，Ｆ４，Ｆ５、およびアクチュエータＧ３に接続されるが、制御対象としないアクチュエータとは接続しなくてよい。
【００５４】
制御部１０は、入出力部１４によって取得された人力駆動車の走行に関する入力情報を学習モデル１Ｍに与え、学習モデル１Ｍによって出力されるシートポストＦまたはサスペンションＧ等の伸縮機構の制御に関する出力情報に基づいて伸縮機構を制御する。
【００５５】
記憶部１２に記憶される学習モデル１Ｍは予め、人力駆動車Ａの走行試験環境下で以下のように生成される。第１段階では、人力駆動車Ａを実際に走行させるのではなく、人力駆動車Ａのモデルにおけるシミュレーションを実行することによって生成されてもよい。ユーザがシートポストＦおよびサスペンションＧを操作することが可能な人力駆動車Ａを実際に走行させた際の人力駆動車Ａの走行情報と、操作結果とを収集し、その収集された情報に基づいて学習されてもよい。学習モデル１Ｍは、制御対象であるシートポストＦとサスペンションＧとで別々に生成されてもよいし、両方の制御情報を出力するように生成されてもよい。
【００５６】
図３は、学習モデル１Ｍの生成方法の一例を示すフローチャートである。制御部１０は、学習プログラム１Ｐに基づいて以下に示す学習モデル１Ｍの生成方法を実行する。本実施形態において学習アルゴリズムは、ニューラルネットワーク（以下ＮＮ：Neural Network）を用いた強化学習（深層Ｑ学習）である。学習方法は、教師ありの学習アルゴリズムでもよいし、時系列データを用いたリカレントニューラルネットワーク（Recurrent Neural Network）でもよい。
【００５７】
制御部１０は、入出力部１４によって人力駆動車Ａの走行に関する入力情報を取得する（ステップＳ１０１）。
【００５８】
制御部１０は、ステップＳ１０１で取得した入力情報をＮＮへ与え（ステップＳ１０３）、ＮＮから出力された出力情報を特定する（ステップＳ１０５）。
【００５９】
制御部１０は、特定された出力情報に対する評価値を算出する（ステップＳ１１１）。走行状態の評価値は第１例では、ステップＳ１０５で特定された出力情報に基づく制御後に取得できる制御後入力情報に基づき導出される。走行状態の評価値は第２例では、ステップＳ１０５で特定された出力情報と、ユーザの実際の操作装置Ｄに対する指定操作との比較に基づき導出される。ステップＳ１１１は、第１実施形態における「評価部」に相当する。
【００６０】
制御部１０は、ステップＳ１１１にて算出された評価値が条件を満たすか否かを判断し（ステップＳ１１３）、評価値が条件を満たさないと判断された場合（Ｓ１１３：ＮＯ）、処理を次のステップＳ１１５へ進める。
【００６１】
制御部１０は、ステップＳ１１１で算出された評価値を例えば報酬として用い、出力された制御に関する情報に基づく走行状態の評価を向上させるようにＮＮの中間層におけるパラメータを更新させ、学習を進める（ステップＳ１１５）。学習方法の詳細は、強化学習における既知の方法、二重深層Ｑ学習、ＡＣ（Actor-Critic）、Ａ３Ｃ等の適切な方法を選択して用いるとよい。制御部１０は、処理をステップＳ１０１へ戻し学習を続ける。
【００６２】
ステップＳ１１３にて評価値が条件を満たすと判断された場合（Ｓ１１３：ＹＥＳ）、制御部１０は学習処理を終了する。
【００６３】
制御部１０は、学習モデル１Ｍを教師ありの学習アルゴリズムで生成する場合、人力駆動車Ａのモデルユーザが運転する場合に、センサ群Ｓ１−Ｓ７から取得できる入力情報と、モデルユーザの操作装置Ｄに対する操作内容とを取得して教師データとして用いる。入力情報をＮＮへ与えた場合に出力される出力情報がモデルユーザによる実際の操作内容と合致するようにＮＮにおけるパラメータを更新させ、学習を進める。
【００６４】
図３のフローチャートに示した学習モデル１Ｍの生成方法を具体的に説明する。図４は、第１例の学習モデル１Ｍの生成方法を示すフローチャートである。第１例では制御対象をサスペンションＧとする。図４のフローチャートに示す処理手順は、図３のフローチャートに示した処理手順をサスペンションＧの制御を目的として具体化した手順である。
【００６５】
制御部１０は入出力部１４によってセンサ群Ｓ１−Ｓ７から取得できる情報の内、少なくとも第１加速度センサＳ５１から第１加速度と、第２加速度センサＳ５２から第２加速度とを取得する（ステップＳ１２１）。制御部１０はステップＳ１２１において、センサ群Ｓ１−Ｓ７から取得できる走行速度、ケイデンス、ケイデンスおよびトルクから得られるパワー、ヨーピッチロールごとの姿勢を取得してもよい。制御部１０はステップＳ１２１において、人力駆動車Ａの変速機Ｅまたは操作装置Ｄから得られるギア比を取得してもよい。制御部１０はステップＳ１２１において、操作装置Ｄから得られる人力駆動車Ａのブレーキレバーの操作量を取得してもよい。
【００６６】
制御部１０は少なくとも第１加速度と第２加速度とを含む入力情報をＮＮへ与え（ステップＳ１２３）、ＮＮからサスペンションＧのストローク長、ロックアウト状態、バネ力、ダンピングレートの内の少なくともいずれか１つを含む出力情報を特定する（ステップＳ１２５）。
【００６７】
第１例において制御部１０は、ステップＳ１２５で特定した出力情報に基づく制御信号をサスペンションＧのアクチュエータＧ３へ出力して制御し（ステップＳ１２７）、制御後の第１加速度および第２加速度を含む制御後入力情報を取得する（ステップＳ１２９）。制御部１０は、制御後入力情報に基づいて評価値を算出する（ステップＳ１３１）。ステップＳ１３１において制御部１０は、制御後入力情報として取得した第１加速度と第２加速度との差分を評価値として算出する。差分がより少ないほど評価が高い。差分を微小とすることは困難なので、差分が所定範囲内にあればよい。ステップＳ１３１において制御部１０は、第１加速度を入力、第２加速度を出力とする伝達関数が最小となるように評価値を算出してもよい。ステップＳ１３１において制御部１０は、第２加速度の振幅、またはパワー値を評価値として算出してもよい。振幅またはパワー値は少ないほど評価が高い。路面が不安定な状態である場合など、振幅が大きいほど評価が高い場合もある。第１加速度と第２加速度との差分、伝達関数が所定の範囲内に入っているか否かに応じて評価値が算出されるとよい。
【００６８】
制御部１０は、評価値として算出された差分が所定範囲内にあるという条件を満たすか否かを判断する（ステップＳ１３３）。ステップＳ１３３において制御部１０は、フレームＡ１２側の第２加速度の振幅またはパワー値が所定値未満であるという条件を満たすか否かを判断する。
【００６９】
ステップＳ１３３で条件を満たさないと判断された場合（Ｓ１３３：ＮＯ）、制御部１０はステップＳ１３１で算出された評価値を報酬として用い、走行状態の評価を向上させるようにＮＮの中間層におけるパラメータを更新させ、学習を進める（ステップＳ１３５）。ステップＳ１３５で制御部１０は、例えば第２加速度の振幅が小さくなるようにパラメータを更新させる。
【００７０】
ステップＳ１３３で条件を満たすと判断された場合（Ｓ１３３：ＹＥＳ）、制御部１０は学習処理を終了させる。
【００７１】
図４のフローチャートに示した手順によってフレームＡ１２の振動が吸収されて快適となるようなサスペンションＧの制御を学習する学習モデル１Ｍを生成することができる。
【００７２】
制御部１０はステップＳ１２１において入出力部１４によって画像センサＳ７から得られる映像信号により、車輪の接地状態、路面状況、または天候のいずれか１つを含む走行環境情報を導出し、導出した走行環境情報を入力情報として用いてもよい。路面状況は例えば映像信号に基づいて、アスファルト等の滑らかな路面であるのか、山道等の凹凸の大きな路面であるのか等を分類した結果である。または路面状況は、濡れている、凍っている等の滑りやすい状況なのか否かを判別した結果であってもよい。制御部１０は前輪Ａ３および後輪Ａ４の種類を取得し、また空気圧センサＳ６から得られる空気圧に基づいて車輪の接地状態を特定して入力情報として用いてもよい。ここで前輪Ａ３および後輪Ａ４の種類とは、大きさ、材料、太さ、および溝のパターンによって異なる種類（品番）である。種類は型番であってもよい。前輪Ａ３または後輪Ａ４の種類別に予め記憶してある空気圧と接地状態との対応関係に基づいて、制御部１０は前輪Ａ３または後輪Ａ４の種類別に、接地状態を特定する。例えば制御部１０は、太く固いマウンテンバイクのような前輪Ａ３の場合と、細いレース用の前輪Ａ３の場合とでは、空気圧が同様であっても接地状態を異なって特定することができる。
【００７３】
図５は、第１例の学習モデル１Ｍの概要を示す図である。図５を参照する具体例では、サスペンションＧにおける制御に関する出力情報を出力する学習モデル１Ｍが説明される。学習モデル１Ｍは、人力駆動車Ａの走行に関する入力情報を入力する入力層３１と、人力駆動車Ａのコンポーネントの内、伸縮機構を有するサスペンションＧの制御に関する出力情報を出力する出力層３２と、出力層３２から出力された出力情報に基づいてサスペンションＧを制御した場合に、人力駆動車Ａの走行状態の評価を向上させるように学習されたパラメータを有する中間層３３とを備える。入力層３１に走行に関する入力情報が入力された場合、学習済みパラメータによって中間層３３で演算が行なわれ、出力層３２からサスペンションＧの制御に関する出力情報が出力される。
【００７４】
図５の具体例では入力層３１には少なくとも、第１加速度センサＳ５１から得られる第１加速度および第２加速度センサＳ５２から得られる第２加速度が与えられる。入力層３１には、ケイデンスセンサＳ２から得られるケイデンスが与えられてもよい。入力層３１には、トルクおよびケイデンスを用いた演算により得られるパワーが与えられてもよい。
【００７５】
入力層３１にはそのほか、角度センサＳ４から得られる人力駆動車Ａの姿勢のデータが入力されてもよい。姿勢のデータは、人力駆動車Ａの傾きを示す情報である。傾きは、鉛直方向を軸とするヨー成分、人力駆動車Ａの前後方向を軸とするロール成分、および左右方向を軸とするピッチ成分それぞれで表される。
【００７６】
入力層３１には、人力駆動車Ａの荷重バランスが与えられてもよい。荷重バランスは、空気圧センサＳ６から得られる前輪Ａ３および後輪Ａ４夫々の圧力の比から制御部１０が求めた数値であってもよい。荷重バランスは、ベクトルセンサ、ひずみゲージを用いて求められてもよいし、設計により、異なるタイプのセンサを組み合わせて求められてもよい。また荷重バランスは、走行試験環境下で前輪Ａ３および後輪Ａ４また、人力駆動車ＡのシートＡ６およびハンドルバーＡ２に圧電センサを設けて荷重バランスが前方寄りであるのか、後方寄りであるのかを判別した結果であってもよい。
【００７７】
入力層３１には、空気圧センサＳ６から得られる前輪Ａ３または後輪Ａ４の路面への接地状態を示す信号が入力されてもよい。接地状態を示す信号は、すなわち走行環境情報である。接地状態を示す信号は、空気圧が高いほどに小さい接地面積の大小を表す数値に対応する。接地状態を示す信号は、接地面積の大中小夫々を示す状態を表す信号であってもよい。走行環境情報として他には、画像センサＳ７から得られる映像信号に対する画像処理によって得られる路面状況を示す信号が入力層３１へ入力されてもよい。路面状況を示す信号は例えば、オフロードか舗装道路かの判別結果、アップダウンの判別結果、スリップの有無等の路面状況を示す信号である。
【００７８】
出力層３２は、サスペンションＧのバネ力を出力する。出力層３２は具体的には、強中弱の３段階に分別されたバネ力それぞれの行動価値、すなわちどのようなバネ力とした場合に乗り心地を良好とさせるかを示す情報を出力する。制御部１０は、出力情報の行動価値に基づいて、最も行動価値が高いバネ力を選択してサスペンションＧへ出力することができる。出力層３２から出力されるバネ力は、第２加速度にて測定される振動がより小さいものが高く評価される。
【００７９】
強化学習が進むことにより、学習モデル１Ｍによって人力駆動車Ａの走行状況・路面状況等に応じて乗り心地をよくするためのサスペンションＧの制御情報が得られる。
【００８０】
図６は、第２例の学習モデル１Ｍの生成方法を示すフローチャートである。第２例では制御対象をシートポストＦとする。図６のフローチャートに示す処理手順は、図３のフローチャートに示した処理手順をシートポストＦの制御を対象として具体化した手順である。
【００８１】
制御部１０は入出力部１４によってセンサ群Ｓ１−Ｓ７から取得できる情報の内、少なくとも速度センサＳ１から走行速度と、ケイデンスと、ケイデンスおよびトルクから得られる駆動力とを取得する（ステップ１４１）。ステップＳ１４１において制御部１０は、ヨーピッチロール毎の人力駆動車Ａの姿勢を取得してもよい。制御部１０はステップＳ１４１において、人力駆動車Ａの変速機Ｅまたは操作装置Ｄから得られるギア比を取得してもよい。制御部１０はステップＳ１４１において、操作装置Ｄから得られる人力駆動車Ａのブレーキレバーの操作量を取得してもよい。
【００８２】
制御部１０は少なくとも走行速度と、ケイデンスまたは駆動力を含む入力情報をＮＮへ与え（ステップＳ１４３）、ＮＮから出力されるシートポストＦにおけるシートＡ６のシート高さ、座面Ａ６１の傾き、シートＡ６の前後位置、および左右位置、の内の少なくともいずれか１つを含む出力情報を特定する（ステップＳ１４５）。
【００８３】
第２例においても制御部１０は、ステップＳ１４５で特定した出力情報に基づく制御信号をシートポストＦのアクチュエータＦ３，Ｆ４，Ｆ５へ出力して制御し（ステップＳ１４７）、制御後に例えばトルクを含む制御後入力情報を取得する（ステップＳ１４９）。制御部１０は、制御後入力情報に基づいて評価値を算出する（ステップＳ１５１）。ステップＳ１５１において制御部１０は、制御後入力情報としてトルクを取得し、トルクまたは駆動力を評価値として算出する。トルクまたは駆動力が少ないほどユーザは楽にペダリングしており評価が高い。
【００８４】
制御部１０は、ステップＳ１５１で算出されたトルクまたは駆動力が所定値未満であるという条件を満たすか否かを判断する（ステップＳ１５３）。
【００８５】
ステップＳ１５３で条件を満たさないと判断された場合（Ｓ１５３：ＮＯ）、制御部１０はステップＳ１５１で算出された評価値を報酬として用い、走行状態の評価を向上させるようにＮＮの中間層におけるパラメータを更新させ、学習を進める（ステップＳ１５５）。ステップＳ１５５で制御部１０は、例えばトルクまたは駆動力が少なくなるようにパラメータを更新させる。
【００８６】
ステップＳ１５３で条件を満たすと判断された場合（Ｓ１５３：ＮＯ）、制御部１０は学習処理を終了させる。
【００８７】
第２例において制御部１０はステップＳ１５１において、ステップＳ１４７、Ｓ１４９を省略し、ステップＳ１４５で特定した出力情報と、ユーザの実際の操作装置Ｄに対する指定操作との比較に基づき、乖離度を評価値として算出してもよい。例えばユーザが実際に操作装置Ｄを操作してシートポストＦのシート高さ、前後位置、左右位置を調整した場合、ＮＮから出力される出力情報が実際の制御内容と合致するように学習を進めてもよい。この場合、操作装置Ｄの操作内容は教師データであって、学習は教師あり学習によって進められる。
【００８８】
第２例では学習が進むことにより、学習モデル１Ｍによって人力駆動車Ａをより楽にペダリングして運転するためのシートポストＦの制御情報が得られる。走行速度、画像情報、傾斜、パワー等の情報に基づいた強化学習により、その状況において最適なサドル位置に自動調整される。
【００８９】
第２例においても制御部１０はステップＳ１４１において入出力部１４によって画像センサＳ７から得られる映像信号により、車輪の接地状態、路面状況、または天候のいずれか１つを含む走行環境情報を導出し、導出した走行環境情報を入力情報として用いてもよい。路面状況は例えば映像信号に基づいて、アスファルト等の滑らかな路面であるのか、山道等の凹凸の大きな路面であるのか等を分類した結果である。または路面状況は、濡れている、凍っている等の滑りやすい状況なのか否かを判別した結果であってもよい。制御部１０は前輪Ａ３および後輪Ａ４の種類を取得し、また空気圧センサＳ６から得られる空気圧に基づいて車輪の接地状態を特定して入力情報として用いてもよい。
【００９０】
図７は、第２例の学習モデル１Ｍの概要を示す図である。図７を参照する具体例では、シートポストＦにおける制御に関する出力情報を出力する学習モデル１Ｍが説明される。学習モデル１Ｍは、人力駆動車Ａの走行に関する入力情報を入力する入力層３１と、人力駆動車Ａのコンポーネントの内、伸縮機構を有するシートポストＦの制御に関する出力情報を出力する出力層３２と、出力層３２から出力された出力情報に基づいてシートポストＦを制御した場合に、人力駆動車Ａの走行状態の評価を向上させるように学習されたパラメータを有する中間層３３とを備える。入力層３１に走行に関する入力情報が入力された場合、学習済みパラメータによって中間層３３で演算が行なわれ、出力層３２からシートポストＦの制御に関する出力情報が出力される。
【００９１】
図７の具体例では入力層３１には、ケイデンスセンサＳ２から得られるケイデンスと、トルクセンサＳ３から得られるトルクが与えられる。入力層３１には、トルクおよびケイデンスを用いた演算により得られるパワーが与えられてもよい。
【００９２】
入力層３１には、変速機Ｅまたは操作装置Ｄから得られるギア比が与えられてもよい。
【００９３】
入力層３１には、角度センサＳ４から得られる人力駆動車Ａの姿勢のデータが入力されてもよい。姿勢のデータは、人力駆動車Ａの傾きを示す情報である。傾きは、鉛直方向を軸とするヨー成分、人力駆動車Ａの前後方向を軸とするロール成分、および左右方向を軸とするピッチ成分それぞれで表される。人力駆動車Ａの姿勢を入力することによって、下り坂ではシートＡ６を低く、上り坂ではシートＡ６を高くするなどのシートポストＦの制御を実現することが期待される。
【００９４】
入力層３１には、ブレーキレバーを操作部Ｄ１として含む操作装置Ｄから得られるブレーキの操作量が入力されるとよい。ブレーキの操作量が大きい場合にシートＡ６を自動的に低くしてより楽にペダリングできたり、停止する場合に安全に停車できたりすることが可能になる。
【００９５】
入力層３１には、画像センサＳ７から得られる映像信号が入力されてもよい。映像信号をそのまま入力するのではなく、映像信号に対する画像処理によって得られる路面状況を示す信号が入力層３１へ入力されてもよい。路面状況を示す信号は、すなわち走行環境情報である。路面状況を示す信号は例えば、オフロードか舗装道路かの判別結果、アップダウンの判別結果、スリップの有無等の路面状況を示す信号である。進行方向に見える景色に対応する映像信号から、これから走行する路面のアップダウンが分類されることによって、シートＡ６を高くすべきか低くすべきか決定してシートポストＦを制御することが可能になる。
【００９６】
入力層３１にはそのほか、速度センサＳ１から得られる人力駆動車Ａの走行速度を示す信号が入力されてもよい。走行速度が所定速度以下で停車する状況では、自動的にシートＡ６が低くなるようにシートポストＦを制御することが可能になる。
【００９７】
出力層３２は、シートポストＦにおけるシートＡ６の高さを出力する。出力層３２は具体的には、高中低の３段階に分別されたシートＡ６の高さ、即ちシートポストＦの突出長または直線移動量それぞれの行動価値、すなわちどのような高さとした場合に乗り心地を良好とさせるかを示す情報を出力する。シートポストＦの高さは、高中低の３段階に分別するのみならず、無段階調整の突出長または直線移動量そのもので制御されてもよい。２段階調整の製品であってもよい。出力情報の行動価値に基づいて、最も行動価値が高い高さを選択し、選択された高さに対応する突出長または直線移動量をシートポストＦへ出力することができる。出力層３２から出力されるシートＡ６の高さは、トルクまたはパワーがより小さく無駄に力が掛からないものが高く評価される。シート高さと突出長のみならず、シート高さと直線移動量との対応に基づいて、選択された高さに対応する直線移動量をシートポストＦへ出力してもよい。
【００９８】
出力層３２は他の例では、シートポストＦにおけるシートＡ６の前後位置または左右位置について、設定されている複数段階の位置それぞれに対する行動価値を出力してもよい。出力層３２はほかに、シートＡ６の座面Ａ６１の傾き毎の行動価値を出力してもよい。
【００９９】
強化学習が進むことにより、学習モデル１Ｍによって人力駆動車Ａの走行状況・路面状況等に応じて乗り心地をよくするためのシートポストＦの制御情報が得られる。
【０１００】
図３，４，６のフローチャートに示した処理手順では、コントロール周期毎に報酬を与えて即時報酬によって学習を進めた。しかしながらこれに限らず、所定期間における第２加速度のパワー、トルク、またはケイデンスを用いて報酬を与えてもよい。学習モデル１Ｍまたは学習前のＮＮに入力される情報は、コントロール周期毎にセンサ群Ｓ１−Ｓ７から得られる数値、または情報とした。しかしながら所定期間に亘るセンサ群Ｓ１−Ｓ７から得られる数値、または情報を入力層３１に与えてもよい。この場合、センサ群Ｓ１−Ｓ７からの出力をグラフ化した画像を入力層３１に与えてもよい。
【０１０１】
制御ユニット１００の制御部１０は、上述したように作成された学習モデル１Ｍから出力される制御情報に基づいてコンポーネントを制御する。図８は、制御ユニット１００による学習モデル１Ｍを用いた制御手順の一例を示すフローチャートである。制御部１０は、図８のフローチャートに示す処理手順を、繰り返し実行する。所定のコントロール周期（例えば３０ミリ秒）で実行してもよい。
【０１０２】
制御部１０は、入出力部１４によって人力駆動車Ａの走行に関する入力情報を取得する（ステップＳ２０１）。ステップＳ２０１において制御部１０は、入出力部１４によって入力されるセンサ群Ｓ１−Ｓ７からの信号レベルをコントロール周期毎に参照し、制御部１０の内部メモリまたは入出力部１４が内蔵するメモリに一時記憶する。
【０１０３】
制御部１０は、ステップＳ２０１で取得した入力情報を学習モデル１Ｍの入力層３１へ与える（ステップＳ２０３）。制御部１０はステップＳ２０３においてサスペンションＧ用の入力情報を選択して与え、シートポストＦ用の入力情報を選択して与える。
【０１０４】
制御部１０は、学習モデル１Ｍから出力される制御対象のコンポーネントの制御に関する出力情報を特定する（ステップＳ２０５）。制御部１０はステップＳ２０５において例えば、学習モデル１Ｍから出力されるシートポストＦに関するシートＡ６の高さを出力情報として特定する。制御部１０は他の例では、学習モデル１Ｍから出力されるサスペンションＧのバネ力の強弱を出力情報として特定する。
【０１０５】
制御部１０は、特定された出力情報に基づく制御対象の状態を参照する（ステップＳ２０７）。制御部１０は、特定された出力情報が示す制御内容と、参照した状態との関係に基づき、制御信号の出力が必要であるか否かを判断する（ステップＳ２０９）。
【０１０６】
ステップＳ２０９で必要であると判断された場合（Ｓ２０９：ＹＥＳ）、制御部１０は特定された制御に関する出力情報に基づいて制御信号を制御対象のコンポーネントへ出力し（ステップＳ２１１）、１回のコントロール周期における制御処理を終了する。
【０１０７】
ステップＳ２０９で不要であると判断された場合（Ｓ２０９：ＮＯ）、制御部１０は特定された制御に関する出力情報に基づく制御信号を出力することなく処理を終了する。ステップＳ２０７およびステップＳ２０９の判断処理は必須ではない。
【０１０８】
制御部１０は、シートポストＦおよびサスペンションＧそれぞれに対して図８のフローチャートに示した処理を実行してもよいし、ステップＳ２０１は共通に行ない、ステップＳ２０３でコンポーネント毎に異なる情報を選択して与えてもよい。
【０１０９】
サスペンションＧまたはシートポストＦが自動的に制御される場合、制御ユニット１００は、制御内容を乗り手であるユーザへ報知するために、スピーカを報知部として用い、制御部１０１はブザー音または案内音声等をスピーカへ出力するとよい。制御ユニット１００は、制御内容をユーザへ報知するために、ディスプレイを報知部として有するサイクルコンピュータをハンドルバーＡ２に設け、サイクルコンピュータへ制御内容を出力してもよい。制御内容の報知によって、人力駆動車Ａの走行に関するコンポーネントの制御内容をユーザに認識させることができ、違和感を生じさせない自動制御が実現される。
【０１１０】
（第２実施形態）
第２実施形態では、制御ユニット１００に代替して、ユーザの端末装置にて学習モデル１Ｍを作成し、コンポーネントの制御情報を出力する処理を実行する。図９は、第２実施形態の制御システム２００の構成を示すブロック図である。制御システム２００は、端末装置２と制御ユニット１００とを含む。第２実施形態における制御ユニット１００は、制御部１１、記憶部１２、入出力部１４および通信部１６を含む。第２実施形態における制御ユニット１００の構成部の内、第１実施形態における制御ユニット１００と共通する構成には同一の符号を付して詳細な説明を省略する。
【０１１１】
第２実施形態における制御ユニット１００の制御部１１は、ＣＰＵを用いたプロセッサであり、内蔵するＲＯＭおよびＲＡＭ等のメモリを用い、各構成部を制御して処理を実行する。制御部１１は、第１実施形態における制御ユニット１００の制御部１０が行なった学習処理を実行しない。制御部１１は、人力駆動車Ａに設けられたセンサ群Ｓ１−Ｓ７から出力される信号を入出力部１４によって入力し、通信部１６を介して端末装置２へ送信する。制御部１１は、操作装置Ｄにおける制御状態、操作装置Ｄから出力される操作信号を参照して通信部１６を介して端末装置２へ送信する。制御部１１は、操作装置Ｄから出力される操作信号に基づき、または端末装置２からの指示に基づき、制御信号を制御対象のシートポストＦまたはサスペンションＧへ与える。
【０１１２】
端末装置２は、ユーザが使用する可搬型の小型の通信端末装置である。端末装置２は第１例では、サイクルコンピュータである。端末装置２は第２例では、人力駆動車Ａのコンポーネントと有線または無線で接続される所謂ジャンクションボックスと呼ばれる通信端末装置であってよい。端末装置２は、第３例では、スマートフォンである。端末装置２は第４例では、所謂スマートウォッチ等のウェアラブルデバイスである。サイクルコンピュータまたはスマートフォンである場合、人力駆動車ＡのハンドルバーＡ２にサイクルコンピュータ用またはスマートフォン用の保持部材を取り付けておき、この保持部材にサイクルコンピュータまたはスマートフォンを嵌めて用いてもよい（図１０参照）。
【０１１３】
端末装置２は、制御部２０１、記憶部２０３、表示部２０５、操作部２０７、音声入出力部２０９、ＧＰＳ受信部２１１、第１通信部２１３および第２通信部２１５を備える。
【０１１４】
制御部２０１は、ＣＰＵ、ＧＰＵ等のプロセッサと、メモリ等を含む。制御部２０１は、プロセッサ、メモリ、記憶部２０３、第１通信部２１３、および第２通信部２１５を集積した１つのハードウェア（ＳｏＣ：System On a Chip）として構成されていてもよい。制御部２０１は、記憶部２０３に記憶されているアプリプログラム２０Ｐに基づき、人力駆動車Ａの制御に関する出力情報の学習と、学習に基づくコンポーネント制御を実行する。
【０１１５】
記憶部２０３は、例えばフラッシュメモリ等の不揮発性メモリを含む。記憶部２０３は、学習プログラム１０Ｐおよびアプリプログラム２０Ｐを記憶する。学習プログラム１０Ｐはアプリプログラム２０Ｐに含まれてもよい。記憶部２０３は、制御部２０１の処理によって作成される学習モデル２Ｍを記憶する。記憶部２０３は、制御部２０１が参照するデータを記憶する。学習プログラム１０Ｐは、記録媒体４に記憶された学習プログラム４０Ｐを読み出して記憶部２１に複製されたものであってもよい。アプリプログラム２０Ｐは、記憶媒体５に記憶されたアプリプログラム５０Ｐを読み出して記憶部２０３に複製されたものであってもよい。
【０１１６】
記憶部２０３は、地図情報を記憶している。地図情報には、アップダウンの情報、オフロードか舗装道路か否か等の情報が含まれている。制御部２０１はＧＰＳ受信部２１１によって得られる端末装置２の位置、すなわち人力駆動車Ａの位置から記憶部２０３に記憶してある地図情報を参照し、地図情報に対応する人力駆動車Ａの走行環境情報として、アップダウン、オフロードか否か等を特定することができる。
【０１１７】
表示部２０５は、液晶パネルまたは有機ＥＬディスプレイ等のディスプレイ装置を含む。表示部２０５は、ユーザへシートポストＦまたはサスペンションＧに対する制御内容を報知する報知部である。
【０１１８】
操作部２０７は、ユーザの操作を受け付けるインタフェースであり、物理ボタン、ディスプレイ内蔵のタッチパネルデバイスを含む。操作部２０７は、物理ボタンまたはタッチパネルにて表示部２０５で表示している画面上における操作を受け付けることが可能である。
【０１１９】
音声入出力部２０９は、スピーカおよびマイクロフォン等を含む。音声入出力部２０９は、音声認識部２１７を備え、マイクロフォンにて入力音声から操作内容を認識して操作を受け付けることが可能である。音声入出力部２０９は、スピーカにて音声又はビープ音を発生させ、ユーザへシートポストＦまたはサスペンションＧに対する制御内容を報知する報知部である。音声入出力部２０９は、特定のパターンの振動を出力し、端末装置２全体、または表示部２０５の表面を振動させる機能を有してもよい。
【０１２０】
ＧＰＳ受信部２１１は、ＧＰＳ（Global Positioning System ）信号を受信する通信ユニットである。ＧＰＳ受信部２１１を備え、端末装置２の位置情報（経緯度情報）を求める。ＧＰＳ受信部２１１はWi-Fi 、Bluetooth （登録商標）等の無線通信規格における電波の受信強度を用いて位置情報の算出を補助してもよい。
【０１２１】
第１通信部２１３は、制御ユニット１００の通信部１６に対応する通信モジュールである。第１通信部２１３は第１例では、ＵＳＢ通信ポートである。第１通信部２１３は第２例では、近距離無線モジュールである。
【０１２２】
第２通信部２１５は、公衆通信網を介して、または所定の移動通信規格によって他の通信機器（図示省略）との情報の送受信を実現する無線通信モジュールである。第２通信部２１５は、ネットワークカード、無線通信デバイスまたはキャリア通信用モジュールを用いる。制御部２０１は、第２通信部２１５によって他の通信機器から天候情報を取得することができる。制御部２０１は、ＧＰＳ受信部２１１によって得られる端末装置２の位置、すなわち人力駆動車Ａの位置情報に基づいて、人力駆動車Ａの走行環境情報として天候の情報を取得することができる。
【０１２３】
第２実施形態において制御ユニット１００は継続的に、入出力部１４によって人力駆動車Ａに設けられたセンサ群Ｓ１−Ｓ７から得られる入力情報を取得し、通信部１６を介して端末装置２へ送信する。
【０１２４】
端末装置２の制御部２０１は、予め作成された学習モデル２Ｍを用いた自動制御モードと、学習モデル２Ｍを乗り手用に更新する再学習モードとで動作する。制御部２０１は自動制御モードの場合、入力情報をシートポストＦ用の学習モデル２Ｍに与えて出力されるシートポストＦの制御に関する情報に基づいてシートポストＦを制御する。制御部２０１は自動制御モードの場合、入力情報をサスペンションＧ用の学習モデル２Ｍに与えて出力されるサスペンションＧの制御に関する情報に基づいてサスペンションＧを制御する。予め作成される学習モデル２Ｍの作成方法は、第１実施形態にて説明したシートポストＦ用の学習モデル１Ｍの作成方法、または、サスペンションＧ用の学習モデル１Ｍの作成方法と同様であるから説明を省略する。
【０１２５】
自動制御モードにおける制御部２０１の処理は、図８のフローチャートに示した第１実施形態における制御ユニット１００における処理内容と同様であるから詳細な説明を省略する。
【０１２６】
以下、学習モデル２Ｍを評価に基づいて更新する再学習モードについて説明する。図１０および図１１は、アプリプログラム２０Ｐに基づいて表示される画面例を示す図である。図１０に示す例では、端末装置２はサイクルコンピュータであってハンドルバーＡ２にユーザが表示部２０５を視認できるように取り付けられている。図１０では、アプリプログラム２０Ｐに基づき、表示部２０５に表示されるメイン画面２５０が示されている。制御部２０１は、アプリプログラム２０Ｐに基づいて表示部２０５にメイン画面２５０を表示させる。制御部２０１は、アプリプログラム２０Ｐに基づいて制御ユニット１００との間で通信接続を確立させる。メイン画面２５０には再学習モードおよび自動制御モードの選択ボタン２５２，２５４が含まれる。選択ボタン２５２が選択された場合、制御部２０１は再学習モードでの動作を開始する。選択ボタン２５４が選択された場合、制御部２０１は自動制御モードでの動作を開始する。
【０１２７】
図１１は、再学習モードの選択ボタン２５２が選択された場合に表示される再学習モード画面２５６の内容例を示す。再学習モード画面２５６は、制御部２０１がシートポストＦまたはサスペンションＧ等の伸縮機構を有するコンポーネントを制御した場合の制御内容を示すメッセージを表示するための報知部である。再学習モード画面２５６には、高評価ボタン２５８と低評価ボタン２６０とが含まれる。高評価ボタン２５８および低評価ボタン２６０は、高評価ボタン２５８および低評価ボタン２６０は評価部の第１例に相当する。制御部２０１は高評価ボタン２５８および低評価ボタン２６０が選択されたことを操作部２０７にて認識し、評価を受け付ける。図１１の例における高評価ボタン２５８は、学習モデル２Ｍに基づく制御が快適でなかった場合に選択される。制御部２０１は、高評価ボタン２５８および低評価ボタン２６０のいずれが選択されたかを認識して受け付けた評価内容を認識する。評価部として、低評価ボタン２６０のみが表示されていてもよい。
【０１２８】
第２例の評価部は、操作部Ｄ１に設けられている物理的なボタンであってもよい。操作部Ｄ１に特定の評価受付ボタンを設けてもよい。評価を受け付けるためのボタンが操作装置Ｄの近傍に別途設けられてもよい。
【０１２９】
第３例の評価部は、音声入出力部２０９の音声認識部２１７である。制御部２０１は、音声認識部２１７にてユーザの音声を認識して評価を受け付ける。制御部２０１は、認識した音声に基づいて制御が快適であったか否かを判別する。快適である場合に高評価とする。
【０１３０】
第４例の評価部は、カメラから得られる乗り手のユーザの顔を撮像した撮像画像から表情を特定し、表情に基づいて制御が快適であったか否かを判別し、快適であるか否かによって評価を受け付ける。
【０１３１】
図１２は、第２実施形態における制御部２０１の再学習の処理手順の一例を示すフローチャートである。制御部２０１は、再学習モードの選択ボタン２５２が選択された場合、自動制御モードが選択されるまで、所定のコントロール周期（例えば３０ミリ秒）で以下の処理を実行する。図１２のフローチャートでは、シートポストＦを制御の対象とした手順を示す。
【０１３２】
制御部２０１は、制御ユニット１００から得られる人力駆動車Ａの走行に関する入力情報を第１通信部２１３から取得する（ステップＳ３０１）。ステップＳ３０１において制御部２０１は、制御ユニット１００の制御部１０がセンサＳ１−Ｓ７からの信号レベルをコントロール周期毎に参照し、制御部１０の内部メモリまたは入出力部１４が内蔵するメモリに一時記憶したものを取得する。
【０１３３】
制御部２０１は、ステップＳ３０１で取得した入力情報を学習モデル２Ｍへ与え（ステップＳ３０３）、学習モデル２Ｍから出力されるコンポーネントの制御に関する出力情報を特定する（ステップＳ３０５）。
【０１３４】
制御部２０１は、ステップＳ３０５で特定した出力情報に基づく制御指示を制御ユニット１００へ出力する（ステップＳ３０７）、制御内容を表示部２０５に表示させてユーザへ報知する（ステップＳ３０９）。
【０１３５】
制御部２０１は、制御処理後の所定時間内でユーザの評価を受け付ける（ステップＳ３１１）。ステップＳ３１１において制御部２０１は図１０及び図１１に示したように、再学習モード画面２５６の高評価ボタン２５８および低評価ボタン２６０で評価を受け付ける。
【０１３６】
制御部２０１は、操作装置Ｄの操作部Ｄ１を用いた実際の操作内容を制御ユニット１００から取得する（ステップＳ３１３）。制御部２０１は、ステップＳ３１３で取得した制御内容に対応するコンポーネントの制御に関する情報と、ステップＳ３０５で特定した出力情報との比較に基づき評価値を算出する（ステップＳ３１５）。制御部２０１は、ステップＳ３１１で取得した情報と、ステップＳ３０５で特定した出力情報との差分が少ない程に高い評価値を算出する。
【０１３７】
制御部２０１は、ステップＳ３１１で受け付けた評価内容およびステップＳ３１５で算出した評価値を、ステップＳ３０５で特定された出力情報に対する報酬として用い、ユーザからの評価を向上させるように学習モデル２Ｍの中間層におけるパラメータを更新し（ステップＳ３１７）、処理を終了する。
【０１３８】
ステップＳ３１３およびステップＳ３１５の処理は、ステップＳ３１１で受け付けた評価内容が低評価であった場合のみに行なわれるようにしてもよい。
【０１３９】
制御部２０１は、ユーザが自動制御モードの選択ボタン２５４を選択した場合、または、ステップＳ３１１で受け付ける評価が所定の割合以上で高評価である場合、または、ステップＳ３１５で算出される評価値が予め設定してある範囲内となった場合に再学習モードを終了する。制御部２０１は、再学習モードの選択ボタン２５２が選択されてから所定時間の間、図１２のフローチャートに示した手順を実行してもよい。
【０１４０】
第２実施形態にて説明した再学習の処理により、端末装置２および制御ユニット１００の処理によって、人力駆動車Ａの乗り手であるユーザの運転特性、嗜好に合った伸縮機構の自動制御が実現される。
【０１４１】
（第３実施形態）
第３実施形態における制御システム２００の構成は、学習モデル２Ｍが、人力駆動車Ａが走行する走行コース別に準備されている点を除いては、第２実施形態における構成と同様である。第３実施形態における制御システム２００の構成の内、第１実施形態または第２実施形態における構成と共通する構成には同一の符号を付して詳細な説明を省略する。
【０１４２】
図１３は、第３実施形態の制御システム２００の構成を示すブロック図である。第３実施形態では、図１３に示すように、端末装置２の記憶部２０３に複数の学習モデル２１Ｍ，２２Ｍが記憶されている。複数の学習モデル２１Ｍ，２２Ｍは、異なる走行試験環境下で第１実施形態の図３、図４、または図５のフローチャートに示した処理手順によって作成され、準備されたモデルである。異なる走行試験環境は第１例では、人力駆動車Ａが走行する走行コースである。つまり学習モデル２１Ｍ，２２Ｍは、人力駆動車Ａが走行する異なる走行コース別に準備されており、記憶部２０３に記憶されている。走行コースに限らず、異なる走行環境に応じたモデルを選択可能な構成としてもよい。ユーザは、端末装置２を用いていずれかの学習モデル２Ｍを外部サーバから選択して端末装置２にダウンロードし、記憶部２０３に記憶させることができる。制御部２０１は、ユーザからの操作を受け付け、記憶された学習モデル２Ｍに対応する名称の設定を受け付けることができてもよい。
【０１４３】
異なる走行コース別の学習モデル２１Ｍ，２２Ｍを適宜選択した自動制御について以下に説明する。図１４は、第３実施形態における端末装置２による学習モデル２１Ｍ，２２Ｍを用いた制御手順の一例を示すフローチャートである。
【０１４４】
制御部２０１は、走行コースの選択画面を表示部２０５に表示し（ステップＳ４０１）、選択画面にて走行コースの選択を受け付ける（ステップＳ４０３）。図１５は、選択画面の内容例を示す図である。選択画面２６２は、図１５に示すように複数の走行コースの選択ボタン２６４，２６６を含む。制御部２０１は、いずれの選択ボタン２６４，２６６が選択されたかを操作部２０７によって認識することができる。制御部２０１は、図１５で示したようにステップＳ４０３で選択された走行コースに対応する学習モデルを記憶部２０３に記憶してある複数の学習モデル２１Ｍ，２２Ｍから選択する（ステップＳ４０５）。
【０１４５】
制御部２０１は、制御ユニット１００から得られる人力駆動車Ａの走行に関する情報を第１通信部２１３から取得する（ステップＳ４０７）。
【０１４６】
制御部２０１は、ステップＳ４０７で取得した入力情報を、ステップＳ４０５で選択した学習モデル２１Ｍまたは学習モデル２２Ｍへ与え（ステップＳ４０９）、選択された学習モデル２１Ｍまたは学習モデル２２Ｍから出力されるコンポーネントの制御に関する出力情報を特定する（ステップＳ４１１）。
【０１４７】
制御部２０１は、特定された出力情報に基づく制御対象の状態を制御ユニット１００から取得する（ステップＳ４１３）。制御部２０１は、特定された出力情報が示す制御内容と、参照した状態との関係に基づき、制御信号の出力が必要であるか否かを判断する（ステップＳ４１５）。
【０１４８】
ステップＳ４１５で必要であると判断された場合（Ｓ４１５：ＹＥＳ）、制御部２０１は、ステップＳ４１１で特定した出力情報に基づく制御指示を制御ユニット１００へ送信する（ステップＳ４１７）。制御部２０１は、制御内容を表示部２０５に表示させてユーザへ報知し（ステップＳ４１９）、処理を終了する。
【０１４９】
ステップＳ４１５で不要であると判断された場合（Ｓ４１５：ＮＯ）、制御部２０１は特定された制御に関する出力情報に基づく制御指示を送信することなく処理を終了する。ステップＳ４１３およびステップＳ４１５の判断処理は必須ではない。
【０１５０】
このように、異なる走行環境別に学習モデル２１Ｍ，２２Ｍを学習することによって、走行コースに適合した多様な入力情報に基づく様々なシチュエーションまたは走行環境に応じた伸縮機構の自動制御が実現される。
【０１５１】
第３実施形態における端末装置２は、学習モデル２１Ｍ，２２Ｍについて、第２実施形態で示したように再学習を行なうとよい。
【０１５２】
このようにして、学習モデル１Ｍ、２Ｍまたは２１Ｍ，２２Ｍを用いることにより、制御ユニット１００は、多数のセンサＳ１−Ｓ７により得られる走行情報の数値に対して閾値との比較に基づく判断を各々実行する必要がない。制御ユニット１００は、多数のセンサＳ１−Ｓ７により得られる人力駆動車Ａの走行に関する入力情報を総合的に自然に鑑みて制御する人間の知覚に準じた適切な自動制御が可能になる。
【符号の説明】
【０１５３】
１００…制御ユニット（制御装置）、１０…制御部、１２…記憶部、１Ｍ…学習モデル、１Ｐ…学習プログラム、２Ｐ…制御プログラム、２…端末装置（制御装置）、２０１…制御部、２０３…記憶部、２Ｍ，２１Ｍ，２２Ｍ…学習モデル、１０Ｐ…学習プログラム、２０Ｐ…アプリプログラム、Ａ１２…フレーム、Ａ２…ハンドルバー、Ａ５…フロントフォーク、Ａ６…シート、Ａ６１…座面、Ｆ…シートポスト、Ｆ１…ポスト本体、Ｆ２…ヤグラ、Ｆ３，Ｆ４，Ｆ５…アクチュエータ、Ｇ…サスペンション、Ｇ１…第１部材、Ｇ２…第２部材、Ｇ３…アクチュエータ、Ｓ１…速度センサ、Ｓ２…ケイデンスセンサ、Ｓ３…トルクセンサ、Ｓ４…角度センサ、Ｓ５…加速度センサ、Ｓ５１…第１加速度センサ、Ｓ５２…第２加速度センサ、Ｓ６…空気圧センサ、Ｓ７…画像センサ。
【図１】
2020121695.tif 000003
【図２】
2020121695.tif 000004
【図３】
2020121695.tif 000005
【図４】
2020121695.tif 000006
【図５】
2020121695.tif 000007
【図６】
2020121695.tif 000008
【図７】
2020121695.tif 000009
【図８】
2020121695.tif 000010
【図９】
2020121695.tif 000011
【図１０】
2020121695.tif 000012
【図１１】
2020121695.tif 000013
【図１２】
2020121695.tif 000014
【図１３】
2020121695.tif 000015
【図１４】
2020121695.tif 000016
【図１５】
2020121695.tif 000017