(57)【要約】【課題】  末端側部材をほぼ完全に回転自由にできる技術を提供すること。【解決手段】  本発明に係るロボットは、下腿部２１６と、下腿部２１６に回転可能に接続されている足部２１８と、足部２１８に取付けられている２本のワイヤ２６６ａ，２６６ｂと、各ワイヤ２６６ａ，２６６ｂを伸縮させるアクチュエータ２６８ａ，２６８ｂと、各アクチュエータ２６８ａ，２６８ｂを制御するコントローラ３００とを備える。このロボットは、ワイヤ２６６ａを伸ばしてワイヤ２６６ｂを縮めることによって足部２１８を反時計方向に回転させ、ワイヤ２６６ａを縮めてワイヤ２６６ｂを伸ばすことによって足部２１８を時計方向に回転させる。そして、コントローラ３００は、遊脚の足部２１８が接地されるときに、各ワイヤ２６６ａ，２６６ｂが緩んだ状態を維持し続けるように各アクチュエータ２６８ａ，２６８ｂを制御する。【選択図】  図１
2005088169.tif 000002
【特許請求の範囲】
【請求項１】
胴体側部材と、胴体側部材に回転可能に接続されている末端側部材と、末端側部材に端部が取付けられている少なくとも２本のワイヤと、各ワイヤの他端部に接続されて各ワイヤを伸縮させる少なくとも２個のアクチュエータと、各アクチュエータを制御するコントローラとを備え、
一方のワイヤを伸ばして他方のワイヤを縮めることによって末端側部材を一方方向に回転させ、前記一方のワイヤを縮めて前記他方のワイヤを伸ばすことによって末端側部材を前記一方方向と反対方向に回転させるロボットであり、
コントローラが、ロボットが所定の状態にあるときに、各ワイヤが緩んだ状態を維持し続けるように各アクチュエータを制御することを特徴とするロボット。
【請求項２】
前記末端側部材の回転角を検知する手段を備え、
前記コントローラが、ロボットが前記所定の状態にあるときに、以下の各処理、即ち、
（１）検知された回転角に微小角度を加えた回転角を実現するのに必要な各ワイヤの長さを計算するとともに、検知された回転角から微小角度を減じた回転角を実現するのに必要な各ワイヤの長さを計算する処理、
（２）ワイヤ毎に、計算処理で計算された当該ワイヤの２つの長さのうちの大きい方を特定する処理、
（３）各ワイヤが特定処理で特定された長さになるように各アクチュエータを作動させる処理、
を繰り返して実行することを特徴とする請求項１のロボット。
【請求項３】
前記末端側部材の回転角を検知する手段を備え、
前記コントローラが、ロボットが前記所定の状態にあるときに、以下の各処理、即ち、
（１）検知された回転角を実現するのに必要な各ワイヤの長さを計算するとともに、前記末端側部材を検知された回転角から微小角度回転させるのに必要な各ワイヤの長さ変化量を計算する第１計算処理、
（２）ワイヤ毎に、第１計算処理で計算された当該ワイヤの長さに、第１計算処理で計算された当該ワイヤの長さ変化量の絶対値を加えた長さを計算する第２計算処理、
（３）各ワイヤが第２計算処理で計算された長さになるように各アクチュエータを作動させる処理、
を繰り返して実行することを特徴とする請求項１のロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、胴体側部材と、胴体側部材に回転可能に接続されている末端側部材とを備えるロボットに関する。特に、末端側部材をほぼ完全に回転自由にするための技術に関する。
なお、特許請求の範囲及び本明細書における「胴体側部材と末端側部材」とは、例えば、「胴体部と頭部」、「胴体部と上腕部」、「上腕部と前腕部」、「前腕部と手平部」、「手平部と手指部」、「胴体部と大腿部」、「大腿部と下腿部」、「下腿部と足部」等を言う。なお、足部とは、足首関節より末端側の部材を意味する。また、末端側部材は複数の部材から構成されてもよい。例えば、下腿部と足部の２つの部材をあわせて末端側部材ということができる。
【背景技術】
【０００２】
特許文献１には、胴体側部材と末端側部材を備え、胴体側部材に対して末端側部材を回転させるロボットが開示されている。このロボットは、末端側部材に対して直接的にモータを接続しており、そのモータを駆動することによって関節角（胴体側部材に対する末端側部材の回転角）を調整する。
【０００３】
ところで、ロボットが動作する過程において、末端側部材が外力に倣って自由に回転できるようにする（胴体側部材と末端側部材を接続する関節をフリーにする）ことが望ましい場合がある。例えば、歩行ロボットの場合、遊脚の足部を接地させるときに、その足部が接地面の凹凸に倣って自由に回転できるように足首関節をフリーにすることが好ましい。また、歩行ロボットの遊脚の膝関節（大腿部と下腿部を接続する関節）をフリーにすることによって、歩行に要する消費エネルギーを節約することもできる（このことは本出願人らによって出願された特願２００３―０７０７５８号に記載されている）。
特許文献１には、末端側部材が外力に倣って自由に回転できるように、その末端側部材を回転させるモータのトルクをゼロにすること（モータフリーにすること）が開示されている。
【特許文献１】特開２００３−１４５４５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
たとえモータフリーにしても、モータの回転軸を回転させるためにはある程度の大きさの力が必要である。従って、特許文献１の技術では、小さな外力が末端側部材に作用しても、その末端側部材が自由に回転することが許容されない場合がある。
【０００５】
本発明は、上記した実情に鑑みてなされたものであり、末端側部材をほぼ完全に回転自由にすることができる技術を提供することを目的とする。即ち、末端側部材と胴体側部材を接続する関節をほぼ完全に回転自由（フリー）にできる技術を提供することを目的とする。ここでいう「ほぼ完全」とは、関節を回転させるモータ等のアクチュエータに生じる摩擦の影響を受けないようにすることをいい、関節自体の摩擦まで打ち消すものではない。
【課題を解決するための手段】
【０００６】
本発明は、末端側部材に２本のワイヤを接続し（典型的には回転中心を挟む両側に２本のワイヤを接続する）、一方のワイヤを引くことで末端側部材を時計方向に回転させ、他方のワイヤを引くことで末端側部材を反時計方向に回転させる方式（本明細書ではプルプル方式という）を採用することによって、上記の目的を実現する。
【０００７】
請求項１に記載のロボットは、胴体側部材と、胴体側部材に回転可能に接続されている末端側部材と、末端側部材に端部が取付けられている少なくとも２本のワイヤと、各ワイヤの他端部に接続されて各ワイヤを伸縮させる少なくとも２個のアクチュエータと、各アクチュエータを制御するコントローラとを備える。このロボットは、一方のワイヤを伸ばして他方のワイヤを縮めることによって末端側部材を一方方向に回転させ、前記した一方のワイヤを縮めて他方のワイヤを伸ばすことによって末端側部材を前記とは反対方向に回転させる。そして、コントローラが、ロボットが所定の状態にあるときに、各ワイヤが緩んだ状態を維持し続けるように各アクチュエータを制御することを特徴とする。
このロボットは、いわゆるプルプル方式を利用して末端側部材を回転させる。従って、各ワイヤを積極的に緩ませることができる。各ワイヤを積極的に緩ませることによって、末端側部材が外力（重力でもよい）に倣って自由に回転できるようになる。このロボットによると、ロボットの特定の関節をほぼ完全にフリーにすることができる。
【０００８】
上記のロボットは、末端側部材の回転角を検知する手段を備えるようにしてもよい。そして、コントローラが、ロボットが前記した所定の状態にあるときに、以下の各処理、
（１）検知された回転角に微小角度を加えた回転角を実現するのに必要な各ワイヤの長さを計算するとともに、検知された回転角から微小角度を減じた回転角を実現するのに必要な各ワイヤの長さを計算する処理、
（２）ワイヤ毎に、計算処理で計算された当該ワイヤの２つの長さのうちの大きい方を特定する処理、
（３）各ワイヤが特定処理で特定された長さになるように各アクチュエータを作動させる処理、
を繰り返して実行することによって、各ワイヤが緩んだ状態を維持し続けるようにしてもよい。
【０００９】
また、コントローラが、ロボットが前記した所定の状態にあるときに、以下の各処理、
（１）検知された回転角を実現するのに必要な各ワイヤの長さを計算するとともに、末端側部材を検知された回転角から微小角度回転させるのに必要な各ワイヤの長さ変化量を計算する第１計算処理、
（２）ワイヤ毎に、第１計算処理で計算された当該ワイヤの長さに、第１計算処理で計算された当該ワイヤの長さ変化量の絶対値を加えた長さを計算する第２計算処理、
（３）各ワイヤが第２計算処理で計算された長さになるように各アクチュエータを作動させる処理、
を繰り返して実行することによって、各ワイヤが緩んだ状態を維持し続けるようにしてもよい。
【発明を実施するための最良の形態】
【００１０】
ここでは、下記の実施例に記載する技術の主要な特徴をまとめておく。
（形態１）  図１は、ロボットの足部２１８と下腿部２１６を簡単に示した図である。図１の左方向がロボットの前進方向であり、右方向がロボットの後進方向である。
足部２１８の上面にはフランジ２６０が形成されている。足部２１８は、フランジ２６０に挿通された軸２６２によって、下腿部２１６に回転可能に取り付けられている。軸２６２は、ヒトの足首関節に相当する。
下腿部２１６には、図１の紙面垂直方向に平行に一対のプーリ２６４ａ，２６４ｂ（図１では一方のプーリ２６４ａしか見えない）が自由回転可能に取り付けられている。また、下腿部２１６には、下腿部２１６に対する足部２１８の回転角を測定するエンコーダ２８０が設置されている。
【００１１】
足部２１８の回転軸２６２よりも左側に、ワイヤ２６６ａの一端が接続されている。ワイヤ２６６ａは、一方のプーリ２６４ａに巻かれている。ワイヤ２６６ａの他端は、アクチュエータ２６８ａに接続されている。
足部２１８の回転軸２６２よりも右側に、ワイヤ２６６ｂの一端が接続されている。ワイヤ２６６ｂは、他方のプーリ２６４ｂに巻かれている。ワイヤ２６６ｂの他端は、アクチュエータ２６８ｂに接続されている。
【００１２】
各アクチュエータ２６８ａ，２６８ｂは、ボールネジ機構によって構成されている。アクチュエータ２６８ａは、アクチュータ２６８ａから突出しているワイヤ２６６ａの長さ（以下ではワイヤ２６６ａの有効長さという）を変えることができる。同様に、アクチュエータ２６８ｂは、アクチュータ２６８ｂから突出しているワイヤ２６６ｂの長さ（以下ではワイヤ２６６ｂの有効長さという）を変えることができる。なお、以下では、ワイヤ２６６ａの有効長さとして符号Ｌ１を使用し、ワイヤ２６６ｂの有効長さとして符号Ｌ２を使用する。
アクチュエータ２６８ａによってワイヤ２６６ａが引かれるとともに、アクチュエータ２６８ｂによってワイヤ２６６ｂが緩められると、足部２１８が軸２６２回りに時計方向に回転し、足部２１８のつま先（図１の左端）が持ち上げられる。逆に、ワイヤ２６６ｂが引かれるとともにワイヤ２６６ａが緩められると、足部２１８が軸２６２回りに反時計方向に回転し、足部２１８のかかと（図１の右端）が持ち上げられる。
【００１３】
足部２１８の回転位置を制御するコントローラ３００が設置されている。コントローラ３００とエンコーダ２８０は通信可能に接続されている。コントローラ３００には、エンコーダ２８０が測定している回転角が常時入力されている。
コントローラ３００と各アクチュエータ２６８ａ，２６８ｂは通信可能に接続されている。
コントローラ３００は、図示省略の制御部と接続されている。この制御部は、コントローラ３００に対して足部２１８の回転角θを指示する。コントローラ３００は、制御部から指示された回転角θから各アクチュエータ２６８ａ，２６８ｂの作動量を計算し、計算された作動量に対応する指令値を各アクチュエータ２６８ａ，２６８ｂに対して出力する。
【００１４】
コントローラ３００には、足部２１８の回転角θからワイヤ２６６ａの有効長さＬ１を導出するための関数ｆ１（θ）が記憶されている（Ｌ１＝ｆ１（θ））。さらに、コントローラ３００には、足部２１８の回転角θからワイヤ２６６ｂの有効長さＬ２を導出するための関数ｆ２が記憶されている（Ｌ２＝ｆ２（θ））。
コントローラ３００は、ロボットが所定の状態にあるときに、足部２１８が外力に倣って自由に回転できるように各アクチュエータ２６８ａ，２６８ｂを制御する。即ち、足首関節２６２をフリーにする処理を実行する。以下に、コントローラ３００が実行する足首関節フリー処理について簡単に説明する。
図２は、コントローラ３００が実行する足首関節フリー処理のフローチャートを示している。
まず、エンコーダ２８０の計測値θｃを読取る（ステップＳ２）。
次いで、以下の４つの値を計算する（ステップＳ４）。
（１）計測値θｃに微小角度Δθが加算された値を足部２１８の目標角度とした場合のＬ１（これを目標Ｌ１とする）を計算する。即ち、ｆ１（θｃ＋Δθ）を計算する。
（２）計測値θｃから微小角度Δθが減算された値を足部２１８の目標角度とした場合のＬ１（これを目標Ｌ１’とする）を計算する。即ち、ｆ１（θｃ−Δθ）を計算する。
（３）計測値θｃに微小角度Δθが加算された値を足部２１８の目標角度とした場合のＬ２（これを目標Ｌ２とする）を計算する。即ち、ｆ２（θｃ＋Δθ）を計算する。
（４）計測値θｃから微小角度Δθが減算された値を足部２１８の目標角度とした場合のＬ２（これを目標Ｌ２’とする）を計算する。即ち、ｆ２（θｃ−Δθ）を計算する。
【００１５】
ステップＳ６では目標Ｌ１と目標Ｌ１’を比較する。目標Ｌ１が大きい場合（ステップＳ６でＹＥＳの場合）は、ワイヤ２６６ａの有効長さＬ１が、ステップＳ４で計算された目標Ｌ１となるようにアクチュエータ２６８ａを制御する（ステップＳ８）。一方、目標Ｌ１’が大きい場合（ステップＳ６でＮＯの場合）は、ワイヤ２６６ａの有効長さＬ１が、目標Ｌ１’となるようにアクチュエータ２６８ａを制御する（ステップＳ１０）。
ステップＳ１２では目標Ｌ２と目標Ｌ２’を比較する。目標Ｌ２が大きい場合（ステップＳ１２でＹＥＳの場合）は、ワイヤ２６６ｂの有効長さＬ２が、ステップＳ４で計算された目標Ｌ２となるようにアクチュエータ２６８ｂを制御する（ステップＳ１４）。一方、目標Ｌ２’が大きい場合（ステップＳ１２でＮＯの場合）は、ワイヤ２６６ｂの有効長さＬ２が、計算された目標Ｌ２’となるようにアクチュエータ２６８ｂを制御する（ステップＳ１６）。
ステップＳ１４又はステップ１６を終えると、ステップＳ２からの処理を繰り返して実行する。
【００１６】
（形態２）  上記の形態１における関数式Ｌ１＝ｆ１（θ）を微分すると以下の式になる。
（式１）ｄＬ１／ｄｔ＝ｄｆ１（θ）／ｄθ・ｄθ／ｄｔ
この式１から、足部２１８が微小角度Δθだけ回転する場合の、Ｌ１の長さ変化量ΔＬ１を導出する式は次のようになる。
（式１’）ΔＬ１＝ｆ１’（θ）・Δθ  （ただしｆ１’（θ）＝ｄｆ１（θ）／ｄθである）
また、上記の関数式Ｌ２＝ｆ２（θ）を微分すると以下の式になる。
（式２）ｄＬ２／ｄｔ＝ｄｆ２（θ）／ｄθ・ｄθ／ｄｔ
上記の式２から、足部２１８が微小角度Δθだけ回転する場合の、Ｌ２の長さ変化量ΔＬ２を導出する式は次のようになる。
（式２’）ΔＬ２＝ｆ２’（θ）・Δθ  （ただしｆ２’（θ）＝ｄｆ２（θ）／ｄθである）
本形態のコントローラ３００は、エンコーダ２８０の計測値θｃから微小角度Δθだけ回転するのを許容する目標Ｌ１を導出するのに次の式を利用する。
（式３）目標Ｌ１＝ｆ１（θｃ）＋｜ｆ１’（θｃ）・Δθ｜
また、エンコーダ２８０の計測値θｃから微小角度Δθだけ回転するのを許容する目標Ｌ２を導出するのに次の式を利用する。
（式４）目標Ｌ２＝ｆ２（θｃ）＋｜ｆ２’（θｃ）・Δθ｜
【００１７】
本実施形態のコントローラ３００が実行する足首関節フリー処理について説明する。図３には、本形態の足首関節フリー制御のフローチャートが示されている。
まず、エンコーダ２８０の計測値θｃを読取る（ステップＳ２０）。
エンコーダ２８０の計測値θｃを読取ると、形態２の（式３）及び（式４）を利用して目標Ｌ１と目標Ｌ２を算出する（ステップＳ２２）。
ステップＳ２４では、ワイヤ２６６ａの有効長さが、ステップＳ２２で算出された目標Ｌ１になるようにアクチュエータ２６８ａを制御する。ステップＳ２６では、ワイヤ２６６ｂの有効長さが、ステップＳ２２で算出された目標Ｌ２になるようにアクチュエータ２６８ｂを制御する。
【実施例】
【００１８】
（第１実施例）  図面を参照して本発明の実施例を説明する。図４は、本実施例に係るロボット１０の左下肢１２の側面図である。図４では、ロボット１０の上半身を図示省略している。ロボット１０は、頭部、上腕、下腕等を備えるヒューマノイドロボットである。本明細書では、足部１８の前後方向（図４の左右方向）をＸ軸とし、足部１８の左右方向（図４の紙面垂直方向）をＹ軸とし、下腿部１６の伸びる方向（図４の上下方向）をＺ軸とする。各軸は相互に直交している。
下肢１２は、大腿部１４と下腿部（脛）１６と足部１８から構成される。大腿部１４と胴体部２０は股関節２２によって接続されている。また、大腿部１４と下腿部１６は膝関節２４によって接続されており、下腿部１６と足部１８は足首関節２６によって接続されている。
【００１９】
最初に股関節２２について説明する。ほぼ水平に伸びる板状の骨盤部２８には、Ｚ軸回りに回転する円板３６がベアリング３４によって取付けられている。円板３６の中心には、骨盤部２８側から大腿部１４側に伸びる（Ｚ軸方向に伸びる）シャフト３０が固定されている。シャフト３０は骨盤部２８に対してＺ軸回りに回転する。
シャフト３０の下端に、ユニバーサルジョイント３２によって大腿部１４の上端が接続されている。ユニバーサルジョイント３２は、シャフト３０に対して大腿部１４がＸ軸回りとＹ軸回りに回転することを許容する。股関節２２は、骨盤部２８に対してＺ軸回りに回転できるシャフト３０と、シャフト３０に対して大腿部１４がＸ軸回りとＹ軸回りに回転することを許容するユニバーサルジョイント３２を持ち、Ｘ，Ｙ，Ｚ軸のそれぞれの回りに回転することを許容する三軸関節である。
【００２０】
次に膝関節２４を説明する。大腿部１４の下端には、Ｙ軸方向に距離を隔てて平行に並んだ一対のフランジ４０（図４では一つのフランジしか見えない）が下方に伸びている。下腿部１６を構成するシャフト４２の上端には、Ｙ軸方向に距離を隔てて平行に並んだ一対のフランジ４４（図４では一つのフランジしか見えない）が上方向に伸びている。膝関節２４は、これらのフランジ４０，４４を貫通してＹ軸方向に伸びる軸４６を備える。膝関節２４は、大腿部１４に対して下腿部１６がＹ軸回りに回転することを許容する。
【００２１】
次に足首関節２６を説明する。図５は足首関節２６の構造を説明するために単純化してデフォルメした図であり、実際の形状や寸法とは必ずしも一致しない。
下腿部１６のシャフト４２の下部には、Ｘ軸方向に距離を隔てて平行に並んだ一対のフランジ５８が下方に伸びている。また、足部１８の上面には、Ｙ軸方向に距離を隔てて平行に並んだ一対のフランジ６０が上方に伸びている。これら下腿部１６のフランジ５８と足部１８のフランジ６０は、十字型継手６２によって接続されてユニバーサルジョイントを成している。足首関節２６は、下腿部２４に対して足部１８が、Ｙ軸回りに回転することを許容する。
【００２２】
各関節はワイヤによって駆動される。ただし、股関節のＺ軸回りの回転はワイヤを利用せずに、モータで直接に回転される。各ワイヤの一端は末端側部材に取付けられており、他端はボールネジとモータから構成されるアクチュエータに接続されている。モータによってボールネジの送りネジ（Ｚ方向に伸びている）が回転し、これに伴って送りネジに螺合しているナットが送りネジ方向に送られ、ナットに接続されているワイヤ先端がＺ軸方向に進退する。ワイヤ先端をＺ軸方向に進退させることによってワイヤによって末端側部材を引いたり緩めたりすることができる。アクチュエータの構成については、後でより詳しく説明する。
【００２３】
図５を参照して足首関節を回転させるワイヤ群を説明する。足部１８には、図示しない取付け板によってワイヤ終端ガイド７０ａ，７０ｂが固定されている。各ワイヤ終端ガイド７０ａ，７０ｂは円弧形状である。それぞれの円弧の中心軸はＹ軸方向に伸びており、円弧面は所定の幅（Ｙ軸に沿って伸びる距離）を有している。ワイヤ終端ガイド７０ａは足首関節２６のＹ軸よりも前方に位置し、足首関節２６のＸ軸上に配置されている。その円弧面はＸ軸前方を向いている。ワイヤ終端ガイド７０ｂは足首関節２６のＹ軸よりも後方に位置し、足首関節２６のＸ軸上に配置されている。ワイヤ終端ガイド７０ｂの円弧面はＸ軸後方を向いている。
ワイヤ６６ａの下端は、ワイヤ終端ガイド７０ａの下端のワイヤ接続点７２ａに固定されている。ワイヤ６６ｂの下端は、ワイヤ終端ガイド７０ｂの下端のワイヤ接続点７２ｂに固定されている。各ワイヤ６６ａ，６６ｂの他端は膝関節２４側に伸びている。各ワイヤ６６ａ，６６ｂの下部は、各ワイヤ終端ガイド７０ａ，７０ｂの円弧面に沿って湾曲している。ワイヤ終端ガイド７０ａ，７０ｂは、ワイヤ６６ａ，６６ｂが小さな曲率半径で鋭く曲がることを禁止している。
【００２４】
ワイヤ接続点７２ａは足首関節２６のＹ軸よりも前方に位置しており、ワイヤ６６ａが膝関節２４側に引かれると足部１８は足首関節２６のＹ軸回りに回転して爪先を持ち上げる。この場合には、ワイヤ６６ｂを緩めてかかとが下がるのを許容する。ワイヤ接続点７２ｂは足首関節２６のＹ軸よりも後方に位置しており、ワイヤ６６ｂが膝関節２４側に引かれると足部１８は足首関節２６のＸ軸回りに回転してかかとを持ち上げる。この場合には、ワイヤ６６ａを緩めて爪先が下がるのを許容する。ワイヤ６６ａを引いて爪先を持ち上げるときには、ワイヤ６６ｂ，６６ｃを緩めてかかとが下がるのを許容する。
【００２５】
図５に示すように、下腿部１６のシャフト４２の上部には、フランジ４４を貫通するＹ軸方向の軸４６の回りに自由回転可能な２つのプーリ６４ａ，６４ｂが配されている。プーリ６４ａはフランジ４４の間に配されており、プーリ６４ｂはフランジ４４の外面に配されている。プーリ６４ａにはワイヤ６６ａが巻かれており、プーリ６４ｂにはワイヤ６６ｂが巻かれている。ワイヤ６６ａ，６６ｂは、プーリ６４ａ，６４ｂの前側でプーリ６４ａ，６４ｂから離反している。ワイヤ６６ａ，６６ｂは足部１８に対して膝関節２４の前方位置から引張力を加える。このために、２本のワイヤ６６ａ，６６ｂを同時に同一速度で収縮させると、下腿部１６に対する足部１８の回転角度は変えないで（足首関節２６を回転させないで）、下腿部１６を膝関節２４の回りに前向きに回転させることができる。
【００２６】
２本のワイヤ６６ａ，６６ｂの上端はボールネジ６８ａ，６８ｂ（図４参照）に接続されている。図４では図示の明瞭化のためにボールネジ６８ａ，６８ｂが簡略化されて表示されている。ボールネジ６８ａとボールネジ６８ｂは同様の構造を有するために、ここでは、ボールネジ６８ａの構造について説明する。図６は、ボールネジ６８ａの詳細を模式的に示した図である。
一対のフランジ１０２，１０６が、３本の案内ロッド１０８，１１０，１１２で接続されている。一対のフランジ１０２，１０６の間には、送りネジ１２０が回転自在で軸方向には移動不能に配置されている。送りネジ１２０は、モータ１１４とギヤ１１６とギヤ１１８によって回転させられる。送りネジ１２０には可動プレート１０４が螺合している。可動プレート１０４は、案内ロッド１０８，１１０，１１２に案内されて軸方向に移動可能で回転不能となっている。その可動プレート１０４にワイヤ６６ａの先端が固定されている。
モータ１１４が回転すると送りネジ１２０が回転して可動プレート１０４が案内ロッドに沿って滑り、ワイヤ６６ａが引き込まれたり、緩められたりする。
なお、以下では、ボールネジ６８ａに関連する部材の符号の後に「ａ」を付し、ボールネジ６８ｂに関連する部材の符号の後に「ｂ」を付し、ボールネジ６８ｃに関連する部材の符号の後に「ｃ」を付すことにする。例えば、ボールネジ６８ａのモータの符号は、「１１４ａ」である。
【００２７】
ボールネジ６８ａ（図４参照）は、モ−タ１１４ａと一対のフランジ１０２ａ，１０６ａが大腿部１４に固定されている。ボールネジ６８ａの各案内ロッド１０８ａ，１１０ａ，１１２ａは大腿部１４の長手方向に伸びており、モ−タ１１４ａがボールネジ６８ａを回転させることで、ワイヤ６６ａは大腿部１４の長手方向に引かれたり緩められたりする。
同様に、ボールネジ６８ｂは、モ−タ１１４ｂと一対のフランジ１０２ｂ，１０６ｂが大腿部１４に固定されており、モ−タ１１４ｂがボールネジ６８ｂを回転させることで、ワイヤ６６ｂが大腿部１４の長手方向に引かれたり緩められたりする。
ワイヤ６６ａ，６６ｂのプーリ６４ａ，６４ｂと接続点７２ａ，７２ｂ間の距離をワイヤの有効長さとすると、ワイヤ６６ａ，６６ｂの有効長さはモータ１１４ａ，１１４ｂによって伸長させられる。ワイヤ６６ａ，６６ｂの有効長さを伸長させるボールネジ機構６８ａ，６８ｂは、股関節２２に近い大腿部１４に配置されている。
【００２８】
図４に示されているように、下腿部４２には下腿部４２を膝関節２４の回りに後方に回転させるワイヤ６６ｃの一端が接続されている。ワイヤ６６ｃの他端は、ボールネジ６８ｃの可動プレート１０４ｃに接続されている。ボールネジ６８ｃの構造は、上記したボールネジ６８ａと同様である。ワイヤ６６ｃは、膝関節２４に回転自在に配置されているプーリ（図示省略）の後方を通っている。ボールネジ６８ｃの可動プレート１０４ｃはモータ１１４ｃによって進退する。可動プレート１０４ｃが進退すると、ワイヤ６６ｃは引き込まれたり、緩められたりする。なお、以下では、下腿部１６におけるワイヤ６６ｃの接続点から、ワイヤ６６ｃが巻かれているプーリ（図示参照）までの長さを、ワイヤ６６ｃの有効長さとする。
【００２９】
次に、股関節２２回りの回転角を調整するワイヤとアクチュエータを説明する。図４に示すように、大腿部１４の上部の所定位置にはワイヤ５０ａ，５０ｂが配置されている。また、ワイヤ５０ｂとＹ軸方向に平行に図示省略のワイヤ５０ｃが配置されている。
また、大腿部１４の後部（図４の右部）には、Ｙ軸方向に平行に一対のプーリ５４（図４では１つしか見えていない）が配置されている。各プーリ５４は、Ｙ軸方向に伸びるシャフト５６に自由回転可能に支持されている。ワイヤ５０ｂとワイヤ５０ｃは、それぞれプーリ５４に巻かれている。
ワイヤ５０ａの下端は、股関節２２のＹ軸よりも前方に位置している。ワイヤ５０ａの上端は、ボールネジ５２ａに接続されている。ワイヤ５０ｂの下端は、股関節２２のＹ軸よりも後方に位置している。ワイヤ５０ｂの上端は、ボールネジ５２ｂに接続されている。ワイヤ５０ｃの下端は、股関節２２のＹ軸よりも後方に位置している。ワイヤ５０ｃの上端は、ボールネジ５２ｂと重なっていて図示されていないボールネジ５２ｃに接続されている。
ワイヤ５０ｂの下端とワイヤ５０ｃの下端は、股関節２２のＸ軸を挟んで両側に配置されいてる。従って、ワイヤ５０ｂを伸ばしてワイヤ５０ｃを緩めると（あるいは、ワイヤ５０ｂを伸ばしてワイヤ５０ｃを緩めると）、大腿部１４を股関節２２のＸ軸回りに回転させることができる。
また、ワイヤ５０ａを伸ばしてワイヤ５０ｂ，５０ｃを同時に緩めると（あるいは、ワイヤ５０ａを伸ばしてワイヤ５０ｂ，５０ｃを緩めると）、大腿部１４を股関節２２のＹ軸回りに回転させることができる。
なお、骨盤部２８に回転自在な円板３６は、モータ３８によってＺ軸の回りに回転させられる。モータ３８は骨盤部２８に固定されている。
【００３０】
図４に示されるように、下腿部１６には、下腿部１６に対する足首関節２６のＹ軸回りの回転角（即ち下腿部１６に対する足部１８の回転角）を検知するエンコーダ８０が設置されている。また、大腿部１４には、大腿部１４に対する膝関節２４のＹ軸回りの回転角（即ち大腿部１４に対する下腿部１６の回転角）を検知するエンコーダ８２が設置されている。
図７は、下腿部１６と足部１８がＹ軸回りに回転している様子を模式的に示している。エンコーダ８０は、下腿部１６に対する足部１８のＹ軸回りの回転角θ１を検知する。エンコーダ８２は、大腿部１４に対する下腿部１６のＹ軸回りの回転角θ２を検知する。
なお、以下では、エンコーダ８０，８２によって計測された回転角を、それぞれθｍ１，θｍ２と表現することにする。
【００３１】
本実施例に係るロボット１０は、上記した各アクチュエータ（ボールネジ６６ａ，６６ｂ，６６ｃ等）を駆動制御するコントローラ２００（図６に示されている）を備えている。
コントローラ２００は、図示省略の制御部と接続されている。この制御部は、ロボット１０が運動（例えば歩行）する過程において、コントローラ２００に対して回転角θ１及びθ２を指示する。以下では、制御部からコントローラ２００に指示される足部１８の回転角をθｔ１と記載し、制御部からコントローラ２００に指示される下腿部１６の回転角をθｔ２と記載することにする。
コントローラ２００は、制御部から指示された回転角θｔ１及びθｔ２を実現するのに必要な各ワイヤ６６ａ，６６ｂ，６６ｃの有効長さを計算する。なお、以下では、ワイヤ６６ａの有効長さを符号Ｌ１で表し、ワイヤ６６ｂの有効長さを符号Ｌ２で表し、ワイヤ６６ｃの有効長さを符号Ｌ３で表す。
コントローラ２００には、θ１及びθ２から各ワイヤ６６ａ，６６ｂ，６６ｃの有効長さＬ１，Ｌ２，Ｌ３を導出することができる関数ｆ１（θ１，θ２），ｆ２（θ１，θ２），ｆ３（θ１，θ２）がプログラミングされている。従って、制御部からθｔ１及びθｔ２が指示されると、そのθｔ１及びθｔ２を実現するのに必要なＬ１，Ｌ２，Ｌ３を計算することができる。
コントローラ２００は、各有効長さＬ１，Ｌ２，Ｌ３を計算すると、各ボールネジ６８ａ，６８ｂ，６８ｃのモータ１１４ａ，１１４ｂ，１１４ｃの回転数（即ち可動プレート１０４ａ，１１４ｂ，１１４ｃの作動量）を計算する。計算された回転数は各ボールネジ６８ａ，６８ｂ，６８ｃのモータ１１４ａ，１１４ｂ，１１４ｃに出力され、この出力に従って各ボールネジ６８ａ，６８ｂ，６８ｃのモータ１１４ａ，１１４ｂ，１１４ｃが作動する。
また、コントローラ２００は、エンコーダ８０，８２によって検知される回転角θｍ１，θｍ２を常時入力している。
【００３２】
本実施例に係るコントローラ２００は、遊脚の左下肢１２を接地するときに、足首関節２６をフリー（即ち自由回転可能）にする制御を実行する。なお、本実施例では、左下肢１２を中心に説明しているが、遊脚の右下肢を接地するときには右下肢の足首関節をフリーにする制御が実行される。図８に、コントローラ２００が実行する足首関節フリー制御のフローチャートを示している。
まず、エンコーダ８０で計測されたθｍ１を読取る（ステップＳ３０）。
足首関節フリー制御を実行する際は、制御部からθｔ２のみが指示され、θｔ１は指示されない。ステップＳ３２では、制御部から指示されたθｔ２を入力する。
次いで、ステップＳ３４において、θｍ１に微小角度Δθ１が加算された角（θｍ１＋Δθ１）及びθｔ２を実現するのに必要な各ワイヤ６６ａ，６６ｂ，６６ｃの有効長さを計算する。即ち、ｆ１（θｍ１＋Δθ１，θｔ２）、ｆ２（θｍ１＋Δθ１，θｔ２）、及びｆ３（θｍ１＋Δθ１，θｔ２）を計算する。なお、以下では、角（θｍ１＋Δθ１）及びθｔ２を実現するために必要な各ワイヤ６６ａ，６６ｂ，６６ｃの有効長さを、それぞれ目標Ｌ１、目標Ｌ２、目標Ｌ３と記載することにする。ステップＳ３４では、さらに、θｍ１から微小角度Δθが減算された角（θｍ１−Δθ１）及びθｔ２を実現するのに必要な各ワイヤ６６ａ，６６ｂ，６６ｃの有効長さを計算する。即ち、ｆ１（θｍ１−Δθ１，θｔ２）、ｆ２（θｍ１−Δθ１，θｔ２）、及びｆ３（θｍ１−Δθ１，θｔ２）を計算する。なお、以下では、角（θｍ１−Δθ１）及びθｔ２を実現するのに必要な各ワイヤ６６ａ，６６ｂ，６６ｃの有効長さを、それぞれ目標Ｌ１’、目標Ｌ２’、目標Ｌ３’と記載することにする。
【００３３】
ステップＳ３６以降では、ステップＳ３４で計算された各値に基づいて、各ボールネジ６８ａ，６８ｂ，６８ｃの駆動制御を実行する。
（ボールネジ６８ａの駆動制御）
ステップＳ３６では、ステップＳ３４で計算された目標Ｌ１と目標Ｌ１’を比較して、どちらが大きいのかを判別する。目標Ｌ１の方が大きい場合（ステップＳ３６でＹＥＳの場合）は、目標Ｌ１を実現するのに必要なボールネジ６８ａのモータ１１４ａの回転数を計算する（ステップＳ３８）。逆に、目標Ｌ１’の方が大きい場合（ステップＳ３６でＮＯの場合）は、目標Ｌ１’を実現するのに必要なボールネジ６８ａのモータ１１４ａの回転数を計算する（ステップＳ４０）。
ステップＳ３８又はステップＳ４０を終了すると、ステップＳ４２に進む。ステップＳ４２では、ステップＳ３８又はステップＳ４０で計算された回転数をモータ１１４ａに実行させる。即ち、ボールネジ６８ａのモータ１１４ａに対して、計算された回転数を実行させる制御信号を出力する。
（ボールネジ６８ｂの駆動制御）
ステップＳ４４では、ステップＳ３４で計算された目標Ｌ２と目標Ｌ２’を比較して、どちらが大きいのかを判別する。目標Ｌ２の方が大きい場合（ステップＳ４４でＹＥＳの場合）は、目標Ｌ２を実現するのに必要なボールネジ６８ｂのモータ１１４ｂの回転数を計算する（ステップＳ４６）。一方、目標Ｌ２’の方が大きい場合（ステップＳ４４でＮＯの場合）は、目標Ｌ２’を実現するのに必要なボールネジ６８ｂのモータ１１４ｂの回転数を計算する（ステップＳ４８）。
ステップＳ５０では、ボールネジ６８ｂのモータ１１４ｂに対して、ステップＳ４６又はステップＳ４８で計算された回転数を実行させる制御信号を出力する。
（ボールネジ６８ｃの駆動制御）
ステップＳ５２では、ステップＳ３４で計算された目標Ｌ３と目標Ｌ３’を比較して、どちらが大きいのかを判別する。目標Ｌ３の方が大きい場合（ステップＳ５２でＹＥＳの場合）は、目標Ｌ３を実現するのに必要なボールネジ６８ｃのモータ１１４ｃの回転数を計算する（ステップＳ５４）。一方、目標Ｌ３’の方が大きい場合（ステップＳ５２でＮＯの場合）は、目標Ｌ３’を実現するのに必要なボールネジ６８ｃのモータ１１４ｃの回転数を計算する（ステップＳ５６）。
ステップＳ５８では、ボールネジ６８ｃのモータ１１４ｃに対して、ステップＳ５４又はステップＳ５６で計算された回転数を実行させる制御信号を出力する。
ステップＳ５８を終了すると、ステップＳ３０からの処理を繰り返し実行する。
【００３４】
本実施例の下肢１２は、２軸（膝関節２４、足首関節２８）を３本のワイヤ６６ａ，６６ｂ，６６ｃで駆動するものであるために、膝関節２４と足首関節２８のどちらか一方のみをフリーにすることは不可能であるとも思えてしまう。しかしながら、上記した足首関節フリー制御の場合、ステップＳ３０〜Ｓ５８までの処理を高速で繰り返し実行することによって、制御部から指示される膝関節２４の回転角θｔ２を実質的に維持しながら足首関節２８はほぼ完全にフリーにすることができる。
上記した足首関節フリー制御を実行することにより、制御部から指示される膝関節２４の回転角を実現しながら（膝関節２４はフリーにしないで）、足首関節２６のみをフリーにすることができる。
【００３５】
（第１実施例の変形例）
本変形例のロボット１０は、遊脚の膝関節をフリーにする。ここでは、コントローラ２００が、遊脚の左下肢１２の膝関節２４をフリーにする制御を簡単に説明しておく。膝関節フリー制御を実行する場合、コントローラ２００には、θｔ１のみが指示され、θｔ２は指示されない。
コントローラ２００は、エンコーダ８２で検知される回転角θｍ２を読取る。そして、各ワイヤ６６ａ，６６ｂ，６６ｃについて、角θｔ１及び（θｍ２＋Δθ２）に基づいて目標Ｌ１，Ｌ２，Ｌ３を計算する。さらに、コントローラ２００は、角θｔ１及び（θｍ２−Δθ２）に基づいて目標Ｌ１’，Ｌ２’，Ｌ３’を計算する。そして、計算された目標Ｌ１，Ｌ２，Ｌ３と目標Ｌ１’，Ｌ２’，Ｌ３’に基づいて、各ボールネジ６８ａ，６８ｂ，６８ｃを制御する処理を実行していく（図８のステップＳ３６〜Ｓ５８と同様の処理を実行していく）。即ち、目標Ｌ１と目標Ｌ１’のうち大きい方を実現するのに必要なモータ回転数を計算し、計算されたモータ回転数をボールネジ６８ａのモータ１１４ａに実行させる。同様に、目標Ｌ２と目標Ｌ２’のうち大きい方を実現するのに必要なモータ回転数をボールネジ６８ｂのモータ１１４ｂに実行させ、目標Ｌ３と目標Ｌ３’のうち大きい方を実現するのに必要なモータ回転数をボールネジ６８ｃのモータ１１４ｃに実行させる。
本変形例によると、足首関節２６はフリーにしないで、膝関節２４のみを完全にフリーにすることができる。遊脚の膝関節をフリーにすることによって、歩行中の消費エネルギーを節約することができる。遊脚の膝関節をフリーにして歩行するロボットについては、本出願人らによって出願された特願２００３―０７０７５８号に詳しく記載されている。
【００３６】
（第２実施例）
ここでは、第１実施例と異なる点を中心に説明していく。本実施例は、足首関節フリー制御が第１実施例と異なる。図９に、本実施例の足首関節フリー制御処理のフローチャートが示されている。
ステップＳ８０及びステップＳ８２は、上記した図８のステップＳ３０及びステップＳ３２と同じ処理である。
ステップＳ８４では、目標Ｌ１、目標Ｌ２、及び目標Ｌ３を計算する。ここでの計算手法が第１実施例と異なる。図９のステップＳ８４に示されているＪは、θｔ２を固定した場合におけるｆｎ（θｍ１，θｔ２）（ｎは１、２、又は３）の微分関係を示す行列（ヤコビ行列；本実施例では３行１列の行列）である。例えば、ステップＳ８４に示されているｆ１’（θｍ１，θｔ２）は、θ２（即ちθｔ２）を固定した場合の関数ｆ１の微分係数を示している。Ｊ・Δθ１は、θｍ１から微小角度Δθ１だけ足部１８を回転させるのに必要な各ワイヤ６６ａ，６６ｂ，６６ｃの長さ変化量（これをΔＬ１、ΔＬ２、及びΔＬ３と記載することにする）を表す。従って、長さ変化量の絶対値｜Ｊ・Δθ１｜は、ΔＬ１、ΔＬ２、及びΔＬ３の正の値を表すことになる。ｆｎ（θｍ１，θｔ２）（ｎは１、２、又は３）に各変位量ΔＬ１，ΔＬ２，ΔＬ３を加算することによって、θｍ１及びθｔ２に対応するＬ１，Ｌ２，Ｌ３をやや緩ませたＬ１，Ｌ２，Ｌ３（目標Ｌ１，目標Ｌ２，目標Ｌ３）を算出できることになる。
【００３７】
ステップＳ８４で目標Ｌ１、目標Ｌ２、及び目標Ｌ３を算出すると、算出された各値に基づいて各ボールネジ６８ａ，６８ｂ，６８ｃを制御する処理を実行する（ステップＳ８６〜Ｓ９６）。ステップＳ８６〜Ｓ９６は、図８におけるステップＳ３８，Ｓ４２，Ｓ４６，Ｓ５０，Ｓ５４，Ｓ５８とほぼ同様の処理であるために、ここでの詳しい説明は省略する。
【００３８】
本実施例のようにしても、膝関節２４をフリーにしないで、足首関節２８だけを完全にフリーにすることができる。本実施例のようにヤコビ行列を用いることによって、コントローラ２００の処理量を低減することができる（図８におけるステップＳ３６，Ｓ４４，Ｓ５２のような分岐が必要ない）。
本実施例では、２軸（膝関節２４、足首関節２６）を３本のワイヤ６６ａ，６６ｂ，６６ｃを用いて制御するので１行３列のヤコビ行列を用いたが、例えば３軸を４本のワイヤを用いて制御する場合は複数行複数列のヤコビ行列を用いることになる。
本実施例で説明した処理によって、各ワイヤ６６ａ，６６ｂ，６６ｃが緩んだ状態を維持し続けるようにアクチュエータが制御される。現状の関節角θｍ１を実現するのに必要なワイヤ長を計算することによって、現状の関節角θｍ１を維持するのに必要なワイヤ長が計算される。この実施例では、微小角度Δθだけ回転することを許容するのに必要なワイヤ長の変化量を計算し、その分緩める。以上を繰り返すと、自由にされた関節が自由に回転するのに追従してワイヤ長が調整され（一方のワイヤは緩められて他方のワイヤは縮められる）、それからΔθだけ回転できるように緩められる。ワイヤ長は、常時、Δθの回転を許容する範囲で緩められる。ボールネジ６８等やモータ１１４等の抵抗が関節の自由な回転を阻害しない。
【００３９】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
上記した実施例では、足首関節や膝関節をフリーにすることを説明したが、それら以外の関節をフリーにする場合も本技術思想を用いることができる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【００４０】
【図１】ロボットの足部と下腿部を簡単に示す。
【図２】実施形態に係るコントローラが実行する足首関節フリー制御のフローチャートを示す。
【図３】実施形態に係るコントローラが実行する足首関節フリー制御のフローチャートを示す（図２とは別形態）。
【図４】実施例に係るロボットの左下肢の側面図を示す。
【図５】実施例に係るロボットの足部と下腿部が接続態様を説明するための図である。
【図６】ボールネジの斜視図を示す。
【図７】下腿部に対する足部の回転角と、大腿部に対する下腿部の回転角を説明するための図である。
【図８】第１実施例に係るコントローラが実行する足首関節フリー制御のフローチャートを示す。
【図９】第２実施例に係るコントローラが実行する足首関節フリー制御のフローチャートを示す。
【符号の説明】
【００４１】
１０：ロボット
１２：左下肢
１４：大腿部
１６：下腿部
１８：足部
２０：胴体部
２２：股関節
２４：膝関節
２６：足首関節
２８：骨盤部
３０：シャフト
３２：ユニバーサルジョイント
３４：ベアリング
３６：円板
３８：アクチュエータ
４０：フランジ
４２：シャフト
４４：フランジ
４６：軸
５０ａ，５０ｂ，５０ｃ：ワイヤ
５２ａ，５２ｂ，５２ｃ：ボールネジ
５４：プーリ
５６：アクチュエータ
５８：フランジ
６０：フランジ
６２：十字型継手
６４ａ，６４ｂ，６４ｃ：プーリ
６６ａ，６６ｂ，６６ｃ：ワイヤ
６８ａ，６８ｂ，６８ｃ：ボールネジ
７０ａ，７０ｂ：ワイヤ終端ガイド
７２ａ，７２ｂ：ワイヤ接続点
１０２：フランジ
１０４：可動プレート
１０６：フランジ
１０８：案内ロッド
１１０：案内ロッド
１１２：案内ロッド
１１４：モータ
１１６：ギヤ
１１８：ギヤ
１２０：送りネジ
２１６：下腿部
２１８：足部
２６０：フランジ
２６２：軸（足首関節）
２６４ａ：プーリ
２６６ａ，２６６ｂ：ワイヤ
２６８ａ，２６８ｂ：アクチュエータ
３００：コントローラ
【図１】
2005088169.tif 000003
【図２】
2005088169.tif 000004
【図３】
2005088169.tif 000005
【図４】
2005088169.tif 000006
【図５】
2005088169.tif 000007
【図６】
2005088169.tif 000008
【図７】
2005088169.tif 000009
【図８】
2005088169.tif 000010
【図９】
2005088169.tif 000011