以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。
(第1実施形態)
図1は第1実施形態の判定装置100が適用される人力駆動車1の側面図である。人力駆動車1は、走行のための原動力に関して、少なくとも部分的に人力を用いる車両である。内燃機関または電動機のみを原動力に用いる車両は、本実施形態の人力駆動車1から除外される。人力駆動車1は、例えば、ロードバイク、マウンテンバイク、クロスバイク、シティサイクル等を含む自転車である。人力駆動車1は、電気エネルギーを用いて人力駆動車1の推進をアシストする電動アシスト機構を備える電動アシスト自転車であってもよい。
人力駆動車1は、車両本体10、前輪12、後輪14、ハンドルバー16、シート18、および、駆動機構20を備える。以下の説明において、前後、左右、および、上下の各方向を表す用語は、ライダーが人力駆動車1のシート18に着座した状態における方向を基準として用いられる。
車両本体10は、フレーム10Aおよびフロントフォーク10Bを備える。前輪12は、フロントフォーク10Bに回転可能に支持される。後輪14は、フレーム10Aに回転可能に支持される。ハンドルバー16は、前輪12の進行方向を変更できるように、フレーム10Aに支持される。
駆動機構20は、人力駆動力を後輪14へ伝達する。駆動機構20は、クランク22、フロントスプロケットアセンブリ24A、リアスプロケットアセンブリ24B、チェーン26、および、一対のペダル28,28を含む。駆動機構20は、更に、チェーン26が外れることを抑制するためのチェーンデバイス26Aを備えてもよい。
クランク22は、右クランク22A、左クランク22B、および、クランク軸22Cを含む。クランク軸22Cは、フレーム10Aに回転可能に支持される。右クランク22Aおよび左クランク22Bは、それぞれクランク軸22Cに連結される。一対のペダル28,28の一方は右クランク22Aに回転可能に支持され、他方は左クランク22Bに回転可能に支持される。ペダル28は、ライダーのシューズと係合する係合機構28Aを備える。
フロントスプロケットアセンブリ24Aは、クランク軸22Cに連結されており、クランク軸22Cと一体的に回転する。フロントスプロケットアセンブリ24Aは、一例では、外径が異なる複数のフロントスプロケットを含む。複数のフロントスプロケットの外径は、クランク軸22の回転軸心と平行な方向において、車両本体10の中心面から外側に向かって大きくなる。
リアスプロケットアセンブリ24Bは、後輪14のハブ(図示略)に回転可能に支持される。リアスプロケットアセンブリ24Bは、一例では、外径が異なる複数のリアスプロケットを含む。複数のリアスプロケットの外径は、ハブアセンブリの回転軸心と平行な方向において、車両本体10の中心面から外側に向かって小さくなる。
チェーン26は、フロントスプロケットアセンブリ24Aおよびリアスプロケットアセンブリ24Bに巻き掛けられる。ペダル28,28に加えられる人力駆動力によってクランク22が前転すると、フロントスプロケットアセンブリ24Aがクランク22と共に前転する。フロントスプロケットアセンブリ24Aの回転は、チェーン26を介してリアスプロケットアセンブリ24Bに伝達し、後輪14を回転させる。チェーン26の代わりに、ベルトまたはシャフトを用いてもよい。
人力駆動車1は、更に、操作装置30、変速装置32および33、アジャスタブルシートポスト34、サスペンション装置36、撮像装置38、および、バッテリユニット40を備える。
操作装置30は、例えば、ハンドルバー16に設けられ、ライダーの指によって操作される操作スイッチ30A,30Bを備える。一例では、操作スイッチ30A,30Bは、変速装置32を制御するためのスイッチである。他の例では、操作スイッチ30A,30Bは、アジャスタブルシートポスト34、サスペンション装置36、ペダル28等の人力駆動車1が備える他のコンポーネントを制御するためのスイッチである。
本実施形態では、操作装置30が2つの操作スイッチ30A,30Bを備える構成としたが、1つまたは3つ以上の操作スイッチを備える構成であってもよい。操作装置30は、操作レバーまたは操作ダイヤル等を備える構成であってもよい。
操作装置30は、操作スイッチ30Aまたは操作スイッチ30Bの操作に応じた制御信号を変速装置32または他のコンポーネントへ送信できるように、各コンポーネントに接続される。一例では、操作装置30は、通信線またはPLC(Power Line Communication)が可能な電線によって変速装置32または他のコンポーネントに接続される。他の例では、操作装置30は、無線通信が可能な無線通信ユニットによって変速装置32および他のコンポーネントに接続される。操作装置30の操作対象が変速装置32である場合、操作装置30の操作に応じて、変速比の変更を指示する制御信号を変速装置32へ送信する。例えば、操作装置30は、操作スイッチ30Aが操作された場合、シフトアップを指示する制御信号を変速装置32へ送信し、操作スイッチ30Bが操作された場合、シフトダウンを指示する操作信号を変速装置32へ送信する。制御信号は、変更する変速比またはスプロケットの段数の情報を含んでもよい。制御信号は、変速装置32を一度に2段以上変速する指示を含んでいてもよい。
変速装置32は、操作装置30から送信される制御信号に応じて動作が制御される人力駆動車1のコンポーネントの1つである。変速装置32は、電動アクチュエータ32Aおよびチェーンガイド32Bを備える。電動アクチュエータ32Aの一例は、電動モータである。変速装置32は、電動アクチュエータ32Aを駆動し、チェーンガイド32を動作させることによって、チェーン26が巻き掛けられるリアスプロケットを変更し、人力駆動車1の変速比を切り替える。
変速装置32の一例は外装変速機である。変速装置32が外装変速機である場合、リアスプロケットアセンブリ24Bは、外径が異なる複数のリアスプロケットを含む。変速装置32は、シフトアップを指示する制御信号を操作装置30から受信した場合、チェーン26が巻き掛けられるリアスプロケットを、現在のリアスプロケットよりも外径が小さいリアスプロケットに変更するように、電動アクチュエータ32Aによってチェーンガイド32Bを動作させる。変速装置32は、シフトダウンを指示する制御信号を操作装置30から受信した場合、チェーン26が巻き掛けられるリアスプロケットを、現在のリアスプロケットよりも外径が大きいリアスプロケットに変更するように、電動アクチュエータ32Aによってチェーンガイド32Bを動作させる。
変速装置33は、操作装置30から送信される制御信号に応じて動作が制御される人力駆動車1のコンポーネントの1つである。変速装置33は、電動アクチュエータ33Aおよびチェーンガイド33Bを備える。電動アクチュエータ33Aの一例は、電動モータである。変速装置33は、電動アクチュエータ33Aの駆動によって、チェーンガイド33Bを動作させることで、チェーン26が巻き掛けられるフロントスプロケットを変更し、人力駆動車1の変速比を切り替える。
変速装置33の一例は外装変速機である。変速装置33が外装変速機である場合、フロントスプロケットアセンブリ24Aは、外径が異なる複数のフロントスプロケットを含む。本実施形態において、変速装置33は、シフトアップを指示する制御信号を操作装置30から受信した場合、チェーン26が巻き掛けられるフロントスプロケットを、現在のスプロケットよりも外径が大きいスプロケットに変更するように電動アクチュエータ33Aによってチェーンガイド33Bを動作させる。変速装置33は、シフトダウンを指示する制御信号を操作装置30から受信した場合、例えば、チェーン26が巻き掛けられるフロントスプロケットを、現在のフロントスプロケットよりも外径が小さいフロントスプロケットに変更するように、電動アクチュエータ33Aによってチェーンガイド33Bを動作させる。
変速装置32および33は内装変速機であってもよい。例えば、変速装置32が内装変速機である場合、変速装置32は例えば後輪14のハブに設けられ、リアスプロケットアセンブリ24Bに入力された回転を変速して後輪14に伝達する。このとき、リアスプロケットアセンブリ24Bに含まれるリアスプロケットは単一である。変速装置32および33の少なくとも1つは、無段変速機であってもよい。
アジャスタブルシートポスト34は、フレーム10Aに取り付けられる。アジャスタブルシートポスト34は、電動アクチュエータ34Aを含む。電動アクチュエータ34Aは、シート18をフレーム10Aに対して上昇および下降させる。電動アクチュエータ34Aは例えば電動モータである。アジャスタブルシートポスト34は、動作パラメータとして、フレーム10Aに対するシート18の支持位置を設定することによって制御することが可能なコンポーネントの1つである。
サスペンション装置36は、一例では、フロントフォーク10Bに設けられ、前輪12に加えられた衝撃を減衰するフロントサスペンションである。サスペンション装置36は、電動アクチュエータ36Aを含む。電動アクチュエータ36Aは例えば電動モータである。サスペンション装置36は、動作パラメータとして、例えば、減衰率、反発力、ストローク量、およびロックアウト状態を設定することによって制御することが可能なコンポーネントの1つである。サスペンション装置36は、後輪14に加えられた衝撃を減衰するリアサスペンションであってもよい。
撮像装置38は、人力駆動車1のライダーを撮像する撮像センサを備え、撮像センサによって得られる画像データを判定装置100へ出力する。撮像装置38は、ライダーの腕、手、または、手の指の動きを観察するために、例えばフレーム10Aまたはハンドルバー16の適宜箇所に設けられる。撮像装置38は、ライダーの脚、足、または、足の指の動きを観察するために、フレーム10Aまたはハンドルバー16の適宜箇所に設けられてもよい。撮像装置38は、ライダーに装着されるウェアラブルカメラであってもよい。
バッテリユニット40は、バッテリ40Aおよびバッテリホルダ40Bを含む。バッテリ40Aは、1または複数のバッテリセルを含む蓄電池である。バッテリホルダ40Bは、人力駆動車1のフレーム10Aに固定される。バッテリ40Aは、バッテリホルダ40Bに、着脱可能に取り付けられる。バッテリ40Aは、変速装置32、アジャスタブルシートポスト34、サスペンション装置36、撮像装置38などにそれぞれ電気的に接続される。
人力駆動車1は、更に、車速センサS1、ケイデンスセンサS2、トルクセンサS3、傾斜センサS4、加速度センサS5、および、位置センサS6の少なくとも1つを備えてもよい。以下の説明において、それぞれを個別に説明する必要がない場合、センサS1~S6とも記載する。
車速センサS1は、人力駆動車1の速度に応じた信号を出力するセンサである。車速センサS1は、フレーム10Aまたはフロントフォーク10Bに取り付けられる。車速センサS1は、例えばホール素子を含み、前輪12または後輪14に設けられる磁石を検出することによって、前輪12または後輪14の回転速度を計測する。一例では、車速センサS1は、前輪12または後輪14の回転速度を示す信号を出力する。他の例では、車速センサS1は、計測した前輪12または後輪14の回転速度に基づき、人力駆動車1の速度を算出し、算出した速度を示す信号を出力する。
ケイデンスセンサS2は、ケイデンスを示す信号を出力するセンサである。ケイデンスセンサS2は、フレーム10Aに取り付けられる。ケイデンスセンサS2は、例えばホール素子を含み、右クランク22Aまたは左クランク22Bに設けられる磁石を検出することによって、クランク軸22Cの単位時間当たりの回転数を計測する。
トルクセンサS3は、クランク22に加えられるトルクに応じた信号を出力するセンサである。トルクセンサS3は、右クランク22A、左クランク22B、クランク軸22C、フロントスプロケットアセンブリ24A、または、クランク軸22Cからフロントスプロケットアセンブリ24Aまでの駆動経路の何れかに設けられる。トルクセンサS3は、歪みセンサ、磁歪センサ、光センサ、または、圧力センサ等を含み、クランク22に加えられるトルクを検出する。
判定装置100は、ケイデンスセンサS2によって検出されるクランク軸22Cの単位時間当たりの回転数と、トルクセンサS3によって検出されるクランク22に加えられるトルクと、に基づき、人力駆動車100に加えられるパワーを算出することができる。
傾斜センサS4は、人力駆動車1の傾斜角度に応じた信号を出力するセンサである。傾斜センサS4が検出する傾斜角度は、例えば、人力駆動車1の左右方向に沿うピッチ軸まわりの回転角度である。傾斜センサS4は、一例として、ピッチ角度の角速度を検出するセンサを含み、ピッチ軸まわりの角速度を積分した値をピッチ角度として算出する。傾斜センサS4は、人力駆動車1の前後方向に沿うロール軸まわりの回転角度、および、人力駆動車1の上下方向に沿うヨー軸まわりの回転速度を併せて計測する構成であってもよい。
加速度センサS5は、人力駆動車1の前後方向の加速度に応じた信号を出力するセンサである。加速度センサS5は、例えば、フレーム10Aに設けられ、前後方向の加速度が加えられた場合における錘の変位を静電容量または抵抗値の変化として検出することによって加速度を計測する。加速度センサS5は、人力駆動車1の左右方向の加速度、および、人力駆動車1の上下方向の加速度を併せて計測するように構成されてもよい。また、加速度センサS5は、人力駆動車1のヨー軸、ロール軸、およびピッチ軸まわりの加速度を併せて計測するように構成されてもよい。
位置センサS6は、人力駆動車1の現在位置を示す信号を出力するセンサである。位置センサS6は、フレーム10Aまたはハンドルバー16に取り付けられる。位置センサS6は、例えばGPS(Global Positioning System)通信機を含み、GPS衛星からの電波を受信することによって、人力駆動車1の現在位置を測位する。位置センサS6は、測位した位置情報を逐次記録するメモリを備え、メモリに記録した位置情報に基づき、人力駆動車1が走行した走行路の情報を出力する構成であってもよい。
人力駆動車1のライダーには、筋電計M1および脳波計M2のうち少なくとも1つが装着されてもよい。筋電計M1および脳波計M2は、図3において図示される。
筋電計M1は、ライダーの筋肉における活動電位を計測する計測装置である。筋電計M1は、例えばライダーの腕、手、手の指、脚、足、または、足の指に装着される電極を備え、この電極によって計測したEMG(electromyogram)を出力する。
脳波計M2は、ライダーの脳波を計測する計測装置である。脳波計M2は、ライダーの頭部に装着され、脳内の神経細胞の電気活動に由来した電気現象をEEG(electroencephalogram)、MEG(magnetoencephalogram)等の手法を用いて計測する。電気現象を計測する構成に代えて、神経細胞発火後の二次的な現象として起こる脳血流または代謝の変化をfMRI(functional magnetic resonance imaging)、NIRS(Near Infrared Spectroscopy)等の手法を用いて計測してもよい。
人力駆動車1の判定装置100は、撮像装置38、筋電計M1、または、脳波計M2から、人力駆動車1のライダーに関するライダー情報を取得する。ライダー情報は、人力駆動車1のライダーの画像、ライダーの筋電に関する情報、および、ライダーの脳波に関する情報のうちの少なくとも1つを含む。他の例では、判定装置100は、ライダーが携帯するスマートフォンなどの携帯端末、または、ライダーに装着されるウェアラブル端末等を用いて、ライダー情報を取得してもよい。この場合、判定装置100は、有線通信または無線通信によって、ライダーの携帯端末またはウェアラブル端末から走行情報およびライダー情報を取得すればよい。
判定装置100は、人力駆動車1のライダーに関するライダー情報に基づいて人力駆動車1のコンポーネントの制御に関するライダーの予備動作を判定する。ここで、人力駆動車1のコンポーネントを制御するライダーの直接的な動作を実動作とした場合、その実動作に至るまでのライダーの動作を予備動作という。予備動作は、ライダーの腕、手、手の指、脚、足、および、足の指の動きのうちの少なくとも1つを含む。
図2は予備動作の一例を説明する説明図である。操作装置30が備える操作スイッチ30A,30Bの操作によってコンポーネントを制御する場合について、ライダーの予備動作を説明する。操作装置30の操作スイッチ30A,30Bは、ハンドルバー16の周面に離隔して設けられる。操作スイッチ30A,30Bの間には、例えばスイッチガイド30Cが設けられる。スイッチガイド30Cは、ライダーの指によって操作スイッチ30A,30Bの位置を探り当てるための突起である。操作スイッチ30A,30Bを操作しない場合、ライダーの指は、例えばスイッチガイド30C上に置かれる。
ライダーは、操作スイッチ30Aを操作する場合、スイッチガイド30C上に置かれた指を操作スイッチ30A上まで移動させた後、操作スイッチ30Aを押し込む動作を行う。この例において、操作スイッチ30Aを押し込む動作が実動作であり、スイッチガイド30C上から操作スイッチ30A上まで指を移動させる動作が予備動作である。ライダーが操作スイッチ30Bを操作する場合についても同様である。すなわち、操作スイッチ30Bを押し込む動作が実動作であり、スイッチガイド30C上に置かれたライダーの指を操作スイッチ30B上まで移動させる動作が予備動作である。
図2の例では、ライダーの指の動きによる実動作および予備動作を示したが、ライダーの腕、手、脚、足、または、足の指の動きに基づき、ライダーの予備動作を実動作から判別してもよい。
図3は第1実施形態に係る判定装置100の内部構成を示すブロック図である。判定装置100は、コンピュータの一種である。一例では、判定装置100は、人力駆動車1に搭載されるサイクルコンピュータなどの専用端末である。他の例では、判定装置100は、人力駆動車1のライダーが携帯するスマートフォン、タブレットなどの汎用端末である。判定装置100は、入力部102、演算処理部104、記憶部106、および、出力部108を備える。
入力部102は、撮像装置38を接続する接続インタフェースを備える。入力部102が備える接続インタフェースは、例えば有線のインタフェースである。撮像装置38は、通信ケーブルを介して入力部102に接続される。撮像装置38の画像データは記憶部106に一時的に記憶される。入力部102が備える接続インタフェースは、無線インタフェースであってもよい。無線インタフェースとして、Bluetooth(登録商標) 、WiFi(登録商標)、ZigBee(登録商標)、LTE(Long Term Evolution)、および、その他の無線LAN(Local Area Network)を含む通信規格に準じた通信インタフェースを用いることができる。
入力部102には、撮像装置38の他に、筋電計M1が接続されてもよく、脳波計M2が接続されてもよい。
演算処理部104は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)などを備える。演算処理部104が備えるROMには、判定装置100が備えるハードウェア各部の動作を制御するためのコンピュータプログラム等が記憶される。演算処理部104内のCPUは、ROMまたは記憶部106に記憶されるコンピュータプログラムを実行し、ハードウェア各部の動作を制御することによって、人力駆動車1のライダー情報に基づき人力駆動車1のコンポーネントの制御に関するライダーの予備動作を判定する処理を実現する。演算処理部104が備えるRAMには、演算の実行中に利用されるデータが一時的に記憶される。
演算処理部104は、CPU、ROMおよびRAMを備える構成としたが、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)、DSP(Digital Signal Processor)、量子プロセッサ、揮発性または不揮発性のメモリ等を備える1または複数の演算回路であってもよい。
記憶部106は、EEPROM(Electronically Erasable Programmable Read Only Memory)、SRAM(Static Random Access Memory)などのメモリを備える。記憶部106は、演算処理部104によって実行される判定処理プログラム110を含む各種コンピュータプログラム、および、後述する学習モデル120等を記憶する。
判定処理プログラム110は、コンピュータに、人力駆動車1のライダー情報に基づいて、人力駆動車1のコンポーネントの制御に関するライダーの予備動作を判定する処理を実行させるためのコンピュータプログラムである。演算処理部104は、判定処理プログラム110を実行することによって、人力駆動車1のライダー情報に基づいて、人力駆動車1のコンポーネントの制御に関するライダーの予備動作を判定する。
判定処理プログラム110を含む各種コンピュータプログラムは、コンピュータプログラムが記憶される記憶媒体Mによって提供され得る。記憶媒体Mは、例えば、CD-ROM、USBメモリ、SD(Secure Digital)カード、マイクロSDカード、コンパクトフラッシュ(登録商標)などの可搬型メモリである。本実施形態において、記憶媒体Mは、判定処理プログラム110を含む各種コンピュータプログラムを読み取り可能に記憶する非一時的な記憶媒体である。演算処理部104は、読取装置を用いて記憶媒体Mから各種コンピュータプログラムを読み取り、読み取った各種コンピュータプログラムを記憶部106にインストールする。
記憶部106に記憶される学習モデル120は、その定義情報によって記述される。学習モデル120の定義情報は、学習モデル120の構造情報、学習モデル120で用いられるノード間の重みおよびバイアスなどの各種パラメータ等を含む。本実施形態では、人力駆動車1のライダー情報の入力に応じて、ライダーの予備動作の識別結果を出力するように構成された学習モデル120が記憶部106に記憶される。学習モデル120は、一例では、CNN(Convolutional Neural Networks)を用いて構築される学習モデルである。学習モデル120は、CNNに限定されず、R-CNN(Region-based CNN)、RNN(Recurrent Neural Networks)、SVM(Support Vector Machine)、ベイジアンネットワークなどを用いて構築される学習モデルであってもよい。
出力部108は、演算処理部104による判定結果を出力する出力インタフェースを備える。判定結果の出力形式は任意である。一例では、出力部108は、液晶ディスプレイ、有機EL(Electro-Luminescence)ディスプレイ等の表示デバイスを備える。この場合、出力部108は、ライダーの予備動作に関する判定結果を文字情報または画像情報として表示デバイスに表示してもよい。他の例では、出力部108は、スピーカ等の音声出力デバイスを備える。この場合、出力部108は、ライダーの予備動作に関する判定結果を音声出力デバイスから音声として出力してもよい。更に他の例では、出力部108は、通信インタフェースを備える。この場合、出力部108は、ライダーの予備動作に関する判定結果を通信インタフェースに接続された外部機器へ出力してもよい。
図4は学習モデル120の実装例を示す模式図である。学習モデル120は、CNN(Convolutional Neural Networks)などによる学習モデルであり、例えば、入力層122、中間層124、および、出力層126を備える。学習モデル120は、ライダー情報の入力に対して、ライダーの予備動作に関する識別結果を出力するように予め学習される。
入力層122には人力駆動車1のライダーに関するライダー情報が入力される。ライダー情報の一例は、撮像装置38によって得られるライダーの画像である。ライダー情報は、筋電計M1によって得られるライダーの筋電の情報、または、脳波計M2によって得られるライダーの脳波の情報であってもよい。
中間層124は、ライダー情報、および、予備動作に関する情報を教師データに用いて、入力層122に入力される情報と、出力層126が出力する識別結果との間の関係を学習している。中間層124は、例えば、畳み込み層124a、プーリング層124b、および、全結合層124cにより構成される。畳み込み層124aおよびプーリング層124bは交互に複数設けられてもよい。畳み込み層124aおよびプーリング層124bは、各層のノードを用いた演算によって、入力層122を通じて入力されるライダーの画像、筋電の情報、または、脳波の情報から特徴量を抽出する。畳み込み層124aおよびプーリング層124bによって抽出された特徴量は、全結合層124cを通じて出力層126へ出力される。
出力層126は、人力駆動車1のコンポーネントの操作に関するライダーの予備動作についての識別結果を出力する。出力層126は、1つ又は複数のノードを備える。出力層126は、全結合層124cから入力される特徴量に基づき、ライダーの予備動作に関する識別結果を各ノードから出力する。各ノードから出力される識別結果は、例えば、操作スイッチ30Aの操作に至る予備動作である確率、および、操作スイッチ30Bの操作に至る予備動作である確率を含む。
判定装置100の演算処理部104は、学習モデル120の出力層126からライダーの予備動作に関する識別結果を取得する。演算処理部104は、取得した識別結果に基づき、ライダーの予備動作を判定することができる。
図5は第1実施形態における判定手順を説明するフローチャートである。判定装置100の演算処理部104は、ステップS101において、人力駆動車1のライダー情報を取得する。具体的には、演算処理部104は、入力部102を通じて、撮像装置38によって得られるライダーの画像、筋電計M1によって得られるライダーの筋電の情報、および、脳波計M2によって得られるライダーの脳波に関する情報のうちの少なくとも1つを取得する。
演算処理部104は、ステップS102において、入力部102から取得したライダー情報を学習モデル120の入力層122に入力することによって学習モデル120による演算を実行する。入力層122に入力されたライダー情報は中間層124に与えられる。中間層124における畳み込み層124aおよびプーリング層124bでは、ノード間の重みおよびバイアスを含む活性化関数を用いた演算が行われ、演算結果が全結合層124cを通じて出力層126へ出力される。出力層126は、各ノードを通じて、ライダーの予備動作に関する識別結果を出力する。以上のように、学習モデル120は、入力層122にライダー情報が入力されると、中間層124において演算し、ライダーの予備動作についての識別結果を出力層116から出力するようコンピュータ、すなわち判定装置100、を機能させる。
演算処理部104は、ステップS103において、学習モデル120の演算結果として得られるライダーの予備動作に関する識別結果を出力層126から取得する。学習モデル120の出力層126から得られる識別結果は、例えば、操作スイッチ30Aの操作に至る予備動作である確率、および、操作スイッチ30Bの操作に至る予備動作である確率を含む。
演算処理部104は、ステップS104において、学習モデル120の出力層126から取得した識別結果に基づき、ライダーの予備動作を判定する。例えば、操作スイッチ30Aの操作に至る予備動作である確率がX1、操作スイッチ30Bの操作に至る予備動作である確率がX2との識別結果が得られ、かつ、確率X1のみが閾値THを超える場合、演算処理部104は、操作スイッチ30Aの操作に至る予備動作と判定する。閾値THは適宜設定することができ、一例では90%である。同様に、確率X1,X2のうち、確率X2のみが閾値を超える場合、演算処理部104は、操作スイッチ30Bの操作に至る予備動作と判定する。確率X1,X2の何れも閾値THを超えない場合、演算処理部104は、予備動作が行われていないと判定する。演算処理部104は、判定結果を出力部108から出力してもよい。
以上のように、第1実施形態における判定装置100は、学習モデル120にライダー情報を入力し、学習モデル120から出力される識別結果に基づいて、ライダーの予備動作を判定する。
本実施形態では、学習モデル120を用いてライダーの予備動作を判定する構成としたが、学習モデル120を用いずにライダーの予備動作を判定する構成としてもよい。例えば、予備動作の実行中におけるライダーの画像を予め用意しておき、撮像装置38からライダーの画像が得られた場合、演算処理部104は、両者の差分画像を生成し、生成した差分画像に基づき予備動作を判定してもよい。予備動作の実行中における筋電または脳波のデータを予め用意しておき、筋電計M1または脳波計M2から得られる筋電または脳波のデータとの比較によって、予備動作を判定してもよい。
(第2実施形態)
第2実施形態では、判定装置100による判定結果に基づき、人力駆動車1のコンポーネントを制御する制御システムについて説明する。
図6は第2実施形態に係る制御システムを説明するブロック図である。第2実施形態に係る制御システムは、判定装置100と、判定装置100による判定結果に基づき、人力駆動車1のコンポーネントを制御する制御装置200とを備える。より具体的には、制御装置200は、判定装置100の判定結果に基づいて人力駆動車1のコンポーネントが第1状態から第1状態とは異なる第2状態に遷移するための準備動作を実行するように、コンポーネントを制御する。制御装置200は、独立した装置として設けられてもよく、制御対象のコンポーネント内に設けられてもよい。図6に示した例では、判定装置100と制御装置200とを別体として記載したが、判定装置100と制御装置200とが一体となった構成であってもよい。
制御装置200は、制御部202、記憶部204、入力部206、および、出力部208を備える。制御部202は、例えば、CPU、ROM、RAMなどを備える。制御部202が備えるROMには、制御装置200が備えるハードウェア各部の動作を制御するための制御プログラム等が記憶される。制御部202内のCPUは、ROMに記憶された制御プログラム、および、記憶部204に記憶された各種プログラムを実行し、ハードウェア各部の動作を制御することによって、本願の制御装置を実現する。具体的には、制御部202は、入力部206を通じて入力される判定装置100からの判定結果に基づき、人力駆動車1のコンポーネントを制御する制御信号を生成し、生成した制御信号を出力部208から出力する。
制御部202は上述の構成に限定されない。制御部202は、シングルコアCPU、マルチコアCPU、FPGA、揮発性または不揮発性のメモリ等を含む1または複数の制御回路であればよい。また、制御部202は、日時情報を出力するクロック、計測開始指示を与えてから計測終了指示を与えるまでの経過時間を計測するタイマ、数をカウントするカウンタ等の機能を備えていてもよい。
記憶部204は、EEPROM、SRAMなどのメモリを備える。記憶部204には、制御部202によって実行されるコンピュータプログラム、および、このコンピュータプログラムが用いるデータ等が記憶される。
入力部206は、ケーブルを介して判定装置100を接続するインタフェースを備える。入力部206には、判定装置100から出力される判定結果が入力される。入力部206に入力される判定結果は、ライダーの身体的コンディションを示すデータである。入力部206は、入力された判定結果を制御部202へ出力する。本実施形態では、ケーブルを介して判定装置100を接続する構成としたが、無線通信のインタフェースを介して、判定装置100と制御装置200との間でデータを送受信できるように構成してもよい。無線通信では、Bluetooth 、WiFi、ZigBee、LTE、その他の無線LAN等の通信規格に準じた無線通信方式が利用できる。
出力部208は、ケーブルを介して制御対象のコンポーネントを接続するインタフェースを備える。出力部208は、制御部202から出力される制御信号を制御対象のコンポーネントへ出力する。本実施形態では、ケーブルを介して人力駆動車1のコンポーネントを接続する構成としたが、無線通信のインタフェースを介して、制御装置200と人力駆動車1のコンポーネントとの間でデータを送受信できるように構成してもよい。無線通信では、上述した各種の通信規格に準拠した無線通信方式が利用できる。
制御装置200に接続されるコンポーネントの一例は変速装置32である。すなわち、本実施形態では、コンポーネントは、変速装置32を含む。以下では、判定装置100の判定結果に基づき、制御装置200が変速装置32を制御する制御手順について説明する。
図7は変速装置32の制御状態を説明するタイミングチャートである。ステップS201において、制御装置200の制御部202は、判定装置100による判定結果を取得する。ステップS202において、制御部202は、判定装置100から取得した判定結果に基づき、変速装置32が第1状態から第1状態とは異なる第2状態に遷移するための準備動作を実行するように、変速装置32を制御する。このとき、制御部202は、出力部208を通じて準備動作を指示する制御信号を変速装置32へ出力する。ここで、第1状態は制御開始前の状態を表し、第2状態は制御完了後の状態を表す。本実施形態において、準備動作は、人力駆動車1の変速比の変更に関する。
例えば、制御部202は、操作スイッチ30Aの操作に至る予備動作であるとの判定結果を判定装置100から取得した場合、チェーン26が巻き掛けられるリアスプロケットを、現在巻き掛けられているリアスプロケットよりも外径が小さいリアスプロケットに変更するために、電動アクチュエータ32Aの駆動開始を指示する。同様に、制御部202は、操作スイッチ30Bの操作に至る予備動作であるとの判定結果を判定装置100から取得した場合、チェーン26が巻き掛けられるリアスプロケットを、現在巻き掛けられているリアスプロケットよりも外径が大きいリアスプロケットに変更するために、電動アクチュエータ32Aの駆動開始を指示する。
ステップS203において、変速装置32は、電動アクチュエータ32Aの駆動を開始させることによって準備動作を実行する。準備動作に応じて、コンポーネント、すなわち変速装置32は、第1状態から第1状態および第2状態とは異なる中間状態に遷移する。判定装置100の判定結果が操作スイッチ30Aの操作に至る予備動作であり、かつ、現在チェーンガイド32Bが6番目に大きいリアスプロケットに対応する位置に配されている場合について説明する。例えば、第1状態が、チェーンガイド32Bが6番目に大きいリアスプロケットに対応する位置に配されている状態であり、第2状態が、チェーンガイド32Bが5番目に大きいリアスプロケットに対応する位置に配されている状態である場合、中間状態は、チェーンガイド32Bが、6番目に大きいリアスプロケットに対応する位置と、第2状態においてチェーンガイド32Bが5番目に大きいリアスプロケットに対応する位置との間に定義される中間位置に配される状態を意味する。変速装置32は、準備動作として、電動アクチュエータ32Aを駆動し、チェーンガイド32Bを中間位置に配する。
ステップS204において、操作装置30は、操作スイッチ30Aまたは操作スイッチ30Bの操作を受付ける。ステップS205において、制御装置200は、変速装置32に対する操作に関する操作情報に応じて、変速装置32が中間状態から第2状態に遷移するように、変速装置32を制御する。すなわち、制御装置200は、コンポーネントに対する操作に関する操作情報に応じて、コンポーネントが中間状態から第2状態に遷移するように、コンポーネントを制御する。
ステップS206において、変速装置32は、操作装置30から送信される制御信号を受信した場合、制御信号に応じて電動アクチュエータ32Aを駆動し、中間状態から第2状態へ遷移させる。
以上のように、第2実施形態では、ライダーの予備動作に応じて、変速装置32が制御開始前の第1状態から中間状態へ遷移し、予備動作に続いて実際の操作が行われた場合、中間状態から第2状態へ遷移するので、ライダーが所望する制御状態に速やかに移行させることができる。
第2実施形態では、制御対象のコンポーネントを変速装置32としたが、制御対象のコンポーネントは変速装置32に限定されず、変速装置33、アジャスタブルシートポスト34、サスペンション装置36、または、ペダル28であってもよい。
第1変形例では、コンポーネントはアジャスタブルシートポスト34を含む。第1変形例では、操作装置30の操作によってアジャスタブルシートポスト34を制御し、シート18の高さを変更する。第1変形例において、準備動作は人力駆動車1のシートの高さを変更する動作に関する。判定装置100は、前述と同様の手順によって、操作装置30の操作に関するライダーの予備動作を判定する。制御装置200は、判定装置100の判定結果に基づいて準備動作を実行するように、アジャスタブルシートポスト34を制御する。判定装置100は、操作装置30の操作に関する予備に限らず、ライダーの姿勢に基づく予備動作を判定してもよい。例えば、判定装置100は、撮像装置38によって得られるライダーの画像に基づき、ライダーの腰をシート18から浮かせる動作等を予備動作として判定してもよい。
第2変形例では、コンポーネントはよってサスペンション装置36を含む。第2変形例では、操作装置30の操作によってサスペンション装置36を制御し、サスペンション装置36の動作状態を変更する。第2変形例において、準備動作はサスペンション装置の動作状態の変更に関する。判定装置100は、前述と同様の手順によって、操作装置30の操作に関するライダーの予備動作を判定する。制御装置200は、判定装置100の判定結果に基づいてサスペンション装置36の動作状態を変更する準備動作を実行するように、サスペンション装置36を制御する。判定装置100は、操作装置30の操作に関する予備に限らず、ライダーの姿勢に基づく予備動作を判定してもよい。例えば、判定装置100は、撮像装置38によって得られるライダーの画像に基づき、ライダーの前かがみになる動作等を予備動作として判定してもよい。
第3変形例では、コンポーネントはライダーのシューズと係合する係合機構28Aを備えるペダル28を含む。第3実施形態では、ペダル28の係合機構28Aを制御し、ライダーのシューズとの係合状態を変更する。第3変形例において、準備動作は、シューズと係合機構28Aとの係合を解除する動作に関する。判定装置100は、例えばライダーの脚、足または足の指の動きに基づいてライダーの予備動作を判定する。具体的には、判定装置100は、撮像装置38によって得られるライダーの画像に基づき、ライダーの足首を外側へ捻る動作等を予備動作として判定する。制御装置200は、判定装置100の判定結果に基づいてシューズと係合機構28Aとの係合を解除する準備動作を実行するように、ペダル28を制御する。
(第3実施形態)
第3実施形態では、ライダー情報、準備動作に関する準備動作情報、および、コンポーネントに対する操作に関する操作情報を外部装置へ送信する送信装置を更に備える制御システムについて説明する。
図8は第3実施形態に係る送信装置300の内部構成を示すブロック図である。第3実施形態に係る通信システムは、判定装置100および制御装置200に加え、送信装置300を備える。図8においては、判定装置100および制御装置200の図示を省略している。
送信装置300は、制御部302、記憶部304、入力部306、および、通信部308を備える。制御部302は、例えば、CPU、ROM、RAMなどを備える。制御部302が備えるROMには、送信装置300が備えるハードウェア各部の動作を制御するための制御プログラム等が記憶される。制御部302内のCPUは、ROMに記憶された制御プログラム、および、記憶部304に記憶された各種プログラムを実行し、ハードウェア各部の動作を制御することによって、本願の通信装置を実現する。具体的には、制御部302は、入力部306から入力されるライダー情報、準備動作情報、および、操作情報を、通信部308を通じて外部装置へ送信する。外部装置は、一例では、インターネット網などの通信ネットワークに接続されたサーバ装置400である。
制御部302は上述の構成に限定されない。制御部302は、シングルコアCPU、マルチコアCPU、FPGA、揮発性または不揮発性のメモリ等を含む1または複数の制御回路であればよい。また、制御部302は、日時情報を出力するクロック、計測開始指示を与えてから計測終了指示を与えるまでの経過時間を計測するタイマ、数をカウントするカウンタ等の機能を備えていてもよい。
記憶部304は、EEPROM、SRAMなどのメモリを備える。記憶部304には、制御部302によって実行されるコンピュータプログラム、および、このコンピュータプログラムが用いるデータ等が記憶される。
入力部306は、判定装置100、制御装置200、および、操作装置30を接続する接続インタフェースを備える。接続インタフェースは、有線または無線のインタフェースを用いることができる。入力部306には、ライダー情報、準備動作に関する準備動作情報、および、コンポーネントに対する操作に関する操作情報が入力される。ライダー情報は、判定装置100に入力される情報であり、ライダーの画像、筋電の情報、および、脳波の情報のうちの少なくとも1つを含む。送信装置300は、判定装置100からライダー情報を取得する。準備動作情報は、制御装置200が制御対象のコンポーネントに実行させた準備動作に関する情報であり、制御装置200または制御対象のコンポーネントによって生成される。送信装置300は、制御装置200または制御対象のコンポーネントから準備動作情報を取得する。操作情報は、操作装置30の操作に応じて出力される操作信号に基づき生成される情報である。操作情報は、判定装置100または制御装置200によって生成されてもよく、送信装置300の内部において生成されてもよい。
通信部308は、通信インタフェースを備える。通信インタフェースには、例えば、WiFi、LTE、その他の無線LAN等の通信規格に準拠した通信インタフェースが利用される。送信装置300は、入力部306を通じて入力されたライダー情報、準備動作情報、および、操作情報を、通信部308を通じて、サーバ装置400へ送信する。
第3実施形態では、送信装置300を独立した装置として記載したが、判定装置100または制御装置200の内部に搭載されてもよい。
以上のように、第3実施形態では、人力駆動車1において得られるライダー情報、準備動作情報、および、操作情報を外部装置へ送信できる。
(第4実施形態)
第4実施形態では、学習モデル120の生成方法について説明する。
人力駆動車1の判定装置100において用いられる学習モデル120は、例えばサーバ装置400において生成される。図9はサーバ装置400の内部構成を示すブロック図である。サーバ装置400は、制御部402、記憶部404、入力部406、および、通信部408を備える。
制御部402は、例えば、CPU、ROM、RAMなどを備える。制御部402が備えるROMには、サーバ装置400が備えるハードウェア各部の動作を制御するための制御プログラム等が記憶される。制御部402内のCPUは、ROMに記憶された制御プログラム、および、記憶部404に記憶された各種プログラムを実行し、ハードウェア各部の動作を制御する。
制御部402は上述の構成に限定されない。制御部402は、CPU、ROM、および、RAMを備えた構成に限定されない。制御部402は、例えば、GPU、FPGA、DSP、量子プロセッサ、揮発性または不揮発性のメモリ等を含む1または複数の制御回路または演算回路であってもよい。また、制御部402は、日時情報を出力するクロック、計測開始指示を与えてから計測終了指示を与えるまでの経過時間を計測するタイマ、数をカウントするカウンタ等の機能を備えていてもよい。
記憶部404は、ハードディスクドライブなどの記憶装置を備える。記憶部404には、制御部402によって実行される各種コンピュータプログラム、サーバ装置400が生成する学習モデル410等が記憶される。
入力部406は、各種データまたはプログラムを記録した記録媒体から、データおよびプログラムを取得するための入力インタフェースを備える。入力部406を通じて入力された各種データおよびプログラムは記憶部404に記憶される。
通信部408は通信インタフェースを備える。通信部408は、例えば、サーバ装置400を宛先として送信装置300から送信される情報を受信すると共に、送信装置300へ送信すべき情報を送信する。
以下、サーバ装置400にて学習モデル410を生成する手順について説明する。
図10は学習モデル410の生成手順を説明するフローチャートである。サーバ装置400の制御部402は、ステップS401において、入力部406または通信部408を通じて、学習モデル410を学習するための教師データを取得する。教師データは、人力駆動車1のライダーに関するライダー情報と、人力駆動車1のコンポーネントの状態を、第1状態から第1状態とは異なる第2状態へ遷移させるための操作に関するライダーの予備動作に関する情報とを含む。学習モデル410を生成する初期段階では、教師データは、例えばサーバ装置400の管理者等によって設定されてもよい。学習が進めば、学習モデル410による推定結果を用いて、教師データを設定する構成としてもよい。後者の場合、学習モデル410への入力と、推定結果として得られるラベルデータとを、教師データとして設定できる。
制御部402は、ステップS402において、教師データとして含まれるライダー情報を学習モデル410へ入力する。学習が開始される前の段階では、学習モデル410を記述する定義情報には、初期設定値が与えられる。学習モデル410は、第1実施形態において説明した学習モデル120と同様に、入力層、中間層、および、出力層を備える。学習モデル410の入力層にはライダー情報が与えられる。入力層に与えられた情報は、隣接する中間層のノードへ出力される。中間層ではノード間の重みおよびバイアスを含む活性化関数を用いた演算が行われ、中間層による演算結果が出力層の各ノードへ出力される。制御部402は、ステップS403において、学習モデル410による演算結果を出力層の各ノードから取得する。
制御部402は、ステップS404において、ステップS403にて得られた演算結果を評価し、ステップS405において、学習モデル410の学習が完了したか否かを判断する。具体的には、制御部402は、ステップS403において得られる演算結果と教師データとに基づく誤差関数を用いて演算結果を評価することができる。誤差関数は、目的関数、損失関数、または、コスト関数とも呼ばれる。制御部402は、最急降下法などの勾配降下法により誤差関数を最適化する過程で、誤差関数が閾値以下または閾値以上となった場合、学習モデル410の学習が完了したと判断する。制御部402は、過学習の問題を避けるために、交差検定、早期打ち切りなどの手法を取り入れ、適切なタイミングにて学習を終了させてもよい。
ステップS405において学習が完了していないと判断した場合、制御部402は、ステップS406において、中間層で用いられるノード間の重みおよびバイアスを更新し、処理をステップS401へ戻す。制御部402は、出力層から入力層に向かって、ノード間の重みおよびバイアスを順次更新する誤差逆伝搬法を用いて、各ノード間の重みおよびバイアスを更新することができる。
ステップS405において学習が完了したと判断した場合、制御部402は、ステップS407において、学習済みの学習モデル410として記憶部404に記憶させ、本フローチャートによる処理を終了する。
以上のように、第4実施形態では、人力駆動車1のライダーに関するライダー情報と、人力駆動車1のコンポーネントの状態を、第1状態から第1状態とは異なる第2状態へ遷移させるための操作に関するライダーの予備動作に関する情報とを教師データに用いて、ライダー情報が入力されると、予備動作の識別結果を出力する学習モデル410をサーバ装置400において生成できる。
サーバ装置400は、判定装置100からの要求に応じて、学習済みの学習モデル410を判定装置100へ送信してもよい。判定装置100は、送信装置300を介して、サーバ装置400から送信される学習モデル410を取得し、記憶部106に記憶させる。記憶部106に記憶させた学習モデル410は、実施の形態1において説明した学習モデル120として機能し、ライダー情報の入力に対して、ライダーの予備動作に関する識別結果を出力するように構成される。
サーバ装置400は、学習モデル410を生成した後、ライダーの予備動作を判定してもよい。この場合、撮像装置38から得られるライダーの画像、筋電計M1から得られる筋電の情報、および、脳波計M2から得られる脳波の情報の少なくとも1つを、送信装置300を通じてサーバ装置400へ送信する。サーバ装置400は、ライダーの画像、筋電の情報、および、脳波の情報のうちの少なくとも1つを受信し、学習モデル410を用いて、ライダーの予備動作を判定する。判定結果は、送信装置300を通じて、制御装置200へ送信され、判定結果に応じた制御が実行される。
(第5実施形態)
第5実施形態では、学習モデル120を再学習する構成について説明する。
第5実施形態の判定装置100には、入力部102を介して、操作装置30が接続される。判定装置100には、コンポーネントに対する操作に関する操作情報が入力部102から入力される。判定装置100は、操作情報と準備動作との対応関係に応じて、学習モデル120を再学習する。すなわち、判定装置100は、コンポーネントに実行させた準備動作と、ライダーの操作に基づくコンポーネントの動作との異同に応じて、教師データを設定し、設定した教師データを用いて学習モデル120の再学習を行う。
図11は学習モデル120の再学習手順を説明するフローチャートである。ステップS501において、判定装置100の演算処理部104は、再学習用の教師データを設定する。演算処理部104は、予備動作の判定に用いたライダー情報、判定結果に基づきコンポーネントに実行させた準備動作の情報、および、ライダーの実際の操作を示す操作情報に基づき、再学習用の教師データを設定することができる。再学習用の教師データには、予備動作の判定に用いたライダー情報と、予備動作の識別結果を示すラベルデータとが含まれる。ラベルは、操作情報に基づくコンポーネントの動作と、準備動作との異同に応じて設定される。
ステップS502において、演算処理部104は、教師データに含まれるライダー情報を学習モデル120へ入力する。学習モデル120の入力層122にはライダー情報が与えられる。入力層122に与えられたライダー情報は、隣接する中間層124のノードへ出力される。中間層124ではノード間の重みおよびバイアスを含む活性化関数を用いた演算が行われ、中間層124による演算結果が出力層126の各ノードへ出力される。
ステップS503において、演算処理部104は、学習モデル120による演算結果を出力層126の各ノードから取得する。演算結果は、予備動作の識別結果を示す。
ステップS504において、演算処理部104は、ステップS503にて得られた演算結果を評価する。ステップS505において、演算処理部104は、学習が完了したか否かを判断する。具体的には、演算処理部104は、ステップS503において得られる演算結果と教師データとに基づく誤差関数を用いて演算結果を評価することができる。誤差関数は、目的関数、損失関数、または、コスト関数とも呼ばれる。演算処理部104は、最急降下法などの勾配降下法により誤差関数を最適化する過程で、誤差関数が閾値以下または閾値以上となった場合、学習モデル120の学習が完了したと判断する。演算処理部104は、過学習の問題を避けるために、交差検定、早期打ち切りなどの手法を取り入れ、適切なタイミングにて学習を終了させてもよい。
ステップS505において学習が完了していないと判断した場合、ステップS506において、演算処理部104は、中間層124で用いられるノード間の重みおよびバイアスを更新し、処理をステップS501へ戻す。制御部402は、出力層126から入力層122に向かって、ノード間の重みおよびバイアスを順次更新する誤差逆伝搬法を用いて、各ノード間の重みおよびバイアスを更新することができる。
ステップS505において学習が完了したと判断した場合、制御部402は、本フローチャートによる処理を終了する。
以上のように、第5実施形態では、判定装置100において学習モデル120を再学習することができる。
第5実施形態では、判定装置100において学習モデル120を再学習する構成としたが、再学習に必要な教師データをサーバ装置400へ送信し、サーバ装置400にて学習モデル410を再学習してもよいことは勿論のことである。
(第6実施形態)
第6実施形態では、人力駆動車1のライダーに関する画像、ライダーの筋電に関する情報、および、ライダーの脳波に関する情報のうちの少なくとも1つに基づいて人力駆動車1のコンポーネントの操作に関する前記ライダーの動作を判定する判定装置100、および、判定装置100と、判定装置100の判定結果に基づいて、コンポーネントが第1状態から前記第1状態とは異なる第2状態へ遷移するようにコンポーネントを制御する制御装置200と、を備える制御システムについて説明する。
図12は第6実施形態に係る制御システムを説明するブロック図である。第6実施形態に係る制御システムは、判定装置100と、判定装置100による判定結果に基づき、人力駆動車1のコンポーネントを制御する制御装置200とを備える。判定装置100および制御装置200の内部構成は、第2実施形態と同様である。
第6実施形態における判定装置100は、ライダー情報の入力に対して、ライダーの操作に関する識別結果を出力するように予め学習された学習モデル130を備える。学習モデル130は、CNNなどにより構築される学習モデルであり、例えば入力層、中間層および出力層を備える。第6実施形態における学習モデル130は、ライダーの操作に関する識別結果を出力する点が第1実施形態における学習モデル120と相違する。
判定装置100は、学習モデル130を用いて、人力駆動車1が備えるコンポーネントの操作に関するライダーの動作を判定する。すなわち、第1実施形態ではライダーの予備動作を判定するのに対し、第6実施形態では人力駆動車1のコンポーネントを制御するライダーの直接的な動作を判定する。判定装置100は、判定結果を制御装置200へ出力する。
制御装置200は、判定装置100から出力される判定結果に基づき、人力駆動車1のコンポーネントを制御する。このとき、制御装置200は、コンポーネントが第1状態から第1状態とは異なる第2状態へ遷移するようにコンポーネントの制御を行う。ここで、第1状態は制御開始前の状態を表し、第2状態は制御完了後の状態を表す。
制御装置200に接続されるコンポーネントの一例は変速装置32である。以下では、判定装置100の判定結果に基づき、制御装置200が変速装置32を制御する制御手順について説明する。
図13は変速装置32の制御状態を説明するタイミングチャートである。ステップS601において、制御装置200の制御部202は、判定装置100による判定結果を取得する。ステップS602において、制御部202は、判定装置100から取得した判定結果に基づき、変速装置32が第1状態から第1状態とは異なる第2状態に遷移するように、変速装置32を制御する。このとき、制御部202は、出力部208を通じて第1状態から第2状態への遷移を指示する制御信号を変速装置32へ出力する。
例えば、制御部202は、変速装置32のシフトアップに関する操作であるとの判定結果を判定装置100から取得した場合、チェーン26が巻き掛けられるリアスプロケットを、現在巻き掛けられているリアスプロケットよりも外径が小さいリアスプロケットに変更するために、電動アクチュエータ32Aの駆動を指示する。同様に、制御部202は、変速装置32のシフトダウンに関する操作であるとの判定結果を判定装置100から取得した場合、チェーン26が巻き掛けられるリアスプロケットを、現在巻き掛けられているリアスプロケットよりも外径が大きいリアスプロケットに変更するために、電動アクチュエータ32Aの駆動を指示する。
ステップS603において、変速装置32は、電動アクチュエータ32Aの駆動し、第1状態から第2状態へ遷移させる。例えば、第1状態が、チェーンガイド32Bが6番目に大きいリアスプロケットに対応する位置に配されている状態であり、第2状態が、チェーンガイド32Bが5番目に大きいリアスプロケットに対応する位置に配されている状態である場合、変速装置32は、チェーンガイド32Bが5番目に大きいリアスプロケットに対応する位置に配されるように電動アクチュエータ32Aを駆動する。
第6実施形態では、制御対象のコンポーネントを変速装置32としたが、制御対象のコンポーネントは変速装置32に限定されず、変速装置33、アジャスタブルシートポスト34、サスペンション装置36、または、ペダル28であってもよい。
以上のように、第6実施形態では、コンポーネントの操作に関するライダーの動作に応じて、コンポーネントを制御することができる。コンポーネントの操作に関するライダーの動作は、実際の動作である必要はないので、実際に機能する操作装置30を設けていない場合であっても、ライダーの動作によってコンポーネントを制御することができる。
(第7実施形態)
第7実施形態では、人力駆動車1が備えるコンポーネントの制御状態を判定し、判定結果に応じて、別のコンポーネントを制御する構成について説明する。
図14は第7実施形態に係る制御システムを説明するブロック図である。第7実施形態に係る制御システムは、人力駆動車1に関する情報が入力されると人力駆動車1のコンポーネントの制御状態についての識別結果を出力するように構成された学習モデル140に、人力駆動車1に関する情報を入力し、学習モデル140から出力される識別結果に基づいて、人力駆動車1のコンポーネントの制御状態を判定する判定装置100と、判定装置100による判定結果に基づいて人力駆動車1のコンポーネントが第1状態から第1状態とは異なる第2状態に遷移するように異なる別の人力駆動車1のコンポーネントを制御する制御装置200と、を備える。判定装置100および制御装置200の内部構成は、第2実施形態と同様である。
第7実施形態における判定装置100の入力部102には、人力駆動車1に関する情報が入力される。人力駆動車1に関する情報は、人力駆動車1に関する画像、速度、加速度、傾斜角度、地理的な位置、ケイデンス、パワー、および車輪(前輪12または後輪14)の回転速度に関する情報のうちの少なくとも1つに関する情報を含む。これらの情報は、撮像装置38、車速センサS1、ケイデンスセンサS2、トルクセンサS3、傾斜センサS4、加速度センサS5、および、位置センサS6により取得することが可能である。
判定装置100は、人力駆動車1に関する情報の入力に対して、人力駆動車1のコンポーネントの制御状態についての識別結果を出力するように予め学習された学習モデル140を備える。学習モデル140は、CNNなどにより構築される学習モデルであり、例えば入力層、中間層および出力層を備える。第7実施形態における学習モデル140は、人力駆動車1に関する情報を入力とし、コンポーネントの制御状態を示す識別結果を出力する点が第1実施形態における学習モデル120と相違する。
判定装置100は、学習モデル140を用いて、人力駆動車1が備えるコンポーネントの制御状態を判定する。判定装置100は、判定結果を制御装置200へ出力する。
制御装置200は、判定装置100から出力される判定結果に基づき、人力駆動車1の別のコンポーネントを制御する。このとき、制御装置200は、判定対象のコンポーネントが第1状態から第1状態とは異なる第2状態へ遷移するように別のコンポーネントの制御を行う。ここで、第1状態は制御開始前の状態を表し、第2状態は制御完了後の状態を表す。
一例では、判定装置100の判定対象であるコンポーネントは、チェーン26であり、制御装置200の制御対象であるコンポーネントは、チェーンデバイス26Aである。以下では、判定装置100の判定結果に基づき、制御装置200がチェーンデバイス26Aを制御する制御手順について説明する。
図15は変速装置32の制御状態を説明するタイミングチャートである。ステップS701において、制御装置200の制御部202は、判定装置100による判定結果を取得する。判定装置100から取得する判定結果は、チェーン26の制御状態を表し、例えばチェーン26の動作に異変が発生しているか否かを判定する。
ステップS702において、制御部202は、判定装置100から取得した判定結果に基づき、チェーンデバイス26Aが第1状態から第1状態とは異なる第2状態に遷移するように、チェーンデバイス26Aを制御する。このとき、制御部202は、出力部208を通じて第1状態から第2状態への遷移を指示する制御信号をチェーンデバイス26Aへ出力する。
ステップS703において、チェーンデバイス26Aは、制御部202からの制御信号に基づき、第1状態から第2状態へ遷移する。第1状態から第2状態への遷移には、図に示していない電動アクチュエータが用いられる。チェーンデバイス26Aは、第1状態から第2状態への遷移により、チェーン26の動作異変を抑える。
第7実施形態では、判定対象のコンポーネントをチェーン26、制御対象のコンポーネントをチェーンデバイス26Aとしたが、判定対象および制御対象のコンポーネントの組み合わせは、これらに限定されない。人力駆動車1が備える各種コンポーネントの組み合わせを用いて、人力駆動車1が備えるコンポーネントの制御状態を判定し、その判定結果に応じて別のコンポーネントを制御してもよい。
以上のように、第7実施形態では、人力駆動車1が備えるコンポーネントの制御状態の判定結果に応じて、別のコンポーネントを制御することができる。
各実施形態は、少なくとも一部を任意に組み合わせてもよい。例えば、第2実施形態と第7実施形態とを組み合わせ、ライダーの予備動作に基づくコンポーネントの制御と、コンポーネントの制御状態に基づく制御とを併せ持つ制御システムを構築してもよい。
今回開示された実施形態は、全ての点において例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。