(57)【要約】【課題】速度指令が示す並進速度方向とのかい離の抑制と並進速度の上昇との両立を図る。【解決手段】複数の駆動輪を備える台車部と、台車部に旋回軸を介して旋回可能に取り付けられた本体部と、本体部の並進速度及び回転速度を表す速度指令を所定の周期で生成する指令生成部と、現ステップの速度指令における並進速度方向を維持する所定個数分の速度指令を探索し、所定個数分の速度指令のうち、その速度指令で全方位台車が動作した場合における複数の駆動輪の車輪軸及び旋回軸のトルク及び角速度の値が制約値を超過している度合を示す超過率が閾値以下となる速度指令、又は、超過率が最小となる速度指令を、現ステップのフィルタ後速度指令として算出する制御部と、現ステップのフィルタ後速度指令を基に、複数の駆動輪の車輪軸を独立に回転駆動する第１の駆動部と、現ステップのフィルタ後速度指令を基に、旋回軸を回転駆動する第２の駆動部と、を備える。【選択図】図４
2018097674.tif 000002
【特許請求の範囲】
【請求項１】
複数の駆動輪を備える台車部と、
前記台車部に旋回軸を介して旋回可能に取り付けられた本体部と、
前記本体部の並進速度及び回転速度を表す速度指令を所定の周期で生成する指令生成部と、
前記指令生成部により現ステップの速度指令が生成されると、生成された現ステップの速度指令における並進速度方向を維持する所定個数分の速度指令を探索し、探索した前記所定個数分の速度指令のうち、該速度指令で全方位台車が動作した場合における前記複数の駆動輪の車輪軸及び前記旋回軸のトルク及び角速度の値が制約値を超過している度合を示す超過率が閾値以下となる速度指令、又は、前記超過率が最小となる速度指令を、現ステップのフィルタ後速度指令として算出する制御部と、
前記制御部により算出された現ステップのフィルタ後速度指令を基に、前記複数の駆動輪の車輪軸を独立に回転駆動する第１の駆動部と、
前記制御部により算出された現ステップのフィルタ後速度指令を基に、前記旋回軸を回転駆動する第２の駆動部と、を備える、全方位台車。
【請求項２】
前記制御部は、
現ステップの速度指令に対して、最大でＮ（Ｎは２以上の自然数）段のプロセスの各々で前記所定個数分の速度指令を探索することとし、
前記Ｎ段目以外のプロセスでは、該プロセスで探索した前記所定個数分の速度指令の中に前記超過率が前記閾値以下となる速度指令があれば、該速度指令を現ステップのフィルタ後速度指令として算出して、次段以降のプロセスを中止し、前記超過率が前記閾値以下となる速度指令がなければ、次段のプロセスに進み、
前記Ｎ段目のプロセスでは、前記Ｎ段のプロセスで探索した全ての速度指令のうち、前記超過率が最小となる速度指令を現ステップのフィルタ後速度指令として算出する、請求項１に記載の全方位台車。
【請求項３】
前記制御部は、
前記Ｎ段目以外のプロセスとして第１のプロセスを実行し、
前記第１のプロセスでは、
前記本体部の並進速度をＸ方向及びＹ方向に分解してＸ軸及びＹ軸とし、前記本体部の回転速度をＺ軸とした直交３軸の３次元座標系において、前ステップのフィルタ後速度指令に相当する点又は前ステップのフィルタ後速度指令における並進速度を減速した点を第１の基点とし、
前記３次元座標系において、前ステップのフィルタ後速度指令における並進速度をゼロとした点と、現ステップの速度指令における回転速度を前ステップのフィルタ後速度指令における回転速度で置換した点と、を結ぶ直線上の点のうち、前記第１の基点に最も近い点を第２の基点とし、
前記３次元座標系において、現ステップの速度指令に相当する点と前記第２の基点とを結ぶ直線上の前記所定個数分の点を、前記所定個数分の速度指令として探索する、請求項２に記載の全方位台車。
【請求項４】
前記制御部は、
前記第１のプロセスの次段に、前記Ｎ段目以外のプロセスとして第２のプロセスを実行し、
前記第２のプロセスでは、
前記３次元座標系において、現ステップの速度指令における並進速度をゼロとした点と前記第２の基点とを結ぶ直線上の前記所定個数分の点を、前記所定個数分の速度指令として探索する、請求項３に記載の全方位台車。
【請求項５】
前記制御部は、
前記第２のプロセスの次段に、前記Ｎ段目以外のプロセスとして第３のプロセスを実行し、
前記第３のプロセスでは、
前記３次元座標系において、現ステップの速度指令に相当する点と前記第１の基点とを結ぶ直線上の前記所定個数分の点を、前記所定個数分の速度指令として探索する、請求項４に記載の全方位台車。
【請求項６】
前記制御部は、
前記第３のプロセスの次段に、前記Ｎ段目のプロセスとして第４のプロセスを実行し、
前記第４のプロセスでは、
前記３次元座標系において、現ステップの速度指令における並進速度をゼロとした点と前記第１の基点とを結ぶ直線上の前記所定個数分の点を、前記所定個数分の速度指令として探索する、請求項５に記載の全方位台車。
【請求項７】
複数の駆動輪を備える台車部と、前記台車部に旋回軸を介して旋回可能に取り付けられた本体部と、を備える全方位台車の制御方法であって、
前記本体部の並進速度及び回転速度を表す速度指令を所定の周期で生成し、
現ステップの速度指令が生成されると、生成された現ステップの速度指令における並進速度方向を維持する所定個数分の速度指令を探索し、探索した前記所定個数分の速度指令のうち、該速度指令で前記全方位台車が動作した場合における前記複数の駆動輪の車輪軸及び前記旋回軸のトルク及び角速度の値が制約値を超過している度合を示す超過率が閾値以下となる速度指令、又は、前記超過率が最小となる速度指令を、現ステップのフィルタ後速度指令として算出し、
前記算出された現ステップのフィルタ後速度指令を基に、前記複数の駆動輪の車輪軸を独立に回転駆動し、
前記算出された現ステップのフィルタ後速度指令を基に、前記旋回軸を回転駆動する、全方位台車の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全方位台車及びその制御方法に関する。
【背景技術】
【０００２】
複数の駆動輪を備える台車部と、台車部に旋回軸を介して旋回可能に取り付けられた本体部と、を備え、全方位移動が可能なアクティブキャスタ式の全方位台車が知られている。例えば、特許文献１には、上述の台車部に相当する車輪本体と、上述の本体部に相当する着座部と、を備えた電動車椅子が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１５２０１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、全方位台車に対し、本体部の並進速度等を示す速度指令を逐次的に入力すると、本体部の並進速度が速い場合には、駆動輪の車輪軸及び旋回軸の制約を超えた制御が必要になり、速度指令が示す並進速度方向に移動することができないおそれがある。そこで、本体部の並進速度を制限することが考えられるが、その場合には、本体部の並進速度が低下してしまうおそれがある。
従って、全方位台車には、速度指令が示す並進速度方向とのかい離の抑制と並進速度の上昇との両立を図ることができないという問題があった。
【０００５】
本発明は、上記を鑑みなされたものであって、速度指令が示す並進速度方向とのかい離の抑制と並進速度の上昇との両立を図ることができる全方位台車及びその制御方法を提供するものである。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る全方位台車は、
複数の駆動輪を備える台車部と、
前記台車部に旋回軸を介して旋回可能に取り付けられた本体部と、
前記本体部の並進速度及び回転速度を表す速度指令を所定の周期で生成する指令生成部と、
前記指令生成部により現ステップの速度指令が生成されると、生成された現ステップの速度指令における並進速度方向を維持する所定個数分の速度指令を探索し、探索した前記所定個数分の速度指令のうち、該速度指令で全方位台車が動作した場合における前記複数の駆動輪の車輪軸及び前記旋回軸のトルク及び角速度の値が制約値を超過している度合を示す超過率が閾値以下となる速度指令、又は、前記超過率が最小となる速度指令を、現ステップのフィルタ後速度指令として算出する制御部と、
前記制御部により算出された現ステップのフィルタ後速度指令を基に、前記複数の駆動輪の車輪軸を独立に回転駆動する第１の駆動部と、
前記制御部により算出された現ステップのフィルタ後速度指令を基に、前記旋回軸を回転駆動する第２の駆動部と、を備える。
【０００７】
本発明の一態様に係る全方位台車の制御方法は、
複数の駆動輪を備える台車部と、前記台車部に旋回軸を介して旋回可能に取り付けられた本体部と、を備える全方位台車の制御方法であって、
前記本体部の並進速度及び回転速度を表す速度指令を所定の周期で生成し、
現ステップの速度指令が生成されると、生成された現ステップの速度指令における並進速度方向を維持する所定個数分の速度指令を探索し、探索した前記所定個数分の速度指令のうち、該速度指令で前記全方位台車が動作した場合における前記複数の駆動輪の車輪軸及び前記旋回軸のトルク及び角速度の値が制約値を超過している度合を示す超過率が閾値以下となる速度指令、又は、前記超過率が最小となる速度指令を、現ステップのフィルタ後速度指令として算出し、
前記算出された現ステップのフィルタ後速度指令を基に、前記複数の駆動輪の車輪軸を独立に回転駆動し、
前記算出された現ステップのフィルタ後速度指令を基に、前記旋回軸を回転駆動する。
【発明の効果】
【０００８】
上述した本発明の態様によれば、全方位台車は、現ステップの速度指令における並進速度方向を最大限維持し、かつ、制約値を考慮した速度指令で動作することができ、また、本体部の並進速度の低下を必要最小限に迎えることができる。そのため、現ステップの速度指令が示す並進速度方向とのかい離の抑制と並進速度の上昇との両立を図ることができる全方位台車及びその制御方法を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態に係る全方位台車の概略構成を示す上面図である。
【図２】実施の形態に係る全方位台車の概略構成を示す正面図である。
【図３】実施の形態に係る全方位台車の概略構成を示す側面図である。
【図４】実施の形態に係る全方位台車の制御ブロックを示すブロック図である。
【図５】実施の形態に係る全方位台車の各種パラメータを示す図である。
【図６】実施の形態に係る指令生成部による台車速度指令の生成方法を示す図である。
【図７】実施の形態に係る制御部の機能ブロックを示すブロック図である。
【図８】実施の形態に係る制御部の処理フローを示すフロー図である。
【図９】実施の形態に係る制御部の処理を具体的に示す図である。
【図１０】実施の形態に係る制御部の処理を具体的に示す図である。
【図１１】実施の形態に係る制御部の処理を具体的に示す図である。
【図１２】実施の形態に係る制御部の処理を具体的に示す図である。
【図１３】実施の形態に係る制御部の処理を具体的に示す図である。
【図１４】実施の形態に係る制御部の処理を具体的に示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の実施の形態について説明する。なお、全ての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
まず、図１〜図３を参照して、本実施の形態に係る全方位台車１の概略構成について説明する。図１〜図３は、本実施の形態に係る全方位台車１の概略構成を示す図であり、図１は上面図、図２は正面図、図３は側面図である。なお、図１は、後述の本体部３を透過的に示している。全方位台車１は、台車部２及び本体部３を備えており、例えば、アクティブキャスタ式の全方位台車で実現される。
【００１１】
台車部２は、１つのキャスタ輪２１及び左右一対の２つの駆動輪２２Ｌ，２２Ｒを備えている。２つの駆動輪２２Ｌ，２２Ｒの車輪軸は、後述の車輪アクチュエータ７Ｌ，７Ｒによってそれぞれ独立に回転駆動される。このように、台車部２は、２つの駆動輪２２Ｌ，２２Ｒの車輪軸を独立に回転駆動することで、全方位移動を実現する。キャスタ輪２１は、台車部２の移動方向に倣うように追従する。
【００１２】
本体部３は、台車部２に対して、旋回軸（ｙａｗ軸）３１を中心にして旋回可能に取り付けられている。旋回軸３１は、本体部３が台車部２の移動方向を向くように、旋回アクチュエータ８によって回転駆動される。駆動輪２２Ｌ，２２Ｒの車輪軸と本体部３の旋回軸３１とはオフセットしている（交差しない）。
【００１３】
次に、図４及び図５を参照して、本実施の形態に係る全方位台車１の制御ブロック構成について説明する。図４は、本実施の形態に係る全方位台車１の制御ブロックを示すブロック図である。図５は、本実施の形態に係る全方位台車１の各種パラメータを示す図である。全方位台車１は、指令生成部４、制御部５、指令変換部６、車輪アクチュエータ７Ｌ，７Ｒ、及び旋回アクチュエータ８を備えている。車輪アクチュエータ７Ｌ，７Ｒで第１の駆動部を構成し、旋回アクチュエータ８で第２の駆動部を構成する。
【００１４】
指令生成部４は、全方位台車１が現在位置から目標位置へ移動するための台車速度指令［Ｖｘ，Ｖｙ，ωθ］を周期的に生成する。ここで、Ｖｘは、ｘ方向の速度であり、Ｖｙは、ｙ方向の速度であり、Ｖｘ，Ｖｙを合成したものが、本体部３の並進速度を示している。また、ωθは、本体部３の回転速度を示している。
【００１５】
例えば、指令生成部４は、ユーザが操作するジョイスティック等の操作部で構成される。また、全方位台車１を環境中を障害物等を回避させながら自律移動させる場合は、指令生成部４は、自律移動モジュールで構成される。
【００１６】
図６は、指令生成部４を自律移動モジュールで構成する場合における、指令生成部４による台車速度指令の生成方法を示す図である。まず、指令生成部４は、地図上の目標位置を決定する（ステップａ）。続いて、指令生成部４は、地図上の現在位置から目標位置に障害物等を回避して移動可能な経路を探索する（ステップｂ）。そして、指令生成部４は、全方位台車１の現在位置及び姿勢を基に、探索した経路に沿うように、台車速度指令を生成する（ステップｃ）。以降、指令生成部４は、周期的に台車速度指令を生成する。
【００１７】
制御部５は、指令生成部４により生成された現ステップの台車速度指令と、駆動輪２２Ｌ，２２Ｒの車輪軸及び旋回軸３１のトルク及び角速度の制約値と、を基に、現ステップのフィルタ後台車速度指令を算出する。
【００１８】
具体的には、まず、制御部５は、現ステップの台車速度指令における並進速度方向を維持する所定個数分の台車速度指令を探索する。そして、制御部５は、探索した所定個数分の台車速度指令のうち、その台車速度指令で全方位台車１が動作した場合における駆動輪２２Ｌ，２２Ｒの車輪軸及び旋回軸３１のトルク及び角速度の値が制約値を超過している度合を示す超過率が閾値（本実施の形態では、１とする）以下である台車速度指令、又は、超過率が最小となる台車速度指令を、現ステップのフィルタ後台車速度指令として算出する。
【００１９】
なお、制御部５は、例えば、プロセッサ５ａ、メモリ５ｂ、及びインターフェイス部（Ｉ／Ｆ）５ｃなどによりハードウェア構成される。プロセッサ５ａは、例えば、ＣＰＵ（Central Processing Unit）等の演算処理装置である。メモリ５ｂは、例えば、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）等のメモリであり、プロセッサ５ａに実行させるためのプログラムを記憶している。プロセッサ５ａは、このプログラムをメモリ５ｂから読み出し、実行する。インターフェイス部（Ｉ／Ｆ）５ｃは、外部と信号の入出力を行う。プロセッサ５ａ、メモリ５ｂ、及びインターフェイス部（Ｉ／Ｆ）５ｃは、データバスなどを介して相互に接続されている。また、上述のプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００２０】
指令変換部６は、制御部５により算出された現ステップのフィルタ後台車速度指令［Ｖｘ，Ｖｙ，ωθ］を、現ステップの関節速度指令［ω＿Ｌ，ω＿Ｒ，ω＿ｙａｗ］に変換する。ω＿Ｌは、駆動輪２２Ｌの車輪軸の角速度であり、車輪アクチュエータ７Ｌに出力される。ω＿Ｒは、駆動輪２２Ｒの車輪軸の角速度であり、車輪アクチュエータ７Ｒに出力される。ω＿ｙａｗは、旋回軸３１の角速度であり、旋回アクチュエータ８に出力される。
【００２１】
車輪アクチュエータ７Ｌは、駆動輪２２Ｌの車輪軸に連結されており、駆動輪２２Ｌの車輪軸の角速度が現ステップのω＿Ｌとなるように、駆動輪２２Ｌの車輪軸を回転駆動する。車輪アクチュエータ７Ｒは、駆動輪２２Ｒの車輪軸に連結されており、駆動輪２２Ｒの車輪軸の角速度が現ステップのω＿Ｒとなるように、駆動輪２２Ｒの車輪軸を回転駆動する。旋回アクチュエータ８は、旋回軸３１に連結されており、旋回軸３１の角速度が現ステップのω＿ｙａｗとなるように、旋回軸３１を回転駆動する。
【００２２】
本実施の形態は、制御部５における動作に特徴がある。そこで、以下では、制御部５における動作を中心に説明することとする。また、以下では、上述の台車速度指令及びフィルタ後台車速度指令を、単に速度指令及びフィルタ後速度指令と称することとする。
【００２３】
次に、図７を参照して、制御部５の機能ブロック構成について説明する。図７は、制御部５の機能ブロックを示すブロック図である。制御部５は、指令入力部５１、指令探索部５２、状態計算部５３、超過率計算部５４、保存判定部５５、最小超過率保存部５６、指令保存部５７、終了判定部５８、及び指令出力部５９を備えている。なお、指令入力部５１及び指令出力部５９は、図４のインターフェイス部（Ｉ／Ｆ）５ｃに含まれる。また、指令探索部５２、状態計算部５３、超過率計算部５４、保存判定部５５、及び終了判定部５８は、図４のプロセッサ５ａに含まれる。また、最小超過率保存部５６及び指令保存部５７は、図４のメモリ５ｂに含まれる。
【００２４】
指令入力部５１は、指令生成部４により周期的に生成される速度指令を入力する。
指令探索部５２は、指令生成部４から現ステップの速度指令が入力されると、その入力された現ステップの速度指令における並進速度方向を維持する速度指令を探索する。
【００２５】
状態計算部５３は、指令探索部５２により探索された速度指令で動作した場合の駆動輪２２Ｌ，２２Ｒの車輪軸及び本体部３の旋回軸３１のトルク及び角速度を計算する。このとき、状態計算部５３は、前ステップのフィルタ後速度指令や全方位台車１の重量等を加味して、上記の計算をしても良い。
【００２６】
超過率計算部５４は、状態計算部５３により計算された駆動輪２２Ｌ，２２Ｒの車輪軸及び本体部３の旋回軸３１のトルク及び角速度の計算値の各々について、上限制約値又は下限制約値を超過している度合を示す超過率を計算する。例えば、超過率計算部５４は、上限制約値を正値、下限制約値を負値に設定しておき、計算値が正値であれば、計算値／上限制約値を超過率として計算し、計算値が負値であれば、計算値／下限制約値を超過率として計算する。そのため、計算値が上限制約値又は下限制約値を超えていれば、超過率は１よりも大きくなる。そして、超過率計算部５４は、駆動輪２２Ｌ，２２Ｒの車輪軸及び本体部３の旋回軸３１のトルク及び角速度の計算値の各々の超過率のうち、最大の超過率を出力する。なお、駆動輪２２Ｌ，２２Ｒの車輪軸及び本体部３の旋回軸３１のトルク及び角速度の上限制約値及び下限制約値は、個々に、予め設定されているものとする。
【００２７】
保存判定部５５は、指令探索部５２により探索された速度指令及び超過率計算部５４により計算された超過率を保存するか否かを判定する。具体的には、保存判定部５５は、超過率計算部５４により計算された超過率を、最小超過率保存部５６に保存された超過率と比較することで、超過率計算部５４により計算された超過率が、現ステップの速度指令に対して超過率計算部５４により過去に計算された超過率の中で最小であるか否かを判定する。その結果、超過率計算部５４により計算された超過率が、最小である場合には、指令探索部５２により探索された速度指令及び超過率計算部５４により計算された超過率を保存すると判定する。
【００２８】
最小超過率保存部５６は、保存判定部５５により超過率を保存すると判定された場合には、超過率計算部５４により計算された超過率を保存する。一方、最小超過率保存部５６は、保存判定部５５により超過率を保存しないと判定された場合には、超過率計算部５４により計算された超過率を破棄する。
【００２９】
指令保存部５７は、保存判定部５５により速度指令を保存すると判定された場合には、指令探索部５２により探索された速度指令を保存する。一方、指令保存部５７は、保存判定部５５により速度指令を保存しないと判定された場合には、指令探索部５２により探索された速度指令を破棄する。
【００３０】
終了判定部５８は、現ステップの速度指令に対する処理を終了するか否かを判定する。この判定方法は後述する。終了判定部５８は、終了すると判定した場合には、指令保存部５７に保存されている速度指令を出力するよう指令出力部５９に指示し、終了しないと判定した場合には、別の速度指令を探索するよう指令探索部５２に指示する。
【００３１】
指令出力部５９は、終了判定部５８からの指示を受けて、指令保存部５７に保存されている速度指令を、現ステップのフィルタ後速度指令として指令変換部６に出力する。
【００３２】
本実施の形態では、指令探索部５２は、現ステップの速度指令に対して、単一のプロセスで、現ステップの速度指令における並進速度方向を維持する所定個数分の速度指令を探索するか、又は、最大でＮ（Ｎは２以上の自然数）段のプロセスの各々で、現ステップの速度指令における並進速度方向を維持する所定個数分の速度指令を探索することとする。
以下では、最大でＮ段のプロセスの各々で、現ステップの速度指令における並進速度方向を最大限維持する所定個数分の速度指令を探索する例について説明する。
【００３３】
最大でＮ段のプロセスの各々で所定個数分の速度指令を探索する場合、Ｎ段目以外のプロセスでは、終了判定部５８は、そのプロセスで所定個数分の速度指令を探索するまでは、処理を終了しないと判定し、所定個数分の速度指令を探索した後、最小超過率保存部５６に保存されている超過率が１以下であるか否かを判定する。最小超過率保存部５６に保存されている超過率が１以下であれば、そのプロセスで探索した所定個数分の速度指令の中に超過率が１以下となる速度指令が存在し、そのうち、最も探索のゴールに近い速度指令が指令保存部５７に保存されていることになる。そのため、終了判定部５８は、処理を終了すると判定し、指令保存部５７に保存されている速度指令を、現ステップのフィルタ後速度指令として出力するよう指令出力部５９に指示して、次段以降のプロセスを中止する。一方、最小超過率保存部５６に保存されている超過率が１を超えていれば、そのプロセスで探索した所定個数分の速度指令の中に超過率が１以下となる速度指令は存在しないことになる。そのため、終了判定部５８は、処理を終了しないと判定し、次段のプロセスに進む。
【００３４】
また、Ｎ段目のプロセスでは、終了判定部５８は、そのプロセスで所定個数分の速度指令を探索するまでは、処理を終了しないと判定し、所定個数分の速度指令を探索した後に、処理を終了すると判定する。この時点で最小超過率保存部５６に保存されている超過率は、Ｎ段分のプロセスで探索した全ての速度指令の超過率の中で最小の超過率であることになる。そのため、終了判定部５８は、最小超過率保存部５６に超過率が保存されている速度指令を、超過率が１以下であるか否かに拘らず、現ステップのフィルタ後速度指令として出力するよう指令出力部５９に指示する。
【００３５】
次に、図８を参照して、制御部５の処理フローについて説明する。図８は、制御部５の処理フローを示すフロー図である。
まず、指令入力部５１は、指令生成部４により周期的に生成される速度指令を入力する（ステップＳ１）。
【００３６】
続いて、指令探索部５２は、現ステップの速度指令における並進速度方向を維持する速度指令を探索するための複数のプロセスのうち、優先度が最も高いプロセスを選択する（ステップＳ２）。続いて、指令探索部５２は、ステップＳ２で選択したプロセスで、現ステップの速度指令における並進速度方向を維持する速度指令を探索する（ステップＳ３）。
【００３７】
続いて、状態計算部５３は、ステップＳ３で指令探索部５２により探索された速度指令で動作した場合の駆動輪２２Ｌ，２２Ｒの車輪軸及び本体部３の旋回軸３１のトルク及び角速度を計算する。続いて、超過率計算部５４は、状態計算部５３により計算された駆動輪２２Ｌ，２２Ｒの車輪軸及び本体部３の旋回軸３１のトルク及び角速度の計算値の各々について、上限制約値又は下限制約値を超過している度合を示す超過率を計算し、このうちの最大の超過率を出力する（ステップＳ４）。
【００３８】
続いて、保存判定部５５は、ステップＳ４で超過率計算部５４により計算された超過率が、現ステップの速度指令に対して超過率計算部５４により計算された超過率の中で、超過率が１以上の場合のみ最小であるか否かを判定する（ステップＳ５）。
【００３９】
ステップＳ４で超過率計算部５４により計算された超過率が最小である場合には（ステップＳ５のＹｅｓ）、最小超過率保存部５６は、ステップＳ４で超過率計算部５４により計算された超過率を保存し、また、指令保存部５７は、ステップＳ３で指令探索部５２により探索された速度指令を保存する（ステップＳ６）。一方、ステップＳ４で超過率計算部５４により計算された超過率が最小でない場合には（ステップＳ５のＮｏ）、ステップＳ６をスルーし、最小超過率保存部５６は、ステップＳ４で超過率計算部５４により計算された超過率を保存せずに破棄し、また、指令保存部５７は、ステップＳ３で指令探索部５２により探索された速度指令を保存せずに破棄する。
【００４０】
続いて、終了判定部５８は、ステップＳ２で指令探索部５２により選択されたプロセスで、指令探索部５２により所定個数分の速度指令が探索されたか否かを判定する（ステップＳ７）。
【００４１】
ステップＳ２で指令探索部５２により選択されたプロセスで、所定個数分の速度指令が探索されていない場合には（ステップＳ７のＮｏ）、別の速度指令を探索させるためにステップＳ３に戻る。一方、ステップＳ２で指令探索部５２により選択されたプロセスで、所定個数分の速度指令が探索されている場合には（ステップＳ７のＹｅｓ）、続いて、終了判定部５８は、最小超過率保存部５６に保存されている最小超過率が１以下であるか否かを判定する（ステップＳ８）。
【００４２】
最小超過率保存部５６に保存されている最小超過率が１以下である場合には（ステップＳ８のＹｅｓ）、終了判定部５８は、現ステップの速度指令に対する処理を終了すると判定し、指令出力部５９は、その時点で指令保存部５７に保存されている速度指令を、現ステップのフィルタ後速度指令として指令変換部６に出力し（ステップＳ１０）、処理を終了する。
【００４３】
最小超過率保存部５６に保存されている最小超過率が１以下でない場合には（ステップＳ８のＮｏ）、続いて、終了判定部５８は、複数のプロセスの中で未処理のプロセスがあるか否かを判定し（ステップＳ９）、未処理のプロセスがある場合には（ステップＳ９のＹｅｓ）、未処理のプロセスの中で優先度が最も高いプロセスを選択させるためにステップＳ２に戻る。
【００４４】
未処理のプロセスがない場合には（ステップＳ９のＮｏ）、終了判定部５８は、現ステップの速度指令に対する処理を終了すると判定し、指令出力部５９は、その時点で指令保存部５７に保存されている速度指令を、現ステップのフィルタ後速度指令として指令変換部６に出力し（ステップＳ１０）、処理を終了する。すなわち、この場合には、超過率が１よりも大きい速度指令を指令変換部６に出力することになる。
【００４５】
なお、制御部５は、現ステップの速度指令に対する処理を終了した場合、最小超過率保存部５６及び指令保存部５７にそれぞれ保存されている最小超過率及び速度指令を破棄し、次ステップの速度指令が入力されるまで待機する。そして、次ステップの速度指令が入力されると、図８の処理を実行する。
【００４６】
次に、図９〜図１４を参照して、制御部５の処理について具体的に説明する。図９〜図１４は、制御部５の処理を具体的に示す図である。なお、図９〜図１４は、本体部３の並進速度をＸ方向及びＹ方向に分解したＶｘ及びＶｙをＸ軸及びＹ軸とし、本体部３の回転速度を示すωθをＺ軸とした直交３軸の３次元座標系を表している。
【００４７】
（１）プロセス１（図９）：
指令探索部５２は、指令生成部４により生成された現ステップの速度指令［Ｖｘｒｅｆ，Ｖｙｒｅｆ，ωθｒｅｆ］が指令入力部５１に入力されると、前ステップのフィルタ後速度指令［Ｖｘ［ｋ−１］，Ｖｙ［ｋ−１］，ωθ［ｋ−１］］に相当する点をＰ１点、前ステップのフィルタ後速度指令における並進速度をゼロとした点［０，０，ωθ［ｋ−１］］をＰ２点とする。そして、指令探索部５２は、Ｐ１点とＰ２点とを結ぶ直線上を、図中矢印のように探索して、駆動輪２２Ｌ，２２Ｒの車輪軸及び旋回軸３１のトルク及び角速度が上限制約値及び下限制約値を満たす（すなわち、上限制約値と下限制約値との間の範囲内にある）Ｐ３点（第１の基点）を探す。このＰ３点は、前ステップのフィルタ後速度指令における並進速度を減速した速度指令に相当する点となる。このとき、指令探索部５２は、状態計算部５３を用いて、トルク及び角速度を計算する。指令探索部５２は、Ｐ３点を探し出した後、次のプロセス２に進む。
【００４８】
なお、指令探索部５２は、前ステップのフィルタ後速度指令で動作した場合の駆動輪２２Ｌ，２２Ｒの車輪軸の角速度ω＿Ｌ，ω＿Ｒのいずれかが上限制約値又は下限制約値のｎ％（ｎは１００未満で１００に近い任意数。例えば、ｎ＝９９）を超えていた場合に、上述のＰ３点の探索を行う。一方、指令探索部５２は、ｎ％を超えていない場合は、Ｐ１点をＰ３点として次のプロセス２に進む。
【００４９】
また、指令探索部５２は、上述のＰ３点の探索において、上下限制約値を満たすＰ３点が無い場合は、Ｐ１点のＶｘ［ｋ−１］，Ｖｙ［ｋ−１］をｍ倍（ｍは１未満で１に近い任意数。例えば、ｍ＝０．９９８）したものをＰ３点として次のプロセス２に進む。
【００５０】
（２）プロセス２（図１０）：
続いて、指令探索部５２は、現ステップの速度指令における回転速度を、前ステップのフィルタ後速度指令における回転速度で置換した点［Ｖｘｒｅｆ，Ｖｙｒｅｆ，ωθ［ｋ−１］］をＰ４点とする。そして、指令探索部５２は、Ｐ２点とＰ４点とを結ぶ直線上で、Ｐ３点から最も近い点をＰ５点（第２の基点）とする。このＰ５点は、現ステップの速度指令における並進速度方向を維持した場合に、並進速度が前ステップの速度指令における並進速度と最も近い速度指令に相当する点となる。
【００５１】
以降、指令探索部５２は、４つのプロセス３〜６（第１〜第４のプロセス）を順次選択し、選択した各プロセスで所定個数分の速度指令を探索する。ここでは、プロセス３〜６は、この順番で優先度が高い（すなわち、プロセス３の優先度が最も高い）ものとする。
【００５２】
（３）プロセス３（図１１）：
プロセス３は、現ステップの速度指令における並進速度方向に、現ステップの速度指令における並進速度で進むことを優先して、速度指令を探索するプロセスである。指令探索部５２は、現ステップの速度指令［Ｖｘｒｅｆ，Ｖｙｒｅｆ，ωθｒｅｆ］に相当する点をＰ６点とする。そして、指令探索部５２は、Ｐ５点とＰ６点とを結ぶ直線上を、図中矢印の方向に、二分法で所定個数分の速度指令を探索する。このとき、速度指令を探索する度に、図８のステップＳ４〜Ｓ６を行う。
【００５３】
所定個数分の速度指令の探索が終了すると、終了判定部５８は、最小超過率保存部５６に保存されている最小超過率が１以下であるか否かを判定する。最小超過率が１以下である場合は、指令出力部５９は、その時点で指令保存部５７に保存されている速度指令を、現ステップのフィルタ後速度指令［Ｖｘ［ｋ］，Ｖｙ［ｋ］，ωθ［ｋ］］として指令変換部６に出力し、処理を終了する。一方、最小超過率が１よりも大きい場合は、プロセス４に進む。
【００５４】
（４）プロセス４（図１２）：
プロセス４は、現ステップの速度指令における並進速度方向に進むものの、現ステップの速度指令における並進速度を減速することを優先して、速度指令を探索するプロセスである。指令探索部５２は、現ステップの速度指令における並進速度をゼロとした点［０，０，ωθｒｅｆ］をＰ７点とする。そして、指令探索部５２は、Ｐ７点とＰ５点とを結ぶ直線上を、図中矢印の方向に、直線探索法で所定個数分の速度指令を探索する。このとき、速度指令を探索する度に、図８のステップＳ４〜Ｓ６を行う。
【００５５】
所定個数分の速度指令の探索が終了すると、終了判定部５８は、最小超過率保存部５６に保存されている最小超過率が１以下であるか否かを判定する。最小超過率が１以下である場合は、指令出力部５９は、その時点で指令保存部５７に保存されている速度指令を、現ステップのフィルタ後速度指令［Ｖｘ［ｋ］，Ｖｙ［ｋ］，ωθ［ｋ］］として指令変換部６に出力し、処理を終了する。一方、最小超過率が１よりも大きい場合は、プロセス５に進む。
【００５６】
（５）プロセス５（図１３）：
プロセス５は、現ステップの速度指令における並進速度方向に、現ステップの速度指令における並進速度で進むことを優先して、速度指令を探索するプロセスである。ただし、プロセス５は、前ステップのフィルタ後速度指令における並進速度方向に近づくことを許容している。指令探索部５２は、Ｐ３点とＰ６点とを結ぶ直線上を、図中矢印の方向に、二分法で所定個数分の速度指令を探索する。このとき、速度指令を探索する度に、図８のステップＳ４〜Ｓ６を行う。
【００５７】
所定個数分の速度指令の探索が終了すると、終了判定部５８は、最小超過率保存部５６に保存されている最小超過率が１以下であるか否かを判定する。最小超過率が１以下である場合は、指令出力部５９は、その時点で指令保存部５７に保存されている速度指令を、現ステップのフィルタ後速度指令［Ｖｘ［ｋ］，Ｖｙ［ｋ］，ωθ［ｋ］］として指令変換部６に出力し、処理を終了する。一方、最小超過率が１よりも大きい場合は、プロセス６に進む。
【００５８】
（６）プロセス６（図１４）：
プロセス６は、現ステップの速度指令における並進速度方向に進むものの、現ステップの速度指令における並進速度を減速することを優先して、速度指令を探索するプロセスである。ただし、プロセス６は、前ステップのフィルタ後速度指令における並進速度方向に近づくことを許容している。指令探索部５２は、Ｐ７点とＰ３点とを結ぶ直線上を、図中矢印の方向に、直線探索法で所定個数分の速度指令を探索する。このとき、速度指令を探索する度に、図８のステップＳ４〜Ｓ６を行う。
【００５９】
所定個数分の速度指令の探索が終了すると、指令出力部５９は、その時点で指令保存部５７に保存されている速度指令を、現ステップのフィルタ後速度指令［Ｖｘ［ｋ］，Ｖｙ［ｋ］，ωθ［ｋ］］として指令変換部６に出力し、処理を終了する。
【００６０】
上述のように本実施の形態に係る全方位台車１によれば、制御部５は、現ステップの速度指令における並進速度方向を維持する所定個数分の速度指令を探索し、探索した所定個数分の速度指令のうち、駆動輪の車輪軸及び旋回軸のトルク及び角速度の値が制約値を超過している度合を示す超過率が閾値以下となる速度指令、又は、超過率が最小となる速度指令を、現ステップのフィルタ後速度指令として算出する。
【００６１】
そのため、現ステップの速度指令における並進速度方向を最大限維持し、かつ、制約値を考慮したフィルタ後速度指令で駆動輪の車輪軸及び旋回軸を駆動することができ、また、本体部の並進速度を必要以上に低下させる必要がない。従って、現ステップの速度指令が示す並進速度方向とのかい離の抑制と並進速度の上昇との両立を図ることができる。
【００６２】
また、制約値を考慮したフィルタ後速度指令で駆動輪の車輪軸及び旋回軸を駆動することができるため、駆動輪の車輪軸に過大なトルクが発生することを抑制することができ、それにより、車輪スリップの発生を抑制することができる。
【００６３】
また、現ステップの速度指令における並進速度方向を最大限維持したフィルタ後速度指令で駆動輪の車輪軸及び旋回軸を駆動することができるため、ジョイスティック等の操作部で指令生成部を構成した場合に、ユーザが操作した際の違和感を低減することができる。
【００６４】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上記実施の形態では、駆動輪は、２つとしたが、３つ以上であっても構わない。
【符号の説明】
【００６５】
１  全方位台車
２  台車部
２１  キャスタ輪
２２Ｌ，２２Ｒ  駆動輪
３  本体部
３１  旋回軸
４  指令生成部
５  制御部
５ａ  プロセッサ
５ｂ  メモリ
５ｃ  インターフェイス部（Ｉ／Ｆ）
５１  指令入力部
５２  指令探索部
５３  状態計算部
５４  超過率計算部
５５  保存判定部
５６  最小超過率保存部
５７  指令保存部
５８  終了判定部
５９  指令出力部
６  指令変換部
７Ｌ，７Ｒ  車輪アクチュエータ
８  旋回アクチュエータ
【図１】
2018097674.tif 000003
【図２】
2018097674.tif 000004
【図３】
2018097674.tif 000005
【図４】
2018097674.tif 000006
【図５】
2018097674.tif 000007
【図６】
2018097674.tif 000008
【図７】
2018097674.tif 000009
【図８】
2018097674.tif 000010
【図９】
2018097674.tif 000011
【図１０】
2018097674.tif 000012
【図１１】
2018097674.tif 000013
【図１２】
2018097674.tif 000014
【図１３】
2018097674.tif 000015
【図１４】
2018097674.tif 000016