以下、添付の図面を参照しながら、本発明による車両の実施形態を説明する。実施形態においては、車両は電動スケートボードであるとする。しかし、これは本発明を限定するものではない。
図1は、本実施形態による電動スケートボード1の外観を概略的に示す。電動スケートボード1は、ボード本体部2と、前輪3と、後輪4と、支持具5および6と、保護カバー7とを有している。
電動スケートボード1は、ボード本体部2に使用者が乗車したときにセンサ(図示せず)を利用して荷重値を取得する。そして荷重値と予め保持された荷重しきい値(以下、単に「しきい値」と称する)とを比較し、その比較結果を利用して使用者の乗車状態に応じた処理を実行する。例えば、荷重値が乗車しきい値以下の値からその値よりも大きくなったときには、使用者が本体部に乗車したことを意味するとして、乗車処理を実行する。また、荷重値が降車しきい値以上の値からその値よりも小さくなったときには、使用者が本体部から降車したことを意味するとして、降車処理を実行する。
乗車状態に応じて乗車処理または降車処理が実行されると、電動式駆動モータ(図示せず)に駆動信号が出力され、モータは駆動される。すなわち、乗車状態に応じた動力がモータから車輪に伝達される。電動スケートボード1は、乗車時には使用者が本体部に完全に乗車する前に発進することはなく、また降車時には使用者が一方の足を降ろすだけで停止する。
以下、各構成要素を説明する。ボード本体部2は、使用者が立ってまたは座って乗る部分である。ボード本体部2は、繊維強化プラスチック(FRP)、木材等で構成されている。ボード本体部2は、後述の前輪3および後輪4の間に渡された細長い板状(ボード状)構造を有している。電動スケートボード1の進行方向は、その細長い方向(長手方向)と実質的に平行な方向である。
前輪3および後輪4は、ボード本体部2の下面に設けられた支持具5および支持具6によってそれぞれ回転可能に取り付けられている。前輪3および/または後輪4は、例えばゴムまたは樹脂等で構成されており、使用者が旋回しやすくなるようにその中央部は凸状に形成されている。前輪3および後輪4は、ボード本体部2の中央位置を挟むように配置されており、好ましくはボード本体部2の中央位置から概ね同じ距離の位置に配置される。
以下、本明細書においては、電動スケートボード1の後輪4から前輪3へ向かう方向(図1の矢印方向)を前方として説明する。本実施形態においては、前輪3が駆動力を与えられない自由輪であり、後輪4が駆動力を与えられる駆動輪であるとする。後に図2および3を参照しながら、前輪3および支持具5の構造と、後輪4および支持具6の構造とをより詳細に説明する。
保護カバー7は、後述するモータ制御ユニットおよびバッテリ等を覆うように配置されており、それらが障害物、突起物との衝突時に損傷しないように保護する。
図2は、電動スケートボード1の側面を概略的に示す。図2から理解されるように、ボード本体部2の下面の前側に外側フレーム8が固定され、ボード本体部2の下面の後ろ側に外側フレーム9が固定されている。外側フレーム8には水平方向に延びるシャフト8aによって内側フレーム12が回動可能に取り付けられている。また、外側フレーム9には水平方向に延びるシャフト9aによって内側フレーム13が回動可能に取り付けられている。
内側フレーム12には支持具5が取り付けられている。内側フレーム13には支持具6が取り付けられている。支持具5には前輪3が回転可能に支持され、支持具6には後輪4が回転可能に支持されている。
支持具5には、電動スケートボード1の長手方向を長径方向とする略楕円形の長孔5aが設けられている。この長孔5aに対する前輪3の取り付け位置を変更することにより、電動スケートボード1の旋回性を調整することができる。
図3は、ボード本体部2および支持具5の接合部分を拡大して示す。図3には外側フレーム8の一部の断面も示している。
内側フレーム12にはホルダ21が設けられている。ホルダ21内には皿ばね等からなる緩衝部材22が装着されている。この緩衝部材22の上部にはアルミニウム等からなるスペーサ23が設けられている。内側フレーム12はシャフト8aによって外側フレーム8に回動可能に設けられている。
また外側フレーム8には、スペーサ23に対向して前荷重センサS1が取り付けられている。前荷重センサS1(以下、「前センサ」と記述する。)は、ボード本体部2からの荷重を検出することができる。
ここで「荷重を検出する」とは、前センサS1が、加えられた荷重に応じた荷重値を出力することを意味する。荷重値は、キログラムやパウンド等の単位で表される値でなくてもよく、例えば加えられた荷重の大きさに対応する電流値や電圧値等であればよい。
本実施形態においては、前センサS1は歪ゲージ式ロードセルであるが、他の適切なセンサを用いてもよい。歪ゲージ式ロードセルは、外部からの荷重によって材料が押圧されることによって生じる歪みを電気信号に変換する。そして、電気信号の信号値を荷重値として出力する。なお歪ゲージ式ロードセルを設けること、および、その設置位置は例であり、本発明を限定するものではない。他の例は図10を参照しながら後述する。
前センサS1によって検出される「ボード本体部2からの荷重」は、使用者が未乗車のときにはボード本体部2、それに取り付けられたモータ、バッテリ等を合計した重さのうち前輪3にかかる荷重を意味する。また使用者が乗車したときには、未乗車のときの荷重に使用者の体重をさらに加えた重さのうち前輪3にかかる荷重を意味する。
前センサS1の下部にはスペーサ23および緩衝部材22が設けられている。これは、前センサS1への過荷重の防止の効果を発生させるためである。
前センサS1には導線24が接続されている。この導線24の他端は、後述のモータ制御ユニット(図4)に接続されている。前センサS1からの荷重値を示す信号は、導線24を介してモータ制御ユニットに与えられる。
さらに本実施形態においては、外側フレーム9(図2)には後ろ荷重センサS2が取り付けられている。後ろ荷重センサS2(以下「後ろセンサS2」と記述する。)もまた歪ゲージ式ロードセルであり、荷重値を出力する。後ろセンサS2の機能および構成は前センサS1と同じであるため、その詳細な説明は省略する。
次に、図4を参照しながら、電動スケートボード1を駆動させる駆動システムの構成を説明する。
図4は、電動スケートボード1の駆動システム70のハードウェア構成を示す。駆動システム70は、モータ制御ユニット(MCU)71と、バッテリ72と、駆動モータ76と、エンコーダ77と、荷重検出ユニット78とを含む。荷重検出ユニット78は、上述の前センサS1および後ろセンサS2の総称であり、各センサの構成および動作はすでに説明したとおりである。
以下、各構成要素の機能および構成を詳細に説明する。まず、モータ制御ユニット71は、バッテリ72を電源として利用して動作する。モータ制御ユニット71は、荷重検出ユニット78から出力される荷重値と内部に保持するしきい値とを比較する。そして、その比較結果に基づいて使用者の乗車状態に応じた処理を実行して駆動信号の信号値を変化させ、駆動モータ76へ出力する。この駆動信号に基づいて、駆動モータ76の回転方向および回転速度が制御される。
上述の乗車状態に応じた処理とは、使用者が電動スケートボード1に乗車した時の乗車処理、および、使用者が電動スケートボード1から降車した時の降車処理である。使用者が電動スケートボード1に乗車した後には、荷重値に基づいてボード本体部2に加えられた荷重の偏り(荷重比)を計算し、その偏りの程度に応じて駆動モータ76への駆動信号の信号値を変化させる。モータ制御ユニット71は、これらの処理を選択的に実行する。モータ制御ユニット71が電動スケートボード1の制御方法、より具体的には駆動モータ76の駆動方法を切り換えることにより、電動スケートボード1が駆動される。
なお荷重の偏りは、前センサS1の荷重検出位置と後ろセンサS2の荷重検出位置との中央位置を基準として計算される。本実施形態においては、前センサS1および後ろセンサS2の各荷重検出位置は前輪3および後輪4の上方であり(図3)、かつ、前輪3および後輪4はボード本体部2の中央位置から概ね同じ距離の位置に配置されているため、2つの荷重検出位置の中央と、ボード本体部2の中央とは一致する。
次に、モータ制御ユニット71の構成を説明する。モータ制御ユニット71は、中央演算処理装置(CPU)73、ドライバ74およびメモリ75を含む。
CPU73は、前センサS1および後ろセンサS2から出力される各荷重値を受け取る。また、CPU73は、後輪4に設けられているエンコーダ77から出力された信号を受け取るとともに、フィードバック回路Fを介して駆動モータ76への駆動信号(駆動電流)を受け取る。エンコーダ77は後輪4の回転方向および回転速度を常時検出し、検出結果を出力している。CPU73は、受け取った信号に基づいて、後述する第1および第2のマップ(図7(a))に従った駆動制御が正確に行われていることを検出できる。
CPU73は、前センサS1および後ろセンサS2からの検出信号に基づいてパルス幅変調(PWM)された電流指令値を生成し、ドライバ74に与える。
ドライバ74は、後輪4内に設けられた駆動モータ76に接続されている。ドライバ74は、CPU73からの電流指令値に基づいて電流値が定められた駆動電流を生成し、駆動モータ76に印加する。駆動モータ76は駆動電流の電流値に応じた方向および強さで後輪4を駆動する。
メモリ75は、処理に必要なフラグ、パラメータ等が保持されるRAM、EEPROM等である。
次に、モータ制御ユニット71の駆動制御に基づく電動スケートボード1の動作を概説する。電動スケートボード1が静止している状態で使用者が荷重を偏らせることなく乗車したときには、CPU73の電流指令値は正になるように調整されている。使用者がボード本体部2上で前方に体重移動したときにも、電流指令値は正になるように調整されている。これにより、駆動モータ76から後輪4へは正回転する方向の力が加えられ、電動スケートボード1が前進する。
また、使用者がボード本体部2上で後方に体重移動したときには、電流指令値が負になるように調整されている。これにより、駆動モータ76からは逆回転する方向の力が加えられ、電動スケートボード1が後進する。
一方、使用者が電動スケートボード1から片足でも降車すると、CPU73の電流指令値は0になるように調整されている。これにより、駆動モータ76からの力も0になり、後輪4の回転抵抗等によって最終的に電動スケートボード1が停止する。
次に、図5から図7を参照しながら、上述の駆動制御の詳細を説明する。この処理によって算出された電流指令値に基づいて、電動スケートボード1の前進、後進および停止が制御される。
図5および図6は、電流指令値を算出して電動スケートボード1を駆動する処理手順を示す。以下の説明では、前センサS1によって検出される荷重値を前荷重値Ffと呼び、後ろセンサS2によって検出される荷重値を後ろ荷重値Frと呼ぶ。
まず図5を参照する。ボード本体部2に設けられたスイッチ(図示せず)がオンにされると、処理が開始される。ステップS1において、CPU73は各種フラグ(開始フラグおよび乗車フラグ)を初期値としてオフに設定する。開始フラグおよび乗車フラグは図4のメモリ75に記憶されている。
開始フラグは、電流指令値の算出処理を開始できるか否かの状態を示している。具体的には、開始フラグは、使用者がボード本体部2に乗車していない状態において、前荷重値Ffおよび後ろ荷重値Frが取得されているか否かを示している。一方の乗車フラグは、使用者が電動スケートボード1に乗車しているか否かを示しており、乗車したときにオンされる。
ステップS2においては、CPU73はドライバ74への電流指令値を0に設定する。ステップS3においては、CPU73は開始フラグがオンであるか否かを判定する。開始フラグがオフのときはステップS4に進み、オンのときはステップS5に進む。
ステップS4においては、CPU73は、前センサS1からはその時点の前荷重値Ffを初期値Ff0として取得し、後ろセンサS2からはその時点の後ろ荷重値Frを初期値Fr0として取得する。そしてCPU73は開始フラグをオンにする。
次のステップS5において、CPU73は乗車判定処理を行う。乗車判定処理においては、使用者がボード本体部2に乗車する前か後かを判定する。そして乗車前であれば乗車したか否かを判定し、乗車後であれば降車したか否かを判定する。乗車判定処理の詳細は図8および図9を参照しながら後述する。
ステップS5の乗車判定処理において使用者がボード本体部2に乗車していると判定された場合には乗車フラグがオンにされ、使用者が降車していると判定された場合には乗車フラグがオフにされる。
次に、ステップS6において、CPU73は乗車フラグがオンであるか否かを判定する。乗車フラグがオフのときは、CPU73はステップS5の処理に戻り、乗車フラグがオンになるまでステップS5およびS6の処理を繰り返す。乗車フラグがオンのときは、処理はステップS7に進む。
ステップS7において、CPU73は、前センサS1および後ろセンサS2から現在の前荷重値Ffおよび後ろ荷重値Frを取得する。そしてステップS4において取得した初期値Ff0およびFr0を用いて前荷重値Ff'および後ろ荷重値Fr'を算出する。前荷重値Ff'および後ろ荷重値Fr'は次式によって得られる。
Ff'=Ff−Ff0 …(1)
Fr'=Fr−Fr0 …(2)
前荷重値Ff'および後ろ荷重値Fr'を算出することにより、使用者に起因する荷重のみを得ることができる。以下の処理は、各荷重値Ff'およびFr'を利用して行われる。
なお式(1)および(2)によれば、センサの経時変化等による測定誤差は較正される。例えば式(1)について説明すると、荷重値FfおよびFf0には同じ測定誤差が含まれている。よって、式(1)によって測定誤差は相殺される。式(2)における荷重値FrおよびFr0も同様である。式(1)および(2)によって得られる前荷重値Ff'および後ろ荷重値Fr'は、測定誤差を含まない使用者の荷重を示す。
次のステップS8では、CPU73は荷重比Wを算出する。荷重比Wは、次式によって算出される。
W=Ff'/(Ff'+Fr')−1/2 …(3)
ここで、使用者の重心位置がボード本体部2の中央位置よりも前方にある場合には、荷重比Wの値は正になる。使用者の荷重比がボード本体部2の中央位置よりも後方にある場合には、荷重比Wの値は負になる。そして使用者の重心位置がボード本体部2の中央位置にある場合には、荷重比Wの値は0になる。すなわち荷重比Wは、ボード本体部に加えられた荷重がどの程度偏っているかを示している。荷重比Wは、後述のステップS10およびS11において利用される。
荷重比Wを定義する目的は、使用者の体重に影響されない制御が可能になることにある。より詳しく説明すると、前後の荷重差のみに基づいて加減速を制御すると、使用者の体重の違いが大きく反映される。体重が重い使用者は前後の荷重差を大きくできるため素早く加減速できるのに対し、体重が軽い使用者は相対的にはその差を大きくすることは困難なため加減速が素早くできないからである。
なお、荷重比Wを、次式によって算出してもよい。
W=Fr'/(Ff'+Fr')−1/2 …(4)
式(4)によって荷重比Wを算出すると、使用者の重心位置がボード本体部2の中央位置よりも前方にある場合には荷重比Wの値は負になり、使用者の重心位置がボード本体部2の中央位置よりも後方にある場合には、荷重比Wの値が正になる。
次に、ステップS9において、CPU73は電動スケートボード1が前進または停止しているか、後進しているかを判定する。電動スケートボード1が前進または停止しているときには、処理はステップS10に進み、後進しているときには処理はステップS11に進む。前進、停止、後進の判定は、例えばエンコーダ77によって検出される回転速度および回転方向に基づいて行うことができる。
ステップS10では、CPU73は後述する第1のマップを用いたマップ補完処理によってドライバ74への電流指令値を算出する。またステップS11では、CPU73は、後述する第2のマップを用いたマップ補完処理によってドライバ74への電流指令値を算出する。第1のマップおよび第2のマップはメモリ75に格納されており、CPU73は実行する処理に応じて、第1マップおよび第2のマップの一方を選択してメモリ75から読み出す。第1のマップおよび第2のマップを利用した処理の詳細は、図7を参照しながら後述する。ステップS10およびS11の後は、処理は図6に示すステップS12に進む。
ステップS12において、CPU73は、現在のドライバ74への電流指令値と前回のドライバ74への電流指令値との差(変化量)を算出する。後述のように、「前回の電流指令値」はメモリ75に記憶されている。なお電源がオンされた直後は、前回の電流指令値は初期化によって「0」に設定されている。続くステップS13において、CPU73は、ステップS12において算出された電流指令値の差が、予め定められた電流しきい値よりも大きいか否かを判定する。大きいときにはステップS14に進み、同じかそれよりも小さいときにはステップS15に進む。
ステップS14では、CPU73は、電流指令値を電流しきい値分だけ変化させる。すなわち、現在の電流指令値が前回の電流指令値から電流しきい値分以上増加した場合には、前回の電流指令値に対して電流しきい値を加算し、加算結果を新たな電流指令値として設定する。一方、現在の電流指令値が前回の電流指令値から電流しきい値分以上減少した場合には、前回の電流指令値から電流しきい値を減算し、減算結果を新たな電流指令値として設定する。これらの処理から明らかなように、電流しきい値は電流指令値の変化許容量を示している。
次のステップS15においては、CPU73は、新たな電流指令値をメモリ75に記憶させるとともにドライバ74に新たな電流指令値を出力する。ドライバ74は、電流指令値に応じた電流値を有する駆動電流を生成し、駆動モータ76に与える。これにより電動スケートボード1が駆動される。その後、処理はステップS3に戻り、ステップS3からステップS15の処理を繰り返す。
上述のステップS12からS14までの処理によれば、前回の電流指令値に対する現在の電流指令値の差の絶対値が、電流しきい値以下のときは電流指令値が更新されず、しきい値を超えたときには電流指令値が電流しきい値分だけ変化する。それにより、電動スケートボード1が急激に加減速されることを防止できるとともに、電動スケートボード1の移動を滑らかにすることができる。
次に図7(a)および(b)を参照しながら、上述のステップS10およびS11に関連するマップ補完処理を説明する。
図7(a)は、マップ補完処理に用いられる第1および第2のマップを示す。第1および第2のマップは、使用者の荷重比Wと電流指令値との関係を示している。横軸は電流指令値算出処理によって算出される荷重比Wを示し、縦軸はCPU73のドライバ74への電流指令値を示す。
図4のメモリ75には、使用者の荷重比と電流指令値との関係が第1および第2のマップとしてテーブル形式で記憶されている。すなわち、メモリ75のアドレスに荷重比が対応付けられ、各アドレスに電流指令値を示すデータが格納されている。なお図7(a)においては、第1のマップおよび第2のマップの各々は連続的なグラフとして示されているが、実装上は荷重比の算出精度に適合する程度の離散的な値をテーブルに格納すればよい。
第1のマップおよび第2のマップの曲線に示されるように、荷重比Wが0近傍のときは電流指令値の絶対値は比較的小さい。また、各曲線の傾きも小さい。一方、荷重比Wの絶対値が大きくなるにつれ、電流指令値の絶対値は徐々に大きくなっていく。そして各曲線の傾きも比較的大きくなる。荷重比Wの絶対値が極めて大きくなったとき、すなわち使用者がボード本体部2の前端または後端に乗車したときには、電流指令値の絶対値は急激に上昇する。このときの駆動力は非常に大きくなる。
荷重比Wの値が正のときは、使用者の荷重がボード本体部2の中心位置より前方に偏っていることを意味する。このとき、後輪4には正回転方向への駆動力が与えられる。これにより、電動スケートボード1は前進する。一方、荷重比Wの値が負のときは、使用者の荷重がボード本体部2の中心位置より後方に偏っていることを意味する。このとき、後輪4には逆回転方向への駆動力が与えられる。これにより、電動スケートボード1が静止しているときには電動スケートボード1は後進を開始し、電動スケートボード1が前進しているときにはブレーキ効果が生じ、最終的には停止する。
図7(a)の第1のマップは、ステップS9(図5)の処理によって電動スケートボード1が停止し、または前進していると判定されたときの制御に利用される。また、図7(a)の第2のマップは、ステップS9(図5)の処理によって電動スケートボード1が後進していると判定されたときの制御に利用される。
ここで図7(b)を参照しながら、電動スケートボード1が停止しているときの電流指令値の出力例を説明する。図7(a)に示すように、停止状態の電動スケートボード1に使用者が乗車した後、その荷重値がW0(>0)として計算されたとする。荷重比W0における電流指令値はI0である。
図7(b)は、所定の時間間隔Δt(例えば10ミリ秒)でステップ状に変化する電流指令値の出力例を示す。CPU73は、時間t0をかけて最終的に電流指令値I0を出力するように電流指令値の出力を制御する。換言すれば、CPU73はドライバ74に対して、初めから電流指令値I0を出力することはない。その理由は、ドライバ74に対して突然電流指令値I0を与えるとドライバ74はその値に応じた駆動力を急に発生させ、電動スケートボード1が急発進するため乗り心地が悪くなるからである。
CPU73が図7(b)に示す波形で電流指令値を出力すると、ドライバ74は、この電流指令値に基づいて電流値がステップ状に変化する駆動電流を生成し、駆動モータ76に与える。よって電動スケートボード1は急に発進することはなく、使用者は容易かつ安全に発進することができる。間隔Δtを小さくすると、電流指令値の変化幅をさらに小さくできる。それにより、急発進をより確実に防ぐことができる。
この制御方法は、ステップS14(図5)と同じ概念である。したがって、電動スケートボード1が前進中または後進中であっても、急激な変化を伴う電流指令値の出力は制限されることが好ましい。
第1のマップおよび第2のマップを用いることによってCPU73のドライバ74への電流指令値を算出する代わりに、CPU73が次式によって電流指令値Tを算出することも可能である。
T=K・(Ff'/(Ff'+Fr')−1/2)+KV ・V …(5)
上式(5)において、KおよびKV はそれぞれ所定の係数であり、Vは電動スケートボード1の速度である。式(5)を利用すると、メモリ75に対して第1のマップおよび第2のマップのデータを記憶させる必要がなくなる。
次に、図8および図9を参照しながら、乗車判定処理(図5のステップS5)を詳細に説明する。以下に示す乗車判定処理では、CPU73によって複数のしきい値と前センサS1および後ろセンサS2からの荷重値とが比較される。その比較結果に基づけば使用者の乗車および降車が判定できる。
本実施形態においては、複数のしきい値として、使用者が降車している状態でその後に乗車したことを判定するためのしきい値THf1およびTHr1を規定し、使用者が乗車している状態でその後に降車したことを判定するためのしきい値THf2およびTHr2を規定している。下記の表1は、各しきい値とその利用条件との対応を示す。各しきい値は、メモリ75に記憶されて、必要に応じて読み出される。
図8(a)はしきい値THf1およびTHf2の関係を示す。乗車前に利用されるしきい値THf1は、乗車後に利用されるしきい値THf2よりも大きく設定されていることが理解される。一方、図8(b)はしきい値THr1およびTHr2の関係を示す。しきい値THr1はしきい値THr2よりも大きく設定されている。
ただし、しきい値THf1およびTHr1の各々にどのような値を設定するかは、適宜決定しうる。例えば、電動スケートボード1の使用対象年齢が「10歳以上」と定められているときにおいては、最低年齢である10歳児の平均体重(約34kg)の半分よりも小さい体重(15kg)に対応する値である。または、使用者が電動スケートボード1に設けられた設定ボタン(図示せず)等を利用して、自らの体重に適合する値を設定してもよい。しきい値THf2およびTHr2についても同様であり、例えば10歳児の平均体重の1/4程度(8.5kg)に対応する値である。本実施形態においてはしきい値THf1およびTHr1は同じ値であるとするが、異なっていてもよい。またしきい値THf2およびTHr2についても同じ値であるとするが、異なっていてもよい。
図9は、乗車判定処理の手順を示す。まずステップS51において、CPU73は乗車フラグがオンであるか否かを判定する。乗車フラグがオフのとき、すなわち使用者が未乗車のときは、CPU73はステップS52からS55までの処理を行う。一方、乗車フラグがオンのときはすでに使用者が乗車しているとして、CPU73はステップS56からS61までの処理を行う。
ステップS52からS55までの処理は、前荷重値Ff'がしきい値THf1以上でかつ後ろ荷重値Fr'がしきい値THr1以上のときにおいて、使用者が未乗車状態から乗車状態に移行したと判定する処理である。これは、使用者の両足がボード本体部2に乗った場合のみ使用者が乗車したと判定されることを意味する。それにより、使用者がボード本体部2に完全に乗車する前に電動スケートボード1が発進することが防止される。しきい値が上述の条件を満たさないときには、使用者は依然未乗車である(降車状態を継続している)と判定して処理が行われる。
以下、ステップS52からS55を具体的に説明する。まずステップS52においては、CPU73は、前荷重値Ff'としきい値THf1とを比較して、前荷重値Ff'がしきい値THf1よりも小さいか否かを判定する。小さいときは処理は終了してステップS6(図5)に復帰する。一方、前荷重値Ff'がしきい値THf1以上のときは、ステップS53に進む。
ステップS53において、CPU73は、後ろ荷重値Fr'としきい値THr1とを比較して、後ろ荷重値Fr'がしきい値THr1よりも小さいか否かを判定する。小さいときは処理は終了して、ステップS6(図5)に復帰する。前荷重値Fr'がしきい値THr1以上のときは、ステップS54に進む。
ステップS54において、CPU73は、使用者が乗車したと判定してドライバ74をオンし、さらに次のステップS55において乗車フラグをオンにする。その後、処理はステップS6(図5)に復帰する。ドライバ74がオンされ、かつ乗車フラグがオンされているため、その後の処理によって電流指令値が算出されると、駆動モータ76が駆動され、電動スケートボード1が移動を開始する。
続いて、ステップS56からS61までの処理を説明する。
ステップS56からS61までの処理は、前荷重値Ff'がしきい値THf2以上でかつ後ろ荷重値Fr'がしきい値THr2以上のときにおいて、使用者が乗車状態を継続していると判定する処理である。これは、使用者の片足がボード本体部2から降車された場合に使用者が降車したと判定されることを意味する。それにより、使用者は一方の足を降ろすだけで容易に電動スケートボード1を停止させることができる。しきい値が上述の条件を満たさないときには、使用者が降車したと判定して処理する。
以下、ステップS56からS61を具体的に説明する。まずステップS56においては、CPU73は、前荷重値Ff'としきい値THf2とを比較して、前荷重値Ff'がしきい値THf2よりも小さいか否かを判定する。小さいときは使用者が降車したとして、処理はステップS58に進む。前荷重値Ff'がしきい値THf2以上のときは、処理はステップS57に進む。
次に、ステップS57において、CPU73は、後ろ荷重値Fr'としきい値THr2とを比較して、後ろ荷重値Fr'がしきい値THr2よりも小さいか否かを判定する。小さいときはステップS58に進む。後ろ荷重値Fr'がしきい値THr2以上のときは、CPU73は、使用者が乗車状態を継続したと判定し、処理はステップS6(図5)に復帰する。
ステップS58において、CPU73は、使用者が降車したと判定し、ドライバ74への電流指令値を0または0近傍の値に設定し、車両を減速させる。続いてCPU73は、ステップS59においてドライバ74をオフにし、ステップS60において乗車フラグをオフにし、ステップS61において開始フラグをオフにする。その後処理はステップS6(図5)に復帰する。ドライバ74がオフであり、乗車フラグがオフであるため、その状態では駆動モータ76は駆動されることはない。電動スケートボード1は徐々に減速し、最終的には停止する。
以上、本発明による車両の実施形態として電動スケートボード1を挙げて、その構成および動作を説明した。
本実施形態においては、しきい値THf1はしきい値THf2よりも大きく、しきい値THr1はしきい値THr2よりも大きく設定されている。それにより、使用者が乗車しようとしてボード本体部2に若干の振動等を与えても、使用者が乗車したと判定されることはない。よって、電動スケートボード1が急に発進することもない。また、使用者がボード本体部2に乗車している状態でわずかな荷重の変化が生じても、使用者が降車したと判定されることもない。よって電動スケートボード1が急に停止することもない。これにより、使用者の滑らかな乗車および降車が可能となる。
また本実施形態においては、前荷重値Ff'および後ろ荷重値Fr'の和に対する前荷重値Ff'または後ろ荷重値Fr'の割合が荷重比Wとして算出され、この荷重比Wに基づいて電流指令値が算出される。この荷重比Wは、使用者の体重にかかわらず前センサS1および後ろセンサS2に加わる荷重の配分によって定まる。それにより、使用者の体重にかかわらず確実に電動スケートボード1の加減速を制御することが可能となる。
さらに、本実施形態においては、前センサS1および後ろセンサS2を設けておけば、それらによって検出された各荷重値が、電動スケートボード1の加減速の制御処理および使用者の乗車および降車の判定処理に共用される。センサS1およびS2以外のセンサは特に必要ないため、部品点数を削減することができる。
また、本実施の形態においては、前センサS1および後ろセンサS2として、歪みゲージ式ロードセルを用いているが、これに限定されるものではない。例えば、静電容量式のロードセルまたは圧力センサ等を用いてもよい。
また、ロードセル等の荷重を直接検出する前センサS1および後ろセンサS2に代えて、ばね等の弾性部材と、弾性部材の変位を検出して荷重を検出する位置センサとを組み合わせて荷重を検出してもよい。それらを一体として荷重検出ユニット78(図4)が構成される。そのような構造を採用すると、大幅な低コスト化を実現することができる。
例えば図10(a)および(b)は、ばねおよび位置センサを利用した荷重検出ユニットの構成を示す。この荷重検出ユニットにおいては、フレーム35aがボード本体部2に取り付けられる。フレーム35aとフレーム25aとはシャフト45によって連結され、両フレーム25aおよび35a間の先端部にばね36が介挿されている。位置センサ361は、フレーム35aの側面にボルト363によって取り付けられたセンサ支持部362によって支持されている。位置センサ361にはスリットが設けられ、当該スリット内を左右方向に移動可能に短冊状部材364が設けられている。位置センサ361は、スリット内における短冊状部材364のセンサ長手方向(矢印C方向)の変位を検出することによってボード2にかかる荷重を検出する。また、フレーム35aの側面から突出しているシャフト45の端部にはコンロッド状の連結部材365の一端部が嵌合され、ねじ366によって連結部材365はシャフト45ひいてはフレーム25aに一体化されている。なお、連結部材はフレーム35aには固定されていない。連結部材365の他端部には保持部材367が金具368によって固定され、保持部材367の頭部には短冊状部材364が挿通され、保持部材367によって短冊状部材364が保持されている。
このような構成において、ボード本体部2に荷重が加わるとフレーム35aがシャフト45を中心として矢印D方向下向きに揺動し、ばね36が圧縮される。このとき、連結部材365自体は動かないが位置センサ361がフレーム35aとともに動くので、位置センサ361内における短冊状部材364の位置が変わる(矢印C右方向に変位する)。位置センサ361が短冊状部材364のセンサ長手方向における変位量を見ることによって、ボード本体部2へ加わる荷重を検出できる。
本実施形態においては、前輪3を自由輪とし後輪4の駆動輪として説明したが、これは例である。前輪3を駆動輪とし後輪4を自由輪としてもよいし、前輪3および後輪4を駆動輪としてもよい。後者の場合には、少なくとも、前輪3の駆動を制御するドライバおよび駆動モータと、後輪4の駆動を制御するドライバおよび駆動モータとが必要となる。それらは独立して制御される。このときCPUは1つであってもよいし、各ドライバに対して1つ設けてもよい。さらには、前輪3および後輪4の各々に対して、CPU、ドライバおよびメモリを含むモータ制御ユニットを設けてもよい。
本発明の実施形態として、電動スケートボード1を挙げて説明した。電動スケートボード1のボード本体部2は細長い板状(ボード状)であるとしたが、これは厳密でなくてもよい。例えば平板状に限らず若干の起伏があってもよい。
さらに本発明の概念は、電動サーフボード、電動車椅子等の他の電気による動力源を有する車両に対しても同様に適用できる。また、動力源は電気モータに限らず、内燃機関であってもよい。本発明を内燃機関を利用して実施する際には、上述の電流指令値はスロットルの開き量に関する指令値とし、駆動モータ76への駆動電流は、スロットルを駆動する駆動モータへの駆動電流と読み替えればよい。
なおCPU73の処理は電動スケートボード1上で行われなくてもよい。
本発明によるモータコントロールユニットおよびモータコントロールユニットを備えた車両は、コンピュータプログラムに基づいて上述した処理を行うことができる。コンピュータプログラムは、例えば図5、図6、図9に示すフローチャートに基づいて記述されておりCPUによって実行される。コンピュータプログラムは、光ディスクに代表される光記録媒体、SDメモリカード、EEPROMに代表される半導体記録媒体、フレキシブルディスクに代表される磁気記録媒体等の記録媒体に記録することができる。このようなコンピュータプログラムは、記録媒体に記録されて、または、インターネット等の電気通信回線を介して、製品として市場を流通する。