(57)【要約】      （修正有）【課題】電動コンポーネントを含む自転車の、評価装置、制御システム、報知システム、学習モデルの生成方法、コンピュータプログラム、および、記憶媒体の提供。【解決手段】評価装置は、人力駆動車の走行に関する走行情報に従って、人力駆動車のコンポーネントに対する制御の好ましさを、学習モデルを用いて評価する。評価装置は、人力駆動車のトラクションが良好となる制御を高く評価し、トラクションが失われると推定される制御を低く評価する。【選択図】図４
2020142566.tif 000002
【特許請求の範囲】
【請求項１】
人力駆動車の走行に関する走行情報に従って、前記人力駆動車のコンポーネントに対する制御の好ましさを、学習モデルを用いて評価する、評価装置。
【請求項２】
前記好ましさの評価結果と、前記評価結果に応じた前記コンポーネントの制御結果と、に応じて前記学習モデルを再学習させる、請求項１に記載の評価装置。
【請求項３】
前記走行情報は、速度、加速度、姿勢、荷重、駆動力、ケイデンス、変速比、操作装置への操作入力、前記操作入力と前記コンポーネントの制御結果の履歴、回生量、傾斜、路面状況、位置、天候、および、車両情報のうちの少なくとも１つに関する情報を含む、請求項１または２に記載の評価装置。
【請求項４】
前記人力駆動車の走行情報は、前記人力駆動車のトラクションに関する情報を含む、請求項１または２に記載の評価装置。
【請求項５】
請求項１〜４のいずれか一項に記載の評価装置と、
前記評価装置の評価結果に基づいて前記コンポーネントを制御する制御装置と、を備える制御システム。
【請求項６】
前記コンポーネントは、補助駆動力を出力する電動駆動ユニットを有するアシスト装置を含む、請求項５に記載の制御システム。
【請求項７】
前記コンポーネントは、電動駆動ユニットを有するブレーキ装置を含む、請求項５または６に記載の制御システム。
【請求項８】
前記コンポーネントは、電動駆動ユニットを有するアンチロックブレーキ装置を含む、請求項５から７のいずれか一項に記載の制御システム。
【請求項９】
前記コンポーネントは、電動駆動ユニットを有するサスペンション装置を含む、請求項５から８のいずれか一項に記載の制御システム。
【請求項１０】
請求項１〜４のいずれか一項に記載の評価装置と、
前記評価装置の評価結果に関する情報を報知する報知装置と、を備える報知システム。
【請求項１１】
前記評価結果に関する情報は、前記コンポーネントの制御状態に関する情報を含む、請求項１０に記載の報知システム。
【請求項１２】
コンピュータを用いて、
人力駆動車の走行に関する走行情報に従って、前記人力駆動車のコンポーネントに対する制御の好ましさを、関数を用いて評価し、
前記好ましさの評価結果と、前記評価結果に応じた前記コンポーネントの制御結果と、に応じて前記関数を更新することによって学習モデルを生成する、学習モデルの生成方法。
【請求項１３】
コンピュータに、
人力駆動車の走行に関する走行情報に従って、前記人力駆動車のコンポーネントに対する制御の好ましさを、学習モデルを用いて評価する
処理を実行させるためのコンピュータプログラム。
【請求項１４】
請求項１３に記載のコンピュータプログラムが記憶される記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、評価装置、制御システム、報知システム、学習モデルの生成方法、コンピュータプログラム、および、記憶媒体に関する。
【背景技術】
【０００２】
電動コンポーネントを含む自転車の制御システムが知られている。例えば、特許文献１には、操作装置、制御装置、および、電動コンポーネントが無線接続された制御システムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１６５９９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
現在、自転車の制御システムにおいて、制御を評価することが求められている。
【０００５】
本発明は、人力駆動車のコンポーネントに対する制御の好ましさを評価する評価装置、制御システム、報知システム、学習モデルの生成方法、コンピュータプログラム、および、記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１側面に係る評価装置は、人力駆動車の走行に関する走行情報に従って、前記人力駆動車のコンポーネントに対する制御の好ましさを、学習モデルを用いて評価する。
【０００７】
この評価装置によれば、学習モデルを用いることによって、人力駆動車の走行情報に従い、コンポーネントに対する制御の好ましさを評価できる。ここで、制御の好ましさとは、コンポーネントを制御した際の人力駆動車の状態の良し悪しを示唆する情報である。制御の好ましさは、例えば、人力駆動車のトラクションの良し悪しにより評価される。したがって、評価装置は、人力駆動車のトラクションが良好となる制御を高く評価し、トラクションが失われると推定される制御を低く評価する。
【０００８】
本発明の第１側面に係る第２側面の評価装置は、前記好ましさの評価結果と、前記評価結果に応じた前記コンポーネントの制御結果と、に応じて前記学習モデルを再学習させる。
【０００９】
この評価装置によれば、評価装置の評価結果と、コンポーネントの制御結果とに応じて、学習モデルを再学習させるので、学習が進行するにつれて、より好ましい制御状態を実現できる。
【００１０】
本発明の第１または第２側面に係る第３側面の評価装置は、前記走行情報は、速度、加速度、姿勢、荷重、駆動力、ケイデンス、変速比、操作装置への操作入力、前記操作入力と前記コンポーネントの制御結果の履歴、回生量、傾斜、路面状況、位置、天候、および、車両情報のうちの少なくとも１つに関する情報を含む。
【００１１】
この評価装置によれば、速度、加速度、姿勢、荷重、駆動力、ケイデンス、変速比、操作装置への操作入力、操作入力とコンポーネントの制御結果の履歴、回生量、傾斜、路面状況、位置、天候、および、車両情報のうちの少なくとも１つに従って、コンポーネントに対する制御の好ましさを評価できる。
【００１２】
本発明の第１または第２側面に係る第４側面の評価装置は、前記人力駆動車の走行情報は、前記人力駆動車のトラクションに関する情報を含む。
【００１３】
この評価装置によれば、人力駆動車のトラクションに関する情報に従って、コンポーネントに対する制御の好ましさを評価できる。
【００１４】
本発明の第５側面に係る制御システムは、第１から第４側面のいずれか１つに係る評価装置と、前記評価装置の評価結果に基づいて前記コンポーネントを制御する制御装置と、を備える。
【００１５】
この制御システムによれば、評価装置の評価結果に基づき、制御装置がコンポーネントを制御するので、ライダーの操作に依らずに、より好ましい制御状態を実現できる。
【００１６】
本発明の第５側面に係る第６側面の制御システムは、前記コンポーネントは、補助駆動力を出力する電動駆動ユニットを有するアシスト装置を含む。
【００１７】
この制御システムによれば、制御装置は、補助駆動力を出力するアシスト装置を制御するので、補助駆動制御に関して、より好ましい制御状態を実現できる。
【００１８】
本発明の第５または第６側面に係る第７側面の制御システムは、前記コンポーネントは、電動駆動ユニットを有するブレーキ装置を含む。
【００１９】
この制御システムによれば、制御装置は、ブレーキ装置を制御するので、ブレーキ制御に関して、より好ましい制御状態を実現できる。
【００２０】
本発明の第５から第７側面のいずれか１つに係る第８側面の制御システムは、前記コンポーネントは、電動駆動ユニットを有するアンチロックブレーキ装置を含む。
【００２１】
この制御システムによれば、制御装置は、アンチロックブレーキ装置を制御するので、アンチロックブレーキ制御に関して、より好ましい制御状態を実現できる。
【００２２】
本発明の第５から第８側面のいずれか１つに係る第９側面の制御システムは、前記コンポーネントは、電動駆動ユニットを有するサスペンション装置を含む。
【００２３】
この制御システムによれば、制御装置は、サスペンション装置を制御するので、サスペンション制御に関して、より好ましい制御状態を実現できる。
【００２４】
本発明の第１０側面に係る報知システムは、第１から第４側面のいずれか１つに係る評価装置と、前記評価装置の評価結果に関する情報を報知する報知装置と、を備える。
【００２５】
この報知システムによれば、評価結果に関する情報を報知する報知装置を備えるので、ライダーは人力駆動車の制御状態の良否を把握できる。
【００２６】
本発明の第１０側面に係る第１１側面の報知システムは、前記評価結果に関する情報は、前記コンポーネントの制御状態に関する情報を含む。
【００２７】
この報知システムによれば、評価結果に関する情報は、コンポーネントの制御状態に関する情報を含むので、ライダーはコンポーネントの制御状態の良否を把握できる。
【００２８】
本発明の第１２側面に係る学習モデルの生成方法は、コンピュータを用いて、人力駆動車の走行に関する走行情報に従って、前記人力駆動車のコンポーネントに対する制御の好ましさを、関数を用いて評価し、前記好ましさの評価結果と、前記評価結果に応じた前記コンポーネントの制御結果と、に応じて前記関数を更新することによって学習モデルを生成する。
【００２９】
この学習モデルの生成方法によれば、人力駆動車の走行情報を収集することによって、コンポーネントの制御に対する好ましさを評価するための学習モデルを生成できる。
【００３０】
本発明の第１３側面に係るコンピュータプログラムは、コンピュータに、人力駆動車の走行に関する走行情報に従って、前記人力駆動車のコンポーネントに対する制御の好ましさを、学習モデルを用いて評価する処理を実行させるためのコンピュータプログラムである。
【００３１】
このコンピュータプログラムによれば、人力駆動車の走行情報に従ってコンポーネントに対する制御野好ましさを評価する実行環境を、コンピュータによって実現できる。
【００３２】
本発明の第１４側面に係る記憶媒体は、第１３側面に係るコンピュータプログラムが記憶される。
【００３３】
この記憶媒体によれば、記憶媒体に記憶されているコンピュータプログラムをコンピュータにインストールすることによって、人力駆動車の走行情報に従ってコンポーネントに対する制御野好ましさを評価する実行環境を、コンピュータによって実現できる。
【発明の効果】
【００３４】
本願によれば、人力駆動車のコンポーネントに対する制御の好ましさを評価できる。
【図面の簡単な説明】
【００３５】
【図１】第１実施形態の評価装置が適用される人力駆動車の側面図である。
【図２】第１実施形態に係る評価装置の内部構成を示すブロック図である。
【図３】学習モデルの実装例を示す模式図である。
【図４】学習モデルの学習手順を説明するフローチャートである。
【図５】第２実施形態に係る制御システムを説明するブロック図である。
【図６】制御装置が実行する処理の手順を説明するフローチャートである。
【図７】学習モデルの生成手順を説明するフローチャートである。
【図８】学習モデルの再学習手順を説明するフローチャートである。
【図９】第５実施形態に係る報知システムを説明するブロック図である。
【発明を実施するための形態】
【００３６】
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。
（第１実施形態）
図１は第１実施形態の評価装置１００が適用される人力駆動車１の側面図である。人力駆動車１は、走行のための原動力に関して、少なくとも部分的に人力を用いる車両である。内燃機関または電動機のみを原動力に用いる車両は、本実施形態の人力駆動車１から除外される。人力駆動車１は、例えば、マウンテンバイク、ロードバイク、クロスバイク、シティサイクル等を含む自転車である。
【００３７】
人力駆動車１は、車両本体１０、前輪１２、後輪１４、ハンドルバー１６、シート１８、および、駆動機構２０を備える。以下の説明において、前後、左右、および、上下の各方向を表す用語は、ライダーが人力駆動車１のシート１８に着座した状態における方向を基準として用いられる。
【００３８】
車両本体１０は、フレーム１０Ａおよびフロントフォーク１０Ｂを備える。前輪１２は、フロントフォーク１０Ｂに回転可能に支持される。後輪１４は、フレーム１０Ａに回転可能に支持される。ハンドルバー１６は、前輪１２の進行方向を変更できるように、フレーム１０Ａに支持される。
【００３９】
駆動機構２０は、人力駆動力を後輪１４へ伝達する。駆動機構２０は、クランク２２、フロントスプロケットアセンブリ２４Ａ、リアスプロケットアセンブリ２４Ｂ、チェーン２６、および、一対のペダル２８，２８を含む。駆動機構２０は、更に、チェーン２６が外れることを抑制するためのチェーンデバイスを備えてもよい。
【００４０】
クランク２２は、右クランク２２Ａ、左クランク２２Ｂ、および、クランク軸２２Ｃを含む。クランク軸２２Ｃは、フレーム１０Ａに回転可能に支持される。右クランク２２Ａおよび左クランク２２Ｂは、それぞれクランク軸２２Ｃに連結される。一対のペダル２８，２８の一方は右クランク２２Ａに回転可能に支持され、他方は左クランク２２Ｂに回転可能に支持される。
【００４１】
フロントスプロケットアセンブリ２４Ａは、クランク軸２２Ｃに連結されており、クランク軸２２Ｃと一体的に回転する。フロントスプロケットアセンブリ２４Ａは、一例では、外径が異なる複数のフロントスプロケットを含む。複数のフロントスプロケットの外径は、クランク軸２２の回転軸心と平行な方向において、車両本体１０の中心面から外側に向かって大きくなる。
【００４２】
リアスプロケットアセンブリ２４Ｂは、後輪１４のハブ（図示略）に回転可能に支持される。リアスプロケットアセンブリ２４Ｂは、一例では、外径が異なる複数のリアスプロケットを含む。複数のリアスプロケットの外径は、ハブアセンブリの回転軸心と平行な方向において、車両本体１０の中心面から外側に向かって小さくなる。
【００４３】
チェーン２６は、フロントスプロケットアセンブリ２４Ａおよびリアスプロケットアセンブリ２４Ｂに巻き掛けられる。ペダル２８，２８に加えられる人力駆動力によってクランク２２が前転すると、フロントスプロケットアセンブリ２４Ａがクランク２２と共に前転する。フロントスプロケットアセンブリ２４Ａの回転は、チェーン２６を介してリアスプロケットアセンブリ２４Ｂに伝達し、後輪１４を回転させる。チェーン２６の代わりに、ベルトまたはシャフトを用いてもよい。
【００４４】
人力駆動車１は、更に、操作装置３０、変速装置３２および３３、アシスト装置３４、ブレーキ装置３６、アンチロックブレーキ装置３８、サスペンション装置４０、および、バッテリユニット４２を備える。
【００４５】
操作装置３０は、例えばハンドルバー１６に設けられる。操作スイッチ３０は、ライダーの指によって操作される操作スイッチ３０Ａ，３０Ｂを備える。操作スイッチ３０Ａ，３０Ｂは、変速装置３２、アシスト装置３４、ブレーキ装置３６、アンチロックブレーキ装置３８、および、サスペンション装置４０の少なくとも１つを制御するためのスイッチである。
【００４６】
人力駆動車１に搭載される操作装置３０の数は１つである必要はなく、複数であってもよい。図１に示した例では、操作装置３０が２つの操作スイッチ３０Ａ，３０Ｂを備える構成としたが、１つまたは３つ以上の操作スイッチを備える構成であってもよい。操作装置３０は、スイッチを備える構成に限定されず、操作レバーまたは操作ダイヤル等を備える構成であってもよい。
【００４７】
操作装置３０は、操作スイッチ３０Ａまたは操作スイッチ３０Ｂの操作に応じた制御信号を制御対象のコンポーネントへ送信できるように、各コンポーネントに接続される。一例では、操作装置３０は、通信線またはＰＬＣ（Power Line Communication）が可能な電線によって制御対象のコンポーネントに接続される。制御対象のコンポーネントは、変速装置３２、アシスト装置３４、ブレーキ装置３６、アンチロックブレーキ装置３８、および、サスペンション装置４０の少なくとも１つである。他の例では、操作装置３０は、無線通信が可能な無線通信ユニットによって制御対象のコンポーネントに接続される。操作装置３０は、更に、操作入力に関する情報を評価装置１００へ出力してもよい。
【００４８】
変速装置３２は、操作装置３０から送信される制御信号に応じて動作が制御される人力駆動車１のコンポーネントの１つである。変速装置３２は、電動アクチュエータ３２Ａおよびチェーンガイド３２Ｂを備える。電動アクチュエータ３２Ａの一例は、電動モータである。変速装置３２は、電動アクチュエータ３２Ａを駆動し、チェーンガイド３２を動作させることによって、チェーン２６が巻き掛けられるリアスプロケットを変更し、人力駆動車１の変速比を切り替える。
【００４９】
変速装置３２の一例は外装変速機である。変速装置３２が外装変速機である場合、リアスプロケットアセンブリ２４Ｂは、外径が異なる複数のリアスプロケットを含む。変速装置３２は、シフトアップを指示する制御信号を操作装置３０から受信した場合、チェーン２６が巻き掛けられるリアスプロケットを、現在のリアスプロケットよりも外径が小さいリアスプロケットに変更するように、電動アクチュエータ３２Ａによってチェーンガイド３２Ｂを動作させる。変速装置３２は、シフトダウンを指示する制御信号を操作装置３０から受信した場合、チェーン２６が巻き掛けられるリアスプロケットを、現在のリアスプロケットよりも外径が大きいリアスプロケットに変更するように、電動アクチュエータ３２Ａによってチェーンガイド３２Ｂを動作させる。
【００５０】
変速装置３３は、操作装置３０から送信される制御信号に応じて動作が制御される人力駆動車１のコンポーネントの１つである。変速装置３３は、電動アクチュエータ３３Ａおよびチェーンガイド３３Ｂを備える。電動アクチュエータ３３Ａの一例は、電動モータである。変速装置３３は、電動アクチュエータ３３Ａの駆動によって、チェーンガイド３３Ｂを動作させることで、チェーン２６が巻き掛けられるフロントスプロケットを変更し、人力駆動車１の変速比を切り替える。
【００５１】
変速装置３３の一例は外装変速機である。変速装置３３が外装変速機である場合、フロントスプロケットアセンブリ２４Ａは、外径が異なる複数のフロントスプロケットを含む。本実施形態において、変速装置３３は、シフトアップを指示する制御信号を操作装置３０から受信した場合、チェーン２６が巻き掛けられるフロントスプロケットを、現在のスプロケットよりも外径が大きいスプロケットに変更するように電動アクチュエータ３３Ａによってチェーンガイド３３Ｂを動作させる。変速装置３３は、シフトダウンを指示する制御信号を操作装置３０から受信した場合、例えば、チェーン２６が巻き掛けられるフロントスプロケットを、現在のフロントスプロケットよりも外径が小さいフロントスプロケットに変更するように、電動アクチュエータ３３Ａによってチェーンガイド３３Ｂを動作させる。
【００５２】
変速装置３２および３３は内装変速機であってもよい。例えば、変速装置３２が内装変速機である場合、変速装置３２は例えば後輪１４のハブに設けられ、リアスプロケットアセンブリ２４Ｂに入力された回転を変速して後輪１４に伝達する。このとき、リアスプロケットアセンブリ２４Ｂに含まれるリアスプロケットは単一である。変速装置３２および３３の少なくとも１つは、無段変速機であってもよい。
【００５３】
アシスト装置３４は、駆動機構２０に対して設けられる。アシスト装置３４は、電動駆動ユニット３４Ａを有する。電動駆動ユニット３４Ａは、駆動回路、メモリ、電動モータ等を含み、駆動回路が電動モータを作動させることによって補助駆動力を出力し、人力駆動車１の走行を補助する。本実施の形態において、アシスト装置３４は、後述の制御装置２００によって自動制御されるコンポーネントの１つである。制御装置２００は、図５に示される。アシスト装置３４は、操作装置３０から出力される制御信号に応じて制御されてもよい。アシスト装置３４の制御状態は、補助駆動力が異なる複数の制御状態を含む。アシスト装置３４における制御状態はアシストレベルともいう。アシスト装置３４は、例えばクランク２２に作用する人力駆動力に応じて、アシストレベルを変更する。アシストレベルは、たとえば４段階設けられる場合、強アシストレベル、中アシストレベル、弱アシストレベル、およびゼロアシストレベルを含む。ゼロアシストレベルでは、モータユニット３４を駆動せず、アシストが行われない。
【００５４】
なお、アシスト装置３４は、人力駆動車１を制動する回生ブレーキ装置としても機能するように構成されてもよい。回生量を含むアシスト装置３４の制御結果は、評価装置１００へ出力され、評価装置１００の記憶部１０６に履歴として記憶されてもよい。評価装置１００の記憶部１０６は、図２において示される。
【００５５】
ブレーキ装置３６は、前輪１２および後輪１４に対して設けられる。前輪１２に設けられるブレーキ装置３６は、電動駆動ユニット３６Ａと、前輪１２のホイールに接触可能なブレーキパッドを含むキャリパ３６Ｂとを備える、リムブレーキである。ブレーキ装置３６の電動駆動ユニット３６Ａは、駆動回路、および、電動モータを含む。ブレーキ装置３６は、制御装置２００によって自動制御されるコンポーネントの１つである。ブレーキ装置３６は、ハンドルバー１６に設けられるブレーキ操作装置３６Ｃに接続されてもよい。制御装置２００からの制御信号、または、ブレーキ操作装置３６Ｃの操作に応じて、電動駆動ユニット３６Ａの駆動回路は、電動モータによってキャリパ３６Ｂを作動させ、ブレーキパッドを前輪１２のホイールに接触させることによって、前輪１２の回転力を減衰させる。ブレーキ装置３６は、制動力が異なる複数の制御状態にて動作可能である。ブレーキ装置３６の制御結果は、評価装置１００へ出力され、評価装置１００の記憶部１０６に履歴として記憶されてもよい。ブレーキ装置３６は、ブレーキ操作装置３６Ｃへの操作入力に関する情報を、評価装置１００へ出力してもよい。操作入力に関する情報には、例えば、ブレーキ操作の仕方、操作量、および、左右いずれのブレーキ装置３６の操作であるのかを示す情報が含まれる。
【００５６】
後輪１４に設けられるブレーキ装置３６は、電動駆動ユニット３６Ａと、後輪１４のホイールに接触可能なブレーキパッドを含むキャリパ３６Ｂとを備える、リムブレーキである。ブレーキ装置３６の電動駆動ユニット３６Ａは、駆動回路、および、電動モータを含む。ブレーキ装置３６は、制御装置２００によって自動制御されるコンポーネントの１つである。ブレーキ装置３６は、ハンドルバー１６に設けられるブレーキ操作装置３６Ｃに接続されてもよい。制御装置２００からの制御信号、または、ブレーキ操作装置３６Ｃの操作に応じて、電動駆動ユニット３６Ａの駆動回路は、電動モータによってキャリパ３６Ｂを作動させ、ブレーキパッドを後輪１４のホイールに接触させることによって、後輪１４の回転力を減衰させる。ブレーキ装置３６は、制動力が異なる複数の制御状態にて動作可能である。ブレーキ装置３６の制御結果は、評価装置１００へ出力され、評価装置１００の記憶部１０６に履歴として記憶されてもよい。ブレーキ装置３６は、ブレーキ操作装置３６Ｃへの操作入力に関する情報を、評価装置１００へ出力してもよい。
【００５７】
ブレーキ装置３６は、前輪１２のハブおよび後輪１４のハブに取り付けられる回転体に接触可能なブレーキパッドを含むディスクブレーキであってもよい。ディスクブレーキでは、例えば、電動モータによって流体を制御してブレーキパッドを移動させ、ブレーキパッドを回転体（ディスクブレーキロータ）に押し当てることによって、前輪１２または後輪１４の回転力を減衰させる。または、ディスクブレーキは、電動モータによって直接的にブレーキパッドを移動させ、ブレーキパッドを回転体に押し当てることによって、前輪１２または後輪１４の回転力を減衰させる。
【００５８】
アンチロックブレーキ装置３８は、ブレーキ装置３６に対して設けられる。アンチロックブレーキ装置３８は、駆動回路を含む電動駆動ユニット３８Ａ、作動油を溜めるリザーバ、作動油を供給し、キャリパ３６Ｂに油圧を与えるポンプ、ブレーキ装置３６のキャリパ３６Ｂに与えられる油圧を調節するバルブ等を備える。電動駆動ユニット３８Ａは、バルブの開閉を制御し、キャリパ３６Ｂに与える油圧を調節することによって、キャリパ３６Ｂから前輪１２または後輪１４に与える制動力を制御する。アンチロックブレーキ装置３８は、制御装置２００によって自動制御されるコンポーネントの１つである。アンチロックブレーキ装置３８は、キャリパ３６Ｂに与える油圧の大きさが異なる複数の制御状態にて動作可能である。アンチロックブレーキ装置３８の制御結果は、評価装置１００へ出力され、評価装置１００の記憶部１０６に履歴として記憶される。
【００５９】
サスペンション装置４０は、一例では、フロントフォーク１０Ｂに設けられ、前輪１２に加えられた衝撃を減衰するフロントサスペンションである。他の例では、サスペンション装置４０は、後輪１４に加えられた衝撃を減衰するリアサスペンションである。サスペンション装置４０は、電動駆動ユニット４０Ａを備える。電動駆動ユニット４０Ａは、駆動回路、および、電動モータを含む。サスペンション装置４０は、動作パラメータとして、例えば、減衰率、反発力、ストローク量、およびロックアウト状態を設定することによって制御される。サスペンション装置４０は、制御装置２００によって自動制御されるコンポーネントの１つである。サスペンション装置４０は、緩衝性が異なる複数の制御状態にて動作可能である。サスペンション装置４０の制御結果は、評価装置１００へ出力され、評価装置１００の記憶部１０６に履歴として記憶される。
【００６０】
バッテリユニット４２は、バッテリ４２Ａおよびバッテリホルダ４２Ｂを含む。バッテリ４２Ａは、１または複数のバッテリセルを含む蓄電池である。バッテリホルダ４２Ｂは、人力駆動車１のフレーム１０Ａに固定される。バッテリ４２Ａは、バッテリホルダ４２Ｂに、着脱可能に取り付けられる。バッテリ４２Ａは、変速装置３２、アシスト装置３４、ブレーキ装置３６、アンチロックブレーキ装置３８、サスペンション装置４０などにそれぞれ電気的に接続される。
【００６１】
人力駆動車１は、更に、車速センサＳ１、加速度センサＳ２、姿勢センサＳ３、荷重センサＳ４、トルクセンサＳ５、ケイデンスセンサＳ６、傾斜センサＳ７、撮像センサＳ８、位置センサＳ９、および、気象センサＳ１０の少なくとも１つを備えてもよい。以下の説明において、それぞれを個別に説明する必要がない場合、センサＳ１〜Ｓ１０とも記載する。
【００６２】
車速センサＳ１は、人力駆動車１の速度に応じた信号を出力するセンサである。車速センサＳ１は、フレーム１０Ａまたはフロントフォーク１０Ｂに取り付けられる。車速センサＳ１は、例えばホール素子を含み、前輪１２または後輪１４に設けられる磁石（図示略）を検出することによって、前輪１２または後輪１４の回転速度を計測する。一例では、車速センサＳ１は、前輪１２または後輪１４の回転速度を示す信号を出力する。他の例では、車速センサＳ１は、計測した前輪１２または後輪１４の回転速度に基づき、人力駆動車１の速度を算出し、算出した速度を示す信号を出力する。
【００６３】
加速度センサＳ２は、人力駆動車１の前後方向の加速度に応じた信号を出力するセンサである。加速度センサＳ２は、例えば、フレーム１０Ａに設けられ、前後方向の加速度が加えられた場合における錘の変位を静電容量または抵抗値の変化として検出することによって加速度を計測する。加速度センサＳ２は、人力駆動車１のヨー方向、ロール方向、および、ピッチ方向の加速度を計測するモーションセンサであってもよい。
【００６４】
姿勢センサＳ３は、ライダーの姿勢に応じた信号を出力するセンサである。姿勢センサＳ３の一例は圧電センサであり、ライダーの体重が掛かる人力駆動車１の複数箇所に設けられる。例えば、姿勢センサＳ３は、ハンドルバー１６が備えるグリップ、シート１８の表面、ペダル２８等の１または複数箇所に設けられる。姿勢センサＳ３は、ライダーに装着されるウェアラブル端末に内蔵されるモーションセンサであってもよい。
【００６５】
荷重センサＳ４は、人力駆動車１に加えられる荷重に応じた信号を出力するセンサである。荷重センサＳ４の一例は、歪みゲージ式のロードセルである。荷重センサＳ４は、前輪１２または後輪１４の車軸、ハンドルバー１６、シート１８、ペダル２８等の人力駆動車１の一箇所または復数箇所に設けられる。荷重センサＳ４は、前輪１２および後輪１４の接地荷重を計測するセンサであってもよく、人力駆動車１の荷重バランスを計測するセンサであってもよい。姿勢センサＳ３および荷重センサＳ４の少なくとも一部を共通化してもよい。
【００６６】
トルクセンサＳ５は、クランク２２に加えられるトルクに応じた信号を出力するセンサである。トルクセンサＳ５は、右クランク２２Ａ、左クランク２２Ｂ、クランク軸２２Ｃ、フロントスプロケットアセンブリ２４Ａ、または、クランク軸２２Ｃからフロントスプロケットアセンブリ２４Ａまでの駆動経路のいずれかに設けられる。トルクセンサＳ５は、歪みセンサ、磁歪センサ、光センサ、または、圧力センサ等を含み、クランク２２に加えられるトルクを検出する。
【００６７】
ケイデンスセンサＳ６は、ケイデンスを示す信号を出力するセンサである。ケイデンスセンサＳ６は、フレーム１０Ａに取り付けられる。ケイデンスセンサＳ６は、例えばホール素子を含み、右クランク２２Ａまたは左クランク２２Ｂに設けられる磁石（図示略）を検出することによって、クランク軸２２Ｃの単位時間当たりの回転数を計測する。
【００６８】
評価装置１００は、トルクセンサＳ５によって検出されるクランク２２に加えられるトルクと、ケイデンスセンサＳ６によって検出されるクランク軸２２Ｃの単位時間当たりの回転数と、に基づき、人力駆動車１００に加えられるパワーを算出することができる。
【００６９】
傾斜センサＳ７は、人力駆動車１の傾斜角度に応じた信号を出力するセンサである。傾斜センサＳ７が検出する傾斜角度は、例えば、人力駆動車１の左右方向に沿うピッチ軸まわりの回転角度である。傾斜センサＳ７は、一例として、ピッチ角度の角速度を検出するセンサを含み、ピッチ軸まわりの角速度を積分した値をピッチ角度として算出する。傾斜センサＳ７は、人力駆動車１の前後方向に沿うロール軸まわりの回転角度、および、人力駆動車１の上下方向に沿うヨー軸まわりの回転速度を併せて計測する構成であってもよい。
【００７０】
撮像センサＳ８は、人力駆動車１の周囲を撮像することによって得られる映像信号を出力するセンサである。撮像センサＳ８は、例えば、撮像範囲内に路面が含まれるようにフレーム１０Ａまたはハンドルバー１６の適宜箇所に設けられる。撮像センサＳ８はライダーに装着されるウェアラブルカメラであってもよい。
【００７１】
位置センサＳ９は、人力駆動車１の現在位置を示す信号を出力するセンサである。位置センサＳ９は、フレーム１０Ａまたはハンドルバー１６に取り付けられる。位置センサＳ９は、例えばＧＰＳ（Global Positioning System）通信機を含み、ＧＰＳ衛星からの電波を受信することによって、人力駆動車１の現在位置を測位する。位置センサＳ９は、測位した位置情報を逐次記録するメモリを備え、メモリに記録した位置情報に基づき、人力駆動車１が走行した走行路の情報を出力する構成であってもよい。
【００７２】
気象センサＳ１０は、人力駆動車１の周囲の気象を計測し、計測結果に応じた信号を出力するセンサである。気象センサＳ１０は、フレーム１０Ａに取り付けられ、風向、風速、外気の温度、および、外気の湿度のうちの少なくとも１つを計測する。気象センサＳ１０は、外部の気象サーバ（図示略）と通信し、気象サーバから、人力駆動車１の周囲の風向、風速、外気の温度、および、外気の湿度のうちの少なくとも１つの情報を取得する構成であってもよい。
【００７３】
評価装置１００は、コンピュータの一種である。一例では、評価装置１００は、人力駆動車１に設けられるサイクルコンピュータなどの専用端末である。評価装置１００は、他の例では、人力駆動車１のライダーが所持するスマートフォン、タブレット端末、ウェアラブル端末などの汎用端末である。
【００７４】
評価装置１００は、人力駆動車１の走行に関する走行情報を取得する。評価装置１００が取得する走行情報は、速度、加速度、姿勢、荷重、駆動力、ケイデンス、変速比、操作装置３０への操作入力、操作入力とコンポーネントの制御結果の履歴、回生量、傾斜、路面状況、位置、天候、および、車両情報のうちの少なくとも１つに関する情報を含む。走行情報は、人力駆動車１のトラクションに関する情報を含んでもよい。評価装置１００は、人力駆動車１に搭載されるセンサＳ１〜Ｓ１０またはコンポーネントから走行情報を取得できる。評価装置１００が取得する走行情報は、センサＳ１〜Ｓ１０またはコンポーネントから直接的に得られる情報だけでなく、演算によって導出される情報を含んでもよく、評価装置１００の記憶部１０６に記憶される情報を含んでもよい。例えば、記憶部１０６に記憶される走行情報は、ブレーキ操作装置３６Ｃへの操作入力に対する制動距離の情報を含んでもよく、フレーム寸法、人力駆動車１の重量、タイヤ径などの車両情報を含んでもよい。
【００７５】
評価装置１００は、人力駆動車１の走行に関する走行情報に従って、人力駆動車１のコンポーネントに対する制御の好ましさを、学習モデル１２０を用いて評価する。ここで、制御の好ましさは、コンポーネントに対する制御を実行した際の人力駆動車１の状態の良し悪しを示唆する情報である。評価装置１００は、例えば、人力駆動車１のトラクションの良し悪しによって制御の好ましさを評価できる。評価装置１００は、人力駆動車１のトラクションが良好となる制御を高く評価し、トラクションが低減することが推定される制御を低く評価してもよい。評価装置１００がコンポーネントに対する制御の好ましさを評価する際に用いる学習モデル１２０については、図３を用いて詳述することとする。
【００７６】
図２は第１実施形態に係る評価装置１００の内部構成を示すブロック図である。評価装置１００は、入力部１０２、演算処理部１０４、記憶部１０６、および、出力部１０８を備える。
【００７７】
入力部１０２は、操作装置３０、変速装置３２、アシスト装置３４、ブレーキ装置３６、アンチロックブレーキ（ＡＢＳ：Anti-lock Brake System）装置３８、サスペンション装置４０、および、センサＳ１〜Ｓ１０の少なくとも１つを接続するインタフェースを備える。入力部１０２が備えるインタフェースは、例えば有線のインタフェースであり、操作装置３０等を、通信ケーブルを介して接続する。入力部１０２を通じて入力される信号に基づく情報は記憶部１０６に一時的に記憶される。入力部１０２が備えるインタフェースは、無線インタフェースであってもよい。無線インタフェースとして、Ｂｌｕｅｔｏｏｔｈ（登録商標） 、ＷｉＦｉ（登録商標）、ＺｉｇＢｅｅ（登録商標）、ＬＴＥ（Long Term Evolution）、および、その他の無線ＬＡＮ（Local Area Network）を含む通信規格に準じた通信インタフェースを用いることができる。
【００７８】
演算処理部１０４は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などを備える。演算処理部１０４が備えるＲＯＭには、評価装置１００が備えるハードウェア各部の動作を制御するためのコンピュータプログラム等が記憶される。演算処理部１０４内のＣＰＵは、ＲＯＭまたは記憶部１０６に記憶されるコンピュータプログラムを実行し、ハードウェア各部の動作を制御することによって、人力駆動車１の走行に関する走行情報に従って、人力駆動車１のコンポーネントに対する制御の好ましさを、学習モデル１２０を用いて評価する処理を実現する。演算処理部１０４が備えるＲＡＭには、演算の実行中に利用されるデータが一時的に記憶される。
【００７９】
演算処理部１０４は、ＣＰＵ、ＲＯＭおよびＲＡＭを備える構成としたが、ＧＰＵ（Graphics Processing Unit）、ＦＰＧＡ（Field Programmable Gate Array）、ＤＳＰ（Digital Signal Processor）、量子プロセッサ、揮発性または不揮発性のメモリ等を備える１または複数の演算回路であってもよい。
【００８０】
記憶部１０６は、ＥＥＰＲＯＭ（Electronically Erasable Programmable Read Only Memory）、ＳＲＡＭ（Static Random Access Memory）などのメモリを備える。記憶部１０６は、演算処理部１０４によって実行される評価処理プログラム１１０を含む各種コンピュータプログラム、および、後述する学習モデル１２０等を記憶する。
【００８１】
評価処理プログラム１１０は、コンピュータに、人力駆動車１の走行に関する走行情報に従って、人力駆動車１のコンポーネントに対する制御の好ましさを、学習モデル１２０を用いて評価する処理を実行させるためのコンピュータプログラムである。演算処理部１０４は、評価処理プログラム１１０を実行することによって、人力駆動車１の走行情報に従って、人力駆動車１のコンポーネントに対する制御の好ましさを、学習モデル１２０を用いて評価する。
【００８２】
評価処理プログラム１１０を含む各種コンピュータプログラムは、コンピュータプログラムが記憶される記憶媒体Ｍによって提供され得る。記憶媒体Ｍは、例えば、ＣＤ−ＲＯＭ、ＵＳＢメモリ、ＳＤ（Secure Digital）カード、マイクロＳＤカード、コンパクトフラッシュ(登録商標）などの可搬型メモリである。本実施形態において、記憶媒体Ｍは、評価処理プログラム１１０を含む各種コンピュータプログラムを読み取り可能に記憶する非一時的な記憶媒体である。演算処理部１０４は、読取装置を用いて記憶媒体Ｍから各種コンピュータプログラムを読み取り、読み取った各種コンピュータプログラムを記憶部１０６にインストールする。
【００８３】
記憶部１０６に記憶される学習モデル１２０は、その定義情報によって記述される。学習モデル１２０の定義情報は、学習モデル１２０の構造情報、学習モデル１２０で用いられるノード間の重みおよびバイアスなどの各種パラメータ等を含む。本実施形態における学習モデル１２０は、人力駆動車１の走行に関する走行情報に従って、人力駆動車１のコンポーネントに対する制御の好ましさを評価するために用いられる。学習モデル１２０は、一例では、ＤＱＮ（Deep Q-Network）を用いて構築される学習モデルである。学習モデル１２０は、ＤＱＮに限らず、ＤＤＱＮ（Double DQN）、ＣＤＱＮ（Continuous DQN）などを用いて構築される学習モデルであってもよい。
【００８４】
出力部１０８は、演算処理部１０４による評価結果を出力する出力インタフェースを備える。評価結果の出力形式は任意である。一例では、出力部１０８は、液晶ディスプレイ、有機ＥＬ（Electro-Luminescence）ディスプレイ等の表示デバイスを備える。この場合、出力部１０８は、制御の好ましさに関する評価結果を文字情報または画像情報として表示デバイスに表示してもよい。他の例では、出力部１０８は、スピーカ等の音声出力デバイスを備える。この場合、出力部１０８は、制御の好ましさに関する評価結果を音声出力デバイスから音声として出力してもよい。更に他の例では、出力部１０８は、通信インタフェースを備える。この場合、出力部１０８は、制御の好ましさに関する評価結果を通信インタフェースに接続された外部機器へ出力してもよい。
【００８５】
図３は学習モデル１２０の実装例を示す模式図である。学習モデル１２０は、例えばＤＱＮによって構築される学習モデルである。ＤＱＮでは、状態ｓを入力とし、選択し得る行動ａに対応した数の行動価値関数Ｑ（ｓ，ａ）の値を出力とする多層ニューラルネットワークが用いられる。以下の説明において、行動価値関数Ｑ（ｓ，ａ）の値をＱ値とも記載される。学習モデル１２０を構成する多層ニューラルネットワークは、例えば、入力層１２２、中間層１２４、および、出力層１２６を含む。
【００８６】
入力層１２２は複数のノードを備える。入力層１２２のノードは、入力すべき状態ｓの数だけ用意される。本実施形態において、状態ｓは、人力駆動車１の走行に関する走行情報である。走行情報は、速度、加速度、姿勢、荷重、駆動力、ケイデンス、変速比、操作装置３０への操作入力、操作入力とコンポーネントの制御結果の履歴、回生量、傾斜、路面状況、位置、天候、および、車両情報のうちの少なくとも１つによって区別される状態である。
【００８７】
中間層１２４は、複数の層により構成される。中間層１２４の各層は、複数のノードを備える。中間層１２４における各層のノードは、前後の層に存在するノードと一方向に所望の重みとバイアスとによって結合される。ノード間の結合状態を特徴付ける重みおよびバイアスは学習によって更新される。中間層１２４は、各ノードを用いて演算して演算結果を出力層１２６へ出力する。
【００８８】
出力層１２６は、複数のノードを備える。出力層１２６のノードは区別すべき行動ａの数だけ用意される。本実施形態において、行動ａは、人力駆動車１が備える１つまたは複数のコンポーネントの制御状態によって区別される。例えば、行動ａは、人力駆動車１のブレーキ装置３６が作動している状態であるか否かに応じて区別される。更に、行動ａは、左右いずれのブレーキ装置３６が作動したのか、どの程度の力または速度でブレーキ操作装置３６Ｃを操作したのか等に応じて区別される。行動ａは、ブレーキ装置３６の制御状態に限らず、アシスト装置３４、アンチロックブレーキ装置３８、または、サスペンション装置４０の制御状態によって区別されてもよい。
【００８９】
出力層１２６の各ノードは、各行動ａに対するＱ値を出力する。Ｑ値は、状態ｓが示す状態において行動ａを取った場合における、将来にわたって得られる収益の期待値である。学習モデル１２０は、人力駆動車１のトラクションが良好となるような制御状態においてＱ値が高くなり、人力駆動車１のトラクションが失われるような制御状態においてＱ値が低くなるように学習される。
【００９０】
次に、学習モデル１２０を用いた評価手順について説明する。
図４は学習モデル１２０の学習手順を説明するフローチャートである。ステップＳ１０１において、評価装置１００の演算処理部１０４は、走行情報を取得する。具体的には、演算処理部１０４は、入力部１０２を通じて、速度、加速度、姿勢、荷重、駆動力、ケイデンス、変速比、操作装置３０への操作入力、操作入力とコンポーネントの制御結果の履歴、回生量、傾斜、路面状況、位置、天候、および、車両情報のうちの少なくとも１つを含む走行情報を取得する。演算処理部１０４が取得する走行情報は、人力駆動車１のトラクションに関する情報であってもよい。走行情報は、各種センサＳ１〜Ｓ１０によって得られる情報だけでなく、演算処理部１０４によって演算される情報であってもよく、記憶部１０６に記憶されている情報であってもよい。
【００９１】
ステップＳ１０２において、演算処理部１０４は、入力部１０２等から取得した走行情報を学習モデル１２０の入力層１２２に入力することによって、学習モデル１２０による演算を実行する。入力層１２２に入力される走行情報は、ＤＱＮによって構築される学習モデル１２０において、状態ｓを表す。入力層１２２に入力された走行情報は中間層１２４に与えられる。中間層１２４では、各ノードにおいて直前の層からの入力に対する重みの乗算、バイアスの加算、活性化関数を用いた演算が行われ、演算結果が出力層１２６へ出力される。出力層１２６は、各ノードを通じて、Ｑ値を出力する。
【００９２】
ステップＳ１０３において、演算処理部１０４は、学習モデル１２０の演算結果として得られるＱ値を出力層１２６から取得する。
【００９３】
ステップＳ１０４において、演算処理部１０４は、人力駆動車１のコンポーネントに対する制御の好ましさを評価する。学習モデル１２０は、出力層１２６が備える各ノードから、コンポーネントの制御状態に対応する行動ａのそれぞれについてＱ値を出力する。演算処理部１０４は、出力層１２６の各ノードから出力されるＱ値を参照することによって、コンポーネントに対する制御の好ましさを評価する。例えば、演算処理部１０４は、出力層１２６の各ノードから出力されるＱ値のうち、最も高い値を示す行動ａに対応した制御状態を、最も好ましい制御と評価できる。
【００９４】
以上のように、第１実施形態における評価装置１００は、学習モデル１２０を用いることによって、人力駆動車１の走行に関する走行情報に従って、人力駆動車１のコンポーネントに対する制御の好ましさを評価できる。
【００９５】
（第２実施形態）
第２実施形態では、評価装置１００による評価結果に基づき、人力駆動車１のコンポーネントを制御する制御システムについて説明する。
【００９６】
図５は第２実施形態に係る制御システムを説明するブロック図である。第２実施形態に係る制御システムは、評価装置１００と、評価装置１００による評価結果に基づき、人力駆動車１のコンポーネントを制御する制御装置２００とを備える。制御装置２００は、独立した装置として設けられてもよく、制御対象のコンポーネント内に設けられてもよい。図５に示した例では、評価装置１００と制御装置２００とを別体として記載したが、評価装置１００と制御装置２００とが一体となった構成であってもよい。
【００９７】
制御装置２００は、制御部２０２、記憶部２０４、入力部２０６、および、出力部２０８を備える。制御部２０２は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭなどを備える。制御部２０２が備えるＲＯＭには、制御装置２００が備えるハードウェア各部の動作を制御するための制御プログラム等が記憶される。制御部２０２内のＣＰＵは、ＲＯＭに記憶された制御プログラム、および、記憶部２０４に記憶された各種プログラムを実行し、ハードウェア各部の動作を制御することによって、本願の制御装置を実現する。具体的には、制御部２０２は、入力部２０６を通じて入力される評価装置１００からの判定結果に基づき、人力駆動車１のコンポーネントを制御する制御信号を生成し、生成した制御信号を出力部２０８から出力する。
【００９８】
制御部２０２は上述の構成に限定されない。制御部２０２は、シングルコアＣＰＵ、マルチコアＣＰＵ、ＦＰＧＡ、揮発性または不揮発性のメモリ等を含む１または複数の制御回路であればよい。また、制御部２０２は、日時情報を出力するクロック、計測開始指示を与えてから計測終了指示を与えるまでの経過時間を計測するタイマ、数をカウントするカウンタ等の機能を備えていてもよい。
【００９９】
記憶部２０４は、ＥＥＰＲＯＭ、ＳＲＡＭなどのメモリを備える。記憶部２０４には、制御部２０２によって実行されるコンピュータプログラム、および、このコンピュータプログラムが用いるデータ等が記憶される。
【０１００】
入力部２０６は、ケーブルを介して評価装置１００を接続するインタフェースを備える。入力部２０６には、評価装置１００から出力される評価結果が入力される。入力部２０６に入力される評価結果は、人力駆動車１のコンポーネントに対する制御の好ましさを表す。入力部２０６は、入力された評価結果を制御部２０２へ出力する。本実施形態では、ケーブルを介して評価装置１００を接続する構成としたが、無線通信のインタフェースを介して、評価装置１００と制御装置２００との間でデータを送受信できるように構成してもよい。無線通信では、Ｂｌｕｅｔｏｏｔｈ 、ＷｉＦｉ、ＺｉｇＢｅｅ、ＬＴＥ、その他の無線ＬＡＮ等の通信規格に準じた無線通信方式が利用できる。
【０１０１】
出力部２０８は、ケーブルを介して制御対象のコンポーネントを接続するインタフェースを備える。コンポーネントは、補助駆動力を出力する電動駆動ユニット３４Ａを有するアシスト装置３４を含んでいてよい。また、コンポーネントは、電動駆動ユニット３６Ａを有するブレーキ装置３６を含んでいてよい。また、コンポーネントは、電動駆動ユニット３８Ａを有するアンチロックブレーキ装置３８を含んでいてよい。また、コンポーネントは、電動駆動ユニット４０Ａを有するサスペンション装置４０を含んでいてよい。本実施形態において、制御装置２００には、アシスト装置３４、ブレーキ装置３６、アンチロックブレーキ装置３８、および、サスペンション装置４０が接続される。出力部２０８は、制御部２０２から出力される制御信号を制御対象のコンポーネントへ出力する。本実施形態では、ケーブルを介して人力駆動車１のコンポーネントを接続する構成としたが、無線通信のインタフェースを介して、制御装置２００と人力駆動車１のコンポーネントとの間でデータを送受信できるように構成してもよい。無線通信では、上述した各種の通信規格に準拠した無線通信方式が利用できる。
【０１０２】
以下、評価装置１００の評価結果に基づき、制御装置２００が人力駆動車１のコンポーネントを制御する制御手順について説明する。
【０１０３】
図６は制御装置２００が実行する処理の手順を説明するフローチャートである。ステップＳ２０１において、制御装置２００の制御部２０２は、評価装置１００による評価結果を取得する。評価結果は、Ｑ値が最も高い行動の情報を含む。
【０１０４】
ステップＳ２０２において、制御部２０２は、乱数を生成する。制御部２０２は、公知の手法を用いて、乱数を生成することができる。制御部２０２が生成する乱数は、０以上、１以下の乱数である。
【０１０５】
ステップＳ２０３において、制御部２０２は、ステップＳ２０２において生成した乱数をεと比較し、乱数がεより大きいか否かを判断する。ここで、εは、Ｑ値を利用すべきか、ランダムに行動を選択すべきかを決定するためのパラメータである。εは、０以上、１以下の値であり、予め設定される固定値であってもよく、経過時間に応じて１から０まで減少する変動値であってもよい。
【０１０６】
制御部２０２は、乱数がεより大きいと判断した場合、ステップＳ２０４において、Ｑ値が最も高い行動を選択する。
【０１０７】
制御部２０２は、乱数がε以下と判断した場合、ステップＳ２０５において、ランダムに行動を選択する。
【０１０８】
ステップＳ２０６において、制御部２０２は、ステップＳ２０４またはステップＳ２０５において選択した行動に応じて、人力駆動車１のコンポーネントを制御する。制御対象のコンポーネントは、評価装置１００の評価結果に応じて、選択されてもよい。
【０１０９】
制御対象のコンポーネントがアシスト装置３４である場合、制御部２０２は、アシスト装置３４へ制御信号を出力する。例えば、制御前のアシストレベルが弱アシストレベルであり、ステップＳ２０４またはステップＳ２０５において選択した行動に対応するアシストレベルが強アシストレベルである場合、制御部２０２は、アシストレベルを弱アシストレベルから強アシストレベルに遷移させる制御信号をアシスト装置３４へ出力する。制御前のアシストレベルと、ステップＳ２０４またはステップＳ２０５において選択した行動に対応するアシストレベルとが同一である場合、制御部２０２は、アシスト装置３４に対する制御を行わない。
【０１１０】
制御対象のコンポーネントがブレーキ装置３６である場合、制御部２０２は、ブレーキ装置３６への制御信号を出力する。例えば、制御前の制御状態が第１制動力に対応し、ステップＳ２０４またはステップＳ２０５において選択した行動が第２制動力に対応する場合、制御部２０２は、ブレーキ装置３６の制動力を第１制動力から第２制動力へ遷移させる制御信号を出力する。制御前の制動力と、ステップＳ２０４またはステップＳ２０５において選択した行動に対応する制動力とが同一である場合、制御部２０２は、ブレーキ装置３６に対する制御を行わない。
【０１１１】
制御対象のコンポーネントがアンチロックブレーキ装置３８である場合、制御部２０２は、アンチロックブレーキ装置３８へ制御信号を出力する。例えば、制御前の制御状態が第１油圧力に対応し、ステップＳ２０４またはステップＳ２０５において選択した行動が第２油圧力に対応する場合、制御部２０２は、アンチロックブレーキ装置３８の油圧力を第１油圧力から第２油圧力へ遷移させる制御信号を出力する。制御前の油圧力と、ステップＳ２０４またはステップＳ２０５において選択した行動に対応する油圧力とが同一である場合、制御部２０２は、アンチロックブレーキ装置３８に対する制御を行わない。
【０１１２】
制御対象のコンポーネントがサスペンション装置４０である場合、制御部２０２は、サスペンション装置４０へ制御信号を出力する。例えば、制御前の制御状態が第１の緩衝性を示し、ステップＳ２０４またはステップＳ２０５において選択した行動が第２の緩衝性を示す場合、制御部２０２は、サスペンション装置４０の緩衝性を第１の緩衝性から第２の緩衝性へ遷移させる制御信号を出力する。制御前の緩衝性と、ステップＳ２０４またはステップＳ２０５において選択した行動に対応する緩衝性とが同一である場合、制御部２０２は、サスペンション装置４０に対する制御を行わない。
【０１１３】
本実施形態では、εというパラメータを用いて、Ｑ値を利用すべきか、ランダムに行動を選択すべきかを決定するε−ｇｒｅｅｄｙ法によって行動を選択する構成としたが、ε−ｇｒｅｅｄｙ法とは異なるアルゴリズムによって行動を選択してもよい。
【０１１４】
（第３実施形態）
第３実施形態では、学習モデル１２０の生成方法について説明する。
【０１１５】
評価装置１００は、コンピュータを用いて、人力駆動車１の走行に関する走行情報に従って、人力駆動車１のコンポーネントに対する制御の好ましさを、関数を用いて評価し、好ましさの評価結果と、評価結果に応じたコンポーネントの制御結果と、に応じて関数を更新することによって学習モデル１２０を生成する。より具体的には、評価装置１００は、次式に基づいて行動価値関数Ｑ（ｓ，ａ）を更新し、学習モデル１２０を特徴付けるパラメータを改善することによって、学習モデル１２０を生成する。
Ｑ（ｓt ，ａt ）←Ｑ（ｓt ，ａt ）＋α（ｒt+1 ＋γｍａｘa'Ｑ（ｓt+1 , ａ’）−Ｑ（ｓt ，ａt ））…式（１）
【０１１６】
行動価値関数Ｑ（ｓ，ａ）は、状態ｓにおいて行動ａを取った場合において、将来にわたって得られる収益の期待値である。ｒは報酬である。状態ｓ、行動ａ、報酬ｒの添え字ｔは、時系列に繰り返す思考過程における１回分のステップを示す番号である。添え字ｔは、試行番号とも呼ばれる。行動決定後に状態が変化すると試行番号がインクリメントされる。したがって、式（１）における報酬ｒt+1 は、状態ｓt において行動ａtが選択され、状態がｓt+1 になった場合に得られる報酬である。αは学習率、γは割引率である。行動ａ’は、状態ｓt+1 において取り得る行動ａt+1 のうち、行動価値関数Ｑ（ｓt+1 ，ａt+1 ）を最大化する行動である。ｍａｘa'Ｑ（ｓt+1 , ａ’）は、行動ａ’が選択されたことによって最大化された行動価値関数である。
【０１１７】
図７は学習モデル１２０の生成手順を説明するフローチャートである。ステップＳ３０１において、評価装置１００の演算処理部１０４は、学習モデル１２０の定義情報を初期化する。学習モデル１２０の定義情報は、学習モデル１２０の構造情報、学習モデル１２０で用いられるノード間の重みおよびバイアスなどの各種パラメータ等を含む。以下では、学習モデル１２０の定義情報に含まれる各種パラメータを便宜的にパラメータθと記述する。
【０１１８】
ステップＳ３０２において、評価装置１００の演算処理部１０４は、走行情報を取得する。走行情報は、センサＳ１〜Ｓ１０等によって観測される。演算処理部１０４は、走行情報として、速度、加速度、姿勢、荷重、駆動力、ケイデンス、変速比、操作装置３０への操作入力、操作入力とコンポーネントの制御結果の履歴、回生量、傾斜、路面状況、位置、天候、および、車両情報のうちの少なくとも１つを取得する。演算処理部１０４が取得する走行情報は、人力駆動車１のトラクションに関する情報であってもよい。走行情報は、各種センサＳ１〜Ｓ１０によって観測される情報だけでなく、演算処理部１０４によって演算される情報であってもよく、記憶部１０６に予め記憶される情報であってもよい。
【０１１９】
ステップＳ３０３において、演算処理部１０４は、入力部１０２等から取得した走行情報を学習モデル１２０の入力層１２２へ入力し、学習モデル１２０による演算を実行することによって、Ｑ値を算出する。入力層１２２に入力された走行情報は中間層１２４に与えられる。中間層１２４では、各ノードにおいて直前の層からの入力に対する重みの乗算、バイアスの加算、活性化関数を用いた演算が行われ、演算結果が出力層１２６へ出力される。出力層１２６は、各ノードを通じてＱ値を出力する。演算処理部１０４は、算出した各行動のＱ値を制御装置２００へ出力する。
【０１２０】
ステップＳ３０４において、制御装置２００の制御部２０２は、人力駆動車１が取るべき行動を選択する。制御部２０２は、例えばε−ｇｒｅｅｄｙ法を用いて、Ｑ値を利用して行動を選択すべきか、ランダムに行動を選択すべきかを決定する。
【０１２１】
ステップＳ３０５において、制御部２０２は、選択した行動を人力駆動車１に取らせるべく、人力駆動車１のコンポーネントを制御する。
【０１２２】
ステップＳ３０６において、評価装置１００の演算処理部１０４は、コンポーネントが制御された後の走行情報を取得する。演算処理部１０４が取得する走行情報は、ステップＳ３０２において取得する走行情報と同様である。
【０１２３】
ステップＳ３０７において、演算処理部１０４は、報酬を評価する。本実施形態において、報酬は、人力駆動車１の走行状態に基づいて決定される。例えば、人力駆動車１のトラクションが低下することなく走行できた場合、正の報酬が付与され、人力駆動車１のトラクションが低下した場合、または、人力駆動車１が転倒した場合、負の報酬が付与される。現在の試行番号がｔである場合、ステップＳ３０７において付与される報酬は、式（１）におけるｒt+1 である。
【０１２４】
ステップＳ３０８において、演算処理部１０４は、目的関数の値を算出する。行動価値関数Ｑ（ｓ，ａ）を適切に更新するためには、行動価値関数Ｑ（ｓ，ａ）を出力する学習モデル１２０の最適化が必要である。学習が完了していない段階では、行動価値関数Ｑ（ｓ，ａ）の知見がなく、ターゲットとなる教師データを設定することは困難である。そこで、本実施形態では、式（１）の第２項に示される、ＴＤ（Temporal Difference）誤差を最小化する目的関数によって、学習モデル１２０を特徴付けるパラメータθを改善する。
【０１２５】
ステップＳ３０９において、演算処理部１０４は、学習が終了したか否かを判断する。本実施形態では、ＴＤ誤差が充分に小さいか否かを判定するための閾値が予め定められており、目的関数の値が閾値以下である場合、演算処理部１０４は、学習が終了したと判断する。
【０１２６】
演算処理部１０４は、ステップＳ３０９において学習が終了していないと判断した場合、ステップＳ３１０において、行動価値関数Ｑ（ｓ，ａ）を更新する。例えば、演算処理部１０４は、ＴＤ誤差のパラメータθによる偏微分に基づいて目的関数を小さくするパラメータθの変化方向を特定し、パラメータθを変化させる。パラメータθの変化方向の特定は、ＴＤ誤差のパラメータθによる偏微分に限らず、各種の勾配降下法を用いることができる。以上の処理により、行動価値関数Ｑ（ｓ，ａ）がターゲットに近づくようにパラメータθを変化させることができる。行動価値関数Ｑ（ｓ，ａ）を更新した後、演算処理部１０４は、処理をステップＳ３０３へ戻す。
【０１２７】
演算処理部１０４は、ステップＳ３０９において学習が終了したと判断した場合、ステップＳ３１１において、学習モデル１２０の定義情報を更新する。演算処理部１０４は、学習によって得られたθを、人力駆動車１の制御の好ましさを評価する際に参照されるべき学習モデル１２０の定義情報として記憶部１０６に記憶させる。
【０１２８】
以上のように、本実施形態では、行動価値関数（ｓ，ａ）の値を最大化する行動ａを選択する処理と、選択した行動ａに基づき人力駆動車１を制御する処理とを繰り返しながら、行動価値関数（ｓ，ａ）を最適化することによって、学習モデル１２０を生成できる。
【０１２９】
本実施の形態では、人力駆動車１の評価装置１００において学習モデル１２０を生成する構成としたが、外部サーバにおいて学習モデル１２０を生成する構成としてもよい。この場合、外部サーバと通信可能な通信装置（不図示）が評価装置１００に接続される。または、外部サーバと通信可能な通信装置が評価装置１００に内蔵される。評価装置１００は、センサＳ１〜Ｓ１０等から取得する走行情報を、通信装置を通じて、外部サーバへアップロードする。外部サーバでは、行動価値関数Ｑ（ｓ，ａ）に基づき、行動価値関数（ｓ，ａ）の値を最大化する行動ａを選択し、選択した行動ａの情報を人力駆動車１に通知する。人力駆動車１の制御装置２００は、外部サーバによって選択された行動ａの情報に基づき、コンポーネントの制御を行う。このように、行動価値関数（ｓ，ａ）の値を最大化する行動ａを選択する外部サーバの処理と、選択した行動ａに基づき人力駆動車１を制御する制御装置２００の処理とを繰り返しながら、外部サーバにおいて行動価値関数（ｓ，ａ）を最適化し、学習モデル１２０を生成する。
【０１３０】
（第４実施形態）
第４実施形態では、学習モデル１２０を再学習する構成について説明する。
【０１３１】
図８は学習モデル１２０の再学習手順を説明するフローチャートである。ステップＳ４０１において、評価装置１００の演算処理部１０４は、記憶部１０６に記憶されている学習モデル１２０の定義情報を読み出す。
【０１３２】
ステップＳ４０２において、評価装置１００の演算処理部１０４は、走行情報を取得する。演算処理部１０４が取得する走行情報は実施形態３と同様である。
【０１３３】
ステップＳ４０３において、演算処理部１０４は、入力部１０２等から取得した走行情報を学習モデル１２０の入力層１２２へ入力し、学習モデル１２０による演算を実行することによってＱ値を算出する。
【０１３４】
ステップＳ４０４において、制御装置２００の制御部２０２は、人力駆動車１が取るべき行動を選択する。制御部２０２は、例えばε−ｇｒｅｅｄｙ法を用いて、Ｑ値を利用して行動を選択すべきか、ランダムに行動を選択すべきかを決定する。
【０１３５】
ステップＳ４０５において、制御部２０２は、選択した行動を人力駆動車１に取らせるべく、人力駆動車１のコンポーネントを制御する。
【０１３６】
ステップＳ４０６において、評価装置１００の演算処理部１０４は、コンポーネントが制御された後の走行情報を取得する。演算処理部１０４が取得する走行情報は、ステップＳ４０２において取得する走行情報と同様である。
【０１３７】
ステップＳ４０７において、演算処理部１０４は、報酬を評価する。本実施形態において、報酬は、人力駆動車１の走行状態に基づいて決定される。例えば、人力駆動車１のトラクションが低下することなく走行できた場合、正の報酬が付与され、人力駆動車１のトラクションが低下した場合、または、人力駆動車１が転倒した場合、負の報酬が付与される。
【０１３８】
ステップＳ４０８において、演算処理部１０４は、目的関数の値を算出する。本実施形態では、式（１）の第２項に示される、ＴＤ誤差を最小化する目的関数によって、学習モデル１２０を特徴付けるパラメータθを改善する。
【０１３９】
ステップＳ４０９において、演算処理部１０４は、学習が終了したか否かを判断する。本実施形態では、ＴＤ誤差が充分に小さいか否かを判定するための閾値が予め定められており、目的関数の値が閾値以下である場合、演算処理部１０４は、学習が終了したと判断する。
【０１４０】
演算処理部１０４は、ステップＳ４０９において学習が終了していないと判断した場合、ステップＳ４１０において、行動価値関数Ｑ（ｓ，ａ）を更新する。例えば、演算処理部１０４は、ＴＤ誤差のパラメータθによる偏微分に基づいて目的関数を小さくするパラメータθの変化方向を特定し、パラメータθを変化させる。パラメータθの変化方向の特定は、ＴＤ誤差のパラメータθによる偏微分に限らず、各種の勾配降下法を用いることができる。以上の処理により、行動価値関数Ｑ（ｓ，ａ）がターゲットに近づくようにパラメータθを変化させることができる。行動価値関数Ｑ（ｓ，ａ）を更新した後、演算処理部１０４は、処理をステップＳ４０３へ戻す。
【０１４１】
演算処理部１０４は、ステップＳ４０９において学習が終了したと判断した場合、ステップＳ４１１において、学習モデル１２０の定義情報を更新する。更新された学習モデル１２０の定義情報は記憶部１０６に記憶される。
【０１４２】
以上のように、本実施形態では、評価装置１００は、好ましさの評価結果と、評価結果に応じたコンポーネントの制御結果と、に応じて学習モデル１２０を再学習させる。すなわち、本実施形態では、行動価値関数（ｓ，ａ）の値を最大化する行動ａを選択する処理と、選択した行動ａに基づき人力駆動車１を制御する処理とを繰り返しながら、行動価値関数（ｓ，ａ）を最適化することによって、学習モデル１２０を再学習できる。
【０１４３】
（第５実施形態）
第５実施形態では、評価装置１００の評価結果を報知する報知システムについて説明する。
【０１４４】
図９は第５実施形態に係る報知システムを説明するブロック図である。第５実施形態に係る報知システムは、評価装置１００と、評価装置１００による評価結果を報知する報知装置３００とを備える。報知装置３００が報知する評価結果は、コンポーネントの制御状態に関する情報を含んでもよい。図９に示した例では、評価装置１００と報知装置３００とを別体として記載したが、評価装置１００と報知装置３００とが一体となった構成であってもよい。
【０１４５】
報知装置３００は、例えば、液晶ディスプレイ、有機ＥＬディスプレイ等の表示デバイスである。報知装置３００は、評価装置１００の評価結果に応じて、文字情報または画像情報を表示デバイスに表示することによって、評価結果に関する情報をライダーに報知できる。
【０１４６】
報知装置３００は、ＬＥＤなどの発光素子であってもよい。報知装置３００は、評価装置１００の評価結果に応じて、発光素子を点灯、点滅、または消灯することによって、評価結果に関する情報をライダーに報知できる。
【０１４７】
報知装置３００は、スピーカなどの音声出力デバイスであってもよい。報知装置３００は、評価装置１００の評価結果に応じて、音声出力デバイスから音声を出力することによって、評価結果に関する情報をライダーに報知できる。
【０１４８】
報知装置３００は、通信デバイスであってもよい。報知装置３００は、評価装置１００の評価結果に応じて、文字情報または画像情報を外部の通信装置へ送信することによって、評価結果に関する情報をライダーに報知できる。外部の通信装置は、例えば、ライダーが携帯するスマートフォン、タブレット、ウェアラブル端末である。
【０１４９】
報知装置３００は、バイブレータなどの振動デバイスであってもよい。報知装置３００は、評価装置１００の評価結果に応じて、振動デバイスを振動させることによって、評価結果に関する情報をライダーに報知できる。
【０１５０】
報知装置３００は、評価装置１００の評価結果を常時報知する必要はなく、特定の条件下において、評価結果に関する情報を報知してもよい。例えば、報知装置３００は、ブレーキ操作装置３６Ｃの操作入力に比して、人力駆動車１の減速度が所定よりも低くなった場合に、評価結果に関する情報を報知してもよい。
【０１５１】
以上のように、本実施形態では、評価装置１００の評価結果を報知装置３００によってライダーに報知できる。
【０１５２】
今回開示された実施形態は、全ての点において例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【０１５３】
１…人力駆動車、３０…操作装置、３２，３３…変速装置、３４…アシスト装置、３６…ブレーキ装置、３８…アンチロックブレーキ装置、４０…サスペンション装置、４２…バッテリユニット、１００…評価装置、１０２…入力部、１０４…演算処理部、１０６…記憶部、１０８…出力部、１１０…評価処理プログラム、１２０…学習モデル、２００…制御装置、２０２…制御部、２０４…記憶部、２０６…入力部、２０８…出力部、３００…報知装置
【図１】
2020142566.tif 000003
【図２】
2020142566.tif 000004
【図３】
2020142566.tif 000005
【図４】
2020142566.tif 000006
【図５】
2020142566.tif 000007
【図６】
2020142566.tif 000008
【図７】
2020142566.tif 000009
【図８】
2020142566.tif 000010
【図９】
2020142566.tif 000011