(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-27
(45)【発行日】2024-09-04
(54)【発明の名称】制御装置、学習モデルの生成方法、学習モデル、コンピュータプログラム、および記憶媒体
(51)【国際特許分類】
B62K 25/04 20060101AFI20240828BHJP
B62J 1/00 20060101ALI20240828BHJP
B62J 1/08 20060101ALI20240828BHJP
B62J 99/00 20200101ALI20240828BHJP
G06N 20/00 20190101ALI20240828BHJP
【FI】
B62K25/04
B62J1/00 C
B62J1/08 D
B62J99/00
G06N20/00 130
(21)【出願番号】P 2019016109
(22)【出願日】2019-01-31
【審査請求日】2021-10-20
【審判番号】
【審判請求日】2023-05-15
(73)【特許権者】
【識別番号】000002439
【氏名又は名称】株式会社シマノ
(74)【代理人】
【識別番号】100114557
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】山本 貴士
(72)【発明者】
【氏名】吉田 文昭
【合議体】
【審判長】一ノ瀬 覚
【審判官】横溝 顕範
【審判官】小岩 智明
(56)【参考文献】
【文献】米国特許出願公開第2015/0197308(US,A1)
【文献】特開平6-202672(JP,A)
【文献】特開2011-68253(JP,A)
【文献】特開2014-69690(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B62K25/00-25/04
B62J11/08
G06N20/00
(57)【特許請求の範囲】
【請求項1】
人力駆動車の走行に関する前記人力駆動車の走行情報および前記人力駆動車の走行環境情
報を含む入力情報に応じて学習モデルによって出力される伸縮機構の制御に関する出力情報に基づいて前記伸縮機構を制御する制御部を備える、制御装置であって、
前記走行情報は、前記人力駆動車のクランクのケイデンス
、前記人力駆動車の荷重バランス、前記人力駆動車のギア比、前記人力駆動車のブレーキの操作量、ユーザの身体情報、のうちの少なくともいずれか1つを含み、
前記人力駆動車の走行環境情報は、車輪の接地状態
、および、天候、の少なくともいずれか1つを含む、制御装置。
【請求項2】
前記制御部は、前記伸縮機構の制御内容を、ユーザへ報知する報知部へ出力する、
請求項1に記載の制御装置。
【請求項3】
前記伸縮機構は、前記人力駆動車のサスペンションであり、
前記出力情報は、ストローク長、ロックアウト状態、バネ力、ダンピングレートの内の少なくともいずれか1つを含む、請求項1
又は2に記載の制御装置。
【請求項4】
前記サスペンションは、第1部材と、前記第1部材に対して移動可能に設けられる第2部材とを含み、
前記入力情報は、前記第1部材に取り付けられる第1加速度センサによって出力される第1加速度と、前記第2部材に取り付けられる第2加速度センサによって出力される第2加速度とを含む、請求項
3に記載の制御装置。
【請求項5】
前記学習モデルは、第1加速度と第2加速度との差が所定範囲になるように前記出力情報を出力する、請求項
4に記載の制御装置。
【請求項6】
前記伸縮機構は、前記人力駆動車のシートポストであり、
前記出力情報は、シート高さ、座面の傾き、前後位置、および左右位置、の内の少なくともいずれか1つを含む、請求項
1又は2に記載の制御装置。
【請求項7】
前記出力情報を評価する評価部を備え、
前記評価部の評価に基づいて前記学習モデルを更新する、請求項1~
6のいずれか一項に記載の制御装置。
【請求項8】
前記評価部は、前記制御部による前記伸縮機構の制御後の前記入力情報である制御後入力情報に基づいて前記出力情報を評価する、請求項
7に記載の制御装置。
【請求項9】
前記出力情報に関する指定操作を受け付ける操作部を備え、
前記制御後入力情報に基づいて前記学習モデルから出力される制御後出力情報と、前記指定操作との比較に基づいて前記出力情報を評価する、請求項
8に記載の制御装置。
【請求項10】
前記学習モデルは、前記人力駆動車が走行する走行コース別に準備されており、
走行コースの選択を受け付け、
前記制御部は、選択された走行コースに対応する前記学習モデルによって前記入力情報に応じて出力される前記出力情報に基づいて前記伸縮機構を制御する、請求項1~
9のいずれか一項に記載の制御装置。
【請求項11】
人力駆動車の走行に関する前記人力駆動車のクランクのケイデンス
、前記人力駆動車の荷重バランス、前記人力駆動車のギア比、前記人力駆動車のブレーキの操作量、ユーザの身体情報、のうちの少なくともいずれか1つを含む前記人力駆動車の走行情報、および、車輪の接地状態
、および、天候、の少なくともいずれか1つを含む前記人力駆動車の走行環境情
報を含む入力情報が入力された場合に、前記人力駆動車のコンポーネントの内、伸縮機構の制御に関する出力情報を出力するニューラルネットワークを用い、
前記人力駆動車の走行に関する入力情報を取得し、
取得した前記入力情報を前記ニューラルネットワークへ与えることによって出力された出力情報を特定し、
特定された前記出力情報に基づいて前記伸縮機構を制御した場合に、前記人力駆動車の走行状態の評価を向上させるように前記ニューラルネットワークの中間層におけるパラメータをコンピュータによって学習する、学習モデルの生成方法。
【請求項12】
人力駆動車の走行に関する前記人力駆動車のクランクのケイデンス
、前記人力駆動車の荷重バランス、前記人力駆動車のギア比、前記人力駆動車のブレーキの操作量、ユーザの身体情報、のうちの少なくともいずれか1つを含む前記人力駆動車の走行情報、および、車輪の接地状態
、および、天候、の少なくともいずれか1つを含む前記人力駆動車の走行環境情
報を含む入力情報を入力する入力層と、
前記人力駆動車のコンポーネントの内、伸縮機構を有する部分の制御に関する出力情報を出力する出力層と、
前記出力層から出力された前記出力情報に基づいて前記部分を制御した場合に、前記人力駆動車の走行状態の評価を向上させるように学習されたパラメータを有する中間層を備え、
前記入力情報が前記入力層に入力された場合に前記中間層で演算を行ない、前記部分の制御に関する前記出力情報を前記出力層から出力する、学習モデル。
【請求項13】
人力駆動車の走行に関する前記人力駆動車のクランクのケイデンス
、前記人力駆動車の荷重バランス、前記人力駆動車のギア比、前記人力駆動車の
ブレーキの操作量、ユーザの身体情報、のうちの少なくともいずれか1つを含む前記人力駆動車の走行情報、および、車輪の接地状態
、および、天候、の少なくともいずれか1つを含む前記人力駆動車の走行環境情
報を含む入力情報が入力された場合に、前記人力駆動車のコンポーネントの内、伸縮機構を有する部分の制御に関する出力情報を出力するニューラルネットワークを用い、
前記人力駆動車の走行に関する入力情報を取得し、
取得した前記入力情報を前記ニューラルネットワークへ与えることによって出力された出力情報を特定し、
特定された前記出力情報に基づいて前記部分を制御した場合に、前記人力駆動車の乗員の快適さの評価を向上させるように前記ニューラルネットワークの中間層におけるパラメータを学習する処理を、コンピュータに実行させるコンピュータプログラム。
【請求項14】
請求項
13に記載のコンピュータプログラムが記憶される記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、人力駆動車のコンポーネントの制御に関する制御装置、学習モデルの生成方法、学習モデル、コンピュータプログラム、および記憶媒体に関する。
【背景技術】
【0002】
自転車をはじめとして電動アシスト付き自転車、Eバイクと呼ばれる電動自転車等、少なくとも部分的に人力が用いられる人力駆動車がある。人力駆動車は、変速機、ブレーキ装置、シートポスト、またはサスペンション等である複数のコンポーネントを備える。変速機のみならず複数のコンポーネントそれぞれに対し、無線通信信号によって動作指令を送信する方法が提案されている(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
複数のコンポーネントの内、伸縮機構を含むシートポスト、サスペンションは、人力駆動車の乗り心地に大きく関連する振動に関わる。シートポストおよびサスペンションにて、振動の抑制、またはバネ係数を適切な係数とする制御によって、人力駆動車の乗り心地を向上させ、少ない力で効率的な運転を可能とする。乗り手が運転中にシートポストおよびサスペンションを適切に手動で制御するためには技量が必要である。人力駆動車の走行状況、または路面状況、目的に応じた最適な自動制御の実現が期待される。
【0005】
本発明の目的は、伸縮機構を含むコンポーネントを最適に自動制御するコンポーネントの制御装置、学習モデルの生成方法、学習モデル、コンピュータプログラム、および記憶媒体を提供することである。
【課題を解決するための手段】
【0006】
(1)本発明の第1側面に従う制御装置は、人力駆動車の走行に関する入力情報に応じて学習モデルによって出力される伸縮機構の制御に関する出力情報に基づいて前記伸縮機構を制御する制御部を備える。
このため、人力駆動車の走行に関する多様な入力情報に基づく様々なシチュエーションまたは走行環境に合わせた伸縮機構の自動制御が実現される。
【0007】
(2)本発明の第2側面に従う制御装置では、前記伸縮機構は、前記人力駆動車のサスペンションであり、前記出力情報は、ストローク長、ロックアウト状態、バネ力、ダンピングレートの内の少なくともいずれか1つを含む。
このため、人力駆動車の走行に関する多様な入力情報に基づく様々なシチュエーションまたは走行環境に合わせた前記人力駆動車のサスペンションの自動制御が実現される。
【0008】
(3)本発明の第3側面に従う制御装置では、サスペンションは、第1部材と、前記第1部材に対して移動可能に設けられる第2部材とを含み、前記入力情報は、前記第1部材に取り付けられる第1加速度センサによって出力される第1加速度と、前記第2部材に取り付けられる第2加速度センサによって出力される第2加速度とを含む。
このため、人力駆動車の走行に関し、可動部材に設けられた加速度センサから得られる振動に関する情報に基づく路面状況に合わせたサスペンションの自動制御が実現される。
【0009】
(4)本発明の第4側面に従う制御装置では、前記学習モデルは、第1加速度と第2加速度との差が所定範囲になるように前記出力情報を出力する。
このため、人力駆動車の走行に関し、路面状況に合わせつつも振動の吸収を適切な範囲内とするサスペンションの自動制御が実現される。
【0010】
(5)本発明の第5側面に従う制御装置は、前記伸縮機構は、前記人力駆動車のシートポストであり、前記出力情報は、シート高さ、座面の傾き、前後位置、および左右位置、の内の少なくともいずれか1つを含む。
このため、人力駆動車の走行に関する多様な入力情報に基づく様々なシチュエーションまたは走行環境に合わせた前記人力駆動車のシートポストの自動制御が実現される。
【0011】
(6)本発明の第6側面に従う制御装置は、前記入力情報は、前記人力駆動車の走行情報および前記人力駆動車の走行環境情報の少なくともいずれか1つを含む。
このため、人力駆動車の走行に関し、走行環境に合わせた伸縮機構の適切な自動制御が実現される。
【0012】
(7)本発明の第7側面に従う制御装置は、前記走行情報は、前記人力駆動車の走行速度、前記人力駆動車の加速度、前記人力駆動車の姿勢、前記人力駆動車のクランクのケイデンス、前記人力駆動車の駆動力、前記人力駆動車の荷重バランス、前記人力駆動車のギア比、前記人力駆動車のブレーキの操作量、ユーザの身体情報、のうちの少なくともいずれか1つを含む。
このため、人力駆動車の走行に関する多様な入力情報に基づく様々なシチュエーションまたは走行環境に合わせた伸縮機構の自動制御が実現される。
【0013】
(8)本発明の第8側面に従う制御装置は、前記人力駆動車の走行環境情報は、車輪の接地状態、路面状況、位置情報、および、天候、の少なくともいずれか1つを含む。
このため、人力駆動車の走行に関する多様な入力情報に基づく様々なシチュエーションまたは走行環境に合わせた伸縮機構の自動制御が実現される。
【0014】
(9)本発明の第9側面に従う制御装置は、前記制御部は伸縮機構の制御内容を、ユーザへ報知する報知部へ出力する。
このため、人力駆動車の走行に関する多様な入力情報に基づく様々なシチュエーションまたは走行環境に合わせた伸縮機構の制御内容をユーザに認識させ、違和感を生じさせない自動制御が実現される。
【0015】
(10)本発明の第10側面に従う制御装置は、前記出力情報を評価する評価部を備え、前記評価部の評価に基づいて前記学習モデルを更新する。
このため、人力駆動車の乗り手であるユーザの運転特性、嗜好に合った伸縮機構の自動制御が実現される。
【0016】
(11)本発明の第11側面に従う制御装置は、前記評価部は、前記制御部による前記伸縮機構の制御後の前記入力情報である制御後入力情報に基づいて前記出力情報を評価する。
このため、人力駆動車の乗り手であるユーザの運転特性、嗜好に合った伸縮機構の自動制御が実現される。
【0017】
(12)本発明の第12側面に従う制御装置は、前記出力情報に関する指定操作を受け付ける操作部を備え、前記制御後入力情報に基づいて前記学習モデルから出力される制御後出力情報と、前記指定操作との比較に基づいて前記出力情報を評価する。
このため、人力駆動車の乗り手であるユーザの運転特性、嗜好に基づく操作内容に合った伸縮機構の自動制御が実現される。
【0018】
(13)本発明の第13側面に従う制御装置は、前記学習モデルは、前記人力駆動車が走行する走行コース別に準備されており、走行コースの選択を受け付け、前記制御部は、選択された走行コースに対応する前記学習モデルによって前記入力情報に応じて出力される前記出力情報に基づいて前記伸縮機構を制御する。
このため、人力駆動車の走行コースに適合した多様な入力情報に基づく様々なシチュエーションまたは走行環境に応じた伸縮機構の自動制御が実現される。
【0019】
(14)本発明の第14側面に従う学習モデルの生成方法は、人力駆動車の走行に関する入力情報が入力された場合に、前記人力駆動車のコンポーネントの内、伸縮機構の制御に関する出力情報を出力するニューラルネットワークを用い、前記人力駆動車の走行に関する入力情報を取得し、取得した入力情報を前記ニューラルネットワークへ与えることによって出力された出力情報を特定し、特定された出力情報に基づいて前記伸縮機構を制御した場合に、前記人力駆動車の走行状態の評価を向上させるように前記ニューラルネットワークの中間層におけるパラメータをコンピュータによって学習する。
このため、人力駆動車の走行に関する多様な入力情報に基づき伸縮機構を制御するための出力情報を、様々なシチュエーションまたは走行環境に合わせて出力するように学習モデルが生成される。学習モデルから出力される出力情報を用いることにより、シチュエーションまたは走行環境に応じて適切な自動制御が実現される。
【0020】
(15)本発明の第15側面に従う学習モデルは、人力駆動車の走行に関する入力情報を入力する入力層と、前記人力駆動車のコンポーネントの内、伸縮機構を有する部分の制御に関する出力情報を出力する出力層と、前記出力層から出力された出力情報に基づいて前記部分を制御した場合に、前記人力駆動車の走行状態の評価を向上させるように学習されたパラメータを有する中間層を備え、前記入力情報が前記入力層に入力された場合に前記中間層で演算を行ない、前記部分の制御に関する出力情報を前記出力層から出力する。
このため、人力駆動車の走行に関する多様な入力情報に基づき伸縮機構を制御するための出力情報を出力する学習済みの学習モデルを用いてシチュエーションまたは走行環境に応じて適切な自動制御が実現される。
【0021】
(16)本発明の第16側面に従うコンピュータプログラムは、人力駆動車の走行に関する入力情報が入力された場合に、前記人力駆動車のコンポーネントの内、伸縮機構を有する部分の制御に関する出力情報を出力するニューラルネットワークを用い、前記人力駆動車の走行に関する入力情報を取得し、取得した入力情報を前記ニューラルネットワークへ与えることによって出力された出力情報を特定し、特定された出力情報に基づいて前記部分を制御した場合に、前記人力駆動車の乗員の快適さの評価を向上させるように前記ニューラルネットワークの中間層におけるパラメータを学習する処理を、コンピュータに実行させる。
このため、コンピュータにより人力駆動車の走行に関する多様な入力情報に基づき伸縮機構を制御するための出力情報を、様々なシチュエーションまたは走行環境に合わせて出力するように学習モデルが生成される。学習モデルから出力される出力情報を用いることにより、シチュエーションまたは走行環境に応じて適切な自動制御が実現される。
【0022】
(17)本発明の第17側面に従う記憶媒体は、前記(16)のコンピュータプログラムが記憶される。
このため、記憶媒体からコンピュータによって読み出されるコンピュータプログラムに基づいて前記コンピュータは、人力駆動車の走行に関する多様な入力情報に基づき伸縮機構を制御するための出力情報を、様々なシチュエーションまたは走行環境に合わせて出力するように学習モデルを生成することができる。
【発明の効果】
【0023】
本発明に関する人力駆動車の制御に関するデータの制御装置によれば、人力駆動車の走行に関する多様な入力情報に基づく様々なシチュエーションまたは走行環境に合わせた伸縮機構の自動制御を実現できる。
【図面の簡単な説明】
【0024】
【
図2】制御ユニットの内部構成を示すブロック図である。
【
図3】学習モデルの生成方法の一例を示すフローチャートである。
【
図4】第1例の学習モデルの生成方法を示すフローチャートである。
【
図6】第2例の学習モデルの生成方法を示すフローチャートである。
【
図8】制御ユニットによる学習モデルを用いた制御手順の一例を示すフローチャートである。
【
図9】第2実施形態の制御システムの構成を示すブロック図である。
【
図10】アプリプログラムに基づいて表示される画面例を示す図である。
【
図11】アプリプログラムに基づいて表示される画面例を示す図である。
【
図12】第2実施形態における制御部の再学習の処理手順の一例を示すフローチャートである。
【
図13】第3実施形態の制御システムの構成を示すブロック図である。
【
図14】第3実施形態における端末装置2による学習モデルを用いた制御手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0025】
以下の各実施形態に関する説明は、本発明に関する制御装置が取り得る形態の例示であり、その形態を制限することを意図していない。本発明に関する制御装置、学習モデルの生成方法、学習モデル、コンピュータプログラム、および記憶媒体は、各実施形態の変形例、および、相互に矛盾しない少なくとも2つの変形例が組み合わせられた形態等のように各実施形態とは異なる形態を取り得る。
【0026】
以下の各実施形態に関する説明において、前、後、前方、後方、左、右、横、上、および、下等の方向を表す言葉は、ユーザが人力駆動車のサドルに着座した状態における方向を基準として用いられる。
【0027】
(第1実施形態)
図1は、第1実施形態の制御装置が適用される人力駆動車Aの側面図である。人力駆動車Aは、電気エネルギーを用いて人力駆動車Aの推進をアシストするアシスト機構Cを含むロードバイクである。人力駆動車Aの構成は、任意に変更可能である。第1例では、人力駆動車Aはアシスト機構Cを含まない。第2例では、人力駆動車Aの種類は、シティサイクル、マウンテンバイク、または、クロスバイクである。第3例では、人力駆動車Aは、第1例および第2例の特徴を含む。
【0028】
人力駆動車Aは、本体A1、ハンドルバーA2、前輪A3、後輪A4、フロントフォークA5、シートA6、ディレーラハンガーA7を備える。人力駆動車Aは、駆動機構B、アシスト機構C、操作装置D、変速機E、シートポストF、サスペンションG、バッテリユニットH、および制御ユニット100を備える。人力駆動車Aは、速度センサS1、ケイデンスセンサS2、トルクセンサS3、角度センサS4、加速度センサS5、空気圧センサS6、および画像センサS7を含む。本体A1は、フレームA12を備える。
【0029】
駆動機構Bは、チェーンドライブ、ベルトドライブ、または、シャフトドライブによって人力駆動力を後輪A4へ伝達する。
図1ではチェーンドライブの駆動機構Bを例示している。駆動機構Bは、クランクB1、第1スプロケット組立体B2、第2スプロケット組立体B3、チェーンB4、および、一対のペダルB5を含む。
【0030】
クランクB1は、クランク軸B11、右クランクB12、および左クランクB13を含む。クランク軸B11は、フレームA12に設けられるアシスト機構Cに回転可能に支持される。右クランクB12および左クランクB13は、それぞれクランク軸B11に連結される。一対のペダルB5の一方は右クランクB12に回転可能に支持される。一対のペダルB5の他方は左クランクB13に回転可能に支持される。
【0031】
第1スプロケット組立体B2は、第1回転中心軸心を有し、クランク軸B11と一体回転可能に連結される。第1スプロケット組立体B2は、1または複数のスプロケットB22を含む。クランク軸B11の回転中心軸心と第1スプロケット組立体B2の回転中心軸心は同軸である。
【0032】
第2スプロケット組立体B3は、第2回転中心軸心を有し、後輪A4のハブ(図示略)に回転可能に支持される。第2スプロケット組立体B3は、1または複数のスプロケットB31を含む。
【0033】
チェーンB4は、第1スプロケット組立体B2のいずれかのスプロケットB22および第2スプロケット組立体B3のいずれかのスプロケットB31に巻き掛けられる。一対のペダルB5に加えられる人力駆動力によってクランクB1が前転すると、第1スプロケット組立体B2がクランクB1とともに前転し、第1スプロケット組立体B2の回転がチェーンB4を介して第2スプロケット組立体B3に伝達されることで後輪A4が前転する。
【0034】
アシスト機構Cは、人力駆動車Aの推進をアシストする。一例では、アシスト機構Cは、第1スプロケット組立体B2にトルクを伝達することによって人力駆動車Aの推進をアシストする。アシスト機構Cは電気モータを含む。アシスト機構Cは減速機を含んでいてもよい。アシスト機構Cは、人力駆動車Aの後輪A4に駆動力を伝達するチェーンB4を走行させる。アシスト機構Cは、チェーンB4の走行をアシストするための信号制御によって制御可能なコンポーネントの一部である。
【0035】
操作装置Dは、ユーザが操作する操作部D1を含む。操作部D1の一例は、1または複数のボタンである。操作装置Dは操作部D1にて、電動シートポストFの動作指定、電動サスペンションGの動作指定等、各種コンポーネントの制御について指定操作を受け付ける。他の例の操作部D1にて、アシスト機構Cのモード(省エネルギーモード、ハイパワーモード等)の切り替えを受け付けてよい。操作部D1は、ブレーキレバーである。操作装置Dは、ブレーキレバーの操作量を制御ユニット100へ出力する。左右のハンドルに設けられているブレーキレバーを左右に倒す都度に、変速機Eにおける変速段数または変速比を変更することができる。操作装置Dは、操作部D1の操作に応じた信号を送受信できるように、制御ユニット100または各コンポーネントと通信接続される。第1例では、操作装置Dは、通信線、または、PLC(Power Line Communication)が可能な電線によってコンポーネントと通信接続される。第2例では、操作装置Dは、無線通信が可能な無線通信ユニットによってコンポーネントと通信接続される。
【0036】
変速機Eは種々の形態を取り得る。第1例では、変速機Eは、第2スプロケット組立体B3とチェーンB4との連結の状態を変速する外装変速機である。第2例では、変速機Eは、第1スプロケット組立体B2とチェーンB4との連結の状態を変速する外装変速機である。第3例では、変速機Eは、内装変速機である。第3例では、変速機Eの可動部は、内装変速機のスリーブおよび爪の少なくとも一方を含む。第4例では、変速機Eは、無段変速機である。第4例では、変速機Eの可動部は、無段変速機のボールプラネタリー(遊星転動体)を含む。変速機Eは、変速段数を変更するための信号制御によって制御可能なコンポーネントの一部である。
【0037】
シートポストFは人力駆動車Aに含まれる伸縮機構の1つである。シートポストFは、フレームA12に対して移動可能に設けられたポスト本体F1と、ポスト本体F1の上端に設けられたヤグラF2とを含む。シートポストFは、動作パラメータとして、シート高さを設定することで制御可能なコンポーネントの一部である。シートポストFは、ポスト本体F1に対するアクチュエータF3を含む。シートポストFは第1例では、電動式シートポストである。第1例のシートポストFのアクチュエータF3は電動モータである。シート高さの設定値は、1つまたは複数である。シートポストFは、操作装置Dから送信される操作に応じた信号、または制御ユニット100から自動的に送信される信号に対応するシート高さの設定値に応じて、ポスト本体F1をフレームA12に対して昇降させる。ポスト本体F1の昇降によってシートA6のシート高さが調整される。シートポストFはポスト本体F1のフレームA12からの突出長を検知するセンサを用い、突出長がシート高さの設定値に対応する値となるように調整する。シートポストFは、ポストF本体F1の第1シリンダと第2シリンダとの間の相対的な直線移動量を検知するセンサを用いて、移動量がシート高さの設定値に対応する値となるように調整してもよい。シートポストFは第2例では、機械式シートポストである。第2例のシートポストFは、油圧式シートポスト、または、油圧および空気圧式シートポストを含む。第2例のシートポストFは、バネおよび空気の少なくとも一方の力で伸び、人力を加えることによって縮む。第2例のシートポストFでは、アクチュエータF3は油または空気の流路を開閉する電磁弁である。第2例のシートポストFは、操作装置Dまたは制御ユニット100から開放に対応する信号を受信すると、電磁弁を開く。電磁弁が開いている状態におけるシートポストFは、バネおよび空気の少なくとも一方の力で伸びようとする。電磁弁が閉じている状態では、ポスト本体F1のフレームA12からの突出長または直線移動量は変化しない。第2例のシートポストFは、開放に対応する信号を受信した場合に、所定時間電磁弁を開くか、あるいは、次に動作指令を受け取るまで電磁弁を開く。第2例のシートポストFは、ポスト本体F1のフレームA12からの突出長または直線移動量を検知するセンサを用い、突出長または直線移動量がシート高さの設定値に対応する値に達するまで電磁弁を開く構成でもよい。シートポストFは第3例では、電動モータと、油圧弁または気圧弁とを組み合わせた開閉機構を備えたシートポストであってよい。
【0038】
シートポストFのヤグラF2には、シートA6が取り付けられる。シートA6は座面A61および前後方向に沿うレールA62を含む。シートA6のレールA62がヤグラF2に設けられた前後方向に沿う溝に嵌められる。レールA62に対するヤグラF2の位置によってシートA6のポスト本体F2に対する前後位置が調整される。シートポストFは、アクチュエータF4を含む。アクチュエータF4は第1例では、レールA62をラックレールとしてレールA62に噛み合うようにヤグラF2に設けたギアを回転させる電動モータである。シートポストFは、動作パラメータとしてシートA6の前後位置を設定することで制御可能なコンポーネントの一部である。シートポストFは、シートA6のレールA62に対するヤグラF2の位置を、設定された前後位置に対応する位置に調整する。シートポストFは、ヤグラF2に左右方向の溝を設け、シートA6に左右方向に沿うレールを設けることで左右位置を制御可能な構成としてもよい。
【0039】
シートポストFのヤグラF2は、ポスト本体F1に対して、前後または左右について角度の調整が可能な状態で組み付けられている。シートポストFは、アクチュエータF5を含む。アクチュエータF5は電動モータである。シートポストFは、動作パラメータとして、シートA6の座面A61のポスト本体F1即ちフレームA12に対する傾きを制御することが可能なコンポーネントである。シートポストFは、シートA6の座面A61の傾きを、ポスト本体F1に対する角度を設定された傾きに調整する。
【0040】
シートA6の前後位置、左右位置および傾きの調整は、他の構成で実現してもよい。ヤグラF2と、ヤグラF2に対して回動自在に設けられたクランプとによってシートA6のレールA62を挟んでボルトおよびナットで固定する構成としてもよい。この構成の場合、アクチュエータF4またはアクチュエータF5は、クランプの回動角度、左右または前後の位置を制御する電動モータと、ボルトを締め、緩める電動モータである。
【0041】
サスペンションGは、人力駆動車Aに含まれる伸縮機構の1つである。サスペンションGは種々の形態をとり得る。サスペンションGは第1例ではフロントフォークA5に設けられ、前輪A3に加えられた衝撃を減衰するフロントサスペンションである。サスペンションGは、前輪A3に取り付けられる第1部材G1と、第1部材G1に対してバネまたはエアスプリングを介して移動可能に設けられる第2部材G2とを含む。第2部材G2は本体A1またはハンドルバーA2のライダー部に固定される。サスペンションGは、アクチュエータG3を含む。サスペンションGは、動作パラメータとして、ストローク長、ロックアウト状態、バネ力、ダンピングレートを設定することで制御することが可能なコンポーネントの一部である。サスペンションGは、例えば電動モータであるアクチュエータG3を駆動させることで、動作パラメータを変更することができる。サスペンションGは、後輪A4に加えられた衝撃を減衰するリアサスペンションであってもよい。リアサスペンションの場合、サスペンションGは、後輪A4に取り付けられシートステイ、またはチェーンステイに固定される第1部材と、フレームA12のシートチューブ、トップチューブまたはダウンチューブに対して固定される第2部材とを含む。第2部材G2は、第1部材に対してバネまたはエアスプリングを介して移動可能である。サスペンションGはシートポストFに設けられてもよい。サスペンションGは、フロントサスペンションおよびリアサスペンションであってもよい。サスペンションGは、油圧式、空気圧および油圧のハイブリッド式のサスペンションのいずれであってもよい。アクチュエータG3は油または空気の流路を開閉するバルブであってよい。サスペンションGは、操作装置Dから送信される操作に応じた信号、または制御ユニット100から自動的に送信される信号に応じて、ロックアウト状態と解除状態とを切り替える。サスペンションGはポンプおよびポンプからエアスプリングへの空気の供給を調整するバルブを備え、信号に応じてストローク長を複数の段階に変更可能であってもよい。ストローク長を変更するためにはアクチュエータG3はバルブを開閉させる電磁弁である。サスペンションGは、アクチュエータG3を駆動させることで信号に応じてバネ力またはダンピングレートを複数の段階に変更可能であってもよい。
【0042】
バネ力とはここでは、サスペンションGのバネとしての力強さを表し、例えばバネ定数等のバネ特性である。サスペンションGが油圧式または空気圧式の場合、その油圧、または空気圧に応じた非線形のバネ特性を有していてもよい。
【0043】
バッテリユニットHは、バッテリH1およびバッテリホルダH2を含む。バッテリH1は、1つ、または複数のバッテリセルを含む蓄電池である。バッテリホルダH2は、例えば、人力駆動車AのフレームA12に固定される。バッテリホルダH2は、フレームA12以外の自転車パーツに固定されてもよい。バッテリH1は、バッテリホルダH2に着脱可能である。バッテリH1は、バッテリホルダH2に取り付けられた場合に、アシスト機構C、変速機E、シートポストFのアクチュエータF3,F4,F5、サスペンションGのアクチュエータG1、および制御ユニット100に電気的に接続される。
【0044】
速度センサS1は、フロントフォークA5に固定される。速度センサS1は、人力駆動車Aの走行速度を示す信号を出力するセンサである。速度センサS1は例えば、前輪A3に設けられたマグネットと、フロントフォークA5に設けられてマグネットを検知する本体とを含み、回転速度を計測する。
【0045】
ケイデンスセンサS2は、右クランクB12および左クランクB13のいずれかのケイデンスを測定するように設けられる。ケイデンスセンサS2は、測定したケイデンスを示す信号を出力する。トルクセンサS3は、右クランクB12および左クランクB13に掛かるトルクをそれぞれ測定するように設けられる。トルクセンサS3は、右クランクB12および左クランクB13の少なくとも一方において測定されたトルクを示す信号を出力する。
【0046】
角度センサS4はフレームA12に固定される。角度センサS4は、人力駆動車Aのヨー、ロール、およびピッチを示す信号をそれぞれ出力するセンサである。角度センサS4は、三軸全てではなく少なくともいずれか1つを出力するものであってよい。角度センサS4は第1例ではジャイロセンサである。角度センサS4は第2例では回転角度を出力する方位センサである。
【0047】
加速度センサS5は、サスペンションGの第1部材G1に取り付けられた第1加速度センサS51と、第2部材G2に取り付けられた第2加速度センサS52とを含む。第1加速度センサS51および第2加速度センサS52は加速度を示す信号を出力する。
【0048】
空気圧センサS6は、前輪A3または後輪A4に設けられており、タイヤ空気圧に対応する値を示す信号を出力する。
【0049】
画像センサS7は、フレームA12に前方を向けて設けられる。第1例では、フロントフォークA5にライトと共に前方に向けて設けられる。第2例では、ハンドルバーA2に設けられる。画像センサS7は、カメラモジュールを用いてユーザの視界に対応する映像を出力する。画像センサS7は、進行方向に存在する物を撮影した映像信号を出力する。画像センサS7は、映像から道路、建物、他の走行車両を区別して認識処理する画像認識部と一体化され、認識結果を出力するモジュールであってもよい。
【0050】
図2は、制御ユニット100の内部構成を示すブロック図である。制御ユニット100は、制御部10、記憶部12、入出力部14を含む。制御ユニット100は、フレームA12のいずれかの箇所に設置されている。制御ユニット100は、ハンドルバーA2とフレームA12との間に設けられてもよい。第1例では
図1に示したように、第1スプロケット組立体B2とフレームA12との間に設けられる。第2例では、バッテリホルダH2に設けられる。
【0051】
制御部10は、CPU(Central Processing Unit )またはGPU(Graphics Processing Unit)を用いたプロセッサであり、内蔵するROM(Read Only Memory)およびRAM(Random Access Memory)等のメモリを用い、後述する学習アルゴリズムおよび人力駆動車Aに設けられるコンポーネントを制御して処理を実行する。制御部10は、内蔵クロックを用いて任意のタイミングで時間情報を取得する。
【0052】
記憶部12は、例えばフラッシュメモリ等の不揮発性メモリを含む。記憶部12は、学習プログラム1Pおよび制御プログラム2Pを記憶する。学習プログラム1Pは制御プログラム2Pに含まれてもよい。記憶部12は、制御部10の処理によって作成される学習モデル1Mを記憶する。学習プログラム1Pは、記録媒体18に記憶された学習プログラム8Pを読み出して記憶部12に複製されたものであってもよい。制御プログラム2Pは、記憶媒体19に記憶された制御プログラム9Pを読み出して記憶部12に複製されたものであってもよい。
【0053】
入出力部14は、人力駆動車Aに設けられたセンサ群S1-S7、操作装置D、制御対象のシートポストFのアクチュエータF3,F4,F5に接続される。入出力部14は、制御対象のサスペンションGのアクチュエータG3にも接続される。制御部10は入出力部14によって、速度センサS1から速度を示す信号を取得する。制御部10は入出力部14によってケイデンスセンサS2からケイデンスを示す信号を取得し、トルクセンサS3からトルクを示す信号を取得する。制御部10は入出力部14によって角度センサS4から、人力駆動車Aの姿勢、具体的にはヨー、ロール、またはピッチを示す信号を入力する。制御部10は入出力部14によって、第1加速度センサS51および第2加速度センサ52から、加速度を示す信号を取得する。制御部10は入出力部14によって、空気圧センサS6から、タイヤ空気圧に対応する値を示す信号を取得する。制御部10は入出力部14によって画像センサS7から、映像信号または映像信号に基づく認識結果を取得する。制御部10は、これらのセンサ群S1-S7から得られる情報を入力情報として処理する。制御部10は入出力部14によって、操作装置Dからの信号を入力する。
図2のブロック図では、入出力部14は、アクチュエータF3,F4,F5、およびアクチュエータG3に接続されるが、制御対象としないアクチュエータとは接続しなくてよい。
【0054】
制御部10は、入出力部14によって取得された人力駆動車の走行に関する入力情報を学習モデル1Mに与え、学習モデル1Mによって出力されるシートポストFまたはサスペンションG等の伸縮機構の制御に関する出力情報に基づいて伸縮機構を制御する。
【0055】
記憶部12に記憶される学習モデル1Mは予め、人力駆動車Aの走行試験環境下で以下のように生成される。第1段階では、人力駆動車Aを実際に走行させるのではなく、人力駆動車Aのモデルにおけるシミュレーションを実行することによって生成されてもよい。ユーザがシートポストFおよびサスペンションGを操作することが可能な人力駆動車Aを実際に走行させた際の人力駆動車Aの走行情報と、操作結果とを収集し、その収集された情報に基づいて学習されてもよい。学習モデル1Mは、制御対象であるシートポストFとサスペンションGとで別々に生成されてもよいし、両方の制御情報を出力するように生成されてもよい。
【0056】
図3は、学習モデル1Mの生成方法の一例を示すフローチャートである。制御部10は、学習プログラム1Pに基づいて以下に示す学習モデル1Mの生成方法を実行する。本実施形態において学習アルゴリズムは、ニューラルネットワーク(以下NN:Neural Network)を用いた強化学習(深層Q学習)である。学習方法は、教師ありの学習アルゴリズムでもよいし、時系列データを用いたリカレントニューラルネットワーク(Recurrent Neural Network)でもよい。
【0057】
制御部10は、入出力部14によって人力駆動車Aの走行に関する入力情報を取得する(ステップS101)。
【0058】
制御部10は、ステップS101で取得した入力情報をNNへ与え(ステップS103)、NNから出力された出力情報を特定する(ステップS105)。
【0059】
制御部10は、特定された出力情報に対する評価値を算出する(ステップS111)。走行状態の評価値は第1例では、ステップS105で特定された出力情報に基づく制御後に取得できる制御後入力情報に基づき導出される。走行状態の評価値は第2例では、ステップS105で特定された出力情報と、ユーザの実際の操作装置Dに対する指定操作との比較に基づき導出される。ステップS111は、第1実施形態における「評価部」に相当する。
【0060】
制御部10は、ステップS111にて算出された評価値が条件を満たすか否かを判断し(ステップS113)、評価値が条件を満たさないと判断された場合(S113:NO)、処理を次のステップS115へ進める。
【0061】
制御部10は、ステップS111で算出された評価値を例えば報酬として用い、出力された制御に関する情報に基づく走行状態の評価を向上させるようにNNの中間層におけるパラメータを更新させ、学習を進める(ステップS115)。学習方法の詳細は、強化学習における既知の方法、二重深層Q学習、AC(Actor-Critic)、A3C等の適切な方法を選択して用いるとよい。制御部10は、処理をステップS101へ戻し学習を続ける。
【0062】
ステップS113にて評価値が条件を満たすと判断された場合(S113:YES)、制御部10は学習処理を終了する。
【0063】
制御部10は、学習モデル1Mを教師ありの学習アルゴリズムで生成する場合、人力駆動車Aのモデルユーザが運転する場合に、センサ群S1-S7から取得できる入力情報と、モデルユーザの操作装置Dに対する操作内容とを取得して教師データとして用いる。入力情報をNNへ与えた場合に出力される出力情報がモデルユーザによる実際の操作内容と合致するようにNNにおけるパラメータを更新させ、学習を進める。
【0064】
図3のフローチャートに示した学習モデル1Mの生成方法を具体的に説明する。
図4は、第1例の学習モデル1Mの生成方法を示すフローチャートである。第1例では制御対象をサスペンションGとする。
図4のフローチャートに示す処理手順は、
図3のフローチャートに示した処理手順をサスペンションGの制御を目的として具体化した手順である。
【0065】
制御部10は入出力部14によってセンサ群S1-S7から取得できる情報の内、少なくとも第1加速度センサS51から第1加速度と、第2加速度センサS52から第2加速度とを取得する(ステップS121)。制御部10はステップS121において、センサ群S1-S7から取得できる走行速度、ケイデンス、ケイデンスおよびトルクから得られるパワー、ヨーピッチロールごとの姿勢を取得してもよい。制御部10はステップS121において、人力駆動車Aの変速機Eまたは操作装置Dから得られるギア比を取得してもよい。制御部10はステップS121において、操作装置Dから得られる人力駆動車Aのブレーキレバーの操作量を取得してもよい。
【0066】
制御部10は少なくとも第1加速度と第2加速度とを含む入力情報をNNへ与え(ステップS123)、NNからサスペンションGのストローク長、ロックアウト状態、バネ力、ダンピングレートの内の少なくともいずれか1つを含む出力情報を特定する(ステップS125)。
【0067】
第1例において制御部10は、ステップS125で特定した出力情報に基づく制御信号をサスペンションGのアクチュエータG3へ出力して制御し(ステップS127)、制御後の第1加速度および第2加速度を含む制御後入力情報を取得する(ステップS129)。制御部10は、制御後入力情報に基づいて評価値を算出する(ステップS131)。ステップS131において制御部10は、制御後入力情報として取得した第1加速度と第2加速度との差分を評価値として算出する。差分がより少ないほど評価が高い。差分を微小とすることは困難なので、差分が所定範囲内にあればよい。ステップS131において制御部10は、第1加速度を入力、第2加速度を出力とする伝達関数が最小となるように評価値を算出してもよい。ステップS131において制御部10は、第2加速度の振幅、またはパワー値を評価値として算出してもよい。振幅またはパワー値は少ないほど評価が高い。路面が不安定な状態である場合など、振幅が大きいほど評価が高い場合もある。第1加速度と第2加速度との差分、伝達関数が所定の範囲内に入っているか否かに応じて評価値が算出されるとよい。
【0068】
制御部10は、評価値として算出された差分が所定範囲内にあるという条件を満たすか否かを判断する(ステップS133)。ステップS133において制御部10は、フレームA12側の第2加速度の振幅またはパワー値が所定値未満であるという条件を満たすか否かを判断する。
【0069】
ステップS133で条件を満たさないと判断された場合(S133:NO)、制御部10はステップS131で算出された評価値を報酬として用い、走行状態の評価を向上させるようにNNの中間層におけるパラメータを更新させ、学習を進める(ステップS135)。ステップS135で制御部10は、例えば第2加速度の振幅が小さくなるようにパラメータを更新させる。
【0070】
ステップS133で条件を満たすと判断された場合(S133:YES)、制御部10は学習処理を終了させる。
【0071】
図4のフローチャートに示した手順によってフレームA12の振動が吸収されて快適となるようなサスペンションGの制御を学習する学習モデル1Mを生成することができる。
【0072】
制御部10はステップS121において入出力部14によって画像センサS7から得られる映像信号により、車輪の接地状態、路面状況、または天候のいずれか1つを含む走行環境情報を導出し、導出した走行環境情報を入力情報として用いてもよい。路面状況は例えば映像信号に基づいて、アスファルト等の滑らかな路面であるのか、山道等の凹凸の大きな路面であるのか等を分類した結果である。または路面状況は、濡れている、凍っている等の滑りやすい状況なのか否かを判別した結果であってもよい。制御部10は前輪A3および後輪A4の種類を取得し、また空気圧センサS6から得られる空気圧に基づいて車輪の接地状態を特定して入力情報として用いてもよい。ここで前輪A3および後輪A4の種類とは、大きさ、材料、太さ、および溝のパターンによって異なる種類(品番)である。種類は型番であってもよい。前輪A3または後輪A4の種類別に予め記憶してある空気圧と接地状態との対応関係に基づいて、制御部10は前輪A3または後輪A4の種類別に、接地状態を特定する。例えば制御部10は、太く固いマウンテンバイクのような前輪A3の場合と、細いレース用の前輪A3の場合とでは、空気圧が同様であっても接地状態を異なって特定することができる。
【0073】
図5は、第1例の学習モデル1Mの概要を示す図である。
図5を参照する具体例では、サスペンションGにおける制御に関する出力情報を出力する学習モデル1Mが説明される。学習モデル1Mは、人力駆動車Aの走行に関する入力情報を入力する入力層31と、人力駆動車Aのコンポーネントの内、伸縮機構を有するサスペンションGの制御に関する出力情報を出力する出力層32と、出力層32から出力された出力情報に基づいてサスペンションGを制御した場合に、人力駆動車Aの走行状態の評価を向上させるように学習されたパラメータを有する中間層33とを備える。入力層31に走行に関する入力情報が入力された場合、学習済みパラメータによって中間層33で演算が行なわれ、出力層32からサスペンションGの制御に関する出力情報が出力される。
【0074】
図5の具体例では入力層31には少なくとも、第1加速度センサS51から得られる第1加速度および第2加速度センサS52から得られる第2加速度が与えられる。入力層31には、ケイデンスセンサS2から得られるケイデンスが与えられてもよい。入力層31には、トルクおよびケイデンスを用いた演算により得られるパワーが与えられてもよい。
【0075】
入力層31にはそのほか、角度センサS4から得られる人力駆動車Aの姿勢のデータが入力されてもよい。姿勢のデータは、人力駆動車Aの傾きを示す情報である。傾きは、鉛直方向を軸とするヨー成分、人力駆動車Aの前後方向を軸とするロール成分、および左右方向を軸とするピッチ成分それぞれで表される。
【0076】
入力層31には、人力駆動車Aの荷重バランスが与えられてもよい。荷重バランスは、空気圧センサS6から得られる前輪A3および後輪A4夫々の圧力の比から制御部10が求めた数値であってもよい。荷重バランスは、ベクトルセンサ、ひずみゲージを用いて求められてもよいし、設計により、異なるタイプのセンサを組み合わせて求められてもよい。また荷重バランスは、走行試験環境下で前輪A3および後輪A4また、人力駆動車AのシートA6およびハンドルバーA2に圧電センサを設けて荷重バランスが前方寄りであるのか、後方寄りであるのかを判別した結果であってもよい。
【0077】
入力層31には、空気圧センサS6から得られる前輪A3または後輪A4の路面への接地状態を示す信号が入力されてもよい。接地状態を示す信号は、すなわち走行環境情報である。接地状態を示す信号は、空気圧が高いほどに小さい接地面積の大小を表す数値に対応する。接地状態を示す信号は、接地面積の大中小夫々を示す状態を表す信号であってもよい。走行環境情報として他には、画像センサS7から得られる映像信号に対する画像処理によって得られる路面状況を示す信号が入力層31へ入力されてもよい。路面状況を示す信号は例えば、オフロードか舗装道路かの判別結果、アップダウンの判別結果、スリップの有無等の路面状況を示す信号である。
【0078】
出力層32は、サスペンションGのバネ力を出力する。出力層32は具体的には、強中弱の3段階に分別されたバネ力それぞれの行動価値、すなわちどのようなバネ力とした場合に乗り心地を良好とさせるかを示す情報を出力する。制御部10は、出力情報の行動価値に基づいて、最も行動価値が高いバネ力を選択してサスペンションGへ出力することができる。出力層32から出力されるバネ力は、第2加速度にて測定される振動がより小さいものが高く評価される。
【0079】
強化学習が進むことにより、学習モデル1Mによって人力駆動車Aの走行状況・路面状況等に応じて乗り心地をよくするためのサスペンションGの制御情報が得られる。
【0080】
図6は、第2例の学習モデル1Mの生成方法を示すフローチャートである。第2例では制御対象をシートポストFとする。
図6のフローチャートに示す処理手順は、
図3のフローチャートに示した処理手順をシートポストFの制御を対象として具体化した手順である。
【0081】
制御部10は入出力部14によってセンサ群S1-S7から取得できる情報の内、少なくとも速度センサS1から走行速度と、ケイデンスと、ケイデンスおよびトルクから得られる駆動力とを取得する(ステップ141)。ステップS141において制御部10は、ヨーピッチロール毎の人力駆動車Aの姿勢を取得してもよい。制御部10はステップS141において、人力駆動車Aの変速機Eまたは操作装置Dから得られるギア比を取得してもよい。制御部10はステップS141において、操作装置Dから得られる人力駆動車Aのブレーキレバーの操作量を取得してもよい。
【0082】
制御部10は少なくとも走行速度と、ケイデンスまたは駆動力を含む入力情報をNNへ与え(ステップS143)、NNから出力されるシートポストFにおけるシートA6のシート高さ、座面A61の傾き、シートA6の前後位置、および左右位置、の内の少なくともいずれか1つを含む出力情報を特定する(ステップS145)。
【0083】
第2例においても制御部10は、ステップS145で特定した出力情報に基づく制御信号をシートポストFのアクチュエータF3,F4,F5へ出力して制御し(ステップS147)、制御後に例えばトルクを含む制御後入力情報を取得する(ステップS149)。制御部10は、制御後入力情報に基づいて評価値を算出する(ステップS151)。ステップS151において制御部10は、制御後入力情報としてトルクを取得し、トルクまたは駆動力を評価値として算出する。トルクまたは駆動力が少ないほどユーザは楽にペダリングしており評価が高い。
【0084】
制御部10は、ステップS151で算出されたトルクまたは駆動力が所定値未満であるという条件を満たすか否かを判断する(ステップS153)。
【0085】
ステップS153で条件を満たさないと判断された場合(S153:NO)、制御部10はステップS151で算出された評価値を報酬として用い、走行状態の評価を向上させるようにNNの中間層におけるパラメータを更新させ、学習を進める(ステップS155)。ステップS155で制御部10は、例えばトルクまたは駆動力が少なくなるようにパラメータを更新させる。
【0086】
ステップS153で条件を満たすと判断された場合(S153:NO)、制御部10は学習処理を終了させる。
【0087】
第2例において制御部10はステップS151において、ステップS147、S149を省略し、ステップS145で特定した出力情報と、ユーザの実際の操作装置Dに対する指定操作との比較に基づき、乖離度を評価値として算出してもよい。例えばユーザが実際に操作装置Dを操作してシートポストFのシート高さ、前後位置、左右位置を調整した場合、NNから出力される出力情報が実際の制御内容と合致するように学習を進めてもよい。この場合、操作装置Dの操作内容は教師データであって、学習は教師あり学習によって進められる。
【0088】
第2例では学習が進むことにより、学習モデル1Mによって人力駆動車Aをより楽にペダリングして運転するためのシートポストFの制御情報が得られる。走行速度、画像情報、傾斜、パワー等の情報に基づいた強化学習により、その状況において最適なサドル位置に自動調整される。
【0089】
第2例においても制御部10はステップS141において入出力部14によって画像センサS7から得られる映像信号により、車輪の接地状態、路面状況、または天候のいずれか1つを含む走行環境情報を導出し、導出した走行環境情報を入力情報として用いてもよい。路面状況は例えば映像信号に基づいて、アスファルト等の滑らかな路面であるのか、山道等の凹凸の大きな路面であるのか等を分類した結果である。または路面状況は、濡れている、凍っている等の滑りやすい状況なのか否かを判別した結果であってもよい。制御部10は前輪A3および後輪A4の種類を取得し、また空気圧センサS6から得られる空気圧に基づいて車輪の接地状態を特定して入力情報として用いてもよい。
【0090】
図7は、第2例の学習モデル1Mの概要を示す図である。
図7を参照する具体例では、シートポストFにおける制御に関する出力情報を出力する学習モデル1Mが説明される。学習モデル1Mは、人力駆動車Aの走行に関する入力情報を入力する入力層31と、人力駆動車Aのコンポーネントの内、伸縮機構を有するシートポストFの制御に関する出力情報を出力する出力層32と、出力層32から出力された出力情報に基づいてシートポストFを制御した場合に、人力駆動車Aの走行状態の評価を向上させるように学習されたパラメータを有する中間層33とを備える。入力層31に走行に関する入力情報が入力された場合、学習済みパラメータによって中間層33で演算が行なわれ、出力層32からシートポストFの制御に関する出力情報が出力される。
【0091】
図7の具体例では入力層31には、ケイデンスセンサS2から得られるケイデンスと、トルクセンサS3から得られるトルクが与えられる。入力層31には、トルクおよびケイデンスを用いた演算により得られるパワーが与えられてもよい。
【0092】
入力層31には、変速機Eまたは操作装置Dから得られるギア比が与えられてもよい。
【0093】
入力層31には、角度センサS4から得られる人力駆動車Aの姿勢のデータが入力されてもよい。姿勢のデータは、人力駆動車Aの傾きを示す情報である。傾きは、鉛直方向を軸とするヨー成分、人力駆動車Aの前後方向を軸とするロール成分、および左右方向を軸とするピッチ成分それぞれで表される。人力駆動車Aの姿勢を入力することによって、下り坂ではシートA6を低く、上り坂ではシートA6を高くするなどのシートポストFの制御を実現することが期待される。
【0094】
入力層31には、ブレーキレバーを操作部D1として含む操作装置Dから得られるブレーキの操作量が入力されるとよい。ブレーキの操作量が大きい場合にシートA6を自動的に低くしてより楽にペダリングできたり、停止する場合に安全に停車できたりすることが可能になる。
【0095】
入力層31には、画像センサS7から得られる映像信号が入力されてもよい。映像信号をそのまま入力するのではなく、映像信号に対する画像処理によって得られる路面状況を示す信号が入力層31へ入力されてもよい。路面状況を示す信号は、すなわち走行環境情報である。路面状況を示す信号は例えば、オフロードか舗装道路かの判別結果、アップダウンの判別結果、スリップの有無等の路面状況を示す信号である。進行方向に見える景色に対応する映像信号から、これから走行する路面のアップダウンが分類されることによって、シートA6を高くすべきか低くすべきか決定してシートポストFを制御することが可能になる。
【0096】
入力層31にはそのほか、速度センサS1から得られる人力駆動車Aの走行速度を示す信号が入力されてもよい。走行速度が所定速度以下で停車する状況では、自動的にシートA6が低くなるようにシートポストFを制御することが可能になる。
【0097】
出力層32は、シートポストFにおけるシートA6の高さを出力する。出力層32は具体的には、高中低の3段階に分別されたシートA6の高さ、即ちシートポストFの突出長または直線移動量それぞれの行動価値、すなわちどのような高さとした場合に乗り心地を良好とさせるかを示す情報を出力する。シートポストFの高さは、高中低の3段階に分別するのみならず、無段階調整の突出長または直線移動量そのもので制御されてもよい。2段階調整の製品であってもよい。出力情報の行動価値に基づいて、最も行動価値が高い高さを選択し、選択された高さに対応する突出長または直線移動量をシートポストFへ出力することができる。出力層32から出力されるシートA6の高さは、トルクまたはパワーがより小さく無駄に力が掛からないものが高く評価される。シート高さと突出長のみならず、シート高さと直線移動量との対応に基づいて、選択された高さに対応する直線移動量をシートポストFへ出力してもよい。
【0098】
出力層32は他の例では、シートポストFにおけるシートA6の前後位置または左右位置について、設定されている複数段階の位置それぞれに対する行動価値を出力してもよい。出力層32はほかに、シートA6の座面A61の傾き毎の行動価値を出力してもよい。
【0099】
強化学習が進むことにより、学習モデル1Mによって人力駆動車Aの走行状況・路面状況等に応じて乗り心地をよくするためのシートポストFの制御情報が得られる。
【0100】
図3,4,6のフローチャートに示した処理手順では、コントロール周期毎に報酬を与えて即時報酬によって学習を進めた。しかしながらこれに限らず、所定期間における第2加速度のパワー、トルク、またはケイデンスを用いて報酬を与えてもよい。学習モデル1Mまたは学習前のNNに入力される情報は、コントロール周期毎にセンサ群S1-S7から得られる数値、または情報とした。しかしながら所定期間に亘るセンサ群S1-S7から得られる数値、または情報を入力層31に与えてもよい。この場合、センサ群S1-S7からの出力をグラフ化した画像を入力層31に与えてもよい。
【0101】
制御ユニット100の制御部10は、上述したように作成された学習モデル1Mから出力される制御情報に基づいてコンポーネントを制御する。
図8は、制御ユニット100による学習モデル1Mを用いた制御手順の一例を示すフローチャートである。制御部10は、
図8のフローチャートに示す処理手順を、繰り返し実行する。所定のコントロール周期(例えば30ミリ秒)で実行してもよい。
【0102】
制御部10は、入出力部14によって人力駆動車Aの走行に関する入力情報を取得する(ステップS201)。ステップS201において制御部10は、入出力部14によって入力されるセンサ群S1-S7からの信号レベルをコントロール周期毎に参照し、制御部10の内部メモリまたは入出力部14が内蔵するメモリに一時記憶する。
【0103】
制御部10は、ステップS201で取得した入力情報を学習モデル1Mの入力層31へ与える(ステップS203)。制御部10はステップS203においてサスペンションG用の入力情報を選択して与え、シートポストF用の入力情報を選択して与える。
【0104】
制御部10は、学習モデル1Mから出力される制御対象のコンポーネントの制御に関する出力情報を特定する(ステップS205)。制御部10はステップS205において例えば、学習モデル1Mから出力されるシートポストFに関するシートA6の高さを出力情報として特定する。制御部10は他の例では、学習モデル1Mから出力されるサスペンションGのバネ力の強弱を出力情報として特定する。
【0105】
制御部10は、特定された出力情報に基づく制御対象の状態を参照する(ステップS207)。制御部10は、特定された出力情報が示す制御内容と、参照した状態との関係に基づき、制御信号の出力が必要であるか否かを判断する(ステップS209)。
【0106】
ステップS209で必要であると判断された場合(S209:YES)、制御部10は特定された制御に関する出力情報に基づいて制御信号を制御対象のコンポーネントへ出力し(ステップS211)、1回のコントロール周期における制御処理を終了する。
【0107】
ステップS209で不要であると判断された場合(S209:NO)、制御部10は特定された制御に関する出力情報に基づく制御信号を出力することなく処理を終了する。ステップS207およびステップS209の判断処理は必須ではない。
【0108】
制御部10は、シートポストFおよびサスペンションGそれぞれに対して
図8のフローチャートに示した処理を実行してもよいし、ステップS201は共通に行ない、ステップS203でコンポーネント毎に異なる情報を選択して与えてもよい。
【0109】
サスペンションGまたはシートポストFが自動的に制御される場合、制御ユニット100は、制御内容を乗り手であるユーザへ報知するために、スピーカを報知部として用い、制御部101はブザー音または案内音声等をスピーカへ出力するとよい。制御ユニット100は、制御内容をユーザへ報知するために、ディスプレイを報知部として有するサイクルコンピュータをハンドルバーA2に設け、サイクルコンピュータへ制御内容を出力してもよい。制御内容の報知によって、人力駆動車Aの走行に関するコンポーネントの制御内容をユーザに認識させることができ、違和感を生じさせない自動制御が実現される。
【0110】
(第2実施形態)
第2実施形態では、制御ユニット100に代替して、ユーザの端末装置にて学習モデル1Mを作成し、コンポーネントの制御情報を出力する処理を実行する。
図9は、第2実施形態の制御システム200の構成を示すブロック図である。制御システム200は、端末装置2と制御ユニット100とを含む。第2実施形態における制御ユニット100は、制御部11、記憶部12、入出力部14および通信部16を含む。第2実施形態における制御ユニット100の構成部の内、第1実施形態における制御ユニット100と共通する構成には同一の符号を付して詳細な説明を省略する。
【0111】
第2実施形態における制御ユニット100の制御部11は、CPUを用いたプロセッサであり、内蔵するROMおよびRAM等のメモリを用い、各構成部を制御して処理を実行する。制御部11は、第1実施形態における制御ユニット100の制御部10が行なった学習処理を実行しない。制御部11は、人力駆動車Aに設けられたセンサ群S1-S7から出力される信号を入出力部14によって入力し、通信部16を介して端末装置2へ送信する。制御部11は、操作装置Dにおける制御状態、操作装置Dから出力される操作信号を参照して通信部16を介して端末装置2へ送信する。制御部11は、操作装置Dから出力される操作信号に基づき、または端末装置2からの指示に基づき、制御信号を制御対象のシートポストFまたはサスペンションGへ与える。
【0112】
端末装置2は、ユーザが使用する可搬型の小型の通信端末装置である。端末装置2は第1例では、サイクルコンピュータである。端末装置2は第2例では、人力駆動車Aのコンポーネントと有線または無線で接続される所謂ジャンクションボックスと呼ばれる通信端末装置であってよい。端末装置2は、第3例では、スマートフォンである。端末装置2は第4例では、所謂スマートウォッチ等のウェアラブルデバイスである。サイクルコンピュータまたはスマートフォンである場合、人力駆動車AのハンドルバーA2にサイクルコンピュータ用またはスマートフォン用の保持部材を取り付けておき、この保持部材にサイクルコンピュータまたはスマートフォンを嵌めて用いてもよい(
図10参照)。
【0113】
端末装置2は、制御部201、記憶部203、表示部205、操作部207、音声入出力部209、GPS受信部211、第1通信部213および第2通信部215を備える。
【0114】
制御部201は、CPU、GPU等のプロセッサと、メモリ等を含む。制御部201は、プロセッサ、メモリ、記憶部203、第1通信部213、および第2通信部215を集積した1つのハードウェア(SoC:System On a Chip)として構成されていてもよい。制御部201は、記憶部203に記憶されているアプリプログラム20Pに基づき、人力駆動車Aの制御に関する出力情報の学習と、学習に基づくコンポーネント制御を実行する。
【0115】
記憶部203は、例えばフラッシュメモリ等の不揮発性メモリを含む。記憶部203は、学習プログラム10Pおよびアプリプログラム20Pを記憶する。学習プログラム10Pはアプリプログラム20Pに含まれてもよい。記憶部203は、制御部201の処理によって作成される学習モデル2Mを記憶する。記憶部203は、制御部201が参照するデータを記憶する。学習プログラム10Pは、記録媒体4に記憶された学習プログラム40Pを読み出して記憶部21に複製されたものであってもよい。アプリプログラム20Pは、記憶媒体5に記憶されたアプリプログラム50Pを読み出して記憶部203に複製されたものであってもよい。
【0116】
記憶部203は、地図情報を記憶している。地図情報には、アップダウンの情報、オフロードか舗装道路か否か等の情報が含まれている。制御部201はGPS受信部211によって得られる端末装置2の位置、すなわち人力駆動車Aの位置から記憶部203に記憶してある地図情報を参照し、地図情報に対応する人力駆動車Aの走行環境情報として、アップダウン、オフロードか否か等を特定することができる。
【0117】
表示部205は、液晶パネルまたは有機ELディスプレイ等のディスプレイ装置を含む。表示部205は、ユーザへシートポストFまたはサスペンションGに対する制御内容を報知する報知部である。
【0118】
操作部207は、ユーザの操作を受け付けるインタフェースであり、物理ボタン、ディスプレイ内蔵のタッチパネルデバイスを含む。操作部207は、物理ボタンまたはタッチパネルにて表示部205で表示している画面上における操作を受け付けることが可能である。
【0119】
音声入出力部209は、スピーカおよびマイクロフォン等を含む。音声入出力部209は、音声認識部217を備え、マイクロフォンにて入力音声から操作内容を認識して操作を受け付けることが可能である。音声入出力部209は、スピーカにて音声又はビープ音を発生させ、ユーザへシートポストFまたはサスペンションGに対する制御内容を報知する報知部である。音声入出力部209は、特定のパターンの振動を出力し、端末装置2全体、または表示部205の表面を振動させる機能を有してもよい。
【0120】
GPS受信部211は、GPS(Global Positioning System )信号を受信する通信ユニットである。GPS受信部211を備え、端末装置2の位置情報(経緯度情報)を求める。GPS受信部211はWi-Fi 、Bluetooth (登録商標)等の無線通信規格における電波の受信強度を用いて位置情報の算出を補助してもよい。
【0121】
第1通信部213は、制御ユニット100の通信部16に対応する通信モジュールである。第1通信部213は第1例では、USB通信ポートである。第1通信部213は第2例では、近距離無線モジュールである。
【0122】
第2通信部215は、公衆通信網を介して、または所定の移動通信規格によって他の通信機器(図示省略)との情報の送受信を実現する無線通信モジュールである。第2通信部215は、ネットワークカード、無線通信デバイスまたはキャリア通信用モジュールを用いる。制御部201は、第2通信部215によって他の通信機器から天候情報を取得することができる。制御部201は、GPS受信部211によって得られる端末装置2の位置、すなわち人力駆動車Aの位置情報に基づいて、人力駆動車Aの走行環境情報として天候の情報を取得することができる。
【0123】
第2実施形態において制御ユニット100は継続的に、入出力部14によって人力駆動車Aに設けられたセンサ群S1-S7から得られる入力情報を取得し、通信部16を介して端末装置2へ送信する。
【0124】
端末装置2の制御部201は、予め作成された学習モデル2Mを用いた自動制御モードと、学習モデル2Mを乗り手用に更新する再学習モードとで動作する。制御部201は自動制御モードの場合、入力情報をシートポストF用の学習モデル2Mに与えて出力されるシートポストFの制御に関する情報に基づいてシートポストFを制御する。制御部201は自動制御モードの場合、入力情報をサスペンションG用の学習モデル2Mに与えて出力されるサスペンションGの制御に関する情報に基づいてサスペンションGを制御する。予め作成される学習モデル2Mの作成方法は、第1実施形態にて説明したシートポストF用の学習モデル1Mの作成方法、または、サスペンションG用の学習モデル1Mの作成方法と同様であるから説明を省略する。
【0125】
自動制御モードにおける制御部201の処理は、
図8のフローチャートに示した第1実施形態における制御ユニット100における処理内容と同様であるから詳細な説明を省略する。
【0126】
以下、学習モデル2Mを評価に基づいて更新する再学習モードについて説明する。
図10および
図11は、アプリプログラム20Pに基づいて表示される画面例を示す図である。
図10に示す例では、端末装置2はサイクルコンピュータであってハンドルバーA2にユーザが表示部205を視認できるように取り付けられている。
図10では、アプリプログラム20Pに基づき、表示部205に表示されるメイン画面250が示されている。制御部201は、アプリプログラム20Pに基づいて表示部205にメイン画面250を表示させる。制御部201は、アプリプログラム20Pに基づいて制御ユニット100との間で通信接続を確立させる。メイン画面250には再学習モードおよび自動制御モードの選択ボタン252,254が含まれる。選択ボタン252が選択された場合、制御部201は再学習モードでの動作を開始する。選択ボタン254が選択された場合、制御部201は自動制御モードでの動作を開始する。
【0127】
図11は、再学習モードの選択ボタン252が選択された場合に表示される再学習モード画面256の内容例を示す。再学習モード画面256は、制御部201がシートポストFまたはサスペンションG等の伸縮機構を有するコンポーネントを制御した場合の制御内容を示すメッセージを表示するための報知部である。再学習モード画面256には、高評価ボタン258と低評価ボタン260とが含まれる。高評価ボタン258および低評価ボタン260は、高評価ボタン258および低評価ボタン260は評価部の第1例に相当する。制御部201は高評価ボタン258および低評価ボタン260が選択されたことを操作部207にて認識し、評価を受け付ける。
図11の例における高評価ボタン258は、学習モデル2Mに基づく制御が快適でなかった場合に選択される。制御部201は、高評価ボタン258および低評価ボタン260のいずれが選択されたかを認識して受け付けた評価内容を認識する。評価部として、低評価ボタン260のみが表示されていてもよい。
【0128】
第2例の評価部は、操作部D1に設けられている物理的なボタンであってもよい。操作部D1に特定の評価受付ボタンを設けてもよい。評価を受け付けるためのボタンが操作装置Dの近傍に別途設けられてもよい。
【0129】
第3例の評価部は、音声入出力部209の音声認識部217である。制御部201は、音声認識部217にてユーザの音声を認識して評価を受け付ける。制御部201は、認識した音声に基づいて制御が快適であったか否かを判別する。快適である場合に高評価とする。
【0130】
第4例の評価部は、カメラから得られる乗り手のユーザの顔を撮像した撮像画像から表情を特定し、表情に基づいて制御が快適であったか否かを判別し、快適であるか否かによって評価を受け付ける。
【0131】
図12は、第2実施形態における制御部201の再学習の処理手順の一例を示すフローチャートである。制御部201は、再学習モードの選択ボタン252が選択された場合、自動制御モードが選択されるまで、所定のコントロール周期(例えば30ミリ秒)で以下の処理を実行する。
図12のフローチャートでは、シートポストFを制御の対象とした手順を示す。
【0132】
制御部201は、制御ユニット100から得られる人力駆動車Aの走行に関する入力情報を第1通信部213から取得する(ステップS301)。ステップS301において制御部201は、制御ユニット100の制御部10がセンサS1-S7からの信号レベルをコントロール周期毎に参照し、制御部10の内部メモリまたは入出力部14が内蔵するメモリに一時記憶したものを取得する。
【0133】
制御部201は、ステップS301で取得した入力情報を学習モデル2Mへ与え(ステップS303)、学習モデル2Mから出力されるコンポーネントの制御に関する出力情報を特定する(ステップS305)。
【0134】
制御部201は、ステップS305で特定した出力情報に基づく制御指示を制御ユニット100へ出力する(ステップS307)、制御内容を表示部205に表示させてユーザへ報知する(ステップS309)。
【0135】
制御部201は、制御処理後の所定時間内でユーザの評価を受け付ける(ステップS311)。ステップS311において制御部201は
図10及び
図11に示したように、再学習モード画面256の高評価ボタン258および低評価ボタン260で評価を受け付ける。
【0136】
制御部201は、操作装置Dの操作部D1を用いた実際の操作内容を制御ユニット100から取得する(ステップS313)。制御部201は、ステップS313で取得した制御内容に対応するコンポーネントの制御に関する情報と、ステップS305で特定した出力情報との比較に基づき評価値を算出する(ステップS315)。制御部201は、ステップS311で取得した情報と、ステップS305で特定した出力情報との差分が少ない程に高い評価値を算出する。
【0137】
制御部201は、ステップS311で受け付けた評価内容およびステップS315で算出した評価値を、ステップS305で特定された出力情報に対する報酬として用い、ユーザからの評価を向上させるように学習モデル2Mの中間層におけるパラメータを更新し(ステップS317)、処理を終了する。
【0138】
ステップS313およびステップS315の処理は、ステップS311で受け付けた評価内容が低評価であった場合のみに行なわれるようにしてもよい。
【0139】
制御部201は、ユーザが自動制御モードの選択ボタン254を選択した場合、または、ステップS311で受け付ける評価が所定の割合以上で高評価である場合、または、ステップS315で算出される評価値が予め設定してある範囲内となった場合に再学習モードを終了する。制御部201は、再学習モードの選択ボタン252が選択されてから所定時間の間、
図12のフローチャートに示した手順を実行してもよい。
【0140】
第2実施形態にて説明した再学習の処理により、端末装置2および制御ユニット100の処理によって、人力駆動車Aの乗り手であるユーザの運転特性、嗜好に合った伸縮機構の自動制御が実現される。
【0141】
(第3実施形態)
第3実施形態における制御システム200の構成は、学習モデル2Mが、人力駆動車Aが走行する走行コース別に準備されている点を除いては、第2実施形態における構成と同様である。第3実施形態における制御システム200の構成の内、第1実施形態または第2実施形態における構成と共通する構成には同一の符号を付して詳細な説明を省略する。
【0142】
図13は、第3実施形態の制御システム200の構成を示すブロック図である。第3実施形態では、
図13に示すように、端末装置2の記憶部203に複数の学習モデル21M,22Mが記憶されている。複数の学習モデル21M,22Mは、異なる走行試験環境下で第1実施形態の
図3、
図4、または
図5のフローチャートに示した処理手順によって作成され、準備されたモデルである。異なる走行試験環境は第1例では、人力駆動車Aが走行する走行コースである。つまり学習モデル21M,22Mは、人力駆動車Aが走行する異なる走行コース別に準備されており、記憶部203に記憶されている。走行コースに限らず、異なる走行環境に応じたモデルを選択可能な構成としてもよい。ユーザは、端末装置2を用いていずれかの学習モデル2Mを外部サーバから選択して端末装置2にダウンロードし、記憶部203に記憶させることができる。制御部201は、ユーザからの操作を受け付け、記憶された学習モデル2Mに対応する名称の設定を受け付けることができてもよい。
【0143】
異なる走行コース別の学習モデル21M,22Mを適宜選択した自動制御について以下に説明する。
図14は、第3実施形態における端末装置2による学習モデル21M,22Mを用いた制御手順の一例を示すフローチャートである。
【0144】
制御部201は、走行コースの選択画面を表示部205に表示し(ステップS401)、選択画面にて走行コースの選択を受け付ける(ステップS403)。
図15は、選択画面の内容例を示す図である。選択画面262は、
図15に示すように複数の走行コースの選択ボタン264,266を含む。制御部201は、いずれの選択ボタン264,266が選択されたかを操作部207によって認識することができる。制御部201は、
図15で示したようにステップS403で選択された走行コースに対応する学習モデルを記憶部203に記憶してある複数の学習モデル21M,22Mから選択する(ステップS405)。
【0145】
制御部201は、制御ユニット100から得られる人力駆動車Aの走行に関する情報を第1通信部213から取得する(ステップS407)。
【0146】
制御部201は、ステップS407で取得した入力情報を、ステップS405で選択した学習モデル21Mまたは学習モデル22Mへ与え(ステップS409)、選択された学習モデル21Mまたは学習モデル22Mから出力されるコンポーネントの制御に関する出力情報を特定する(ステップS411)。
【0147】
制御部201は、特定された出力情報に基づく制御対象の状態を制御ユニット100から取得する(ステップS413)。制御部201は、特定された出力情報が示す制御内容と、参照した状態との関係に基づき、制御信号の出力が必要であるか否かを判断する(ステップS415)。
【0148】
ステップS415で必要であると判断された場合(S415:YES)、制御部201は、ステップS411で特定した出力情報に基づく制御指示を制御ユニット100へ送信する(ステップS417)。制御部201は、制御内容を表示部205に表示させてユーザへ報知し(ステップS419)、処理を終了する。
【0149】
ステップS415で不要であると判断された場合(S415:NO)、制御部201は特定された制御に関する出力情報に基づく制御指示を送信することなく処理を終了する。ステップS413およびステップS415の判断処理は必須ではない。
【0150】
このように、異なる走行環境別に学習モデル21M,22Mを学習することによって、走行コースに適合した多様な入力情報に基づく様々なシチュエーションまたは走行環境に応じた伸縮機構の自動制御が実現される。
【0151】
第3実施形態における端末装置2は、学習モデル21M,22Mについて、第2実施形態で示したように再学習を行なうとよい。
【0152】
このようにして、学習モデル1M、2Mまたは21M,22Mを用いることにより、制御ユニット100は、多数のセンサS1-S7により得られる走行情報の数値に対して閾値との比較に基づく判断を各々実行する必要がない。制御ユニット100は、多数のセンサS1-S7により得られる人力駆動車Aの走行に関する入力情報を総合的に自然に鑑みて制御する人間の知覚に準じた適切な自動制御が可能になる。
【符号の説明】
【0153】
100…制御ユニット(制御装置)、10…制御部、12…記憶部、1M…学習モデル、1P…学習プログラム、2P…制御プログラム、2…端末装置(制御装置)、201…制御部、203…記憶部、2M,21M,22M…学習モデル、10P…学習プログラム、20P…アプリプログラム、A12…フレーム、A2…ハンドルバー、A5…フロントフォーク、A6…シート、A61…座面、F…シートポスト、F1…ポスト本体、F2…ヤグラ、F3,F4,F5…アクチュエータ、G…サスペンション、G1…第1部材、G2…第2部材、G3…アクチュエータ、S1…速度センサ、S2…ケイデンスセンサ、S3…トルクセンサ、S4…角度センサ、S5…加速度センサ、S51…第1加速度センサ、S52…第2加速度センサ、S6…空気圧センサ、S7…画像センサ。