(57)【要約】  ヨー方向のトルクを発生させる慣性ロータを別途設けることなく、本体のピッチ方向の傾斜によって発生するトルクにより一輪車の移動方向を精度良く制御することができる移動方向制御装置及びコンピュータプログラムを提供する。  前後方向に回転して移動する車輪と、該車輪の回転軸に連結されて該車輪の上方でピッチ方向及びロール方向に揺動する本体とで構成される。本体の略前後方向を回転中心軸とした慣性ロータと、該慣性ロータを回転させるモータとを備える。ピッチ方向の所定の傾斜角度であるピッチ角に応じて生じる、慣性ロータの回転によるヨー方向のトルクにより本体のヨー方向の回転角を制御する。
2011027615.tif 000002
【特許請求の範囲】
【請求項１】
前後方向に回転して移動する車輪と、該車輪の回転軸に連結されて該車輪の上方でピッチ方向及びロール方向に揺動する本体とで構成され、
該本体に、
本体の略前後方向を回転中心軸とした慣性ロータと、
該慣性ロータを回転させるモータと
を備え、
ピッチ方向の所定の傾斜角度であるピッチ角に応じて生じる、前記慣性ロータの回転によるヨー方向のトルクにより前記本体のヨー方向の回転角を制御することを特徴とする移動方向制御装置。
【請求項２】
移動方向の目標とする前記車輪のヨー角の指定を受け付けるヨー角指定受付部と、
摩擦トルクの大きさ及び方向を含む摩擦トルクに関する情報を取得する摩擦トルク情報取得部と、
指定を受け付けたヨー角に基づいて、ヨー方向の回転角加速度を算出するヨー方向角加速度算出部と、
算出したヨー方向の回転角加速度に基づいて、ヨー方向のトルクを算出するヨー方向トルク算出部と、
算出したヨー方向のトルクと取得した摩擦トルクに関する情報とに基づいて、ヨー方向の必要トルクを算出するヨー方向必要トルク算出部と、
算出したヨー方向の必要トルクを生じさせる前記モータの回転指令を、前記ピッチ角に応じて生成するモータ回転指令生成部と
を備えることを特徴とする請求項１記載の移動方向制御装置。
【請求項３】
前記摩擦トルク情報取得部は、
摩擦トルクの大きさ及び方向の指定を受け付ける摩擦トルク受付部を備えることを特徴とする請求項２記載の移動方向制御装置。
【請求項４】
前記摩擦トルク情報取得部は、
前記車輪のヨー方向の回転角を検出するヨー回転角検出部と、
ヨー方向の回転角が変動を開始する時刻におけるヨー方向のトルクを検出する変動トルク検出部と、
検出したヨー方向のトルクに基づいて、静摩擦トルクを算出する静摩擦トルク算出部と
を備え、
算出した静摩擦トルクを前記摩擦トルクとして取得するようにしてあることを特徴とする請求項２記載の移動方向制御装置。
【請求項５】
前記摩擦トルク情報取得部は、
前記車輪のヨー方向の回転角を検出するヨー回転角検出部と、
ヨー方向の回転角が収束する時刻におけるヨー方向のトルクを検出する収束トルク検出部と、
検出したヨー方向のトルクに基づいて、動摩擦トルクを算出する動摩擦トルク算出部と
を備え、
算出した動摩擦トルクを前記摩擦トルクとして取得するようにしてあることを特徴とする請求項２記載の移動方向制御装置。
【請求項６】
前後方向に回転して移動する車輪と、該車輪の回転軸に連結されて該車輪の上方でピッチ方向及びロール方向に揺動する本体とで構成され、
該本体に、
本体の略前後方向を回転中心軸とした慣性ロータと、
該慣性ロータを回転させるモータと
を備えた移動方向制御装置に搭載してあり、
ピッチ方向の所定の傾斜角度であるピッチ角に応じて生じる、前記慣性ロータの回転によるヨー方向のトルクにより前記本体のヨー方向の回転角を制御するコンピュータで実行することが可能なコンピュータプログラムであって、
前記コンピュータを、
移動方向の目標とする前記車輪のヨー角の指定を受け付けるヨー角指定受付手段、
摩擦トルクの大きさ及び方向を含む摩擦トルクに関する情報を取得する摩擦トルク情報取得手段、
指定を受け付けたヨー角に基づいて、ヨー方向の回転角加速度を算出するヨー方向角加速度算出手段、
算出したヨー方向の回転角加速度に基づいて、ヨー方向のトルクを算出するヨー方向トルク算出手段、
算出したヨー方向のトルクと取得した摩擦トルクに関する情報とに基づいて、ヨー方向の必要トルクを算出するヨー方向必要トルク算出手段、及び
算出したヨー方向の必要トルクを生じさせる前記モータの回転指令を、前記ピッチ角に応じて生成するモータ回転指令生成手段
として機能させることを特徴とするコンピュータプログラム。
【請求項７】
前記摩擦トルク情報取得手段を、
摩擦トルクの大きさ及び方向の指定を受け付ける摩擦トルク受付手段として機能させることを特徴とする請求項６記載のコンピュータプログラム。
【請求項８】
前記摩擦トルク情報取得手段を、
前記車輪のヨー方向の回転角を検出するヨー回転角検出手段、
ヨー方向の回転角が変動を開始する時刻におけるヨー方向のトルクを検出する変動トルク検出手段、及び
検出したヨー方向のトルクに基づく静摩擦トルクを、前記摩擦トルクとして算出する静摩擦トルク算出手段
として機能させることを特徴とする請求項６記載のコンピュータプログラム。
【請求項９】
前記摩擦トルク情報取得手段を、
前記車輪のヨー方向の回転角を検出するヨー回転角検出手段、
ヨー方向の回転角が収束する時刻におけるヨー方向のトルクを検出する収束トルク検出手段、及び
検出したヨー方向のトルクに基づく動摩擦トルクを、前記摩擦トルクとして算出する動摩擦トルク算出手段
として機能させることを特徴とする請求項６記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一輪車であってもヨー方向へ自在に方向転換することができる移動方向制御装置及びコンピュータプログラムに関する。
【背景技術】
【０００２】
一輪車を移動させる場合、本体が略前後方向を軸とする回転方向（以下、ロール方向）及び略左右方向を軸とする回転方向（以下、ピッチ方向）に揺動することから、ロール方向及びピッチ方向の釣合いを制御することにより、本体が転倒することなく移動又は停止するよう動作を制御する必要がある。ロール方向及びピッチ方向の釣合いを制御するためには本体の傾きを正しく検出する必要があり、例えば角速度センサを用いて角速度を検出し、検出した角速度を積分することによって傾きを推定する方法等が採用されている（特許文献１参照）。【０００３】
また、一輪車の場合、二輪車のように前輪の角度を変更することで容易に方向転換することができず、例えば本体をロール方向及びピッチ方向に揺動させることにより、略鉛直方向を軸とする回転方向（以下、ヨー方向）に回転させて、方向転換することが多い。すなわち、非特許文献１に開示しているように、ロール方向及びピッチ方向に正弦波入力を付与し、両正弦波入力の位相を変動させることによりヨー角変化量を変動させ、所望の方向へ方向転換するように車輪のヨー角をフィードバック制御する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開２００７／０６３６６５号
【非特許文献】
【０００５】
【非特許文献１】笠井崇史著、「一輪車の姿勢制御」、筑波大学大学院博士課程システム情報工学研究科修士論文、２００５年１月、ｐ．１−３７
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、非特許文献１に開示されている一輪車では、加速度センサによって重力方向（鉛直方向）に対する傾きを検出して釣合い状態に補正しているが、本体部分の傾斜による慣性ロータ回転軸の傾斜、慣性ロータ取り付け位置と本体のロール中心及び／又はピッチ中心とのズレ等により、釣合い状態に正しく補正することができない場合も生じるという問題点があった。【０００７】
また、二輪車の場合には、本体の前部に設けてある操舵することが可能な前輪を操舵するアクチュエータの動作を制御することで方向転換することができる。しかし、一輪車では、操舵輪と駆動輪とが一致しており、慣性ロータを別途設けること等によりヨー方向のトルクを発生させなければ、方向転換することが困難であるという問題点があった。【０００８】
本発明は斯かる事情に鑑みてなされたものであり、ヨー方向のトルクを発生させる慣性ロータを別途設けることなく、本体のピッチ方向の傾斜によって発生するトルクにより一輪車の移動方向を精度良く制御することができる移動方向制御装置及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために第１発明に係る移動方向制御装置は、前後方向に回転して移動する車輪と、該車輪の回転軸に連結されて該車輪の上方でピッチ方向及びロール方向に揺動する本体とで構成され、該本体に、本体の略前後方向を回転中心軸とした慣性ロータと、該慣性ロータを回転させるモータとを備え、ピッチ方向の所定の傾斜角度であるピッチ角に応じて生じる、前記慣性ロータの回転によるヨー方向のトルクにより前記本体のヨー方向の回転角を制御することを特徴とする。【００１０】
また、第２発明に係る移動方向制御装置は、第１発明において、移動方向の目標とする前記車輪のヨー角の指定を受け付けるヨー角指定受付部と、摩擦トルクの大きさ及び方向を含む摩擦トルクに関する情報を取得する摩擦トルク情報取得部と、指定を受け付けたヨー角に基づいて、ヨー方向の回転角加速度を算出するヨー方向角加速度算出部と、算出したヨー方向の回転角加速度に基づいて、ヨー方向のトルクを算出するヨー方向トルク算出部と、算出したヨー方向のトルクと取得した摩擦トルクに関する情報とに基づいて、ヨー方向の必要トルクを算出するヨー方向必要トルク算出部と、算出したヨー方向の必要トルクを生じさせる前記モータの回転指令を、前記ピッチ角に応じて生成するモータ回転指令生成部とを備えることを特徴とする。【００１１】
また、第３発明に係る移動方向制御装置は、第２発明において、前記摩擦トルク情報取得部は、摩擦トルクの大きさ及び方向の指定を受け付ける摩擦トルク受付部を備えることを特徴とする。【００１２】
また、第４発明に係る移動方向制御装置は、第２発明において、前記摩擦トルク情報取得部は、前記車輪のヨー方向の回転角を検出するヨー回転角検出部と、ヨー方向の回転角が変動を開始する時刻におけるヨー方向のトルクを検出する変動トルク検出部と、検出したヨー方向のトルクに基づいて、静摩擦トルクを算出する静摩擦トルク算出部とを備え、算出した静摩擦トルクを前記摩擦トルクとして取得するようにしてあることを特徴とする。【００１３】
また、第５発明に係る移動方向制御装置は、第２発明において、前記摩擦トルク情報取得部は、前記車輪のヨー方向の回転角を検出するヨー回転角検出部と、ヨー方向の回転角が収束する時刻におけるヨー方向のトルクを検出する収束トルク検出部と、検出したヨー方向のトルクに基づいて、動摩擦トルクを算出する動摩擦トルク算出部とを備え、算出した動摩擦トルクを前記摩擦トルクとして取得するようにしてあることを特徴とする。【００１４】
次に、上記目的を達成するために第６発明に係るコンピュータプログラムは、前後方向に回転して移動する車輪と、該車輪の回転軸に連結されて該車輪の上方でピッチ方向及びロール方向に揺動する本体とで構成され、該本体に、本体の略前後方向を回転中心軸とした慣性ロータと、該慣性ロータを回転させるモータとを備えた移動方向制御装置に搭載してあり、ピッチ方向の所定の傾斜角度であるピッチ角に応じて生じる、前記慣性ロータの回転によるヨー方向のトルクにより前記本体のヨー方向の回転角を制御するコンピュータで実行することが可能なコンピュータプログラムであって、前記コンピュータを、移動方向の目標とする前記車輪のヨー角の指定を受け付けるヨー角指定受付手段、摩擦トルクの大きさ及び方向を含む摩擦トルクに関する情報を取得する摩擦トルク情報取得手段、指定を受け付けたヨー角に基づいて、ヨー方向の回転角加速度を算出するヨー方向角加速度算出手段、算出したヨー方向の回転角加速度に基づいて、ヨー方向のトルクを算出するヨー方向トルク算出手段、算出したヨー方向のトルクと取得した摩擦トルクに関する情報とに基づいて、ヨー方向の必要トルクを算出するヨー方向必要トルク算出手段、及び算出したヨー方向の必要トルクを生じさせる前記モータの回転指令を、前記ピッチ角に応じて生成するモータ回転指令生成手段として機能させることを特徴とする。【００１５】
また、第７発明に係るコンピュータプログラムは、第６発明において、前記摩擦トルク情報取得手段を、摩擦トルクの大きさ及び方向の指定を受け付ける摩擦トルク受付手段として機能させることを特徴とする。【００１６】
また、第８発明に係るコンピュータプログラムは、第６発明において、前記摩擦トルク情報取得手段を、前記車輪のヨー方向の回転角を検出するヨー回転角検出手段、ヨー方向の回転角が変動を開始する時刻におけるヨー方向のトルクを検出する変動トルク検出手段、及び検出したヨー方向のトルクに基づく静摩擦トルクを、前記摩擦トルクとして算出する静摩擦トルク算出手段として機能させることを特徴とする。【００１７】
また、第９発明に係るコンピュータプログラムは、第６発明において、前記摩擦トルク情報取得手段を、前記車輪のヨー方向の回転角を検出するヨー回転角検出手段、ヨー方向の回転角が収束する時刻におけるヨー方向のトルクを検出する収束トルク検出手段、及び検出したヨー方向のトルクに基づく動摩擦トルクを、前記摩擦トルクとして算出する動摩擦トルク算出手段として機能させることを特徴とする。【００１８】
第１発明では、前後方向に回転して移動する車輪と、該車輪の回転軸に連結されて該車輪の上方でピッチ方向及びロール方向に揺動する本体とで構成してある。本体に、本体の略前後方向を回転中心軸とした慣性ロータと、該慣性ロータを回転させるモータとを備えている。ピッチ方向の所定の傾斜角度であるピッチ角に応じて生じる、慣性ロータの回転によるヨー方向のトルクにより本体のヨー方向の回転角を制御する。これにより、ピッチ方向に傾斜していない場合にはロール方向の傾斜角制御にしか用いることができない慣性ロータを、ピッチ方向に傾斜させることによりヨー方向のトルクを発生させることができ、別個にヨー方向制御用の慣性ロータを設けることなく方向転換することが可能となる。【００１９】
第２発明及び第６発明では、移動方向の目標とする車輪のヨー角の指定を受け付ける。摩擦トルクの大きさ及び方向を含む摩擦トルクに関する情報を取得しておき、指定を受け付けたヨー角に基づいて、ヨー方向の回転角加速度を算出する。算出したヨー方向の回転角加速度に基づいて、ヨー方向のトルクを算出し、算出したヨー方向のトルクと取得した摩擦トルクに関する情報とに基づいて、ヨー方向の必要トルクを算出する。算出したヨー方向の必要トルクを生じさせるモータの回転指令を、ピッチ方向の所定の傾斜角度であるピッチ角に応じて生成することにより、指定を受け付けたヨー角だけ回転させるために必要な慣性ロータの回転数を、ピッチ角に応じて変動させることができ、確実に所望の方向へ方向転換することが可能となる。【００２０】
第３発明及び第７発明では、摩擦トルクの大きさ及び方向の指定を受け付けることにより、車輪と路面との接触による摩擦トルクを考慮に入れて慣性ロータの回転数及び回転方向をより精度良く算出することが可能となる。【００２１】
第４発明及び第８発明では、車輪のヨー方向の回転角を検出し、ヨー方向の回転角が変動を開始する時刻におけるヨー方向のトルクを検出する。検出したヨー方向のトルクに基づいて、静摩擦トルクを算出し、算出した静摩擦トルクを摩擦トルクとして取得する。これにより、方向転換の開始時に比較的大きい静摩擦トルクを考慮に入れて慣性ロータの回転数及び回転方向をより精度良く算出することが可能となる。【００２２】
第５発明及び第９発明では、車輪のヨー方向の回転角を検出し、ヨー方向の回転角が収束する時刻におけるヨー方向のトルクを検出する。検出したヨー方向のトルクに基づいて、動摩擦トルクを算出し、算出した動摩擦トルクを摩擦トルクとして取得する。これにより、方向転換時に生じる動摩擦トルクを考慮に入れて慣性ロータの回転数及び回転方向を算出することができ、本体を所望の方向へと精度良く方向転換させることが可能となる。
【発明の効果】
【００２３】
上記構成によれば、ピッチ方向に傾斜していない場合にはロール方向の傾斜角制御にしか用いることができない慣性ロータを、ピッチ方向に傾斜させることによりヨー方向のトルクを発生させることができ、別個にヨー方向制御用の慣性ロータを設けることなく方向転換させることが可能となる。すなわち、算出したヨー方向の必要トルクを生じさせるモータの回転指令を、ピッチ角に応じて生成することにより、指定を受け付けたヨー角だけ回転させるために必要な慣性ロータの回転数を、ピッチ角に応じて変動させることができ、確実に所望の方向へ方向転換することが可能となる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施の形態に係る移動方向制御装置を適用した一輪車ロボットの構成を模式的に示す正面図及び側面図である。
【図２】ピッチ方向、ロール方向及びヨー方向を説明する模式図である。
【図３】本発明の実施の形態に係る移動方向制御装置を適用した一輪車ロボットのヨー方向の方向転換動作の制御の一例を示す制御ブロック図である。
【図４】本発明の実施の形態に係る移動方向制御装置を適用した一輪車ロボットのロール方向の転倒を防止する制御の一例を示す制御ブロック図である。
【図５】一輪車ロボットを側面から見た模式図である。
【図６】指定するべき摩擦トルクを特定する方法を説明するグラフである。
【図７】本発明の実施の形態に係る移動方向制御装置を適用した一輪車ロボットの摩擦トルク情報取得部の機能ブロック図である。
【図８】本発明の実施の形態に係る移動方向制御装置を適用した一輪車ロボットの摩擦トルク情報取得部の機能ブロック図である。
【図９】本発明の実施の形態に係る移動方向制御装置の制御基板のコントローラによる方向転換処理の手順を示すフローチャートである。
【図１０】一輪車ロボットを正面から見た模式図である。
【図１１】本発明の実施の形態に係る移動方向制御装置を適用した一輪車ロボットの制御基板のコントローラによるロール方向の転倒防止処理手順を示すフローチャートである。
【図１２】本発明の実施の形態に係る移動方向制御装置を適用した一輪車ロボットの制御基板のコントローラによる静摩擦トルクの算出処理の手順を示すフローチャートである。
【図１３】本発明の実施の形態に係る移動方向制御装置を適用した一輪車ロボットの制御基板のコントローラによる動摩擦トルクの算出処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００２５】
以下、本発明の実施の形態に係る移動方向制御装置について、一輪車の上方に搭載してある本体が揺動しつつ車輪の回転により転倒することなく前後に移動する一輪車ロボットに適用した例を図面に基づいて具体的に説明する。
【００２６】
図１は、本発明の実施の形態に係る移動方向制御装置を適用した一輪車ロボットの構成を模式的に示す正面図及び側面図である。図１（ａ）は正面図、図１（ｂ）は右側面図を示している。本実施の形態に係る移動方向制御装置は、一輪車ロボット本体のピッチ方向及びロール方向への転倒を防止しつつ、ヨー方向の方向転換を制御する。
【００２７】
図１（ａ）、（ｂ）に示すように、一輪車ロボット１は、前後方向に回転して移動する車輪２と、車輪２の回転軸に連結されて車輪２の上方でピッチ方向及びロール方向に揺動する本体３とで構成されている。図１（ａ）、（ｂ）の例では、一輪車ロボット１を人型ロボットとしているが、これに限定されるものではない。
【００２８】
ここで、ピッチ方向、ロール方向及びヨー方向を明確にしておく。図２は、ピッチ方向、ロール方向及びヨー方向を説明する模式図である。図２に示すように、一輪車ロボット１がｘｙ面上をｘ軸の（＋）方向へ前進又はｘ軸の（−）方向へ後退するように移動する場合、ｙ軸周りの回転方向がピッチ方向である。ｙ軸の（＋）方向を向いて反時計回りに回転した場合には本体３がｘ軸の（＋）方向へ傾斜し、ｙ軸の（＋）方向を向いて時計回りに回転した場合には本体３がｘ軸の（−）方向へ傾斜する。また、ｘ軸周りの回転方向がロール方向であり、本体３が左右方向へ揺動する場合の回転方向である。さらに、ｚ軸周りの回転方向がヨー方向であり、車輪２の向きをｘ軸方向から変更する場合の回転方向である。
【００２９】
図１（ａ）、（ｂ）に示すように、本体３には、ピッチ方向の傾斜角度の角速度であるピッチ角速度を検出するピッチ用ジャイロセンサ（ピッチ用角速度センサ）３１、車輪２の回転と連動し、車輪２を回転させるピッチ用モータ３２、及びピッチ用モータ３２の回転位置又は回転速度を検出するピッチ用エンコーダ（ピッチ用回転センサ）３３を備える。ピッチ用ジャイロセンサ３１は、ピッチ角速度を検出する図示しない検出軸を略左右方向に向けて本体３に取り付けられている。ここで、略左右方向とは、厳密な左右方向に対して若干の角度ずれがあっても良いことを意味する。本体３と車輪２とは、車輪２を回転自在に支持するフレーム４で連結され、ピッチ用モータ３２の回転が、本体３に備えたかさ歯車５とベルト６とを介して車輪２へ伝わる。フレーム４は、本体３の一部分であり、図１（ａ）、（ｂ）の例では、フレーム４は一輪車ロボット１である人型ロボットの足になっている。なお、ピッチ用角速度センサ３１は、ピッチ角速度を検出することができれば良く、ジャイロセンサに限定されるものではない。ピッチ用ジャイロセンサ（ピッチ用角速度センサ）３１、及びピッチ用モータ３２のトルクに基づいて、ピッチ角を計算する。
【００３０】
また、本体３には、ロール方向の傾斜角度の角速度であるロール角速度を検出するロール用ジャイロセンサ（ロール用角速度センサ）６１、ロール方向に回転する慣性ロータ６４、慣性ロータ６４を回転させるロール用モータ６２、及びロール用モータ６２の回転位置又は回転速度を検出するロール用エンコーダ（ロール用回転センサ）６３を備える。ロール用ジャイロセンサ６１は、ロール角速度を検出する図示しない検出軸を略前後方向に向けて本体３に取り付けられている。ここで、略前後方向とは、厳密な前後方向に対して若干の角度ずれがあっても良いことを意味する。なお、ロール用角速度センサ６１は、ロール角速度を検出することができれば良く、ジャイロセンサに限定されるものではない。
【００３１】
さらに本体３の背中に相当する部分には、ピッチ用モータ３２、ロール用モータ６２の回転を制御する制御基板３５及び電池３６が装備されている。制御基板３５には、ピッチ用モータ３２及びロール用モータ６２を回転駆動するドライバ、Ａ／Ｄコンバータ、Ｄ／Ａコンバータ、カウンタ、コントローラ等が搭載されている。コントローラは、具体的にはマイクロプロセッサ、ＣＰＵ、ＬＳＩ等である。
【００３２】
ここまでの構成は、従来のヨー方向のトルクを発生させる慣性ロータを設けていない一輪車の構成と同様である。本発明では、ピッチ方向に前傾角度θ1 だけ傾斜している場合に慣性ロータ６４を回転させたとき、ロール方向の傾斜角を変動させるだけではなく、ヨー方向の回転角であるヨー角を変動させるヨー方向のトルクが生じることに着目し、車輪２の方向転換に利用している。図３は、本発明の実施の形態に係る移動方向制御装置を適用した一輪車ロボット１のヨー方向への方向転換動作の制御の一例を示す制御ブロック図である。
【００３３】
図３に示すように、目標ヨー角指定受付部３０１は、移動方向の目標とする車輪２のヨー角を目標ヨー角θt として、目標ヨー角θt の指定を受け付ける。すなわち、目標ヨー角θt とは、現在車輪２が向いている進行方向からの偏差角を意味する。目標ヨー角θt の指定の受付方法は特に限定されるものではなく、ブルートゥース（Ｂｌｕｅｔｏｏｔｈ）（登録商標）等の無線通信を介して外部から指定するべき目標ヨー角θt を受信しても良いし、制御基板３５のコントローラにメモリを内蔵し、該メモリ内に事前に目標ヨー角θt を記憶させておいても良い。また、メモリカード等を挿入することが可能なスロットを設けておき、目標ヨー角θt が記憶されているメモリカード等を、都度挿入することで目標ヨー角θt を読み込ませても良い。なお、ヨー方向の回転角であるヨー角θが目標ヨー角θt に到達するまでの到達時間ｔ、例えば１秒で到達する旨の指定も受け付けることが好ましい。ヨー方向の回転角加速度であるヨー角加速度ω’を到達時間ｔの中間で正負反転させた一定値であると仮定している場合、ヨー角速度ω及びヨー角θの変化を近似的に算出しやすくなるからである。
【００３４】
ヨー用角加速度算出部３０２は、指定を受け付けた目標ヨー角θt 及びヨー角θが目標ヨー角θt に到達するまでの到達時間ｔに基づいて、ヨー角θを時間微分することによりヨー角速度ωを算出し、算出したヨー角速度ωを時間微分することにより、ヨー角加速度ω’を算出する。ヨー角速度ωは、ヨー角加速度ω’を到達時間ｔの中間で正負反転させた一定値であると仮定している場合、目標ヨー角θt に到達するまでの到達時間ｔの２分の１が経過するまでは一定の割合で単調増加し、目標ヨー角θt に到達するまでの到達時間ｔの２分の１が経過した後は一定の割合で単調減少する。
【００３５】
上述の例では、ヨー角加速度ω’は、目標ヨー角θt に到達するまでの到達時間ｔの２分の１が経過するまでは正の一定値として、目標ヨー角θt に到達するまでの到達時間ｔの２分の１が経過した後は負の一定値として、それぞれ算出することができる。
【００３６】
反動トルク算出部（ヨー方向トルク算出部）３０３では、ヨー用角加速度算出部３０２で算出されたヨー角加速度ω’に基づいて、本体３を目標ヨー角θt まで回転させるために必要な回転トルクＴ２を算出する。本実施の形態では、算出した回転トルクＴ２と同一のトルクを、ピッチ方向に傾斜させた慣性ロータ６４の回転により生じる反動トルクとして加えることで、本体３のヨー角θを制御する。
【００３７】
摩擦トルク受付部３０４は、摩擦トルクＴｒとして車輪２と路面との摩擦係数に応じた摩擦トルクの大きさ及び方向の指定を受け付ける。摩擦トルクＴｒの指定の受付は、少なくとも摩擦トルクＴｒの大きさ及び方向の指定を含む。また、摩擦トルクＴｒの指定の受付方法は特に限定されるものではなく、ブルートゥース（Ｂｌｕｅｔｏｏｔｈ）（登録商標）等の無線通信を介して外部から摩擦トルクＴｒの大きさ及び方向を受信しても良い。また、摩擦トルク受付部３０４の代わりに摩擦トルク情報取得部として、制御基板３５のコントローラにて摩擦トルクＴｒの大きさ及び方向を算出しても良いし、定数として制御基板３５のコントローラのメモリに記憶させておいても良い。また、メモリカード等を挿入することが可能なスロットを設けておき、摩擦トルクＴｒの大きさ及び方向が記憶されているメモリカード等を、都度挿入することで読み込ませても良い。
【００３８】
ここで、摩擦トルクＴｒ分だけ余分に反動トルクを加えなければ、本体３は指定を受け付けた目標ヨー角θt まで回転することができない。したがって、図示しないヨー方向必要トルク算出部では、慣性ロータ６４により加えるべき回転トルク（必要トルク）Ｔ１を、（式１）にて求める。
【００３９】
Ｔ１＝Ｔ２＋Ｔｒ  ・・・  （式１）
【００４０】
慣性ロータ角加速度算出部３０５は、（式１）により算出した回転トルクＴ１を用いて、（式２）により慣性ロータ６４の角加速度ωR ’を算出する。すなわち慣性ロータ６４の慣性モーメントをＪ１とした場合、本体３が前傾していることから、慣性ロータ６４の回転中心軸が傾いており、同じ回転数であれば慣性ロータ６４の回転により発生するトルクが傾いている分だけ減少するので、必要なトルクを発生させるためには、減少する分だけ必要とされる慣性ロータ６４の角加速度ωR ’を大きくしておく必要がある。
【００４１】
ωR ’＝Ｔ１／Ｊ１／ｓｉｎθ1   ・・・  （式２）
ただし、θ1 は本体３の前傾角度
【００４２】
慣性ロータ角度算出部３０６は、（式２）により算出した慣性ロータ６４の角加速度ωR ’を２回積分することにより、慣性ロータ６４の回転角度ΘR をヨー方向の回転指令として算出して、算出した回転角度ΘR をロール方向のフィードバック制御ループへ入力する。
【００４３】
図４は、本発明の実施の形態に係る移動方向制御装置を適用した一輪車ロボット１のロール方向の転倒を防止する制御の一例を示す制御ブロック図である。図４に示すように、ロール用カウンタ部４０１では、ロール用エンコーダ６３の出力パルスのパルス数が計数される。ロール用回転速度算出部４０２では、ロール用カウンタ部４０１で計数されたパルス数を回転角度に変換したあと、微分してロール用モータ６２の回転速度を求める。ノイズ除去のためのＬＰＦ（ローパスフィルタ）を装備しても良い。
【００４４】
目標ロール角算出部４０３では、ロール用モータ６２の回転が一輪車ロボット１の正面から見て左回転の場合は、目標ロール角を一輪車ロボット１の正面から見て右方向に、ロール用モータ６２の回転が一輪車ロボット１の正面から見て右回転の場合は、目標ロール角を一輪車ロボット１の正面から見て左方向になるように、ロール用モータ６２の回転速度に比例係数を乗算して求める。なお、積分器を追加して、慣性ロータ６４に定常回転が残留しないようにすることが好ましい。
【００４５】
一方、ロール用ＡＤコンバータ部４０４では、ロール用ジャイロセンサ６１のロール角速度をＡ／Ｄ変換して取得する。ロール角速度算出部４０５では、取得したロール角速度に変換係数を乗算して、ロール角速度ω1rを算出する。
【００４６】
ロール傾斜角推定部４０６では、ロール角速度ω1rと、後述のロール用トルク指令τ2rとから、本体３（慣性ロータ６４以外の部分）と慣性ロータ６４とを含んだ運動系での傾斜角方向（ロール方向）の運動方程式に基づき導出された、後述の（式２２）で表されるロール傾斜角の推定値を算出する。さらに適切な推定速度を持たせてループを安定化させるための一次遅れ要素を直列に加えて、ロール傾斜角の推定値を算出している。具体的には、（式２２）を用いて算出した計算値に、一次遅れ要素として例えば１／（０．１Ｓ＋１）を直列に加えることになるが、これらに限られるものではなく、適切な推定速度となるような任意の遅れ要素を加えることができる。
【００４７】
ロール方向外部トルク推定部４１１では、ロール傾斜角の推定値に変換係数を乗算して、本体３に働いているロール方向外部トルクの推定値を算出し、ロール用補正トルク（ロール方向外部トルクの推定値に相当）τ3rを推定する。
【００４８】
目標ロール角速度算出部４０７では、目標ロール角からロール傾斜角の推定値を減じたロール角度偏差に回転角度ΘR をヨー方向の回転指令として加算する。加算した値に比例ゲインを乗算して、目標ロール角速度ω2rを算出する。ロール用トルク指令生成部（モータ回転指令生成部）４０８では、目標ロール角速度ω2rとロール角速度ω1rとの偏差に対して、例えばＰＩ制御によりロール用トルク指令τ0rを生成する。
【００４９】
本実施の形態では、目標ヨー角θt の指定を受け付けた場合、比較的短時間の慣性ロータ６４の回転により、摩擦トルクＴｒを考慮した反動トルクを算出する。したがって、実際にはロール方向の傾斜に対しては、慣性ロータ６４の回転によるトルクがほとんど影響することがなく、ロール方向の転倒を防止する制御ルーチンに対してロール方向に傾ける過大なトルクが入力される等の異常入力が発生することがない。よって、ロール方向の転倒を防止する制御ルーチンを正常に続行することができる。
【００５０】
ロール用モータトルク指令電圧算出部４０９では、ロール用トルク指令τ0rとロール用補正トルクτ3rとを加えたロール用トルク指令τ2rに対して、変換係数を乗算して、指令電圧を算出する。最後に、ロール用ＤＡコンバータ部４１０では、ドライバに指令電圧を出力し、ロール用モータ６２の回転を制御する。
【００５１】
本実施の形態では、本体３を所定の前傾角度θ1 だけピッチ方向に傾いた状態で目標ヨー角θt の指定を受け付ける。すなわち、前傾角度θ1 が存在しなければ、慣性ロータ６４の回転により本体３をヨー方向へ回転させるトルクが発生せず、方向転換することができないからである。図５は、一輪車ロボット１を側面から見た模式図である。
【００５２】
図５に示すように、本体３が前傾角度θ1 だけピッチ方向に傾くことにより、慣性ロータ６４の回転中心軸も前傾角度θ1 だけ傾斜する。したがって、慣性ロータ６４の回転により生じる力ＦR
は、慣性ロータ６４の回転中心から前傾角度θ1 と平行な方向に生じる。
【００５３】
したがって、慣性ロータ６４の回転により生じる水平方向の力Ｆyaw1は、（式３）にて求めることができる。
【００５４】
Ｆyaw1＝ＦR ・ｓｉｎθ1     ・・・  （式３）
【００５５】
生じた水平方向の力Ｆyaw1により、本体３に生じるヨー方向のトルクＴyaw1は、慣性ロータ６４の半径をＲとした場合、（式４）にて算出することができる。
【００５６】
Ｔyaw1＝ＦR ・Ｒ・ｓｉｎθ1 
＝ＴR ・ｓｉｎθ1         ・・・  （式４）
ただし、ＴR は、慣性ロータ６４の回転により生じるトルク
【００５７】
本体３の前傾角度θ1 が１２（ｄｅｇ）であった場合、ｓｉｎθ1 は０．２０７であるので、（式４）から本体３に生じるヨー方向のトルクＴyaw1は０．２０７×ＴR で求めることができる。また、一輪車ロボット１がヨー方向に回転する方向は、算出したヨー方向のトルクＴyaw1を反動トルクとして回転するのでヨー方向のトルクＴyaw1とは反対方向になる。例えば慣性ロータ６４が一輪車ロボット１の正面から見て時計回りに回転した場合には、一輪車ロボット１は、上から見て時計回りに回転することになる。
【００５８】
なお、実際には車輪２と路面との接地面での粘性摩擦係数μに基づく静摩擦トルクは無視することができる大きさではなく、摩擦トルクＴｒとして静摩擦分だけ余分に回転トルクを加えなければ、本体３は指定を受け付けた目標ヨー角θt まで回転することはできない。したがって、慣性ロータ６４により加えるべき回転トルクＴ１は、（式１）に示すようにＴ１＝Ｔ２＋Ｔｒ＝Ｔyaw1＋Ｔｒとなる。
【００５９】
摩擦トルクＴｒは、車輪２と路面とが接触する接地面における粘性摩擦係数μにより大きさが変動する。図６は、指定するべき摩擦トルクＴｒを特定する方法を説明するグラフである。図６（ａ）は、慣性ロータ６４が回転を開始してからのヨー角θ（ｒａｄ）の実際の時間変化を示すグラフであり、図６（ｂ）は、慣性ロータ６４が回転を開始してからのヨー方向トルクτ（Ｎ・ｍ）の時間変化を示すグラフである。
【００６０】
図６（ｂ）に示すように、ヨー方向トルクτ（Ｎ・ｍ）は慣性ロータ６４が回転を開始してから一定の割合で増加するのに対し、図６（ａ）に示すように、ヨー角θは慣性ロータ６４が回転を開始してから一定時間後である時刻ｔ１までは変化しない。これは、慣性ロータ６４の回転により生じるトルクが接地面での静摩擦トルクを超えるまでは回転を開始せず、接地面での静摩擦トルクを超えた時点、すなわち時刻ｔ１から本体３がヨー方向の回転を開始するからである。
【００６１】
したがって、時刻ｔ１でのヨー方向トルクτ１（Ｎ・ｍ）に対応する回転トルクを指定するべき摩擦トルクＴｒと特定することができる。よって、摩擦トルク受付部３０４において、摩擦トルクＴｒとしてヨー方向トルクτ１（Ｎ・ｍ）に対応する回転トルクの指定を受け付けた場合、指定を受け付けた目標ヨー角θt へ方向転換するよう精度良く制御することができる。
【００６２】
摩擦トルクＴｒとして静摩擦トルクの指定を受け付ける場合、摩擦トルク受付部３０４は、図７に示す摩擦トルク情報取得部として機能する。図７は、本発明の実施の形態に係る移動方向制御装置を適用した一輪車ロボット１の摩擦トルク情報取得部３０４ａの機能ブロック図である。摩擦トルク情報取得部３０４ａは、ヨー回転角検出部７０１、変動トルク検出部７０２、及び静摩擦トルク算出部７０３を備えている。
【００６３】
ヨー回転角検出部７０１は、車輪２のヨー方向の回転角を検出する。変動トルク検出部７０２は、ヨー回転角検出部７０１で検出されるヨー方向の回転角を監視し、ヨー方向の回転角の変動開始を検知した時点、すなわちヨー方向の回転角が変動を開始した時刻（図６の時刻ｔ１）におけるヨー方向のトルクを検出する。静摩擦トルク算出部７０３は、検出したヨー方向のトルクに基づく静摩擦トルクを、指定を受け付ける摩擦トルクＴｒとして算出する。
【００６４】
一方、一旦本体３がヨー方向に回転を開始した場合には、粘性摩擦係数μは大きく減少する。したがって、摩擦トルク受付部３０４において、摩擦トルクＴｒとしてヨー方向トルクτ１（Ｎ・ｍ）に基づく静摩擦トルクの指定を受け付けた場合、加える回転トルクが過大となる傾向が生じやすい。したがって、本体３がヨー方向に回転している状態での動摩擦トルクを摩擦トルクＴｒとして指定を受け付けても良い。
【００６５】
この場合、図６（ａ）に示すように、慣性ロータ６４が回転を開始して、到達時間ｔの中間時刻ｔｍを経過した後、時刻ｔ２では目標ヨー角θt に収束する。これは、動摩擦トルクが、慣性ロータ６４の回転による回転トルクと釣り合ったからである。したがって、図６（ｂ）に示すように、時刻ｔ２におけるヨー方向トルクτ２（Ｎ・ｍ）に対応する回転トルクを指定するべき摩擦トルクＴｒと特定することができる。よって、摩擦トルク受付部３０４において、摩擦トルクＴｒとしてヨー方向トルクτ２（Ｎ・ｍ）に対応する回転トルクの指定を受け付けた場合、指定を受け付けた目標ヨー角θt へ方向転換するよう、より精度良く制御することができる。
【００６６】
摩擦トルクＴｒとして動摩擦トルクの指定を受け付ける場合、摩擦トルク受付部３０４は、図８に示す摩擦トルク情報取得部として機能する。図８は、本発明の実施の形態に係る移動方向制御装置を適用した一輪車ロボット１の摩擦トルク情報取得部３０４ｂの機能ブロック図である。摩擦トルク情報取得部３０４ｂは、ヨー回転角検出部８０１、収束トルク検出部８０２、及び動摩擦トルク算出部８０３を備えている。
【００６７】
ヨー回転角検出部８０１は、車輪２のヨー方向の回転角を検出する。収束トルク検出部８０２は、ヨー回転角検出部８０１で検出されるヨー方向の回転角を監視し、ヨー方向の回転角が収束する時刻、すなわち図６の時刻ｔ２におけるヨー方向のトルクを検出する。動摩擦トルク算出部８０３は、検出したヨー方向のトルクに基づく動摩擦トルクを、指定を受け付ける摩擦トルクＴｒとして算出する。
【００６８】
図９は、本発明の実施の形態に係る移動方向制御装置の制御基板３５のコントローラによる方向転換処理の手順を示すフローチャートである。制御基板３５のコントローラは、目標ヨー角θt の指定を受け付ける（ステップＳ９０１）。目標ヨー角θt の指定の受付方法は特に限定されるものではなく、ブルートゥース（Ｂｌｕｅｔｏｏｔｈ）（登録商標）等の無線通信を介して外部から指定するべき目標ヨー角θt を受信しても良いし、制御基板３５のコントローラにメモリを内蔵し、該メモリ内に事前に目標ヨー角θt を記憶させておいても良い。また、メモリカード等を挿入することが可能なスロットを設けておき、目標ヨー角θt が記憶されているメモリカード等を、都度挿入することで目標ヨー角θt を読み込ませても良い。なお、ヨー方向の回転角であるヨー角θが目標ヨー角θt に到達するまでの到達時間ｔについては、目標ヨー角θt の指定を受け付けると同時に受け付けても良いし、一定時間として事前にコントローラのメモリに記憶しておいても良い。
【００６９】
コントローラは、指定を受け付けた目標ヨー角θt 及びヨー角θが目標ヨー角θt に到達するまでの到達時間ｔに基づいて、ヨー角θを２回時間微分することによりヨー角加速度ω’を算出する（ステップＳ９０２）。ヨー角速度ωは、ヨー角加速度ω’を到達時間ｔの中間で正負反転させた一定値であると仮定している場合、目標ヨー角θt に到達するまでの到達時間ｔの２分の１が経過するまでは一定の割合で単調増加し、目標ヨー角θt に到達するまでの到達時間ｔの２分の１が経過した後は一定の割合で単調減少する。
【００７０】
上述の例では、ヨー角加速度ω’は、目標ヨー角θt に到達するまでの到達時間ｔの２分の１が経過するまでは正の一定値として、目標ヨー角θt に到達するまでの到達時間ｔの２分の１が経過した後は負の一定値として、それぞれ算出することができる。
【００７１】
コントローラは、算出されたヨー角加速度ω’に基づいて、本体３を目標ヨー角θt まで回転させるために必要な回転トルクＴ２を算出する（ステップＳ９０３）。コントローラは、摩擦トルクＴｒとして車輪２と路面との粘性摩擦係数μに応じた静摩擦トルクの指定を受け付ける（ステップＳ９０４）。コントローラは、算出した回転トルクＴ２と指定を受け付けた摩擦トルクＴｒとを加算して、慣性ロータ６４により加えるべき回転トルクＴ１を算出する（ステップＳ９０５）。
【００７２】
コントローラは、本体３の前傾角度θ1 を取得する（ステップＳ９０６）。取得する方法は、傾斜角を検出する傾斜角センサを設けても良いし、特に限定されるものではない。例えば簡便な方法として、鉛直方向と慣性ロータ６４の回転中心軸に直交する方向とのなす角度を、三角法等を用いて導出すれば良い。コントローラは、（式２）に基づいて、本体３の前傾角度θ1 で回転トルクＴ１を補正することにより、慣性ロータ６４の角加速度ωR ’を算出する（ステップＳ９０７）。すなわち本体３が前傾しているので、慣性ロータ６４の回転中心軸が傾いており、同じ回転数であれば慣性ロータ６４の回転により発生するトルクが傾いている分だけ減少する。したがって、必要なトルクを発生させるためには、減少する分だけ必要とされる慣性ロータ６４の角加速度ωR ’を大きく算出する必要がある。
【００７３】
コントローラは、算出した慣性ロータ６４の角加速度ωR ’を２回積分することにより、慣性ロータ６４の回転数（回転角）及び回転方向を算出して（ステップＳ９０８）、算出した回転数（回転角）及び回転方向にてロール用モータ６２が回転するようにロール用モータ６２の回転指令を生成する（ステップＳ９０９）。なお、ステップＳ９０７乃至ステップＳ９０９は、ステップＳ９０５にて算出したＴ１に変換係数を乗算することにより、慣性ロータ６４の回転数（回転角）及び回転方向を算出して、算出した回転数（回転角）及び回転方向にてロール用モータ６２が回転するようにロール用モータ６２の回転指令を生成するようにしても良い。コントローラは、生成したロール用モータ６２の回転指令に対して、変換係数を乗算して、指令電圧を算出して、ドライバに指令電圧を出力する（ステップＳ９１０）。
【００７４】
コントローラは、到達時間ｔが経過したか否かを判断し（ステップＳ９１１）、コントローラが、到達時間ｔが経過していないと判断した場合（ステップＳ９１１：ＮＯ）、コントローラは、経過待ち状態となる。コントローラが、到達時間ｔが経過したと判断した場合（ステップＳ９１１：ＹＥＳ）、コントローラは、現在のヨー角を取得し（ステップＳ９１２）、目標ヨー角θt との差分角を算出する（ステップＳ９１３）。
【００７５】
コントローラは、算出した差分角が所定値より小さいか否かを判断し（ステップＳ９１４）、コントローラが、差分角が所定値以上であると判断した場合（ステップＳ９１４：ＮＯ）、コントローラは、算出した差分角を新たな目標ヨー角θt に設定し（ステップＳ９１５）、処理をステップＳ９０２に戻して上述した処理を繰り返す。コントローラが、算出した差分角が所定値より小さいと判断した場合（ステップＳ９１４：ＹＥＳ）、コントローラは、方向転換が完了したと判断して処理を終了する。
【００７６】
ロール方向の傾斜を制御する慣性ロータ６４を用いて方向転換することから、ロール方向の釣り合いも維持する必要がある。図１０は、一輪車ロボット１を正面から見た模式図である。図１０では、本体３及び本体３に取り付けられた慣性ロータ６４のみを模式的に示している。ロール方向の傾斜角を求めるために、まずラグランジュ方程式により運動方程式を導出する。本体３（慣性ロータ６４以外の部分）と慣性ロータ６４とを合わせた、全体の運動エネルギーＴ及び位置エネルギーＵは以下の（式５）及び（式６）のようになる。
【００７７】
【数１】
2011027615.tif 000003
【００７８】
一般化座標と一般化速度による微分量は、以下の（式７）〜（式１２）のようになる。
【００７９】
【数２】
2011027615.tif 000004
【００８０】
ラグランジュ方程式（式１３）、（式１４）に（式７）〜（式１２）を代入する。
【００８１】
【数３】
2011027615.tif 000005
【００８２】
この結果、運動方程式として、次の（式１５）、（式１６）を得る。
【００８３】
【数４】
2011027615.tif 000006
【００８４】
（式１６）を変形すると、（式１７）となる。
【００８５】
【数５】
2011027615.tif 000007
【００８６】
（式１７）を（式１５）に代入して、ロール方向の傾斜角θ1rが微小であると仮定した場合、ｓｉｎθ1rをθ1rで近似することができ、（式１８）を得る。（式１８）より、本体３の運動は、慣性ロータ６４の角度及び角速度には無関係となる。
【００８７】
【数６】
2011027615.tif 000008
【００８８】
−ロール傾斜角の推定−
ロール傾斜角は、ロール用ジャイロセンサ６１が出力するロール角速度ω1rを積分することにより求めることも可能であるが、偏差が累積して不正確になるため、別の方法で求める必要がある。そこで、図１０から導いた運動方程式を用いて、ロール用ジャイロセンサ６１が出力するロール角速度ω1rと、ロール用トルク指令τ2rとから、ロール傾斜角を推定する。運動方程式（式１８）を変形すると、（式１９）となる。
【００８９】
【数７】
2011027615.tif 000009
【００９０】
一方、ロール用ジャイロセンサ６１が出力するロール角速度の微分値であるω1rドットは、（式２０）で表わされる。
【００９１】
【数８】
2011027615.tif 000010
【００９２】
また、ロール方向の外乱トルクτ1rが発生した場合、見かけの釣合い傾斜角θ0rは（式２１）となる。
【００９３】
【数９】
2011027615.tif 000011
【００９４】
したがって、見かけの釣合い傾斜角θ0rに対する現在のロール方向の傾斜角θ1rの偏差角（ロール傾斜角）は、上記（式１９）、（式２０）、（式２１）より、（式２２）を導出して算出することによって推定することができる。ただし、適切な推定速度を持たせてループを安定化させるために、一次遅れ要素を直列に加えておく方が良い。なお、（式２２）はロール傾斜角を推定する計算式の一例であり、推定対象となる運動系によってロール傾斜角を推定する計算式は異なる場合がある。
【００９５】
【数１０】
2011027615.tif 000012
【００９６】
ロール用ジャイロセンサ６１で出力されたロール角速度ω1rと、目標ロール角に基づいて生成されるロール用モータ６２に与えるロール用トルク指令τ2rとから、釣合い状態に対して本体３がロール方向へ傾斜している角度であるロール傾斜角を推定することにより、ピッチ傾斜角と同様に、ロール傾斜角を精度良く推定することができる。また、ロール用ジャイロセンサ６１が出力するロール角速度ω1rを積分することがないので、ノイズ、オフセット等の累積による目標ロール角の計算誤差が生じることがなく、慣性ロータ６４の回転により生じる反動トルクを利用し、釣合い状態からのロール方向の傾斜を精度良く補正して、ロール方向への転倒を防止することができる。
【００９７】
−ロール方向外部トルクフィードフォワード−
(式２２)で推定された偏差角（ロール傾斜角）によって、ロール方向外部トルクを補償する。
【００９８】
【数１１】
2011027615.tif 000013
【００９９】
（式２３）のロール方向外部トルクを、トルクに加えておく。
【０１００】
【数１２】
2011027615.tif 000014
【０１０１】
（式２４）とすれば、運動方程式（式１８）は、（式２５）となるから、ロール方向外部トルクを補償することができる。釣合い状態から本体３がロール方向へ傾斜している角度であるロール傾斜角を推定した（式２２）によって、釣合い状態からのロール方向への傾斜角度によって生じるロール方向外部トルクを推定することができるので、推定したロール方向外部トルクを相殺する補正トルクを算出することができる。したがって、ロール方向外部トルクによる影響を加味してロール用モータ６２の回転をより適正に制御することができるので、釣合い状態からのロール方向の傾斜をより精度良く補正してロール方向の転倒を防止することができる。特に、傾斜角ループ、傾斜角速度ループの応答周波数が低い場合でも、ロール方向外部トルクをフィードフォワード制御で補償することにより、ロール方向の転倒を防止する制御ルーチンを正常に実行することができるため、安定した制御が可能となる。
【０１０２】
【数１３】
2011027615.tif 000015
【０１０３】
図１１は、本発明の実施の形態に係る移動方向制御装置を適用した一輪車ロボット１の制御基板３５のコントローラによるロール方向の転倒防止処理手順を示すフローチャートである。図１１に示すように制御基板３５のコントローラは、ロール用モータ６２の回転速度を検出したロール用エンコーダ６３の出力パルス（パルス信号）のパルス数を計数する（ステップＳ１１０１）。
【０１０４】
コントローラは、計数したパルス数からロール方向の回転速度を算出する（ステップＳ１１０２）。具体的には、計数したパルス数を回転角度に変換したあと、微分して回転速度を算出する。コントローラは、ロール方向の回転速度に基づいて目標とするロール方向の傾斜角度である目標ロール角を算出する（ステップＳ１１０３）。
【０１０５】
コントローラは、算出した目標ロール角から後述するステップＳ１１１１で推定したロール傾斜角を減じてロール角度偏差を算出し（ステップＳ１１０４）、算出したロール角度偏差に比例ゲインを乗算して目標ロール角速度ω2rを算出する（ステップＳ１１０５）。
【０１０６】
コントローラは、目標ロール角速度ω2rと、後述するステップＳ１１１０で算出したロール角速度ω1rとのロール角速度偏差を算出し（ステップＳ１１０６）、算出したロール角速度偏差に対してＰＩ制御等によりロール用トルク指令τ0rを生成する（ステップＳ１１０７）。
【０１０７】
コントローラは、生成したロール用トルク指令τ0rを後述するステップＳ１１１２で推定したロール方向外部トルクτ3rで補正し、ロール用トルク指令τ2rを生成する（ステップＳ１１０８）。
【０１０８】
コントローラは、ロール用ジャイロセンサ６１が出力したロール角速度をＡ／Ｄ変換して取得する（ステップＳ１１０９）。コントローラは、取得したロール角速度に変換係数を乗算してロール角速度ω1rを算出する（ステップＳ１１１０）。
【０１０９】
コントローラは、（式２２）を用いて、算出したロール角加速度ω1rドットと、上述したステップＳ１１０８で生成したロール用トルク指令τ2rとから、釣合い状態に対して本体３がロール方向に傾斜している角度であるロール傾斜角を推定する（ステップＳ１１１１）。コントローラは、推定したロール傾斜角に基づいて、本体３をロール方向に傾斜させるロール方向外部トルクを推定する（ステップＳ１１１２）。
【０１１０】
コントローラは、ステップＳ１１０８でロール用トルク指令τ2rを生成したか否かを判断する（ステップＳ１１１３）。
【０１１１】
コントローラが、ロール用トルク指令τ2rを生成したと判断した場合（ステップＳ１１１３：ＹＥＳ）、コントローラは、生成したロール用トルク指令τ2rに変換係数を乗算して指令電圧を算出する（ステップＳ１１１４）。コントローラは、算出した指令電圧をＤ／Ａ変換し、ロール用モータ６２を回転駆動するドライバに出力する（ステップＳ１１１５）。コントローラは、処理をステップＳ１１０１及びステップＳ１１０９に戻し、上述した処理を繰り返す。
【０１１２】
一方、コントローラが、ロール用トルク指令τ2rを生成していないと判断した場合（ステップＳ１１１３：ＮＯ）、本体３は釣合い状態であり、コントローラは、処理を終了する。
【０１１３】
このようにすることで、ヨー方向の回転制御のためにロール用の慣性ロータ６４を回転させた場合であっても、ロール方向制御によりロール方向の釣り合いを維持した状態で一輪車ロボット１は方向転換することが可能となる。
【０１１４】
なお、静摩擦トルクを摩擦トルクＴｒとして用いる場合、制御基板３５のコントローラは、摩擦トルク情報取得部３０４ａとして機能する。図１２は、本発明の実施の形態に係る移動方向制御装置を適用した一輪車ロボット１の制御基板３５のコントローラによる静摩擦トルクの算出処理の手順を示すフローチャートである。
【０１１５】
図１２において、制御基板３５のコントローラは、図９のステップＳ９０３の処理を実行した後、車輪２のヨー方向の回転角を検出する（ステップＳ１２０１）。コントローラは、ヨー方向の回転角が変動を開始したか否かを判断し（ステップＳ１２０２）、コントローラが、ヨー方向の回転角が変動を開始していないと判断した場合（ステップＳ１２０２：ＮＯ）、コントローラは、ヨー方向の回転角の変動開始の検知待ち状態となる。
【０１１６】
コントローラが、ヨー方向の回転角が変動を開始したと判断した場合（ステップＳ１２０２：ＹＥＳ）、コントローラは、ヨー方向の回転角の変動開始を検知した時点、すなわちヨー方向の回転角が変動を開始した時刻（図６の時刻ｔ１）におけるヨー方向のトルクを検出し（ステップＳ１２０３）、検出したヨー方向のトルクに基づく静摩擦トルクを、指定を受け付ける摩擦トルクＴｒとして算出して（ステップＳ１２０４）、処理を図９のステップＳ９０５へ進める。
【０１１７】
また、動摩擦トルクを摩擦トルクＴｒとして用いる場合、制御基板３５のコントローラは、摩擦トルク情報取得部３０４ｂとして機能する。図１３は、本発明の実施の形態に係る移動方向制御装置を適用した一輪車ロボット１の制御基板３５のコントローラによる動摩擦トルクの算出処理の手順を示すフローチャートである。
【０１１８】
図１３において、制御基板３５のコントローラは、図９のステップＳ９０３の処理を実行した後、車輪２のヨー方向の回転角を検出する（ステップＳ１３０１）。コントローラは、ヨー方向の回転角が収束したか否かを判断し（ステップＳ１３０２）、コントローラが、ヨー方向の回転角が収束していないと判断した場合（ステップＳ１３０２：ＮＯ）、コントローラは、ヨー方向の回転角の収束の検知待ち状態となる。
【０１１９】
コントローラが、ヨー方向の回転角が収束したと判断した場合（ステップＳ１３０２：ＹＥＳ）、コントローラは、ヨー方向の回転角が収束した時刻、すなわち図６の時刻ｔ２におけるヨー方向のトルクを検出する（ステップＳ１３０３）。コントローラは、検出したヨー方向のトルクに基づく動摩擦トルクを、指定を受け付ける摩擦トルクＴｒとして算出する（ステップＳ１３０４）。
【０１２０】
以上のように、本実施の形態によれば、ピッチ方向に傾斜していない場合にはロール方向の傾斜角制御にしか用いることができない慣性ロータ６４を、ピッチ方向に傾斜させることによりヨー方向のトルクを発生させることができ、別個にヨー方向制御用の慣性ロータを設けることなく方向転換することが可能となる。すなわち、算出したヨー方向の必要トルクを生じさせるモータの回転指令を、ピッチ角に応じて生成することにより、指定を受け付けたヨー角を生じさせるために必要な慣性ロータ６４の回転数を、ピッチ角に応じて変動させることができ、確実に所望の方向へ方向転換することが可能となる。
【０１２１】
なお、上述した実施の形態は、本発明の趣旨を逸脱しない範囲で変更することができることは言うまでもない。例えば摩擦トルクＴｒとして、粘性摩擦係数μに基づく静摩擦トルク、動摩擦トルクの指定を受け付けることに限定されるものではなく、例えば図６に示す時刻ｔ１までは静摩擦トルクを、時刻ｔ１経過後は動摩擦トルクを、というように指定を受け付ける摩擦トルクＴｒを可変としても良い。
【符号の説明】
【０１２２】
１  一輪車ロボット（移動方向制御装置）
２  車輪
３  本体
３５  制御基板
３６  電池
６１  ロール用ジャイロセンサ（ロール用角速度センサ）
６２  ロール用モータ
６３  ロール用エンコーダ（ロール用回転センサ）
６４  慣性ロータ
Ｏ1 、Ｏ2   回転中心
ｍ1   本体質量
ｍ2   慣性ロータ質量
Ｉ1r  Ｏ1 まわりの本体の慣性モーメント
Ｉ2r  Ｏ2 まわりの慣性ロータの慣性モーメント
θ1   垂直軸に対する本体のピッチ方向の傾斜角度
θ1r  垂直軸に対する本体のロール方向の傾斜角度
θ2r  本体に対する慣性ロータの回転角度
ｌr   Ｏ1 からＯ2 までの距離
ｌGr  Ｏ1 から本体重心位置までの距離
ｇ  重力加速度
【図１】
2011027615.tif 000016
【図２】
2011027615.tif 000017
【図３】
2011027615.tif 000018
【図４】
2011027615.tif 000019
【図５】
2011027615.tif 000020
【図６】
2011027615.tif 000021
【図７】
2011027615.tif 000022
【図８】
2011027615.tif 000023
【図９】
2011027615.tif 000024
【図１０】
2011027615.tif 000025
【図１１】
2011027615.tif 000026
【図１２】
2011027615.tif 000027
【図１３】
2011027615.tif 000028
【国際調査報告】
2011027615.tif 000029
2011027615.tif 000030
2011027615.tif 000031