JP2023151357A - 人力駆動車用制御装置、学習方法、人力駆動車の制御方法、およびコンピュータプログラム - Google Patents
人力駆動車用制御装置、学習方法、人力駆動車の制御方法、およびコンピュータプログラム Download PDFInfo
- Publication number
- JP2023151357A JP2023151357A JP2022060934A JP2022060934A JP2023151357A JP 2023151357 A JP2023151357 A JP 2023151357A JP 2022060934 A JP2022060934 A JP 2022060934A JP 2022060934 A JP2022060934 A JP 2022060934A JP 2023151357 A JP2023151357 A JP 2023151357A
- Authority
- JP
- Japan
- Prior art keywords
- learning model
- human
- powered vehicle
- learning
- input information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000004590 computer program Methods 0.000 title claims abstract description 9
- 238000012545 processing Methods 0.000 claims abstract description 84
- 230000000295 complement effect Effects 0.000 claims abstract description 27
- 230000005540 biological transmission Effects 0.000 claims description 54
- 230000008569 process Effects 0.000 claims description 30
- 239000000725 suspension Substances 0.000 claims description 27
- 239000013589 supplement Substances 0.000 claims description 6
- 230000010365 information processing Effects 0.000 description 47
- 238000004891 communication Methods 0.000 description 43
- 238000010586 diagram Methods 0.000 description 17
- 230000001133 acceleration Effects 0.000 description 14
- 230000008859 change Effects 0.000 description 10
- 230000015654 memory Effects 0.000 description 8
- 230000001502 supplementing effect Effects 0.000 description 8
- 239000000284 extract Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000013016 damping Methods 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62J—CYCLE SADDLES OR SEATS; AUXILIARY DEVICES OR ACCESSORIES SPECIALLY ADAPTED TO CYCLES AND NOT OTHERWISE PROVIDED FOR, e.g. ARTICLE CARRIERS OR CYCLE PROTECTORS
- B62J45/00—Electrical equipment arrangements specially adapted for use as accessories on cycles, not otherwise provided for
- B62J45/40—Sensor arrangements; Mounting thereof
- B62J45/41—Sensor arrangements; Mounting thereof characterised by the type of sensor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W40/00—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
- B60W40/08—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to drivers or passengers
- B60W40/09—Driving style or behaviour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62J—CYCLE SADDLES OR SEATS; AUXILIARY DEVICES OR ACCESSORIES SPECIALLY ADAPTED TO CYCLES AND NOT OTHERWISE PROVIDED FOR, e.g. ARTICLE CARRIERS OR CYCLE PROTECTORS
- B62J45/00—Electrical equipment arrangements specially adapted for use as accessories on cycles, not otherwise provided for
- B62J45/20—Cycle computers as cycle accessories
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62J—CYCLE SADDLES OR SEATS; AUXILIARY DEVICES OR ACCESSORIES SPECIALLY ADAPTED TO CYCLES AND NOT OTHERWISE PROVIDED FOR, e.g. ARTICLE CARRIERS OR CYCLE PROTECTORS
- B62J50/00—Arrangements specially adapted for use on cycles not provided for in main groups B62J1/00 - B62J45/00
- B62J50/20—Information-providing devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62M—RIDER PROPULSION OF WHEELED VEHICLES OR SLEDGES; POWERED PROPULSION OF SLEDGES OR SINGLE-TRACK CYCLES; TRANSMISSIONS SPECIALLY ADAPTED FOR SUCH VEHICLES
- B62M25/00—Actuators for gearing speed-change mechanisms specially adapted for cycles
- B62M25/08—Actuators for gearing speed-change mechanisms specially adapted for cycles with electrical or fluid transmitting systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62M—RIDER PROPULSION OF WHEELED VEHICLES OR SLEDGES; POWERED PROPULSION OF SLEDGES OR SINGLE-TRACK CYCLES; TRANSMISSIONS SPECIALLY ADAPTED FOR SUCH VEHICLES
- B62M9/00—Transmissions characterised by use of an endless chain, belt, or the like
- B62M9/04—Transmissions characterised by use of an endless chain, belt, or the like of changeable ratio
- B62M9/06—Transmissions characterised by use of an endless chain, belt, or the like of changeable ratio using a single chain, belt, or the like
- B62M9/10—Transmissions characterised by use of an endless chain, belt, or the like of changeable ratio using a single chain, belt, or the like involving different-sized wheels, e.g. rear sprocket chain wheels selectively engaged by the chain, belt, or the like
- B62M9/12—Transmissions characterised by use of an endless chain, belt, or the like of changeable ratio using a single chain, belt, or the like involving different-sized wheels, e.g. rear sprocket chain wheels selectively engaged by the chain, belt, or the like the chain, belt, or the like being laterally shiftable, e.g. using a rear derailleur
- B62M9/121—Rear derailleurs
- B62M9/123—Rear derailleurs changing gears automatically
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62M—RIDER PROPULSION OF WHEELED VEHICLES OR SLEDGES; POWERED PROPULSION OF SLEDGES OR SINGLE-TRACK CYCLES; TRANSMISSIONS SPECIALLY ADAPTED FOR SUCH VEHICLES
- B62M9/00—Transmissions characterised by use of an endless chain, belt, or the like
- B62M9/04—Transmissions characterised by use of an endless chain, belt, or the like of changeable ratio
- B62M9/06—Transmissions characterised by use of an endless chain, belt, or the like of changeable ratio using a single chain, belt, or the like
- B62M9/10—Transmissions characterised by use of an endless chain, belt, or the like of changeable ratio using a single chain, belt, or the like involving different-sized wheels, e.g. rear sprocket chain wheels selectively engaged by the chain, belt, or the like
- B62M9/12—Transmissions characterised by use of an endless chain, belt, or the like of changeable ratio using a single chain, belt, or the like involving different-sized wheels, e.g. rear sprocket chain wheels selectively engaged by the chain, belt, or the like the chain, belt, or the like being laterally shiftable, e.g. using a rear derailleur
- B62M9/131—Front derailleurs
- B62M9/133—Front derailleurs changing gears automatically
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/096—Transfer learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/0985—Hyperparameter optimisation; Meta-learning; Learning-to-learn
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2300/00—Indexing codes relating to the type of vehicle
- B60W2300/36—Cycles; Motorcycles; Scooters
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62J—CYCLE SADDLES OR SEATS; AUXILIARY DEVICES OR ACCESSORIES SPECIALLY ADAPTED TO CYCLES AND NOT OTHERWISE PROVIDED FOR, e.g. ARTICLE CARRIERS OR CYCLE PROTECTORS
- B62J1/00—Saddles or other seats for cycles; Arrangement thereof; Component parts
- B62J1/08—Frames for saddles; Connections between saddle frames and seat pillars; Seat pillars
- B62J2001/085—Seat pillars having mechanisms to vary seat height, independently of the cycle frame
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62K—CYCLES; CYCLE FRAMES; CYCLE STEERING DEVICES; RIDER-OPERATED TERMINAL CONTROLS SPECIALLY ADAPTED FOR CYCLES; CYCLE AXLE SUSPENSIONS; CYCLE SIDE-CARS, FORECARS, OR THE LIKE
- B62K25/00—Axle suspensions
- B62K25/04—Axle suspensions for mounting axles resiliently on cycle frame or fork
- B62K2025/044—Suspensions with automatic adjustment
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62L—BRAKES SPECIALLY ADAPTED FOR CYCLES
- B62L1/00—Brakes; Arrangements thereof
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62M—RIDER PROPULSION OF WHEELED VEHICLES OR SLEDGES; POWERED PROPULSION OF SLEDGES OR SINGLE-TRACK CYCLES; TRANSMISSIONS SPECIALLY ADAPTED FOR SUCH VEHICLES
- B62M6/00—Rider propulsion of wheeled vehicles with additional source of power, e.g. combustion engine or electric motor
- B62M6/40—Rider propelled cycles with auxiliary electric motor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62M—RIDER PROPULSION OF WHEELED VEHICLES OR SLEDGES; POWERED PROPULSION OF SLEDGES OR SINGLE-TRACK CYCLES; TRANSMISSIONS SPECIALLY ADAPTED FOR SUCH VEHICLES
- B62M9/00—Transmissions characterised by use of an endless chain, belt, or the like
- B62M9/04—Transmissions characterised by use of an endless chain, belt, or the like of changeable ratio
- B62M9/06—Transmissions characterised by use of an endless chain, belt, or the like of changeable ratio using a single chain, belt, or the like
- B62M9/10—Transmissions characterised by use of an endless chain, belt, or the like of changeable ratio using a single chain, belt, or the like involving different-sized wheels, e.g. rear sprocket chain wheels selectively engaged by the chain, belt, or the like
- B62M9/12—Transmissions characterised by use of an endless chain, belt, or the like of changeable ratio using a single chain, belt, or the like involving different-sized wheels, e.g. rear sprocket chain wheels selectively engaged by the chain, belt, or the like the chain, belt, or the like being laterally shiftable, e.g. using a rear derailleur
- B62M9/121—Rear derailleurs
- B62M9/122—Rear derailleurs electrically or fluid actuated; Controls thereof
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62M—RIDER PROPULSION OF WHEELED VEHICLES OR SLEDGES; POWERED PROPULSION OF SLEDGES OR SINGLE-TRACK CYCLES; TRANSMISSIONS SPECIALLY ADAPTED FOR SUCH VEHICLES
- B62M9/00—Transmissions characterised by use of an endless chain, belt, or the like
- B62M9/04—Transmissions characterised by use of an endless chain, belt, or the like of changeable ratio
- B62M9/06—Transmissions characterised by use of an endless chain, belt, or the like of changeable ratio using a single chain, belt, or the like
- B62M9/10—Transmissions characterised by use of an endless chain, belt, or the like of changeable ratio using a single chain, belt, or the like involving different-sized wheels, e.g. rear sprocket chain wheels selectively engaged by the chain, belt, or the like
- B62M9/12—Transmissions characterised by use of an endless chain, belt, or the like of changeable ratio using a single chain, belt, or the like involving different-sized wheels, e.g. rear sprocket chain wheels selectively engaged by the chain, belt, or the like the chain, belt, or the like being laterally shiftable, e.g. using a rear derailleur
- B62M9/131—Front derailleurs
- B62M9/132—Front derailleurs electrically or fluid actuated; Controls thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/098—Distributed learning, e.g. federated learning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Mechanical Engineering (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Transportation (AREA)
- Combustion & Propulsion (AREA)
- Chemical & Material Sciences (AREA)
- Automation & Control Theory (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
- Feedback Control In General (AREA)
- Electric Propulsion And Braking For Vehicles (AREA)
Abstract
【課題】自動制御に用いるモデルの学習に要する時間を短縮し、未学習のシチュエーションにおいても自動制御を実現する人力駆動車用制御装置、学習方法、人力駆動車の制御方法、およびコンピュータプログラムを提供する。【解決手段】人力駆動車用制御装置は、人力駆動車の走行に関する入力情報を取得する取得部と、取得した入力情報に基づき、前記人力駆動車に搭載されているデバイスの制御に関する出力情報を出力するように学習される第1学習モデルを記憶する記憶部と、前記第1学習モデルに前記入力情報を入力して得られる出力情報に基づき決定した制御データによって前記デバイスを制御する制御部と、前記人力駆動車、および、前記人力駆動車のライダの少なくとも一方が異なる人力駆動車における入力情報によって学習された第2学習モデルを用いて前記記憶部の第1学習モデルを補完する処理を実行する補完処理部とを備える。【選択図】図7
Description
本発明は、人力駆動車用制御装置、学習方法、人力駆動車の制御方法、およびコンピュータプログラムに関する。
人力駆動車の電装化が進み、変速機、制動装置、アシスト装置を含む搭載デバイスの自動制御が実現されている。人力駆動車に設けられた速度センサ、ケイデンスセンサ、トルクセンサ、およびカメラの内の少なくとも1つから得られる情報を入力した場合に、搭載デバイスの制御に関する情報を出力するように、深層学習によって学習されるモデルを用いることが提案されている(特許文献1等)。
深層学習により人力駆動車の自動制御を実現することによって、ライダの身体的特徴、ライダの嗜好等、ライダ個々に自動制御を最適化することができる。
本発明の目的は、自動制御に用いるモデルの学習に要する時間を短縮し、未学習のシチュエーションにおいても自動制御を実現する人力駆動車用制御装置、学習方法、人力駆動車の制御方法、およびコンピュータプログラムを提供することである。
(1)本発明の第1側面に従う人力駆動車用制御装置は、人力駆動車の走行に関する入力情報を取得する取得部と、取得した入力情報に基づき、前記人力駆動車に搭載されているデバイスの制御に関する出力情報を出力するように学習される第1学習モデルを記憶する記憶部と、前記第1学習モデルに前記入力情報を入力して得られる出力情報に基づき決定した制御データによって前記デバイスを制御する制御部と、前記人力駆動車、および、前記人力駆動車のライダの少なくとも一方が異なる人力駆動車における入力情報によって学習された第2学習モデルを用いて前記記憶部の第1学習モデルを補完する処理を実行する補完処理部とを備える。
上記第1側面の人力駆動車用制御装置によれば、デバイスの制御に用いる第1学習モデルは、他の第2学習モデルを用いて補完される。人力駆動車およびライダの少なくともいずれか一方について個々に学習する場合、未走行のシチュエーションにおける学習は実施されない。他の第2学習モデルを用いて第1学習モデルを補完することにより、未学習の走行シチュエーションにおける入力情報に対しての学習の時間を短縮し、自動制御自体も可能になる。
(2)本発明の第2側面に従う人力駆動車用制御装置は、上記第1側面の人力駆動車用制御装置において、前記補完処理部は、前記記憶部の第1学習モデルの少なくとも一部を前記第2学習モデルによって更新する。
上記第2側面の人力駆動車用制御装置によれば、他の第2学習モデルを用いた補完により、未学習の走行シチュエーションにおける入力情報に対しての学習の時間を短縮し、自動制御自体も可能になる。
(3)本発明の第3側面に従う人力駆動車用制御装置は、上記第1側面の人力駆動車用制御装置において、前記補完処理部は、前記取得部によって取得した入力情報と、前記入力情報を前記第2学習モデルに入力した場合に出力される出力情報とを学習データとして前記第1学習モデルを学習する。
上記第3側面の人力駆動車用制御装置によれば、他の第2学習モデルから出力される出力情報を用いて学習する補完により、未学習の走行シチュエーションにおける入力情報に対しての学習の時間を短縮し、自動制御自体も可能になる。
(4)本発明の第4側面に従う人力駆動車用制御装置は、上記第1側面から第3側面のいずれか1つの人力駆動車用制御装置において、前記第1学習モデルは、互いに異なる複数の走行シチュエーションにおいて前記取得部により取得された入力情報で学習されており、前記補完処理部は、前記第1学習モデルが学習済みの走行シチュエーションとは異なる未学習の走行シチュエーションであって、第2学習モデルが学習済みの走行シチュエーションについて前記第2学習モデルを用い、前記第1学習モデルを補完する。
上記第4側面の人力駆動車用制御装置によれば、走行シチュエーション別に補完される。未学習の走行シチュエーションにおける入力情報に対しての学習の時間を短縮し、自動制御自体も可能になる。
(5)本発明の第5側面に従う人力駆動車用制御装置は、上記第1側面から第3側面のいずれか1つの人力駆動車用制御装置において、前記第1学習モデルは、走行シチュエーション別に記憶された複数の学習モデルを含み、前記補完処理部は、前記複数の学習モデルのうち、前記第1学習モデルが学習済みの走行シチュエーションとは異なる未学習の走行シチュエーションに対応する学習モデルとして、前記未学習の走行シチュエーションを学習済みの第2学習モデルの一部を用いる。
上記第5側面の人力駆動車用制御装置によれば、未学習のシチュエーションの学習モデルを第1学習モデルの学習モデルとして記憶することにより、入力情報に対しての学習の時間を短縮し、自動制御自体も可能になる。
(6)本発明の第6側面に従う人力駆動車用制御装置は、上記第4側面または第5側面の人力駆動車用制御装置において、前記走行シチュエーションは、オンロード、オフロード、および市街地の少なくとも1つに区別される。
上記第6側面の人力駆動車用制御装置によれば、他の第2学習モデルを用いた補完により、オンロード、オフロード、および市街地のうち、未学習の走行シチュエーションにおける入力情報に対しての学習の時間を短縮し、自動制御自体も可能になる。
(7)本発明の第7側面に従う人力駆動車用制御装置は、上記第4側面から第6側面のいずれか1つの人力駆動車用制御装置において、前記走行シチュエーションは、上り、平坦、および下りの少なくとも1つに区別される。
上記第7側面の人力駆動車用制御装置によれば、他の第2学習モデルを用いた補完により、上り、平坦、および下りのうち、未学習の走行シチュエーションにおける入力情報に対しての学習の時間を短縮し、自動制御自体も可能になる。
(8)本発明の第8側面に従う人力駆動車用制御装置は、上記第1側面から第7側面のいずれか1つの人力駆動車用制御装置において、前記補完処理部は、同一の入力情報を入力した場合に出力される出力情報が、前記第1学習モデルに入力した場合に出力される出力情報と類似する第2学習モデルを用いる。
上記第8側面の人力駆動車用制御装置によれば、類似する他の第2学習モデルを用いた補完により、未学習の走行シチュエーションにおける入力情報に対しての学習の時間を短縮し、自動制御自体も可能になる。
(9)本発明の第9側面に従う人力駆動車用制御装置は、上記第8側面の人力駆動車用制御装置において、前記第1学習モデルは、互いに異なる複数の走行シチュエーションにおいて前記取得部により取得された入力情報で学習されており、前記補完処理部は、複数の第2学習モデルのうち、前記第1学習モデルが学習済みの走行シチュエーションにおける入力情報を入力した場合に出力される出力情報が、前記第1学習モデルに前記入力情報を入力した場合に出力される出力情報と類似する第2学習モデルを用いる。
上記第9側面の人力駆動車用制御装置によれば、類似する他の第2学習モデルを用いた補完により、オンロード、オフロード、および市街地のうち、未学習の走行シチュエーションにおける入力情報に対しての学習の時間を短縮し、自動制御自体も可能になる。
(10)本発明の第10側面に従う人力駆動車用制御装置は、上記第8側面の人力駆動車用制御装置において、前記第1学習モデルおよび第2学習モデルは、走行シチュエーション別に記憶された複数の学習モデルを含み、前記補完処理部は、複数の第2学習モデルのうち、前記第1学習モデルが学習済みの走行シチュエーションにおける入力情報を入力した場合に出力される出力情報が、前記第1学習モデルに前記入力情報を入力した場合に出力される出力情報と類似する第2学習モデルを用い、前記第2学習モデルに含まれる複数の学習モデルのうち、前記学習済みの走行シチュエーションとは異なる未学習の走行シチュエーションに対応する学習モデルを取得する。
上記第10側面の人力駆動車用制御装置によれば、他の第2学習モデルに含まれる学習モデルを第1学習モデルの学習モデルとする補完により、未学習の走行シチュエーションにおける入力情報に対しての学習の時間を短縮し、自動制御自体も可能になる。
(11)本発明の第11側面に従う人力駆動車用制御装置は、上記第1側面から第7側面のいずれか1つの人力駆動車用制御装置において、前記補完処理部は、同一の入力情報に基づいて決定される制御データが、類似する他の人力駆動車用制御装置にて使用されている第2学習モデルを用いる。
上記第11側面の人力駆動車用制御装置によれば、類似する制御データを出力する他の第2学習モデルを用いた補完により、未学習の走行シチュエーションにおける入力情報に対しての学習の時間を短縮し、自動制御自体も可能になる。
(12)本発明の第12側面に従う人力駆動車用制御装置は、上記第11側面の人力駆動車用制御装置において、前記第1学習モデルは、互いに異なる複数の走行シチュエーションにおいて前記取得部により取得された入力情報で学習されており、前記補完処理部は、複数の第2学習モデルのうち、前記第1学習モデルで学習済みの走行シチュエーションの入力情報を入力した場合の出力情報に基づき決定される制御データが、前記第1学習モデルに前記入力情報を入力した場合の出力情報に基づき決定される制御データと類似する第2モデルを用いる。
上記第12側面の人力駆動車用制御装置によれば、類似する制御データを出力する他の第2学習モデルを用いた補完により、未学習の走行シチュエーションにおける入力情報に対しての学習の時間を短縮し、自動制御自体も可能になる。
(13)本発明の第13側面に従う人力駆動車用制御装置は、上記第11側面の人力駆動車用制御装置において、前記第1学習モデルおよび第2学習モデルは、走行シチュエーション別に記憶された複数の学習モデルを含み、前記補完処理部は、複数の第2学習モデルのうち、前記第1学習モデルで学習済みの走行シチュエーションの入力情報を入力した場合の出力情報に基づき決定される制御データが、前記第1学習モデルに前記入力情報を入力した場合の出力情報に基づき決定される制御データと類似する第2学習モデルを用い、前記第2学習モデルに含まれる複数の学習モデルのうち、前記学習済みの走行シチュエーションとは異なる未学習の走行シチュエーションに対する学習モデルを取得する。
上記第13側面の人力駆動車用制御装置によれば、類似する制御データを出力する他の第2学習モデルに含まれる学習モデルを第1学習モデルの学習モデルとして記憶する補完により、未学習の走行シチュエーションにおける入力情報に対しての学習の時間を短縮し、自動制御自体も可能になる。
(14)本発明の第14側面に従う人力駆動車用制御装置は、上記第1側面から第7側面のいずれか1つの人力駆動車用制御装置において、前記補完処理部は、複数の第2学習モデルのうち、前記人力駆動車とタイプおよびサイズの少なくとも1つが、同一または類似する他の人力駆動車における入力情報で学習された第2学習モデルを用いる。
上記第14側面の人力駆動車用制御装置によれば、人力駆動車のタイプおよびサイズが類似する他の第2学習モデルを用いた補完により、未学習の走行シチュエーションにおける入力情報に対しての学習の時間を短縮し、自動制御自体も可能になる。
(15)本発明の第15側面に従う人力駆動車用制御装置は、上記第1側面から第7側面のいずれか1つの人力駆動車用制御装置において、前記補完処理部は、複数の第2学習モデルのうち、前記デバイスと同一または類似する種別および製造者のデバイスを搭載している他の人力駆動車における入力情報で学習された第2学習モデルを用いる。
上記第15側面の人力駆動車用制御装置によれば、搭載されているデバイスが同一または類似する人力駆動車の第2学習モデルを用いた補完により、未学習の走行シチュエーションにおける入力情報に対しての学習の時間を短縮し、自動制御自体も可能になる。
(16)本発明の第16側面に従う人力駆動車用制御装置は、上記第15側面の人力駆動車用制御装置において、前記デバイスは、変速装置、サスペンション、シートポスト、制動装置、およびアシスト装置の少なくとも1つの種別に識別される。
上記第16側面の人力駆動車用制御装置によれば、搭載されている変速装置、サスペンション、シートポスト、制動装置、およびアシスト装置が同一または類似する人力駆動車の第2学習モデルを用いた補完により、学習の時間を短縮し、自動制御自体も可能になる。
(17)本発明の第17側面に従う人力駆動車用制御装置は、上記第1側面から第7側面のいずれか1つの人力駆動車用制御装置において、前記補完処理部は、複数の第2学習モデルのうち、前記人力駆動車のライダと同一または類似するタイプのライダの人力駆動車における入力情報で学習された第2学習モデルを用いる。
上記第17側面の人力駆動車用制御装置によれば、ライダのタイプが同一または類似する人力駆動車で学習された他の第2学習モデルを用いた補完により、未学習の走行シチュエーションにおける入力情報に対しての学習の時間を短縮し、自動制御自体も可能になる。
(18)本発明の第18側面に従う人力駆動車用制御装置は、上記第1側面から第17側面のいずれか1つの人力駆動車用制御装置において、前記記憶部に記憶されている第1学習モデルを、他へ送信する。
上記第18側面の人力駆動車用制御装置によれば、各人力駆動車で学習された第1学習モデルが送信され、他の人力駆動車における第1学習モデルの補完に利用可能となる。
(19)本発明の第19側面に従う人力駆動車用制御装置は、上記第1側面から第18側面のいずれか1つの人力駆動車用制御装置において、前記第2学習モデルは、他の複数の人力駆動車で学習された複数のモデルの重みおよびバイアスの少なくとも一方を含むパラメータを統計処理して得られるモデルである。
上記第19側面の人力駆動車用制御装置によれば、各人力駆動車で学習された第1学習モデルの重みおよびバイアスの少なくとも一方を含むパラメータを統計処理して得られるモデルが、他の人力駆動車における第1学習モデルの補完に利用可能となる。
(20)本発明の第20側面に従う学習方法は、人力駆動車に搭載されるコンピュータが、前記人力駆動車の走行に関する入力情報に基づき、前記人力駆動車に搭載されているデバイスの制御に関する出力情報を出力するように学習される第1学習モデルに対し、前記人力駆動車、および、前記人力駆動車のライダの少なくとも一方が異なる人力駆動車における入力情報によって学習された第2学習モデルを外部から選択し、選択した第2学習モデルを用いて、前記第1学習モデルを補完する処理を実行する。
上記第20側面の学習方法によれば、他の第2学習モデルを用いて第1学習モデルを補完することにより、未学習の走行シチュエーションにおける入力情報に対しての学習の時間を短縮し、自動制御自体も可能になる。
(21)本発明の第21側面に従う人力駆動車の制御方法は、人力駆動車に搭載されるコンピュータが、前記人力駆動車の走行に関する入力情報に基づき、前記人力駆動車に搭載されているデバイスの制御に関する出力情報を出力するように学習される第1学習モデルに対し、前記人力駆動車、および、前記人力駆動車のライダの少なくとも一方が異なる人力駆動車における入力情報によって学習された第2学習モデルを外部から選択し、選択した第2学習モデルを用いて、前記第1学習モデルを補完する処理を実行し、補完語の前記第1学習モデルに、前記入力情報を入力して得られる出力情報に基づき制御データを決定し、決定した制御データによって前記デバイスを制御する。
上記第21側面の人力駆動車の制御方法によれば、他の第2学習モデルを用いて第1学習モデルを補完することにより、未学習の走行シチュエーションにおける入力情報に対しての学習の時間を短縮し、自動制御自体も可能になる。
(22)本発明の第22側面に従うコンピュータプログラムは、人力駆動車に搭載されるコンピュータが、前記人力駆動車の走行に関する入力情報に基づき、前記人力駆動車に搭載されているデバイスの制御に関する出力情報を出力するように学習される第1学習モデルに対し、前記人力駆動車、および、前記人力駆動車のライダの少なくとも一方が異なる人力駆動車における入力情報によって学習された第2学習モデルを外部から選択し、選択した第2学習モデルを用いて、前記第1学習モデルを補完する処理を実行する、処理を実行させる。
上記第22側面のコンピュータプログラムによれば、他の第2学習モデルを用いて第1学習モデルを補完することにより、未学習の走行シチュエーションにおける入力情報に対しての学習の時間を短縮し、自動制御自体も可能になる。
本発明に関する人力駆動車用制御装置、学習方法、人力駆動車の制御方法、およびコンピュータプログラムによれば、自動制御に用いるモデルの学習に要する時間を短縮し、未学習のシチュエーションにおいても自動制御を実現できる。
以下の各実施形態に関する説明は、本発明に関する人力駆動車用制御装置、学習方法、人力駆動車の制御方法、およびコンピュータプログラムが取り得る形態の例示であり、その形態を制限することを意図していない。本発明に関する人力駆動車用制御装置、学習方法、人力駆動車の制御方法、およびコンピュータプログラムは、各実施形態の変形例、および、相互に矛盾しない少なくとも2つの変形例が組み合わせられた形態等のように各実施形態とは異なる形態を取り得る。
以下の各実施形態に関する説明において、前、後、前方、後方、左、右、横、上、および、下等の方向を表す言葉は、ユーザが人力駆動車のサドルに着座した状態における方向を基準として用いられる。
以下の各実施形態において、本発明に関する人力駆動車用制御装置を、制御装置と称して説明する。
(第1実施形態)
図1は、第1実施形態における制御装置100が適用される人力駆動車1の側面図である。人力駆動車1は、走行のための原動力に関して、少なくとも部分的に人力を用いる車両である。内燃機関または電動機のみを原動力に用いる車両は、本実施形態の人力駆動車1から除外される。人力駆動車1は、例えばマウンテンバイク、ロードバイク、クロスバイク、シティサイクル、電動アシストバイク(e-bike)等を含む自転車である。
図1は、第1実施形態における制御装置100が適用される人力駆動車1の側面図である。人力駆動車1は、走行のための原動力に関して、少なくとも部分的に人力を用いる車両である。内燃機関または電動機のみを原動力に用いる車両は、本実施形態の人力駆動車1から除外される。人力駆動車1は、例えばマウンテンバイク、ロードバイク、クロスバイク、シティサイクル、電動アシストバイク(e-bike)等を含む自転車である。
人力駆動車1は、車両本体10、ハンドルバー12、前輪14、後輪16、およびサドル18を備える。人力駆動車1は、駆動機構20、デバイス30、操作装置40、バッテリ50、およびセンサ60を備える。
車両本体10は、フレーム10A、およびフロントフォーク10Bを備える。前輪14は、フロントフォーク10Bに回転可能に支持される。後輪16は、フレーム10Aに回転可能に支持される。ハンドルバー12は、前輪14の進行方向を変更できるように、フレーム10Aに支持される。
駆動機構20は、クランク21、第1スプロケットアセンブリ23、第2スプロケットアセンブリ25、チェーン27、および、一対のペダル29を含む。
クランク21は、クランク軸21A、右クランク21B、および左クランク21Cを含む。クランク軸21Aは、フレーム10Aに回転可能に支持される。右クランク21Bおよび左クランク21Cは、それぞれクランク軸21Aに連結される。一対のペダル29の一方は、右クランク21Bに回転可能に支持される。一対のペダル29の他方は、左クランク21Cに回転可能に支持される。
第1スプロケットアセンブリ23は、クランク軸21Aと一体回転可能に連結されている。第1スプロケットアセンブリ23は、1または複数のスプロケット23Aを含む。第1スプロケットアセンブリ23は、一例では、外径が異なる複数のスプロケット23Aを含む。
第2スプロケットアセンブリ25は、後輪16のリアハブに回転可能に支持される。第2スプロケットアセンブリ25は、1または複数のスプロケット25Aを含む。第2スプロケットアセンブリ25は、一例では、外径が異なる複数のスプロケット25Aを含む。
チェーン27は、第1スプロケットアセンブリ23のいずれかのスプロケット23A、および、第2スプロケットアセンブリ25のいずれかのスプロケット25Aに巻き掛けられる。ペダル29に加えられる人力駆動力によってクランク21が前転すると、スプロケット23Aがクランク21とともに前転し、スプロケット23Aの回転がチェーン27を介して第2スプロケットアセンブリ25のスプロケット25Aに伝達する。スプロケット25Aの回転が、後輪16を回転させる。チェーン27の代わりに、ベルトまたはシャフトが用いられてもよい。
制御装置100は、一例では、人力駆動車1のバッテリ50、サイクルコンピュータ、ドライブユニット等に搭載される。制御装置100は、デバイス30、操作装置40、バッテリ50と接続されている。接続形態および制御装置100の詳細は後述する。
人力駆動車1は、バッテリ50から供給される電力によって動作し、制御装置100によって動作が制御されるデバイス30を備える。デバイス30は、変速装置31、サスペンション33、シートポスト35、制動装置37、およびアシスト装置39を含む。デバイス30は基本的に、操作装置40における操作に従った制御装置100による制御によって動作する。制御装置100の制御対象は、デバイス30は、変速装置31、サスペンション33、シートポスト35、制動装置37、およびアシスト装置39の少なくとも1つである。
変速装置31は、クランク21の回転速度に対する後輪16の回転速度の比率、即ち、人力駆動車1の変速比を変更する。変速比は、変速装置31に入力される入力回転速度に対する、変速装置31が出力する出力回転速度の比率によって表される。変速比を式によって表すと、“変速比=出力回転速度/入力回転速度”である。第1例では、変速装置31は、第2スプロケットアセンブリ25とチェーン27との連結状態を変更する外装変速機(リアディレーラ)である。第2例では、変速装置31は、第1スプロケットアセンブリ23とチェーン27との連結状態を変更する外装変速機(フロントディレーラ)である。第3例では、後輪16のハブに設けられる内装変速機である。変速装置31は、無段変速機であってもよい。
サスペンション33は、一例では、フロントフォーク10Bに設けられ、前輪14に加えられた衝撃を減衰するフロントサスペンションである。サスペンション33は、他の一例では、フレーム10Aに設けられ、後輪16に与えられた衝撃を減衰するリアサスペンションであってもよい。サスペンション33は、モータを含み、減衰率、ストローク量、およびロックアウト状態とするか否かを含む制御データによって、モータを回転させるか、ロックして制御可能である。サスペンション33は、内部のオイルの流路を制御するためのバルブ、および電磁弁のいずれか一方を含み、減衰率、ストローク量、およびロックアウト状態とするか否かを含む制御データによって制御されてもよい。
シートポスト35は、フレーム10Aに取り付けられる。シートポスト35は、モータを含む。シートポスト35は、モータを含み、サドル18をフレーム10Aに対して上昇させるか、または、下降させる。シートポスト35は、支持位置を含む制御データによってモータを回転させて制御可能である。
制動装置37は、前輪14を制動するように構成されるフロントブレーキ装置371と、後輪16を制動するように構成されるリアブレーキ装置372とを含む。フロントブレーキ装置371およびリアブレーキ装置372は、例えば、キャリパブレーキ装置またはディスクブレーキ装置などをそれぞれ含む。フロントブレーキ装置371およびリアブレーキ装置372は、キャリパブレーキ装置またはディスクブレーキ装置を動作させるモータ等を含み、制動力を変更可能である。
アシスト装置39は、人力駆動車1の人力駆動力を助力する装置である。アシスト装置39は、一例ではドライブユニット内に配置される。アシスト装置39は、一例ではバッテリ50に配置される。アシスト装置39は、モータを含む。アシスト装置39は、一例では、クランク軸21Aおよびフレーム10Aとの間に介在し、第1スプロケットアセンブリ23へトルクを伝達して人力駆動車1への人力駆動力を助力する。アシスト装置39は、一例では、人力駆動車1の後輪16に駆動力を伝達するチェーン27を駆動させて人力駆動車1への人力駆動力を助力する。
操作装置40は、ハンドルバー12に設けられる。操作装置40は、ライダによって操作される操作部40Aを含む。操作部40Aは、1または複数のボタンを含む。操作部40Aは、ブレーキレバーを含む。操作部40Aは、左右のハンドルに設けられているブレーキバーを左右に倒すことで操作が可能である。操作部40Aとして、ライダが所持する情報端末装置7が用いられてもよい。
操作装置40は、変速指示装置40Bを含む。変速指示装置40Bは、一例では、操作部40Aに含まれる複数のボタンである。変速指示装置40Bは、他の例では、ブレーキバーに取り付けられた装置である。ライダが変速指示装置40Bに対しブレーキバーを倒すか、複数のボタンのいずれかを押下するといった操作の都度、変速装置31に対するマニュアル操作、変速比のアップ、あるいは変速比のダウンが可能である。
操作装置40は、サスペンション指示装置40Cを含む。サスペンション指示装置40Cは、例えば操作部40Aに含まれるボタンである。サスペンション指示装置40Cに対応するボタンの押下により、サスペンションの減衰率、ストローク等の制御データの設定が可能である。
操作装置40は、シートポスト指示装置40Dを含む。シートポスト指示装置40Dは、例えば操作部40Aに含まれるボタンである。シートポスト指示装置40Dに対応するボタンの押下により、サドル351の上昇および下降が可能である。
操作装置40は、制動指示装置40Eを含む。制動指示装置40Eは、ブレーキレバーである。ブレーキレバーの操作により、制動装置37のキャリパブレーキ装置またはディスクブレーキ装置を動作させることが可能である。
操作装置40は、アシスト指示装置40Fを含む。アシスト指示装置40Fは例えば、操作部40Aに含まれるボタンである。アシスト指示装置40Fに対応するボタンの押下により、アシストのモードを複数の段階(高/中/低)からいずれかの設定が可能である。
操作装置40は、操作に応じた信号を制御装置100へ送信できるように、制御装置100と通信接続される。操作装置40は、操作に応じた信号を直接的に変速装置31、サスペンション33、シートポスト35、制動装置37およびアシスト装置39へ操作に応じた信号を出力できるように、通信接続されてもよい。第1例では、操作装置40は、通信線、または、PLC(Power Line Communication)が可能な電線によって制御装置100と通信する。操作装置40は、通信線、または、PLCが可能な電線によって変速装置31、サスペンション33、シートポスト35、制動装置37、アシスト装置39および制御装置100と通信してもよい。第2例では、操作装置40は、無線通信によって制御装置100と通信する。操作装置40は、無線通信によって変速装置31、サスペンション33、シートポスト35、制動装置37、アシスト装置39および制御装置100と通信してもよい。
操作装置40は、動作状態を報知する報知部を備えてもよい。操作装置40は、変速装置31、サスペンション33、シートポスト35、制動装置37およびアシスト装置39に対する制御状態を、ランプ、ディスプレイ、スピーカ等によってライダへ報知してもよい。
バッテリ50は、バッテリ本体51およびバッテリホルダ53を含む。バッテリ本体51は、1または複数のバッテリセルを含む蓄電池である。バッテリホルダ53は、人力駆動車1のフレーム10Aに固定される。バッテリ本体51は、バッテリホルダ53に着脱可能である。バッテリ50は、デバイス30、操作装置40および制御装置100に電気的に接続され、必要に応じて電力を供給する。バッテリ50は、制御装置100と通信するための制御部を含むことが好ましい。制御部は、CPUを用いたプロセッサを含むことが好ましい。
人力駆動車1は、ライダの状態、走行環境を含む走行に関する情報を取得するためのセンサ60を各所に備える。センサ60は、速度センサ61、加速度センサ62、トルクセンサ63、ケイデンスセンサ64、ジャイロセンサ65、着座センサ66、カメラ67、および位置情報センサ68を含む。
速度センサ61は、例えば、前輪14に設けられ、前輪14の単位時間当たりの回転数に対応する信号を制御装置100へ送信する。速度センサ61の出力に基づいて、制御装置100は、人力駆動車1の車速および移動距離を算出できる。
加速度センサ62は、例えば、フレーム10Aに固定される。加速度センサ62は、フレーム10Aを基準として三軸(前後方向、左右方向、上下方向)の人力駆動車1の振動を出力するセンサであり、人力駆動車1の動きおよび振動を検出するために設けられている。加速度センサ62は、動きおよび振動の大きさに対応する信号を制御装置100へ送信する。
トルクセンサ63は、例えば、右クランク21Bおよび左クランク21Cに掛かるトルクをそれぞれ測定するように設けられる。トルクセンサ63は、右クランク21Bおよび左クランク21Cの少なくとも一方において測定されたトルクに対応する信号を制御装置100へ送信する。
ケイデンスセンサ64は、例えば、右クランク21Bおよび左クランク21Cのいずれかのケイデンスを測定するように設けられる。ケイデンスセンサ64は、測定したケイデンスに対応する信号を制御装置100へ送信する。
ジャイロセンサ65は、例えば、フレーム10Aに固定される。ジャイロセンサ65は人力駆動車1のヨー、ロール、ピッチの回転を検出するために設けられている。ジャイロセンサ65は、三軸それぞれの回転量に対応する信号を制御装置100へ送信する。ヨーは、上下方向軸まわりの回転である。ロールは、前後方向軸まわりの回転である。ピッチは、左右方向軸まわりの回転である。
着座センサ66は、サドル351の内面に、サドル351にライダが着座しているか否かを測定するように設けられる。着座センサ66は、例えば圧電センサを用い、サドル351に掛けられる重みに対応する信号を制御装置100へ送信する。
カメラ67は、フロントフォーク10Bに前方を向けて設けられる。第1例では、フロントフォーク10Bにライトと共に前方に向けて設けられる。第2例では、ハンドルバー12に設けられる。カメラ67は、カメラモジュールを用いてユーザの視界に対応する映像を出力する。カメラ67は、進行方向に存在する物を撮影した映像信号を出力する。
位置情報センサ68は、例えば、フレーム10Aに固定される。位置情報センサ68は、人力駆動車1の位置に関する情報を検出するために設けられている。例えば、位置情報センサ68は、人力駆動車1の地球上の経度、および緯度に関する情報を検出するために設けられている。例えば、位置情報センサ68は、GPSセンサである。位置情報センサ68は、人力駆動車1の位置に関する情報に対応する信号を制御装置100へ送信する。
センサ60は、速度センサ61、加速度センサ62、トルクセンサ63、ケイデンスセンサ64、ジャイロセンサ65、着座センサ66、カメラ67、および位置情報センサ68を全て含まなくともよい。
図2は、制御装置100の構成を説明するブロック図である。制御装置100は、制御部110、および記憶部112を備える。
制御部110は、CPUを用いたプロセッサである。制御部110は、内蔵するROM(Read Only Memory)およびRAM(Random Access Memory)等のメモリを用いる。制御部110は、デバイス制御部116と、補完処理部118とで、機能を分別して処理を実行する。
デバイス制御部116は、人力駆動車の走行に関する入力情報をセンサ60から取得する。デバイス制御部116は、デバイス制御プログラム10Pに従って、後述の第1学習モデル11Mに取得した入力情報を入力して得られる出力情報に基づき決定した制御データによってデバイス30を制御する。デバイス制御部116は、デバイス制御プログラム10Pに従って、決定した制御データに基づいて人力駆動車1に搭載されている制御対象の動作、制御対象への給電、および制御対象との通信を制御する。
補完処理部118は、補完処理プログラム12Pに従って記憶部112に記憶されている第1学習モデル11Mを、人力駆動車1、および、人力駆動車1のライダの少なくとも一方が異なる人力駆動車における入力情報によって学習された第2学習モデルを用いて補完する処理を実行する。
制御部110は、後述する第1学習モデル11Mを用いてデバイス制御部116の機能によりデバイス30を自動制御するモードと、第1学習モデル11Mの学習モードとの異なる制御状態で処理を実行する。制御部110は、第1学習モデル11Mの精度が一定の精度に達するまで、基本的には操作装置40に対する操作に基づく学習モードの処理を実行する。制御部110は、第1学習モデル11Mの精度が一定の精度に達すると、基本的に、第1学習モデル11Mを用いた自動制御モードの処理を実行しつつ、補完処理部118によって第1学習モデル11Mを補完する。
記憶部112は、例えば、フラッシュメモリ等の不揮発性メモリを含む。記憶部112は、デバイス制御プログラム10Pおよび補完処理プログラム12Pを記憶する。デバイス制御プログラム10Pおよび補完処理プログラム12Pはそれぞれ、非一時記憶媒体900に記憶されたデバイス制御プログラム90Pおよび補完処理プログラム92Pを、制御部110が読み出して記憶部112に複製したものであってもよい。
記憶部112は、第1学習モデル11Mを記憶している。第1学習モデル11Mについては詳細を後述する。第1学習モデル11Mも、非一時記憶媒体900に記憶された第1学習モデル91Mを、制御部110が読み出して記憶部112に複製したものであってもよい。
制御部110(デバイス制御部116および補完処理部118)は、制御対象と通信を行なう。この場合、制御部110自体が制御対象向けの通信部(図示せず)を有してもよいし、制御部110が制御装置100内部に設けられる制御対象向けの通信部と接続されてもよい。制御部110は、制御対象または通信部と通信を行なうための接続部を有することが好ましい。
制御部110は、PLCおよびCAN通信の少なくとも1つによって制御対象と通信を行なうことが好ましい。制御部110が制御対象と行なう通信は、有線通信に限らず、ANT(登録商標)、ANT+(登録商標)、Bluetooth(登録商標)、WiFi(登録商標)、ZigBee(登録商標)等の無線通信でもよい。
制御部110は、信号線を介してセンサ60と接続される。制御部110は、信号線を介してセンサ60によって出力される信号から、人力駆動車1の走行に関する入力情報を取得する。
制御部110は、後述する情報処理装置8と、アンテナを有する無線通信デバイス114を介して通信し得る。無線通信デバイス114は、制御装置100に内蔵されていてもよい。無線通信デバイス114は、所謂インターネットを介した通信を実現するデバイスである。無線通信デバイス114は、ANT(登録商標)、ANT+(登録商標)、Bluetooth(登録商標) 、WiFi(登録商標)、ZigBee(登録商標)、LTE(Long Term Evolution)等の無線通信用のデバイスでもよい。無線通信デバイス114は、3G、4G、5G、LTE(Long Term Evolution)、WAN(Wide Area Network)、LAN(Local Area Network)、インターネット回線、専用回線、衛星回線等の通信ネットワークに準拠してもよい。
このように構成される制御装置100による制御内容を説明する。制御装置100の制御部110は、デバイス制御部116の機能により、デバイス制御プログラム10Pに従って、後述の第1学習モデル11Mに取得した入力情報を入力して得られる出力情報に基づき決定した制御データによってデバイス30を自動制御する。第1実施形態において制御部110は、デバイス制御部116により、入力情報を第1学習モデル11Mに入力して得られる情報に基づき、変速装置31を自動制御する。
図3は、第1学習モデル11Mの一例を説明する図である。第1学習モデル11Mは、ニューラルネットワーク(以下NN:Neural Network)を用いた教師ありの深層学習により学習される学習モデルである。第1学習モデル11Mは、リカレントニューラルネットワーク(Recurrent Neural Network)により学習されるモデルであってもよい。図3に示す第1学習モデル11Mは、センサ60により取得される人力駆動車1の走行に関する入力情報を入力した場合に、変速装置31に対して指示する変速比を再現するように学習される。
第1学習モデル11Mは、センサ60で得られる人力駆動車1の走行に関する入力情報が入力される入力層111を含む。第1学習モデル11Mは、人力駆動車1の変速装置31の制御に関する出力情報を出力する出力層115を含む。第1学習モデル11Mは、入力層111および出力層115の中間に位置する1または複数の層からなるノード群を含み、出力情報に関して操作装置40にて受け付けた操作内容を含む学習データに基づいて学習される中間層113を含む。中間層113のノードはそれぞれ、前段の層のノードとの関係において重みおよびバイアスの少なくとも一方を含むパラメータを持つ。制御部110は、補完処理部118の一部の学習機能に基づき、実際の変速装置31に指示された変速比を、対応する入力情報にラベル付けすることにより学習データを作成する。制御部110は、作成した学習データを入力層111に入力し、出力層115から出力される変速比と、実際にライダから指示された変速比との誤差を小さくするように、中間層113における各パラメータを学習する。これにより、センサ60から得られる入力情報に応じて、ライダが、人力駆動車1の速度、加速度、道路の種別といったシチュエーションに応じて変速装置31に対して指示する変速比を再現する第1学習モデル11Mが学習される。
図4は、第1学習モデル11Mの他の一例を説明する図である。図4に示す第1学習モデル11Mは、図3に示した例と同様に、NNを用いた教師ありの深層学習により学習される学習モデルである。第1学習モデル11Mは、センサ60により取得される人力駆動車1の走行に関する入力情報を入力した場合に、変速装置31に対して指示する確率を出力するように学習される。
第1学習モデル11Mは、入力層111、中間層113および出力層115を含む。他の一例の第1学習モデル11Mは、変速装置31へ変速比の変更を指示したか否かを、その入力情報にラベル付けすることにより学習データを作成する。制御部110は、作成した学習データを入力層111に入力し、出力層115から出力される確率と、実際にライダから指示されたか否かの結果との誤差を小さくするように、中間層113における各パラメータを学習する。これにより、センサ60から得られる入力情報に応じて、ライダが、人力駆動車1の速度、加速度、道路の種別といったシチュエーションに応じて変速装置31に対して指示する確率を出力する第1学習モデル11Mが学習される。
人力駆動車1では、デバイス制御部116は、第1学習モデル11Mから出力される出力情報を用い、変速装置31を制御する。図3に示した第1学習モデル11Mを用いる場合、制御部110は、第1学習モデル11Mから出力される変速比に基づき、変速装置31で変速を実施できる。図4に示した第1学習モデル11Mを用いる場合、制御部110は、第1学習モデル11Mから出力される確率に基づき、変速装置31の変速比を変更できる。
第1学習モデル11Mは、人力駆動車1が出荷される前の段階で、汎用的な学習データを用い、入力情報に対して図3または図4に示したような出力情報を出力するように学習されている。出荷後の人力駆動車1では、制御装置100は、学習モードで運転し、ライダの嗜好、ライダの特性に合わせて、制御部110は第1学習モデル11Mの学習を進める。ただし、人力駆動車1が走行していない環境における変速装置31に対する制御データをライダに最適化させるための学習は、不足している。そこで、第1実施形態において制御装置100は、補完処理部118により、人力駆動車1、および、人力駆動車1のライダの少なくとも一方が異なる他の人力駆動車における入力情報によって学習された第2学習モデルを用いて第1学習モデル11Mを補完する。
補完に用いられる第2学習モデルは、他の人力駆動車1、または他のライダについて学習された学習モデルであり、各人力駆動車1に対応する制御装置100から情報処理装置8に収集されたものである。
図5は、第1実施形態の制御装置100と情報処理装置8とを示す図である。第1実施形態の制御装置100は、図5に示すように、情報処理装置8と通信ネットワークNを介して互いに通信可能である。通信ネットワークNは、3G、4G、5G、LTE、WAN、LAN、インターネット回線、専用回線、衛星回線等の通信回線や基地局等の通信設備により構成される。制御装置100は、通信ネットワークNを介して情報処理装置8と通信可能に構成される情報端末装置7を用いてもよい。情報端末装置7は、例えば、人力駆動車1のライダが用いるスマートフォンやサイクルコンピュータ等であり、ライダの指示を入力したり、ライダに対して情報を出力したりするユーザインタフェースとしても機能し得る。
情報処理装置8は、複数の第2学習モデル82Mを記憶した記憶部802を備えている。制御装置100は、情報処理装置8との通信により、複数の第2学習モデル82Mのいずれかを利用できる。
図6は、情報処理装置8の構成を説明するブロック図である。情報処理装置8は、制御部800、記憶部802、および、通信部804を備える。
制御部800は、CPUを用いたプロセッサである。制御部800は、GPU(Graphics Processing Unit)を用いてもよい。制御部800は、CPUおよびGPUを用いてもよい。制御部800は、内蔵するROMおよびRAM等のメモリを用い、制御装置100との間でデータを送受信し、
制御部800は、FPGA(Field Programmable Gate Array )、DSP(Digital Signal Processor)、量子プロセッサ、揮発性または不揮発性のメモリ等を備える1または複数の処理回路であってもよい。
記憶部802は、ハードディスク、SSD(Solid State Drive )等の大容量不揮発性メモリである。記憶部802は、複数の人力駆動車1から収集した複数の第2学習モデル82Mを、第2学習モデル82Mをそれぞれ識別するモデル識別データと対応付けて記憶する。
記憶部802は、第2学習モデル82Mのモデル識別データに、学習された人力駆動車1および人力駆動車1のライダの少なくとも一方を識別するデータに対応付けて記憶する。記憶部802は、人力駆動車1およびライダの少なくとも一方を識別するデータに対応付けて、人力駆動車1のスペック、ライダのタイプを格納するモデルデータベース822を含む。これにより、制御部800は、第2学習モデル82Mが、どのような入力情報に対して学習されたかを判別できる。
通信部804は、ネットワークNを介した制御装置100との通信を行なう通信デバイスである。通信部804は、3G、4G、5G、LTE、WAN、LAN、インターネット回線、専用回線、衛星回線等の通信ネットワークに準拠する。制御部800は、通信部804を介して制御装置100との間でデータを送受信する。
このように構成される制御装置100および情報処理装置8により、制御装置100は、第2学習モデル82Mを用いて補完された第1学習モデル11Mを用いて、変速装置31を制御する。
図7は、第1実施形態の第1学習モデル11Mの学習方法の一例を示すフローチャートである。制御装置100は、学習モードにおいて以下の処理を実行する。
制御装置100の制御部110は、センサ60から人力駆動車1の走行に関する入力情報を取得し、記憶する(ステップS101)。制御部110は、走行中に複数時点でステップS101の処理を実行する。
ステップS101において制御部110は、速度センサ61、加速度センサ62、トルクセンサ63、ケイデンスセンサ64、ジャイロセンサ65、着座センサ66、およびカメラ67の少なくとも1つからデータを取得する。
制御部110は、取得した人力駆動車1の走行に関する入力情報を、第1学習モデル11Mへ入力し(ステップS103)、第1学習モデル11Mから出力される出力情報を取得する(ステップS105)。
制御部110は、ステップS105で取得した出力情報と、ステップS101で取得した入力情報に対応する実際のライダによる変速指示装置40Bに対する操作内容との対比に基づき、未学習のシチュエーションであるか否かを判断する(ステップS107)。
未学習のシチュエーションであると判断された場合(S107:YES)、制御部110は、無線通信デバイス114により情報処理装置8へ第2学習モデル82Mのリクエストを送信する(ステップS109)。
情報処理装置8は、第2学習モデル82Mのリクエストを受信すると(ステップS801)、制御部800は、リクエスト元の制御装置100の人力駆動車1の識別データを特定する(ステップS803)。
制御部800は、情報処理装置8で記憶されている複数の第2学習モデル82Mのうち、リクエスト元の制御装置100の人力駆動車1およびライダの少なくとも一方と類似する人力駆動車またはライダに対応する第2学習モデル82Mを抽出する(ステップS805)。
ステップS805において制御部800は、第1例として、複数の第2学習モデル82Mのうち、リクエスト元の制御装置100の人力駆動車1とタイプおよびサイズの少なくとも1つが、同一または類似する他の人力駆動車1において学習された第2学習モデルを抽出する。制御部800は例えば、リクエスト元の制御装置100が搭載されている人力駆動車1の種別がマウンテンバイクである場合、モデルデータベース822を参照し、マウンテンバイクである他の人力駆動車1の識別データが対応付けられている第2学習モデル82を抽出する。
ステップS805において制御部800は、第2例として、複数の第2学習モデル82Mのうち、リクエスト元の制御装置100の人力駆動車1に搭載されているデバイス30と同一または類似する種別および製造者のデバイス30を搭載している他の人力駆動車1において学習された第2学習モデル82を抽出する。デバイス30は、制御対象の変速装置31のみならず、サスペンション33、シートポスト35、制動装置37、およびアシスト装置30の少なくとも1つであってよい。制御部800は、モデルデータベース822を参照し、変速装置31、サスペンション33、シートポスト35、制動装置37、およびアシスト装置39の少なくとも1つが同一または類似する人力駆動車1において学習された第2学習モデル82Mを抽出する。
ステップS805において制御部800は、第3例として、複数の第2学習モデル82Mのうち、リクエスト元の制御装置100の人力駆動車1のライダと同一または類似するタイプのライダの人力駆動車1において学習された第2学習モデル82Mを抽出する。制御部800は、モデルデータベース822を参照し、高ケイデンス高トルクタイプ、高ケイデンス低トルクタイプ、低ケイデンス高トルクタイプ、低ケイデンス低トルクタイプ等に分類されるライダの識別データに基づき、類似するタイプのライダが乗る人力駆動車1において学習された第2学習モデル82Mを抽出する。
制御部800は、第1例から第3例までの方法のうち、1つの方法で複数の第2学習モデル82Mを抽出してもよいし、2つの方法または3つの方法を組み合わせて複数の第2学習モデル82Mを抽出してもよい。
制御部800は、ステップS805において、抽出した複数の第2学習モデル82Mを、類似度でソートし所定数の第2学習モデル82Mに絞り込んでもよい。類似度は、例えば、同一である項目が多いほど高くなるように算出される。
制御部800は、抽出された複数の第2学習モデル82Mの候補を、通信部804から制御装置100へ送信する(ステップS807)。
制御部110は、情報処理装置8から、人力駆動車1およびライダの少なくとも一方が異なる他の人力駆動車1における入力情報によって学習された第2学習モデル82Mの複数の候補を受信する(ステップS111)。制御部110は、複数の候補から第2学習モデル82Mを選択する(ステップS113)。
ステップS113において制御部110は、第1例では、複数の候補のうち、ステップS101で取得した入力情報を入力した場合に出力される出力情報が、実際のライダによる変速指示装置40Bに対する操作内容と最も近い第2学習モデル82を選択する。
ステップS113において制御部110は、第2例では、複数の候補のうち、同一の入力情報を入力した場合に得られる出力情報からデバイス制御部116が決定する制御データが、類似する第2学習モデル82Mを選択する。より具体的には、制御部110は、ステップS101で取得した入力情報を第2学習モデル82Mの候補それぞれに入力する。制御部110は、第2学習モデル82Mの候補それぞれから出力される出力情報に基づいてデバイス制御部116が決定する制御データのうち、実際のライダによる変速指示装置40Bに対する操作内容と最も類似する制御データを決定する。制御部110は、決定した制御データの元となる出力情報を出力した第2学習モデル82を選択する。
ステップS113において制御部110は、第3例では、受信した複数の候補から1つ任意に選択してもよい。
制御部110は、第1学習モデル11Mの少なくとも一部を、ステップS113で選択した第2学習モデル82Mによって更新することによって補完処理を実行する(ステップS115)。ステップS115において制御部110は、第1学習モデル11Mの全部を、選択した第2学習モデル82Mで置き換えてもよい。ステップS115において制御部110は、選択した第2学習モデル82Mのパラメータで、第1学習モデル11Mの一部のパラメータを更新してもよい。
制御部110は、補完後の第1学習モデル11Mを、ステップS101で取得した入力情報に、これに対応する実際のライダによる変速指示装置40Bに対する操作内容をラベル付けした学習データにより再学習し(ステップS117)、処理を終了する。
制御部110は、ステップS107において、未学習のシチュエーションでないと判断された場合(S107:NO)、制御部110は、学習済みの第1学習モデル11Mを、無線通信デバイス114から情報処理装置8へ送信する(ステップS119)。ステップS119
情報処理装置8は、学習された第1学習モデル11Mを受信し(ステップS809)、第2学習モデル82Mとして記憶部802に記憶し(ステップS811)、処理を終了する。
図7のフローチャートに示した処理手順は、人力駆動車1の走行中に限らず、ステップS101で記憶した入力情報に基づき、一回の旅程が終了する都度に実行されてもよい。図7のフローチャートに示した処理手順により、未学習であると判断された第1学習モデル11Mは、第2学習モデル82Mによって補完される。これにより、次にステップS107で未学習のシチュエーションであると判断される可能性が低く、未学習のシチュエーションであっても、第1学習モデル11Mを自動制御に用いることができる。
図8は、第1実施形態の第1学習モデル11Mを用いた制御処理の一例を示すフローチャートである。制御装置100は、制御モードにおいて以下の処理を繰り返し実行する。
制御装置100の制御部110は、センサ60から人力駆動車1の走行に関する入力情報を取得し(ステップS201)、
制御部110は、取得した人力駆動車1の走行に関する入力情報を、第1学習モデル11Mへ入力し(ステップS203)、第1学習モデル11Mから出力される出力情報を取得する(ステップS205)。
制御部110は、ステップS205で取得した出力情報に基づき、デバイス制御部116によって変速装置31の制御データを決定する(ステップS207)。ステップS207において制御部110は、変速比そのものを決定してもよいし、変速させるか否かを決定してもよい。
制御部110は、決定した制御データによって変速装置31を制御し(ステップS209)、処理を終了する。制御部110は、ステップS201-S209の処理を繰り返し実行する。
第1実施形態の制御装置100の処理により、未学習の走行シチュエーションに対しても第2学習モデル82Mを用いて第1学習モデル11Mの学習を進め、学習に要する時間を短縮できる。制御装置100の処理により、未学習の走行シチュエーションに対しても第2学習モデル82Mを用いて第1学習モデル11Mを補完し、未学習のシチュエーションにおいても自動制御を実現できる。
(第2実施形態)
第2実施形態では、変速装置31以外の、サスペンション33、シートポスト35、制動装置37およびアシスト装置39それぞれも含めて制御対象とする。第2実施形態では、第1学習モデル11Mに基づく制御対象は、変速装置31、サスペンション33、シートポスト35、制動装置37およびアシスト装置39の少なくとも1つであればよい。
第2実施形態では、変速装置31以外の、サスペンション33、シートポスト35、制動装置37およびアシスト装置39それぞれも含めて制御対象とする。第2実施形態では、第1学習モデル11Mに基づく制御対象は、変速装置31、サスペンション33、シートポスト35、制動装置37およびアシスト装置39の少なくとも1つであればよい。
第2実施形態では、制御対象ごとに、第1学習モデル11Mが別途学習される。図9は、第2実施形態の制御装置100の構成を説明するブロック図である。図9では、制御装置100のみの構成を説明しており、制御装置100に接続されるデバイス30、操作装置40、およびセンサ60の図示を省略している。
制御装置100の記憶部112には、変速装置31の制御に用いる第1学習モデル11M、サスペンション33の制御に用いる第1学習モデル13Mが記憶されている。記憶部112には、シートポスト35の制御に用いる第1学習モデル15M、制動装置37の制御に用いる第1学習モデル17M、アシスト装置39の制御に用いる第1学習モデル19Mが記憶されている。
第1学習モデル11M、第1学習モデル13M、第1学習モデル15M、第1学習モデル17M、および第1学習モデル19Mは、非一時記憶媒体900に記憶された第1学習モデル91M、第1学習モデル93M、第1学習モデル95M、第1学習モデル97M、第1学習モデル99Mを複製したものであってもよい。
第2実施形態の制御装置100の制御部110は、第1実施形態で変速装置31を対象として実行した図8のフローチャートに示した処理手順および第9のフローチャートに示した処理手順を、デバイス30ごとに実行する。
これにより、制御装置100は、サスペンション33、シートポスト35、制動装置37およびアシスト装置39の少なくとも1つを制御対象として、未学習の走行シチュエーションに対しても第2学習モデル82Mを用いて第1学習モデル11M,13M,15M,17M,19Mそれぞれの学習を進める。いずれのデバイス30の制御についても、学習に要する時間を短縮できる。
(第3実施形態)
第3実施形態では、未学習であると判断された場合の学習方法が異なる。第3実施形態の制御装置100の構成は、以下に説明する学習方法の処理手順の詳細以外、第1実施形態の制御装置100の構成と同様である。第3実施形態の制御装置100の構成のうち、第1実施形態の制御装置100と共通する構成については同一の符号を付して詳細な説明を省略する。
第3実施形態では、未学習であると判断された場合の学習方法が異なる。第3実施形態の制御装置100の構成は、以下に説明する学習方法の処理手順の詳細以外、第1実施形態の制御装置100の構成と同様である。第3実施形態の制御装置100の構成のうち、第1実施形態の制御装置100と共通する構成については同一の符号を付して詳細な説明を省略する。
図10は、第3実施形態の第1学習モデル11Mの学習方法の一例を示すフローチャートである。制御部110は、第1実施形態で示した図7のフローチャートの処理手順を実行し、情報処理装置8から複数の第2学習モデル82Mを受信し(S111)、いずれかを選択し(ステップS113)、以下に示すように第1学習モデル11Mを補完する。
制御部110は、選択した第2学習モデル82Mを記憶部112に記憶する(ステップS501)。制御部110は、ステップS101で取得し、記憶してある入力情報を、選択した第2学習モデル82Mへ入力する(ステップS503)。制御部110は、第2学習モデル82Mから出力される出力情報を取得する(ステップS505)。
制御部110は、入力情報と出力情報とを対応付けて学習データとして記憶する(ステップS507)。制御部110は、記憶してある学習データを用いて第1学習モデル11Mを学習し(ステップS509)、学習処理を終了する。
第3実施形態で制御装置100は、図10に示したように、制御部110が取得した入力情報と、前記入力情報を前記第2学習モデル82Mに入力した場合に出力される出力情報とを学習データとして前記第1学習モデル11Mを学習する。
人力駆動車1の制御装置100で学習が不足しているシチュエーションにおいても、学習済みの第2学習モデル82Mを用いて制御ができ、第2学習モデル82Mを用いて学習データを作成して第1学習モデル11Mを学習することができる。未学習のシチュエーションについての学習時間を短縮できる。
(第4実施形態)
第4実施形態の制御装置100の構成は、第1学習モデル11Mの構成、および第1学習モデル11Mを用いた処理手順の詳細以外、第1実施形態の制御装置100と同様である。第4実施形態の制御装置100の構成のうち、第1実施形態の制御装置100と共通する構成については同一の符号を付して詳細な説明を省略する。
第4実施形態の制御装置100の構成は、第1学習モデル11Mの構成、および第1学習モデル11Mを用いた処理手順の詳細以外、第1実施形態の制御装置100と同様である。第4実施形態の制御装置100の構成のうち、第1実施形態の制御装置100と共通する構成については同一の符号を付して詳細な説明を省略する。
図11は、第4実施形態の第1学習モデル11Mの概要図である。第4実施形態においても第1学習モデル11Mは、NNを用いた教師ありの深層学習により学習される学習モデルである。第4実施形態の第1学習モデル11Mは、互いに異なる複数の走行シチュエーションにおいて取得された入力情報で学習されている。走行シチュエーションは、オンロード、オフロード、および市街地の少なくとも1つに区別される。走行シチュエーションは、上り、平坦、および下りの少なくとも1つに区別される。以下の説明において、走行シチュエーションは、オンロードの上り、オンロードの平坦な道、オンロードの下り、オフロードの上り、オフロードな平坦な道、オフロードの下り、市街地の上り、市街地の平坦な道、市街地の下り、の計9つの走行シチュエーションに区別される。走行シチュエーションは、9つに区別されることに限定されない。走行シチュエーションは、上記の区別に限定されない。走行シチュエーションは、例えば、発進時、加速時、減速時、および停止時のような加減速に関する走行シチュエーションによって区別されてもよい。走行シチュエーションは、例えば、直進時、カーブ進入時、カーブ退出時、交差点進入時、および幅員が減少する道への進入時のような道路形状に関する走行シチュエーションによって区別されてもよい。走行シチュエーションは、例えば、周囲に乗り物がいない時、後ろから車が接近している時、他の人力駆動車と一緒に走行している時、および他の人力駆動車を追い抜こうとしている時のような他の乗り物に関する走行シチュエーションによって区別されてもよい。
第1学習モデル11Mは、センサ60で得られる人力駆動車1の走行に関する入力情報と、シチュエーションを示すデータとが入力される入力層111を含む。それ以外の構成は、第1実施形態で説明した第1学習モデル11Mと同様である。以下の説明において、第1学習モデル11Mは、センサ60により取得される人力駆動車1の走行に関する入力情報と、走行シチュエーションを示すデータを入力した場合に、デバイス30の1つとして変速装置31に対して指示する変速比を再現するように学習される。
第4実施形態において制御部110は、補完処理部118の一部の学習機能に基づき、実際の変速装置31に指示された変速比を、対応する入力情報にラベル付けすることにより学習データを作成する。制御部110は、作成した学習データと、センサ60から得られる情報に基づき判定される走行シチュエーションとを入力層111に入力し、出力層115から出力される変速比と、実際にライダから指示された変速比との誤差を小さくするように、中間層113における各パラメータを学習する。これにより、センサ60から得られる入力情報に応じて、ライダが、人力駆動車1の走行シチュエーションと、その走行シチュエーションにおける速度、加速度等に応じて変速装置31に対して指示する変速比を再現する第1学習モデル11Mが学習される。
図11の第1学習モデル11Mは、デバイス30の制御に関する出力情報として、変速装置31の制御データの数値を出力するものとした。第4実施形態においても、第1学習モデル11Mの出力層115は、変速装置31に対して指示する確率を出力してもよい。この場合、中間層113は、走行シチュエーションに応じて、変速装置31に対してライダが変速を指示する確率を出力するように学習される。
第4実施形態では、各制御装置100において学習される第1学習モデル11Mも、情報処理装置8に収集され、記憶される。
図12および図13は、第4実施形態の第1学習モデル11Mの学習方法の一例を示すフローチャートである。制御装置100は、学習モードにおいて以下の処理を実行する。
制御装置100の制御部110は、センサ60から人力駆動車1の走行に関する入力情報を取得し、記憶する(ステップS131)。ステップS131において制御部110は、速度センサ61、加速度センサ62、トルクセンサ63、ケイデンスセンサ64、ジャイロセンサ65、着座センサ66、およびカメラ67の少なくとも1つからデータを取得する。
制御部110は、センサ60から取得した入力情報に基づき、走行シチュエーションを判別する(ステップS133)。
ステップS133において制御部110は、速度センサ61、加速度センサ62、トルクセンサ63、ケイデンスセンサ64、ジャイロセンサ65、着座センサ66、カメラ67、および位置情報センサ68の少なくとも1つで得られる情報に基づき、走行シチュエーションを判別する。第1例において制御部110は、位置情報センサ68から得られる人力駆動車1の位置に関する情報と、予め人力駆動車1が有する地図情報とに基づき、人力駆動車1が走行している道が、オフロードであるか、市街地であるか、オンロードであるかを判別する。第1例において、制御部110は、地図情報を通信により外部から取得するように構成されていてもよい。第2例において制御部110は、加速度センサ62から得られる人力駆動車1に対する振動、ジャイロセンサ65から得られる人力駆動車1の姿勢の情報に基づき、人力駆動車1が走行している道が、オフロードであるか、市街地であるか、オンロードであるかを判別する。第2例において制御部110は、振動が所定値より大きくなる頻度が所定頻度より高い場合に、走行シチュエーションはオフロードであると判別できる。第3例において制御部110は、着座センサ66から、着座していない状態で走行する頻度が所定頻度より高い場合、走行シチュエーションはオフロードであると判別できる。第4例において制御部110は、走行距離に対して停止および走行の繰り返しが所定の回数以上である場合に、走行シチュエーションは市街地であると判別できる。第5例において制御部110は、トルクおよびケイデンスが一定である場合、走行シチュエーションはオンロードであると判別できる。第6例において制御部110は、オフロードでも市街地でもない場合に、走行シチュエーションはオンロードであると判別できる。
ステップS133において制御部110は、ジャイロセンサ65により、人力駆動車1のピッチ方向の傾きによって、上り、下り、および平坦をそれぞれ判別できる。
制御部110は、ステップS133で判別した走行シチュエーションは、未学習の走行シチュエーションであるか否かを判断する(ステップS135)。ステップS135において制御部110は、未学習の走行シチュエーションであるか否かを、走行シチュエーションを識別するデータに対応付けて記憶部112に記憶した学習済みか否かの情報に基づき判断する。
未学習の走行シチュエーションであると判断された場合(S135:YES)、制御部110は、無線通信デバイス114により情報処理装置8へ、第2学習モデル82Mのリクエストを送信する(ステップS137)。ステップS137において制御部110は、判別した走行シチュエーションを識別するデータを指定してリクエストを送信する。
情報処理装置8は、第2学習モデル82Mのリクエストを受信すると(ステップS821)、制御部800は、リクエスト元の制御装置100の人力駆動車1の識別データを特定する(ステップS823)。
制御部800は、情報処理装置8で記憶されている複数の第2学習モデル82のうち、リクエストで指定された走行シチュエーションについて学習済みの第2学習モデル82Mを抽出する(ステップS825)。制御部800は、抽出された第2学習モデル82Mから、リクエスト元の制御装置100の人力駆動車1およびライダの少なくとも一方と類似する人力駆動車またはライダに対応する第2学習モデル82Mを候補として選択する(ステップS827)。
ステップS827において制御部800は、第1実施形態の図7のフローチャートに示した処理手順のステップS805で説明した第1例から第3例のうちの少なくとも1つの方法を用いて選択するとよい。
制御部800は、選択した第2学習モデル82Mの候補を、通信部804から制御装置100へ送信する(ステップS829)。
制御部110は、情報処理装置8から、人力駆動車1およびライダの少なくとも一方が異なる他の人力駆動車1における入力情報によって学習された第2学習モデル82Mの複数の候補を受信する(ステップS139)。制御部110は、複数の候補から第2学習モデル82Mを選択する(ステップS141)。
ステップS141において制御部110は、第1例では、複数の候補のうち、ステップS101で取得した入力情報を入力した場合に出力される出力情報が、実際のライダによる変速指示装置40Bに対する操作内容と最も近い第2学習モデル82Mを選択する。
ステップS141において制御部110は、第2例では、複数の候補のうち、第1学習モデル11Mが学習済みの他の走行シチュエーションで取得され、記憶されている入力情報を入力した場合に出力される出力情報が、第1学習モデル11Mに入力情報を入力した場合に出力される出力情報と類似する第2学習モデル82Mを選択する。
ステップS141において制御部110は、第3例では、複数の候補のうち、同一の入力情報を入力した場合に得られる出力情報からデバイス制御部116が決定する制御データが、類似する第2学習モデル82Mを選択する。より具体的には、制御部110は、ステップS131で取得した入力情報を第2学習モデル82Mの候補それぞれに入力する。制御部110は、第2学習モデル82Mの候補それぞれから出力される出力情報に基づいてデバイス制御部116が決定する制御データのうち、実際のライダによる変速指示装置40Bに対する操作内容と最も類似する制御データを決定する。制御部110は、決定した制御データの元となる出力情報を出力した第2学習モデル82を選択する。
ステップS141において制御部110は、第4例では、複数の候補のうち、学習済みの他の走行シチュエーションで取得された入力情報を入力した場合の出力情報に基づきデバイス制御部116が決定する制御データが類似する第2学習モデル82Mを用いる。より具体的には、制御部110は、他の学習済みとされた走行シチュエーションで取得されて記憶してある入力情報と、その走行シチュエーションを識別するデータとを、第2学習モデル82Mの候補それぞれに入力する。制御部110は、記憶してある入力情報と、その走行シチュエーションを識別するデータとを、学習済みの第1学習モデル11Mへ入力する。学習済みの走行シチュエーションについて第1学習モデル11Mから得られる出力情報に基づきデバイス制御部116が決定する制御データを取得する。この制御データは制御には用いられない。制御部110は、第2学習モデル82Mの候補それぞれから出力される出力情報に基づいてデバイス制御部116が決定する制御データを取得する。制御部110は、第2学習モデル82の候補のうち、第1学習モデル11Mからの出力情報に基づき決定された制御データと類似する制御データの元となる出力情報を出力した第2学習モデル82Mを選択する。
ステップS141において制御部110は、第5例では、受信した複数の候補から1つ任意に選択してもよい。
制御部110は、第1学習モデル11Mの少なくとも一部を、ステップS141で選択した第2学習モデル82Mによって更新することによって補完処理を実行する(ステップS143)。ステップS143において制御部110は、第3実施形態に示した手順により、第2学習モデル82から得られる出力情報を学習データとして用いて学習する。ステップS143において制御部110は、第1学習モデル11Mの全部を、選択した第2学習モデル82Mで置き換えてもよい。ステップS143において制御部110は、選択した第2学習モデル82Mのパラメータで、第1学習モデル11Mの一部のパラメータを更新してもよい。
制御部110は、補完後の第1学習モデル11Mを、ステップS131で取得した入力情報に、これに対応する実際のライダによる変速指示装置40Bに対する操作内容をラベル付けした学習データにより再学習する(ステップS145)。制御部110は、ステップS133で判別した走行シチュエーションを識別するデータに対応付けて、学習済みであることを記憶部112に記憶する(ステップS147)。
制御部110は、ステップS135において、未学習の走行シチュエーションでないと判断された場合(S135:NO)、制御部110は、学習済みの第1学習モデル11Mを、走行シチュエーションを識別するデータと共に無線通信デバイス114から情報処理装置8へ送信する(ステップS149)。
情報処理装置8は、学習された第1学習モデル11Mを受信し(ステップS831)、第2学習モデル82Mとして、走行シチュエーションを識別するデータと共に記憶部802に記憶し(ステップS833)、処理を終了する。
図12および図13のフローチャートに示した処理手順は、人力駆動車1の走行中に限らず、ステップS131で記憶した入力情報に基づき、一回の旅程が終了する都度に実行されてもよい。図12および図13のフローチャートに示した処理手順により、未学習の走行シチュエーションについて第1学習モデル11Mは、第2学習モデル82Mによって補完される。これにより、次にステップS107で未学習のシチュエーションであると判断される可能性が低く、未学習のシチュエーションであっても、第1学習モデル11Mを自動制御に用いることができる。
図14は、第4実施形態の第1学習モデル11Mを用いた制御処理の一例を示すフローチャートである。制御装置100は、制御モードにおいて以下の処理を繰り返し実行する。
制御装置100の制御部110は、センサ60から人力駆動車1の走行に関する入力情報を取得する(ステップS221)。制御部110は、センサ60から取得した入力情報に基づき、走行シチュエーションを判別する(ステップS223)。
制御部110は、取得した人力駆動車1の走行に関する入力情報と、判別した走行シチュエーションを識別するデータとを、第1学習モデル11Mへ入力する(ステップS225)。制御部110は、第1学習モデル11Mから出力される出力情報を取得する(ステップS227)。
制御部110は、ステップS227で取得した出力情報に基づき、デバイス制御部116によって変速装置31の制御データを決定する(ステップS229)。ステップS229において制御部110は、変速比そのものを決定してもよいし、変速させるか否かを決定してもよい。
制御部110は、決定した制御データによって変速装置31を制御し(ステップS231)、処理を終了する。制御部110は、ステップS221-S231の処理を繰り返し実行する。
ステップS231の制御の後に、操作装置40によりライダからの介入操作があった場合、制御部110は、対象の走行シチュエーションについては未学習であると記憶し直し、図12および図13のフローチャートに示した処理手順を実行してもよい。この場合、制御部110は、第2学習モデル82Mによって補完された第1学習モデル11Mに対し、人力駆動車1のセンサ60から得られる入力情報と、走行シチュエーションを識別するデータと、ライダからの操作とを含む学習データを用いた再学習を実行する。
第4実施形態の制御装置100の処理により、未学習の走行シチュエーションであるか否かに応じて適切な制御データに関する出力情報を得られる第1学習モデル11Mの学習時間を短縮できる。
(第5実施形態)
第5実施形態の制御装置100の構成は、第1学習モデル11Mの構成、および第1学習モデル11Mを用いた処理手順の詳細以外、第1実施形態の制御装置100と同様である。第5実施形態の制御装置100の構成のうち、第1実施形態の制御装置100と共通する構成については同一の符号を付して詳細な説明を省略する。
第5実施形態の制御装置100の構成は、第1学習モデル11Mの構成、および第1学習モデル11Mを用いた処理手順の詳細以外、第1実施形態の制御装置100と同様である。第5実施形態の制御装置100の構成のうち、第1実施形態の制御装置100と共通する構成については同一の符号を付して詳細な説明を省略する。
図15は、第5実施形態の第1学習モデル11Mを説明する図である。第5実施形態において第1学習モデル11Mは、走行シチュエーション別に記憶された複数の学習モデル11MA,学習モデル11MB,…を含む。各学習モデル11MA,11MB,11MC,…は、いずれも第1実施形態の図3、または図4に示した構成の入力層、出力層および中間層を含む学習モデルである。入力層、出力層および中間層についての詳細な説明を省略する。
各学習モデル11MA,11MB,11MC,…は、走行シチュエーション別に、センサ60により取得される人力駆動車1の走行に関する入力情報を入力した場合に、デバイス30に対する制御データを出力するように学習される。図14に示すように、第5実施形態では、走行シチュエーションは、オンロード、オフロード、および市街地の少なくとも1つに区別され、且つ、走行シチュエーションは、上り、平坦、および下りの少なくとも1つに区別される。以下の説明において、走行シチュエーションは、オンロードの上り、オンロードの平坦な道、オンロードの下り、オフロードの上り、オフロードの平坦な道、オフロードの下り、市街地の上り、市街地の平坦な道、市街地の下り、の計9つの走行シチュエーションに区別される。
例えば学習モデル11MAは、オンロードの上りの走行シチュエーションを走行中の人力駆動車1でセンサ60から取得される入力情報と、ライダからの操作内容とを学習データとして学習される。学習モデル11MBは、オンロードの平坦な道の走行シチュエーションを走行中の人力駆動車1でセンサ60から取得される入力情報と、ライダからの操作内容とを学習データとして学習される。同様にして学習モデル11MCは、オンロードの下りの走行シチュエーションを走行中の人力駆動車1でセンサ60から取得される入力情報と、ライダからの操作内容とを学習データとして学習される。学習モデル11MD,学習モデル11ME,学習モデル11MF,学習モデル11MG,学習モデル11MH,学習モデル11MIはそれぞれ、オフロードの上り、オフロードの平坦な道、オフロードの下り、市街地の上り、市街地の平坦な道、市街地の下りについて学習される。
上述のように走行シチュエーション別に学習された複数の学習モデルを含む第1学習モデル11Mを用いた制御装置100の処理について以下に説明する。
図16および図17は、第5実施形態の第1学習モデル11Mの学習方法の一例を示すフローチャートである。図16および図17のフローチャートに示した処理手順のうち、第4実施形態の図12および図13のフローチャートに示した処理手順と共通する手順については同一のステップ番号を付して詳細な説明を省略する。
制御部110は、入力情報を取得して記憶し(S131)、走行シチュエーションを判別する(S133)。
制御部110は、記憶部112で学習済みの第1学習モデル11Mは、ステップS133で判別した走行シチュエーションについて学習済みの学習モデル11MA,11MB,…を含むか否かを判断する(ステップS151)。
第1学習モデル11Mは、判別した走行シチュエーションについて学習済みの学習モデル11MA,11MB,…を含むと判断された場合(S151:YES)、制御部110は、ステップS153の処理を実行する。制御部110は、判別したシチュエーションを識別するデータと、判別した走行シチュエーション用の学習済みの学習モデル11MA,11MB,…とを、無線通信デバイス114から情報処理装置8へ送信する(ステップS153)。
情報処理装置8は、判別したシチュエーションを識別するデータ学習された第1学習モデル11Mを受信する(ステップS851)。制御部800は、受信した第1学習モデル11Mを、第2学習モデル82Mとして、走行シチュエーションを識別するデータと共に記憶部802に記憶し(ステップS853)、処理を終了する。記憶部802には、複数の学習モデルを含む第1学習モデル11Mが、第2学習モデル82Mとして記憶される。
第1学習モデル11Mは、判別した走行シチュエーションについて学習済みの学習モデル11MA,11MB,…を含まないと判断された場合(S151:NO)、制御部110は、無線通信デバイス114により情報処理装置8へ、第2学習モデル82Mのリクエストを送信する(ステップS155)。ステップS155において制御部110は、判別した走行シチュエーションを識別するデータを指定してリクエストを送信する。
情報処理装置8は、第2学習モデル82Mのリクエストを受信すると(ステップS855)、制御部800は、リクエスト元の制御装置100の人力駆動車1の識別データを特定する(ステップS857)。
制御部800は、情報処理装置8で記憶されている複数の第2学習モデル82のうち、リクエストで指定された走行シチュエーションの学習済みの学習モデルを含む第2学習モデル82Mを抽出する(ステップS859)。制御部800は、抽出された第2学習モデル82Mから、リクエスト元の制御装置100の人力駆動車1およびライダの少なくとも一方と類似する人力駆動車またはライダに対応する第2学習モデル82Mを候補として選択する(ステップS861)。
ステップS861において制御部800は、第1実施形態の図7のフローチャートに示した処理手順のステップS805で説明した第1例から第3例のうちの少なくとも1つの方法を用いて選択するとよい。
制御部800は、選択した第2学習モデル82Mの候補を、通信部804から制御装置100へ送信する(ステップS863)。
制御部110は、情報処理装置8から、人力駆動車1およびライダの少なくとも一方が異なる他の人力駆動車1における入力情報によって学習された第2学習モデル82Mの複数の候補を受信する(ステップS157)。制御部110は、複数の候補から第2学習モデル82Mを選択する(ステップS159)。
ステップS159において制御部110は、複数の候補のうち、第1学習モデル11Mが学習済みの走行シチュエーションにおける入力情報を、その走行シチュエーション用の学習モデルに入力した場合に出力される出力情報が、学習モデル11MA,11MB,…に入力情報を入力した場合に出力される出力情報と類似する第2学習モデル82Mを用いる。より具体的には、制御部110は、第1学習モデル11Mのうち、ステップS133で判別した走行シチュエーションと異なる他の学習済みとされた走行シチュエーションの学習モデル11MA,11MB,…のいずれか1つを選択する。制御部110は、同一の学習済みとされた走行シチュエーションの学習モデルを、第2学習モデル82Mの候補それぞれから選択する。制御部110は、選択したいずれか1つの、例えば学習モデル11MAに学習済み走行シチュエーションにおける入力情報を入力した場合に出力される出力情報を記憶する。制御部110は、候補それぞれから選択した学習モデルに、学習済み走行シチュエーションにおける入力情報を入力した場合に出力される出力情報を記憶する。制御部110は、候補それぞれから選択した学習モデルのうち、選択した1つの学習モデル11MAから出力される出力情報と類似する出力情報を出力した学習モデルを選択する。制御部110は、選択した学習モデルを含む候補の第2学習モデル82を特定する。
ステップS159において制御部110は、複数の候補のうち、第1学習モデル11Mで学習済みの走行シチュエーションの入力情報を入力した場合の出力情報に基づき決定される制御データが、第1学習モデル11Mに前記入力情報を入力した場合の出力情報に基づき決定される制御データと類似する第2学習モデル82Mを用いる。より具体的には、制御部110は、第1学習モデル11Mのうち、ステップS133で判別した走行シチュエーションと異なる他の学習済みとされた走行シチュエーションの学習モデル11MA,11MB,…のいずれか1つを選択する。制御部110は、選択したいずれか1つの、例えば学習モデル11MAと同一の走行シチュエーションの学習モデルを、第2学習モデル82Mの候補それぞれから選択する。制御部110は、選択した学習モデル11MAに学習済み走行シチュエーションにおける入力情報を入力する。学習済みの走行シチュエーションについて選択した1つの学習モデル11MAから得られる出力情報に基づきデバイス制御部116が決定する制御データを取得する。この制御データは制御には用いられない。制御部110は、第2学習モデル82Mの候補から選択した、学習モデル11MAと同一の走行シチュエーション用の学習モデルに、学習済み走行シチュエーションにおける入力情報を入力する。制御部110は、学習モデル11MAと同一の走行シチュエーション用の学習モデルそれぞれから出力される出力情報に基づいてデバイス制御部116が決定する制御データを取得する。制御部110は、第2学習モデル82の候補のうち、学習モデル11MAからの出力情報に基づき決定された制御データと類似する制御データの元となる出力情報を出力した学習モデルを含む第2学習モデル82Mを選択する。
制御部110は、選択した第2学習モデル82に含まれる複数の学習モデルのうち、学習済みの走行シチュエーションとは異なる、ステップS133で判別した未学習の走行シチュエーションに対応する学習モデルを取得する(ステップS161)。
制御部110は、取得した学習モデルを、第1学習モデル11MにおけるステップS133で判別した走行シチュエーションにおける学習モデルとして記憶することによって、補完処理を実行し(ステップS163)、処理を終了する。
図18は、第5実施形態の補完処理部118による処理を説明する図である。図18中の第1学習モデル11Mは当初、9つの走行シチュエーションのうち、オンロードの3つの走行シチュエーション用の学習モデル11MA,11MB,11MCについて学習済みである。他の走行シチュエーションについては、未学習である。図17では、学習済みの走行シチュエーションの学習モデル11MA,11MB,11MCについては実線で示し、未学習の走行シチュエーションの学習モデルは破線で示す。
図18に示した第1学習モデル11Mを記憶している制御装置100の人力駆動車1が、オフロードの走行を開始した場合、制御部110は、人力駆動車1の傾斜等によって、走行シチュエーションをオフロードと判別する。制御部110は、第1学習モデル11Mは、学習済みのオフロードの走行シチュエーション用の学習モデルを含まないと判断する(S151:YES)。制御部110は、情報処理装置8へリクエストすることにより、学習済みのオフロードの走行シチュエーション用の学習モデルを含む第2学習モデル82Mの候補を取得する。制御部110は、取得した第2学習モデル82Mの候補から、オンロードのシチュエーションにおいて最も類似する出力情報を出力する第2学習モデル82Mを選択する。制御部110は、選択した第2学習モデル82Mに含まれるオフロードの走行シチュエーション用の学習モデルを取得する。これにより、図17に示すように、第1学習モデル11Mは、オフロードの走行シチュエーションについて学習済みの学習モデル11MD,11ME,11MFを含むモデルに補完される。
図19は、第5実施形態の第1学習モデル11Mを用いた制御処理の一例を示すフローチャートである。制御装置100は、制御モードにおいて以下の処理を繰り返し実行する。
制御装置100の制御部110は、センサ60から人力駆動車1の走行に関する入力情報を取得する(ステップS251)。制御部110は、センサ60から取得した入力情報に基づき、走行シチュエーションを判別する(ステップS253)。
制御部110は、判別した走行シチュエーション用の学習モデルを、第1学習モデル11Mから選択する(ステップS255)。制御部110は、取得した人力駆動車1の走行に関する入力情報を、ステップS255で選択した学習モデルへ入力する(ステップS257)。制御部110は、第1学習モデル11Mから出力される出力情報を取得する(ステップS259)。
制御部110は、ステップS227で取得した出力情報に基づき、デバイス制御部116によって変速装置31の制御データを決定する(ステップS261)。ステップS261において制御部110は、変速比そのものを決定してもよいし、変速させるか否かを決定してもよい。
制御部110は、決定した制御データによって変速装置31を制御し(ステップS263)、処理を終了する。制御部110は、ステップS251-S263の処理を繰り返し実行する。
第5実施形態では、上述したように、未学習の走行シチュエーションについても他の第2学習モデル82Mを用いて、第1学習モデル11Mを補完する。未学習の走行シチュエーションについても他の第2学習モデル82Mで補完した第1学習モデル11Mを用いて自動制御が可能である。
(第6実施形態)
図20は、第6実施形態の制御装置100と情報処理装置8とを示す図である。第6実施形態の制御装置100の構成は、第1実施形態の制御装置100と同様である。第6実施形態の制御装置100および情報処理装置8は、情報処理装置8における以下に示す処理手順以外は、第1実施形態の制御装置100および情報処理装置8と同様である。以下に示す第6実施形態の制御装置100および情報処理装置8の構成のうち、第1実施形態と共通する構成については同一の符号を付して詳細な説明を省略する。
図20は、第6実施形態の制御装置100と情報処理装置8とを示す図である。第6実施形態の制御装置100の構成は、第1実施形態の制御装置100と同様である。第6実施形態の制御装置100および情報処理装置8は、情報処理装置8における以下に示す処理手順以外は、第1実施形態の制御装置100および情報処理装置8と同様である。以下に示す第6実施形態の制御装置100および情報処理装置8の構成のうち、第1実施形態と共通する構成については同一の符号を付して詳細な説明を省略する。
第6実施形態では、第2学習モデル82は走行シチュエーション別の学習モデルを含む。第6実施形態では、情報処理装置8が、各制御装置100から収集した走行シチュエーション別の学習モデルの重み、およびバイアスの少なくとも一方を含むパラメータを統計処理して各学習モデルを作成する。
図21は、第6実施形態の情報処理装置8における処理手順の一例を示すフローチャートである。情報処理装置8は、制御装置100から第1学習モデル11Mが送信されると、以下の処理を実行する。
制御部800は、第1学習モデル11Mを受信すると(ステップS601)、送信元の制御装置100の人力駆動車1の識別データを特定する(ステップS603)。
制御部800は、受信した第1学習モデル11Mに対し、リクエスト元の制御装置100の人力駆動車1およびライダの少なくとも一方と類似する人力駆動車またはライダに対応する他の第2学習モデル82Mを抽出する(ステップS605)。情報処理装置8において第2学習モデル82Mは、ライダのタイプ別、人力駆動車1のタイプ別に記憶されている。
ステップS605において制御部800は、第1実施形態の図7のフローチャートに示したステップS805で説明した第1例から第3例のうちの少なくとも1つを用いて、第2学習モデル82Mを抽出する。
制御部800は、受信した第1学習モデル11Mが含む走行シチュエーション別の学習モデルと、抽出した第2学習モデル82Mとが含む走行シチュエーション別の学習モデルについて、重み、およびバイアスの少なくとも一方を含むパラメータを統計処理して各学習モデルを作成する(ステップS607)。
制御部800は、作成した各学習モデルを含む第2学習モデル82Mによって、ステップS605で抽出した第2学習モデル82Mを更新し(ステップS609)、処理を終了する。
図22は、第6実施形態の第2学習モデル82の概要図である。第6実施形態では、図22に示すように、第2学習モデル82はそれぞれ、走行シチュエーション別の学習モデルを含む。走行シチュエーション別の学習モデルはいずれも、図21で説明したように、同一のタイプのライダの人力駆動車1の制御装置100から収集した同一走行シチュエーションの複数の学習モデルの重み、およびバイアスの少なくとも一方を含むパラメータを統計処理したものである。
第6実施形態の情報処理装置8の処理により、情報処理装置8に記憶される第2学習モデル82Mは、複数の人力駆動車1で学習されたモデルを統計して合算したモデルとなる。このように、制御装置100は、特定の人力駆動車1、および特定のライダの学習モデルではなく、汎用化された第2学習モデル82Mを用いて補完してもよい。
上述のように開示された実施の形態は全ての点で例示であって、制限的なものではない。本発明の範囲は、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれる。
1…人力駆動車,10…車両本体,10A…フレーム,10B…フロントフォーク,12…ハンドルバー,14…前輪,16…後輪,18…サドル,20…駆動機構,21…クランク,21A…クランク軸,21B…右クランク,21C…左クランク,23…第1スプロケットアセンブリ,23A…スプロケット,25…第2スプロケットアセンブリ,25A…スプロケット,27…チェーン,29…ペダル,30…デバイス,31…変速装置,33…サスペンション,35…シートポスト,37…制動装置,371…フロントブレーキ装置,372…リアブレーキ装置,39…アシスト装置,40…操作装置,40A…操作部,40B…変速指示装置,40C…サスペンション指示装置,40D…シートポスト指示装置,40E…制動指示装置,40F…アシスト指示装置,50…バッテリ,51…バッテリ本体,53…バッテリホルダ,60…センサ,61…速度センサ,62…加速度センサ,63…トルクセンサ,64…ケイデンスセンサ,65…ジャイロセンサ,66…着座センサ,67…カメラ,68…位置情報センサ,7…情報端末装置,100…制御装置,110…制御部,112…記憶部,114…無線通信デバイス,116…デバイス制御部,118…補完処理部,10P…デバイス制御プログラム,12P…補完処理プログラム,11M…第1学習モデル,111…入力層,113…中間層,115…出力層,11MA…学習モデル,11MB…学習モデル,11MC…学習モデル,11MD…学習モデル,11ME…学習モデル,11MF…学習モデル,11MG…学習モデル,11MI…学習モデル,13M…第1学習モデル,15M…第1学習モデル,17M…第1学習モデル,19M…第1学習モデル,8…情報処理装置,800…制御部,802…記憶部,822…モデルデータベース,804…通信部,82M…第2学習モデル,900…非一時記憶媒体,90P…デバイス制御プログラム,92P…補完処理プログラム,91M…第1学習モデル,93M…第1学習モデル,95M…第1学習モデル,97M…第1学習モデル,99M…第1学習モデル
Claims (22)
- 人力駆動車の走行に関する入力情報を取得する取得部と、
取得した入力情報に基づき、前記人力駆動車に搭載されているデバイスの制御に関する出力情報を出力するように学習される第1学習モデルを記憶する記憶部と、
前記第1学習モデルに前記入力情報を入力して得られる出力情報に基づき決定した制御データによって前記デバイスを制御する制御部と、
前記人力駆動車、および、前記人力駆動車のライダの少なくとも一方が異なる人力駆動車における入力情報によって学習された第2学習モデルを用いて前記記憶部の第1学習モデルを補完する処理を実行する補完処理部と
を備える、人力駆動車用制御装置。 - 前記補完処理部は、前記記憶部の第1学習モデルの少なくとも一部を前記第2学習モデルによって更新する、
請求項1に記載の人力駆動車用制御装置。 - 前記補完処理部は、前記取得部によって取得した入力情報と、前記入力情報を前記第2学習モデルに入力した場合に出力される出力情報とを学習データとして前記第1学習モデルを学習する、
請求項1に記載の人力駆動車用制御装置。 - 前記第1学習モデルは、互いに異なる複数の走行シチュエーションにおいて前記取得部により取得された入力情報で学習されており、
前記補完処理部は、前記第1学習モデルが学習済みの走行シチュエーションとは異なる未学習の走行シチュエーションであって、第2学習モデルが学習済みの走行シチュエーションについて前記第2学習モデルを用い、前記第1学習モデルを補完する、
請求項1から3のいずれか1項に記載の人力駆動車用制御装置。 - 前記第1学習モデルは、走行シチュエーション別に記憶された複数の学習モデルを含み、
前記補完処理部は、前記複数の学習モデルのうち、前記第1学習モデルが学習済みの走行シチュエーションとは異なる未学習の走行シチュエーションに対応する学習モデルとして、前記未学習の走行シチュエーションを学習済みの第2学習モデルの一部を用いる、
請求項1から3のいずれか1項に記載の人力駆動車制御装置。 - 前記走行シチュエーションは、オンロード、オフロード、および市街地の少なくとも1つに区別される、
請求項4または5に記載の人力駆動車用制御装置。 - 前記走行シチュエーションは、上り、平坦、および下りの少なくとも1つに区別される、
請求項4から6のいずれか1項に記載の人力駆動車用制御装置。 - 前記補完処理部は、同一の入力情報を入力した場合に出力される出力情報が、前記第1学習モデルに入力した場合に出力される出力情報と類似する第2学習モデルを用いる、
請求項1から7のいずれか1項に記載の人力駆動車用制御装置。 - 前記第1学習モデルは、互いに異なる複数の走行シチュエーションにおいて前記取得部により取得された入力情報で学習されており、
前記補完処理部は、複数の第2学習モデルのうち、前記第1学習モデルが学習済みの走行シチュエーションにおける入力情報を入力した場合に出力される出力情報が、前記第1学習モデルに前記入力情報を入力した場合に出力される出力情報と類似する第2学習モデルを用いる、
請求項8に記載の人力駆動車用制御装置。 - 前記第1学習モデルおよび第2学習モデルは、走行シチュエーション別に記憶された複数の学習モデルを含み、
前記補完処理部は、
複数の第2学習モデルのうち、前記第1学習モデルが学習済みの走行シチュエーションにおける入力情報を入力した場合に出力される出力情報が、前記第1学習モデルに前記入力情報を入力した場合に出力される出力情報と類似する第2学習モデルを用い、
前記第2学習モデルに含まれる複数の学習モデルのうち、前記学習済みの走行シチュエーションとは異なる未学習の走行シチュエーションに対応する学習モデルを取得する、
請求項8に記載の人力駆動車用制御装置。 - 前記補完処理部は、同一の入力情報に基づいて決定される制御データが、類似する他の人力駆動車用制御装置にて使用されている第2学習モデルを用いる、
請求項1から7のいずれか1項に記載の人力駆動車用制御装置。 - 前記第1学習モデルは、互いに異なる複数の走行シチュエーションにおいて前記取得部により取得された入力情報で学習されており、
前記補完処理部は、複数の第2学習モデルのうち、前記第1学習モデルで学習済みの走行シチュエーションの入力情報を入力した場合の出力情報に基づき決定される制御データが、前記第1学習モデルに前記入力情報を入力した場合の出力情報に基づき決定される制御データと類似する第2モデルを用いる、
請求項11に記載の人力駆動車用制御装置。 - 前記第1学習モデルおよび第2学習モデルは、走行シチュエーション別に記憶された複数の学習モデルを含み、
前記補完処理部は、
複数の第2学習モデルのうち、前記第1学習モデルで学習済みの走行シチュエーションの入力情報を入力した場合の出力情報に基づき決定される制御データが、前記第1学習モデルに前記入力情報を入力した場合の出力情報に基づき決定される制御データと類似する第2学習モデルを用い、
前記第2学習モデルに含まれる複数の学習モデルのうち、前記学習済みの走行シチュエーションとは異なる未学習の走行シチュエーションに対する学習モデルを取得する、
請求項11に記載の人力駆動車用制御装置。 - 前記補完処理部は、複数の第2学習モデルのうち、前記人力駆動車とタイプおよびサイズの少なくとも1つが、同一または類似する他の人力駆動車における入力情報で学習された第2学習モデルを用いる、
請求項1から7のいずれか1項に記載の人力駆動車用制御装置。 - 前記補完処理部は、複数の第2学習モデルのうち、前記デバイスと同一または類似する種別および製造者のデバイスを搭載している他の人力駆動車における入力情報で学習された第2学習モデルを用いる、
請求項1から7のいずれか1項に記載の人力駆動車用制御装置。 - 前記デバイスは、変速装置、サスペンション、シートポスト、制動装置、およびアシスト装置の少なくとも1つの種別に識別される、
請求項15に記載の人力駆動車用制御装置。 - 前記補完処理部は、複数の第2学習モデルのうち、前記人力駆動車のライダと同一または類似するタイプのライダの人力駆動車における入力情報で学習された第2学習モデルを用いる、
請求項1から7のいずれか1項に記載の人力駆動車用制御装置。 - 前記記憶部に記憶されている第1学習モデルを、他へ送信する、
請求項1から17のいずれか1項に記載の人力駆動車用制御装置。 - 前記第2学習モデルは、他の複数の人力駆動車で学習された複数のモデルの重み、およびバイアスの少なくとも一方を含むパラメータを統計処理して得られるモデルである、
請求項1から18のいずれか1項に記載の人力駆動車用制御装置。 - 人力駆動車に搭載されるコンピュータが、
前記人力駆動車の走行に関する入力情報に基づき、前記人力駆動車に搭載されているデバイスの制御に関する出力情報を出力するように学習される第1学習モデルに対し、前記人力駆動車、および、前記人力駆動車のライダの少なくとも一方が異なる人力駆動車における入力情報によって学習された第2学習モデルを外部から選択し、
選択した第2学習モデルを用いて、前記第1学習モデルを補完する処理を実行する、
学習方法。 - 人力駆動車に搭載されるコンピュータが、
前記人力駆動車の走行に関する入力情報に基づき、前記人力駆動車に搭載されているデバイスの制御に関する出力情報を出力するように学習される第1学習モデルに対し、前記人力駆動車、および、前記人力駆動車のライダの少なくとも一方が異なる人力駆動車における入力情報によって学習された第2学習モデルを外部から選択し、
選択した第2学習モデルを用いて、前記第1学習モデルを補完する処理を実行し、
補完語の前記第1学習モデルに、前記入力情報を入力して得られる出力情報に基づき制御データを決定し、
決定した制御データによって前記デバイスを制御する、
人力駆動車の制御方法。 - 人力駆動車に搭載されるコンピュータが、
前記人力駆動車の走行に関する入力情報に基づき、前記人力駆動車に搭載されているデバイスの制御に関する出力情報を出力するように学習される第1学習モデルに対し、前記人力駆動車、および、前記人力駆動車のライダの少なくとも一方が異なる人力駆動車における入力情報によって学習された第2学習モデルを外部から選択し、
選択した第2学習モデルを用いて、前記第1学習モデルを補完する処理を実行する、
処理を実行させる、コンピュータプログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022060934A JP2023151357A (ja) | 2022-03-31 | 2022-03-31 | 人力駆動車用制御装置、学習方法、人力駆動車の制御方法、およびコンピュータプログラム |
US18/105,097 US20230311902A1 (en) | 2022-03-31 | 2023-02-02 | Human-powered vehicle control device, learning method, human-powered vehicle control method and computer program |
DE102023200973.0A DE102023200973A1 (de) | 2022-03-31 | 2023-02-07 | Steuervorrichtung für ein menschlich angetriebenes fahrzeug, lernverfahren, verfahren zur steuerung eines menschlich angetriebenen fahrzeugs und computerprogramm |
TW112105584A TW202340028A (zh) | 2022-03-31 | 2023-02-16 | 人力驅動車用控制裝置、學習方法、人力驅動車的控制方法、及電腦程式 |
CN202310271168.5A CN116890948A (zh) | 2022-03-31 | 2023-03-17 | 人力驱动车用控制装置、学习方法、人力驱动车的控制方法及计算机程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022060934A JP2023151357A (ja) | 2022-03-31 | 2022-03-31 | 人力駆動車用制御装置、学習方法、人力駆動車の制御方法、およびコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023151357A true JP2023151357A (ja) | 2023-10-16 |
Family
ID=88019216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022060934A Pending JP2023151357A (ja) | 2022-03-31 | 2022-03-31 | 人力駆動車用制御装置、学習方法、人力駆動車の制御方法、およびコンピュータプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230311902A1 (ja) |
JP (1) | JP2023151357A (ja) |
CN (1) | CN116890948A (ja) |
DE (1) | DE102023200973A1 (ja) |
TW (1) | TW202340028A (ja) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6653275B2 (ja) | 2017-02-14 | 2020-02-26 | 株式会社三共 | スロットマシン |
-
2022
- 2022-03-31 JP JP2022060934A patent/JP2023151357A/ja active Pending
-
2023
- 2023-02-02 US US18/105,097 patent/US20230311902A1/en active Pending
- 2023-02-07 DE DE102023200973.0A patent/DE102023200973A1/de active Pending
- 2023-02-16 TW TW112105584A patent/TW202340028A/zh unknown
- 2023-03-17 CN CN202310271168.5A patent/CN116890948A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN116890948A (zh) | 2023-10-17 |
TW202340028A (zh) | 2023-10-16 |
DE102023200973A1 (de) | 2023-10-05 |
US20230311902A1 (en) | 2023-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11713093B2 (en) | Smart device application with customizable tunes for active valve control | |
US20210009226A1 (en) | Output device, method for generating a machine learning model, and computer program | |
US11866114B2 (en) | Control device, creation method for learning model, learning model, computer program and storage medium | |
US11459050B2 (en) | Connected component platform | |
ITTO20080168A1 (it) | Sistema di controllo della dinamica di un veicolo, con caratteristiche di regolazione dei parametri di controllo tarabili dall'utilizzatore. | |
US11527981B2 (en) | Human-powered vehicle control device, electronic device, and human-powered vehicle control system | |
WO2021046240A1 (en) | Connected component platform | |
US20220025954A1 (en) | Active valve customizable tune application | |
US11597470B2 (en) | Human-powered vehicle component, mobile electronic device, and equipment for human-powered vehicle | |
US20220176829A1 (en) | Use of vehicle data, rider-related data or route information to control a vehicle's electric motor output | |
EP3939813A1 (en) | Active valve customizable tune application | |
US11975792B2 (en) | Selecting different suspension tunes via a manually operated switch | |
JP6985217B2 (ja) | 制御データ作成装置、コンポーネント制御装置、制御データ作成方法、コンポーネント制御方法、およびコンピュータプログラム | |
JP2023151357A (ja) | 人力駆動車用制御装置、学習方法、人力駆動車の制御方法、およびコンピュータプログラム | |
US20220161890A1 (en) | Motor controller for electric bicycles | |
JP6916208B2 (ja) | 車両外力情報記憶システム及び外力関連情報記憶方法 | |
JP7337510B2 (ja) | 出力装置、学習モデルの生成方法、コンピュータプログラム、および記憶媒体 | |
JP7457458B2 (ja) | 出力装置、コンピュータプログラム、および記憶媒体 | |
EP4125068A1 (en) | Connected component platform | |
JP2020142566A (ja) | 評価装置、制御システム、報知システム、学習モデルの生成方法、コンピュータプログラム、および、記憶媒体 | |
WO2018189840A1 (ja) | 車両の会話情報出力装置、及び会話情報出力方法 | |
JP2020097339A (ja) | 人力駆動車用コンポーネント、携帯型電子装置、および、人力駆動車の用具 | |
US20220242190A1 (en) | Energy harvesting switch | |
JP2023085935A (ja) | 人力駆動車情報処理装置、人力駆動車情報処理方法、人力駆動車情報処理システム、およびコンピュータプログラム | |
JP2019139450A (ja) | オフロードビークル用オフロード走行状態情報出力装置 |