(57)【要約】【課題】乗り手に違和感を生じさせにくいコンポーネントの自動制御を実現する情報の制御データ作成装置、コンポーネント制御装置、制御データ作成方法、コンポーネント制御方法、およびコンピュータプログラムを提供する。【解決手段】制御データ作成装置は、人力駆動車の走行に関する入力情報を取得する取得部と、前記取得部が取得した入力情報に基づいて前記人力駆動車のコンポーネントの制御に関する出力情報を出力する、学習モデルを学習アルゴリズムによって作成する作成部と、前記学習モデルから出力された出力情報を評価する評価部とを備え、前記作成部は、前記評価部の評価と、前記出力情報の出力に対応する入力情報と、前記出力情報とを含む教師データに基づいて前記学習モデルを更新する。【選択図】図４
2020006834.tif 000002
【特許請求の範囲】
【請求項１】
人力駆動車の走行に関する入力情報を取得する取得部と、
前記取得部が取得した入力情報に基づいて前記人力駆動車のコンポーネントの制御に関する出力情報を出力する、学習モデルを学習アルゴリズムによって作成する作成部と、
前記学習モデルから出力された出力情報を評価する評価部と
を備え、
前記作成部は、前記評価部の評価と、前記出力情報の出力に対応する入力情報と、前記出力情報とを含む教師データに基づいて前記学習モデルを更新する、制御データ作成装置。
【請求項２】
前記評価部は、前記学習モデルから出力された出力情報によるコンポーネントの制御がスムーズであったか否かを判断し、スムーズであった場合に評価を向上させる、請求項１に記載の制御データ作成装置。
【請求項３】
前記評価部は、前記制御の際の前記人力駆動車の駆動機構に掛かるトルクを検知し、前記トルクに応じてスムーズであったか否かを判断する、請求項２に記載の制御データ作成装置。
【請求項４】
前記評価部は、前記制御の際の前記人力駆動車の駆動機構に掛かるトルクを検知し、前記トルクの変動に応じてスムーズであったか否かを判断する、請求項２に記載の制御データ作成装置。
【請求項５】
前記評価部は、前記制御の際の前記人力駆動車の姿勢を検知し、前記人力駆動車の姿勢に応じてスムーズであったか否かを判断する、請求項２に記載の制御データ作成装置。
【請求項６】
前記評価部は、前記制御の際の前記人力駆動車の振動を検知し、前記振動に応じてスムーズであったか否かを判断する、請求項２に記載の制御データ作成装置。
【請求項７】
前記評価部は、前記制御の際の前記人力駆動車のチェーンテンションを測定し、前記チェーンテンションに応じてスムーズであったか否かを判断する、請求項２に記載の制御データ作成装置。
【請求項８】
前記評価部は、前記制御の際の前記人力駆動車のユーザの姿勢を検知し、前記ユーザの姿勢に応じてスムーズであったか否かを判断する、請求項２に記載の制御データ作成装置。
【請求項９】
前記作成部は、前記評価部の評価の度合いが高い、または低いほど、大きい重みを付与して前記学習モデルを更新する、請求項１〜８のいずれか一項に記載の制御データ作成装置。
【請求項１０】
前記出力情報に関する指定操作を受け付ける操作部を備え、
前記取得部は、時系列に複数の入力情報を逐次一時記憶する記憶部を備え、
前記作成部は、前記操作部にて指定操作を受け付けた場合、前記指定操作が行われたタイミングの前後に取得された複数の入力情報を入力データとし、前記入力データと前記操作部での操作内容とにより前記学習モデルを更新する、請求項１〜９のいずれか一項に記載の制御データ作成装置。
【請求項１１】
人力駆動車の走行に関する入力情報を入力として、前記人力駆動車のコンポーネントの制御に関する出力情報を出力するべく学習アルゴリズムにより作成された学習モデルと、
前記入力情報を取得する取得部と、
前記取得部が取得した入力情報を前記学習モデルに入力することにより出力される出力情報に基づき前記コンポーネントを制御する制御部と、
前記制御部による制御内容を評価する評価部と、
前記評価部の評価と、前記評価に対応する入力情報と、評価対象の制御内容とを含む教師データに基づいて前記学習モデルを更新する、コンポーネント制御装置。
【請求項１２】
前記評価部は、前記制御部による制御内容の評価を受け付ける評価受付部を備え、
前記評価受付部により評価を受け付けた場合、前記評価が受け付けられたタイミングの前後に取得された複数の入力情報と、前記制御内容と、前記評価受付部で受け付けた評価とを含む教師データに基づいて前記学習モデルを更新する、請求項１１に記載のコンポーネント制御装置。
【請求項１３】
人力駆動車の走行に関する入力情報を取得し、
取得した入力情報を入力として、前記人力駆動車のコンポーネントの制御に関する出力情報を出力する学習モデルを学習アルゴリズムによって作成し、
前記学習モデルから出力された出力情報を評価し、
評価と、前記出力情報の出力に対応する入力情報と、評価対象の出力情報とを含む教師データに基づいて前記学習モデルを更新する制御データ作成方法。
【請求項１４】
人力駆動車の走行に関する入力情報を取得し、
前記入力情報を入力として、前記人力駆動車のコンポーネントの制御に関する出力情報を出力するべく学習アルゴリズムにより作成された学習モデルに、取得された入力情報を入力することにより出力される出力情報を特定し、
特定した出力情報に基づき前記コンポーネントを制御し、
制御内容を評価し、
評価と、前記評価に対応する入力情報と、評価対象の制御内容とを含む教師データに基づいて前記学習モデルを更新する、コンポーネント制御方法。
【請求項１５】
人力駆動車の走行に関する入力情報を取得し、
取得した入力情報を入力として、前記人力駆動車のコンポーネントの制御に関する出力情報を出力する学習モデルを学習アルゴリズムによって作成し、
前記学習モデルから出力された出力情報を評価し、
評価と、前記出力情報の出力に対応する入力情報と、評価対象の出力情報とを含む教師データに基づいて前記学習モデルを更新する
処理を、コンピュータに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人力駆動車のコンポーネントの制御に関するデータの制御データ作成装置、コンポーネント制御装置、制御データ作成方法、コンポーネント制御方法、およびコンピュータプログラムに関する。
【背景技術】
【０００２】
自転車をはじめとして電動アシスト付き自転車、Ｅバイクと呼ばれる電動自転車等、少なくとも部分的に人力が用いられる人力駆動車がある。人力駆動車は、複数の段数を持つ変速機を備え、乗り手の変速操作に応じて段数が切り替えられる。速度センサ、ケイデンスセンサ、チェーンテンションセンサ等のセンサを用い、センサからの出力に対して種々の演算を行なって自動的に変速制御する自動変速制御システムが従来提案されている（特許文献１等）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第６０４７２３０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
自動変速制御の目指すものは、乗り手の意図に合った変速である。特許文献１等に開示されている変速機を含むコンポーネントの自動制御は、人力駆動車に設けられた速度センサ、トルクセンサ等の各種センサから得られる数値が所定の閾値より大きいか否かの判断の組み合わせにより実現されてきた。しかしながら、閾値による判断では目指す自動制御の実現には不足であった。
【０００５】
本発明の目的は、乗り手に違和感を生じさせにくいコンポーネントの自動制御を実現する情報の制御データ作成装置、コンポーネント制御装置、制御データ作成方法、コンポーネント制御方法、およびコンピュータプログラムを提供することである。
【課題を解決するための手段】
【０００６】
（１）本発明の第１側面に従う制御データ作成装置は、人力駆動車の走行に関する入力情報を取得する取得部と、前記取得部が取得した入力情報に基づいて前記人力駆動車のコンポーネントの制御に関する出力情報を出力する、学習モデルを学習アルゴリズムによって作成する作成部と、前記学習モデルから出力された出力情報を評価する評価部とを備え、前記作成部は、前記評価部の評価と、前記出力情報の出力に対応する入力情報と、前記出力情報とを含む教師データに基づいて前記学習モデルを更新する。
このため、走行に関する測定値を含む多数の入力情報に基づき、閾値では判定しきれない状況に応じたコンポーネント制御をより最適化させることができ、乗り手に違和感を生じさせにくい制御が実現できる。
【０００７】
（２）本発明の第２側面に従う制御データ作成装置は、上記第１側面の制御データ作成装置において、前記評価部は、前記学習モデルから出力された出力情報によるコンポーネントの制御がスムーズであったか否かを判断し、スムーズであった場合に評価を向上させる。
このため、スムーズとなるようにコンポーネント制御が最適化され、乗り手に違和感を生じさせにくい制御が実現できる。
【０００８】
（３）本発明の第３側面に従う制御データ作成装置は、上記第２側面の制御データ作成装置において、前記評価部は、前記制御の際の前記人力駆動車の駆動機構に掛かるトルクを検知し、前記トルクに応じてスムーズであったか否かを判断する。
このため、乗り手に違和感を生じさせにくい制御が実現できる。
【０００９】
（４）本発明の第４側面に従う制御データ作成装置は、上記第２側面の制御データ作成装置において、前記評価部は、前記制御の際の前記人力駆動車の駆動機構に掛かるトルクを検知し、前記トルクの変動に応じてスムーズであったか否かを判断する。
このため、乗り手に違和感を生じさせにくい制御が実現できる。
【００１０】
（５）本発明の第５側面に従う制御データ作成装置は、上記第２側面の制御データ作成装置において、前記評価部は、前記制御の際の前記人力駆動車の姿勢を検知し、前記人力駆動車の姿勢に応じてスムーズであったか否かを判断する。
このため、乗り手に違和感を生じさせにくい制御が実現できる。
【００１１】
（６）本発明の第６側面に従う制御データ作成装置は、上記第２側面の制御データ作成装置において、前記評価部は、前記制御の際の前記人力駆動車の振動を検知し、前記振動に応じてスムーズであったか否かを判断する。
このため、乗り手に違和感を生じさせにくい制御が実現できる。
【００１２】
（７）本発明の第７側面に従う制御データ作成装置は、上記第２側面の制御データ作成装置において、前記評価部は、前記制御の際の前記人力駆動車のチェーンテンションを測定し、前記チェーンテンションに応じてスムーズであったか否かを判断する。
このため、乗り手に違和感を生じさせにくい制御が実現できる。
【００１３】
（８）本発明の第８側面に従う制御データ作成装置は、上記第２側面の制御データ作成装置において、前記評価部は、前記制御の際の前記人力駆動車のユーザの姿勢を検知し、前記ユーザの姿勢に応じてスムーズであったか否かを判断する。
このため、乗り手に違和感を生じさせにくい制御が実現できる。
【００１４】
（９）本発明の第９側面に従う制御データ作成装置は、上記第１側面〜第８側面のいずれか一つの制御データ作成装置において、前記作成部は、前記評価部の評価の度合いが高い、または低いほど、大きい重みを付与して前記学習モデルを更新する。
このため、乗り手に違和感を生じさせにくい制御が実現できる。
【００１５】
（１０）本発明の第１０側面に従う制御データ作成装置は、上記第１側面〜第９側面のいずれか一つの制御データ作成装置において、前記出力情報に関する指定操作を受け付ける操作部を備え、前記取得部は、時系列に複数の入力情報を逐次一時記憶する記憶部を備え、前記作成部は、前記操作部にて指定操作を受け付けた場合、前記指定操作が行われたタイミングの前後に取得された複数の入力情報を入力データとし、前記入力データと前記操作部での操作内容とにより前記学習モデルを更新する。
このため、乗り手の操作に適合した自動制御が実現できる。
【００１６】
（１１）本発明の第１１側面に従うコンポーネント制御装置は、人力駆動車の走行に関する入力情報を入力として、前記人力駆動車のコンポーネントの制御に関する出力情報を出力するべく学習アルゴリズムにより作成された学習モデルと、前記入力情報を取得する取得部と、前記取得部が取得した入力情報を前記学習モデルに入力することにより出力される出力情報に基づき前記コンポーネントを制御する制御部と、前記制御部による制御内容を評価する評価部と、前記評価部の評価と、前記評価に対応する入力情報と、評価対象の制御内容とを含む教師データに基づいて前記学習モデルを更新する。
このため、走行に関する測定値を含む多数の入力情報に基づき、閾値では判定しきれない状況に応じたコンポーネント制御をより最適化させることができ、乗り手に違和感を生じさせにくい制御が実現できる。
【００１７】
（１２）本発明の第１２側面に従うコンポーネント制御装置は、前記評価部は、前記制御部による制御内容の評価を受け付ける評価受付部を備え、前記評価受付部により評価を受け付けた場合、前記評価が受け付けられたタイミングの前後に取得された複数の入力情報と、前記制御内容と、前記評価受付部で受け付けた評価とを含む教師データに基づいて前記学習モデルを更新する。
このため、乗り手の嗜好に適合した自動制御が実現できる。
【００１８】
（１３）本発明の第１３側面に従う制御データ作成方法は、人力駆動車の走行に関する入力情報を取得し、取得した入力情報を入力として、前記人力駆動車のコンポーネントの制御に関する出力情報を出力する学習モデルを学習アルゴリズムによって作成し、前記学習モデルから出力された出力情報を評価し、評価と、前記出力情報の出力に対応する入力情報と、評価対象の出力情報とを含む教師データに基づいて前記学習モデルを更新する。
このため、走行に関する測定値を含む多数の入力情報に基づき、閾値では判定しきれない状況に応じたコンポーネント制御をより最適化させることができ、乗り手に違和感を生じさせにくい制御が実現できる。
【００１９】
（１４）本発明の第１４側面に従うコンポーネント制御方法は、人力駆動車の走行に関する入力情報を取得し、前記入力情報を入力として、前記人力駆動車のコンポーネントの制御に関する出力情報を出力するべく学習アルゴリズムにより作成された学習モデルに、取得された入力情報を入力することにより出力される出力情報を特定し、特定した出力情報に基づき前記コンポーネントを制御し、制御内容を評価し、評価と、前記評価に対応する入力情報と、評価対象の制御内容とを含む教師データに基づいて前記学習モデルを更新する。
このため、走行に関する測定値を含む多数の入力情報に基づき、閾値では判定しきれない状況に応じたコンポーネント制御をより最適化させることができ、乗り手に違和感を生じさせにくい制御が実現できる。
【００２０】
（１５）本発明の第１５側面に従うコンピュータプログラムは、人力駆動車の走行に関する入力情報を取得し、取得した入力情報を入力として、前記人力駆動車のコンポーネントの制御に関する出力情報を出力する学習モデルを学習アルゴリズムによって作成し、前記学習モデルから出力された出力情報を評価し、評価と、前記出力情報の出力に対応する入力情報と、評価対象の出力情報とを含む教師データに基づいて前記学習モデルを更新する処理を、コンピュータに実行させる。
このため、走行に関する測定値を含む多数の入力情報に基づき、閾値では判定しきれない状況に応じたコンポーネント制御をより最適化させることができ、乗り手に違和感を生じさせにくい制御が実現できる。
【発明の効果】
【００２１】
本発明に関する人力駆動車のコンポーネントに関する制御データの制御データ作成装置、コンポーネント制御装置、作成方法、コンポーネント制御方法、およびコンピュータプログラムによれば、乗り手に違和感を生じさせにくいコンポーネントの自動制御が実現される。
【図面の簡単な説明】
【００２２】
【図１】第１実施形態−第３実施形態の制御データ作成装置またはコンポーネント制御装置が適用される自転車の側面図である。
【図２】制御ユニットの内部構成を示すブロック図である。
【図３】作成される学習モデルの一例を示す図である。
【図４】制御部の処理手順の一例を示すフローチャートである。
【図５】制御部による評価処理手順の一例を示すフローチャートである。
【図６】第２実施形態における制御ユニットの内部構成を示すブロック図である。
【図７】第２実施形態における制御ユニットの処理手順の一例を示すフローチャートである。
【図８】第２実施形態における制御ユニットの処理手順の一例を示すフローチャートである。
【図９】制御システムの構成を示すブロック図である。
【図１０】アプリプログラムに基づいて表示される画面例を示す図である。
【図１１】アプリプログラムに基づいて表示される画面例を示す図である。
【図１２】第３実施形態における制御部の処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下の各実施形態に関する説明は、本発明に関する制御データ作成装置、およびコンポーネント制御装置が取り得る形態の例示であり、その形態を制限することを意図していない。本発明に関する制御データ作成装置、コンポーネント制御装置、作成方法、コンポーネント制御方法、コンピュータプログラム、および学習モデルは、各実施形態の変形例、および、相互に矛盾しない少なくとも２つの変形例が組み合わせられた形態等のように各実施形態とは異なる形態を取り得る。
【００２４】
以下の各実施形態に関する説明において、前、後、前方、後方、左、右、横、上、および、下等の方向を表す言葉は、ユーザが人力駆動車のサドルに着座した状態における方向を基準として用いられる。
【００２５】
（第１実施形態）
図１は、第１実施形態の制御データ作成装置１が適用される人力駆動車Ａの側面図である。人力駆動車Ａは、電気エネルギーを用いて人力駆動車Ａの推進をアシストするアシスト機構Ｃを含むロードバイクである。人力駆動車Ａの構成は、任意に変更可能である。第１例では、人力駆動車Ａはアシスト機構Ｃを含まない。第２例では、人力駆動車Ａの種類は、シティサイクル、マウンテンバイク、または、クロスバイクである。第３例では、人力駆動車Ａは、第１例および第２例の特徴を含む。
【００２６】
人力駆動車Ａは、本体Ａ１、ハンドルバーＡ２、前輪Ａ３、後輪Ａ４、フロントフォークＡ５、サドルＡ６、ディレーラハンガーＡ７を備える。人力駆動車Ａは、駆動機構Ｂ、アシスト機構Ｃ、操作装置Ｄ、変速機Ｅ、電動シートポストＦ、電動サスペンションＧ、バッテリユニットＨ、および制御ユニット１００を備える。人力駆動車Ａは、速度センサＳ１、ケイデンスセンサＳ２、トルクセンサＳ３、ジャイロセンサＳ４、画像センサＳ５、姿勢センサＳ６１，Ｓ６２，Ｓ６３を含む。本体Ａ１は、フレームＡ１２を備える。
【００２７】
駆動機構Ｂは、チェーンドライブ、ベルトドライブ、または、シャフトドライブによって人力駆動力を後輪Ａ４へ伝達する。図１ではチェーンドライブの駆動機構Ｂを例示している。駆動機構Ｂは、クランクＢ１、第１スプロケット組立体Ｂ２、第２スプロケット組立体Ｂ３、チェーンＢ４、および、一対のペダルＢ５を含む。
【００２８】
クランクＢ１は、クランク軸Ｂ１１、右クランクＢ１２、および左クランクＢ１３を含む。クランク軸Ｂ１１は、フレームＡ１２に設けられるアシスト機構Ｃに回転可能に支持される。右クランクＢ１２および左クランクＢ１３は、それぞれクランク軸Ｂ１１に連結される。一対のペダルＢ５の一方は右クランクＢ１２に回転可能に支持される。一対のペダルＢ５の他方は左クランクＢ１３に回転可能に支持される。
【００２９】
第１スプロケット組立体Ｂ２は、第１回転中心軸心を有し、クランク軸Ｂ１１と一体回転可能に連結される。第１スプロケット組立体Ｂ２は、１または複数のスプロケットＢ２２を含む。クランク軸Ｂ１１の回転中心軸心と第１スプロケット組立体Ｂ２の回転中心軸心は同軸である。一例では、第１スプロケット組立体Ｂ２は、外径が異なる複数のスプロケットＢ２２を含む。一例では、複数のスプロケットＢ２２の外径は、本体Ａ１から外側へ遠ざかる程に大きく、段数は大きい。
【００３０】
第２スプロケット組立体Ｂ３は、第２回転中心軸心を有し、後輪Ａ４のハブ（図示略）に回転可能に支持される。第２スプロケット組立体Ｂ３は、１または複数のスプロケットＢ３１を含む。一例では、第２スプロケット組立体Ｂ３は、外径が異なる複数のスプロケットＢ３１を含む。一例では、複数のスプロケットＢ３１の外径は、後輪Ａ４から外側へ遠ざかる程に小さく、段数は大きい。
【００３１】
チェーンＢ４は、第１スプロケット組立体Ｂ２のいずれかのスプロケットＢ２２および第２スプロケット組立体Ｂ３のいずれかのスプロケットＢ３１に巻き掛けられる。一対のペダルＢ５に加えられる人力駆動力によってクランクＢ１が前転すると、第１スプロケット組立体Ｂ２がクランクＢ１とともに前転し、第１スプロケット組立体Ｂ２の回転がチェーンＢ４を介して第２スプロケット組立体Ｂ３に伝達されることで後輪Ａ４が前転する。
【００３２】
アシスト機構Ｃは、電動アクチュエータＣ１を含む。アシスト機構Ｃは、人力駆動車Ａの推進をアシストする。一例では、アシスト機構Ｃは、第１スプロケット組立体Ｂ２にトルクを伝達することによって人力駆動車Ａの推進をアシストする。電動アクチュエータＣ１は例えば、電気モータを含む。電動アクチュエータＣ１は、減速機を含んでいてもよい。電動アクチュエータＣ１は、人力駆動車Ａの後輪Ａ４に駆動力を伝達するチェーンＢ４を走行させる。アシスト機構Ｃは、チェーンＢ４の走行をアシストするための信号制御によって制御可能なコンポーネントの一部である。
【００３３】
操作装置Ｄは、ユーザが操作する操作部Ｄ１を含む。操作部Ｄ１の一例は、１または複数のボタンである。操作部Ｄ１の他の例は、ブレーキレバーである。左右のハンドルに設けられているブレーキレバーを左右に倒す都度に、変速機Ｅにおける変速段数または変速比を変更することができる。そのほかに操作装置Ｄは操作部Ｄ１にて、アシスト機構Ｃのモード（省エネルギーモード、ハイパワーモード等）の切り替え、電動シートポストＦの動作切り替え、電動サスペンションＧの動作切り替え等、各種コンポーネントの制御について指示操作を受け付ける。操作装置Ｄは、操作部Ｄ１の操作に応じた信号を変速機Ｅまたは他のコンポーネントへ送信できるように、各コンポーネントと通信接続される。第１例では、操作装置Ｄは、通信線、または、ＰＬＣ（Power Line Communication）が可能な電線によって変速機Ｅと通信接続される。第２例では、操作装置Ｄは、無線通信が可能な無線通信ユニットによって変速機Ｅおよび他のコンポーネントと通信接続される。操作部Ｄ１が操作された場合、第１例では変速機Ｅの変速段を変更するための制御信号が変速機Ｅに送信され、その信号に応じて変速機Ｅが動作することによって変速段数が変更される。制御信号は例えば、内側のスプロケットＢ３１への変更を指示するＩＮＷＡＲＤ信号と、外側へのスプロケットＢ３１への変更を指示するＯＵＴＷＡＲＤ信号である。信号は、変更するスプロケットＢ３１の段数を含んでもよい。一度に２段以上変更することも可能である。
【００３４】
変速機Ｅは種々の形態を取り得る。第１例では、変速機Ｅは、第２スプロケット組立体Ｂ３とチェーンＢ４との連結の状態を変速する外装変速機である。具体的には、変速機Ｅは、チェーンＢ４と連結するスプロケットＢ３１を変更することで、クランクＢ１の回転数に対する後輪Ａ４の回転数の比率、すなわち、人力駆動車Ａの変速比を変更する。変速機Ｅは、選択された変速段に応じてチェーンＢ４を移動させる電動アクチュエータＥ１を動作させることによって変速比を変更する。具体的に変速機Ｅは、第１例の変速機Ｅは、人力駆動車ＡのディレーラハンガーＡ７に取り付けられる。第２例では、変速機Ｅは、第１スプロケット組立体Ｂ２とチェーンＢ４との連結の状態を変速する外装変速機である。具体的には、変速機Ｅは、チェーンＢ４と連結するスプロケットＢ２２を変更することで、クランクＢ１の回転数に対する後輪Ａ４の回転数の比率、すなわち、人力駆動車Ａの変速比を変更する。第３例では、変速機Ｅは、内装変速機である。第３例では、変速機Ｅの可動部は、内装変速機のスリーブおよび爪の少なくとも一方を含む。第４例では、変速機Ｅは、無段変速機である。第４例では、変速機Ｅの可動部は、無段変速機のボールプラネタリー（遊星転動体）を含む。変速機Ｅは、変速段数を変更するための信号制御によって制御可能なコンポーネントの一部である。
【００３５】
電動シートポストＦは、フレームＡ１２に取り付けられる。電動シートポストＦは、電動アクチュエータＦ１を含む。電動アクチュエータＦ１は、サドルＡ６をフレームＡ１２に対して上昇および下降させる。電動アクチュエータＦ１は、例えば、電動モータである。電動シートポストＦは、動作パラメータとして、フレームＡ１２に対するサドルＡ６の支持位置を設定することで制御することが可能なコンポーネントの一部である。サドルＡ６の支持位置は、１または複数である。
【００３６】
電動サスペンションＧは種々の形態を取り得る。本実施形態１では、電動サスペンションＧは、フロントフォークＡ５に設けられ、前輪Ａ３に加えられた衝撃を減衰するフロントサスペンションである。電動サスペンションＧは、電動アクチュエータＧ１を含む。電動アクチュエータＧ１は例えば電動モータである。電動サスペンションＧは、動作パラメータとして、減衰率、ストローク量、およびロックアウト状態を設定することで制御することが可能なコンポーネントの一部である。電動サスペンションＧは、電動アクチュエータＧ１を駆動させることで、動作パラメータを変更することができる。電動サスペンションＧは、後輪Ａ４に加えられた衝撃を減衰するリアサスペンションであってもよい。
【００３７】
バッテリユニットＨは、バッテリＨ１およびバッテリホルダＨ２を含む。バッテリＨ１は、１または複数のバッテリセルを含む蓄電池である。バッテリホルダＨ２は、人力駆動車ＡのフレームＡ１２に固定される。バッテリＨ１は、バッテリホルダＨ２に着脱可能である。バッテリＨ１は、バッテリホルダＨ２に取り付けられた場合に少なくとも変速機Ｅの電動アクチュエータＥ１、アシスト機構Ｃの電動アクチュエータＣ１、および制御ユニット１００に電気的に接続される。バッテリＨ１は、電動シートポストＦの電動アクチュエータＦ１、電動サスペンションＧの電動アクチュエータＧ１それぞれにも電気的に接続されてもよい。
【００３８】
速度センサＳ１は、フレームＡ１２に固定される。速度センサＳ１は、人力駆動車Ａの走行、速度を示す信号を出力するセンサである。速度センサＳ１は例えば、マグネットが前輪Ａ３に設けられたマグネットと、フロントフォークＡ５に設けられてマグネットを検知する本体とを含み、回転速度を計測する。
【００３９】
ケイデンスセンサＳ２は、右クランクＢ１２および左クランクＢ１３のいずれかのケイデンスを測定するように設けられる。ケイデンスセンサＳ２は、測定したケイデンスを示す信号を出力する。トルクセンサＳ３は、右クランクＢ１２および左クランクＢ１３に掛かるトルクをそれぞれ測定するように設けられる。トルクセンサＳ３は、右クランクＢ１２および左クランクＢ１３の少なくとも一方において測定されたトルクを示す信号を出力する。
【００４０】
ジャイロセンサＳ４はフレームＡ１２に固定される。ジャイロセンサＳ４は、人力駆動車Ａのヨー、ロール、およびピッチを示す信号をそれぞれ出力するセンサである。ジャイロセンサＳ４は、三軸全てではなく少なくともいずれか１つを出力するものであってよい。
【００４１】
画像センサＳ５は、フレームＡ１２に前方を向けて設けられる。第１例では、フロントフォークＡ５にライトと共に前方に向けて設けられる。第２例では、ハンドルバーＡ２に設けられる。画像センサＳ５は、カメラモジュールを用いてユーザの視界に対応する映像を出力する。画像センサＳ５は、進行方向に存在する物を撮影した映像信号を出力する。画像センサＳ５は、映像から道路、建物、他の走行車両を区別して認識処理する画像認識部と一体化され、認識結果を出力するモジュールであってもよい。
【００４２】
姿勢センサＳ６１，Ｓ６２，Ｓ６３は例えば圧電センサである。姿勢センサＳ６１，Ｓ６２，Ｓ６３は、人力駆動車Ａの内、ユーザの体重が掛かる部分に設けられる。例えば姿勢センサＳ６１は、両ハンドルにそれぞれ設けられる。姿勢センサＳ６２は、サドルＡ６の表面に沿って１または複数の箇所に設けられる。姿勢センサＳ６３は、クランクＢ１の一対のペダルＢ５のそれぞれに設けられる。姿勢センサＳ６１，Ｓ６２，Ｓ６３は、掛けられる重量に応じた信号を出力する。姿勢センサＳ６１，Ｓ６２，Ｓ６３に代替して、または加えて、ユーザの姿勢を検知するために、ヘルメットにジャイロセンサを設けてもよい。
【００４３】
振動センサＳ７は、変速機Ｅの近傍に設けられる。振動センサＳ７は例えば、第２スプロケット組立体Ｂ３に設けられる。振動センサＳ７は、変速段数または変速比を変更するときの本体Ａ１の振動、第２スプロケット組立体Ｂ３の振動、チェーンＢ４、および変速機Ｅ自体の振動の内の少なくとも１つを直接的または間接的に検知する。振動検知は種々の形態をとり得る。第１例では、空気の振動を検知するセンサを含む。具体的には、振動センサＳ７はマイクロフォンを含み、集音した音声信号を出力する。この場合、振動センサＳ７は、変速機Ｅが取り付けられる本体Ａ１の振動、第２スプロケット組立体Ｂ３の振動、第２スプロケット組立体Ｂ３に巻きかけられるチェーンＢ４の振動、および、変速機Ｅの振動のうちの少なくとも１つを、空気を介して間接的に検知する。第２例では、振動センサＳ７は加速度センサ、またはジャイロセンサであり、振動を直接的に検知して振動を示す信号を出力する。振動センサＳ７は、マイクロフォン、加速度センサ、またはジャイロセンサの内いずれか少なくとも１つを含み、全て含んでもよい。
【００４４】
テンションセンサＳ８は、チェーンＢ４に掛かるテンションを検知する。第１例では、本体Ａ１のボトムブラケットハンガーのクランク軸Ｂ１１が取り付けられる箇所に設けられる歪みセンサを用いる。歪みセンサからの出力により、クランク軸Ｂ１１における軸受に発生しているチェーンテンションの反力を測定することができる。テンションセンサＳ８は、第１スプロケット組立体Ｂ２のチェーンＢ４が巻き掛けられるスプロケットＢ２２に設けられて直接的にテンションを測定してもよい。
【００４５】
図２は、制御ユニット１００の内部構成を示すブロック図である。制御ユニット１００は、制御部１０、記憶部１２、入出力部１４を含む。制御ユニット１００は、フレームＡ１２のいずれかの箇所に設置されている。第１例では図１に示したように、第１スプロケット組立体Ｂ２とフレームＡ１２との間に設けられる。第２例では、バッテリホルダＨ２に設けられる。
【００４６】
制御部１０は、ＣＰＵ（Central Processing Unit ）またはＧＰＵ（Graphics Processing Unit）を用いたプロセッサであり、内蔵するＲＯＭ（Read Only Memory）およびＲＡＭ（Random Access Memory）等のメモリを用い、後述する学習アルゴリズムおよび人力駆動車Ａに設けられるコンポーネントを制御して処理を実行する。制御部１０は、内蔵クロックを用いて任意のタイミングで時間情報を取得する。
【００４７】
記憶部１２は、例えばフラッシュメモリ等の不揮発性メモリを含む。記憶部１２は、制御プログラム１Ｐを記憶する。記憶部１２は、制御部１０の処理によって作成される学習モデル１Ｍを記憶する。制御プログラム１Ｐは、記録媒体１８に記憶された制御プログラム８Ｐを読み出して記憶部１２に複製されたものであってもよい。
【００４８】
入出力部１４は、人力駆動車Ａに設けられたセンサ群Ｓ１−Ｓ５，Ｓ６１−Ｓ６３，Ｓ７，Ｓ８、操作装置Ｄ、制御対象の電動アクチュエータＥ１に少なくとも接続される。入出力部１４は、制御対象の電動アクチュエータＦ１，Ｇ１にも接続される。制御部１０は入出力部１４によって、速度センサＳ１またはケイデンスセンサＳ２のいずれか一方から、速度を示す信号またはケイデンスを示す信号を入力する。制御部１０は、ジャイロセンサＳ４から、人力駆動車Ａの姿勢、具体的にはヨー、ロール、またはピッチを示す信号を入力する。制御部１０は、姿勢センサＳ６１，Ｓ６２，Ｓ６３からユーザの姿勢を示す信号、具体的には体重分布を示す信号を入力する。制御部１０は、これらのセンサ群Ｓ１−Ｓ５，Ｓ６１−Ｓ６３，Ｓ７，Ｓ８から得られる情報を入力情報として処理する。制御部１０は入出力部１４によって、操作装置Ｄからの信号を入力する。図２のブロック図では、入出力部１４は、電動アクチュエータＦ１、および電動アクチュエータＧ１に接続されるが、制御対象としない場合は接続しなくてよい。
【００４９】
制御ユニット１００は、制御プログラム１Ｐに基づき、入出力部１４によって取得した入力情報を学習モデル１Ｍに入力することにより学習モデル１Ｍから出力される出力情報に基づいて変速機Ｅを含むコンポーネントを制御する制御部として機能する。制御ユニット１００は、制御プログラム１Ｐに基づき、学習モデル１Ｍを更新する作成部として機能する。制御ユニット１００は「制御データ作成装置」および「コンポーネント制御装置」に相当する。
【００５０】
図３は、作成される学習モデル１Ｍの一例を示す図である。学習モデル１Ｍは、センサ群Ｓ１−Ｓ５，Ｓ６１−Ｓ６３で得られる複数の入力情報を入力する入力層１３１と、制御データを出力する出力層１３２とを含むニューラルネットワーク１３から作成される。学習アルゴリズムは教師なしの学習アルゴリズムでもよいし、リカレントニューラルネットワーク（Recurrent Neural Network）でもよい。学習アルゴリズムは強化学習でもよい。学習モデル１Ｍは、入力層１３１および出力層１３２の中間に位置する１または複数の層からなるノード群を含む中間層１３３を含む。図３に示すように出力層１３２とつながる中間層１３３は、多数のノードを出力層１３２のノード数に集約させる結合層である。出力層１３２のノード数は、図３の例では３つであるが、３つに限らず１つであってもよい。出力層１３２のノード数は、制御対象のコンポーネントの制御データの種別数に応じた数であってもよい。中間層１３３のノードはそれぞれ、前段の層のノードとの関係において重みおよびバイアスの少なくとも一方を含むパラメータを持つ。制御部１０は、制御プログラム１Ｐに基づき、入力情報に対応する実際の制御データを、その入力情報にラベル付けすることにより教師データを作成する。制御部１０が作成された教師データを入力層１３１に入力することによって、中間層１３３における各パラメータが学習される。
【００５１】
図３を参照して学習モデル１Ｍを具体的に説明する。具体例では、変速機Ｅにおける変速段数または変速比の制御に関する出力情報を出力する学習モデル１Ｍが説明される。入力層１３１には、図３に示すように速度センサＳ１から得られる走行速度に関する情報が入力される。走行速度は例えば時速である。走行速度は、前輪Ａ３または後輪Ａ４の単位時間当たりの回転数でもよい。入力層１３１には、ケイデンスセンサＳ２から得られるケイデンスが入力される。入力層１３１には少なくとも、走行速度およびケイデンスの一方が入力される。入力層１３１には、トルクセンサＳ３から得られるトルクが入力されてもよい。入力層１３１には、トルクおよびケイデンスを用いた演算により得られるパワーが入力されもよい。
【００５２】
入力層１３１には、ジャイロセンサＳ４から得られる人力駆動車Ａの姿勢の検知データが入力される。検知データは、人力駆動車Ａの傾きを示す情報である。傾きは、鉛直方向を軸とするヨー成分、人力駆動車Ａの前後方向を軸とするロール成分、および左右方向を軸とするピッチ成分それぞれで表される。
【００５３】
入力層１３１には、画像センサＳ５から得られる映像信号を入力される。画像センサＳ５から得られる映像信号は、ユーザの視界に対応する映像信号であり、すなわち走行環境を検知したデータである。入力される映像信号は、第１例では、連続する複数のフレーム画像１つずつである。入力される映像信号は、第２例では、フレーム画像を各種フィルタ処理して得られた複数のデータである。入力される映像信号は、第３例では、画像センサＳ５からの映像に基づいて画像認識部によって認識された進行方向に存在する物の種別を示す情報である。進行方向に存在する物との間の距離を含んでもよい。この距離は、画像認識部にて画像処理によって求められた距離でもよく、人力駆動車Ａにレーダを設けてレーダから得られるデータでもよい。
【００５４】
走行環境の検知データの他の例は、時刻データ、気象データ、照度データ、または湿度データである。時刻データは例えば、制御部１０の内蔵タイマによる時刻である。気象データは例えば、外部の気象データを扱うサーバから取得できる走行中の場所における局所的雨量、湿度、風速、および風向のうち少なくとも１つである。湿度データは、人力駆動車Ａの本体Ａ１に設けられた湿度センサから得てもよい。照度データは、人力駆動車Ａの本体Ａ１のいずれかの箇所、たとえばハンドルバーＡ２に照度センサを設けることで得られる。
【００５５】
入力層１３１には、姿勢センサＳ６１，Ｓ６２，Ｓ６３から得られるユーザの姿勢の検知データが入力される。検知データは例えば体重分布データである。本実施形態の姿勢センサＳ６１，Ｓ６２，Ｓ６３は圧電センサである。入力層１３１には第１例では、姿勢センサＳ６１，Ｓ６２，Ｓ６３から出力される信号が入力される。第２例では、制御部１０は所定の演算によって基本姿勢、前傾姿勢、またはダンシングのいずれかを判別し、入力層１３１には判別結果が入力される。
【００５６】
入力層１３１には、振動センサＳ７から得られる振動、またはテンションセンサＳ８から得られるチェーンＢ４のテンションが入力されてもよい。
【００５７】
入力層１３１には、センサ群Ｓ１−Ｓ５，Ｓ６１−Ｓ６３，Ｓ７，Ｓ８から入力できる情報全てが入力されなくてもよい。入力層１３１には、センサ群Ｓ１−Ｓ５，Ｓ６１−Ｓ６３，Ｓ７，Ｓ８から入力できる情報のうちのいずれか１つ又は複数の組み合わせが入力されてもよい。図３中の破線で示すように入力情報はグループ分けされ、それぞれのグループ毎に異なるニューラルネットワーク１３に入力されてもよい。この場合、グループ毎に制御に関する出力情報が出力される。
【００５８】
出力層１３２は、変速機Ｅにおける変速段数または変速比がいずれであるかの判別結果を出力する。具体的には、出力層１３２は変速段数または変速比のノード夫々に対応する確率を出力する。それにより制御部１０は、最も確率が高い変速段数を選択することができる。
【００５９】
制御部１０は平均的な運転、またはシミュレーションに基づいて、人力駆動車Ａの走行に関する入力情報を入力層１３１への入力として、人力駆動車Ａのコンポーネント、例えば変速機Ｅの制御に関する出力情報を出力する学習モデル１Ｍを深層学習の学習アルゴリズムによって作成しておく。作成された学習モデル１Ｍは記憶部１２に記憶される。記憶部１２に記憶される学習モデル１Ｍは、人力駆動車Ａのユーザの実際の運転動作中に、以下のような処理によって、出力情報に対する評価と、その出力情報の出力に対応する入力情報と、出力情報とを含む教師データに基づいて更新される。
【００６０】
図４は、制御部１０の処理手順の一例を示すフローチャートである。制御部１０は、図４のフローチャートに示す処理手順を繰り返し実行する。制御部１０は、例えば所定のコントロール周期（例えば３０ミリ秒）で繰り返し実行する。
【００６１】
制御部１０は、入出力部１４によって人力駆動車Ａの走行に関する入力情報を取得する（ステップＳ１０１）。ステップＳ１０１にて制御部１０は「取得部」である。ステップＳ１０１において制御部１０は、入出力部１４によって入力されるセンサ群Ｓ１−Ｓ５、Ｓ６１−Ｓ６３からの信号レベルをコントロール周期毎に参照し、制御部１０の内部メモリまたは入出力部１４が内蔵するメモリに一時記憶する。
【００６２】
制御部１０は、ステップＳ１０１で取得した入力情報を学習モデル１Ｍの入力層１３１に入力する（ステップＳ１０３）。
【００６３】
制御部１０は、ステップＳ１０３の入力情報の入力によって学習モデル１Ｍから出力される制御対象のコンポーネントの制御に関する出力情報を特定する（ステップＳ１０５）。制御部１０はステップＳ１０５において例えば、変速機Ｅの変速段数または変速比の判別結果を出力情報として特定する。
【００６４】
制御部１０は、特定された出力情報に基づく制御対象の状態を参照する（ステップＳ１０７）。制御部１０は、特定された出力情報が示す制御内容と、参照した状態との間の関係に基づき、制御信号の出力が必要であるか否かを判断する（ステップＳ１０９）。
【００６５】
ステップＳ１０９で必要であると判断された場合（Ｓ１０９：ＹＥＳ）、制御部１０は特定された制御に関する出力情報に基づく制御信号を制御対象へ出力する（ステップＳ１１１）。ステップＳ１０９で不要であると判断された場合（Ｓ１０９：ＮＯ）、制御部１０は、ステップＳ１１１を省略して次の処理へ進める。ステップＳ１０７の参照およびステップＳ１０９の判断処理は必須ではない。この場合、制御部１０はステップＳ１０５において例えば、変速機Ｅの変速段数または変速比の判別結果を出力情報として特定し、制御部１０は特定された出力情報に基づく制御対象の状態を参照することなく、制御部１０は特定された制御に関する出力情報に基づく制御信号を制御信号を出力してもよい（Ｓ１１１）。
【００６６】
制御部１０は、ステップＳ１１１の処理後の所定時間内で、ステップＳ１０５にて特定した学習モデルから出力された出力情報を評価する（ステップＳ１１３）。ステップＳ１１３において制御部１０は「評価部」である。制御部１０はステップＳ１１３において、学習モデル１Ｍから出力された出力情報によるコンポーネント、例えば変速機Ｅの制御がスムーズであったか否かに基づき評価する。ステップＳ１１３の評価処理は後述する。
【００６７】
制御部１０は、ステップＳ１０５で学習モデル１Ｍから出力された出力情報を、ステップＳ１１３で取得した入力情報にラベル付けすることによって教師データを作成する（ステップＳ１１５）。制御部１０は、教師データにステップＳ１１３で得られる評価結果を報酬として付与し（ステップＳ１１７）、報酬と共にステップＳ１１５で作成した教師データを学習モデル１Ｍへ与えてこれを更新し（ステップＳ１１９）、処理を終了する。ステップＳ１１７において制御部２０は、評価の度合いが高い、または低いほど、大きい重みを付与してもよい。例えば制御部２０は、高評価であるほどに大きい重み付きの報酬を示す指標値を付与する。また、例えば制御部２０は、低評価であるほどに大きい重み付きの罰則を示す指標値を付与する。制御部２０は、報酬を示す指標値のみを付与してもよく、罰則を示す指標値のみを付与してもよい。
【００６８】
図５は、制御部１０による評価処理手順の一例を示すフローチャートである。制御部１０は、入出力部１４によって人力駆動車Ａの変速機Ｅを含むコンポーネントの制御の際の駆動機構Ｂに掛かるトルクをトルクセンサＳ３によって検知する（ステップＳ２０１）。制御部１０は、検知したトルクに基づいて報酬に対応する第１の指標値（例えばＱ学習におけるＱ値）を算出する（ステップＳ２０３）。ステップＳ２０３にて制御部１０は、トルクに応じてスムーズであったか否かを判断し、判断に応じて評価する。トルクが極端に大きい場合、制御の結果ユーザが力を掛けて運転していると推測される。この場合制御部１０は、制御がスムーズでなかったと判断できる。制御部１０は、トルクが小さい程に制御がスムーズであったと判断し、報酬の評価を向上させて算出する。
【００６９】
ステップＳ２０３において制御部１０は例えば、トルクの大きさに負の符号を付し、所定の値を加算し、検知したトルクが所定値以下である場合には第１の指標値が正の値となるように第１の指標値を算出してもよい。制御部１０は、トルクが大きい程に、絶対値が大きな負の値が指標値（罰則値）として与えられるように第１の指標値を算出してもよい。ステップＳ２０３において制御部１０は他の例では、ステップＳ２０１で異なる時点で駆動機構Ｂに掛かるトルクを検知し、トルクの変動に応じてスムーズであったか否かを判断し、判断に応じて第１の指標値を算出する。他の例の場合、トルクの変動が小さい程に、制御がスムーズであったと判断できるので、制御部１０は報酬を高評価として第１の指標値を算出する。
【００７０】
制御部１０は、ジャイロセンサＳ４から得られるコンポーネントの制御の際の人力駆動車Ａの姿勢を検知し（ステップＳ２０５）、検知した姿勢に応じて第２の指標値を算出する（ステップＳ２０７）。傾きの大きさによって制御の結果、人力駆動車Ａが傾いたことが推測される。傾きが大きい場合制御部１０は、制御がスムーズでなかったと判断できる。したがって制御部１０は、ヨー、ロール、ピッチいずれの回転方向においても傾きが少ない程に制御がスムーズであったと判断し、報酬を高評価として算出する。
【００７１】
ステップＳ２０７において制御部１０は例えば、姿勢を示す各方向における傾きの絶対値に負の符号を付し、傾きが所定角度以内である場合には正の値となるように第２の指標値を算出してもよい。制御部１０は、姿勢が傾いている程に、絶対値が大きな負の値が指標値（罰則値）として与えられるように第２の指標値を算出してもよい。ステップＳ２０７において制御部１０は他の例では、ステップＳ２０５で異なる時点でジャイロセンサＳ４から姿勢を検知し、姿勢の変動に基づいて第２の指標値を算出してもよい。この他の例の場合、姿勢の変動が小さい程に、制御がスムーズであったと判断できるので、制御部１０は高評価として第２の指標値を算出する。
【００７２】
制御部１０は、振動センサＳ７から得られるコンポーネントの制御の際の人力駆動車Ａの振動を検知し（ステップＳ２０９）、検知した振動に応じて報酬に対応する第３の指標値を算出する（ステップＳ２１１）。振動が大きい、または振動数が大きいほどに、人力駆動車Ａにおける制御がスムーズでなかったと判断できる。制御部１０は、振動が小さい程に制御がスムーズであったと判断し、報酬を高評価で算出する。
【００７３】
ステップＳ２０９において制御部１０は例えば、入出力部１４によって振動センサＳ７から得られる振動波形を取得する。制御部１０は、振動波形からノイズを抽出し、ノイズの大きさに負の符号を付し、所定の値を加算して所定のノイズレベル以下である場合には報酬が正の値となるように第３の指標値を算出してもよい。制御部１０は、所定のノイズレベル以下である場合には所定の関数により指標値を算出し、ノイズが小さい程に高報酬が与えられるように傾斜を与える。
【００７４】
制御部１０は、テンションセンサＳ８から得られる信号からコンポーネントの制御の際の人力駆動車ＡのチェーンＢ４のテンションを測定する（ステップＳ２１３）。制御部１０は、測定したテンションに応じて報酬に対応する第４の指標値を算出する（ステップＳ２１５）。テンションが所定範囲にある場合、制御部１０は制御がスムーズであったと判断し、報酬を高評価で算出する。
【００７５】
ステップＳ２１３において制御部１０は、異なる時点におけるテンションを算出し、ステップＳ２１５においてテンションの変動に基づいて第４の指標値を算出してもよい。
【００７６】
制御部１０は、姿勢センサＳ６１−Ｓ６３から得られる信号からコンポーネントの制御の際の人力駆動車Ａのユーザの姿勢を検知し（ステップＳ２１７）、検知したユーザの姿勢に応じて報酬に対応する第５の指標値を算出する（ステップＳ２１９）。ステップＳ２１７において制御部１０は、異なる時点における姿勢の変動から、ユーザの姿勢の揺れを検知してもよい。制御部１０は、ユーザの姿勢が大きく傾くほど、または姿勢の揺れ幅が大きい程に、人力駆動車Ａにおける制御がスムーズでなかったと判断できる。制御部１０は、ユーザの姿勢の傾きが小さい程、揺れ幅が小さい程に、制御がスムーズであったと判断し、報酬を高評価で算出する。
【００７７】
制御部１０は、算出された第１の指標値〜第５の指標値に基づき、総合指標値を算出する（ステップＳ２２１）。ステップＳ２２１において制御部１０は例えば第１の指標値〜第５の指標値を加算してもよいし、重みを付与してから加算してもよい。制御部１０は第１の指標値〜第５の指標値を乗算してもよいし、所定の評価関数を用いて算出してもよい。制御部１０は、ステップＳ２２１で求めた総合指標値を評価結果として処理を図４のフローチャートにおけるステップＳ１１５へ戻す。
【００７８】
図５のフローチャートに示す処理手順はあくまで例示である、制御部１０はトルクセンサＳ３、ジャイロセンサＳ４、振動センサＳ７、テンションセンサＳ８および姿勢センサＳ６１−Ｓ６３のいずれか１つのみから指標値を算出してもよい。つまり、図４のフローチャートにおけるステップＳ１１５の処理は、第１の指標値、第２の指標値、第３の指標値、第４の指標値および第５の指標値の内のいずれか１つのみを用いて実行されてもよい。ステップＳ１１５の処理は、第１の指標値、第２の指標値、第３の指標値、第４の指標値および第５の指標値の内の任意の２つ、または３つを用いて実行されてもよい。
【００７９】
図５のフローチャートにおける第１の指標値、第２の指標値、第３の指標値、第４の指標値及び第５の指標値の算出は他の例では、検知された物理量が夫々所定値以上であるか否かを判断し、所定値以上である場合には、低評価となるように算出されてもよい。
【００８０】
このように、学習モデル１Ｍから出力される出力情報に基づく制御に対する評価によって、学習モデル１Ｍが更新されるから、ユーザの運転の仕方に見合った制御データを出力する学習モデル１Ｍが作成される。
【００８１】
（第２実施形態）
図６は、第２実施形態における制御ユニット１００の内部構成を示すブロック図である。第２実施形態における人力駆動車Ａおよび制御ユニット１００の構成は、以下に説明する記憶部および処理の詳細以外は第１実施形態と同様であるから、共通する構成に同一の符号を付して詳細な説明を省略する。第２実施形態において制御ユニット１００の記憶部１２は、異なる時点で時系列に取得した複数の入力情報を逐次一時的に記憶する。記憶部１２は具体的には、人力駆動車Ａに設けられたセンサ群Ｓ１−Ｓ５，Ｓ６１−Ｓ６３，Ｓ７，Ｓ８から入出力部１４によって入力した入力情報を時間情報と共に複数サンプリング周期分記憶する。記憶部１２は、複数サンプリング周期分の記憶領域を用いて巡回的に入力情報を記憶し、古い入力情報に自動的に上書きして記憶する。
【００８２】
図７および図８は、第２実施形態における制御ユニット１００の処理手順の一例を示すフローチャートである。第２実施形態における制御ユニット１００の構成は、以下に示す評価処理の詳細以外は第１実施形態と同様であるから、同一の符号を付して詳細な説明を省略する。制御ユニット１００の制御部１０は、以下の処理手順を繰り返し実行する。
【００８３】
制御部１０は、入出力部１４によって人力駆動車Ａの走行に関する入力情報を取得する（ステップＳ１２１）。ステップＳ１２１にて制御部１０は「取得部」である。ステップＳ１０１において制御部１０は、入出力部１４によって入力されるセンサ群Ｓ１−Ｓ５、Ｓ６１−Ｓ６３からの信号レベルをコントロール周期毎に参照し、制御部１０の内部メモリまたは入出力部１４が内蔵するメモリに一時記憶する。
【００８４】
制御部１０は、ステップＳ１２１の入力情報の取得時点を特定する（ステップＳ１２３）。ステップＳ１２３において制御部１０は、内蔵タイマから得られるタイミング情報を取得時点として使用してもよいし、時刻情報を使用してもよい。
【００８５】
制御部１０は、ステップＳ１２３で特定した取得時点を示す時間情報と、ステップＳ１２１で取得した入力情報とを対応付けて記憶部１２に記憶する（ステップＳ１２５）。
【００８６】
制御部１０は、ステップＳ１２１で取得した入力情報、または記憶部１２に記憶してあるステップＳ１２１の取得時点までの複数の入力情報を、学習モデル１Ｍの入力層１３１に入力する（ステップＳ１２７）。
【００８７】
制御部１０は、学習モデル１Ｍから出力される制御対象のコンポーネントの制御に関する出力情報を特定する（ステップＳ１２９）。制御部１０はステップＳ１２９において例えば、変速機Ｅの変速段数または変速比の判別結果を出力情報として特定する。
【００８８】
制御部１０は、特定された出力情報に基づく制御対象の状態を参照する（ステップＳ１３１）。制御部１０は、特定された出力情報が示す制御内容と、参照した状態との間の関係に基づき、制御信号の出力が必要であるか否かを判断する（ステップＳ１３３）。
【００８９】
ステップＳ１３３で必要であると判断された場合（Ｓ１３３：ＹＥＳ）、制御部１０は特定された制御に関する出力情報に基づく制御信号を制御対象へ出力する（ステップＳ１３５）。ステップＳ１３３で不要であると判断された場合（Ｓ１３３：ＮＯ）、制御部１０は、ステップＳ１３５の処理を省略して次の処理へ進める。この場合、制御部１０はステップＳ１２９において例えば、変速機Ｅの変速段数または変速比の判別結果を出力情報として特定し、制御部１０は特定された出力情報に基づく制御対象の状態を参照することなく、制御部１０は特定された制御に関する出力情報に基づく制御信号を制御対象へ出力してもよい（Ｓ１３５）。
【００９０】
制御部１０は所定時間内で、操作装置Ｄの操作部Ｄ１における制御対象のコンポーネントへの操作指示を受け付けたか否かを判断する（ステップＳ１３７）。
【００９１】
操作指示を受け付けたと判断された場合（Ｓ１３７：ＹＥＳ）、制御部１０はステップＳ１２９で学習モデル１Ｍから出力された出力情報を、ステップＳ１２７で入力した複数の入力情報にラベル付けすることによって教師データを作成する（ステップＳ１３９）。ステップＳ１３９において制御部１０は、操作指示のタイミングに対応する入力情報を記憶部１２から選別して作成する。
【００９２】
制御部１０は、実際の操作指示による制御データを参照し（ステップＳ１４１）、ステップＳ１２９で特定された学習モデル１Ｍからの出力情報との比較に基づき評価を付与する（ステップＳ１４３）。ステップＳ１４３が「評価部」に相当する。ステップＳ１４３にて制御部１０は、ステップＳ１３９で参照した操作指示による制御データと、ステップＳ１２９で得られる学習モデル１Ｍからの制御に関する出力情報との乖離が大きい程に低い評価を与える。
【００９３】
制御部１０は、ステップＳ１４３で付与した評価を含む罰則と共にステップＳ１３９で作成した教師データを学習モデル１Ｍへ与えてこれを更新し（ステップＳ１４５）、処理を終了する。
【００９４】
ステップＳ１３７にて操作指示を受け付けていないと判断された場合（Ｓ１３７：ＮＯ）、制御部１０は、制御部１０はステップＳ１２９で学習モデル１Ｍから出力された制御に関する出力情報を、ステップＳ１２７で入力した入力情報にラベル付けすることによって教師データを作成する（ステップＳ１４７）。
【００９５】
制御部１０は、作成した教師データに高評価を付与し（ステップＳ１４９）、学習モデル１Ｍへ与えてこれを更新し（Ｓ１４５）、処理を終了する。ステップＳ１４７が「評価部」に相当する。
【００９６】
ステップＳ１３７〜Ｓ１４３の処理に加えて制御部１０は、実際の操作指示内容をラベルとして付与することによって作成した教師データに基づいて学習モデル１Ｍを更新してもよい。この場合制御部１０は、ステップＳ１３７で操作部Ｄ１にて指定操作を受け付けたと判断された場合、指定操作が行われたタイミングの前後に取得されて記憶部１２に記憶してある複数の入力情報と、操作部Ｄ１での操作内容とにより学習モデル１Ｍを更新する。この場合制御部１０は、実際の操作内容を入力データにラベル付けすることによって作成した教師データに高評価を付与して学習モデル１Ｍに与え、学習モデル１Ｍを更新する。操作部Ｄ１での指定内容は第１例では、変速機Ｅの変速段数および変速比の少なくともいずれか一方である。指定内容の第２例では、電動シートポストＦにおける支持位置である。第３例では、電動サスペンションＧの減衰率、ストローク量、およびロックアウト状態の設定情報である。
【００９７】
第２実施形態において制御部１０は、ステップＳ１２７で複数の入力情報が入力されることに代替し、複数の入力情報の変動が入力されてもよい 。制御部１０は、１サンプリング周期毎に前後の時点の変動を算出して変動値を入力層１３１に与えてもよいし、変動の傾向（増加、減少、維持）を入力層１３１に与えてもよいし、時系列分布に相当する波形を変動として算出してから入力層１３１に与えてもよい。変動値は１回または複数回の時間微分値を含んでいてもよい。
【００９８】
（第３実施形態）
第３実施形態では、制御ユニット１００に代替して、ユーザの端末装置にて学習モデルの作成およびコンポーネント制御処理を実行する。図９は、制御システム２００の構成を示すブロック図である。制御システム２００は、端末装置２と制御ユニット１００とを含む。第３実施形態における制御ユニット１００は、制御部１１、記憶部１２、入出力部１４および通信部１６を含む。第３実施形態における制御ユニット１００の構成部の内、第１実施形態および第２実施形態における制御ユニット１００と共通する構成には同一の符号を付して詳細な説明を省略する。
【００９９】
第３実施形態における制御ユニット１００の制御部１１は、ＣＰＵを用いたプロセッサであり、内蔵するＲＯＭおよびＲＡＭ等のメモリを用い、各構成部を制御して処理を実行する。制御部１１は、第１実施形態における制御ユニットの制御部１０が行なった学習処理を実行しない。制御部１１は、人力駆動車Ａに設けられたセンサ群Ｓ１−Ｓ５，Ｓ６１−Ｓ６３を入出力部１４によって入力し、通信部１６を介して端末装置２へ送信する。制御部１１は、操作装置Ｄにおける制御状態、操作装置Ｄから出力される操作信号を参照して通信部１６を介して端末装置２へ送信する。制御部１１は、操作装置Ｄからの出力される操作信号に基づき、または端末装置２からの指示に基づき、制御信号を制御対象の電動アクチュエータＥ１へ与える。
【０１００】
通信部１６は通信ポートであり、制御部１１は通信部１６を介して端末装置２と情報を送受信する。通信部１６は第１例では、ＵＳＢ（Universal Serial Bus）ポートである。通信部１６は第２例では、Bluetooth（登録商標）等の近距離無線通信モジュールである。
【０１０１】
端末装置２は、ユーザが使用する可搬型の小型の通信端末装置である。端末装置２は第１例では、スマートフォンである。端末装置２は第２例では、所謂スマートウォッチ等のウェアラブルデバイスである。スマートフォンである場合、人力駆動車ＡのハンドルバーＡ２にスマートフォン用保持部材を取り付けておき、この保持部材にスマートフォンを嵌めて用いてもよい（図１０参照）。
【０１０２】
端末装置２は、制御部２０、記憶部２１、表示部２３、操作部２４、撮像部２５、および通信部２６を備える。
【０１０３】
制御部２０は、ＣＰＵ、ＧＰＵ等のプロセッサと、メモリ等を含む。制御部２０は、プロセッサ、メモリ、記憶部２１、および通信部２６を集積した１つのハードウェア（ＳｏＣ：System On a Chip）として構成されていてもよい。制御部２０は、記憶部２１に記憶されているアプリプログラム２０Ｐに基づき、人力駆動車Ａの制御に関する出力情報の学習と、学習に基づくコンポーネント制御を実行する。
【０１０４】
記憶部２１は、例えばフラッシュメモリ等の不揮発性メモリを含む。記憶部２１は、アプリプログラム２０Ｐを記憶する。記憶部２１は、制御部２０の処理によって作成、更新される学習モデル２Ｍを記憶する。記憶部２１は、制御部２０が参照するデータを記憶する。アプリプログラム２０Ｐは、記憶媒体２９に記憶されたアプリプログラム２９Ｐを読み出して記憶部２１に複製されたものであってもよい。
【０１０５】
表示部２３は、液晶パネルまたは有機ＥＬディスプレイ等のディスプレイ装置を含む。操作部２４は、ユーザの操作を受け付けるインタフェースであり、物理ボタン、ディスプレイ内蔵のタッチパネルデバイスを含む。操作部２４は、物理ボタンまたはタッチパネルにて表示部２３で表示している画面上における操作を受け付けることが可能である。
【０１０６】
音声入出力部２２は、スピーカおよびマイクロフォン等を用いる。音声入出力部２２は、音声認識部２２１を備え、マイクロフォンにて入力音声から操作内容を認識して操作を受け付けることが可能である。
【０１０７】
撮像部２５は、撮像素子を用いて得られる映像信号を出力する。制御部２０は、任意のタイミングで撮像部２５の撮像素子にて撮像される画像を取得できる。
【０１０８】
通信部２６は、制御ユニット１００の通信部１６に対応する通信モジュールである。通信部２６は第１例では、ＵＳＢ通信ポートである。通信部２６は第２例では、近距離無線モジュールである。
【０１０９】
第３実施形態において制御ユニット１００は継続的に、入出力部１４によって人力駆動車Ａに設けられたセンサ群Ｓ１−Ｓ５，Ｓ６１−Ｓ６３，Ｓ７，Ｓ８から得られる入力情報を取得し、通信部１６を介して端末装置２へ送信する。
【０１１０】
端末装置２の制御部２０は、アプリプログラム２０Ｐに基づき、深層学習の学習アルゴリズムによる学習モデル２Ｍを用いて変速機Ｅを含むコンポーネントを自動制御する制御部として機能すると共に、学習モデル２Ｍを更新する作成部として機能する。端末装置２は「制御データ作成装置」および「コンポーネント制御装置」に相当する。
【０１１１】
端末装置２の動作は、第１実施形態又は第２実施形態に示した制御ユニット１００の制御部１０の動作と同様である。ただし第３実施形態において「作成装置」又は「コンポーネント制御装置」に相当する端末装置２は、操作部２４または撮像部２５にて得られる情報に基づいてユーザの評価を受け付け、評価の内容に応じて学習モデル２Ｍを更新する。
【０１１２】
図１０〜図１１は、アプリプログラム２０Ｐに基づいて表示される画面例を示す図である。図１０に示す例では、端末装置２はスマートフォンであってハンドルバーＡ２にユーザが表示部２３を視認できるように取り付けられている。図１０では、アプリプログラム２０Ｐに基づき表示部２３に表示されるメイン画面２３０が示されている。制御部２０は、アプリプログラム２０Ｐの実行が選択された場合、表示部２３にメイン画面２３０に表示させる。制御部２０は、アプリプログラム２０Ｐの実行を開始すると制御ユニット１００との間で通信接続を確立させる。制御部２０は図１３に示すように、通信状態を示すメッセージをメイン画面２３０に表示させる。メイン画面２３０には、学習モデル２Ｍに基づく自動制御の開始を受け付けるボタン２３４が含まれる。ボタン２３４が選択された場合、学習モデル２Ｍから出力される制御データに基づく自動制御を行ないつつ学習モデル２Ｍを更新する処理を開始する。
【０１１３】
図１１は、自動制御開始を受け付けるボタン２３４が選択された場合に表示される自動制御モード画面２３６の内容例を示す。自動制御モード画面２３６では、制御部２０が変速機Ｅへの制御信号の出力を必要と判断し、制御信号を出力した場合、変速段数または変速比を変更したことを示すメッセージを表示または音声入出力部２２から音声を出力させる。制御部２０は、このメッセージに対する評価を受け付ける。制御部２０は、以下に示す例のいずれかによって、学習モデル２Ｍから出力された出力情報に基づく制御部２０による制御内容に対してユーザ操作を受け付け、操作内容によって制御内容の評価を受け付ける。制御部２０は「評価受付部」である。
【０１１４】
「評価受付部」の第１例は、図１１に示す自動制御モード画面２３６に含まれる評価を受け付ける高評価ボタン２３８と低評価ボタン２４０とである。制御部２０は、評価ボタン２３８，２４０の選択操作を操作部２４のタッチパネルでこれを認識し、評価を受け付ける。図１１の例における高評価ボタン２３８は、変速段数または変速比の自動制御が快適であった場合に選択される。低評価ボタン２４０は、自動制御が快適でなかった場合に選択される。制御部２０はいずれのボタン２３８，２４０が選択されたかを認識して受け付けた評価内容を認識する。「評価受付部」の第１例の変形例として低評価ボタン２４０のみが表示されてもよい。「評価受付部」の第１例の変形例として、この場合、変更した変速段数または変速比が重すぎる（ＯＵＴＷＡＲＤすぎる）と評価するボタンと、軽すぎる（ＩＮＷＡＲＤすぎる）と評価するボタンであってもよい。
【０１１５】
「評価受付部」の第２例は、操作部Ｄ１に設けられている物理的なボタンであってもよい。操作部Ｄ１に特定の評価受付ボタンを設けてもよい。評価受付ボタンを操作装置Ｄの近傍に別途設けられてもよい。制御部２０は、特定の評価受付ボタンが押下されたか否か、その他、汎用的なボタンの押され方、レバー操作との組み合わせによって評価内容を認識することができる。「評価受付部」の第３例は、音声入出力部２２の音声認識部２２１である。制御部２０は、音声認識部２２１にて認識したユーザの音声に基づいて自動制御が快適であったか否かを認識する。「評価受付部」の第４例は、撮像部２５である。制御部２０は、撮像部２５でユーザの顔を撮像して得られる撮像画像に基づきユーザの表情を特定し、快適か否かを判別し、判別結果を評価として受け付ける。
【０１１６】
図１２は、第３実施形態における制御部２０の処理手順の一例を示すフローチャートである。制御部２０は、以下の処理手順を繰り返し実行する。所定のコントロール周期（例えば３０ミリ秒）で実行してもよい。
【０１１７】
制御部２０は、制御ユニット１００から得られる人力駆動車Ａの走行に関する入力情報を通信部２６によって取得する（ステップＳ３０１）。ステップＳ３０１において制御部２０は、制御ユニット１００の制御部１０がセンサ群Ｓ１−Ｓ５，Ｓ６１−Ｓ６３からの信号レベルをコントロール周期毎に参照し、制御部１０の内部メモリまたは入出力部１４が内蔵するメモリに一時記憶したものを取得する。
【０１１８】
制御部２０は、ステップＳ３０１で取得した入力情報を学習モデル２Ｍに入力する（ステップＳ３０３）。
【０１１９】
制御部２０は、学習モデル２Ｍから出力される制御対象の制御に関する出力情報を特定する（ステップＳ３０５）。制御部２０はステップＳ３０５において例えば、変速機Ｅの変速段数または変速比の判別結果を特定する。
【０１２０】
制御部２０は、制御対象の状態を参照する（ステップＳ３０７）。制御部２０はステップＳ３０７において、制御ユニット１００を介して例えば変速機Ｅからフィードバックされる変速段数または変速比を参照してもよい。制御部２０は、ステップＳ３０５で特定した出力情報が示す制御内容と、ステップＳ３０７で参照した状態との間の関係に基づき、制御信号の出力が必要であるか否かを判断する（ステップＳ３０９）。ステップＳ３０９で必要であると判断された場合（Ｓ３０９：ＹＥＳ）、制御部２０は制御指示を制御ユニット１００へ出力する（ステップＳ３１１）。制御部２０は、制御指示の内容を表示部２３に出力する（ステップＳ３１３）。ステップＳ３０９で不要と判断された場合（Ｓ３０９：ＮＯ）、制御部２０は処理をステップＳ３１５へ進める。
【０１２１】
制御部２０は、ステップＳ３１１の処理後の所定時間内でユーザ評価を受け付ける（ステップＳ３１５）。
【０１２２】
制御部２０は、受け付けた評価が高評価であるか否かを判断する（ステップＳ３１７）。高評価であると判断された場合（Ｓ３１７：ＹＥＳ）、制御部２０は、ステップＳ３０５で学習モデル２Ｍから出力された制御データを、ステップＳ３０３で入力した入力情報にラベル付けすることによって教師データを作成する（ステップＳ３１９）。
【０１２３】
制御部２０は、作成した教師データに高評価を付与し（ステップＳ３２１）、学習モデル１Ｍへ高評価を報酬として与えてこれを更新し（ステップＳ３２３）、処理を終了する。ステップＳ３２１が「評価部」に相当する。
【０１２４】
ステップＳ３１７で高評価でないと判断された場合（Ｓ３１７：ＮＯ）、制御部２０は、ステップＳ３０５で学習モデル２Ｍから出力された制御データを、ステップＳ３０３で入力した入力情報にラベル付けすることによって教師データを作成する（ステップＳ３２５）。
【０１２５】
制御部２０は、作成した教師データに低評価を付与する（ステップＳ３２７）。ステップＳ３２７にて制御部２０は「評価部」である。制御部２０は、ステップＳ３２７で付与した評価を含む罰則と共にステップＳ３２５で作成した教師データを学習モデル１Ｍへ与えてこれを更新し（Ｓ３２３）、処理を終了する。
【０１２６】
第３実施形態において端末装置２は、第２実施形態同様に逐次、時系列に入力情報を逐次記憶部２１に一時記憶してもよい。この場合制御部２０は、ステップＳ３１５で評価を受け付けた場合に、ステップＳ３１９，Ｓ３２５において、評価が受け付けられたタイミングの前後に取得されて記憶部２１に記憶してある複数の入力情報と、評価対象の制御内容と、受け付けた評価とを含む教師データを作成する。制御部２０は、評価受付部にて評価が受け付けられたタイミングの前後に取得された複数の入力情報を入力とし、学習モデル２Ｍから出力された出力情報と、評価受付部で受け付けた評価とを含む教師データに基づいて学習モデル２Ｍを更新する。
【０１２７】
第１実施形態から第４実施形態において、学習モデル１Ｍまたは学習モデル２Ｍから出力される出力情報として、主に、変速機Ｅの制御に関する制御データについて説明した。制御対象の人力駆動車Ａのコンポーネントは、変速機Ｅに代えて、電動シートポストＦであってもよいし、電動サスペンションＧであってもよい。制御対象の人力駆動車Ａのコンポーネントは、変速機Ｅ、電動シートポストＦ、および電動サスペンションＧであってもよいし、電動シートポストＦおよび電動サスペンションＧであってもよい。
【符号の説明】
【０１２８】
１００…制御ユニット（作成装置、コンポーネント制御装置）、１０，１１…制御部、１２…記憶部、１Ｍ…学習モデル、１Ｐ…制御プログラム、２…端末装置、２０…制御部、２１…記憶部、２Ｍ…学習モデル、２０Ｐ…アプリプログラム、Ａ４…後輪、Ｂ１…クランク、Ｂ３…第２スプロケット組立体、Ｄ…操作装置、Ｄ１…操作部、Ｅ…変速機、Ｅ１…電動アクチュエータ、Ｆ…電動シートポスト、Ｇ…電動サスペンション、Ｓ１…速度センサ、Ｓ２…ケイデンスセンサ、Ｓ３…トルクセンサ、Ｓ４…ジャイロセンサ、Ｓ５…画像センサ、Ｓ６１，Ｓ６２，Ｓ６３…姿勢センサ、Ｓ７…振動センサ、Ｓ８…テンションセンサ。
【図１】
2020006834.tif 000003
【図２】
2020006834.tif 000004
【図３】
2020006834.tif 000005
【図４】
2020006834.tif 000006
【図５】
2020006834.tif 000007
【図６】
2020006834.tif 000008
【図７】
2020006834.tif 000009
【図８】
2020006834.tif 000010
【図９】
2020006834.tif 000011
【図１０】
2020006834.tif 000012
【図１１】
2020006834.tif 000013
【図１２】
2020006834.tif 000014