倒立振子制御型の移動体の制御装置
【課題】走行では越えられないまでも回避するほどでもない程度の大きさの障害物が存在する場合であっても乗り越えて進行することができる倒立振子制御型の移動体の制御装置を提供する。
【解決手段】走行面を移動可能な移動動作部5と、移動動作部5を駆動する駆動力を発生させるアクチュエータ装置7と、移動動作部5及びアクチュエータ装置7が組付けられた基体9と、を有する倒立振子制御型の移動体1の制御装置であって、基体9は基体9を伸縮させる伸縮機構(直動アクチュエータ13及びバネ14)をさらに備え、移動体1を跳躍させるための指令値に基づいて、跳躍時の軌道計画を生成し、軌道計画に応じた移動体1の射出角を、アクチュエータ装置7を駆動して移動体1の姿勢を制御することにより制御する制御ユニット50と、上記の軌道計画に応じた移動体1の射出速度を、伸縮機構の伸縮量を調整することにより制御する制御ユニット10とを備える。
【解決手段】走行面を移動可能な移動動作部5と、移動動作部5を駆動する駆動力を発生させるアクチュエータ装置7と、移動動作部5及びアクチュエータ装置7が組付けられた基体9と、を有する倒立振子制御型の移動体1の制御装置であって、基体9は基体9を伸縮させる伸縮機構(直動アクチュエータ13及びバネ14)をさらに備え、移動体1を跳躍させるための指令値に基づいて、跳躍時の軌道計画を生成し、軌道計画に応じた移動体1の射出角を、アクチュエータ装置7を駆動して移動体1の姿勢を制御することにより制御する制御ユニット50と、上記の軌道計画に応じた移動体1の射出速度を、伸縮機構の伸縮量を調整することにより制御する制御ユニット10とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、走行面を移動可能な倒立振子制御型の移動体の制御装置に関する。
【背景技術】
【0002】
走行面上を全方向(2次元的な全方向)に移動可能な移動体としては、例えば、特許文献1、2に見られるものが本願出願人により提案されている。これらの特許文献1、2に見られる移動体にあっては、走行面に接地しながら該走行面上を全方向に移動可能な、球体状又は車輪状又はクローラ状の移動動作部と、該移動動作部を駆動する電動モータ等を有するアクチュエータ装置とが車両の基体に組付けられている。そして、この車両は、アクチュエータ装置により移動動作部を駆動することによって、走行面上を移動する。
【0003】
また、この種の移動体の移動動作を制御する技術としては、例えば特許文献3に見られる技術が本願出願人により提案されている。この技術では、車両の基体が球体状の移動動作部に対して前後・左右に傾動自在に設けられている。そして、基体の傾き角を計測し、この傾き角を所要の角度に保つように、移動動作部を駆動する電動モータのトルクを制御することによって、基体の傾動動作に応じて車両を移動させるようにしている。
【0004】
更に、以下の特許文献4には、進行方向に関して車体をスライド可能に支持し、走行中に障害物を発見して急制動をかけた場合に車体を後方へ退避させる制御を行う倒立車輪型の走行体が開示されている。かかる制御を行うことで、特許文献4に開示された走行体は、急制動をかけた場合の制動距離を短くしつつ、搭乗者や荷物等を危険から回避させている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】国際公開第08/132778号パンフレット
【特許文献2】国際公開第08/132779号パンフレット
【特許文献3】特許第3070015号公報
【特許文献4】特許第4291822号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、上述した特許文献1〜3に開示された移動体においても、安全性の観点からは上述した特許文献4に開示された走行体と同様に、走行面上に存在する障害物等に起因する危険を回避するための何らかの制御が必要になる。ここで、安全性及び機動性の双方を考慮すると、走行では越えられない程度の大きさの障害物を対象として危険回避のための制御が行われるのが望ましい。
【0007】
しかしながら、この程度の大きさの障害物を危険退避の対象にしてしまうと、走行では越えられないまでも回避するほどでもない程度の大きさの障害物についても移動体を停止させる停止動作や、走行を一旦中断して障害物を回避する回避動作が行われてしまう。搭乗者からすれば、この程度の大きさの障害物については、回避せずに乗り越えて進行させたい場合もあると考えられるが、従来の移動体では、このような障害物を乗り越えて進行させることはできないという問題があった。
【0008】
本発明は、上記問題を解決すべくなされたもので、その目的は、走行では越えられないまでも回避するほどでもない程度の大きさの障害物が存在する場合であっても乗り越えて進行することができる倒立振子制御型の移動体の制御装置を提供することにある。
【課題を解決するための手段】
【0009】
上記問題を解決するために、請求項1に記載した発明は、走行面(床面、路面、地面等)を移動可能な被駆動機構(例えば、実施形態による移動動作部5、車輪、クローラ等)と、前記被駆動機構を駆動する駆動力を発生させる駆動部(例えば、実施形態によるアクチュエータ装置7、電動機等の駆動源)と、前記被駆動機構及び前記駆動部が組付けられた基体(例えば、実施形態による基体9やフレーム等)と、を有する倒立振子制御型の移動体(例えば、実施形態による移動体1、倒立振子制御型移動体、全方向移動体、車両等)の制御装置であって、前記基体は当該基体を伸縮させる伸縮機構を(例えば、実施形態による直動アクチュエータ13及びバネ14、又は直動アクチュエータ93及びバネ94)さらに備え、前記倒立振子制御型の移動体を跳躍させるための指令値に基づいて、跳躍時の軌道計画を生成する軌道計画生成部(例えば、実施形態による軌道計画生成部(AC)と、前記軌道計画に応じた前記倒立振子制御型の移動体の射出角を、前記駆動部を駆動して前記倒立振子制御型の移動体の姿勢を制御することにより制御する第1制御部(例えば、実施形態による下位コントローラSC)と、前記軌道計画に応じた前記倒立振子制御型の移動体の射出速度を、前記伸縮機構の伸縮量を調整することにより制御する第2制御部(例えば、実施形態による制御ユニット10)とを備えることを特徴とする倒立振子制御型の移動体の制御装置である。これにより、指令値に基づいて生成された軌道計画に応じて全方向移動車両の射出角及び射出速度が制御されることにより、軌道計画に沿うように全方向移動車両を跳躍させることができる。
請求項2に記載した発明は、前記倒立振子制御型の移動体が、前記基体に組付けられた搭乗部(例えば、実施形態による搭乗部3及びステップ25R,25L)と、当該搭乗部にかかる荷重を検出する荷重検出部(例えば、実施形態による荷重センサ54)とを備えており、
前記軌道計画生成部は、前記荷重検出部の検出結果に応じて、前記搭乗部に乗員が搭乗している場合の軌道計画(例えば、実施形態によるステップS24)と、前記搭乗部に乗員が搭乗していない場合の軌道計画(例えば、実施形態によるステップS25)との何れか一方の軌道計画を生成することを特徴とする。これにより、荷重検出部の検出結果に応じて搭乗部に乗員が搭乗している場合の軌道計画と記搭乗部に乗員が搭乗していない場合の軌道計画との何れか一方の軌道計画を生成することができる。
請求項3に記載した発明は、前記指令値が、前記倒立振子制御型の移動体の跳躍方向を示す値と、前記倒立振子制御型の移動体の飛距離及び跳躍高さの少なくとも一方を示す値とを含むことを特徴とする。これにより、倒立振子制御型の移動体の跳躍方向を示す値と飛距離を示す値の組み合わせ、倒立振子制御型の移動体の跳躍方向を示す値と跳躍高さを示す値の組み合わせ、及び倒立振子制御型の移動体の跳躍方向を示す値と飛距離を示す値と跳躍高さを示す値の組み合わせのうちの何れかの組み合わせを跳躍のための指令値に含ませることができる。なお、「飛距離」とは、跳躍によって倒立振子制御型の移動体が走行面から離れた離床地点から走行面に着地する着床地点までの距離をいう。
請求項4に記載した発明は、前記第1制御部が、前記軌道計画生成部が生成した軌道計画に沿った跳躍が行われている間に、前記駆動部を駆動して前記倒立振子制御型の移動体の姿勢を制御する(例えば、実施形態によるステップS35)ことを特徴とする。これにより、跳躍している間にも倒立振子制御型の移動体の姿勢を制御することができる。
請求項5に記載した発明は、前記第1制御部が、前記軌道計画に沿った跳躍終了時における前記倒立振子制御型の移動体の姿勢が、前記軌道計画に沿った跳躍開始時の姿勢とは逆になるように制御することを特徴とする。これにより、倒立振子制御型の移動体の姿勢を跳躍開始時の姿勢とは逆の姿勢で着地させることができる。
請求項6に記載した発明は、前記第1制御部が、前記軌道計画に沿った跳躍が終了した時には、前記倒立振子制御型の移動体の姿勢が所定の安定姿勢となるように制御する(例えば、実施形態によるステップS39)ことを特徴とする。ここで、「所定の安定姿勢となるように制御する」とは、通常の倒立振子モデルの制御に速やかに移行させるように制御することをいう。これにより、跳躍が終了したときに、倒立振子制御型の移動体の姿勢を速やかに所定の安定姿勢にすることができる。
請求項7に記載した発明は、前記伸縮機構が、前記第2制御部によって伸縮量が調整されるアクチュエータ(例えば、実施形態による直動アクチュエータ13,93)と、伸縮方向が前記アクチュエータの伸縮方向と同じ方向に設定されたバネ(例えば、実施形態によるバネ14,94)とからなることを特徴とする。これにより、第2制御部によってアクチュエータの伸縮量を調整することにより、基体の伸縮量を自在に制御することができる。
請求項8に記載した発明は、前記アクチュエータが、前記バネの上部に配置されて前記バネと直列接続されていることを特徴とする。これにより、バネに直列接続されたアクチュエータの伸縮量を調整することにより基体の伸縮量を自在に制御することができる。
請求項9に記載した発明は、前記アクチュエータと前記バネが、並列接続されていることを特徴とする。これにより、バネに並列接続されたアクチュエータの伸縮量を調整することにより基体の伸縮量を自在に制御することができる。
【発明の効果】
【0010】
請求項1に記載した発明によれば、指令値に基づいて生成された軌道計画に応じて倒立振子制御型の移動体の射出角及び射出速度が制御されることにより、軌道計画に沿うように倒立振子制御型の移動体を跳躍させることができるので、走行では越えられないまでも回避するほどでもない程度の大きさの障害物が存在する場合であっても乗り越えて進行することができる。
請求項2に記載した発明によれば、荷重検出部の検出結果に応じて搭乗部に乗員が搭乗している場合の軌道計画と記搭乗部に乗員が搭乗していない場合の軌道計画との何れか一方の軌道計画を生成することができるので、倒立振子制御型の移動体に乗員が搭乗しているか否かに拘わらず、指令値に応じた跳躍を倒立振子制御型の移動体にさせることができる。
請求項3に記載した発明によれば、倒立振子制御型の移動体の跳躍方向を示す値と飛距離を示す値の組み合わせ、倒立振子制御型の移動体の跳躍方向を示す値と跳躍高さを示す値の組み合わせ、及び倒立振子制御型の移動体の跳躍方向を示す値と飛距離を示す値と跳躍高さを示す値の組み合わせのうちの何れかの組み合わせを跳躍のための指令値に含ませることができるので、倒立振子制御型の移動体の用途、操作性(運転性)等に応じて跳躍のための指令値を適宜選択することができる。
請求項4に記載した発明によれば、跳躍している間にも倒立振子制御型の移動体の姿勢を制御することができるので、着地に向けて倒立振子制御型の移動体の姿勢を着地に適した姿勢にすることができる。
請求項5に記載した発明によれば、倒立振子制御型の移動体の姿勢を跳躍開始時の姿勢とは逆の姿勢で着地させることができるので、安定した着地を実現することができる。
請求項6に記載した発明によれば、跳躍が終了したときに、倒立振子制御型の移動体の姿勢を速やかに所定の安定姿勢にすることができるので、着地時の衝撃や振動を早急に抑えて速やかに早期に通常の走行を行うことができる。
請求項7に記載した発明によれば、第2制御部によってアクチュエータの伸縮量を調整することにより、基体の伸縮量を自在に制御することができるので、倒立振子制御型の移動体を自在に跳躍させることができる。
請求項8に記載した発明によれば、バネに直列接続されたアクチュエータの伸縮量を調整することにより基体の伸縮量を自在に制御することができるので、倒立振子制御型の移動体を自在に跳躍可能としつつ着地時の衝撃を吸収することができる。
請求項9に記載した発明は、バネに並列接続されたアクチュエータの伸縮量を調整することにより基体の伸縮量を自在に制御することができるので、倒立振子制御型の移動体の跳躍時におけるアクチュエータの動作をバネの反発力によって付勢することができるとともに小型化することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態に係る移動体の正面図である。
【図2】本発明の実施形態に係る移動体の側面図である。
【図3】本発明の実施形態に係る移動体の下部を拡大して示す図である。
【図4】本発明の実施形態に係る移動体の下部の斜視図である。
【図5】本発明の実施形態に係る移動体の移動動作部(車輪体)の斜視図である。
【図6】本発明の実施形態に係る移動体の移動動作部(車輪体)とフリーローラとの配置関係を示す図である。
【図7】本発明の実施形態に係る移動体の制御処理を示すフローチャートである。
【図8】本発明の実施形態に係る移動体の制御処理を示すフローチャートである。
【図9】本発明の実施形態に係る移動体の制御処理を示すフローチャートである。
【図10】本発明の実施形態に係る移動体の動力学的挙動を表現する倒立振子モデルを示す図である。
【図11】ジャンプ時に生成される軌道計画を説明するための図である。
【図12】ジャンプのために行われる制御を説明するための図である。
【図13】本発明の実施形態に係る移動体を制御する制御系の構成を示すブロック図である。
【図14】本発明の実施形態に係る移動体の変形例を示す側面図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の実施形態を説明する。まず、図1〜図6を参照して、本実施形態における倒立振子制御型の移動体の構造を説明する。
図1及び図2に示すように、本実施形態における移動体1は、乗員(運転者)の搭乗部3と、走行面に接地しながら該走行面上を全方向(前後方向及び左右方向を含む2次元的な全方向)に移動可能な移動動作部5と、この移動動作部5を駆動する動力を該移動動作部5に付与するアクチュエータ装置7と、これらの搭乗部3、移動動作部5及びアクチュエータ装置7が組付けられた基体9とを備える。
【0013】
ここで、本実施形態の説明では、「前後方向」、「左右方向」は、それぞれ、搭乗部3に標準的な姿勢で搭乗した乗員の上体の前後方向、左右方向に一致もしくはほぼ一致する方向を意味する。なお、「標準的な姿勢」は、搭乗部3に関して設計的に想定されている姿勢であり、乗員の上体の体幹軸を概ね上下方向に向け、且つ、上体を捻ったりしていない姿勢である。
この場合、図1においては、「前後方向」、「左右方向」はそれぞれ、紙面に垂直な方向、紙面の左右方向であり、図2においては、「前後方向」、「左右方向」はそれぞれ、紙面の左右方向、紙面に垂直な方向である。また、本実施形態の説明では、参照符号に付する添え字「R」,「L」は、それぞれ移動体1の右側、左側に対応するものという意味で使用する。
【0014】
基体9は、移動動作部5及びアクチュエータ装置7が組付けられた下部フレーム11と、この下部フレーム11の上方に設けられて基体9を伸縮させる伸縮フレーム12とからなる。伸縮フレーム12は、下部フレーム11の上端から上方に延設された支柱フレーム12aと、支柱フレーム12aに沿って摺動可能であるとともに自身が支柱フレーム12aに沿う方向に伸縮可能な直動アクチュエータ13と、直動アクチュエータ13の上方に延設された支柱フレーム12bと、一端が下部フレーム11の上端に固定されるとともに他端が直動アクチュエータ13の下端に固定されて支柱フレーム12aに沿う方向に伸縮するバネ14とを備える。
【0015】
直動アクチュエータ13は、四角環状の第1部材13aと、一部が第1部材13a内に介挿されて中心軸が同軸となるように配置された四角環状の第2部材13bとを備えている。さらに第1部材13a内には、例えばサーボモータ等によって駆動され、第2部材13aに対して所定の推力を伝達する歯車機構(図示省略)が備えられている。そして、この歯車機構により第2部材13bが第1部材13aに対して中心軸方向に相対移動されることにより、これら第1部材13a及び第2部材13bとの相対位置が変位し、直動アクチュエータ13が中心軸方向に伸縮する。即ち、本実施形態における直動アクチュエータ13は、第1部材13aをシリンダとし、第2部材13bをロッドとしたパワーシリンダから構成されている。
【0016】
なお、直動アクチュエータ13としては、上記構成の他、例えばサーボモータにより駆動されるボールネジと該ボールネジに螺合するボールナットとを備えたボールネジ機構から構成されたものであってもよい。これによっても第1部材13aと第2部材13bとを中心軸方向に相対移動させることで、直動アクチュエータ13を伸縮可能とすることができる。
【0017】
このような直動アクチュエータ13は、移動体1のジャンプ(跳躍)を可能とするために設けられる。また、直動アクチュエータ13には中心軸が第1部材13a及び第2部材13bの中心軸と同軸となるように支柱フレーム12aが介挿されており、直動アクチュエータ13は支柱フレーム12aをガイドとして該支柱フレーム12aに沿って摺動可能とされている。
【0018】
この直動アクチュエータ13は、第2部材13bの下端に配置されたバネ14によって支持される。このため、直動アクチュエータ13が支柱フレーム12aに沿って摺動すると、直動アクチュエータ13の摺動動作に合わせてバネ14が伸縮する。バネ14は、主として走行時やジャンプ時における衝撃を和らげるために設けられており、乗員が搭乗部3に搭乗したときに搭乗部3が僅かに沈み込み、ジャンプ時の衝撃(着地時に受ける衝撃)を十分に吸収することができる程度の堅さのものを用いるのが望ましい。このように、伸縮フレーム12は伸縮方向が同じ方向に設定されて直列接続された直動アクチュエータ13とバネ14とからなる伸縮機構を備えており、かかる伸縮機構によって伸縮フレーム12が伸縮することによって基体9が伸縮する。
【0019】
なお、本実施形態においては、上記バネ14として直動アクチュエータ13の中心軸方向に延びるコイルスプリングを採用しているが、これに限定されることはなく、所定のバネ定数を備えていれば他の部材をバネ14として用いてもよい。
【0020】
直動アクチュエータ13の上部に設けられた支柱フレーム12bには、直動アクチュエータ13の伸縮量(ストローク量)を検出するとともに、その検出結果を参照しつつ直動アクチュエータ13の伸縮量を制御する制御ユニット10が取付けられている。また、支柱フレーム12bには、該支柱フレーム12aから前方側に張り出したシートフレーム15が固定されている。
【0021】
そして、このシートフレーム15上に、乗員が着座するシート3が装着されている。本実施形態では、このシート3が乗員の搭乗部となっている。従って、本実施形態における移動体1(以降、単に車両1という)は、乗員がシート3に着座した状態で、走行面上を移動するものである。なお、搭乗部は、シート3のように乗員が着座可能なものでもよいが、足を載せるためのステップのみでもよいし、それらを両方備えていてもよい。搭乗部としてシート、ステップの両方を備える場合、荷重検出部をシート下部およびステップに備え付けていてもよい。
また、シート3の左右には、シート3に着座した乗員が必要に応じて把持するためのグリップ17R,17Lが配置され、これらのグリップ17R,17Lがそれぞれ、支柱フレーム12a(又はシートフレーム15)から延設されたブラケット19R,19Lの先端部に固定されている。
【0022】
下部フレーム11は、左右方向に間隔を存して二股状に対向するように配置された一対のカバー部材21R,21Lを備える。これらのカバー部材21R,21Lの上端部(二股の分岐部分)は、前後方向の軸心を有するヒンジ軸23を介して連結され、カバー部材21R,21Lの一方が他方に対して相対的にヒンジ軸23の周りに揺動可能となっている。この場合、カバー部材21R,21Lは、図示を省略するバネによって、カバー部材21R,21Lの下端部側(二股の先端側)が狭まる方向に付勢されている。
【0023】
また、カバー部材21R,21Lのそれぞれの外面部には、前記シート3に着座した乗員の右足を載せるステップ25Rと左足を載せるステップ25Lとが各々、右向き、左向きに張り出すように突設されている。なお、これらステップ25L,25Rも乗員の搭乗部である。更に、カバー部材21R,21Lのそれぞれの外面部には、ステップ25Rに乗せられた乗員の右足を固定するトゥグリップ26Rとステップ25Lに乗せられた乗員の左足を固定するトゥグリップ26Lとが各々、右向き、左向きに張り出すように突設されている。
【0024】
これらトゥグリップ26R,26Lは、ステップ25R,25Lに乗せられた乗員の右足,左足をそれぞれ甲の位置で固定すべく、前後方向におけるステップ25R,25Lの中央部よりも僅かに前方の位置の上方に設けられている。即ち、本実施形態においては、トゥグリップ26R,26Lは、ステップ25R,25Lの前後方向中央よりも前方側にオフセットした位置に配置されている。このトゥグリップ26R,26Lを設けることで、走行時やジャンプ時におけるステップ25R,25Lの踏み外しが防止される。
【0025】
移動動作部5及びアクチュエータ装置7は、下部フレーム11のカバー部材21R,21Lの間に配置されている。これらの移動動作部5及びアクチュエータ装置7の構造を図3〜図6を参照して説明する。
なお、本実施形態で例示する移動動作部5及びアクチュエータ装置7は、例えば前記特許文献2の図1に開示されているものと同じ構造のものである。従って、本実施形態の説明においては、移動動作部5及びアクチュエータ装置7の構成に関して、前記特許文献2に記載された事項については、簡略的な説明に留める。
【0026】
本実施形態では、移動動作部5は、ゴム状弾性材により円環状に形成された車輪体であり、ほぼ円形の横断面形状を有する。この移動動作部5(以降、車輪体5という)は、その弾性変形によって、図5及び図6の矢印Y1で示す如く、円形の横断面の中心C1(より詳しくは、円形の横断面中心C1を通って、車輪体5の軸心と同心となる円周線)の周りに回転可能となっている。
【0027】
この車輪体5は、その軸心C2(車輪体5全体の直径方向に直交する軸心C2)を左右方向に向けた状態で、カバー部材21R,21Lの間に配置され、該車輪体5の外周面の下端部にて走行面に接地する。
そして、車輪体5は、アクチュエータ装置7による駆動(詳細は後述する)によって、図5の矢印Y2で示す如く車輪体5の軸心C2の周りに回転する動作(走行面上を輪転する動作)と、車輪体5の横断面中心C1の周りに回転する動作とを行なうことが可能である。その結果、車輪体5は、それらの回転動作の複合動作によって、走行面上を全方向に移動することが可能となっている。
【0028】
アクチュエータ装置7は、車輪体5と右側のカバー部材21Rとの間に介装される回転部材27R及びフリーローラ29Rと、車輪体5と左側のカバー部材17Lとの間に介装される回転部材27L及びフリーローラ29Lと、回転部材27R及びフリーローラ29Rの上方に配置されたアクチュエータとしての電動モータ31Rと、回転部材27L及びフリーローラ29Lの上方に配置されたアクチュエータとしての電動モータ31Lとを備える。
電動モータ31R,31Lは、それぞれのハウジングがカバー部材21R,21Lに各々取付けられている。なお、図示は省略するが、電動モータ31R,31Lの電源(蓄電器)は、支柱フレーム12a等、基体9の適所に搭載されている。
【0029】
回転部材27Rは、左右方向の軸心を有する支軸33Rを介してカバー部材21Rに回転可能に支持されている。同様に、回転部材27Lは、左右方向の軸心を有する支軸33Lを介してカバー部材21Lに回転可能に支持されている。この場合、回転部材27Rの回転軸心(支軸33Rの軸心)と、回転部材27Lの回転軸心(支軸33Lの軸心)とは同軸心である。
【0030】
回転部材27R,27Lは、それぞれ電動モータ31R,31Lの出力軸に、減速機としての機能を含む動力伝達機構を介して接続されており、電動モータ31R,31Lからそれぞれ伝達される動力(トルク)によって回転駆動される。各動力伝達機構は、例えばプーリ・ベルト式のものである。すなわち、図3に示す如く、回転部材27Rは、プーリ35Rとベルト37Rとを介して電動モータ31Rの出力軸に接続されている。同様に、回転部材27Lは、プーリ35Lとベルト37Lとを介して電動モータ31Lの出力軸に接続されている。
【0031】
なお、上記動力伝達機構は、例えば、スプロケットとリンクチェーンとにより構成されるもの、あるいは、複数のギヤにより構成されるものであってもよい。また、例えば、電動モータ31R,31Lを、それぞれの出力軸が各回転部材27R,27Lと同軸心になるように各回転部材27R,27Lに対向させて配置し、電動モータ31R,31Lのそれぞれの出力軸を回転部材27R,27Lに各々、減速機(遊星歯車装置等)を介して連結するようにしてもよい。
【0032】
各回転部材27R,27Lは、車輪体5側に向かって縮径する円錐台と同様の形状に形成されており、その外周面がテーパ外周面39R,39Lとなっている。
回転部材27Rのテーパ外周面39Rの周囲には、回転部材27Rと同心の円周上に等間隔で並ぶようにして、複数のフリーローラ29Rが配列されている。そして、これらのフリーローラ29Rは、それぞれ、ブラケット41Rを介してテーパ外周面39Rに取付けられ、該ブラケット41Rに回転自在に支承されている。
【0033】
同様に、回転部材27Lのテーパ外周面39Lの周囲には、回転部材27Lと同心の円周上に等間隔で並ぶようにして、複数(フリーローラ29Rと同数)のフリーローラ29Lが配列されている。そして、これらのフリーローラ29Lは、それぞれ、ブラケット41Lを介してテーパ外周面39Lに取付けられ、該ブラケット41Lに回転自在に支承されている。
【0034】
前記車輪体5は、回転部材27R側のフリーローラ29Rと、回転部材27L側のフリーローラ29Lとの間に挟まれるようにして、回転部材27R,27Lと同軸心に配置されている。
この場合、図1及び図6に示すように、各フリーローラ29R,29Lは、その軸心C3が車輪体5の軸心C2に対して傾斜すると共に、車輪体5の直径方向(車輪体5をその軸心C2の方向で見たときに、該軸心C2と各フリーローラ29R,29Lとを結ぶ径方向)に対して傾斜する姿勢で配置されている。そして、このような姿勢で、各フリーローラ29R,29Lのそれぞれの外周面が車輪体5の内周面に斜め方向に圧接されている。
【0035】
より一般的に言えば、右側のフリーローラ29Rは、回転部材27Rが軸心C2の周りに回転駆動されたときに、車輪体5との接触面で、軸心C2周りの方向の摩擦力成分(車輪体5の内周の接線方向の摩擦力成分)と、車輪体5の前記横断面中心C1の周り方向の摩擦力成分(円形の横断面の接線方向の摩擦力成分)とを車輪体5に作用させ得るような姿勢で、車輪体5の内周面に圧接されている。左側のフリーローラ29Lについても同様である。
【0036】
この場合、前記したように、カバー部材21R,21Lは、図示しないバネによって、カバー部材21R,21Lの下端部側(二股の先端側)が狭まる方向に付勢されている。このため、この付勢力によって、右側のフリーローラ29Rと左側のフリーローラ29Lとの間に車輪体5が挟持されると共に、車輪体5に対する各フリーローラ29R,29Lの圧接状態(より詳しくはフリーローラ29R,29Lと車輪体5との間で摩擦力が作用し得る圧接状態)が維持される。
【0037】
以上説明した構造を有する車両1においては、電動モータ31R,31Lによりそれぞれ、回転部材27R,27Lを同方向に等速度で回転駆動した場合には、車輪体5が回転部材27R,27Lと同方向に軸心C2の周りに回転することとなる。これにより、車輪体5が走行面上を前後方向に輪転して、車両1の全体が前後方向に移動することとなる。なお、この場合は、車輪体5は、その横断面中心C1の周りには回転しない。
【0038】
また、例えば、回転部材27R,27Lを互いに逆方向に同じ大きさの速度で回転駆動した場合には、車輪体5は、その横断面中心C1の周りに回転することとなる。これにより、車輪体5がその軸心C2の方向(すなわち左右方向)に移動し、ひいては、車両1の全体が左右方向に移動することとなる。なお、この場合は、車輪体5は、その軸心C2の周りには回転しない。
【0039】
さらに、回転部材27R,27Lを、互いに異なる速度(方向を含めた速度)で、同方向又は逆方向に回転駆動した場合には、車輪体5は、その軸心C2の周りに回転すると同時に、その横断面中心C1の周りに回転することとなる。
この時、これらの回転動作の複合動作(合成動作)によって、前後方向及び左右方向に対して傾斜した方向に車輪体5が移動し、ひいては、車両1の全体が車輪体5と同方向に移動することとなる。この場合の車輪体5の移動方向は、回転部材27R,27Lの回転方向を含めた回転速度(回転方向に応じて極性が定義された回転速度ベクトル)の差に依存して変化するものとなる。
以上のように車輪体5の移動動作が行なわれるので、電動モータ31R,31Lのそれぞれの回転速度(回転方向を含む)を制御し、ひいては回転部材27R,27Lの回転速度を制御することによって、車両1の移動速度及び移動方向を制御できることとなる。
【0040】
次に、本実施形態の車両1の動作制御のための構成を説明する。なお、以降の説明では、図1及び図2に示すように、前後方向の水平軸をX軸、左右方向の水平軸をY軸、鉛直方向をZ軸とするXYZ座標系を想定し、前後方向、左右方向をそれぞれX軸方向、Y軸方向と言うことがある。
【0041】
まず、車両1の概略的な動作制御を説明すると、本実施形態では、基本的には、シート3に着座した乗員がその上体を傾けた場合(詳しくは、乗員と車両1とを合わせた全体の重心点の位置(水平面に投影した位置)を動かすように上体を傾けた場合)に、該上体を傾けた側に基体9がシート3と共に傾動する。そして、この時、基体9が傾いた側に車両1が移動するように、車輪体5の移動動作が制御される。例えば、乗員が上体を前傾させ、ひいては、基体9をシート3と共に前傾させると、車両1が前方に移動するように、車輪体5の移動動作が制御される。
【0042】
すなわち、本実施形態では、乗員が上体を動かし、ひいては、シート3と共に基体9を傾動させるという動作が、車両1に対する1つの基本的な操縦操作(車両1の動作要求)とされ、その操縦操作に応じて車輪体5の移動動作がアクチュエータ装置7を介して制御される。
【0043】
ここで、本実施形態の車両1は、その全体の接地面としての車輪体5の接地面が、車両1とこれに搭乗する乗員との全体を走行面に投影した領域に比して面積が小さい単一の局所領域となり、その単一の局所領域だけに床反力が作用する。このため、基体9が傾倒しないようにするためには、乗員及び車両1の全体の重心点が車輪体5の接地面のほぼ真上に位置するように、車輪体5を動かす必要がある。
【0044】
そこで、本実施形態では、乗員及び車両1の全体の重心点が、車輪体5の中心点(軸心C2上の中心点)のほぼ真上に位置する状態(より正確には当該重心点が車輪体5の接地面のほぼ真上に位置する状態)での基体9の姿勢を目標姿勢とし、基本的には、基体9の実際の姿勢を目標姿勢に収束させるように、車輪体5の移動動作が制御される。
【0045】
また、車両1を発進させる場合等において、アクチュエータ装置7による推進力とは別に、例えば乗員が必要に応じて自身の足により床を蹴り、それにより車両1の移動速度を増速させる推進力(乗員の足平と床との摩擦力による推進力)を、付加的な外力として車両1に作用させた場合には、それに応じて車両1の移動速度(より正確には、乗員及び車両の全体の重心点の移動速度)が増速するように、車輪体5の移動動作が制御される。なお、当該推進力の付加が停止された状態では、車両1の移動速度が一旦、一定速度に保持された後、減衰して、該車両1が停止するように、車輪体5の移動動作が制御される(車輪体5の制動制御が行なわれる)。
【0046】
さらに、車両1に乗員が搭乗していない状態では、車両1の単体の重心点が、車輪体5の中心点(軸心C2上の中心点)のほぼ真上に位置する状態(より正確には当該重心点が車輪体5の接地面のほぼ真上に位置する状態)での基体9の姿勢を目標姿勢とし、該基体9の実際の姿勢を目標姿勢に収束させ、ひいては、基体9が傾倒することなく車両1が自立するように、車輪体5の移動動作が制御される。
【0047】
またさらに、車両1をジャンプさせる指示がなされた場合には、その指示に基づいてジャンプ時の軌道計画を生成し、軌道計画に従って車両1がジャンプするように車両1の射出角及び射出速度が制御される。車両1の射出角の制御はアクチュエータ装置7の推進力を発生させて基体9の姿勢を制御することによって行われ、車両1の射出速度の制御は直動アクチュエータ13の伸縮量を調整することにより行われる。
【0048】
なお、車両1をジャンプさせる指示(ジャンプ指示:指令値)は、例えば乗員が制御ユニット50に接続されたジョイスティック等の操作コントローラ(図示省略)を操作することによって行われる。具体的には、乗員が操作コントローラを操作して、ジャンプ方向と車両1の飛距離又はジャンプ高さとを指示した後にジャンプボタンを押下すると、そのジャンプ指示内容に従った車両1の射出角及び射出速度の制御が行われ、かかる制御により車両1がジャンプする。なお、ここにいう「飛距離」とは車輪体5が走行面から離れた離床地点から走行面に着地する着床地点までの距離をいう。
【0049】
本実施形態では、以上の如き車両1の動作制御を行なうために、図1及び図2に示すように、マイクロコンピュータや電動モータ31R,31Lのドライブ回路ユニットなどを含む電子回路ユニットにより構成された制御ユニット50と、基体9の所定の部位の鉛直方向(重力方向)に対する傾斜角θb及びその変化速度(=dθb/dt)を計測するための傾斜センサ52と、車両1に乗員が搭乗しているか否かを検知するための荷重センサ54と、電動モータ31R,31Lのそれぞれの出力軸の回転角度及び回転角速度を検出するための角度センサとしてのロータリーエンコーダ56R,56Lと、直動アクチュエータ13の伸縮量(ストローク量)の検出結果を参照しつつその伸縮量を制御する制御ユニット10がそれぞれ、車両1の適所に搭載されている。
【0050】
この場合、制御ユニット50及び傾斜センサ52は、例えば、基体9の支柱フレーム12aの内部に収容された状態で該支柱フレーム12aに取付けられている。また、荷重センサ54は、シート3に内蔵されている。また、ロータリーエンコーダ56R,56Lは、それぞれ、電動モータ31R,31Lと一体に設けられている。なお、ロータリーエンコーダ56R,56Lは、それぞれ、回転部材27R,27Lに装着してもよい。なお、制御ユニット10は、直動アクチュエータ13の上部に取付けられている。
【0051】
上記傾斜センサ52は、より詳しくは、加速度センサとジャイロセンサ等のレートセンサ(角速度センサ)とから構成され、これらのセンサの検出信号を制御ユニット50に出力する。そして、制御ユニット50が、傾斜センサ52の加速度センサ及びレートセンサの出力を基に、所定の計測演算処理(これは公知の演算処理でよい)を実行することによって、傾斜センサ52を搭載した部位(本実施形態では支柱フレーム12a)の、鉛直方向に対する傾斜角度θbの計測値とその変化速度(微分値)である傾斜角速度θbdotの計測値とを算出する。
【0052】
この場合、計測する傾斜角度θb(以降、基体傾斜角度θbということがある)は、より詳しくは、それぞれ、Y軸周り方向(ピッチ方向)の成分θb_xと、X軸周り方向(ロール方向)の成分θb_yとから成る。同様に、計測する傾斜角速度θbdot(以降、基体傾斜角速度θbdotということがある)も、Y軸周り方向(ピッチ方向)の成分θbdot_x(=dθb_x/dt)と、X軸周り方向(ロール方向)の成分θbdot_y(=dθb_y/dt)とから成る。
【0053】
なお、本実施形態の説明では、上記基体傾斜角度θbなど、X軸及びY軸の各方向(又は各軸周り方向)の成分を有する運動状態量等の変数、あるいは、該運動状態量に関連する係数等の変数に関しては、その各成分を区別して表記する場合に、該変数の参照符号に、添え字"_x"又は"_y"を付加する。
この場合において、並進速度等の並進運動に係わる変数については、そのX軸方向の成分に添え字"_x"を付加し、Y軸方向の成分に添え字"_y"を付加する。
【0054】
一方、角度、回転速度(角速度)、角加速度など、回転運動に係わる変数については、並進運動に係わる変数と添え字を揃えるために、便宜上、Y軸周り方向の成分に添え字"_x"を付加し、X軸周り方向の成分に添え字"_y"を付加する。
さらに、X軸方向の成分(又はY軸周り方向の成分)と、Y軸方向の成分(又はX軸周り方向の成分)との組として変数を表記する場合には、該変数の参照符号に添え字"_xy"を付加する。例えば、上記基体傾斜角度θbを、Y軸周り方向の成分θb_xとX軸周り方向の成分θb_yの組として表現する場合には、「基体傾斜角度θb_xy」というように表記する。
【0055】
前記荷重センサ54は、乗員がシート3に着座した場合に該乗員の重量による荷重を受けるようにシート3に内蔵され、その荷重に応じた検出信号を制御ユニット50に出力する。そして、制御ユニット50が、この荷重センサ54の出力により示される荷重の計測値に基づいて、車両1に乗員が搭乗しているか否かを判断する。
なお、荷重センサ54の代わりに、例えば、乗員がシート3に着座したときにONとなるようなスイッチ式のセンサを用いてもよい。
【0056】
ロータリーエンコーダ56Rは、電動モータ31Rの出力軸が所定角度回転する毎にパルス信号を発生し、このパルス信号を制御ユニット50に出力する。そして、制御ユニット50が、そのパルス信号を基に、電動モータ53Rの出力軸の回転角度を計測し、さらにその回転角度の計測値の時間的変化率(微分値)を電動モータ53Rの回転角速度として計測する。電動モータ31L側のロータリーエンコーダ56Lについても同様である。
【0057】
制御ユニット50は、上記の各計測値を用いて所定の演算処理を実行することによって、電動モータ31R,31Lのそれぞれの回転角速度の目標値である速度指令を決定し、その速度指令に従って、電動モータ31R,31Lのそれぞれの回転角速度をフィードバック制御する。
なお、電動モータ31Rの出力軸の回転角速度と、回転部材27Rの回転角速度との間の関係は、該出力軸と回転部材27Rとの間の一定値の減速比に応じた比例関係になるので、本実施形態の説明では、便宜上、電動モータ31Rの回転角速度は、回転部材27Rの回転角速度を意味するものとする。同様に、電動モータ31Lの回転角速度は、回転部材27Lの回転角速度を意味するものとする。
【0058】
また、制御ユニット50は、車両1をジャンプさせる指示がなされた場合には、その指示に基づいてジャンプ時の軌道計画を生成し、軌道計画に従って車両1がジャンプするようにジャンプ時の車両1の姿勢を制御することによって車両1の射出角を制御する。加えて、制御ユニット50に対して指令信号を出力して直動アクチュエータ13の伸縮量を調整させることによって車両1の射出速度を制御する。制御ユニット10は、制御ユニット50からの指令信号に基づいて直動アクチュエータ13の伸縮量(ストローク量)の検出結果を参照しつつ、直動アクチュエータ13の伸縮量を制御する。
【0059】
以下に、車両1の制御系(制御ユニット10及び制御ユニット50)で行われる制御処理をさらに詳細に説明する。車両1の制御系は、所定の制御処理周期で図7〜9のフローチャートに示す処理を実行する。なお、車両1の運転モードは走行面上を走行する際の運転モードである「走行モード」と、ジャンプ時の運転ードである「ジャンプ動作モード」とに大別され、車両1の制御系では各々の運転モードに適した制御が行われる。以下、「走行モード」で行われる制御及び「ジャンプ動作モード」で行われる制御について順に説明する。
【0060】
[走行モード]
まず、ステップS1において、制御ユニット50は、傾斜センサ52の出力を取得する。
次いで、ステップS2に進んで、制御ユニット50は、取得した傾斜センサ52の出力を基に、基体傾斜角度θbの計測値θb_xy_sと、基体傾斜角速度θbdotの計測値θbdot_xy_sとを算出する。
なお、以降の説明では、上記計測値θb_xy_sなど、変数(状態量)の実際の値の観測値(計測値又は推定値)を参照符号により表記する場合に、該変数の参照符号に、添え字"_s"を付加する。
【0061】
次いで、制御ユニット50は、ステップS3において、荷重センサ54の出力を取得した後、ステップS4の判断処理を実行する。この判断処理では、現在の運転モードが走行モードであるか、又はジャンプ動作モードであるかを判断する。ここでは、運転モードが走行モードである場合を考えているため、ステップS5の判断処理を実行する。この判断処理では、操作コントローラに設けられたジャンプボタンが押下されて、ジャンプ指示がなされたか否かを判断する。
【0062】
ステップS5の判断結果が「NO」である場合には、制御ユニット50は、ステップS6において、運転モードを走行モードに設定した後、ステップS7の判断処理を実行する。この判断処理においては、制御ユニット50は、取得した荷重センサ54の出力が示す荷重計測値があらかじめ設定された所定値よりも大きいか否かによって、車両1に乗員が搭乗しているか否か(シート3に乗員が着座しているか否か)を判断する。
そして、制御ユニット50は、ステップS7の判断結果が肯定的である場合(判断結果が「YES」の場合)には、基体傾斜角度θbの目標値θb_xy_objを設定する処理と、車両1の動作制御用の定数パラメータ(各種ゲインの基本値など)の値を設定する処理とを、それぞれステップS8、9で実行する。
【0063】
ステップS8においては、制御ユニット50は、基体傾斜角度θbの目標値θb_xy_objとして、あらかじめ定められた搭乗モード用の目標値を設定する。
ここで、「搭乗モード」は、車両1に乗員が搭乗している場合での車両1の動作モードを意味する。この搭乗モード用の目標値θb_xy_objは、車両1とシート3に着座した乗員との全体の重心点(以降、車両・乗員全体重心点という)が車輪体5の接地面のほぼ真上に位置する状態となる基体9の姿勢において、傾斜センサ52の出力に基づき計測される基体傾斜角度θbの計測値θb_xy_sに一致又はほぼ一致するようにあらかじめ設定されている。
また、ステップS9においては、制御ユニット50は、車両1の動作制御用の定数パラメータの値として、あらかじめ定められた搭乗モード用の値を設定する。なお、定数パラメータは、後述するKi_a_x,Ki_b_x,Ki_a_y,Ki_b_y(i=1,2,3)等である。
【0064】
一方、ステップS7の判断結果が否定的である場合(判断結果が「NO」である場合)には、制御ユニット50は、基体傾斜角度θb_xyの目標値θb_xy_objを設定する処理と、車両1の動作制御用の定数パラメータの値を設定する処理とを、ステップS10、11で実行する。
ステップS10においては、制御ユニット50は、傾斜角度θbの目標値θb_xy_objとして、あらかじめ定められた自立モード用の目標値を設定する。
ここで、「自立モード」は、車両1に乗員が搭乗していない場合での車両1の動作モードを意味する。この自立モード用の目標値θb_xy_objは、車両1単体の重心点(以降、車両単体重心点という)が車輪体5の接地面のほぼ真上に位置する状態となる基体9の姿勢において、傾斜センサ52の出力に基づき計測される基体傾斜角度θbの計測値θb_xy_sに一致又はほぼ一致するようにあらかじめ設定されている。この自立モード用の目標値θb_xy_objは、搭乗モード用の目標値θb_xy_objと一般的には異なる。
【0065】
また、ステップS11においては、制御ユニット50は、車両1の動作制御用の定数パラメータの値として、あらかじめ定められた自立モード用の値を設定する。この自立モード用の定数パラメータの値は、搭乗モード用の定数パラメータの値と異なる。
搭乗モードと自立モードとで、上記定数パラメータの値を異ならせるのは、それぞれのモードで上記重心点の高さや、全体質量等が異なることに起因して、制御入力に対する車両1の動作の応答特性が互いに異なるからである。
【0066】
以上のステップS7〜11の処理によって、搭乗モード及び自立モードの動作モード毎に個別に、基体傾斜角度θb_xyの目標値θb_xy_objと定数パラメータの値とが設定される。
なお、ステップS8,9の処理、又はステップS10,11の処理は、制御処理周期毎に実行することは必須ではなく、ステップS7の判断結果が変化した場合にだけ実行するようにしてもよい。
補足すると、搭乗モード及び自立モードのいずれにおいても、基体傾斜角速度θbdotのY軸周り方向の成分θbdot_xの目標値とX軸周り方向の成分θbdot_yの目標値とは、いずれも"0"である。このため、基体傾斜角速度θbdot_xyの目標値を設定する処理は不要である。
【0067】
以上の如くステップS8,9の処理、又はステップS10,11の処理を実行した後、制御ユニット50は、次にステップS12において、車両制御演算処理を実行することによって、電動モータ31R,31Lのそれぞれの速度指令を決定する。この車両制御演算処理の詳細は後述する。
【0068】
次いで、ステップS13に進んで、制御ユニット50は、ステップS12で決定した速度指令に応じて電動モータ31R,31Lの動作制御処理を実行する。この動作制御処理では、制御ユニット50は、ステップS12で決定した電動モータ31Rの速度指令と、ロータリーエンコーダ56Rの出力に基づき計測した電動モータ31Rの回転速度の計測値との偏差に応じて、該偏差を"0"に収束させるように電動モータ31Rの出力トルクの目標値(目標トルク)を決定する。そして、制御ユニット50は、その目標トルクの出力トルクを電動モータ31Rに出力させるように該電動モータ31Rの通電電流を制御する。左側の電動モータ31Lの動作制御についても同様である。
【0069】
なお、詳細は後述するが、運転モードがジャンプ動作モードに設定されている場合には、ステップS13において、直動アクチュエータ13の伸縮量の制御も実行される。しかしながら、運転モードが走行モードに設定されている場合には、直動アクチュエータ13の伸縮量の制御は実行されず、電動モータ31R,31Lの動作制御処理のみが実行される。
以上が、制御ユニット50が実行する全体的な制御処理である。
【0070】
次に、上記ステップS12の車両制御演算処理の詳細を説明する。
なお、以降の説明においては、前記搭乗モードにおける車両・乗員全体重心点と、前記自立モードにおける車両単体重心点とを総称的に、車両系重心点という。該車両系重心点は、車両1の動作モードが搭乗モードである場合には、車両・乗員全体重心点を意味し、自立モードである場合には、車両単体重心点を意味する。
【0071】
また、以降の説明では、制御ユニット50が各制御処理周期で決定する値(更新する値)に関し、現在の(最新の)制御処理周期で決定する値を今回値、その1つ前の制御処理周期で決定した値を前回値ということがある。そして、今回値、前回値を特にことわらない値は、今回値を意味する。
また、X軸方向の速度及び加速度に関しては、前方向きを正の向きとし、Y軸方向の速度及び加速度に関しては、左向きを正の向きとする。
【0072】
本実施形態では、前記車両系重心点の動力学的な挙動(詳しくは、Y軸方向からこれに直交する面(XZ平面)に投影して見た挙動と、X軸方向からこれに直交する面(YZ平面)に投影して見た挙動)が、近似的に、図10に示すような、倒立振子モデルの挙動(倒立振子の動力学的挙動)によって表現されるものとして、ステップS12の車両制御演算処理が行なわれる。
なお、図10において、括弧を付していない参照符号は、Y軸方向から見た倒立振子モデルに対応する参照符号であり、括弧付きの参照符号は、X軸方向から見た倒立振子モデルに対応する参照符号である。
【0073】
この場合、Y軸方向から見た挙動を表現する倒立振子モデルは、車両系重心点に位置する質点60_xと、Y軸方向に平行な回転軸62a_xを有して走行面上を輪転自在な仮想的な車輪62_x(以降、仮想車輪62_xという)とを備える。そして、質点60_xが、仮想車輪62_xの回転軸62a_xに直線状のロッド64_xを介して支持され、該回転軸62a_xを支点として該回転軸62a_xの周りに揺動自在とされている。
【0074】
この倒立振子モデルでは、質点60_xの運動が、Y軸方向から見た車両系重心点の運動に相当する。また、鉛直方向に対するロッド64_xの傾斜角度θbe_xがY軸周り方向での基体傾斜角度計測値θb_x_sと基体傾斜角度目標値θb_x_objとの偏差θbe_x_s(=θb_x_s−θb_x_obj)に一致するものとされる。また、ロッド64_xの傾斜角度θbe_xの変化速度(=dθbe_x/dt)がY軸周り方向の基体傾斜角速度計測値θbdot_x_sに一致するものとされる。また、仮想車輪62_xの移動速度Vw_x(X軸方向の並進移動速度)は、車両1の車輪体5のX軸方向の移動速度に一致するものとされる。
【0075】
同様に、X軸方向から見た挙動を表現する倒立振子モデル(図10の括弧付きの符号を参照)は、車両系重心点に位置する質点60_yと、X軸方向に平行な回転軸62a_yを有して走行面上を輪転自在な仮想的な車輪62_y(以降、仮想車輪62_yという)とを備える。そして、質点60_yが、仮想車輪62_yの回転軸62a_yに直線状のロッド64_yを介して支持され、該回転軸62a_yを支点として該回転軸62a_yの周りに揺動自在とされている。
【0076】
この倒立振子モデルでは、質点60_yの運動が、X軸方向から見た車両系重心点の運動に相当する。また、鉛直方向に対するロッド64_yの傾斜角度θbe_yがX軸周り方向での基体傾斜角度計測値θb_y_sと基体傾斜角度目標値θb_y_objとの偏差θbe_y_s(=θb_y_s−θb_y_obj)に一致するものとされる。また、ロッド64_yの傾斜角度θbe_yの変化速度(=dθbe_y/dt)がX軸周り方向の基体傾斜角速度計測値θbdot_y_sに一致するものとされる。また、仮想車輪62_yの移動速度Vw_y(Y軸方向の並進移動速度)は、車両1の車輪体5のY軸方向の移動速度に一致するものとされる。
なお、仮想車輪62_x,62_yは、それぞれ、あらかじめ定められた所定値Rw_x,Rw_yの半径を有するものとされる。
【0077】
また、仮想車輪62_x,62_yのそれぞれの回転角速度ωw_x,ωw_yと、電動モータ31R,31Lのそれぞれの回転角速度ω_R,ω_L(より正確には、回転部材27R,27Lのそれぞれの回転角速度ω_R,ω_L)との間には、次式01a,01bの関係が成立するものとされる。
ωw_x=C・(ω_R−ω_L)/2 ……式01a
ωw_y=(ω_R+ω_L)/2 ……式01b
なお、式01aにおける"C"は、前記フリーローラ29R,29Lと車輪体5との間の機構的な関係や滑りに依存する所定値の係数である。
【0078】
ここで、図10に示す倒立振子モデルの動力学は、次式03x,03yにより表現される。なお、式03xは、Y軸方向から見た倒立振子モデルの動力学を表現する式、式03yは、X軸方向から見た倒立振子モデルの動力学を表現する式である。
d2θbe_x/dt2=α_x・θbe_x+β_x・ωwdot_x ……式03x
d2θbe_y/dt2=α_y・θbe_y+β_y・ωwdot_y ……式03y
【0079】
式03xにおけるωwdot_xは仮想車輪62_xの回転角加速度(回転角速度ωw_xの1階微分値)、α_xは、質点60_xの質量や高さh_xに依存する係数、β_xは、仮想車輪62_xのイナーシャ(慣性モーメント)や半径Rw_xに依存する係数である。式03yにおけるωwdot_y、α_y、β_yについても上記と同様である。
これらの式03x,03yから判るように、倒立振子の質点60_x,60_yの運動(ひいては車両系重心点の運動)は、それぞれ、仮想車輪62_xの回転角加速度ωwdot_x、仮想車輪62_yの回転角加速度ωwdot_yに依存して規定される。
【0080】
そこで、本実施形態では、Y軸方向から見た車両系重心点の運動を制御するための操作量(制御入力)として、仮想車輪62_xの回転角加速度ωwdot_xを用いると共に、X軸方向から見た車両系重心点の運動を制御するための操作量(制御入力)として、仮想車輪62_yの回転角加速度ωwdot_yを用いる。
【0081】
そして、ステップS12の車両制御演算処理を概略的に説明すると、制御ユニット50は、X軸方向で見た質点60_xの運動と、Y軸方向で見た質点60_yの運動とが、車両系重心点の所望の運動に対応する運動となるように、操作量としての上記回転角加速度ωwdot_x,ωwdot_yの指令値(目標値)である仮想車輪回転角加速度指令ωwdot_x_cmd,ωwdot_y_cmdを決定する。さらに、制御ユニット50は、仮想車輪回転角加速度指令ωwdot_x_cmd,ωwdot_y_cmdをそれぞれ積分してなる値を、仮想車輪62_x,62_yのそれぞれの回転角速度ωw_x,ωw_yの指令値(目標値)である仮想車輪回転角速度指令ωw_x_cmd,ωw_y_cmdとして決定する。
【0082】
そして、制御ユニット50は、仮想車輪回転角速度指令ωw_x_cmdに対応する仮想車輪62_xの移動速度(=Rw_x・ωw_x_cmd)と、仮想車輪回転角速度指令ωw_y_cmdに対応する仮想車輪62_yの移動速度(=Rw_y・ωw_y_cmd)とを、それぞれ、車両1の車輪体5のX軸方向の目標移動速度、Y軸方向の目標移動速度とし、それらの目標移動速度を実現するように、電動モータ31R,31Lのそれぞれの速度指令ω_R_cmd,ωL_cmdを決定する。
【0083】
[ジャンプ動作モード]
車両1の運転モードが走行モードに設定されて以上説明した制御が行われている最中に、操作コントローラに設けられたジャンプボタンが押下されて、ジャンプ指示がなされると運動モードがジャンプ動作モードに移行する。つまり、ジャンプ指示がなされると、ステップS5の判断結果が「YES」になり、制御ユニット50は、ステップS14において、運転モードをジャンプ動作モードに設定した後、ステップS15の軌道計画生成処理を実行する。
【0084】
軌道計画処理が実行されると、図8に示す通り、制御ユニット50は、ステップS21において、ジャンプすべきジャンプ高さを決定する。ここで、操作コントローラから入力されるジャンプ指示としては、以下の(1)〜(3)ものが挙げられる。操作コントローラから入力されるジャンプ指示を以下の(1)〜(3)の何れにするかは、車両1の用途、操作性(運転性)等を考慮して決定される。
(1)ジャンプ方向と飛距離とを含むジャンプ指示
(2)ジャンプ方向とジャンプ高さとを含むジャンプ指示
(3)ジャンプ方向、飛距離、及びジャンプ高さを含むジャンプ指示
【0085】
上記の(2),(3)に示すジャンプ指示のように、ジャンプ高さがジャンプ指示に含まれる場合には、制御ユニット50は、そのジャンプ高さをジャンプすべきジャンプ高さに決定する。これに対し、上記の(1)に示すジャンプ指示のように、ジャンプ高さがジャンプ指示に含まれない場合には、制御ユニット50は、予め設定されたジャンプ高さをジャンプすべきジャンプ高さに決定する。
【0086】
次に、制御ユニット50は、ステップS22において、ジャンプ時の着地位置を決定する。ここで、ジャンプ時の着地位置は、ジャンプ方向と飛距離とによって求められる。このため、上記の(1),(3)に示すジャンプ指示のようにジャンプ方向と飛距離とが含まれる場合には、これらを用いた所定の演算を行って着地位置を決定する。これに対し、上記の(2)に示すジャンプ指示のように飛距離が含まれない場合には、まずジャンプ高さから滞空時間を算出して飛距離を算出し、次にジャンプ指示に含まれるジャンプ方向と算出した飛距離とを用いた所定の演算を行って着地位置を決定する。
【0087】
以上の処理が終了すると、制御ユニット50は、ステップS23において、取得した荷重センサ54の出力(ステップS3で取得)が示す荷重計測値があらかじめ設定された所定値よりも大きいか否かによって、車両1に乗員が搭乗しているか否か(シート3に乗員が着座しているか否か)を判断する。
そして、制御ユニット50は、ステップS23の判断結果が肯定的である場合(判断結果が「YES」の場合)には、ステップS24において、搭乗モード用の軌道計画を作成する。一方、ステップS23の判断結果が否定的である場合(判断結果が「NO」である場合)には、制御ユニット50は、ステップS25において、自立モード用の軌道計画を作成する。
【0088】
ここで、ステップS24,S25における軌道計画の作成方法は基本的に同じであり、ステップS21で決定されたジャンプ高さと、ステップS22で決定された着地位置とに基づいて軌道計画が作成される。ただし、ステップS24では車両重心点を車両・乗員全体重心点に設定して軌道計画(搭乗モード用の軌道計画)が作成され、ステップS25では車両重心点を車両単体重心点に設定して軌道計画(自立モード用の軌道計画)が作成される。なお、軌道計画に沿って車両1をジャンプさせるための射出角及び射出速度は、作成された軌道計画から自動的に求められる。
【0089】
例えば、図11に示す通り、飛距離がJLであって、ジャンプ高さがJHであり、ジャンプ後にジャンプした時と同じ高さの走行面に着地する軌道計画(図中の軌道L1。簡単に説明するため装置重心の軌道を一例として示している。)が作成された場合には、車両1のジャンプ時の射出角θ0及び射出速度v0はそれぞれ次式04a,04bにより求められる。なお、次式04b中の変数gは重力加速度である。
θ0=tan−1(4・JH/JL) ……式04a
v0=√(2・g・JH+(g・JL2/8・JH)) ……式04b
【0090】
以上の処理が終了すると、制御ユニット50は、ステップS26において、ジャンプ動作時における姿勢制御モードを「離床モード」に設定する。なお、姿勢制御モードには、ジャンプまでの車両1の姿勢を制御する「離床モード」、ジャンプによって空中に浮いている状態の車両1の姿勢を制御する「空中モード」、及び着地してからの車両1の姿勢を制御する「着地モード」がある。ステップS26で姿勢制御モードが「離床モード」に設定されると、一連の軌道計画処理が終了し、図7に示すステップS7〜S13の処理が行われる。
【0091】
以上の処理で軌道計画が生成されてから、次の制御処理周期が到来すると再び図7に示す処理が開始され、制御ユニット50によって、傾斜センサ52の出力を取得する処理(ステップS1)、基体傾斜角度θbの計測値θb_xy_sと基体傾斜角速度θbdotの計測値θbdot_xy_sとを算出する処理(ステップS2)、及び荷重センサ54の出力を取得する処理(ステップS3)が順次行われる。以上の処理が終了すると、制御ユニット50は、ステップS4において、現在の運転モードが走行モードであるか、又はジャンプ動作モードであるかを判断する。ここでは、先の制御処理周期におけるステップS14の処理で運転モードがジャンプ動作モードに設定されているため、制御ユニット50は、図9に示すステップS31の判断処理を実行する。
【0092】
ステップS31の判断処理では、現在の姿勢制御モードが離床モード、空中モード、及び着地モードの何れであるかを判断する。ここでは、先の制御処理周期におけるステップS26の処理(ステップS15のサブルーチン内で行われる処理)にて姿勢制御モードが離床モードに設定されているため、制御ユニット50は離床モードであると判断し、ステップS32において離床までのシーケンスの実行を開始する。
【0093】
図12は、ジャンプ指示が入力されてからジャンプが終了するまでの制御量の一例を示す図である。図12に示す通り、ジャンプ時には基体9の傾斜角と直動アクチュエータ13の伸縮量とが制御系によって制御される。なお、基体9の傾斜角は、図10を用いて説明した通り、車輪体5を駆動することによって制御される。また、図12においては、ジャンプ指示がなされた時刻をt0とし、車輪体5が走行面から離れる時刻をt1とし、車輪体5が走行面に着地する時刻をt2とし、ジャンプに係る制御系の制御が終了する時刻をt3としている。
【0094】
ステップS32では、ジャンプ指示がなされた時刻t0から車輪体5が走行面から離れる時刻t1までのジャンプ準備期間T1に、制御ユニット50が車輪体5を駆動して、基体9の傾斜角(車両1の射出角)を、先の制御処理周期のステップS15で作成された軌道計画に沿って車両1をジャンプさせるための射出角θ0にする制御量を決定する処理が行われる。これと並行して、制御ユニットの50の制御の下で制御ユニット10が直動アクチュエータ13を駆動して、直動アクチュエータ13の伸縮量を、上記の軌道計画に沿って車両1をジャンプさせるための射出速度v0が得られる伸縮量にする制御量を決定する処理が行われる。
【0095】
ステップS32の処理が終了すると、制御ユニット50は、ステップS33において、離床までに行われるシーケンスの全てが終了したか否かを判断する。この判断結果が「NO」である場合には、制御ユニット50は、図7に示すステップS7〜S13の制御を行って、ステップS32で決定した制御量に基づく制御を実行する。ここで、運転モードがジャンプ動作モードであって姿勢制御モードが離床モードである場合には、制御処理周期毎に、ステップS1〜S4,S31〜S33,S7〜S13の処理が繰り返し行われ、図12に示すジャンプ準備期間T1における離床までのシーケンスの残りが順次実行される。なお、図12では、ジャンプ準備期間T1に基体9の傾斜角及び直動アクチュエータ13の伸縮量を共に滑らかに変化させるシーケンスが行われる例を挙げているが、これらの変化のさせ方は任意である。
【0096】
以上の処理が繰り返し行われて、離床までに行われるシーケンスの最後の処理に至ると、制御ユニット50の制御の下で制御ユニット10が直動アクチュエータ13を一気に伸長させる。これにより、車両1がジャンプして車輪体5が走行面から離れる(時刻t1)。車両1のジャンプによって、離床までに行われるシーケンスの全てが終了する。すると、ステップS33の判断結果が「YES」になり、制御ユニット50は、ステップS34において、ジャンプ動作時における姿勢制御モードを「空中モード」に設定する。かかる処理が終了すると、制御ユニット50は、図7に示すステップS7〜S13の処理を行う。
【0097】
次の制御処理周期が到来すると、再び図7に示す処理が開始され、制御ユニット50がステップS1〜S4の処理を順次行った後に、ステップS31において現在の姿勢制御モードが離床モード、空中モード、及び着地モードの何れであるかを判断する。ここでは、先の制御処理周期におけるステップS34の処理にて姿勢制御モードが空中モードに設定されているため、制御ユニット50は空中モードであると判断し、ステップS35において空中シーケンスの実行を開始する。
【0098】
ステップS35では、車輪体5が走行面から離れる時刻t1から車輪体5が走行面に着地する時刻t2までのジャンプ期間T2に、制御ユニット50が車輪体5を駆動して回転させ、基体9の傾斜角をジャンプ時の傾斜角(車両1の射出角)とは逆にする制御量を決定する処理が行われる。例えば、図12に示す通り、回転速度が台形状に変化するように車輪体5を回転(車両1が前方に移動する方向に回転)させ、時刻t2までに基体9の傾斜角を、ジャンプ時の基体9の傾斜角θ0とは逆の−θ0にするための制御量を決定する処理が行われる。
【0099】
かかる処理は、ジャンプしている間に車両1の姿勢を着地に適した姿勢にすることで、より安定した姿勢で着地を迎えられるようにするためである。なお、図12では、車輪体5の回転速度を、ジャンプ期間T2のみ図示しており、ジャンプ準備期間T1及びジャンプ終了期間T3においては図示を省略している。車両1がジャンプしている状態では、車輪体5を回転させることによる反作用によって基体9の傾斜角が制御される。なお、姿勢制御モードが空中モードに設定されている場合には、直動アクチュエータ13の伸縮量の制御は必要はないが、必要に応じて制御を行っても良い。
【0100】
ステップS35の処理が終了すると、制御ユニット50は、ステップS36において、車輪体5が走行面に着地したか否かを判断する。この判断結果が「NO」である場合には、制御ユニット50は、図7に示すステップS7〜S13の制御を行って、ステップS35で決定した制御量に基づく制御を実行する。ここで、運転モードがジャンプ動作モードであって姿勢制御モードが空中モードである場合には、制御処理周期毎に、ステップS1〜S4,S31,S35,S36,S7〜S13の処理が繰り返し行われ、図12に示すジャンプ期間T2における空中シーケンスの残りが順次実行される。
【0101】
以上の処理が繰り返し行われて、基体9の傾斜角がジャンプ時の傾斜角とは逆にされた状態で車輪体5が走行面に着地すると(時刻t2)、空中シーケンスの全てが終了する。すると、ステップS36の判断結果が「YES」になり、制御ユニット50は、ステップS37においてジャンプ動作時における姿勢制御モードを「着地モード」に設定し、ステップS38において着地モード時に行われる着地シーケンス(詳細は後述する)で用いられるカウンタを初期化する。なお。このカウンタは、着地シーケンスの実行に要する時間を制限するためのカウンタであり、上記の初期化によって着地シーケンスが実行される制御処理周期の周期数が設定される。かかる処理が終了すると、制御ユニット50は、図7に示すステップS7〜S13の処理を行う。
【0102】
次の制御処理周期が到来すると、再び図7に示す処理が開始され、制御ユニット50がステップS1〜S4の処理を順次行った後に、ステップS31において現在の姿勢制御モードが離床モード、空中モード、及び着地モードの何れであるかを判断する。ここでは、先の制御処理周期におけるステップS37の処理にて姿勢制御モードが着地モードに設定されているため、制御ユニット50は着地モードであると判断し、ステップS39において着地シーケンスの実行を開始する。
【0103】
ステップS39では、車輪体5が走行面に着地した時刻t2からジャンプに係る制御系の制御が終了する時刻t3までのジャンプ終了期間T3に、制御ユニット50が車輪体5を駆動して車両1の姿勢を早期に安定させて、図10を用いて説明した通常の倒立振子モデルの制御に速やかに移行させるための制御量を決定する処理が行われる。なお、姿勢制御モードが空中モードに設定されている場合と同様に、直動アクチュエータ13の伸縮量の制御は必要はないが、例えば車輪体5が走行面に着地したときに生ずる衝撃や振動を早急に抑える必要がある場合など必要に応じて直動アクチュエータ13の伸縮量を制御しても良い。
【0104】
ステップS39の処理が終了すると、制御ユニット50は、ステップS40においてカウンタのカウント値をデクリメントする処理を行い、ステップS41においてカウンタのカウント値が零であるか否か、つまり着地シーケンスが終了したか否かを判断する。この判断結果が「NO」である場合には、制御ユニット50は、図7に示すステップS7〜S13の制御を行って、ステップS39で決定した制御量に基づく制御を実行する。ここで、運転モードがジャンプ動作モードであって姿勢制御モードが着地モードである場合には、制御処理周期毎に、ステップS1〜S4,S31,S39〜S41の処理が繰り返し行われ、図12に示すジャンプ終了期間T3における着地シーケンスの残りが順次実行される。
【0105】
以上の処理が繰り返し行われて、カウンタのカウント値が零になると(時刻t3)、着地シーケンスの全てが終了する。すると、ステップS41の判断結果が「YES」になり、制御ユニット50は、ステップS42において運転モードを走行モードに設定する。かかる設定がなされると、次の制御処理周期におけるステップS4の判断の後にステップS5の判断が行われるようになり、運転モードが前述した走行モードに移行する。
【0106】
次に、以上説明した動作制御を行う制御系について説明する。図13は、車両1の動作制御を行う制御系の構成を示すブロック図である。図13に示す通り、制御系は、2つの制御ユニット10,50からなる。制御ユニット10は、前述した通り、制御ユニット50から出力される指令信号(車両1の射出速度を示す指令信号)に基づいて、直動アクチュエータ13の伸縮量(ストローク量)の検出結果を参照しつつ直動アクチュエータ13の伸縮量を制御する。ここで、制御ユニット10には直動アクチュエータ13の伸縮量と車両1の射出速度との対応関係を示すマップが記憶されており、制御ユニット10は、このマップを用いて指令信号に応じた直動アクチュエータ13の伸縮量を求める。
【0107】
また、図13に示す通り、制御ユニット50は、上位コントローラMCと下位コントローラSCとを備えており、ジョイスティック等の操作コントローラが接続されている。上位コントローラMCは、図13に示す制御系を統括して制御するものであり、操作コントローラからジャンプ指示が入力された場合に、そのジャンプ指示に基づいてジャンプ時の軌道計画を生成する軌道計画生成部ACを備える。軌道計画生成部ACは、操作コントローラからのジャンプ指示に応じた軌道計画を生成する。なお、軌道計画の生成方法は、図11等を参照して説明したため、ここでは詳細な説明を省略する。上位コントローラMCは、軌道計画生成部ACによって軌道計画が生成された場合には、その軌道計画に従って車両1をジャンプさせる射出角及び射出速度を、重心速度算出72から出力される重心速度推定値Vb_xy_sを参照しつつ求める。
【0108】
下位コントローラSCは、傾斜算出部71、偏差演算部70、重心速度算出部72、要求重心速度生成部74、重心速度制限部76、ゲイン調整部78、姿勢制御演算部80、モータ指令演算部82、及び遅延要素84を備える。傾斜算出部71は、傾斜センサ52の加速度センサ及びレートセンサの出力を基に、所定の計測演算処理を実行することによって、傾斜センサ52を搭載した部位(本実施形態では支柱フレーム12a)の、鉛直方向に対する基体傾斜角度θbの計測値θb_xy_sと、基体傾斜角速度θbdotの計測値θbdot_xy_sとを算出する。偏差演算部70は、傾斜算出部71で算出された基体傾斜角度計測値θb_xy_sと、上位コントローラMCから出力される基体傾斜角度目標値θb_xy_objとの偏差である基体傾斜角度偏差計測値θbe_xy_sを算出する。
【0109】
重心速度算出部72は、傾斜算出部71で算出された基体傾斜角速度計測値θbdot_xy_sと、該遅延要素84から出力される仮想車輪回転角速度指令ωw_xy_cmdの前回値ωw_xy_cmd_pとから、前記車両系重心点の移動速度である重心速度Vb_xyの観測値としての重心速度推定値Vb_xy_sを算出する。要求重心速度生成部74は、重心速度算出部72で算出された重心速度推定値Vb_xy_sに基づいて、乗員等による車両1の操縦操作(車両1に推進力を付加する操作)によって要求されていると推定される上記重心速度Vb_xyの要求値としての要求重心速度V_xy_aimを生成する。
【0110】
重心速度制限部76は、重心速度算出部72で算出された重心速度推定値Vb_xy_sと、要求重心速度生成部74で生成された要求重心速度V_xy_aimとから、電動モータ31R,31Lの回転角速度の許容範囲に応じた制限を加味して、重心速度Vb_xyの目標値としての制御用目標重心速度Vb_xy_mdfdを決定する。ゲイン調整部78は、制御ゲインを調整するためのゲイン調整パラメータKr_xyを決定する。
【0111】
姿勢制御演算部80は、偏差演算部70で算出された基体傾斜角度偏差計測値θbe_xy_s、基体傾斜角速度計測値θbdot_xy_s、重心速度算出部72で算出された重心速度推定値Vb_xy_s、重心速度制限部76で決定された制御用目標重心速度Vb_xy_mdfd、及びゲイン調整部78で決定されたゲイン調整パラメータKr_xyに基づいて、前記仮想車輪回転角速度指令ωw_xy_cmdを算出する。モータ指令演算部82は、姿勢制御演算部80から出力される仮想車輪回転角速度指令ωw_xy_cmdを、右側の電動モータ31Rの速度指令ω_R_cmd(回転角速度の指令値)と左側の電動モータ31Lの速度指令ω_L_cmd(回転角速度の指令値)との組に変換する。遅延用度84は、各制御処理周期において、仮想車輪回転角速度指令ωw_xy_cmdの前回値ωw_xy_cmd_pを出力する。
【0112】
前述した走行モード時におけるステップS12(図7参照)の車両制御演算処理では、これらの上記の各処理部の処理が以下に説明するように実行される。
すなわち、制御ユニット50は、まず、傾斜算出部71の処理を実行する。この傾斜算出部71には、前記ステップS1で取得された傾斜センサ52からの出力が入力される。そして、傾斜センサ52の加速度センサ及びレートセンサの出力を基に、所定の計測演算処理を実行することによって、傾斜センサ52を搭載した部位の、鉛直方向に対する基体傾斜角度θbの計測値θb_xy_sと、基体傾斜角速度θbdotの計測値θbdot_xy_sとを算出する。
【0113】
次に、偏差演算部70の処理と重心速度算出部72の処理とを実行する。偏差演算部70には、前記ステップS2で算出された基体傾斜角度計測値θb_xy_s(θb_x_s及びθb_y_s)と、前記ステップS8又はステップS10で設定された目標値θb_xy_obj(θb_x_obj及びθb_y_obj)とが入力される。そして、偏差演算部70は、θb_x_sからθb_x_objを減算することによって、Y軸周り方向の基体傾斜角度偏差計測値θbe_x_s(=θb_x_s−θb_x_obj)を算出すると共に、θb_y_sからθb_y_objを減算することによって、X軸周り方向の基体傾斜角度偏差計測値θbe_y_s(=θb_y_s−θb_y_obj)を算出する。
なお、偏差演算部70の処理は、ステップS12の車両制御演算処理の前に行なうようにしてもよい。例えば、前記ステップS8又はステップS10の処理の中で、偏差演算部70の処理を実行してもよい。
【0114】
前記重心速度算出部72には、前記ステップS2で算出された基体傾斜角速度計測値θbdot_xy_s(θbdot_x_s及びθbdot_y_s)の今回値が入力されると共に、仮想車輪速度指令ωw_xy_cmdの前回値ωw_xy_cmd_p(ωw_x_cmd_p及びωw_y_cmd_p)が遅延要素84から入力される。そして、重心速度算出部72は、これらの入力値から、前記倒立振子モデルに基づく所定の演算式によって、重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)を算出する。
【0115】
具体的には、重心速度算出部72は、次式05x,05yにより、Vb_x_s及びVb_y_sをそれぞれ算出する。
Vb_x_s=Rw_x・ωw_x_cmd_p+h_x・θbdot_x_s ……05x
Vb_y_s=Rw_y・ωw_y_cmd_p+h_y・θbdot_y_s ……05y
【0116】
これらの式05x,05yにおいて、Rw_x,Rw_yは、前記したように、仮想車輪62_x,62_yのそれぞれの半径であり、これらの値は、あらかじめ設定された所定値である。また、h_x,h_yは、それぞれ倒立振子モデルの質点60_x,60_yの高さである。この場合、本実施形態では、車両系重心点の高さは、ほぼ一定に維持されるものとされる。そこで、h_x,h_yの値としては、それぞれ、あらかじめ設定された所定値が用いられる。補足すると、高さh_x,h_yは、前記ステップS9又はステップS11において値を設定する定数パラメータに含まれるものである。
【0117】
上記式05xの右辺の第1項は、仮想車輪62_xの速度指令の前回値ωw_x_cmd_pに対応する該仮想車輪62_xのX軸方向の移動速度であり、この移動速度は、車輪体5のX軸方向の実際の移動速度の現在値に相当するものである。また、式05xの右辺の第2項は、基体9がY軸周り方向にθbdot_x_sの傾斜角速度で傾動することに起因して生じる車両系重心点のX軸方向の移動速度(車輪体5に対する相対的な移動速度)の現在値に相当するものである。これらのことは、式05yについても同様である。
【0118】
なお、前記ロータリーエンコーダ56R,56Lの出力を基に計測される電動モータ31R,31Lのそれぞれの回転角速度の計測値(今回値)の組を、仮想車輪62_x,62_yのそれぞれの回転角速度の組に変換し、それらの回転角速度を、式05x、05yのωw_x_cmd_p、ωw_y_cmd_pの代わりに用いてもよい。ただし、回転角速度の計測値に含まれるノイズの影響を排除する上では、目標値であるωw_x_cmd_p、ωw_y_cmd_pを使用することが有利である。
【0119】
次に、制御ユニット50は、要求重心速度生成部74の処理とゲイン調整部78の処理とを実行する。この場合、要求重心速度生成部74及びゲイン調整部78には、それぞれ、重心速度算出部72で上記の如く算出された重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)が入力される。
そして、要求重心速度生成部74は、詳細は後述するが、車両1の動作モードが搭乗モードである場合に、入力された重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)を基に、要求重心速度V_xy_aim(V_x_aim,V_y_aim)を決定する。なお、本実施形態では、車両1の動作モードが自立モードである場合には、要求重心速度生成部74は、要求重心速度V_x_aim及びV_y_aimをいずれも"0"とする。
また、ゲイン調整部78は、入力された重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)を基に、前記ゲイン調整パラメータKr_xy(Kr_x及びKr_y)を決定する。
【0120】
次に、制御ユニット50は、重心速度制限部76の処理を実行する。
この重心速度制限部76には、重心速度算出部72で算出された重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)と、要求重心速度生成部74で決定された要求重心速度V_xy_aim(V_x_aim及びV_y_aim)とが入力される。そして、重心速度制限部76は、これらの入力値を使用して、制御用目標重心速度V_xy_mdfd(V_x_mdfd及びV_y_mdfd)を決定する。
【0121】
次いで、制御ユニット50は、姿勢制御演算部80の処理を実行する。
姿勢制御演算部80は、まず、次式07x,07yにより、仮想車輪回転角加速度指令ωdotw_xy_cmdを算出する。
ωwdot_x_cmd=K1_x・θbe_x_s+K2_x・θbdot_x_s
+K3_x・(Vb_x_s−Vb_x_mdfd) ……式07x
ωwdot_y_cmd=K1_y・θbe_y_s+K2_y・θbdot_y_s
+K3_y・(Vb_y_s−Vb_y_mdfd) ……式07y
【0122】
従って、本実施形態では、Y軸方向から見た倒立振子モデルの質点60_xの運動(ひいては、Y軸方向から見た車両系重心点の運動)を制御するための操作量(制御入力)としての仮想車輪回転角加速度指令ωdotw_x_cmdと、X軸方向から見た倒立振子モデルの質点60_yの運動(ひいては、X軸方向から見た車両系重心点の運動)を制御するための操作量(制御入力)としての仮想車輪回転角加速度指令ωdotw_y_cmdとは、それぞれ、3つの操作量成分(式07x,07yの右辺の3つの項)を加え合わせることによって決定される。
【0123】
この場合、式07xにおける各操作量成分に係わるゲイン係数K1_x,K2_x,K3_xは、ゲイン調整パラメータKr_xに応じて可変的に設定され、式07yにおける各操作量成分に係わるゲイン係数K1_y,K2_y,K3_yは、ゲイン調整パラメータKr_yに応じて可変的に設定される。以降、式07xにおけるゲイン係数K1_x,K2_x,K3_xのそれぞれを第1ゲイン係数K1_x、第2ゲイン係数K2_x、第3ゲイン係数K3_xということがある。このことは、式07yにおけるゲイン係数K1_y,K2_y,K3_yについても同様とする。
【0124】
式07xにおける第iゲイン係数Ki_x(i=1,2,3)と、式07yにおける第iゲイン係数Ki_y(i=1,2,3)とは、次式09x、09yにより、ゲイン調整パラメータKr_x,Kr_yに応じて決定される。
Ki_x=(1−Kr_x)・Ki_a_x+Kr_x・Ki_b_x ……式09x
Ki_y=(1−Kr_y)・Ki_a_y+Kr_y・Ki_b_y ……式09y
(i=1,2,3)
【0125】
ここで、式09xにおけるKi_a_x、Ki_b_xは、それぞれ、第iゲイン係数Ki_xの最小側("0"に近い側)のゲイン係数値、最大側("0"から離れる側)のゲイン係数値としてあらかじめ設定された定数値である。このことは、式09yにおけるKi_a_y、Ki_b_yについても同様である。
【0126】
従って、式07xの演算に用いる各第iゲイン係数Ki_x(i=1,2,3)は、それぞれに対応する定数値Ki_a_x、Ki_b_xの重み付き平均値として決定される。そして、この場合、Ki_a_x、Ki_b_xにそれぞれ掛かる重みが、ゲイン調整パラメータKr_xに応じて変化させられる。このため、Kr_x=0である場合には、Ki_x=Ki_a_xとなり、Kr_x=1である場合には、Ki_x=Ki_b_xとなる。そして、Kr_xが"0"から"1"に近づくに伴い、第iゲイン係数Ki_xはKi_a_xからKi_b_x近づいていく。
【0127】
同様に、式07yの演算に用いる各第iゲイン係数Ki_y(i=1,2,3)は、それぞれに対応する定数値Ki_a_y、Ki_b_yの重み付き平均値として決定される。そして、この場合、Ki_a_y、Ki_b_yにそれぞれ掛かる重みが、ゲイン調整パラメータKr_yに応じて変化させられる。このため、Ki_xの場合と同様に、Kr_yの値が"0"から"1"の間で変化するに伴い、第iゲイン係数Ki_yの値が、Ki_a_yとKi_b_yとの間で変化する。
補足すると、上記定数値Ki_a_x、Ki_b_x及びKi_a_y,Ki_b_y(i=1,2,3)は、前記ステップS9又はステップS11において値が設定される定数パラメータに含まれるものである。
【0128】
姿勢制御演算部80は、上記の如く決定した第1〜第3ゲイン係数K1_x,K2_x,K3_xを用いて前記式07xの演算を行なうことで、X軸方向に輪転する仮想車輪62_xに係わる仮想車輪回転角加速度指令ωwdot_x_cmdを算出する。
同様に、姿勢制御演算部80は、上記の如く決定した第1〜第3ゲイン係数K1_y,K2_y,K3_yを用いて前記式07yの演算を行なうことで、Y軸方向に輪転する仮想車輪62_yに係わる仮想車輪回転角加速度指令ωwdot_y_cmdを算出する。
【0129】
姿勢制御演算部80は、上記の如く、仮想車輪回転角加速度指令ωwdot_x_cmd,ωwdot_y_cmdを算出した後、次に、これらのωwdot_x_cmd,ωwdot_y_cmdをそれぞれ積分器80fにより積分することによって、仮想車輪回転速度指令ωw_x_cmd,ωw_y_cmdを決定する。
【0130】
制御ユニット50は、次に、姿勢安定化制御演算部80で上記の如く決定した仮想車輪回転速度指令ωw_x_cmd,ωw_y_cmdをモータ指令演算部82に入力し、該モータ指令演算部82の処理を実行することによって、電動モータ31Rの速度指令ω_R_cmdと電動モータ31Lの速度指令ω_L_cmdとを決定する。
具体的には、モータ指令演算部82は、前記式01a,01bのωw_x,ωw_y,ω_R,ω_Lをそれぞれ、ωw_x_cmd,ωw_y_cmd,ω_R_cmd,ω_L_cmdに置き換えて得られる連立方程式を、ω_R_cmd,ω_L_cmdを未知数として解くことによって、電動モータ31R,31Lのそれぞれの速度指令ω_R_cmd,ω_L_cmdを決定する。
以上により走行モード時における前記ステップS12の車両制御演算処理が完了する。
【0131】
また、前述したジャンプ動作モード時におけるステップS12(図7参照)の車両制御演算処理では、基本的に、以上説明した各処理部の処理と同様の処理によって車両1の傾斜角が、軌道計画生成部ACで生成された軌道計画に従って車両1をジャンプさせる射出角に応じた角度に制御される。ここで、車両1の傾斜角は、上位コントローラMCが基体傾斜角度θbの目標値θb_xy_objを指定することによって制御する。また、車両1の傾斜角の制御と並行して、制御ユニット10によって軌道計画生成部ACで生成された軌道計画に従って車両1をジャンプさせる射出速度が得られるように、直動アクチュエータ13の伸縮量が制御される。
【0132】
以上説明した通り、本実施形態によれば、ジャンプ指示に基づいてジャンプ時の軌道計画を生成し、車輪体5を駆動して車両1の姿勢を制御することによって軌道計画に応じた車両1の射出角を制御するとともに、基体9に設けられた直動アクチュエータ13の伸縮量を調整することによって軌道計画に応じた車両1の射出速度を制御している。これにより、車両1がジャンプ指示に応じたジャンプを行うため、走行では越えられないまでも回避するほどでもない程度の大きさの障害物が存在する場合であっても乗り越えて進行することができる。
【0133】
次に、本実施形態の変形例について説明する。図14は、本発明の実施形態に係る移動体の変形例を示す側面図である。図14に示す移動体60において、図1に示す移動体1と同様の構成要素には同様の符号を付して詳細な説明を省略する。図14に示す移動体60は、伸縮フレーム92の構成において図1に示す移動体1と相違する。
【0134】
伸縮フレーム92は、下部フレーム11の上端から上方に向かって互いに平行をなすように延設された直動アクチュエータ93及び支柱フレーム92aと、直動アクチュエータ93の上方に延設された支持フレーム92bと、支柱フレーム92aに外挿されるとともに下端が下部フレーム11の上端に固定され、支柱フレームに沿う方向に伸縮するバネ94とを備える。
【0135】
直動アクチュエータ93は、四角環状の第1部材93aと、一部が第1部材93a内に介挿されて中心軸が同軸となるように配置された四角環状の第2部材93bとを備えている。即ち、この直動アクチュエータ93は、前述した直動アクチュエータ13と略同一の構成とされており、第1部材93aをシリンダとし、第2部材93bをロッドとしたパワーシリンダから構成されている。なお、この直動アクチュエータ93においても、ボールネジ機構から構成されることにより伸縮可能とされていてもよい。
る。
【0136】
そして、本実施形態における制御ユニット10は、直動アクチュエータ93の上部に設けられた支持フレーム92bに取り付けられており、この制御ユニット10に、上記直動アクチュエータ93の上端及びバネ94の上端が接続されている。なお、支柱フレーム92aの上端は、制御ユニット10が下方に変位した際に支柱フレーム92aと干渉することのないよう、例えば、制御ユニット10に形成された貫通孔に摺動可能に挿入されている。このようにして本実施形態においては、直動アクチュエータ93とバネ94とが下部フレーム11と制御ユニット10との間に並列に配置されている。
【0137】
本実施形態におけるバネ94は、本実施形態においてはコイルスプリングが採用されており、直動アクチュエータ93の伸縮に追従するように収縮され、弾性エネルギーを蓄積するために設けられている。バネ94は、より多くの弾性エネルギーを蓄積できるようにある程度大きいバネ定数を有するものであることが好ましい。
【0138】
以上のような構成の移動体60においても、前述した移動体1と同様にして、直動アクチュエータ93が伸縮することによって、移動体1自体が走行面から離間するジャンプ動作を行い、これにより容易に障害物(例えば、小石など)や段差を乗り越えて進行することができる。即ち、移動体1と同様にしてジャンプ指示がなされると、直動アクチュエータ93は一旦収縮する動作を行なう。この直動アクチュエータ93の上方に設置された搭乗部3、制御ユニット10等は、下方に変位し、これによって制御ユニット10に上端を接続したバネ94が圧縮される。即ち、直動アクチュエータ93の収縮に追従するようにしてバネ94も同時に収縮される。これにより、バネ94に弾性エネルギーが蓄積される。
【0139】
そして、直動アクチュエータ93が限界まで収縮すると、該直動アクチュエータ93は伸張する動作に移行し、直動アクチュエータ93の伸張にともなってバネ94に蓄積された弾性エネルギーが開放される。これによって、直動アクチュエータ93の伸張動作が補助されて、該直動アクチュエータ93がより勢いを増して伸張される。したがって、直動アクチュエータ93の伸張動作により上方に変位される基体9自体をより力強く持ち上げることができ、移動体1のジャンプ動作をより確実に行なうことが可能となる。
【0140】
また、直動アクチュエータ93が伸張したジャンプ動作をした後、動アクチュエータ63の伸張及び収縮をフリーの状態とすることにより、即ち、直動アクチュエータ93を伸縮自在の状態とすることにより、着地時に生じる下方に向かっての荷重をバネ94が吸収することができるため、着地時の衝撃を和らげることができる。
【0141】
以上、本発明の実施形態について説明したが、本発明は上記実施形態に制限されず、本発明の範囲内で自由に変更が可能である。例えば、上記実施形態では、操作コントローラに設けられたジャンプボタンが押下された場合に、制御ユニット50にジャンプ指示が入力されてジャンプが行われる例について説明した。しかしながら、例えばトゥグリップ26R,26Lにジャンプボタンを取り付けて、トゥグリップ26R,26Lを足の甲で上方に押し上げる等の操作がなされた場合に、制御ユニット50にジャンプ指示が入力されるようにしても良い。更に、転倒等のとっさの時に足を前や横に出せるように、トゥグリップ26R,26Lは前後方向に傾動可能な構造であるのが望ましい。
【0142】
また、上記実施形態では、説明の便宜上、車輪体5の駆動を制御する制御ユニット50と、直動アクチュエータ13の伸縮量を調整する制御ユニット10が別々に設けられた構成について説明したが、これらの制御ユニット10,50は一体化されていても良い。また、図13に示す例では、制御ユニット50に上位コントローラMCが設けられている例について説明したが、上位コントローラMCと、車輪体5の駆動を制御する下位コントローラSCと、直動アクチュエータ13の伸縮量を調整する制御ユニット10とがそれぞれ別に設けられていても良い。
【符号の説明】
【0143】
1 移動体
3 搭乗部
5 移動動作部(被駆動機構)
7 アクチュエータ装置(駆動部)
9 基体
10 制御ユニット(第2制御部)
13 直動アクチュエータ(伸縮機構)
14 バネ(伸縮機構)
25R,25L ステップ(搭乗部)
54 荷重センサ(荷重検出部)
93 直動アクチュエータ(伸縮機構)
94 バネ(伸縮機構)
AC 軌道計画生成部
SC 下位コントローラ(第1制御部)
【技術分野】
【0001】
本発明は、走行面を移動可能な倒立振子制御型の移動体の制御装置に関する。
【背景技術】
【0002】
走行面上を全方向(2次元的な全方向)に移動可能な移動体としては、例えば、特許文献1、2に見られるものが本願出願人により提案されている。これらの特許文献1、2に見られる移動体にあっては、走行面に接地しながら該走行面上を全方向に移動可能な、球体状又は車輪状又はクローラ状の移動動作部と、該移動動作部を駆動する電動モータ等を有するアクチュエータ装置とが車両の基体に組付けられている。そして、この車両は、アクチュエータ装置により移動動作部を駆動することによって、走行面上を移動する。
【0003】
また、この種の移動体の移動動作を制御する技術としては、例えば特許文献3に見られる技術が本願出願人により提案されている。この技術では、車両の基体が球体状の移動動作部に対して前後・左右に傾動自在に設けられている。そして、基体の傾き角を計測し、この傾き角を所要の角度に保つように、移動動作部を駆動する電動モータのトルクを制御することによって、基体の傾動動作に応じて車両を移動させるようにしている。
【0004】
更に、以下の特許文献4には、進行方向に関して車体をスライド可能に支持し、走行中に障害物を発見して急制動をかけた場合に車体を後方へ退避させる制御を行う倒立車輪型の走行体が開示されている。かかる制御を行うことで、特許文献4に開示された走行体は、急制動をかけた場合の制動距離を短くしつつ、搭乗者や荷物等を危険から回避させている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】国際公開第08/132778号パンフレット
【特許文献2】国際公開第08/132779号パンフレット
【特許文献3】特許第3070015号公報
【特許文献4】特許第4291822号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、上述した特許文献1〜3に開示された移動体においても、安全性の観点からは上述した特許文献4に開示された走行体と同様に、走行面上に存在する障害物等に起因する危険を回避するための何らかの制御が必要になる。ここで、安全性及び機動性の双方を考慮すると、走行では越えられない程度の大きさの障害物を対象として危険回避のための制御が行われるのが望ましい。
【0007】
しかしながら、この程度の大きさの障害物を危険退避の対象にしてしまうと、走行では越えられないまでも回避するほどでもない程度の大きさの障害物についても移動体を停止させる停止動作や、走行を一旦中断して障害物を回避する回避動作が行われてしまう。搭乗者からすれば、この程度の大きさの障害物については、回避せずに乗り越えて進行させたい場合もあると考えられるが、従来の移動体では、このような障害物を乗り越えて進行させることはできないという問題があった。
【0008】
本発明は、上記問題を解決すべくなされたもので、その目的は、走行では越えられないまでも回避するほどでもない程度の大きさの障害物が存在する場合であっても乗り越えて進行することができる倒立振子制御型の移動体の制御装置を提供することにある。
【課題を解決するための手段】
【0009】
上記問題を解決するために、請求項1に記載した発明は、走行面(床面、路面、地面等)を移動可能な被駆動機構(例えば、実施形態による移動動作部5、車輪、クローラ等)と、前記被駆動機構を駆動する駆動力を発生させる駆動部(例えば、実施形態によるアクチュエータ装置7、電動機等の駆動源)と、前記被駆動機構及び前記駆動部が組付けられた基体(例えば、実施形態による基体9やフレーム等)と、を有する倒立振子制御型の移動体(例えば、実施形態による移動体1、倒立振子制御型移動体、全方向移動体、車両等)の制御装置であって、前記基体は当該基体を伸縮させる伸縮機構を(例えば、実施形態による直動アクチュエータ13及びバネ14、又は直動アクチュエータ93及びバネ94)さらに備え、前記倒立振子制御型の移動体を跳躍させるための指令値に基づいて、跳躍時の軌道計画を生成する軌道計画生成部(例えば、実施形態による軌道計画生成部(AC)と、前記軌道計画に応じた前記倒立振子制御型の移動体の射出角を、前記駆動部を駆動して前記倒立振子制御型の移動体の姿勢を制御することにより制御する第1制御部(例えば、実施形態による下位コントローラSC)と、前記軌道計画に応じた前記倒立振子制御型の移動体の射出速度を、前記伸縮機構の伸縮量を調整することにより制御する第2制御部(例えば、実施形態による制御ユニット10)とを備えることを特徴とする倒立振子制御型の移動体の制御装置である。これにより、指令値に基づいて生成された軌道計画に応じて全方向移動車両の射出角及び射出速度が制御されることにより、軌道計画に沿うように全方向移動車両を跳躍させることができる。
請求項2に記載した発明は、前記倒立振子制御型の移動体が、前記基体に組付けられた搭乗部(例えば、実施形態による搭乗部3及びステップ25R,25L)と、当該搭乗部にかかる荷重を検出する荷重検出部(例えば、実施形態による荷重センサ54)とを備えており、
前記軌道計画生成部は、前記荷重検出部の検出結果に応じて、前記搭乗部に乗員が搭乗している場合の軌道計画(例えば、実施形態によるステップS24)と、前記搭乗部に乗員が搭乗していない場合の軌道計画(例えば、実施形態によるステップS25)との何れか一方の軌道計画を生成することを特徴とする。これにより、荷重検出部の検出結果に応じて搭乗部に乗員が搭乗している場合の軌道計画と記搭乗部に乗員が搭乗していない場合の軌道計画との何れか一方の軌道計画を生成することができる。
請求項3に記載した発明は、前記指令値が、前記倒立振子制御型の移動体の跳躍方向を示す値と、前記倒立振子制御型の移動体の飛距離及び跳躍高さの少なくとも一方を示す値とを含むことを特徴とする。これにより、倒立振子制御型の移動体の跳躍方向を示す値と飛距離を示す値の組み合わせ、倒立振子制御型の移動体の跳躍方向を示す値と跳躍高さを示す値の組み合わせ、及び倒立振子制御型の移動体の跳躍方向を示す値と飛距離を示す値と跳躍高さを示す値の組み合わせのうちの何れかの組み合わせを跳躍のための指令値に含ませることができる。なお、「飛距離」とは、跳躍によって倒立振子制御型の移動体が走行面から離れた離床地点から走行面に着地する着床地点までの距離をいう。
請求項4に記載した発明は、前記第1制御部が、前記軌道計画生成部が生成した軌道計画に沿った跳躍が行われている間に、前記駆動部を駆動して前記倒立振子制御型の移動体の姿勢を制御する(例えば、実施形態によるステップS35)ことを特徴とする。これにより、跳躍している間にも倒立振子制御型の移動体の姿勢を制御することができる。
請求項5に記載した発明は、前記第1制御部が、前記軌道計画に沿った跳躍終了時における前記倒立振子制御型の移動体の姿勢が、前記軌道計画に沿った跳躍開始時の姿勢とは逆になるように制御することを特徴とする。これにより、倒立振子制御型の移動体の姿勢を跳躍開始時の姿勢とは逆の姿勢で着地させることができる。
請求項6に記載した発明は、前記第1制御部が、前記軌道計画に沿った跳躍が終了した時には、前記倒立振子制御型の移動体の姿勢が所定の安定姿勢となるように制御する(例えば、実施形態によるステップS39)ことを特徴とする。ここで、「所定の安定姿勢となるように制御する」とは、通常の倒立振子モデルの制御に速やかに移行させるように制御することをいう。これにより、跳躍が終了したときに、倒立振子制御型の移動体の姿勢を速やかに所定の安定姿勢にすることができる。
請求項7に記載した発明は、前記伸縮機構が、前記第2制御部によって伸縮量が調整されるアクチュエータ(例えば、実施形態による直動アクチュエータ13,93)と、伸縮方向が前記アクチュエータの伸縮方向と同じ方向に設定されたバネ(例えば、実施形態によるバネ14,94)とからなることを特徴とする。これにより、第2制御部によってアクチュエータの伸縮量を調整することにより、基体の伸縮量を自在に制御することができる。
請求項8に記載した発明は、前記アクチュエータが、前記バネの上部に配置されて前記バネと直列接続されていることを特徴とする。これにより、バネに直列接続されたアクチュエータの伸縮量を調整することにより基体の伸縮量を自在に制御することができる。
請求項9に記載した発明は、前記アクチュエータと前記バネが、並列接続されていることを特徴とする。これにより、バネに並列接続されたアクチュエータの伸縮量を調整することにより基体の伸縮量を自在に制御することができる。
【発明の効果】
【0010】
請求項1に記載した発明によれば、指令値に基づいて生成された軌道計画に応じて倒立振子制御型の移動体の射出角及び射出速度が制御されることにより、軌道計画に沿うように倒立振子制御型の移動体を跳躍させることができるので、走行では越えられないまでも回避するほどでもない程度の大きさの障害物が存在する場合であっても乗り越えて進行することができる。
請求項2に記載した発明によれば、荷重検出部の検出結果に応じて搭乗部に乗員が搭乗している場合の軌道計画と記搭乗部に乗員が搭乗していない場合の軌道計画との何れか一方の軌道計画を生成することができるので、倒立振子制御型の移動体に乗員が搭乗しているか否かに拘わらず、指令値に応じた跳躍を倒立振子制御型の移動体にさせることができる。
請求項3に記載した発明によれば、倒立振子制御型の移動体の跳躍方向を示す値と飛距離を示す値の組み合わせ、倒立振子制御型の移動体の跳躍方向を示す値と跳躍高さを示す値の組み合わせ、及び倒立振子制御型の移動体の跳躍方向を示す値と飛距離を示す値と跳躍高さを示す値の組み合わせのうちの何れかの組み合わせを跳躍のための指令値に含ませることができるので、倒立振子制御型の移動体の用途、操作性(運転性)等に応じて跳躍のための指令値を適宜選択することができる。
請求項4に記載した発明によれば、跳躍している間にも倒立振子制御型の移動体の姿勢を制御することができるので、着地に向けて倒立振子制御型の移動体の姿勢を着地に適した姿勢にすることができる。
請求項5に記載した発明によれば、倒立振子制御型の移動体の姿勢を跳躍開始時の姿勢とは逆の姿勢で着地させることができるので、安定した着地を実現することができる。
請求項6に記載した発明によれば、跳躍が終了したときに、倒立振子制御型の移動体の姿勢を速やかに所定の安定姿勢にすることができるので、着地時の衝撃や振動を早急に抑えて速やかに早期に通常の走行を行うことができる。
請求項7に記載した発明によれば、第2制御部によってアクチュエータの伸縮量を調整することにより、基体の伸縮量を自在に制御することができるので、倒立振子制御型の移動体を自在に跳躍させることができる。
請求項8に記載した発明によれば、バネに直列接続されたアクチュエータの伸縮量を調整することにより基体の伸縮量を自在に制御することができるので、倒立振子制御型の移動体を自在に跳躍可能としつつ着地時の衝撃を吸収することができる。
請求項9に記載した発明は、バネに並列接続されたアクチュエータの伸縮量を調整することにより基体の伸縮量を自在に制御することができるので、倒立振子制御型の移動体の跳躍時におけるアクチュエータの動作をバネの反発力によって付勢することができるとともに小型化することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態に係る移動体の正面図である。
【図2】本発明の実施形態に係る移動体の側面図である。
【図3】本発明の実施形態に係る移動体の下部を拡大して示す図である。
【図4】本発明の実施形態に係る移動体の下部の斜視図である。
【図5】本発明の実施形態に係る移動体の移動動作部(車輪体)の斜視図である。
【図6】本発明の実施形態に係る移動体の移動動作部(車輪体)とフリーローラとの配置関係を示す図である。
【図7】本発明の実施形態に係る移動体の制御処理を示すフローチャートである。
【図8】本発明の実施形態に係る移動体の制御処理を示すフローチャートである。
【図9】本発明の実施形態に係る移動体の制御処理を示すフローチャートである。
【図10】本発明の実施形態に係る移動体の動力学的挙動を表現する倒立振子モデルを示す図である。
【図11】ジャンプ時に生成される軌道計画を説明するための図である。
【図12】ジャンプのために行われる制御を説明するための図である。
【図13】本発明の実施形態に係る移動体を制御する制御系の構成を示すブロック図である。
【図14】本発明の実施形態に係る移動体の変形例を示す側面図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の実施形態を説明する。まず、図1〜図6を参照して、本実施形態における倒立振子制御型の移動体の構造を説明する。
図1及び図2に示すように、本実施形態における移動体1は、乗員(運転者)の搭乗部3と、走行面に接地しながら該走行面上を全方向(前後方向及び左右方向を含む2次元的な全方向)に移動可能な移動動作部5と、この移動動作部5を駆動する動力を該移動動作部5に付与するアクチュエータ装置7と、これらの搭乗部3、移動動作部5及びアクチュエータ装置7が組付けられた基体9とを備える。
【0013】
ここで、本実施形態の説明では、「前後方向」、「左右方向」は、それぞれ、搭乗部3に標準的な姿勢で搭乗した乗員の上体の前後方向、左右方向に一致もしくはほぼ一致する方向を意味する。なお、「標準的な姿勢」は、搭乗部3に関して設計的に想定されている姿勢であり、乗員の上体の体幹軸を概ね上下方向に向け、且つ、上体を捻ったりしていない姿勢である。
この場合、図1においては、「前後方向」、「左右方向」はそれぞれ、紙面に垂直な方向、紙面の左右方向であり、図2においては、「前後方向」、「左右方向」はそれぞれ、紙面の左右方向、紙面に垂直な方向である。また、本実施形態の説明では、参照符号に付する添え字「R」,「L」は、それぞれ移動体1の右側、左側に対応するものという意味で使用する。
【0014】
基体9は、移動動作部5及びアクチュエータ装置7が組付けられた下部フレーム11と、この下部フレーム11の上方に設けられて基体9を伸縮させる伸縮フレーム12とからなる。伸縮フレーム12は、下部フレーム11の上端から上方に延設された支柱フレーム12aと、支柱フレーム12aに沿って摺動可能であるとともに自身が支柱フレーム12aに沿う方向に伸縮可能な直動アクチュエータ13と、直動アクチュエータ13の上方に延設された支柱フレーム12bと、一端が下部フレーム11の上端に固定されるとともに他端が直動アクチュエータ13の下端に固定されて支柱フレーム12aに沿う方向に伸縮するバネ14とを備える。
【0015】
直動アクチュエータ13は、四角環状の第1部材13aと、一部が第1部材13a内に介挿されて中心軸が同軸となるように配置された四角環状の第2部材13bとを備えている。さらに第1部材13a内には、例えばサーボモータ等によって駆動され、第2部材13aに対して所定の推力を伝達する歯車機構(図示省略)が備えられている。そして、この歯車機構により第2部材13bが第1部材13aに対して中心軸方向に相対移動されることにより、これら第1部材13a及び第2部材13bとの相対位置が変位し、直動アクチュエータ13が中心軸方向に伸縮する。即ち、本実施形態における直動アクチュエータ13は、第1部材13aをシリンダとし、第2部材13bをロッドとしたパワーシリンダから構成されている。
【0016】
なお、直動アクチュエータ13としては、上記構成の他、例えばサーボモータにより駆動されるボールネジと該ボールネジに螺合するボールナットとを備えたボールネジ機構から構成されたものであってもよい。これによっても第1部材13aと第2部材13bとを中心軸方向に相対移動させることで、直動アクチュエータ13を伸縮可能とすることができる。
【0017】
このような直動アクチュエータ13は、移動体1のジャンプ(跳躍)を可能とするために設けられる。また、直動アクチュエータ13には中心軸が第1部材13a及び第2部材13bの中心軸と同軸となるように支柱フレーム12aが介挿されており、直動アクチュエータ13は支柱フレーム12aをガイドとして該支柱フレーム12aに沿って摺動可能とされている。
【0018】
この直動アクチュエータ13は、第2部材13bの下端に配置されたバネ14によって支持される。このため、直動アクチュエータ13が支柱フレーム12aに沿って摺動すると、直動アクチュエータ13の摺動動作に合わせてバネ14が伸縮する。バネ14は、主として走行時やジャンプ時における衝撃を和らげるために設けられており、乗員が搭乗部3に搭乗したときに搭乗部3が僅かに沈み込み、ジャンプ時の衝撃(着地時に受ける衝撃)を十分に吸収することができる程度の堅さのものを用いるのが望ましい。このように、伸縮フレーム12は伸縮方向が同じ方向に設定されて直列接続された直動アクチュエータ13とバネ14とからなる伸縮機構を備えており、かかる伸縮機構によって伸縮フレーム12が伸縮することによって基体9が伸縮する。
【0019】
なお、本実施形態においては、上記バネ14として直動アクチュエータ13の中心軸方向に延びるコイルスプリングを採用しているが、これに限定されることはなく、所定のバネ定数を備えていれば他の部材をバネ14として用いてもよい。
【0020】
直動アクチュエータ13の上部に設けられた支柱フレーム12bには、直動アクチュエータ13の伸縮量(ストローク量)を検出するとともに、その検出結果を参照しつつ直動アクチュエータ13の伸縮量を制御する制御ユニット10が取付けられている。また、支柱フレーム12bには、該支柱フレーム12aから前方側に張り出したシートフレーム15が固定されている。
【0021】
そして、このシートフレーム15上に、乗員が着座するシート3が装着されている。本実施形態では、このシート3が乗員の搭乗部となっている。従って、本実施形態における移動体1(以降、単に車両1という)は、乗員がシート3に着座した状態で、走行面上を移動するものである。なお、搭乗部は、シート3のように乗員が着座可能なものでもよいが、足を載せるためのステップのみでもよいし、それらを両方備えていてもよい。搭乗部としてシート、ステップの両方を備える場合、荷重検出部をシート下部およびステップに備え付けていてもよい。
また、シート3の左右には、シート3に着座した乗員が必要に応じて把持するためのグリップ17R,17Lが配置され、これらのグリップ17R,17Lがそれぞれ、支柱フレーム12a(又はシートフレーム15)から延設されたブラケット19R,19Lの先端部に固定されている。
【0022】
下部フレーム11は、左右方向に間隔を存して二股状に対向するように配置された一対のカバー部材21R,21Lを備える。これらのカバー部材21R,21Lの上端部(二股の分岐部分)は、前後方向の軸心を有するヒンジ軸23を介して連結され、カバー部材21R,21Lの一方が他方に対して相対的にヒンジ軸23の周りに揺動可能となっている。この場合、カバー部材21R,21Lは、図示を省略するバネによって、カバー部材21R,21Lの下端部側(二股の先端側)が狭まる方向に付勢されている。
【0023】
また、カバー部材21R,21Lのそれぞれの外面部には、前記シート3に着座した乗員の右足を載せるステップ25Rと左足を載せるステップ25Lとが各々、右向き、左向きに張り出すように突設されている。なお、これらステップ25L,25Rも乗員の搭乗部である。更に、カバー部材21R,21Lのそれぞれの外面部には、ステップ25Rに乗せられた乗員の右足を固定するトゥグリップ26Rとステップ25Lに乗せられた乗員の左足を固定するトゥグリップ26Lとが各々、右向き、左向きに張り出すように突設されている。
【0024】
これらトゥグリップ26R,26Lは、ステップ25R,25Lに乗せられた乗員の右足,左足をそれぞれ甲の位置で固定すべく、前後方向におけるステップ25R,25Lの中央部よりも僅かに前方の位置の上方に設けられている。即ち、本実施形態においては、トゥグリップ26R,26Lは、ステップ25R,25Lの前後方向中央よりも前方側にオフセットした位置に配置されている。このトゥグリップ26R,26Lを設けることで、走行時やジャンプ時におけるステップ25R,25Lの踏み外しが防止される。
【0025】
移動動作部5及びアクチュエータ装置7は、下部フレーム11のカバー部材21R,21Lの間に配置されている。これらの移動動作部5及びアクチュエータ装置7の構造を図3〜図6を参照して説明する。
なお、本実施形態で例示する移動動作部5及びアクチュエータ装置7は、例えば前記特許文献2の図1に開示されているものと同じ構造のものである。従って、本実施形態の説明においては、移動動作部5及びアクチュエータ装置7の構成に関して、前記特許文献2に記載された事項については、簡略的な説明に留める。
【0026】
本実施形態では、移動動作部5は、ゴム状弾性材により円環状に形成された車輪体であり、ほぼ円形の横断面形状を有する。この移動動作部5(以降、車輪体5という)は、その弾性変形によって、図5及び図6の矢印Y1で示す如く、円形の横断面の中心C1(より詳しくは、円形の横断面中心C1を通って、車輪体5の軸心と同心となる円周線)の周りに回転可能となっている。
【0027】
この車輪体5は、その軸心C2(車輪体5全体の直径方向に直交する軸心C2)を左右方向に向けた状態で、カバー部材21R,21Lの間に配置され、該車輪体5の外周面の下端部にて走行面に接地する。
そして、車輪体5は、アクチュエータ装置7による駆動(詳細は後述する)によって、図5の矢印Y2で示す如く車輪体5の軸心C2の周りに回転する動作(走行面上を輪転する動作)と、車輪体5の横断面中心C1の周りに回転する動作とを行なうことが可能である。その結果、車輪体5は、それらの回転動作の複合動作によって、走行面上を全方向に移動することが可能となっている。
【0028】
アクチュエータ装置7は、車輪体5と右側のカバー部材21Rとの間に介装される回転部材27R及びフリーローラ29Rと、車輪体5と左側のカバー部材17Lとの間に介装される回転部材27L及びフリーローラ29Lと、回転部材27R及びフリーローラ29Rの上方に配置されたアクチュエータとしての電動モータ31Rと、回転部材27L及びフリーローラ29Lの上方に配置されたアクチュエータとしての電動モータ31Lとを備える。
電動モータ31R,31Lは、それぞれのハウジングがカバー部材21R,21Lに各々取付けられている。なお、図示は省略するが、電動モータ31R,31Lの電源(蓄電器)は、支柱フレーム12a等、基体9の適所に搭載されている。
【0029】
回転部材27Rは、左右方向の軸心を有する支軸33Rを介してカバー部材21Rに回転可能に支持されている。同様に、回転部材27Lは、左右方向の軸心を有する支軸33Lを介してカバー部材21Lに回転可能に支持されている。この場合、回転部材27Rの回転軸心(支軸33Rの軸心)と、回転部材27Lの回転軸心(支軸33Lの軸心)とは同軸心である。
【0030】
回転部材27R,27Lは、それぞれ電動モータ31R,31Lの出力軸に、減速機としての機能を含む動力伝達機構を介して接続されており、電動モータ31R,31Lからそれぞれ伝達される動力(トルク)によって回転駆動される。各動力伝達機構は、例えばプーリ・ベルト式のものである。すなわち、図3に示す如く、回転部材27Rは、プーリ35Rとベルト37Rとを介して電動モータ31Rの出力軸に接続されている。同様に、回転部材27Lは、プーリ35Lとベルト37Lとを介して電動モータ31Lの出力軸に接続されている。
【0031】
なお、上記動力伝達機構は、例えば、スプロケットとリンクチェーンとにより構成されるもの、あるいは、複数のギヤにより構成されるものであってもよい。また、例えば、電動モータ31R,31Lを、それぞれの出力軸が各回転部材27R,27Lと同軸心になるように各回転部材27R,27Lに対向させて配置し、電動モータ31R,31Lのそれぞれの出力軸を回転部材27R,27Lに各々、減速機(遊星歯車装置等)を介して連結するようにしてもよい。
【0032】
各回転部材27R,27Lは、車輪体5側に向かって縮径する円錐台と同様の形状に形成されており、その外周面がテーパ外周面39R,39Lとなっている。
回転部材27Rのテーパ外周面39Rの周囲には、回転部材27Rと同心の円周上に等間隔で並ぶようにして、複数のフリーローラ29Rが配列されている。そして、これらのフリーローラ29Rは、それぞれ、ブラケット41Rを介してテーパ外周面39Rに取付けられ、該ブラケット41Rに回転自在に支承されている。
【0033】
同様に、回転部材27Lのテーパ外周面39Lの周囲には、回転部材27Lと同心の円周上に等間隔で並ぶようにして、複数(フリーローラ29Rと同数)のフリーローラ29Lが配列されている。そして、これらのフリーローラ29Lは、それぞれ、ブラケット41Lを介してテーパ外周面39Lに取付けられ、該ブラケット41Lに回転自在に支承されている。
【0034】
前記車輪体5は、回転部材27R側のフリーローラ29Rと、回転部材27L側のフリーローラ29Lとの間に挟まれるようにして、回転部材27R,27Lと同軸心に配置されている。
この場合、図1及び図6に示すように、各フリーローラ29R,29Lは、その軸心C3が車輪体5の軸心C2に対して傾斜すると共に、車輪体5の直径方向(車輪体5をその軸心C2の方向で見たときに、該軸心C2と各フリーローラ29R,29Lとを結ぶ径方向)に対して傾斜する姿勢で配置されている。そして、このような姿勢で、各フリーローラ29R,29Lのそれぞれの外周面が車輪体5の内周面に斜め方向に圧接されている。
【0035】
より一般的に言えば、右側のフリーローラ29Rは、回転部材27Rが軸心C2の周りに回転駆動されたときに、車輪体5との接触面で、軸心C2周りの方向の摩擦力成分(車輪体5の内周の接線方向の摩擦力成分)と、車輪体5の前記横断面中心C1の周り方向の摩擦力成分(円形の横断面の接線方向の摩擦力成分)とを車輪体5に作用させ得るような姿勢で、車輪体5の内周面に圧接されている。左側のフリーローラ29Lについても同様である。
【0036】
この場合、前記したように、カバー部材21R,21Lは、図示しないバネによって、カバー部材21R,21Lの下端部側(二股の先端側)が狭まる方向に付勢されている。このため、この付勢力によって、右側のフリーローラ29Rと左側のフリーローラ29Lとの間に車輪体5が挟持されると共に、車輪体5に対する各フリーローラ29R,29Lの圧接状態(より詳しくはフリーローラ29R,29Lと車輪体5との間で摩擦力が作用し得る圧接状態)が維持される。
【0037】
以上説明した構造を有する車両1においては、電動モータ31R,31Lによりそれぞれ、回転部材27R,27Lを同方向に等速度で回転駆動した場合には、車輪体5が回転部材27R,27Lと同方向に軸心C2の周りに回転することとなる。これにより、車輪体5が走行面上を前後方向に輪転して、車両1の全体が前後方向に移動することとなる。なお、この場合は、車輪体5は、その横断面中心C1の周りには回転しない。
【0038】
また、例えば、回転部材27R,27Lを互いに逆方向に同じ大きさの速度で回転駆動した場合には、車輪体5は、その横断面中心C1の周りに回転することとなる。これにより、車輪体5がその軸心C2の方向(すなわち左右方向)に移動し、ひいては、車両1の全体が左右方向に移動することとなる。なお、この場合は、車輪体5は、その軸心C2の周りには回転しない。
【0039】
さらに、回転部材27R,27Lを、互いに異なる速度(方向を含めた速度)で、同方向又は逆方向に回転駆動した場合には、車輪体5は、その軸心C2の周りに回転すると同時に、その横断面中心C1の周りに回転することとなる。
この時、これらの回転動作の複合動作(合成動作)によって、前後方向及び左右方向に対して傾斜した方向に車輪体5が移動し、ひいては、車両1の全体が車輪体5と同方向に移動することとなる。この場合の車輪体5の移動方向は、回転部材27R,27Lの回転方向を含めた回転速度(回転方向に応じて極性が定義された回転速度ベクトル)の差に依存して変化するものとなる。
以上のように車輪体5の移動動作が行なわれるので、電動モータ31R,31Lのそれぞれの回転速度(回転方向を含む)を制御し、ひいては回転部材27R,27Lの回転速度を制御することによって、車両1の移動速度及び移動方向を制御できることとなる。
【0040】
次に、本実施形態の車両1の動作制御のための構成を説明する。なお、以降の説明では、図1及び図2に示すように、前後方向の水平軸をX軸、左右方向の水平軸をY軸、鉛直方向をZ軸とするXYZ座標系を想定し、前後方向、左右方向をそれぞれX軸方向、Y軸方向と言うことがある。
【0041】
まず、車両1の概略的な動作制御を説明すると、本実施形態では、基本的には、シート3に着座した乗員がその上体を傾けた場合(詳しくは、乗員と車両1とを合わせた全体の重心点の位置(水平面に投影した位置)を動かすように上体を傾けた場合)に、該上体を傾けた側に基体9がシート3と共に傾動する。そして、この時、基体9が傾いた側に車両1が移動するように、車輪体5の移動動作が制御される。例えば、乗員が上体を前傾させ、ひいては、基体9をシート3と共に前傾させると、車両1が前方に移動するように、車輪体5の移動動作が制御される。
【0042】
すなわち、本実施形態では、乗員が上体を動かし、ひいては、シート3と共に基体9を傾動させるという動作が、車両1に対する1つの基本的な操縦操作(車両1の動作要求)とされ、その操縦操作に応じて車輪体5の移動動作がアクチュエータ装置7を介して制御される。
【0043】
ここで、本実施形態の車両1は、その全体の接地面としての車輪体5の接地面が、車両1とこれに搭乗する乗員との全体を走行面に投影した領域に比して面積が小さい単一の局所領域となり、その単一の局所領域だけに床反力が作用する。このため、基体9が傾倒しないようにするためには、乗員及び車両1の全体の重心点が車輪体5の接地面のほぼ真上に位置するように、車輪体5を動かす必要がある。
【0044】
そこで、本実施形態では、乗員及び車両1の全体の重心点が、車輪体5の中心点(軸心C2上の中心点)のほぼ真上に位置する状態(より正確には当該重心点が車輪体5の接地面のほぼ真上に位置する状態)での基体9の姿勢を目標姿勢とし、基本的には、基体9の実際の姿勢を目標姿勢に収束させるように、車輪体5の移動動作が制御される。
【0045】
また、車両1を発進させる場合等において、アクチュエータ装置7による推進力とは別に、例えば乗員が必要に応じて自身の足により床を蹴り、それにより車両1の移動速度を増速させる推進力(乗員の足平と床との摩擦力による推進力)を、付加的な外力として車両1に作用させた場合には、それに応じて車両1の移動速度(より正確には、乗員及び車両の全体の重心点の移動速度)が増速するように、車輪体5の移動動作が制御される。なお、当該推進力の付加が停止された状態では、車両1の移動速度が一旦、一定速度に保持された後、減衰して、該車両1が停止するように、車輪体5の移動動作が制御される(車輪体5の制動制御が行なわれる)。
【0046】
さらに、車両1に乗員が搭乗していない状態では、車両1の単体の重心点が、車輪体5の中心点(軸心C2上の中心点)のほぼ真上に位置する状態(より正確には当該重心点が車輪体5の接地面のほぼ真上に位置する状態)での基体9の姿勢を目標姿勢とし、該基体9の実際の姿勢を目標姿勢に収束させ、ひいては、基体9が傾倒することなく車両1が自立するように、車輪体5の移動動作が制御される。
【0047】
またさらに、車両1をジャンプさせる指示がなされた場合には、その指示に基づいてジャンプ時の軌道計画を生成し、軌道計画に従って車両1がジャンプするように車両1の射出角及び射出速度が制御される。車両1の射出角の制御はアクチュエータ装置7の推進力を発生させて基体9の姿勢を制御することによって行われ、車両1の射出速度の制御は直動アクチュエータ13の伸縮量を調整することにより行われる。
【0048】
なお、車両1をジャンプさせる指示(ジャンプ指示:指令値)は、例えば乗員が制御ユニット50に接続されたジョイスティック等の操作コントローラ(図示省略)を操作することによって行われる。具体的には、乗員が操作コントローラを操作して、ジャンプ方向と車両1の飛距離又はジャンプ高さとを指示した後にジャンプボタンを押下すると、そのジャンプ指示内容に従った車両1の射出角及び射出速度の制御が行われ、かかる制御により車両1がジャンプする。なお、ここにいう「飛距離」とは車輪体5が走行面から離れた離床地点から走行面に着地する着床地点までの距離をいう。
【0049】
本実施形態では、以上の如き車両1の動作制御を行なうために、図1及び図2に示すように、マイクロコンピュータや電動モータ31R,31Lのドライブ回路ユニットなどを含む電子回路ユニットにより構成された制御ユニット50と、基体9の所定の部位の鉛直方向(重力方向)に対する傾斜角θb及びその変化速度(=dθb/dt)を計測するための傾斜センサ52と、車両1に乗員が搭乗しているか否かを検知するための荷重センサ54と、電動モータ31R,31Lのそれぞれの出力軸の回転角度及び回転角速度を検出するための角度センサとしてのロータリーエンコーダ56R,56Lと、直動アクチュエータ13の伸縮量(ストローク量)の検出結果を参照しつつその伸縮量を制御する制御ユニット10がそれぞれ、車両1の適所に搭載されている。
【0050】
この場合、制御ユニット50及び傾斜センサ52は、例えば、基体9の支柱フレーム12aの内部に収容された状態で該支柱フレーム12aに取付けられている。また、荷重センサ54は、シート3に内蔵されている。また、ロータリーエンコーダ56R,56Lは、それぞれ、電動モータ31R,31Lと一体に設けられている。なお、ロータリーエンコーダ56R,56Lは、それぞれ、回転部材27R,27Lに装着してもよい。なお、制御ユニット10は、直動アクチュエータ13の上部に取付けられている。
【0051】
上記傾斜センサ52は、より詳しくは、加速度センサとジャイロセンサ等のレートセンサ(角速度センサ)とから構成され、これらのセンサの検出信号を制御ユニット50に出力する。そして、制御ユニット50が、傾斜センサ52の加速度センサ及びレートセンサの出力を基に、所定の計測演算処理(これは公知の演算処理でよい)を実行することによって、傾斜センサ52を搭載した部位(本実施形態では支柱フレーム12a)の、鉛直方向に対する傾斜角度θbの計測値とその変化速度(微分値)である傾斜角速度θbdotの計測値とを算出する。
【0052】
この場合、計測する傾斜角度θb(以降、基体傾斜角度θbということがある)は、より詳しくは、それぞれ、Y軸周り方向(ピッチ方向)の成分θb_xと、X軸周り方向(ロール方向)の成分θb_yとから成る。同様に、計測する傾斜角速度θbdot(以降、基体傾斜角速度θbdotということがある)も、Y軸周り方向(ピッチ方向)の成分θbdot_x(=dθb_x/dt)と、X軸周り方向(ロール方向)の成分θbdot_y(=dθb_y/dt)とから成る。
【0053】
なお、本実施形態の説明では、上記基体傾斜角度θbなど、X軸及びY軸の各方向(又は各軸周り方向)の成分を有する運動状態量等の変数、あるいは、該運動状態量に関連する係数等の変数に関しては、その各成分を区別して表記する場合に、該変数の参照符号に、添え字"_x"又は"_y"を付加する。
この場合において、並進速度等の並進運動に係わる変数については、そのX軸方向の成分に添え字"_x"を付加し、Y軸方向の成分に添え字"_y"を付加する。
【0054】
一方、角度、回転速度(角速度)、角加速度など、回転運動に係わる変数については、並進運動に係わる変数と添え字を揃えるために、便宜上、Y軸周り方向の成分に添え字"_x"を付加し、X軸周り方向の成分に添え字"_y"を付加する。
さらに、X軸方向の成分(又はY軸周り方向の成分)と、Y軸方向の成分(又はX軸周り方向の成分)との組として変数を表記する場合には、該変数の参照符号に添え字"_xy"を付加する。例えば、上記基体傾斜角度θbを、Y軸周り方向の成分θb_xとX軸周り方向の成分θb_yの組として表現する場合には、「基体傾斜角度θb_xy」というように表記する。
【0055】
前記荷重センサ54は、乗員がシート3に着座した場合に該乗員の重量による荷重を受けるようにシート3に内蔵され、その荷重に応じた検出信号を制御ユニット50に出力する。そして、制御ユニット50が、この荷重センサ54の出力により示される荷重の計測値に基づいて、車両1に乗員が搭乗しているか否かを判断する。
なお、荷重センサ54の代わりに、例えば、乗員がシート3に着座したときにONとなるようなスイッチ式のセンサを用いてもよい。
【0056】
ロータリーエンコーダ56Rは、電動モータ31Rの出力軸が所定角度回転する毎にパルス信号を発生し、このパルス信号を制御ユニット50に出力する。そして、制御ユニット50が、そのパルス信号を基に、電動モータ53Rの出力軸の回転角度を計測し、さらにその回転角度の計測値の時間的変化率(微分値)を電動モータ53Rの回転角速度として計測する。電動モータ31L側のロータリーエンコーダ56Lについても同様である。
【0057】
制御ユニット50は、上記の各計測値を用いて所定の演算処理を実行することによって、電動モータ31R,31Lのそれぞれの回転角速度の目標値である速度指令を決定し、その速度指令に従って、電動モータ31R,31Lのそれぞれの回転角速度をフィードバック制御する。
なお、電動モータ31Rの出力軸の回転角速度と、回転部材27Rの回転角速度との間の関係は、該出力軸と回転部材27Rとの間の一定値の減速比に応じた比例関係になるので、本実施形態の説明では、便宜上、電動モータ31Rの回転角速度は、回転部材27Rの回転角速度を意味するものとする。同様に、電動モータ31Lの回転角速度は、回転部材27Lの回転角速度を意味するものとする。
【0058】
また、制御ユニット50は、車両1をジャンプさせる指示がなされた場合には、その指示に基づいてジャンプ時の軌道計画を生成し、軌道計画に従って車両1がジャンプするようにジャンプ時の車両1の姿勢を制御することによって車両1の射出角を制御する。加えて、制御ユニット50に対して指令信号を出力して直動アクチュエータ13の伸縮量を調整させることによって車両1の射出速度を制御する。制御ユニット10は、制御ユニット50からの指令信号に基づいて直動アクチュエータ13の伸縮量(ストローク量)の検出結果を参照しつつ、直動アクチュエータ13の伸縮量を制御する。
【0059】
以下に、車両1の制御系(制御ユニット10及び制御ユニット50)で行われる制御処理をさらに詳細に説明する。車両1の制御系は、所定の制御処理周期で図7〜9のフローチャートに示す処理を実行する。なお、車両1の運転モードは走行面上を走行する際の運転モードである「走行モード」と、ジャンプ時の運転ードである「ジャンプ動作モード」とに大別され、車両1の制御系では各々の運転モードに適した制御が行われる。以下、「走行モード」で行われる制御及び「ジャンプ動作モード」で行われる制御について順に説明する。
【0060】
[走行モード]
まず、ステップS1において、制御ユニット50は、傾斜センサ52の出力を取得する。
次いで、ステップS2に進んで、制御ユニット50は、取得した傾斜センサ52の出力を基に、基体傾斜角度θbの計測値θb_xy_sと、基体傾斜角速度θbdotの計測値θbdot_xy_sとを算出する。
なお、以降の説明では、上記計測値θb_xy_sなど、変数(状態量)の実際の値の観測値(計測値又は推定値)を参照符号により表記する場合に、該変数の参照符号に、添え字"_s"を付加する。
【0061】
次いで、制御ユニット50は、ステップS3において、荷重センサ54の出力を取得した後、ステップS4の判断処理を実行する。この判断処理では、現在の運転モードが走行モードであるか、又はジャンプ動作モードであるかを判断する。ここでは、運転モードが走行モードである場合を考えているため、ステップS5の判断処理を実行する。この判断処理では、操作コントローラに設けられたジャンプボタンが押下されて、ジャンプ指示がなされたか否かを判断する。
【0062】
ステップS5の判断結果が「NO」である場合には、制御ユニット50は、ステップS6において、運転モードを走行モードに設定した後、ステップS7の判断処理を実行する。この判断処理においては、制御ユニット50は、取得した荷重センサ54の出力が示す荷重計測値があらかじめ設定された所定値よりも大きいか否かによって、車両1に乗員が搭乗しているか否か(シート3に乗員が着座しているか否か)を判断する。
そして、制御ユニット50は、ステップS7の判断結果が肯定的である場合(判断結果が「YES」の場合)には、基体傾斜角度θbの目標値θb_xy_objを設定する処理と、車両1の動作制御用の定数パラメータ(各種ゲインの基本値など)の値を設定する処理とを、それぞれステップS8、9で実行する。
【0063】
ステップS8においては、制御ユニット50は、基体傾斜角度θbの目標値θb_xy_objとして、あらかじめ定められた搭乗モード用の目標値を設定する。
ここで、「搭乗モード」は、車両1に乗員が搭乗している場合での車両1の動作モードを意味する。この搭乗モード用の目標値θb_xy_objは、車両1とシート3に着座した乗員との全体の重心点(以降、車両・乗員全体重心点という)が車輪体5の接地面のほぼ真上に位置する状態となる基体9の姿勢において、傾斜センサ52の出力に基づき計測される基体傾斜角度θbの計測値θb_xy_sに一致又はほぼ一致するようにあらかじめ設定されている。
また、ステップS9においては、制御ユニット50は、車両1の動作制御用の定数パラメータの値として、あらかじめ定められた搭乗モード用の値を設定する。なお、定数パラメータは、後述するKi_a_x,Ki_b_x,Ki_a_y,Ki_b_y(i=1,2,3)等である。
【0064】
一方、ステップS7の判断結果が否定的である場合(判断結果が「NO」である場合)には、制御ユニット50は、基体傾斜角度θb_xyの目標値θb_xy_objを設定する処理と、車両1の動作制御用の定数パラメータの値を設定する処理とを、ステップS10、11で実行する。
ステップS10においては、制御ユニット50は、傾斜角度θbの目標値θb_xy_objとして、あらかじめ定められた自立モード用の目標値を設定する。
ここで、「自立モード」は、車両1に乗員が搭乗していない場合での車両1の動作モードを意味する。この自立モード用の目標値θb_xy_objは、車両1単体の重心点(以降、車両単体重心点という)が車輪体5の接地面のほぼ真上に位置する状態となる基体9の姿勢において、傾斜センサ52の出力に基づき計測される基体傾斜角度θbの計測値θb_xy_sに一致又はほぼ一致するようにあらかじめ設定されている。この自立モード用の目標値θb_xy_objは、搭乗モード用の目標値θb_xy_objと一般的には異なる。
【0065】
また、ステップS11においては、制御ユニット50は、車両1の動作制御用の定数パラメータの値として、あらかじめ定められた自立モード用の値を設定する。この自立モード用の定数パラメータの値は、搭乗モード用の定数パラメータの値と異なる。
搭乗モードと自立モードとで、上記定数パラメータの値を異ならせるのは、それぞれのモードで上記重心点の高さや、全体質量等が異なることに起因して、制御入力に対する車両1の動作の応答特性が互いに異なるからである。
【0066】
以上のステップS7〜11の処理によって、搭乗モード及び自立モードの動作モード毎に個別に、基体傾斜角度θb_xyの目標値θb_xy_objと定数パラメータの値とが設定される。
なお、ステップS8,9の処理、又はステップS10,11の処理は、制御処理周期毎に実行することは必須ではなく、ステップS7の判断結果が変化した場合にだけ実行するようにしてもよい。
補足すると、搭乗モード及び自立モードのいずれにおいても、基体傾斜角速度θbdotのY軸周り方向の成分θbdot_xの目標値とX軸周り方向の成分θbdot_yの目標値とは、いずれも"0"である。このため、基体傾斜角速度θbdot_xyの目標値を設定する処理は不要である。
【0067】
以上の如くステップS8,9の処理、又はステップS10,11の処理を実行した後、制御ユニット50は、次にステップS12において、車両制御演算処理を実行することによって、電動モータ31R,31Lのそれぞれの速度指令を決定する。この車両制御演算処理の詳細は後述する。
【0068】
次いで、ステップS13に進んで、制御ユニット50は、ステップS12で決定した速度指令に応じて電動モータ31R,31Lの動作制御処理を実行する。この動作制御処理では、制御ユニット50は、ステップS12で決定した電動モータ31Rの速度指令と、ロータリーエンコーダ56Rの出力に基づき計測した電動モータ31Rの回転速度の計測値との偏差に応じて、該偏差を"0"に収束させるように電動モータ31Rの出力トルクの目標値(目標トルク)を決定する。そして、制御ユニット50は、その目標トルクの出力トルクを電動モータ31Rに出力させるように該電動モータ31Rの通電電流を制御する。左側の電動モータ31Lの動作制御についても同様である。
【0069】
なお、詳細は後述するが、運転モードがジャンプ動作モードに設定されている場合には、ステップS13において、直動アクチュエータ13の伸縮量の制御も実行される。しかしながら、運転モードが走行モードに設定されている場合には、直動アクチュエータ13の伸縮量の制御は実行されず、電動モータ31R,31Lの動作制御処理のみが実行される。
以上が、制御ユニット50が実行する全体的な制御処理である。
【0070】
次に、上記ステップS12の車両制御演算処理の詳細を説明する。
なお、以降の説明においては、前記搭乗モードにおける車両・乗員全体重心点と、前記自立モードにおける車両単体重心点とを総称的に、車両系重心点という。該車両系重心点は、車両1の動作モードが搭乗モードである場合には、車両・乗員全体重心点を意味し、自立モードである場合には、車両単体重心点を意味する。
【0071】
また、以降の説明では、制御ユニット50が各制御処理周期で決定する値(更新する値)に関し、現在の(最新の)制御処理周期で決定する値を今回値、その1つ前の制御処理周期で決定した値を前回値ということがある。そして、今回値、前回値を特にことわらない値は、今回値を意味する。
また、X軸方向の速度及び加速度に関しては、前方向きを正の向きとし、Y軸方向の速度及び加速度に関しては、左向きを正の向きとする。
【0072】
本実施形態では、前記車両系重心点の動力学的な挙動(詳しくは、Y軸方向からこれに直交する面(XZ平面)に投影して見た挙動と、X軸方向からこれに直交する面(YZ平面)に投影して見た挙動)が、近似的に、図10に示すような、倒立振子モデルの挙動(倒立振子の動力学的挙動)によって表現されるものとして、ステップS12の車両制御演算処理が行なわれる。
なお、図10において、括弧を付していない参照符号は、Y軸方向から見た倒立振子モデルに対応する参照符号であり、括弧付きの参照符号は、X軸方向から見た倒立振子モデルに対応する参照符号である。
【0073】
この場合、Y軸方向から見た挙動を表現する倒立振子モデルは、車両系重心点に位置する質点60_xと、Y軸方向に平行な回転軸62a_xを有して走行面上を輪転自在な仮想的な車輪62_x(以降、仮想車輪62_xという)とを備える。そして、質点60_xが、仮想車輪62_xの回転軸62a_xに直線状のロッド64_xを介して支持され、該回転軸62a_xを支点として該回転軸62a_xの周りに揺動自在とされている。
【0074】
この倒立振子モデルでは、質点60_xの運動が、Y軸方向から見た車両系重心点の運動に相当する。また、鉛直方向に対するロッド64_xの傾斜角度θbe_xがY軸周り方向での基体傾斜角度計測値θb_x_sと基体傾斜角度目標値θb_x_objとの偏差θbe_x_s(=θb_x_s−θb_x_obj)に一致するものとされる。また、ロッド64_xの傾斜角度θbe_xの変化速度(=dθbe_x/dt)がY軸周り方向の基体傾斜角速度計測値θbdot_x_sに一致するものとされる。また、仮想車輪62_xの移動速度Vw_x(X軸方向の並進移動速度)は、車両1の車輪体5のX軸方向の移動速度に一致するものとされる。
【0075】
同様に、X軸方向から見た挙動を表現する倒立振子モデル(図10の括弧付きの符号を参照)は、車両系重心点に位置する質点60_yと、X軸方向に平行な回転軸62a_yを有して走行面上を輪転自在な仮想的な車輪62_y(以降、仮想車輪62_yという)とを備える。そして、質点60_yが、仮想車輪62_yの回転軸62a_yに直線状のロッド64_yを介して支持され、該回転軸62a_yを支点として該回転軸62a_yの周りに揺動自在とされている。
【0076】
この倒立振子モデルでは、質点60_yの運動が、X軸方向から見た車両系重心点の運動に相当する。また、鉛直方向に対するロッド64_yの傾斜角度θbe_yがX軸周り方向での基体傾斜角度計測値θb_y_sと基体傾斜角度目標値θb_y_objとの偏差θbe_y_s(=θb_y_s−θb_y_obj)に一致するものとされる。また、ロッド64_yの傾斜角度θbe_yの変化速度(=dθbe_y/dt)がX軸周り方向の基体傾斜角速度計測値θbdot_y_sに一致するものとされる。また、仮想車輪62_yの移動速度Vw_y(Y軸方向の並進移動速度)は、車両1の車輪体5のY軸方向の移動速度に一致するものとされる。
なお、仮想車輪62_x,62_yは、それぞれ、あらかじめ定められた所定値Rw_x,Rw_yの半径を有するものとされる。
【0077】
また、仮想車輪62_x,62_yのそれぞれの回転角速度ωw_x,ωw_yと、電動モータ31R,31Lのそれぞれの回転角速度ω_R,ω_L(より正確には、回転部材27R,27Lのそれぞれの回転角速度ω_R,ω_L)との間には、次式01a,01bの関係が成立するものとされる。
ωw_x=C・(ω_R−ω_L)/2 ……式01a
ωw_y=(ω_R+ω_L)/2 ……式01b
なお、式01aにおける"C"は、前記フリーローラ29R,29Lと車輪体5との間の機構的な関係や滑りに依存する所定値の係数である。
【0078】
ここで、図10に示す倒立振子モデルの動力学は、次式03x,03yにより表現される。なお、式03xは、Y軸方向から見た倒立振子モデルの動力学を表現する式、式03yは、X軸方向から見た倒立振子モデルの動力学を表現する式である。
d2θbe_x/dt2=α_x・θbe_x+β_x・ωwdot_x ……式03x
d2θbe_y/dt2=α_y・θbe_y+β_y・ωwdot_y ……式03y
【0079】
式03xにおけるωwdot_xは仮想車輪62_xの回転角加速度(回転角速度ωw_xの1階微分値)、α_xは、質点60_xの質量や高さh_xに依存する係数、β_xは、仮想車輪62_xのイナーシャ(慣性モーメント)や半径Rw_xに依存する係数である。式03yにおけるωwdot_y、α_y、β_yについても上記と同様である。
これらの式03x,03yから判るように、倒立振子の質点60_x,60_yの運動(ひいては車両系重心点の運動)は、それぞれ、仮想車輪62_xの回転角加速度ωwdot_x、仮想車輪62_yの回転角加速度ωwdot_yに依存して規定される。
【0080】
そこで、本実施形態では、Y軸方向から見た車両系重心点の運動を制御するための操作量(制御入力)として、仮想車輪62_xの回転角加速度ωwdot_xを用いると共に、X軸方向から見た車両系重心点の運動を制御するための操作量(制御入力)として、仮想車輪62_yの回転角加速度ωwdot_yを用いる。
【0081】
そして、ステップS12の車両制御演算処理を概略的に説明すると、制御ユニット50は、X軸方向で見た質点60_xの運動と、Y軸方向で見た質点60_yの運動とが、車両系重心点の所望の運動に対応する運動となるように、操作量としての上記回転角加速度ωwdot_x,ωwdot_yの指令値(目標値)である仮想車輪回転角加速度指令ωwdot_x_cmd,ωwdot_y_cmdを決定する。さらに、制御ユニット50は、仮想車輪回転角加速度指令ωwdot_x_cmd,ωwdot_y_cmdをそれぞれ積分してなる値を、仮想車輪62_x,62_yのそれぞれの回転角速度ωw_x,ωw_yの指令値(目標値)である仮想車輪回転角速度指令ωw_x_cmd,ωw_y_cmdとして決定する。
【0082】
そして、制御ユニット50は、仮想車輪回転角速度指令ωw_x_cmdに対応する仮想車輪62_xの移動速度(=Rw_x・ωw_x_cmd)と、仮想車輪回転角速度指令ωw_y_cmdに対応する仮想車輪62_yの移動速度(=Rw_y・ωw_y_cmd)とを、それぞれ、車両1の車輪体5のX軸方向の目標移動速度、Y軸方向の目標移動速度とし、それらの目標移動速度を実現するように、電動モータ31R,31Lのそれぞれの速度指令ω_R_cmd,ωL_cmdを決定する。
【0083】
[ジャンプ動作モード]
車両1の運転モードが走行モードに設定されて以上説明した制御が行われている最中に、操作コントローラに設けられたジャンプボタンが押下されて、ジャンプ指示がなされると運動モードがジャンプ動作モードに移行する。つまり、ジャンプ指示がなされると、ステップS5の判断結果が「YES」になり、制御ユニット50は、ステップS14において、運転モードをジャンプ動作モードに設定した後、ステップS15の軌道計画生成処理を実行する。
【0084】
軌道計画処理が実行されると、図8に示す通り、制御ユニット50は、ステップS21において、ジャンプすべきジャンプ高さを決定する。ここで、操作コントローラから入力されるジャンプ指示としては、以下の(1)〜(3)ものが挙げられる。操作コントローラから入力されるジャンプ指示を以下の(1)〜(3)の何れにするかは、車両1の用途、操作性(運転性)等を考慮して決定される。
(1)ジャンプ方向と飛距離とを含むジャンプ指示
(2)ジャンプ方向とジャンプ高さとを含むジャンプ指示
(3)ジャンプ方向、飛距離、及びジャンプ高さを含むジャンプ指示
【0085】
上記の(2),(3)に示すジャンプ指示のように、ジャンプ高さがジャンプ指示に含まれる場合には、制御ユニット50は、そのジャンプ高さをジャンプすべきジャンプ高さに決定する。これに対し、上記の(1)に示すジャンプ指示のように、ジャンプ高さがジャンプ指示に含まれない場合には、制御ユニット50は、予め設定されたジャンプ高さをジャンプすべきジャンプ高さに決定する。
【0086】
次に、制御ユニット50は、ステップS22において、ジャンプ時の着地位置を決定する。ここで、ジャンプ時の着地位置は、ジャンプ方向と飛距離とによって求められる。このため、上記の(1),(3)に示すジャンプ指示のようにジャンプ方向と飛距離とが含まれる場合には、これらを用いた所定の演算を行って着地位置を決定する。これに対し、上記の(2)に示すジャンプ指示のように飛距離が含まれない場合には、まずジャンプ高さから滞空時間を算出して飛距離を算出し、次にジャンプ指示に含まれるジャンプ方向と算出した飛距離とを用いた所定の演算を行って着地位置を決定する。
【0087】
以上の処理が終了すると、制御ユニット50は、ステップS23において、取得した荷重センサ54の出力(ステップS3で取得)が示す荷重計測値があらかじめ設定された所定値よりも大きいか否かによって、車両1に乗員が搭乗しているか否か(シート3に乗員が着座しているか否か)を判断する。
そして、制御ユニット50は、ステップS23の判断結果が肯定的である場合(判断結果が「YES」の場合)には、ステップS24において、搭乗モード用の軌道計画を作成する。一方、ステップS23の判断結果が否定的である場合(判断結果が「NO」である場合)には、制御ユニット50は、ステップS25において、自立モード用の軌道計画を作成する。
【0088】
ここで、ステップS24,S25における軌道計画の作成方法は基本的に同じであり、ステップS21で決定されたジャンプ高さと、ステップS22で決定された着地位置とに基づいて軌道計画が作成される。ただし、ステップS24では車両重心点を車両・乗員全体重心点に設定して軌道計画(搭乗モード用の軌道計画)が作成され、ステップS25では車両重心点を車両単体重心点に設定して軌道計画(自立モード用の軌道計画)が作成される。なお、軌道計画に沿って車両1をジャンプさせるための射出角及び射出速度は、作成された軌道計画から自動的に求められる。
【0089】
例えば、図11に示す通り、飛距離がJLであって、ジャンプ高さがJHであり、ジャンプ後にジャンプした時と同じ高さの走行面に着地する軌道計画(図中の軌道L1。簡単に説明するため装置重心の軌道を一例として示している。)が作成された場合には、車両1のジャンプ時の射出角θ0及び射出速度v0はそれぞれ次式04a,04bにより求められる。なお、次式04b中の変数gは重力加速度である。
θ0=tan−1(4・JH/JL) ……式04a
v0=√(2・g・JH+(g・JL2/8・JH)) ……式04b
【0090】
以上の処理が終了すると、制御ユニット50は、ステップS26において、ジャンプ動作時における姿勢制御モードを「離床モード」に設定する。なお、姿勢制御モードには、ジャンプまでの車両1の姿勢を制御する「離床モード」、ジャンプによって空中に浮いている状態の車両1の姿勢を制御する「空中モード」、及び着地してからの車両1の姿勢を制御する「着地モード」がある。ステップS26で姿勢制御モードが「離床モード」に設定されると、一連の軌道計画処理が終了し、図7に示すステップS7〜S13の処理が行われる。
【0091】
以上の処理で軌道計画が生成されてから、次の制御処理周期が到来すると再び図7に示す処理が開始され、制御ユニット50によって、傾斜センサ52の出力を取得する処理(ステップS1)、基体傾斜角度θbの計測値θb_xy_sと基体傾斜角速度θbdotの計測値θbdot_xy_sとを算出する処理(ステップS2)、及び荷重センサ54の出力を取得する処理(ステップS3)が順次行われる。以上の処理が終了すると、制御ユニット50は、ステップS4において、現在の運転モードが走行モードであるか、又はジャンプ動作モードであるかを判断する。ここでは、先の制御処理周期におけるステップS14の処理で運転モードがジャンプ動作モードに設定されているため、制御ユニット50は、図9に示すステップS31の判断処理を実行する。
【0092】
ステップS31の判断処理では、現在の姿勢制御モードが離床モード、空中モード、及び着地モードの何れであるかを判断する。ここでは、先の制御処理周期におけるステップS26の処理(ステップS15のサブルーチン内で行われる処理)にて姿勢制御モードが離床モードに設定されているため、制御ユニット50は離床モードであると判断し、ステップS32において離床までのシーケンスの実行を開始する。
【0093】
図12は、ジャンプ指示が入力されてからジャンプが終了するまでの制御量の一例を示す図である。図12に示す通り、ジャンプ時には基体9の傾斜角と直動アクチュエータ13の伸縮量とが制御系によって制御される。なお、基体9の傾斜角は、図10を用いて説明した通り、車輪体5を駆動することによって制御される。また、図12においては、ジャンプ指示がなされた時刻をt0とし、車輪体5が走行面から離れる時刻をt1とし、車輪体5が走行面に着地する時刻をt2とし、ジャンプに係る制御系の制御が終了する時刻をt3としている。
【0094】
ステップS32では、ジャンプ指示がなされた時刻t0から車輪体5が走行面から離れる時刻t1までのジャンプ準備期間T1に、制御ユニット50が車輪体5を駆動して、基体9の傾斜角(車両1の射出角)を、先の制御処理周期のステップS15で作成された軌道計画に沿って車両1をジャンプさせるための射出角θ0にする制御量を決定する処理が行われる。これと並行して、制御ユニットの50の制御の下で制御ユニット10が直動アクチュエータ13を駆動して、直動アクチュエータ13の伸縮量を、上記の軌道計画に沿って車両1をジャンプさせるための射出速度v0が得られる伸縮量にする制御量を決定する処理が行われる。
【0095】
ステップS32の処理が終了すると、制御ユニット50は、ステップS33において、離床までに行われるシーケンスの全てが終了したか否かを判断する。この判断結果が「NO」である場合には、制御ユニット50は、図7に示すステップS7〜S13の制御を行って、ステップS32で決定した制御量に基づく制御を実行する。ここで、運転モードがジャンプ動作モードであって姿勢制御モードが離床モードである場合には、制御処理周期毎に、ステップS1〜S4,S31〜S33,S7〜S13の処理が繰り返し行われ、図12に示すジャンプ準備期間T1における離床までのシーケンスの残りが順次実行される。なお、図12では、ジャンプ準備期間T1に基体9の傾斜角及び直動アクチュエータ13の伸縮量を共に滑らかに変化させるシーケンスが行われる例を挙げているが、これらの変化のさせ方は任意である。
【0096】
以上の処理が繰り返し行われて、離床までに行われるシーケンスの最後の処理に至ると、制御ユニット50の制御の下で制御ユニット10が直動アクチュエータ13を一気に伸長させる。これにより、車両1がジャンプして車輪体5が走行面から離れる(時刻t1)。車両1のジャンプによって、離床までに行われるシーケンスの全てが終了する。すると、ステップS33の判断結果が「YES」になり、制御ユニット50は、ステップS34において、ジャンプ動作時における姿勢制御モードを「空中モード」に設定する。かかる処理が終了すると、制御ユニット50は、図7に示すステップS7〜S13の処理を行う。
【0097】
次の制御処理周期が到来すると、再び図7に示す処理が開始され、制御ユニット50がステップS1〜S4の処理を順次行った後に、ステップS31において現在の姿勢制御モードが離床モード、空中モード、及び着地モードの何れであるかを判断する。ここでは、先の制御処理周期におけるステップS34の処理にて姿勢制御モードが空中モードに設定されているため、制御ユニット50は空中モードであると判断し、ステップS35において空中シーケンスの実行を開始する。
【0098】
ステップS35では、車輪体5が走行面から離れる時刻t1から車輪体5が走行面に着地する時刻t2までのジャンプ期間T2に、制御ユニット50が車輪体5を駆動して回転させ、基体9の傾斜角をジャンプ時の傾斜角(車両1の射出角)とは逆にする制御量を決定する処理が行われる。例えば、図12に示す通り、回転速度が台形状に変化するように車輪体5を回転(車両1が前方に移動する方向に回転)させ、時刻t2までに基体9の傾斜角を、ジャンプ時の基体9の傾斜角θ0とは逆の−θ0にするための制御量を決定する処理が行われる。
【0099】
かかる処理は、ジャンプしている間に車両1の姿勢を着地に適した姿勢にすることで、より安定した姿勢で着地を迎えられるようにするためである。なお、図12では、車輪体5の回転速度を、ジャンプ期間T2のみ図示しており、ジャンプ準備期間T1及びジャンプ終了期間T3においては図示を省略している。車両1がジャンプしている状態では、車輪体5を回転させることによる反作用によって基体9の傾斜角が制御される。なお、姿勢制御モードが空中モードに設定されている場合には、直動アクチュエータ13の伸縮量の制御は必要はないが、必要に応じて制御を行っても良い。
【0100】
ステップS35の処理が終了すると、制御ユニット50は、ステップS36において、車輪体5が走行面に着地したか否かを判断する。この判断結果が「NO」である場合には、制御ユニット50は、図7に示すステップS7〜S13の制御を行って、ステップS35で決定した制御量に基づく制御を実行する。ここで、運転モードがジャンプ動作モードであって姿勢制御モードが空中モードである場合には、制御処理周期毎に、ステップS1〜S4,S31,S35,S36,S7〜S13の処理が繰り返し行われ、図12に示すジャンプ期間T2における空中シーケンスの残りが順次実行される。
【0101】
以上の処理が繰り返し行われて、基体9の傾斜角がジャンプ時の傾斜角とは逆にされた状態で車輪体5が走行面に着地すると(時刻t2)、空中シーケンスの全てが終了する。すると、ステップS36の判断結果が「YES」になり、制御ユニット50は、ステップS37においてジャンプ動作時における姿勢制御モードを「着地モード」に設定し、ステップS38において着地モード時に行われる着地シーケンス(詳細は後述する)で用いられるカウンタを初期化する。なお。このカウンタは、着地シーケンスの実行に要する時間を制限するためのカウンタであり、上記の初期化によって着地シーケンスが実行される制御処理周期の周期数が設定される。かかる処理が終了すると、制御ユニット50は、図7に示すステップS7〜S13の処理を行う。
【0102】
次の制御処理周期が到来すると、再び図7に示す処理が開始され、制御ユニット50がステップS1〜S4の処理を順次行った後に、ステップS31において現在の姿勢制御モードが離床モード、空中モード、及び着地モードの何れであるかを判断する。ここでは、先の制御処理周期におけるステップS37の処理にて姿勢制御モードが着地モードに設定されているため、制御ユニット50は着地モードであると判断し、ステップS39において着地シーケンスの実行を開始する。
【0103】
ステップS39では、車輪体5が走行面に着地した時刻t2からジャンプに係る制御系の制御が終了する時刻t3までのジャンプ終了期間T3に、制御ユニット50が車輪体5を駆動して車両1の姿勢を早期に安定させて、図10を用いて説明した通常の倒立振子モデルの制御に速やかに移行させるための制御量を決定する処理が行われる。なお、姿勢制御モードが空中モードに設定されている場合と同様に、直動アクチュエータ13の伸縮量の制御は必要はないが、例えば車輪体5が走行面に着地したときに生ずる衝撃や振動を早急に抑える必要がある場合など必要に応じて直動アクチュエータ13の伸縮量を制御しても良い。
【0104】
ステップS39の処理が終了すると、制御ユニット50は、ステップS40においてカウンタのカウント値をデクリメントする処理を行い、ステップS41においてカウンタのカウント値が零であるか否か、つまり着地シーケンスが終了したか否かを判断する。この判断結果が「NO」である場合には、制御ユニット50は、図7に示すステップS7〜S13の制御を行って、ステップS39で決定した制御量に基づく制御を実行する。ここで、運転モードがジャンプ動作モードであって姿勢制御モードが着地モードである場合には、制御処理周期毎に、ステップS1〜S4,S31,S39〜S41の処理が繰り返し行われ、図12に示すジャンプ終了期間T3における着地シーケンスの残りが順次実行される。
【0105】
以上の処理が繰り返し行われて、カウンタのカウント値が零になると(時刻t3)、着地シーケンスの全てが終了する。すると、ステップS41の判断結果が「YES」になり、制御ユニット50は、ステップS42において運転モードを走行モードに設定する。かかる設定がなされると、次の制御処理周期におけるステップS4の判断の後にステップS5の判断が行われるようになり、運転モードが前述した走行モードに移行する。
【0106】
次に、以上説明した動作制御を行う制御系について説明する。図13は、車両1の動作制御を行う制御系の構成を示すブロック図である。図13に示す通り、制御系は、2つの制御ユニット10,50からなる。制御ユニット10は、前述した通り、制御ユニット50から出力される指令信号(車両1の射出速度を示す指令信号)に基づいて、直動アクチュエータ13の伸縮量(ストローク量)の検出結果を参照しつつ直動アクチュエータ13の伸縮量を制御する。ここで、制御ユニット10には直動アクチュエータ13の伸縮量と車両1の射出速度との対応関係を示すマップが記憶されており、制御ユニット10は、このマップを用いて指令信号に応じた直動アクチュエータ13の伸縮量を求める。
【0107】
また、図13に示す通り、制御ユニット50は、上位コントローラMCと下位コントローラSCとを備えており、ジョイスティック等の操作コントローラが接続されている。上位コントローラMCは、図13に示す制御系を統括して制御するものであり、操作コントローラからジャンプ指示が入力された場合に、そのジャンプ指示に基づいてジャンプ時の軌道計画を生成する軌道計画生成部ACを備える。軌道計画生成部ACは、操作コントローラからのジャンプ指示に応じた軌道計画を生成する。なお、軌道計画の生成方法は、図11等を参照して説明したため、ここでは詳細な説明を省略する。上位コントローラMCは、軌道計画生成部ACによって軌道計画が生成された場合には、その軌道計画に従って車両1をジャンプさせる射出角及び射出速度を、重心速度算出72から出力される重心速度推定値Vb_xy_sを参照しつつ求める。
【0108】
下位コントローラSCは、傾斜算出部71、偏差演算部70、重心速度算出部72、要求重心速度生成部74、重心速度制限部76、ゲイン調整部78、姿勢制御演算部80、モータ指令演算部82、及び遅延要素84を備える。傾斜算出部71は、傾斜センサ52の加速度センサ及びレートセンサの出力を基に、所定の計測演算処理を実行することによって、傾斜センサ52を搭載した部位(本実施形態では支柱フレーム12a)の、鉛直方向に対する基体傾斜角度θbの計測値θb_xy_sと、基体傾斜角速度θbdotの計測値θbdot_xy_sとを算出する。偏差演算部70は、傾斜算出部71で算出された基体傾斜角度計測値θb_xy_sと、上位コントローラMCから出力される基体傾斜角度目標値θb_xy_objとの偏差である基体傾斜角度偏差計測値θbe_xy_sを算出する。
【0109】
重心速度算出部72は、傾斜算出部71で算出された基体傾斜角速度計測値θbdot_xy_sと、該遅延要素84から出力される仮想車輪回転角速度指令ωw_xy_cmdの前回値ωw_xy_cmd_pとから、前記車両系重心点の移動速度である重心速度Vb_xyの観測値としての重心速度推定値Vb_xy_sを算出する。要求重心速度生成部74は、重心速度算出部72で算出された重心速度推定値Vb_xy_sに基づいて、乗員等による車両1の操縦操作(車両1に推進力を付加する操作)によって要求されていると推定される上記重心速度Vb_xyの要求値としての要求重心速度V_xy_aimを生成する。
【0110】
重心速度制限部76は、重心速度算出部72で算出された重心速度推定値Vb_xy_sと、要求重心速度生成部74で生成された要求重心速度V_xy_aimとから、電動モータ31R,31Lの回転角速度の許容範囲に応じた制限を加味して、重心速度Vb_xyの目標値としての制御用目標重心速度Vb_xy_mdfdを決定する。ゲイン調整部78は、制御ゲインを調整するためのゲイン調整パラメータKr_xyを決定する。
【0111】
姿勢制御演算部80は、偏差演算部70で算出された基体傾斜角度偏差計測値θbe_xy_s、基体傾斜角速度計測値θbdot_xy_s、重心速度算出部72で算出された重心速度推定値Vb_xy_s、重心速度制限部76で決定された制御用目標重心速度Vb_xy_mdfd、及びゲイン調整部78で決定されたゲイン調整パラメータKr_xyに基づいて、前記仮想車輪回転角速度指令ωw_xy_cmdを算出する。モータ指令演算部82は、姿勢制御演算部80から出力される仮想車輪回転角速度指令ωw_xy_cmdを、右側の電動モータ31Rの速度指令ω_R_cmd(回転角速度の指令値)と左側の電動モータ31Lの速度指令ω_L_cmd(回転角速度の指令値)との組に変換する。遅延用度84は、各制御処理周期において、仮想車輪回転角速度指令ωw_xy_cmdの前回値ωw_xy_cmd_pを出力する。
【0112】
前述した走行モード時におけるステップS12(図7参照)の車両制御演算処理では、これらの上記の各処理部の処理が以下に説明するように実行される。
すなわち、制御ユニット50は、まず、傾斜算出部71の処理を実行する。この傾斜算出部71には、前記ステップS1で取得された傾斜センサ52からの出力が入力される。そして、傾斜センサ52の加速度センサ及びレートセンサの出力を基に、所定の計測演算処理を実行することによって、傾斜センサ52を搭載した部位の、鉛直方向に対する基体傾斜角度θbの計測値θb_xy_sと、基体傾斜角速度θbdotの計測値θbdot_xy_sとを算出する。
【0113】
次に、偏差演算部70の処理と重心速度算出部72の処理とを実行する。偏差演算部70には、前記ステップS2で算出された基体傾斜角度計測値θb_xy_s(θb_x_s及びθb_y_s)と、前記ステップS8又はステップS10で設定された目標値θb_xy_obj(θb_x_obj及びθb_y_obj)とが入力される。そして、偏差演算部70は、θb_x_sからθb_x_objを減算することによって、Y軸周り方向の基体傾斜角度偏差計測値θbe_x_s(=θb_x_s−θb_x_obj)を算出すると共に、θb_y_sからθb_y_objを減算することによって、X軸周り方向の基体傾斜角度偏差計測値θbe_y_s(=θb_y_s−θb_y_obj)を算出する。
なお、偏差演算部70の処理は、ステップS12の車両制御演算処理の前に行なうようにしてもよい。例えば、前記ステップS8又はステップS10の処理の中で、偏差演算部70の処理を実行してもよい。
【0114】
前記重心速度算出部72には、前記ステップS2で算出された基体傾斜角速度計測値θbdot_xy_s(θbdot_x_s及びθbdot_y_s)の今回値が入力されると共に、仮想車輪速度指令ωw_xy_cmdの前回値ωw_xy_cmd_p(ωw_x_cmd_p及びωw_y_cmd_p)が遅延要素84から入力される。そして、重心速度算出部72は、これらの入力値から、前記倒立振子モデルに基づく所定の演算式によって、重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)を算出する。
【0115】
具体的には、重心速度算出部72は、次式05x,05yにより、Vb_x_s及びVb_y_sをそれぞれ算出する。
Vb_x_s=Rw_x・ωw_x_cmd_p+h_x・θbdot_x_s ……05x
Vb_y_s=Rw_y・ωw_y_cmd_p+h_y・θbdot_y_s ……05y
【0116】
これらの式05x,05yにおいて、Rw_x,Rw_yは、前記したように、仮想車輪62_x,62_yのそれぞれの半径であり、これらの値は、あらかじめ設定された所定値である。また、h_x,h_yは、それぞれ倒立振子モデルの質点60_x,60_yの高さである。この場合、本実施形態では、車両系重心点の高さは、ほぼ一定に維持されるものとされる。そこで、h_x,h_yの値としては、それぞれ、あらかじめ設定された所定値が用いられる。補足すると、高さh_x,h_yは、前記ステップS9又はステップS11において値を設定する定数パラメータに含まれるものである。
【0117】
上記式05xの右辺の第1項は、仮想車輪62_xの速度指令の前回値ωw_x_cmd_pに対応する該仮想車輪62_xのX軸方向の移動速度であり、この移動速度は、車輪体5のX軸方向の実際の移動速度の現在値に相当するものである。また、式05xの右辺の第2項は、基体9がY軸周り方向にθbdot_x_sの傾斜角速度で傾動することに起因して生じる車両系重心点のX軸方向の移動速度(車輪体5に対する相対的な移動速度)の現在値に相当するものである。これらのことは、式05yについても同様である。
【0118】
なお、前記ロータリーエンコーダ56R,56Lの出力を基に計測される電動モータ31R,31Lのそれぞれの回転角速度の計測値(今回値)の組を、仮想車輪62_x,62_yのそれぞれの回転角速度の組に変換し、それらの回転角速度を、式05x、05yのωw_x_cmd_p、ωw_y_cmd_pの代わりに用いてもよい。ただし、回転角速度の計測値に含まれるノイズの影響を排除する上では、目標値であるωw_x_cmd_p、ωw_y_cmd_pを使用することが有利である。
【0119】
次に、制御ユニット50は、要求重心速度生成部74の処理とゲイン調整部78の処理とを実行する。この場合、要求重心速度生成部74及びゲイン調整部78には、それぞれ、重心速度算出部72で上記の如く算出された重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)が入力される。
そして、要求重心速度生成部74は、詳細は後述するが、車両1の動作モードが搭乗モードである場合に、入力された重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)を基に、要求重心速度V_xy_aim(V_x_aim,V_y_aim)を決定する。なお、本実施形態では、車両1の動作モードが自立モードである場合には、要求重心速度生成部74は、要求重心速度V_x_aim及びV_y_aimをいずれも"0"とする。
また、ゲイン調整部78は、入力された重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)を基に、前記ゲイン調整パラメータKr_xy(Kr_x及びKr_y)を決定する。
【0120】
次に、制御ユニット50は、重心速度制限部76の処理を実行する。
この重心速度制限部76には、重心速度算出部72で算出された重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)と、要求重心速度生成部74で決定された要求重心速度V_xy_aim(V_x_aim及びV_y_aim)とが入力される。そして、重心速度制限部76は、これらの入力値を使用して、制御用目標重心速度V_xy_mdfd(V_x_mdfd及びV_y_mdfd)を決定する。
【0121】
次いで、制御ユニット50は、姿勢制御演算部80の処理を実行する。
姿勢制御演算部80は、まず、次式07x,07yにより、仮想車輪回転角加速度指令ωdotw_xy_cmdを算出する。
ωwdot_x_cmd=K1_x・θbe_x_s+K2_x・θbdot_x_s
+K3_x・(Vb_x_s−Vb_x_mdfd) ……式07x
ωwdot_y_cmd=K1_y・θbe_y_s+K2_y・θbdot_y_s
+K3_y・(Vb_y_s−Vb_y_mdfd) ……式07y
【0122】
従って、本実施形態では、Y軸方向から見た倒立振子モデルの質点60_xの運動(ひいては、Y軸方向から見た車両系重心点の運動)を制御するための操作量(制御入力)としての仮想車輪回転角加速度指令ωdotw_x_cmdと、X軸方向から見た倒立振子モデルの質点60_yの運動(ひいては、X軸方向から見た車両系重心点の運動)を制御するための操作量(制御入力)としての仮想車輪回転角加速度指令ωdotw_y_cmdとは、それぞれ、3つの操作量成分(式07x,07yの右辺の3つの項)を加え合わせることによって決定される。
【0123】
この場合、式07xにおける各操作量成分に係わるゲイン係数K1_x,K2_x,K3_xは、ゲイン調整パラメータKr_xに応じて可変的に設定され、式07yにおける各操作量成分に係わるゲイン係数K1_y,K2_y,K3_yは、ゲイン調整パラメータKr_yに応じて可変的に設定される。以降、式07xにおけるゲイン係数K1_x,K2_x,K3_xのそれぞれを第1ゲイン係数K1_x、第2ゲイン係数K2_x、第3ゲイン係数K3_xということがある。このことは、式07yにおけるゲイン係数K1_y,K2_y,K3_yについても同様とする。
【0124】
式07xにおける第iゲイン係数Ki_x(i=1,2,3)と、式07yにおける第iゲイン係数Ki_y(i=1,2,3)とは、次式09x、09yにより、ゲイン調整パラメータKr_x,Kr_yに応じて決定される。
Ki_x=(1−Kr_x)・Ki_a_x+Kr_x・Ki_b_x ……式09x
Ki_y=(1−Kr_y)・Ki_a_y+Kr_y・Ki_b_y ……式09y
(i=1,2,3)
【0125】
ここで、式09xにおけるKi_a_x、Ki_b_xは、それぞれ、第iゲイン係数Ki_xの最小側("0"に近い側)のゲイン係数値、最大側("0"から離れる側)のゲイン係数値としてあらかじめ設定された定数値である。このことは、式09yにおけるKi_a_y、Ki_b_yについても同様である。
【0126】
従って、式07xの演算に用いる各第iゲイン係数Ki_x(i=1,2,3)は、それぞれに対応する定数値Ki_a_x、Ki_b_xの重み付き平均値として決定される。そして、この場合、Ki_a_x、Ki_b_xにそれぞれ掛かる重みが、ゲイン調整パラメータKr_xに応じて変化させられる。このため、Kr_x=0である場合には、Ki_x=Ki_a_xとなり、Kr_x=1である場合には、Ki_x=Ki_b_xとなる。そして、Kr_xが"0"から"1"に近づくに伴い、第iゲイン係数Ki_xはKi_a_xからKi_b_x近づいていく。
【0127】
同様に、式07yの演算に用いる各第iゲイン係数Ki_y(i=1,2,3)は、それぞれに対応する定数値Ki_a_y、Ki_b_yの重み付き平均値として決定される。そして、この場合、Ki_a_y、Ki_b_yにそれぞれ掛かる重みが、ゲイン調整パラメータKr_yに応じて変化させられる。このため、Ki_xの場合と同様に、Kr_yの値が"0"から"1"の間で変化するに伴い、第iゲイン係数Ki_yの値が、Ki_a_yとKi_b_yとの間で変化する。
補足すると、上記定数値Ki_a_x、Ki_b_x及びKi_a_y,Ki_b_y(i=1,2,3)は、前記ステップS9又はステップS11において値が設定される定数パラメータに含まれるものである。
【0128】
姿勢制御演算部80は、上記の如く決定した第1〜第3ゲイン係数K1_x,K2_x,K3_xを用いて前記式07xの演算を行なうことで、X軸方向に輪転する仮想車輪62_xに係わる仮想車輪回転角加速度指令ωwdot_x_cmdを算出する。
同様に、姿勢制御演算部80は、上記の如く決定した第1〜第3ゲイン係数K1_y,K2_y,K3_yを用いて前記式07yの演算を行なうことで、Y軸方向に輪転する仮想車輪62_yに係わる仮想車輪回転角加速度指令ωwdot_y_cmdを算出する。
【0129】
姿勢制御演算部80は、上記の如く、仮想車輪回転角加速度指令ωwdot_x_cmd,ωwdot_y_cmdを算出した後、次に、これらのωwdot_x_cmd,ωwdot_y_cmdをそれぞれ積分器80fにより積分することによって、仮想車輪回転速度指令ωw_x_cmd,ωw_y_cmdを決定する。
【0130】
制御ユニット50は、次に、姿勢安定化制御演算部80で上記の如く決定した仮想車輪回転速度指令ωw_x_cmd,ωw_y_cmdをモータ指令演算部82に入力し、該モータ指令演算部82の処理を実行することによって、電動モータ31Rの速度指令ω_R_cmdと電動モータ31Lの速度指令ω_L_cmdとを決定する。
具体的には、モータ指令演算部82は、前記式01a,01bのωw_x,ωw_y,ω_R,ω_Lをそれぞれ、ωw_x_cmd,ωw_y_cmd,ω_R_cmd,ω_L_cmdに置き換えて得られる連立方程式を、ω_R_cmd,ω_L_cmdを未知数として解くことによって、電動モータ31R,31Lのそれぞれの速度指令ω_R_cmd,ω_L_cmdを決定する。
以上により走行モード時における前記ステップS12の車両制御演算処理が完了する。
【0131】
また、前述したジャンプ動作モード時におけるステップS12(図7参照)の車両制御演算処理では、基本的に、以上説明した各処理部の処理と同様の処理によって車両1の傾斜角が、軌道計画生成部ACで生成された軌道計画に従って車両1をジャンプさせる射出角に応じた角度に制御される。ここで、車両1の傾斜角は、上位コントローラMCが基体傾斜角度θbの目標値θb_xy_objを指定することによって制御する。また、車両1の傾斜角の制御と並行して、制御ユニット10によって軌道計画生成部ACで生成された軌道計画に従って車両1をジャンプさせる射出速度が得られるように、直動アクチュエータ13の伸縮量が制御される。
【0132】
以上説明した通り、本実施形態によれば、ジャンプ指示に基づいてジャンプ時の軌道計画を生成し、車輪体5を駆動して車両1の姿勢を制御することによって軌道計画に応じた車両1の射出角を制御するとともに、基体9に設けられた直動アクチュエータ13の伸縮量を調整することによって軌道計画に応じた車両1の射出速度を制御している。これにより、車両1がジャンプ指示に応じたジャンプを行うため、走行では越えられないまでも回避するほどでもない程度の大きさの障害物が存在する場合であっても乗り越えて進行することができる。
【0133】
次に、本実施形態の変形例について説明する。図14は、本発明の実施形態に係る移動体の変形例を示す側面図である。図14に示す移動体60において、図1に示す移動体1と同様の構成要素には同様の符号を付して詳細な説明を省略する。図14に示す移動体60は、伸縮フレーム92の構成において図1に示す移動体1と相違する。
【0134】
伸縮フレーム92は、下部フレーム11の上端から上方に向かって互いに平行をなすように延設された直動アクチュエータ93及び支柱フレーム92aと、直動アクチュエータ93の上方に延設された支持フレーム92bと、支柱フレーム92aに外挿されるとともに下端が下部フレーム11の上端に固定され、支柱フレームに沿う方向に伸縮するバネ94とを備える。
【0135】
直動アクチュエータ93は、四角環状の第1部材93aと、一部が第1部材93a内に介挿されて中心軸が同軸となるように配置された四角環状の第2部材93bとを備えている。即ち、この直動アクチュエータ93は、前述した直動アクチュエータ13と略同一の構成とされており、第1部材93aをシリンダとし、第2部材93bをロッドとしたパワーシリンダから構成されている。なお、この直動アクチュエータ93においても、ボールネジ機構から構成されることにより伸縮可能とされていてもよい。
る。
【0136】
そして、本実施形態における制御ユニット10は、直動アクチュエータ93の上部に設けられた支持フレーム92bに取り付けられており、この制御ユニット10に、上記直動アクチュエータ93の上端及びバネ94の上端が接続されている。なお、支柱フレーム92aの上端は、制御ユニット10が下方に変位した際に支柱フレーム92aと干渉することのないよう、例えば、制御ユニット10に形成された貫通孔に摺動可能に挿入されている。このようにして本実施形態においては、直動アクチュエータ93とバネ94とが下部フレーム11と制御ユニット10との間に並列に配置されている。
【0137】
本実施形態におけるバネ94は、本実施形態においてはコイルスプリングが採用されており、直動アクチュエータ93の伸縮に追従するように収縮され、弾性エネルギーを蓄積するために設けられている。バネ94は、より多くの弾性エネルギーを蓄積できるようにある程度大きいバネ定数を有するものであることが好ましい。
【0138】
以上のような構成の移動体60においても、前述した移動体1と同様にして、直動アクチュエータ93が伸縮することによって、移動体1自体が走行面から離間するジャンプ動作を行い、これにより容易に障害物(例えば、小石など)や段差を乗り越えて進行することができる。即ち、移動体1と同様にしてジャンプ指示がなされると、直動アクチュエータ93は一旦収縮する動作を行なう。この直動アクチュエータ93の上方に設置された搭乗部3、制御ユニット10等は、下方に変位し、これによって制御ユニット10に上端を接続したバネ94が圧縮される。即ち、直動アクチュエータ93の収縮に追従するようにしてバネ94も同時に収縮される。これにより、バネ94に弾性エネルギーが蓄積される。
【0139】
そして、直動アクチュエータ93が限界まで収縮すると、該直動アクチュエータ93は伸張する動作に移行し、直動アクチュエータ93の伸張にともなってバネ94に蓄積された弾性エネルギーが開放される。これによって、直動アクチュエータ93の伸張動作が補助されて、該直動アクチュエータ93がより勢いを増して伸張される。したがって、直動アクチュエータ93の伸張動作により上方に変位される基体9自体をより力強く持ち上げることができ、移動体1のジャンプ動作をより確実に行なうことが可能となる。
【0140】
また、直動アクチュエータ93が伸張したジャンプ動作をした後、動アクチュエータ63の伸張及び収縮をフリーの状態とすることにより、即ち、直動アクチュエータ93を伸縮自在の状態とすることにより、着地時に生じる下方に向かっての荷重をバネ94が吸収することができるため、着地時の衝撃を和らげることができる。
【0141】
以上、本発明の実施形態について説明したが、本発明は上記実施形態に制限されず、本発明の範囲内で自由に変更が可能である。例えば、上記実施形態では、操作コントローラに設けられたジャンプボタンが押下された場合に、制御ユニット50にジャンプ指示が入力されてジャンプが行われる例について説明した。しかしながら、例えばトゥグリップ26R,26Lにジャンプボタンを取り付けて、トゥグリップ26R,26Lを足の甲で上方に押し上げる等の操作がなされた場合に、制御ユニット50にジャンプ指示が入力されるようにしても良い。更に、転倒等のとっさの時に足を前や横に出せるように、トゥグリップ26R,26Lは前後方向に傾動可能な構造であるのが望ましい。
【0142】
また、上記実施形態では、説明の便宜上、車輪体5の駆動を制御する制御ユニット50と、直動アクチュエータ13の伸縮量を調整する制御ユニット10が別々に設けられた構成について説明したが、これらの制御ユニット10,50は一体化されていても良い。また、図13に示す例では、制御ユニット50に上位コントローラMCが設けられている例について説明したが、上位コントローラMCと、車輪体5の駆動を制御する下位コントローラSCと、直動アクチュエータ13の伸縮量を調整する制御ユニット10とがそれぞれ別に設けられていても良い。
【符号の説明】
【0143】
1 移動体
3 搭乗部
5 移動動作部(被駆動機構)
7 アクチュエータ装置(駆動部)
9 基体
10 制御ユニット(第2制御部)
13 直動アクチュエータ(伸縮機構)
14 バネ(伸縮機構)
25R,25L ステップ(搭乗部)
54 荷重センサ(荷重検出部)
93 直動アクチュエータ(伸縮機構)
94 バネ(伸縮機構)
AC 軌道計画生成部
SC 下位コントローラ(第1制御部)
【特許請求の範囲】
【請求項1】
走行面を移動可能な被駆動機構と、前記被駆動機構を駆動する駆動力を発生させる駆動部と、前記被駆動機構及び前記駆動部が組付けられた基体と、を有する倒立振子制御型の移動体の制御装置であって、
前記基体は当該基体を伸縮させる伸縮機構をさらに備え、
前記倒立振子制御型の移動体を跳躍させるための指令値に基づいて、跳躍時の軌道計画を生成する軌道計画生成部と、
前記軌道計画に応じた前記倒立振子制御型の移動体の射出角を、前記駆動部を駆動して前記倒立振子制御型の移動体の姿勢を制御することにより制御する第1制御部と、
前記軌道計画に応じた前記倒立振子制御型の移動体の射出速度を、前記伸縮機構の伸縮量を調整することにより制御する第2制御部と
を備えることを特徴とする倒立振子制御型の移動体の制御装置。
【請求項2】
前記倒立振子制御型の移動体は、前記基体に組付けられた搭乗部と、当該搭乗部にかかる荷重を検出する荷重検出部とを備えており、
前記軌道計画生成部は、前記荷重検出部の検出結果に応じて、前記搭乗部に乗員が搭乗している場合の軌道計画と、前記搭乗部に乗員が搭乗していない場合の軌道計画との何れか一方の軌道計画を生成することを特徴とする請求項1記載の倒立振子制御型の移動体の制御装置。
【請求項3】
前記指令値は、前記倒立振子制御型の移動体の跳躍方向を示す値と、前記倒立振子制御型の移動体の飛距離及び跳躍高さの少なくとも一方を示す値とを含むことを特徴とする請求項1又は請求項2記載の倒立振子制御型の移動体の制御装置。
【請求項4】
前記第1制御部は、前記軌道計画生成部が生成した軌道計画に沿った跳躍が行われている間に、前記駆動部を駆動して前記倒立振子制御型の移動体の姿勢を制御することを特徴とする請求項1から請求項3の何れか一項に記載の倒立振子制御型の移動体の制御装置。
【請求項5】
前記第1制御部は、前記軌道計画に沿った跳躍終了時における前記倒立振子制御型の移動体の姿勢が、前記軌道計画に沿った跳躍開始時の姿勢とは逆になるように制御することを特徴とする請求項4記載の倒立振子制御型の移動体の制御装置。
【請求項6】
前記第1制御部は、前記軌道計画に沿った跳躍が終了した時には、前記倒立振子制御型の移動体の姿勢が所定の安定姿勢となるように制御することを特徴とする請求項4又は請求項5記載の倒立振子制御型の移動体の制御装置。
【請求項7】
前記伸縮機構は、前記第2制御部によって伸縮量が調整されるアクチュエータと、
伸縮方向が前記アクチュエータの伸縮方向と同じ方向に設定されたバネと
からなることを特徴とする請求項1から請求項6の何れか一項に記載の倒立振子制御型の移動体の制御装置。
【請求項8】
前記アクチュエータは、前記バネの上部に配置されて前記バネと直列接続されていることを特徴とする請求項7記載の倒立振子制御型の移動体の制御装置。
【請求項9】
前記アクチュエータと前記バネは、並列接続されていることを特徴とする請求項7記載の倒立振子制御型の移動体の制御装置。
【請求項1】
走行面を移動可能な被駆動機構と、前記被駆動機構を駆動する駆動力を発生させる駆動部と、前記被駆動機構及び前記駆動部が組付けられた基体と、を有する倒立振子制御型の移動体の制御装置であって、
前記基体は当該基体を伸縮させる伸縮機構をさらに備え、
前記倒立振子制御型の移動体を跳躍させるための指令値に基づいて、跳躍時の軌道計画を生成する軌道計画生成部と、
前記軌道計画に応じた前記倒立振子制御型の移動体の射出角を、前記駆動部を駆動して前記倒立振子制御型の移動体の姿勢を制御することにより制御する第1制御部と、
前記軌道計画に応じた前記倒立振子制御型の移動体の射出速度を、前記伸縮機構の伸縮量を調整することにより制御する第2制御部と
を備えることを特徴とする倒立振子制御型の移動体の制御装置。
【請求項2】
前記倒立振子制御型の移動体は、前記基体に組付けられた搭乗部と、当該搭乗部にかかる荷重を検出する荷重検出部とを備えており、
前記軌道計画生成部は、前記荷重検出部の検出結果に応じて、前記搭乗部に乗員が搭乗している場合の軌道計画と、前記搭乗部に乗員が搭乗していない場合の軌道計画との何れか一方の軌道計画を生成することを特徴とする請求項1記載の倒立振子制御型の移動体の制御装置。
【請求項3】
前記指令値は、前記倒立振子制御型の移動体の跳躍方向を示す値と、前記倒立振子制御型の移動体の飛距離及び跳躍高さの少なくとも一方を示す値とを含むことを特徴とする請求項1又は請求項2記載の倒立振子制御型の移動体の制御装置。
【請求項4】
前記第1制御部は、前記軌道計画生成部が生成した軌道計画に沿った跳躍が行われている間に、前記駆動部を駆動して前記倒立振子制御型の移動体の姿勢を制御することを特徴とする請求項1から請求項3の何れか一項に記載の倒立振子制御型の移動体の制御装置。
【請求項5】
前記第1制御部は、前記軌道計画に沿った跳躍終了時における前記倒立振子制御型の移動体の姿勢が、前記軌道計画に沿った跳躍開始時の姿勢とは逆になるように制御することを特徴とする請求項4記載の倒立振子制御型の移動体の制御装置。
【請求項6】
前記第1制御部は、前記軌道計画に沿った跳躍が終了した時には、前記倒立振子制御型の移動体の姿勢が所定の安定姿勢となるように制御することを特徴とする請求項4又は請求項5記載の倒立振子制御型の移動体の制御装置。
【請求項7】
前記伸縮機構は、前記第2制御部によって伸縮量が調整されるアクチュエータと、
伸縮方向が前記アクチュエータの伸縮方向と同じ方向に設定されたバネと
からなることを特徴とする請求項1から請求項6の何れか一項に記載の倒立振子制御型の移動体の制御装置。
【請求項8】
前記アクチュエータは、前記バネの上部に配置されて前記バネと直列接続されていることを特徴とする請求項7記載の倒立振子制御型の移動体の制御装置。
【請求項9】
前記アクチュエータと前記バネは、並列接続されていることを特徴とする請求項7記載の倒立振子制御型の移動体の制御装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2011−63240(P2011−63240A)
【公開日】平成23年3月31日(2011.3.31)
【国際特許分類】
【出願番号】特願2009−218170(P2009−218170)
【出願日】平成21年9月18日(2009.9.18)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】
【公開日】平成23年3月31日(2011.3.31)
【国際特許分類】
【出願日】平成21年9月18日(2009.9.18)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】
[ Back to top ]