(57)【要約】【課題】複数種類の重量物を把持可能な台車ロボットにおいて、把持する重量物の重量や形状が相違することによる倒立制御への影響を低減する。【解決手段】この台車ロボットは、倒立振子型の制御モデルに基づいて制御される台車１と、台車１に載置された重量物把持装置８０と、台車１に対して重量物把持装置８０を台車進行方向前後にスライド移動可能に案内するスライド機構１００ａ，１００ｂとを備える。重量物把持装置８０は、把持する重量物の種類に応じて台車進行方向前後にスライド移動し、適切な位置に位置決めされる。【選択図】  図１
2004345030.tif 000002
【特許請求の範囲】
【請求項１】
倒立振子制御モデルに基づいて制御される台車と、台車に載置される重量物把持装置と、台車に対して重量物把持装置を台車進行方向前後にスライド移動可能に案内するスライド機構とを備える倒立振子型台車ロボット。
【請求項２】
前記重量物把持装置が重量及び／又は形状が異なる複数種類の重量物を把持可能な請求項１に記載の倒立振子型台車ロボットであって、
重量物の種類を識別する識別手段と、
識別手段により識別された重量物の種類に応じたスライド位置に重量物把持装置を位置決めする位置決め手段と、をさらに有する倒立振子型台車ロボット。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】本発明は、倒立振子制御モデルにより倒立姿勢を維持するよう制御される倒立振子型台車ロボットに関する。
【０００２】
【従来の技術】倒立振子型の台車ロボットとしては、例えば、特許文献１に記載のものが知られている。
特許文献１に開示された台車ロボットは、一対の車輪と、車輪間に架設された車軸と、車軸上に回転可能に支持された台車本体とを備えている。台車本体の傾きは角度検出手段によって検出される。この台車ロボットでは、車輪を駆動する車輪駆動用モータを有し、車輪駆動用モータは制御コンピュータから出力される制御指令値（制御トルク値）に基づいて駆動される。制御コンピュータには、台車本体の傾斜角度を入力値として制御トルク値を算出するための制御入力算出式が設定されている。
かかる構成においては、角度検出手段によって台車本体の傾きが短時間間隔でサンプリングされる。サンプリングされた傾斜角度は制御入力算出式に代入され、車輪駆動用モータの制御トルク値が算出される。そして、算出された制御トルク値に相当する電流指令値が車輪駆動用モータに出力される。このため、車輪駆動用モータは台車本体の傾きに応じて駆動され、台車本体の倒立が維持される。
【０００３】
【特許文献１】
特開昭６３−３０５０８２号
【０００４】
【発明が解決しようとする課題】近年、上述した倒立振子型の台車ロボットに重量物を把持する機能を持たせ、台車ロボットによって重量物の運搬等を行わせることが検討されている。例えば、工場内において部品を搬送する搬送車として台車ロボットを利用する場合である。かかる場合には、台車ロボットの倒立制御は把持する重量物の重量や形状等を考慮して行うことが好ましい。把持する重量物の重量や形状等によって、台車ロボット（詳しくは、車軸に支持される部分）の重心位置や車軸周りの慣性モーメントが変化してしまうからである。
しかしながら、台車ロボットによって把持する重量物が複数種類あると問題は複雑となる。すなわち、複数種類の重量物を把持する場合、重量物の種類によってその重量や形状等が異なることがある。したがって、ある種類の重量物に基づいて台車ロボットの倒立制御を行うように設計すると、他の種類の重量物を把持すると、そのときの台車ロボットの重心位置や車軸周りの慣性モーメントが設計値と異なってしまう。このため、把持した重量物の種類によって台車ロボットの倒立姿勢が変化したり、また、設計値からのずれが大きくなりすぎると倒立姿勢を維持できない場合も生じることとなる。
【０００５】
本発明は上述した事情に鑑みてなされたものであり、その目的は、重量物把持機能を有する台車ロボットにおいて把持する重量物の重量や形状が変化する場合に、それによる倒立制御への影響を低減することが可能となる技術を提供することである。
【０００６】
【課題を解決するための手段と作用と効果】上記課題を解決するために請求項１に記載の倒立振子型台車ロボットは、倒立振子制御モデルに基づいて制御される台車と、台車に載置される重量物把持装置と、台車に対して重量物把持装置を台車進行方向前後にスライド移動可能に案内するスライド機構とを備える。
この台車ロボットでは、台車に対して重量物把持装置を台車進行方向前後にスライド移動させることができる。このため、把持した重量物の重量や形状に応じて台車に対する重量物把持装置の位置を変えて、台車ロボットの重心位置等を調整することができる。したがって、把持する重量物の重量や形状が変化しても、それによる倒立制御への影響を低減することができる。
【０００７】
前記重量物把持装置が重量及び／又は形状が異なる複数種類の重量物を把持可能な場合、さらに重量物の種類を識別する識別手段と、識別手段により識別された重量物の種類に応じたスライド位置に重量物把持装置を位置決めする位置決め手段とを有することが好ましい。このような構成によると、把持する重量物の種類に対応して、重量物把持装置を適切な位置に自動的に位置決めすることができる。
【０００８】
【発明の実施の形態】次に、本発明の好適な一実施形態に係る台車ロボットについて説明する。図１９は本実施形態に係る台車ロボットを示し、同図（ａ）は重量物Ａを把持（保持）した状態を示し、同図（ｂ）は重量物把持装置の位置調整を行わないで重量物Ｂを把持した状態を示し、同図（ｃ）は把持する重量物Ａを重量物Ｂに変更したときの重心変化を示し、同図（ｄ）は重量物把持装置の位置調整を行ったときの台車ロボットの倒立姿勢を示している。
図１９（ａ）に示すように台車ロボット１２０は、台車（台車本体１２１と車輪１２２によって構成される）と、その台車に載置される重量物把持装置１２４とを備える。台車本体１２１は、車輪１２２の車軸１２３に回転可能に支持される。台車本体１２１の傾斜角度又は傾斜角速度は、図示省略したセンサ（例えば、傾斜角度計，ジャイロセンサ等）によって検出される。車輪１２２は、図示省略した駆動手段（例えば、モータ）によって回転駆動される。この駆動手段は、同じく図示省略した制御装置によって制御される。制御装置は、台車ロボット１２０をモデル化した倒立振子型の制御モデルに基づいて設計されている。制御装置は、台車本体１２１の傾斜角度又は傾斜角速度等を入力とし、台車本体１２１及び重量物把持装置１２４が倒立姿勢を維持するよう駆動手段を駆動する。例えば、台車本体１２１の傾斜角速度が０（目標値）となるように駆動手段を駆動する。なお、この制御装置は、外乱に対して安定倒立可能なようにロバスト性を有することが好ましい。ロバスト性を有することでモデル化誤差（すなわち、把持する重量物の重量変化や形状変化等）の影響を低減し、倒立制御可能な範囲を広げることができるためである。
【０００９】
重量物把持装置１２４は、図示省略したスライド機構を介して台車本体１２１の上面に載置される。重量物把持装置１２４は、スライド機構に案内されて台車進行方向前後（車軸１２３の軸方向に略垂直な方向）にスライド移動する。重量物把持装置１２４は、スライド可能な範囲内の任意の位置に位置決め可能となっている。重量物把持装置１２４には、重量物を把持（又は保持）するための重量物把持部１２５を備える。重量物把持部１２５には、複数の重量物（本実施形態では、重量物Ａと重量物Ｂ）が把持可能となっている。重量物Ａの重量は、重量物Ｂの重量と比較して小さくなっている。
【００１０】
次に、上述した台車ロボット１２０の作用を説明する。図１９（ａ）に示すように、台車ロボット１２０が重量物Ａを把持したとき、重量物把持装置１２４は台車ロボット１２０の設置面に対し略垂直な状態で安定倒立するものとする。すなわち、重量物把持装置１２４が設置面に対し略垂直な状態となるときの台車ロボット１２０の重心（詳細には、台車本体１２１と重量物把持装置１２４と重量物Ａの重心）が車軸１２３の回転中心を通る垂線上の点Ｇに位置する。
この状態から重量物把持装置１２４に把持する重量物Ａを重量物Ｂに変更する。重量物Ｂは重量物Ａに比して重いことから、図１９（ｃ）に示すように台車ロボット１２０の重心は台車進行方向前方にずれる（点Ｇ→点Ｇ’）。したがって、重量物把持装置１２４の位置調整を行わないと、図１９（ｂ）に示すように重量物把持装置１２４は斜め後方に傾斜する。すなわち、台車ロボット１２０は倒立姿勢を維持するため、台車ロボット１２０の新しい重心（点Ｇ’）が車軸１２３の回転中心を通る垂線上に位置するよう台車本体１２１が車軸１２３周りに回転する。
そこで、本実施形態の台車ロボット１２０は、把持する重量物の重量や形状が変化することによる重心の変化を、重量物把持装置１２４を台車進行方向前後にスライド移動させることによって対応する。すなわち、図１９（ｄ）に示すように重量物把持装置１２４を台車進行方向後方にスライド移動させることで、台車ロボット１２０の重心を車軸１２３の回転中心を通る垂線上の点Ｇ’’に調整する。重量物把持装置１２４が位置調整されると、重量物把持装置１２４の倒立姿勢は設置面に対して略垂直となり、重量物Ａを保持したときの倒立姿勢と同一姿勢となる。したがって、重量物把持装置１２４の位置調整を行うことで、台車ロボット１２０の倒立姿勢が変化することを防止することができる。
【００１１】
上述した重量物把持装置１２４の位置調整は、作業者によって手動で行うよう構成してもよいし、あるいは、制御手段により自動で行われるよう構成してもよい。重量物把持装置１２４の位置調整を自動で行う場合、台車ロボット１２０は、さらに、重量物把持装置１２４をスライド機構に案内して台車進行方向前後に移動させるための駆動手段（例えば、モータ，リニアソレノイド，エアーシリンダ等）と、駆動手段を制御する制御手段を備えることが好ましい。制御手段は、例えば、別途設けた位置検出手段によって検出された重量物把持装置１２４の位置に基づいて、重量物把持装置１２４を所望の位置に位置決めするよう駆動手段を制御する。
【００１２】
また、重量物把持装置１２４を位置決めする位置（以下、スライド位置という）は重量物の種類に応じて予め設定されていることが好ましい。上述の例の場合、重量物Ａに対応してスライド位置Ａを、重量物Ｂに対応してスライド位置Ｂが設定される。上記制御手段は、重量物Ａを把持するときは重量物把持装置１２４をスライド位置Ａに位置決めし、重量物Ｂを把持するときは重量物把持装置１２４をスライド位置Ｂに位置決めする。スライド位置Ａ，Ｂの位置座標は制御手段のメモリ等に格納することができる。
あるいは、把持した重量物の重量等を測定し、測定された重量に応じて重量物把持装置１２４を位置決めするようにしてもよい。例えば、制御手段のメモリには、重量物の重量に応じて重量物把持装置１２４を位置決めする位置が関数として格納される。重量物把持装置１２４が重量物を把持すると、まず、その重量を測定し、次いで、測定された重量に応じたスライド位置に重量物把持装置１２４を位置決めする。
【００１３】
また、台車ロボット１２０は、把持する重量物の種類（例えば、重量物Ａ又は重量物Ｂ）を識別する識別手段を備えることが好ましい。把持する重量物の識別は種々の方法で行うことができる。例えば、重量物の種類に応じてその形状が異なる場合は、重量物を撮影して得られた画像データを解析することによって重量物の種類を識別することができる。あるいは、重量物の種類によってその重量が異なる場合は、重量物の重量を計測し、その計測された重量物の重量により重量物の種類を識別することができる。さらには、重量物にその重量物の種類等を特定するための情報を記憶したＩＣチップ等の記憶媒体を貼り付けておき、その記憶媒体に記憶された情報を読取装置により読取ることによって重量物の種類を特定するようにしてもよい。
【００１４】
なお、上述した実施形態の台車ロボット１２０では、台車ロボット１２０の倒立姿勢が変化しないように（すなわち、重量物把持装置１２４が設置面に対して略垂直な状態で倒立するように）、台車本体１２１に対する重量物把持装置１２４の位置調整を行った。しかしながら、重量物把持装置１２４の位置調整は、このような目的に限られず、例えば、倒立振子制御モデルからのズレを小さくするように位置調整を行ってもよい。制御モデルからのズレを小さくすることで、把持する重量物が変化することによる影響を低減し、台車ロボットの倒立制御可能な範囲を広げることができる。
【００１５】
重量物Ｃと重量物Ｄと重量物Ｅの３種類の重量物を把持する台車ロボットを例に説明する。３種類の重量物の重量の関係は、重量物Ｃ＞重量物Ｄ＞重量物Ｅとなっているものとする。そして、台車ロボットの制御装置は、重量物Ｄを把持した状態をモデル化した制御モデルに基づいて設計されているものとする。すなわち、台車ロボットが重量物Ｄを把持し、かつ、重量物把持装置が初期位置に位置決めされたときに、台車ロボットが設置面に対し略垂直に倒立するように設計される。
ここで、台車ロボットが重量物Ｃを把持した場合、重量物Ｃは重量物Ｄより重いため、重量物把持装置が初期位置に位置決めされた状態では、台車ロボットは設置面に対して斜め後方に傾斜する（図１９（ｂ）の状態）。このとき、車輪の回転中心から重心までの距離は制御モデルと比較して長くなり、また、車輪の回転中心周りの慣性モーメントも制御モデルと比較して大きくなっている（図１９（ｂ）参照）。このため、回転中心から重心までの距離が短くなるように、また、回転中心周りの慣性モーメントが小さくなるように、重量物把持装置をスライド移動させる。すなわち、重量物把持装置は台車進行方向後方にスライド移動し、台車ロボットは設置面から略垂直に倒立する。図１９（ｄ）に示す状態が回転中心から重心までの距離が最も短く、また、回転中心周りの慣性モーメントが最も小さくなるためである。
【００１６】
一方、台車ロボットが重量物Ｅを把持した場合、重量物Ｅは重量物Ｄより軽いため、重量物把持装置が初期位置に位置決めされた状態では、台車ロボットは設置面に対して斜め前方に傾斜する。このとき、車輪の回転中心から重心までの距離は制御モデルと比較して短くなり、また、車輪の回転中心周りの慣性モーメントも制御モデルと比較して小さくなる。このため、回転中心から重心までの距離が長くなるように、また、回転中心周りの慣性モーメントが大きくなるように、重量物把持装置をスライド移動させる。すなわち、重量物把持装置は台車進行方向前方にスライド移動し、台車ロボットは設置面から略垂直に倒立する。
なお、重量物を把持しない状態をモデル化した制御モデルに基づいて制御装置を設計している場合は、重量物を把持すると、車輪の回転中心から重心までの距離は制御モデルと比較して長くなり、また、車輪の回転中心周りの慣性モーメントも制御モデルと比較して大きくなる。このため、台車ロボットが重量物を把持すると、重量物把持装置を台車進行方向後方にスライド移動させ、台車ロボットを設置面から略垂直に倒立させることとなる。
【００１７】
【実施例】本発明を具現化した一実施例に係る台車ロボットを図面に基づいて説明する。まず、台車ロボットの機械的構成について図１及び図２を参照して説明する。ここで、図１は倒立振子型の台車ロボットの正面図、図２は同台車ロボットの一部破断側面図である。両図において台車ロボットは補助輪（キャスター輪）を上げた状態が示されている。図１及び図２に示すように、本実施例の台車ロボットは、台車１と、台車１の上面１０ｄに載置された上肢体８０（請求項でいう重量物把持装置に相当する）から構成される。まず、台車１の構成について説明する。
【００１８】
台車１は、鋼材等で枠組み形成されたシャーシ１０ａ等からなる台車本体１０を有する。シャーシ１０ａの中段には中段収納部１０ｂが設けられ、上段には上段収納部１０ｃが設けられている。シャーシ１０ａの下側、すなわち台車本体１０の最下部には、後述する安全装置２０を取り付けるための取付部１０ｅが形成されている。シャーシ１０ａは左右両側に軸受部２ａ，２ｂを有しており、この軸受部２ａ，２ｂによって左右の主車輪３，４が回転自在に支持されている。図中の３ａと４ａは主車輪３，４の車軸を示している。なお、両主車輪３，４は回転軸線を共有する位置に左右対称に配設されている。シャーシ１ａには両車輪３，４を個別に駆動するための電動モータ５，６と、モータの回転を減速する減速器５ａ，６ａとが備えられている。本例の減速装置を主車輪３について説明すると、車軸３ａ側に設けられたプーリ３ｂと減速器５ａの出力軸端に取り付けられたプーリ５ｂとがベルト７によって接続されてなる構成である（図２参照）。主車輪４についても同様に、プーリ４ｂとプーリ６ｂとがベルト（図示省略）によって接続されてなる構成である。なお、減速装置には歯車装置等を利用することもできる。
【００１９】
台車本体１０には主車輪３，４を回転制御するための台車制御装置が備えられている。台車制御装置は、各モータを個別に駆動するための２台のモータドライバ１１，１１と、これらモータドライバ１１，１１を制御する制御コンピュータ１２と、電源装置としてのバッテリ１３と、ＤＣ／ＤＣコンバータ１４と、スイッチボックス１５と、ジャイロセンサ１９（図１〜２において図示を省略；ただし、図９において図示）とから構成される。各機器の取付け位置は図に概略を示したように、台車本体１０の中段収納部１０ｂの下側にモータドライバ１１が取り付けられ、中段収納部１０ｂにバッテリ１３が収納され、上段収納部１０ｃに制御コンピュータ１２、ＤＣ／ＤＣコンバータ１４、スイッチボックス１５が搭載されている。
ジャイロセンサ１９は、１軸ジャイロセンサであって、車軸３ａ，４ａと直交する方向（すなわち、台車本体１０の傾動方向）に配置されている。したがって、ジャイロセンサ１９によって台車本体１０の傾斜角速度が検出される。
制御コンピュータ１２は、ジャイロセンサ１９の出力、モータ５，６のエンコーダ出力に基づいてモータ５，６のトルク指令値を算出する。制御コンピュータ１２で算出されたトルク指令値はモータドライバ１１に出力され、出力されたトルク指令値に基づいてモータドライバ１１はモータ５，６を制御する。
【００２０】
前記取付部１０ｅに取り付けられる安全装置２０は、倒立制御停止時における台車本体１０及び上肢体８０の転倒を防止するためのものであって、補助輪を駆動機構によって昇降させる方式が採用されている。以下、安全装置２０について図３及び図４を参照して詳細に説明する。図３と図４は安全装置２０を説明するための拡大図である。図３は台車ロボットの運転時（通常走行時）を示し、図４は台車ロボットの停止時（制御装置停止時）において安全装置２０を作動させた状態を示している。
図３，４に示すように、台車本体１０の取付部１０ｅには、車軸３ａ，４ａと平行に延びる支軸１０ｆが取り付けられており、この支軸１０ｆに台車前後方向に延びる補助脚２１，２２が回動自在に支持されている。各補助脚２１，２２は、基端側の第一肢２１ａ，２２ａと、第一肢２１ａ，２２ａの先端側にテーパ部材２１ｃ，２２ｃを介在させてボルト止めされた第二肢２１ｂ，２２ｂとから構成される。第二肢２１ｂ，２２ｂの先端には、補助輪としてのキャスター輪２１ｄ，２２ｄが取付けられている。なお、テーパ部材２１ｃ，２２ｃは、第一肢と第二肢間の取付角度を調整するものであり、テーパ部材２１ｃ，２２ｃを調整することでキャスター輪２１ｄ，２２ｄの設定高さ位置が調節可能となっている。なお、第二肢２１ｂ，２２ｂはそれぞれ、その先端が略Ｔ字状に側方に延びており、その先端部に左右対をなすようにキャスター輪が取り付けられている（図１参照）。すなわち、この台車ロボットは、主車輪３と４の接地点を結ぶ線分の中点を中心にして前後左右の合計４箇所で接地可能なようにキャスター輪が配備されている。
【００２１】
第一肢２１ａ，２２ａの基端部寄りの位置にはリンク２３ａ，２４ａの一端が回動自在にピン結合されており、リンク２３ａ，２４ａの他端はアクチュエータ２５のロッド先端部２５ａに連結されている。アクチュエータ２５はシャーシ１０ａに固定されている。したがって、アクチュエータ２５がロッドを引き込むように作動すると補助脚２１，２２が回動して、図３に示したように、キャスター輪２１ｄ，２２ｄが持ち上げられる。他方、アクチュエータ２５がロッドを下方に伸ばすように作動すると、図４に示したように、補助脚２１，２２が回動してほぼ一直線に開く状態となり、キャスター輪２１ｄ，２２ｄが路面と接触可能な位置まで下げられる。
【００２２】
次に、上述した台車１に搭載される上肢体８０について説明する。図１，図２に示すように、上肢体８０は、台車本体１０の上面１０ｄにスライド機構１００ａ，１００ｂを介して搭載されている。上肢体８０は、ボディ本体８４と、ボディ本体８４の天板８４ｅの左右両側に取付けられた左アーム８５，右アーム８６と、天板８４ｅの中央に取付けられたヘッド部８３により構成されている。
ボディ本体８４は、４本の支柱８４ａ，８４ｂ，８４ｃ，８４ｄを備える。これらの支柱８４ａ，ｂ，ｃ，ｄの下端は、スライド機構１００ａ，１００ｂのスライド基体１０２ａ，１０２ｂ（図５参照）に固定されており、その上端は天板８４ｅに固定されている。４本の支柱８４ａ，８４ｂ，８４ｃ，８４ｄの内部には収納部が設けられている。
左アーム８５は、天板８４ｅに関節８５ａを介して取付けられた上腕８５ｂと、上腕８５ｂの先端に関節８５ｃを介して取付けられた前腕８５ｄを備える。上腕８５ｂと前腕８５ｄは、それぞれアクチュエータによって駆動され、関節８５ａ、８５ｃ周りに回動するようになっている。前腕８５ｄの先端には、ロボットハンド８５ｅが取付けられている。ロボットハンド８５ｅも、アクチュエータによって駆動され、これによって重量物を把持するようになっている。なお、右アーム８６は、左アーム８５と同一構成のため、ここではその詳細な説明を省略する。
ヘッド部８３は、その基端がボディ本体８４の天板８４ｅに固定され、その先端にはＣＣＤカメラ８１とライト８２が設けられている。ＣＣＤカメラ８１は重量物を撮影するためのものであり、ライト８２は重量物に光を照射するためのものである。
なお、ボディ本体８４の背面には、上述した左アーム８５，右アーム８６を制御するための上肢体制御装置９０が取付けられている（図２参照）。また、ボディ本体８４の内部には、左アーム８５，右アーム８６を構成する各部材を駆動するためのドライバ回路８８や、これらの電源となるバッテリ８７が収納されている。
【００２３】
上述した上肢体８０を案内するスライド機構１００ａ，１００ｂについて説明する。図５はスライド機構を台車本体の上方から見た平面図であり、図６はスライド機構を台車本体の側方から見た側面図であり、図７は図６のＶＩＩ−ＶＩＩ線断面図である。
図５に示すように、スライド機構１００ａ，１００ｂは互いに間隔を空けて２つ設けられ、これらは台車進行方向と略平行に延びている。なお、これら２つのスライド機構１００ａ，１００ｂは同一構成であるため、ここではスライド機構１００ａについてのみ説明する。
スライド機構１００ａは、台車本体１０の上面１０ｄに当接するスライド基体１０２ａを備える（図５，図６参照）。スライド基体１０２ａの底面には、図７によく示されるように溝１０９ａが形成される。溝１０９ａはスライド基体１０２ａのスライド方向全長に渡って延びており、この溝１０９ａには台車本体１０の上面１０ｄに固定されたガイド突起１１０ａが係合している。このため、スライド基体１０２ａはガイド突起１１０ａに案内されて、台車進行方向前後にスライド可能となっている。
一方、スライド基体１０２ａの上面には、ボディ本体８４の支柱８４ａ，８４ｃの下端が固定される。また、スライド機構１００ｂのスライド基体１０２ｂの上面にも、ボディ本体８４の支柱８４ｂ，８４ｄの下端が固定されている。したがって、スライド基体１０２ａ及びスライド基体１０２ｂが台車進行方向前後にスライドすると、それに伴ってボディ本体８４（すなわち、上肢体８０）もスライドする。
また、スライド基体１０２ａの台車進行方向前端にはネジ孔１０３ａが形成される。ネジ孔１０３ａにはネジ１０５ａの先端が螺合している。ネジ１０５ａの基端は、ベアリング１０６ａに支持された回転軸１０７ａに固定されている。この回転軸１０７ａは、スライド位置調整用モータ１０８ａによって回転駆動されるようになっている。
したがって、スライド位置調整用モータ１０８ａが回転すると、回転軸１０８ａ及びネジ１０５ａが回転する。このため、ネジ１０５ａとスライド基体１０２ａのネジ孔１０３ａとの螺合長さが変化し、これによってスライド基体１０２ａが台車進行方向前後にスライドすることとなる。
【００２４】
次に、上述したように構成される台車ロボットの制御系について説明する。台車ロボットの制御系は、上肢体８０を制御する制御系と台車１を制御する制御系の２つの制御系によって構成される。まず、上肢体８０を制御する制御系について説明する。図８は上肢体８０の制御系の構成を示す機能ブロック図である。
図８に示すように、上肢体８０の制御は上肢体制御装置９０によって行われる。上肢体制御装置９０には、ＣＣＤカメラ８１が接続され、ＣＣＤカメラ８１から出力される画像データが入力するようになっている。また、上肢体制御装置９０は、左アーム８５（詳しくは、左アーム８５を駆動する各アクチュエータ）と、右アーム８６（詳しくは、右アーム８６を駆動する各アクチュエータ）に接続されている。また、上肢体制御装置９０は、モータドライバ９７ａ，９７ｂと接続されている。モータドライバ９７ａ，９７ｂは、モータ１０８ａ，１０８ｂとそれぞれ接続され、上肢体制御装置９０からの指令値に応じてモータ１０８ａ，１０８ｂを駆動する。各モータ１０８ａ，１０８ｂのエンコーダ１１１ａ，１１１ｂは、上肢体制御装置９０に接続され、エンコーダ１１１ａ，１１１ｂからの出力（各モータ１０８ａ，１０８ｂの回転角度）が上肢体制御装置９０に入力するようになっている。さらに、上肢体制御装置９０は、台車１を制御する制御コンピュータ１２と通信可能となっている。
上肢体制御装置９０は、ＣＰＵ，ＲＯＭ，ＲＡＭ等によって構成され、ＲＯＭに格納された制御プログラムを実行することで、左右のアーム８５，８６を制御するアーム制御手段９１、重量物の種類を識別する重量物識別手段９２、台車１に対する上肢体８０のスライド位置を特定するスライド位置特定手段９３、台車１を制御する制御コンピュータ１２とデータの送受信を行う通信手段９４、スライド位置調整用モータ１０８ａ，１０８ｂに制御指令値を算出する制御指令値算出手段９５として機能する。アーム制御手段９１は、ＣＣＤカメラ８１から出力される画像データから重量物の位置を特定してその重量物を把持する処理や、左右のアーム８５，８６に把持している重量物を所定の位置に積み下ろす処理等を行う。重量物識別手段９２は、ＣＣＤカメラ８１から出力される画像データから重量物の種類を特定する。スライド位置特定手段９３は、後述するスライド位置記憶手段９６を検索することで、重量物識別手段９２によって特定された重量物の種類に応じたスライド位置を読み出す。制御指令値算出手段９５は、スライド位置特定手段９３で特定されたスライド位置とエンコーダ１１１ａ，１１１ｂからの信号に基づいて、モータ１０８ａ，１０８ｂを駆動するための指令値を算出する。
この上肢体制御装置９０は、台車１に対する上肢体８０の位置決め位置（スライド基体１０２ａ，１０２ｂの位置決め位置）を記憶するスライド位置記憶手段９６を有している。スライド位置記憶手段９６には、重量物の種類毎に位置決め位置（スライド位置）が記憶される。例えば、本実施例の台車ロボットが３種類の重量物Ａ，Ｂ，Ｃを把持する場合、これら重量物の種類毎にスライド位置が記憶されている。すなわち、重量物Ａに対してスライド位置Ａが記憶され、重量物Ｂに対してスライド位置Ｂが記憶され、重量物Ｃに対してスライド位置Ｃが記憶されている。各スライド位置は、上肢体８０がそのスライド位置に対応する重量物を把持し、かつ、そのスライド位置に位置決めされたときに、上肢体８０が台車走行面に対して略垂直となるように設定されている。
【００２５】
次に、台車１を制御する制御系について説明する。図９は台車１の制御系の構成を示す機能ブロック図である。図９に示すように、台車１の制御は制御コンピュータ１２を中心に行われる。制御コンピュータ１２は、ＣＰＵ，ＲＯＭ，ＲＡＭ等により構成され、ＲＯＭに格納された制御プログラムを実行することで、台車並進方向に関する制御指令値を算出する台車並進方向制御指令値算出手段２６（以下、単に第１制御指令値算出手段という）と、台車回転方向に関する制御指令値を算出する台車回転方向制御指令値算出手段２８（以下、単に第２制御指令値算出手段という）と、両制御指令値算出手段２６，２８に目標値を入力する目標値入力手段２７と、両制御指令値算出手段２６，２８で算出された制御指令値を加算する制御指令値加算手段２９と、アクチュエータ２５の状態（ロッドが伸長した状態と収縮した状態）を切替えるアクチュエータ切替え手段７０として機能する。制御コンピュータ１２によって構成される各手段２６，２７，２８，２９，７０については後で詳述する。なお、制御コンピュータ１２によって行われる処理は、台車本体１に設けた非常停止ボタン７２（図１，２では図示省略）やリモコンスイッチ７４を操作することで、緊急停止することが可能なようになっている。
制御コンピュータ１２には、ジャイロセンサ１９が接続され、ジャイロセンサ１９の出力（台車本体１０の傾斜角速度）が入力するようになっている。また、制御コンピュータ１２は、モータドライバ１１，１１と接続されている。モータドライバ１１，１１は、モータ５，６とそれぞれ接続され、制御コンピュータ１２からのトルク指令値に応じてモータ５，６を駆動する。各モータ５，６のエンコーダ５ｃ，６ｃは、制御コンピュータ１２に接続され、エンコーダ５ｃ，６ｃからの出力（各モータ５，６の回転角度）が制御コンピュータ１２に入力するようになっている。
また、制御コンピュータ１２には、切替えスイッチ７３を介してアクチュエータ２５が接続されている。切替えスイッチ７３は、アクチュエータ２５の状態（ロッドが伸長した状態と収縮した状態）を切替えるスイッチである。具体的には、制御コンピュータ１２からの作動信号がＯＮされていると切替えスイッチ７３はＯＮし、これによってアクチュエータ２５のロッドは収縮した状態（すなわち、キャスター輪２１ｄ，２２ｄが持ち上げられた状態）となる（図３参照）。逆に、制御コンピュータ１２からの作動信号がＯＦＦされていると切替えスイッチ７３はＯＦＦし、これによってアクチュエータ２５のロッドは伸長した状態（すなわち、キャスター輪２１ｄ，２２ｄが路面と接触する状態）となる（図４参照）。制御コンピュータ１２からの作動信号のＯＮ−ＯＦＦは、アクチュエータ切替え手段７０によって行われる。
また、切替えスイッチ７３は、非常停止ボタン７２やリモコンスイッチ７４の操作によってもＯＦＦされる。これらのスイッチ類７２，７４が操作されると、制御コンピュータ１２から出力される作動信号がＯＮとなっていても切替えスイッチ７３はＯＦＦされる。したがって、非常停止ボタン７２やリモコンスイッチ７４が操作されると、即座にアクチュエータ２５のロッドが伸長し、キャスター輪２１ｄ，２２ｄが路面と接触する状態となる。なお、電源がＯＦＦされたときも、制御コンピュータ１２からの作動信号がＯＦＦとなるため、切替えスイッチ７４がＯＦＦする。このため、アクチュエータ２５のロッドが伸長し、キャスター輪２１ｄ，２２ｄが路面と接触する状態となる。
また、非常停止ボタン７２やリモコンスイッチ７４が操作され切替えスイッチ７３がＯＦＦされたときは、目標値入力手段２７に切替えスイッチ７３のＯＦＦ状態が入力され、目標値入力手段２７は目標値をそれ以上入力しないようにし、台車への並進および回転方向制御指令値をそれ以上出力しないようにする。
【００２６】
次に、第１制御指令値算出手段２６について説明する。第１制御指令値算出手段２６は、台車並進方向に関する台車１の運動を制御するためのトルク指令値を算出する。詳しくは、ジャイロセンサ１９の出力と、目標値入力手段２７によって入力される台車並進方向に関する目標値とエンコーダ５ｃ，６ｃの出力から決まる現在値との偏差を入力として、その偏差を小さくすると共に車体が倒立を維持するようにモータ５，６のトルク指令値を算出する。
なお、本実施形態では、Ｈ∞制御理論を用いて第１制御指令値算出手段２６を設計している。Ｈ∞制御理論を用いることで、第１制御指令値算出手段２６は外乱やモデル化誤差に対して安定倒立可能なようにロバスト性を有することとなる。ただし、Ｈ∞制御理論以外の制御理論（例えば、Ｈ２制御理論、μ−設計法等）を用いて第１制御指令値算出手段２６を設計することもできる。なお、Ｈ∞制御理論以外の制御理論を用いて設計する場合にも、第１制御指令値算出手段２６は外乱やモデル化誤差に対して安定倒立可能なようにロバスト性を有することが好ましい。
【００２７】
第１制御指令値算出手段２６の設計手順の一例を説明する。まず、台車ロボットを真横から見て、１輪の倒立振子としてモデル化する（図１０参照）。図１０中、ｍ１は車体（すなわち、台車本体１０と上肢体８０）の質量、Ｊ１は車体の重心周りのイナーシャ、ｍ２は車輪の質量、Ｊ２は車輪の軸周りのイナーシャとし、また、車軸から車体重心までの距離をｌとする。これら各パラメータｍ１，Ｊ１，ｍ２，Ｊ２，ｌは、計算または実測により求めることができる。また、鉛直方向からの車体の傾きをηとし、車輪の回転角度をθ１とする。なお、本実施例では、台車ロボットのモデル化を上肢体８０に重量物を把持しない状態で行っている。
そして、図１０に示す１輪の倒立振子に対し運動方程式を作成する。すなわち、この制御モデルに対してトルク指令値ｕが入力されるとして運動方程式を作成すると、その運動方程式は下記に示す式で表される。下記の運動方程式中、ｒは車輪の半径、Ｊｍはモータの回転イナーシャを表している。
【００２８】
【数１】
2004345030.tif 000003
【００２９】
次いで、上述した運動方程式中のηが小さいとして線形化し、行列表示を行うと次の式が導かれる。
【００３０】
【数２】
2004345030.tif 000004
【００３１】
したがって、上記の式から次の状態方程式が導出される。
【００３２】
【数３】
2004345030.tif 000005
【００３３】
ここで、上記制御系で観測される観測量ｙｇは、鉛直方向からの車体の傾きηの１階微分ｄη／ｄｔと、車体に対する車輪の回転角度（θ１−η）と、この回転角度（θ１−η）の１階微分ｄ（θ１−η）／ｄｔとする。すなわち、観測量ｙｇは、次に示す式で表される。
【００３４】
【数４】
2004345030.tif 000006
【００３５】
上述した手順でモデル化された制御系の全体構成を図１２に示す。図１２に示すように、制御対象である倒立振子モデル３０からは、観測量としてｄη／ｄｔと、（θ１−η）と、ｄ（θ１−η）／ｄｔとが観測される。観測された観測量には観測ノイズ３２が加えられる。具体的には、観測量ｄη／ｄｔには観測ノイズｎ２が、観測量（θ１−η）には観測ノイズｎ１が、観測量ｄ（θ１−η）／ｄｔには観測ノイズｎ３が加えられる。
観測ノイズ３２が加えられた観測量と目標値３４との偏差は、ロバストコントローラ３６（すなわち、第１制御指令値算出手段２６）に入力する。ここで、観測量ｄη／ｄｔには目標値「０」が、観測量（θ１−η）には目標値「（θ１−η）＊」が、観測量ｄ（θ１−η）／ｄｔには目標値「ｄ（θ１−η）＊／ｄｔ」が与えられる。ｄη／ｄｔ（すなわち、ジャイロセンサ１９の出力）に目標値「０」が与えられるため（すなわち、車体の鉛直方向からの傾き角速度は０）、車体は倒立姿勢を保つこととなる。
ロバストコントローラ３６からはトルク指令値ｕが出力される。そして、出力されたトルク指令値ｕと外乱ｗが倒立振子モデル３０に入力されることとなる。
【００３６】
ここで、かかる制御系を評価するための評価値としては、例えば、ロバストコントローラ３６からの出力ｕや車輪の回転角θ１を用いることができる。出力ｕを評価するための重み関数Ｗ４０と回転角θ１を評価する評価関数Ｑ３８は、例えば、シミュレーション等によりある程度の絞り込みを行い、実験によって最終的に決定することができる。本実施形態では、下記に示す関数を用いている。
【００３７】
【数５】
2004345030.tif 000007
【００３８】
なお、ロバストコントローラ３６の具体的な設計には、公知となっている種々の制御系設計ツールを用いることができる。
【００３９】
次に、第２制御指令値算出手段２８について説明する。第２制御指令値算出手段２８は、台車回転方向に関する台車の運動を制御するためのトルク指令値を算出する。
ここで、台車回転方向に関しては、台車ロボットを真上から見て、２輪車としてモデル化している（図１１参照）。図１１中、φは台車ロボットの台車回転角を表し、ｄは両車輪３，４間の距離を表し、ｒは車輪の半径を表している。なお、図１１に示す幾何学的関係から、左右の車輪速度（右車輪の速度ｄθＬ／ｄｔ，左車輪の速度ｄθＲ／ｄｔ）を直交座標系での台車ロボットの位置の速度（ｄｘ／ｄｔ，ｄｙ／ｄｔ）と台車回転方向の角速度（ｄφ／ｄｔ）に変換するためのヤコビ行列は下記に示すようになる。
【００４０】
【数６】
2004345030.tif 000008
【００４１】
図１３に第２制御指令値算出手段２８による制御系の全体構成を示している。図１３から明らかなように、第２制御指令値算出手段２８は、現在位置（ｘ，ｙ，φ）と目標位置（ｘ，ｙ，φ）＊の偏差に所定のゲイン５０を乗じたものと、現在速度〔（ｄｘ／ｄｔ，ｄｙ／ｄｔ，ｄφ／ｄｔ）〕と目標速度〔（ｄｘ／ｄｔ，ｄｙ／ｄｔ，ｄφ／ｄｔ）＊〕の偏差に所定のゲイン５２を乗じたものを加算し、その加算した値からモータ５，６を制御するためのトルク指令値ＴＲ＊，ＴＬ＊を算出している（いわゆる、ＰＤ制御を行っている）。
なお、台車ロボットは、平面上の位置として２自由度、台車回転方向に１自由度の計３自由度を持つが、アクチュエータとしてはモータ１４，１５の計２個しか有さない。このため、上記した位置の偏差にゲイン５０を乗じた値と上記した速度の偏差にゲイン５２を乗じた値とを加算した値と転置ヤコビ行列ＪＴ５４を用いて、直接トルク指令値ＴＲ＊，ＴＬ＊を算出している。
また、右車輪４の回転角速度ｄθＲ／ｄｔ（すなわち、右車輪速度）と左車輪３の回転角速度ｄθＲ／ｄｔ（すなわち、左車輪速度）にヤコビ行列５６（数６に示す行列）をかけることで、現在速度〔（ｄｘ／ｄｔ，ｄｙ／ｄｔ，ｄφ／ｄｔ）〕を算出している。
なお、図１３に示す制御系によっても台車ロボットの平面内での位置（ｘ，ｙ）とその速度（ｄｘ／ｄｔ，ｄｙ／ｄｔ）について制御することが可能である。しかしながら、これらについては第１制御指令値算出手段２６によって制御するため、ゲイン５０，５２においては、位置成分（ｘ，ｙ）とその速度成分（ｄｘ／ｄｔ，ｄｙ／ｄｔ）に乗じるゲイン（係数）を「０」としている。したがって、台車ロボットの台車回転角φの偏差と台車回転角速度ｄφ／ｄｔの偏差のみが、第２制御指令値算出手段２８で用いられる。
【００４２】
以上説明したように、台車並進方向の制御（車軸と直行方向）には倒立振子制御と位置制御が同時に行われ、台車回転方向（車軸旋回方向）には位置制御（台車回転角φ）のみが行われ、これらの制御は互いに干渉しないものとなっている。そして、モータ５，６への最終的な制御指令値は、第１制御指令値算出手段２６で算出された制御指令値と第２制御指令値算出手段２８で算出された制御指令値を足し合わせたものとなる。すなわち、制御指令値加算手段２９は、第１制御指令値算出手段２６で算出された制御指令値と第２制御指令値算出手段２８で算出された制御指令値とを加算し、加算した値をモータドライバ１１，１１にそれぞれ出力する。
上述した第１制御指令値算出手段２６と、第２制御指令値算出手段２８と、制御指令値加算手段２９とによって構成される制御系の全体構成を図１４に示している。図１４から明らかなように、本実施形態の制御系は、台車回転方向の制御ループ内に台車並進方向の制御が組み込まれたものとなっている。
【００４３】
次に、目標値入力手段２７について説明する。図１５には目標値入力手段２７の構成を示すブロック図が示されている。図１５に示すように目標値入力手段２７は、目標軌道データ記憶手段６０と、並進方向目標値算出手段６２と、回転方向目標値算出手段６４で構成される。
【００４４】
目標軌道データ記憶手段６０は、台車ロボットの軌道と、軌道上の各位置における台車ロボットの速度と加速度、並びに、台車ロボットの台車回転方向の角速度と角加速度を規定する目標軌道データを記憶する。本実施形態では、台車ロボットの軌道を等加速度運動〔ただし、加速度０の場合（等速運動の場合）も等加速度運動とみなしている〕を行っている区間に分割し、分割された各区間の（区間時間ｔ，区間加速度ａ，区間初速度ｂ，区間角加速度ａ’，区間角初速度ｂ’）が目標軌道データとされる。すなわち、台車ロボットの並進方向の速度をｖ、台車ロボットの台車回転方向の角速度をｄφ／ｄｔ、区間開始からの経過時間をｔとすると、これらの関係は次に示す式で表される。
【００４５】
【数７】
2004345030.tif 000009
【００４６】
図１６には、台車ロボットの軌道の一例と、そのときの目標軌道データを示している。図１６に示される軌道では、Ａ点からＢ点までは台車並進方向に加速度ａ１で等加速度運動を行い、台車回転方向の速度及び加速度は「０」である。Ｂ点からＣ点までは台車並進方向に等速度運動を行い、台車回転方向に角加速度ａ１’で等角加速度運動を行う。Ｃ点からＤ点までは台車並進方向に等速度運動を行い、台車回転方向にも等角速度運動を行う。
したがって、上述の場合の目標軌道データは、Ａ点からＢ点までの運動を規定するデータと、Ｂ点からＣ点までの運動を規定するデータと、Ｃ点からＤ点までの運動を規定するデータにより構成される。すなわち、Ａ点からＢ点までの運動を規定する目標軌道データは（ｔ１，ａ１，０，０，０）となり、Ｂ点からＣ点までの運動を規定する目標軌道データは（ｔ２，０，ａ１ｔ１，ａ１’，０）となり、Ｃ点からＤ点までの運動を規定する目標軌道データ（ｔ３，０，ａ１ｔ１，０，ａ１’ｔ２）となる。
【００４７】
並進方向目標値算出手段６２は、目標軌道データ記憶手段６０に記憶されている目標軌道データからＸ−Ｙ平面内における台車ロボットの目標位置（ｘ、ｙ）＊と目標速度（ｄｘ／ｄｔ，ｄｙ／ｄｔ）＊を算出する。例えば、図１６に示すＡ点を原点（０，０）として運動を開始した場合において運動開始から時間ｔ（ただし、０＜ｔ＜ｔ１）を経過したときは、目標位置（ｘ、ｙ）＊＝（ａ１ｔ２／２，０）＊となり、目標速度（ｄｘ／ｄｔ，ｄｙ／ｄｔ）＊＝（ａ１ｔ，０）＊となる。
回転方向目標値算出手段６４は、目標軌道データ記憶手段６０に記憶されている目標軌道データから台車ロボットの目標回転角（φ）＊と目標速度（ｄφ／ｄｔ）＊を算出する。ここで、目標回転角（φ）＊は台車ロボットの総回転角量を意味する。したがって、台車ロボットが同一姿勢（すなわち、台車進行方向からの傾きは同一）となっている場合でも、回転角量（旋回数）が異なる場合は目標回転角（φ）＊も異なることとなる。
並進方向目標値算出手段６２と回転方向目標値算出手段６４によって算出された目標位置（ｘ，ｙ，φ）＊と目標速度（ｄｘ／ｄｔ，ｄｙ／ｄｔ，ｄφ／ｄｔ）＊は、第１制御指令値算出手段２６と第２制御指令値算出手段２８の目標値として用いられる。すなわち、図１４に示すように、第１制御指令値算出手段２６（図１４に示すロバストコントローラ３６）には、上記の目標位置と目標速度が台車中心位置（θ１−η）と台車中心速度ｄ（θ１−η）／ｄｔに変換されて用いられる。また、第２制御指令値算出手段２８には、上記の目標位置（ｘ，ｙ，φ）＊が用いられる（ただし、ゲイン５０のうちｘ、ｙに関する係数は０であるため、実際にはφ＊のみが用いられる）。
【００４８】
次に、上述のように構成される台車ロボットによって、初期位置にある重量物を把持してからその重量物を最終目標位置に積み下ろすまでの、上肢体制御装置９０及び制御コンピュータ１２によって行われる処理について図１７及び図１８を参照して説明する。図１７は上肢体制御装置９０及び制御コンピュータ１２の処理手順の全体を示すフローチャートである。
図１７に示すように、台車ロボット（詳しくは、上肢体制御装置９０）は、まず、初期位置にある重量物をＣＣＤカメラ８１で撮影し、ＣＣＤカメラ８１から出力される画像データに基づいて重量物の種類を識別する（Ｓ１）。
ステップＳ１によって重量物の種類が特定されると、その重量物の種類に対応したスライド位置（台車１に対して上肢体８０を位置決めする位置）を決定する（Ｓ２）。すなわち、上肢体制御装置９０は、スライド位置記憶手段９６を検索し、ステップＳ１で特定された重量物の種類に対応するスライド位置の位置座標を読み出す。
次に、上肢体制御装置９０はスライド位置調整用モータ１０８ａ，１０８ｂの駆動を開始し（Ｓ３）、上肢体８０がステップＳ２で決定したスライド位置に到達したか否かを判定する（Ｓ４）。上肢体８０がスライド位置に到達している場合〔ステップＳ４でＹＥＳ〕はステップＳ５に進み、上肢体８０がスライド位置に到達していない場合〔ステップＳ４でＮＯ〕はステップＳ３に戻ってスライド位置調整用モータ１０８ａ，１０８ｂの駆動を継続する。このため、上肢体８０がステップＳ２で決定されたスライド位置に到達するまでスライド位置調整用モータ１０８ａ，１０８ｂが駆動され、これによって、上肢体８０がステップＳ２で決定されたスライド位置に位置決めされる。
ステップＳ５に進むと、上肢体制御装置９０は、左右のアーム８５，８６を駆動して初期位置にある重量物を把持し、把持した重量物を所定のホールド位置に保持する。
なお、上記のステップＳ１からステップＳ５までの処理は、キャスター輪２１ｄ，２２ｄが路面に接地した状態で行われる。このため、上肢体８０が重量物を把持しない状態で台車進行方向前後へスライド移動することによる重心変化や、アーム８５，８６が重量物を把持してから所定のホールド位置に保持するまでの重心変化に対しても、台車ロボットは倒立を維持することができる。
【００４９】
アーム８５，８６によって把持した重量物を所定のホールド位置に保持すると、上肢体制御装置９０から制御コンピュータ１２に完了信号が送信される。上肢体制御装置９０からの完了信号を受信すると、制御コンピュータ１２は台車ロボットを初期位置から最終目標位置に移動させる処理（すなわち、台車走行処理）を開始する（Ｓ６）。
図１８には台車走行処理のフローチャートが示されている。図１８に示すように、制御コンピュータ１２は、まず、切替えスイッチ７３に向って出力している作動信号をＯＦＦからＯＮにする（Ｓ１０）。これによって切替えスイッチ７３がＯＮとなり、アクチュエータ２５のロッドが収縮するように作動する。このため、路面に接地していたキャスター輪２１ｄ，２２ｄが持ち上げられ、路面から離れた位置に上昇する（図１，図２参照）。この状態では主車輪３，４のみが接地しており、この主車輪３，４を制御装置によって回転制御することによって台車本体１が倒立姿勢を保つことができ、また、小回りを利かした走行をすることができる。また、キャスター輪２１ｄ，２２ｄが持ち上げられているため、台車ロボットは路面に段差等があっても容易に走破することができる。なお、図３のテーパ部材２１ｃ，２２ｃを予め抜き差しすることによって、キャスター輪２１ｄ，２２ｄの高さ位置を使用環境（路面の凹凸状況）に適したものに設定しておくことが好ましい。
なお、上述したステップＳ１〜Ｓ４の処理によって、上肢体８０は把持した重量物の種類に対応するスライド位置に位置決めされ、台車ロボットの重心は車輪の回転中心を通る垂線上に調整されている。このため、制御コンピュータ１２によって倒立制御が開始されても、上肢体８０は路面に対して略垂直な倒立姿勢を維持することができる。
【００５０】
次いで、制御コンピュータ１２は台車ロボットが最終目標位置に到達したか否かを判断する（Ｓ１２）。具体的には、目標軌道データ記憶手段６０に記憶されている目標軌道データの最後のデータまで処理したか否かで判断する。
台車ロボットが最終目標位置に到達している場合〔ステップＳ１２でＹＥＳ〕は、ステップＳ２８に進んで、制御コンピュータ１２は切替えスイッチ７３に向って出力している作動信号をＯＮからＯＦＦにし（Ｓ２８）、その処理を終了する。これによって、切替えスイッチ７３がＯＦＦとなり、アクチュエータ２５のロッドが伸長するように作動する。このため、路面から離れた位置に配置されていたキャスター輪２１ｄ，２２ｄが路面まで降下する（図４参照）。この状態では、キャスター輪２１ｄ，２２ｄは主車輪３，４の接地点の前後の位置で路面に接地し、台車本体１が大きく傾くことなく倒立姿勢のまま静止される。
【００５１】
逆に、台車ロボットが最終目標位置に到達していない場合〔ステップＳ１２でＮＯ〕は、ステップＳ１４に進んで、モータ５，６のエンコーダ５ｃ，６ｃの値（すなわち、車輪３，４の回転角度θＲ，θＬ）を読込む（Ｓ１４）。
次に、ステップＳ１４で読込んだエンコーダ５ｃ，６ｃの値から車輪速度（ｄθＲ／ｄｔ，ｄθＬ／ｄｔ）と、現在速度・現在方向速度（ｄｘ／ｄｔ，ｄｙ／ｄｔ，ｄφ／ｄｔ）を算出する（Ｓ１６）。すなわち、エンコーダ５ｃ，６ｃの値の時間的変化量から車輪３，４の車輪速度（ｄθＲ／ｄｔ，ｄθＬ／ｄｔ）を算出し、これら算出された車輪速度（ｄθＲ／ｄｔ，ｄθＬ／ｄｔ）とヤコビ行列５６から現在速度・現在方向速度（ｄｘ／ｄｔ，ｄｙ／ｄｔ，ｄφ／ｄｔ）を算出する（図１４参照）。
ステップＳ１８では、ジャイロセンサ１９の出力値ｄη／ｄｔを読込む。
ステップＳ２０では、制御コンピュータ１２が台車走行処理を開始してからの時間ｔ（すなわち、台車ロボットの軌道制御開始時からの経過時間）と、目標軌道データ記憶手段６０に記憶されている目標軌道データとから、目標位置（ｘ，ｙ，φ）＊と目標速度（ｄｘ／ｄｔ，ｄｙ／ｄｔ，ｄφ／ｄｔ）＊を算出する。
ステップＳ１４からステップＳ２０までの処理により台車ロボットの現在値と目標値が算出されるため、次に、台車並進方向に関するモータ５，６のトルク指令値ＴＲ１，ＴＬ１をそれぞれ算出し（Ｓ２２）、台車回転方向に関するモータ５，６のトルク指令値ＴＲ２，ＴＬ２をそれぞれ算出する（Ｓ２４）。すなわち、第１制御指令値算出手段２６によってトルク指令値ＴＲ１，ＴＬ１を算出し、第２制御指令値算出手段２８によってトルク指令値ＴＲ２，ＴＬ２を算出する。
ステップＳ２６では、ステップＳ２２で算出されたトルク指令値ＴＲ１，ＴＬ１と、ステップＳ２４で算出されたトルク指令値ＴＲ２，ＴＬ２を加算し、これらの値を対応するモータドライバ１１，１１に出力する。これによって、各車輪３，４が駆動されることとなる。ステップＳ２６が終わるとステップ１２に戻り、次の制御タイミングにおける処理が開始される。
なお、ステップＳ１２〜ステップＳ２６までの処理は、所定の時間間隔（例えば、０．５ｍｓ）で行われ、これによって台車ロボットは倒立を維持しながら目標軌道データで規定された軌道を所定の速度・加速度・角速度・角加速度で運動する。
【００５２】
なお、上述したステップＳ１２〜ステップＳ２６までの処理が行われているときに非常停止ボタン７２又はリモコンスイッチ７４が操作されると、既に述べたように、制御コンピュータ１２の処理が緊急停止され、かつ、切替えスイッチ７３がＯＦＦされる。この際、制御コンピュータ１２の処理が停止して倒立制御も停止されることとなるが、切替えスイッチ７３がＯＦＦされることでキャスター輪２１ｄ，２２ｄが路面に接地する位置に配置される。このため、台車本体１が転倒することなく倒立姿勢を維持することができる。
【００５３】
上述した台車走行処理によって台車ロボットが最終目標位置に移動すると、制御コンピュータ１２は完了信号を上肢体制御装置９０に出力する。制御コンピュータ１２からの完了信号を受信した上肢体制御装置９０は、アーム８５，８６に把持している重量物の積み下ろしを行う（図１７のステップＳ７）。重量物の積み下ろしの間は、キャスター輪２１ｄ，２２ｄが路面に接地しているため、アーム８５，８６が重量物を積み下ろす際の重心変化に対して、台車ロボットは倒立を維持することができる。
【００５４】
上述した説明から明らかなように、本実施例の台車ロボットは、台車１の台車進行方向に上肢体８０が移動可能に設けられ、上肢体８０に把持する重量物の種類に応じて台車１に対する上肢体８０の位置を調整する。このため、重量物の種類によらず上肢体８０の倒立姿勢を路面に対して略垂直とすることができる。
また、上肢体８０の位置調整を行うときや、上肢体８０に重量物を把持するときや、重量物の積み下ろしを行うときは、キャスター輪２１ｄ，２２ｄが路面に接地しているため、台車ロボットの倒立姿勢を安定して維持することができる。
【００５５】
以上、本発明の好適ないくつかの実施形態について詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
例えば、上述した実施例では、台車ロボットに設けられた２本のアームを用いて重量物の積込みや積み下ろしをするようにしたが、本発明の台車ロボットはこのような例に限られない。例えば、台車ロボットとは別の装置（例えば、工場内に設置された装置）によって、台車ロボットへの重量物の積込みや積み下ろしを行うようにしてもよい。
また、上述した実施例では、ＣＣＤカメラを用いて視覚的に重量物の種類を特定するようにしたが、重量物の種類の特定はその他の方法によって行うこともできる。例えば、ロボットアームによって重量物を持ち上げるときのロボットアームのアクチュエータにかかる負荷の大きさ（すなわち、重量物の重量）に基づいて、重量物の種類を特定するようにしてもよい。
さらに、キャスター輪を上下動する機構には種々の機構を採用することができる。例えば、エアーシリンダによる伸縮するロッドの先端にキャスター輪を取り付け、ロッドを伸縮することでキャスター輪が路面に接地する状態と路面から浮き上がった状態とに切替えるようにしてもよい。この場合は、キャスター輪の数だけエアーシリンダを設ける。
なお、上述した台車ロボットの利用例としては、上述の例に限られず、例えば、台車により移動しながら上肢体によって楽器を演奏する楽器演奏ロボットとして利用することができる。楽器演奏ロボットとして利用する場合は、複数の台車ロボットに異なる楽器を把持させ、隊列を組んで演奏するマーチングバンドとして動作させることもできる。この場合、各台車ロボットは把持する楽器に応じて上肢体の位置を台車進行方向前後に調整することができるため、各台車ロボットの倒立姿勢が同一となり、マーチングバンドの見栄えを良くすることができる。
【００５６】
なお、本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数の目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【図１】本実施例に係る台車ロボットの正面図。
【図２】同、台車ロボットの側面図。
【図３】同、安全装置を説明するための拡大図。
【図４】同、安全装置を説明するための拡大図。
【図５】同、スライド機構を説明するための平面図。
【図６】同、スライド機構を説明するための側面図。
【図７】図６のＶＩＩ−ＶＩＩ線断面図。
【図８】台車ロボットの上肢体を制御する制御系の構成を示すブロック図。
【図９】台車ロボットの台車を制御する制御系の構成を示すブロック図。
【図１０】台車ロボットを並進方向に関してモデル化した図。
【図１１】台車ロボットを台車の回転方向に関してモデル化した図。
【図１２】台車ロボットの並進方向に関する制御系の構成を示す図。
【図１３】台車ロボットの台車回転方向に関する制御系の構成を示す図。
【図１４】台車ロボットの並進方向の制御系と台車回転方向の制御系とを組合せたときの制御系の構成を示す図。
【図１５】目標値入力手段の構成を示すブロック図。
【図１６】台車ロボットの目標軌道の一例と、その目標軌道を達成するための目標軌道データの一例を併せて示す図。
【図１７】本実施例の制御系によって行われる処理の一例を示すフローチャート。
【図１８】台車ロボットが走行時に行う台車走行処理の手順を示すフローチャート。
【図１９】本発明を具現化した一実施形態に係る台車ロボットの作用を説明するための図。
【符号の説明】
１：台車
３，４：主車輪
５，６：モータ
１０：台車本体
２０：安全装置
２１，２２：補助脚（支え部材）
２１ｄ，２２ｄ：キャスター輪（支え部材）
２５：アクチュエータ
２３ａ，２４ａ：リンク
８０：上肢体
８５，８６：アーム
１００ａ，１００ｂ：スライド機構
【図１】
2004345030.tif 000010
【図２】
2004345030.tif 000011
【図３】
2004345030.tif 000012
【図４】
2004345030.tif 000013
【図５】
2004345030.tif 000014
【図６】
2004345030.tif 000015
【図７】
2004345030.tif 000016
【図８】
2004345030.tif 000017
【図９】
2004345030.tif 000018
【図１０】
2004345030.tif 000019
【図１１】
2004345030.tif 000020
【図１２】
2004345030.tif 000021
【図１３】
2004345030.tif 000022
【図１４】
2004345030.tif 000023
【図１５】
2004345030.tif 000024
【図１６】
2004345030.tif 000025
【図１７】
2004345030.tif 000026
【図１８】
2004345030.tif 000027
【図１９】
2004345030.tif 000028