以下、発明の実施の形態を通じて本発明を説明するが、特許請求の範囲に係る発明を以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。
第1の実施例について説明する。図1は、第1の実施例に係る走行装置100の低速走行時における側面概観図であり、図2は、図1の状態における走行装置100を上方から観察した上面概観図である。なお、図2では、図1において点線で示すユーザ900を省いている。
走行装置100は、パーソナルモビリティの一種であり、ユーザが立って搭乗することを想定した電動式の移動用車輌である。走行装置100は、走行方向に対して1つの前輪101と2つの後輪102(右側後輪102a、左側後輪102b)を備える。前輪101は、ユーザ900がハンドル115を操作することで向きが変わり、操舵輪として機能する。右側後輪102aと左側後輪102bは、車軸103で連結されており、不図示のモータと減速機構によって駆動されて、駆動輪として機能する。走行装置100は、3つの車輪によって3点で接地しており、ユーザ900が搭乗していない駐機状態でも自立する、静的安定車輌である。
前輪101は、前輪支持部材110により回転可能に支持されている。前輪支持部材110は、前側支柱111とフォーク112を含む。フォーク112は、前側支柱111の一端側に固定されており、前輪101を両側方から挟んで回転自在に軸支している。前側支柱111の他端側には、ハンドル115が前輪101の回転軸方向に延伸するように固定されている。ユーザ900がハンドル115を旋回操作すると、前側支柱111は、その操作力を伝達して前輪101の向きを変える。
後輪102は、後輪支持部材120により回転可能に支持されている。後輪支持部材120は、後側支柱121と本体部122を含む。本体部122は、後側支柱121の一端側を固定支持すると共に、車軸103を介して右側後輪102aと左側後輪102bを回転自在に軸支している。本体部122は、上述のモータと減速機構、モータに給電するバッテリ等を収容する筐体の機能も担う。本体部122の上面には、本体部122と共に搭乗部として機能する、ユーザ900が足を置くためのステップ141が設けられている。
後輪102は、その回転を制動する制動部材としてディスクブレーキ117を備える。ディスクブレーキ117は、制御部からのブレーキ信号に応じて、ホイールの内側に取り付けられた円盤117aをブレーキパッド117bで挟み込んで摩擦を生じさせ、後輪102の回転速度を低下させる。
前輪支持部材110と後輪支持部材120とは、旋回継手131とヒンジ継手132を介して連結されている。旋回継手131は、前輪支持部材110を構成する前側支柱111のうち、ハンドル115が固定された他端寄りの位置に固定されている。さらに、旋回継手131は、ヒンジ継手132に枢設されており、前側支柱111の伸延方向と平行な旋回軸TA周りに、ヒンジ継手132と相対的に回動する。ヒンジ継手132は、後輪支持部材120を構成する後側支柱121のうち、本体部122に支持された一端とは反対側の他端と枢設されており、車軸103の伸延方向と平行なヒンジ軸HA周りに、後側支柱121と相対的に回動する。
このような構造により、ユーザ900は、ハンドル115を旋回させると、後輪支持部材120に対して旋回軸TA周りに前輪支持部材110が旋回して前輪101の向きを変えられる。また、ユーザ900は、ハンドル115を走行方向に対して前方へ傾けると、前輪支持部材110と後輪支持部材120とがヒンジ軸HA周りに相対的に回転して、前側支柱111と後側支柱121の成す角を小さくできる。前側支柱111と後側支柱121の成す角が小さくなると、前輪101と後輪102のホイールベース(WB)の間隔であるWB長は短くなる。逆に、ユーザ900は、ハンドル115を走行方向に対して後方へ傾けると、前輪支持部材110と後輪支持部材120とがヒンジ軸HA周りに相対的に回転して、前側支柱111と後側支柱121の成す角を大きくできる。前側支柱111と後側支柱121の成す角が大きくなると、WB長は長くなる。すなわち、ユーザ900は、自身の動作を回転力として作用させることにより、WB長を短くしたり長くしたりできる。
ヒンジ継手132の近傍には、付勢バネ133が取り付けられている。付勢バネ133は、ヒンジ軸HA周りに、前側支柱111と後側支柱121の成す角を小さくする回転方向へ付勢力を発揮する。付勢バネ133は、例えば、トーションバネである。付勢バネ133の付勢力は、ユーザ900がハンドル115に触れない場合に、前側支柱111と後側支柱121の成す角が構造上の最小角になるように変化させ、一方で、ユーザ900がハンドル115を走行方向に対して後方へ容易に傾けられる程度に設定されている。したがって、ユーザ900は、ハンドル115への加重およびステップ141への加重の少なくともいずれかを変化させることにより、前側支柱111と後側支柱121の成す角を調整でき、ひいてはWB長を調整できる。すなわち、このようなヒンジ継手132を介して前側支柱111と後側支柱121を接続する機構は、ユーザ900がWB長を調整する調整機構として機能する。
ヒンジ継手132の近傍には、回転角センサ134が取り付けられている。回転角センサ134は、ヒンジ軸HA周りに前側支柱111と後側支柱121の成す角を出力する。すなわち、回転角センサ134は、前輪支持部材110と後輪支持部材120の相対位置を計測する計測部として機能する。回転角センサ134は、例えば、ロータリエンコーダである。回転角センサ134の出力は、後述する制御部へ送信される。
走行装置100は、通常の走行時において、WB長が短ければ低速で走行し、WB長が長ければ高速で走行する。図1は、WB長が短い低速走行時の様子を示している。図3は、図1と同様の走行装置100の側面概観図であるが、WB長が長い高速走行時の様子を示している。
図示するように、前側支柱111と後側支柱121の成す角を、相対的に開く方向を正として、回転角θとする。また、回転角θが取り得る最小値(最小角)をθMIN、最大値(最大角)をθMAXとする。例えばθMIN=10度でありθMAX=80度である。換言すると、回転角θがθMINとθMAXの範囲に収まるように、構造上の規制部材が設けられている。
WB長は、回転角θと一対一に対応し、WB長=f(θ)の関数により換算できる。したがって、回転角θを変化させることによりWB長を調整できる。走行装置100は、通常の走行時において、ユーザ900が回転角θを大きくすると加速し、小さくすると減速する。つまり、回転角θに対して目標速度が対応付けられており、走行装置100は、回転角θが変化すると、それに応じた目標速度に到達するように加減速する。別言すれば、回転角θを媒介変数としてWB長と目標速度が対応付けられており、ユーザ900がWB長を調整すると、目標速度がそのWB長に応じて変化する構成となっている。
ユーザ900がハンドル115を傾斜させたり体重移動したりしてWB長を調整することにより速度を調整する通常走行時においては、回転角θが小さくなるとWB長が短くなって低速で走行するので、小回りが利く。すなわち、狭い場所でも動き回ることができる。逆に回転角θが大きくなるとWB長が長くなるので、走行安定性、特に直進性が向上する。すなわち、高速で走行しても路面上の段差等による揺動を受けにくい。また、速度とWB長が連動して変化するので、低速なのにWB長が長いような状態になることが無く、その速度で必要最低限な投影面積で移動ができる。すなわち、走行装置100が移動するために必要な路面上の面積が小さく、余分なスペースを必要としない。また、ユーザ900は、ハンドル115を前後に傾けるなどの直感的な動作により、速度とWB長の両方を連動させて変化させることができるので、運転操作としても簡便で容易である。
図4は、走行装置100の制御ブロック図である。制御部200は、例えばCPUであり、本体部122に収容されている。駆動輪ユニット210は、駆動輪である後輪102を駆動するための駆動回路やモータを含み、本体部122に収容されている。制御部200は、駆動輪ユニット210へ駆動信号を送ることにより、後輪102の回転制御を実行する。
車速センサ220は、GPSユニットを含み、単位時間あたりの変位量から走行装置100の実際の走行速度を検出する。車速センサ220は、制御部200の要求に応じて、検出結果を速度信号として制御部200へ送信する。回転角センサ134は、制御部200の要求に応じて、検出結果を回転角信号として制御部200へ送信する。なお、車速センサ200は、GPS信号を利用するものに限らず、走行面と走行装置100の相対的な移動を検出できるセンサであれば車速センサとして適用できる。簡易的には、前輪101と後輪102のそれぞれの単位時間あたりの回転量を検出し、これらの回転量が互いに齟齬がなければ走行面と走行装置100の相対的な速度とすることもできる。一方、例えば駆動輪である後輪102がスタックして大きな回転量を出力しているのに、従動輪である前輪101の回転量が0を出力しているのであれば、齟齬があるものとして走行装置100の異常を判断することができる。回転角センサ134は、上述のように、回転角θを検出する。
各種センサ235は、走行装置100を構成する様々な要素の状態あるいは指令に対する応答について異常が発生していないかを監視するためのセンサ群や、走行環境を監視するためのセンサ群を含む。これらのセンサ群の各々は、制御部200の要求に応じて、あるいは周期的にその検知結果を制御部に送信する。例えば、バッテリの温度センサであり、モータの電流センサである。
ディスクブレーキ117は、後輪102の回転を摩擦力により低下させる。制御部200は、ディスクブレーキ117にブレーキ信号を送信して、制動の開始終了および摩擦力の増減を制御する。
荷重センサ240は、ステップ141へ加えられる荷重を検出する、例えば圧電フィルムであり、ステップ141に埋め込まれている。荷重センサ240は、制御部200の要求に応じて、検出結果を荷重信号として制御部200へ送信する。
メモリ250は、不揮発性の記憶媒体であり、例えばソリッドステートドライブが用いられる。メモリ250は、走行装置100を制御するための制御プログラムの他にも、制御に用いられる様々なパラメータ値、関数、ルックアップテーブル等を記憶している。メモリ250は、回転角θを目標速度に変換する変換テーブル251を記憶している。
図5は、回転角θを目標速度に変換する変換テーブル251の一例としての、回転角θと目標速度の関係を示すグラフである。横軸は、回転角θ(度)であり、縦軸は、目標速度(km/h)である。図示するように、目標速度は回転角θの一次関数として表されており、回転角θが大きくなるにつれて、目標速度が大きくなるように設定されている。最小角θMIN(度)のときに目標速度は0であり、最大角θMAX(度)のときに目標速度は最高速度Vm(km/h)である。このように、変換テーブル251は、関数形式であっても良い。
図6は、回転角θを目標速度に変換する変換テーブル251の他の一例としての、回転角θと目標速度の関係を示すテーブルである。図5の例では、連続的に変化する回転角θに対して連続的に変化する目標速度を対応付けた。図6の例では、連続的に変化する回転角θを複数のグループに区分して、それぞれにひとつの目標速度を対応付ける。
図示するように、回転角θが、θMIN以上θ1未満である場合に目標速度0(km/h)を対応付け、θ1以上θ2未満である場合に目標速度5.0(km/h)を対応付け、θ2以上θ3未満である場合に目標速度10.0(km/h)を対応付け、θ3以上θMAX以下である場合に目標速度15.0(km/h)を対応付ける。このような場合の変換テーブル251は、ルックアップテーブル形式を採用することができる。このように目標速度を、ある程度幅を持たせた回転角θの範囲に対応付けると、例えばユーザ900の体の揺れに影響されて小刻みに目標速度が変わるようなことがなくなり、滑らかな速度変化を期待できる。もちろん、範囲の境界にヒステリシスを持たせても良く、加速時と減速時で範囲の境界を異ならせれば、より滑らかな速度変化を期待できる。
回転角θと目標速度の対応付けは、図5や図6の例に限らず、さまざまな対応付けが可能である。例えば、回転角θの変化量に対する目標速度の変化量を、低速領域においては小さく設定し、高速領域においては大きく設定するといったアレンジも可能である。また、本実施例では、回転角θがWB長と一対一に対応することから、媒介変数である回転角θを目標速度と対応付ける変換テーブル251を採用しているが、WB長を目標速度と対応付ける変換テーブルを採用しても良い。この場合は、回転角センサ134から取得される回転角θを上述の関数を用いてWB長に換算してから、変換テーブルを参照すれば良い。
さて、上述のようにWB長に応じて目標速度を設定しても、実際の走行速度が目標速度に到達しないような状況が、さまざまな走行環境下で発生し得る。例えば、走行面上に段差が走行に与える影響について説明する。図7は、走行装置100が走行面上の段差によってスタックした場合に発生し得る影響を説明する図である。
図7(a)で示すように回転角θがθaの状態で走行している場合には、回転角θaに対応付けられた目標速度(例えばVa)で走行している。制御部は、速度Vaが維持されるように駆動輪を回転駆動する。図4(a)で示す段差BPへの接触直前までは、WB長は回転角θaに対応するWBaである。
走行装置100が速度Vaで段差BPに乗り上げると、前輪101の直径よりも後輪の直径が小さい場合などには、前輪101は段差BPを乗り越えられても、後輪102が乗り越えられないことがある。図7(b)は、後輪102を支持する本体部122が段差BPに引っ掛かり、後輪102が段差BPを乗り越えられない様子を示す。
後輪102が段差BPを乗り越えられないと、慣性により前輪101が前方に押し出され、WB長が開く。図7(b)は、WB長がWBbに開いた様子を示す。WB長が開くと、そのWB長(WBb)に対応して目標速度(ここでは速度Vb)が設定されるが、その速度は段差BPに到達する以前のVaよりは大きいので、制御部200は、後輪102をより高速に回転しようとする。しかし、後輪102は、段差BPにより前転できないので、その場で空転することになる。すると、実際の走行速度が、いつまでも目標速度に到達しないことになる。
このような異常を回避すべく、制御部200は、目標速度と実際の走行速度の速度差を監視し、予め定めた条件下で速度差が基準値以上となった場合に、駆動信号の送信を停止して駆動輪の駆動を止める。このような異常時における制御も含めて、走行中の処理フローについて説明する。
図8は、走行中の処理を示すフロー図である。フローは、電源スイッチがオンにされ、荷重センサ240から荷重ありの信号を受け取った時点、すなわちユーザ900が搭乗した時点から開始する。
制御部200は、ステップS101で、回転角センサ134から回転角信号を取得して現在の回転角θを算出する。そして、ステップS102で、算出した回転角θを、メモリ250から読み出した変換テーブル251に当てはめ、目標速度を設定する。制御部200は、さらに、目標速度に到達するまでの時間を計時するタイマーにより、計時を開始する。
制御部200は、ステップS103へ進み、駆動輪ユニット210へ加減速の駆動信号を送信する。具体的には、まず車速センサ220から速度信号を受け取り、現在の速度を確認する。そして、目標速度が、現在の速度より大きければ加速する駆動信号を駆動輪ユニット210へ送信し、現在の速度より小さければ減速する駆動信号を駆動輪ユニット210へ送信する。
制御部200は、加減速中も回転角θが変化したか、つまり、ユーザ900がハンドル115を前後に傾けたかを監視する(ステップS104)。回転角θが変化したと判断したら、再度ステップS101からやり直す。変化していないと判断したらステップS105へ進む。なお、図6のような変換テーブルを採用している場合は、回転角θがひとつの範囲に留まる間は、変化していないと判断する。
制御部200は、ステップS105で、車速センサ220から速度信号を受け取り、目標速度に到達したか否かを判断する。目標速度に到達していないと判断したら、ステップS811へ進み、目標速度に到達したと判断したら、ステップS106へ進む。なお、ここで、目標速度に到達したか否かは、目標速度と実際の走行速度との速度差が、基準値未満であるか否かによって判断する。例えば基準値として±2.0km/hを定めれば、たとえ実際の速度が目標速度から1.0km/hずれていても、目標速度に到達したと評価する。このように評価すれば、実際の速度に多少の変動があっても、通常の走行を継続することができる。また、速度差が基準値未満の状態を予め定められた時間を超えて継続した場合に、目標速度に到達したと判断しても良い。
ステップS811へ進むと、制御部200は、タイマーを確認して、予め定められた規定時間を経過したか否かを確認する。規定時間は、後輪102を駆動するモータの性能等に基づいて、目標速度に到達するまでにかかる標準的な時間に若干の許容時間を加えて定められている。規定時間は、速度調整を開始する時点における目標速度と実際の速度との差に応じて変更しても良いし、坂道などの路面状況や、ユーザ900の体重などの使用状況に応じて変更しても良い。制御部200は、計時時間が規定時間を経過していなければ、ステップS103へ戻り、加減速を継続する。計時時間が規定時間を経過していれば、ステップS812へ進む。
制御部200は、ステップS812で、WB長に対応付けられた目標速度に基づく速度制御を停止すると共に、駆動輪ユニット210への駆動信号の供給を停止する。すなわち、走行装置100は、目標速度と実際の走行速度の速度差が、目標速度に到達したと判断される基準値以上となる状態を、規定時間を超えて継続するという条件を満たしたことになるので、制御部200は、その状態を異常状態と判断し、走行装置100を停止させる制御を開始する。制御部200は、ステップS813へ進み、ディスクブレーキ117へブレーキ信号を送信して、後輪102の回転を制動する。
制御部200は、ステップS814で、車速センサ200から速度信号を受信して、走行装置100の速度が0、すなわち走行装置100が停止したか否かを確認する。まだ停止していなければステップS813へ戻り、停止していれば、バッテリの電力出力を遮断して一連の処理を終了する。
ステップS105で目標速度に到達したと判断したら、制御部200は、ステップS106へ進み、その目標速度が0であったか否かを確認する。目標速度が0であったなら、ステップS106の時点では走行装置100は停止していることになる。そうでなければ、目標速度により走行中であるので、制御部200は、その速度で走行を維持するように駆動信号を駆動輪ユニット210へ送信する(ステップS107)。
制御部200は、ステップS107で定速走行している間も、回転角θが変化したか、つまり、ユーザ900がハンドル115を前後に傾けたかを監視する(ステップS108)。回転角θが変化したと判断したら、ステップS101へ戻る。変化していないと判断したらステップS815へ進む。
制御部200は、ステップS815で、車速センサ220から速度信号を受信して、WB長に対応する目標速度と実際の走行速度との速度差が基準値以上に乖離したか否かを判断する。乖離していないと判断したら、定速走行を続けるべく、ステップS107へ戻る。乖離したと判断したらステップS812へ進む。すなわち、走行装置100は、定速走行中という条件下において、目標速度と実際の走行速度の速度差が、予め定められた基準値以上になったことになるので、制御部200は、その状態を異常状態と判断し、走行装置100を停止させる制御を開始する。ステップS812以降の処理については上述の通りである。なお、ここでの基準値は、目標速度に到達したと判断される基準値と異ならせても良い。定常走行時に適用される基準値は、目標速度に到達したと判断される基準値よりも大きくすることが好ましい。このように設定しておけば、例えば上り坂で一時的に速度が低下するような場合であっても、異常と判断されない。
制御部200は、ステップS106で目標速度が0であったと確認したら、ステップS109へ進み、ユーザ900が降機したかを荷重センサ240から受信する荷重信号から判断する。ユーザ900が降機していない、つまり荷重があると判断したら、走行制御を継続すべくステップS101へ戻る。降機したと判断したら、一連の処理を終了する。
以上のように走行処理を実行すれば、走行中に異常状態に陥っても迅速に走行装置100を停止させることができるので、ユーザの安全が十分に確保される。また、図7を用いて説明したような、定速走行中の異常に限らず、加減速中における目標速度への追従時にも異常を監視するので、ユーザはより安心して走行装置100を運転することができる。
なお、上述のフローでは、異常時にディスクブレーキ117の制動も並行して行って停止までの時間短縮を実現したが、電気回路保護などを優先させるべく、駆動輪の駆動を停止したらいち早くバッテリからの電力供給を遮断しても良い。また、急激な停止を回避すべく、駆動輪の駆動を停止するのではなく、制限して継続しても良い。
次に、第2の実施例について説明する。図9は、第2の実施例に係る走行装置600の上面概観図であり、図2と同様の概観図である。走行装置600の構成は、圧力センサ118を備える点で走行装置100の構成と異なる。走行装置100と同様の機能を担う要素については、第1の実施例における符番と同じ符番を付して、その説明を省略する。
圧力センサ118は、ハンドル115のうち、ユーザ900が把持する両グリップに埋め込まれている。圧力センサ118は、ユーザ900がグリップを握り込む握力を検出して、検出信号を制御部200へ送信する。
図7(b)のような状態で走行装置600がスタックすれば、搭乗しているユーザ900は、ハンドル115を操作して何とかその状況を脱しようと試みると考えられる。また、ヒンジ継手132に異物が挟まり込んだりしてヒンジ軸HA周りの回転が不能となり、WB長の調整ができなくなったような場合にも、搭乗しているユーザ900は、ハンドル115を操作して何とか回転させようと試みると考えられる。すなわち、異常が発生した場合には、ハンドル115のグリップが強く握り込まれることが多いと推測される。
そこで、本実施例における走行装置600では、圧力センサ118が予め設定した基準圧力よりも大きな圧力を検出することを、異常判断の条件として加えている。
図10は、このような異常判断の条件を加えた走行処理を示すフロー図である。本実施例における走行処理は、走行装置100の走行処理と、ステップS816が加えられている点で異なる。したがって、ステップS816について説明する。
ステップS815で速度乖離があると判断したら、制御部200は、ステップS816へ進み、圧力センサ118から検出信号を受信する。そして、検出された圧力が基準圧力よりも大きいと判断したら、ステップS812へ進む。ステップS812以降の処理は上述の通りである。制御部200は、検出された圧力が基準圧力以下であると判断したら、定速走行を継続すべく、ステップS107へ戻る。
以上説明した第2実施例では、ユーザが異常時に行う行動としてグリップの握り込みを想定したが、その他にも、例えばステップ141の踏み込みなどを想定しても良い。そのような行動を検知するものであれば、圧力センサ118に代えて、あるいは圧力センサ118と共に採用して、異常検知に利用することができる。
なお、走行中いずれのタイミングにおいても定期的に圧力センサ118の出力を監視し、異常と判断される程度に大きな圧力を検出した場合には、目標速度と実際の走行速度との速度差に関わらず、異常と判断して走行装置を停止させても良い。このように異常判断を行えば、WB長に対する走行速度に齟齬がなくても、例えば調整機構が調整できなくなってしまった場合などに、走行装置を安全に停止させることができる。
以上、各実施例を説明したが、速度差の乖離に重ねて適用する条件は、到達時間や定速走行といった条件に限らず、様々な条件を採用し得る。例えば、一定の走行距離以内に目標速度に到達したか、一定の電力消費以内に一定速度に戻ったか、などといった条件であっても良い。
また、異常と判断して減速を開始したら、走行装置を故障モードに切り替えても良い。故障モードに切り替えて、それ以降の利用を禁止するようにしても良い。故障モードからの復帰は、例えばサービスマンに限るなどの制限を設けても良い。
以上各実施例を説明したが、前輪、後輪は、車輪でなくても良く、球状輪、クローラなどの接地要素であっても構わない。また、駆動輪を駆動する動力源はモータに限らず、ガソリンエンジンなどであっても構わない。