IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 新明工業株式会社の特許一覧

<>
  • 特開-ロボット 図1
  • 特開-ロボット 図2
  • 特開-ロボット 図3
  • 特開-ロボット 図4
  • 特開-ロボット 図5
  • 特開-ロボット 図6
  • 特開-ロボット 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023008500
(43)【公開日】2023-01-19
(54)【発明の名称】ロボット
(51)【国際特許分類】
   B25J 5/00 20060101AFI20230112BHJP
【FI】
B25J5/00 C
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021112116
(22)【出願日】2021-07-06
(71)【出願人】
【識別番号】000191353
【氏名又は名称】新明工業株式会社
(74)【代理人】
【識別番号】110000394
【氏名又は名称】弁理士法人岡田国際特許事務所
(72)【発明者】
【氏名】村田 勇樹
(72)【発明者】
【氏名】加藤 亮太
(72)【発明者】
【氏名】村尾 大樹
(72)【発明者】
【氏名】城山 吉隆
(72)【発明者】
【氏名】辻井 栄一郎
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707HS27
3C707JS07
3C707KS07
3C707KS16
3C707KS21
3C707KS31
3C707KS36
3C707KT01
3C707KT04
3C707KX02
3C707KX10
3C707LV15
3C707MT03
3C707WA15
3C707WL02
3C707WL06
(57)【要約】
【課題】
可動部材の先端が地面に接地した状態にて胴体の後方に移動させる動作と、その先端を地面から離したうえで胴体の前方に移動させる動作と、を繰返し実行することによって歩行するロボットであって、可動部材の先端に接地センサを備えることなく先端が地面に到達したか否かを判定できるロボットを提供する。
【解決手段】
ロボットの胴体に対して可動する可動部材の先端の移動先の情報を外界センサによって検知し、検知された情報に基づいて移動先の立体形状を取得し、取得された立体形状に基づいて目標位置を取得し、且つ目標位置へ可動部材の先端を移動させる。可動部材の先端が目標位置に到達したと判定したとき、可動部材を胴体に対して停止させる。
【選択図】図7
【特許請求の範囲】
【請求項1】
胴体と、
前記胴体に対して可動する1つ又は複数の可動部材と、
前記可動部材を前記胴体に対して移動させるアクチュエータと、
前記可動部材の前記胴体に対する位置を取得する位置センサと、
前記可動部材の先端の移動先の情報を検知する外界センサと、
前記外界センサの出力信号に基づいて前記移動先の立体形状を取得し、取得された前記立体形状に基づいて目標位置を取得する目標位置取得手段と、
前記目標位置へ向けて前記可動部材の前記先端を移動させるようにアクチュエータを制御し、且つ前記位置センサの出力信号に基づいて前記可動部材の前記先端が前記目標位置に到達したと判定しときに前記可動部材を前記胴体に対して停止させるアクチュエータ制御手段と、
を有するロボット。
【請求項2】
請求項1に記載のロボットであって、
前記可動部材は、脚であって、前記脚の先端が地面に接したことを感知する接地センサを有していないロボット。
【請求項3】
請求項1又は2に記載のロボットであって、
前記目標位置取得手段は、
前記外界センサの出力信号に基づいて生成された映像を表示する映像表示手段と、
前記表示された映像を参照した操作者が所望する前記目標位置に係る情報を入力する入力手段と、
前記入力手段に入力された情報に基づいて前記操作者が所望する前記目標位置を特定する特定手段と、
を備えるロボット。
【請求項4】
請求項1~3の何れか1つに記載のロボットであって、
前記可動部材は、
前記胴体から左前方へ延びる領域へ先端が到達可能な左前脚と、前記胴体から右前方へ延びる領域へ先端が到達可能な右前脚と、を含むロボット。
【請求項5】
請求項4に記載のロボットであって、
前記外界センサは、
少なくとも、前記左前脚の前記先端が到達可能な領域と、前記右前脚の前記先端が到達可能な領域と、の情報を検知するロボット。
【請求項6】
請求項4に記載のロボットであって、
前記可動部材は、
前記右前脚及び前記左前脚とは異なる追従脚を含み、
前記外界センサは、
少なくとも、前記左前脚の前記先端が到達可能な領域と、前記右前脚の前記先端が到達可能な領域と、の情報を検知し、
前記目標位置取得手段は、
前記追従脚に係る前記目標位置として、前記右前脚及び前記左前脚の一方に係る前記目標位置又はその近傍の位置を取得する、
ロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットに関する。例えば、胴体に対して可動するアームを備えるロボット、又は胴体に対して可動する複数の脚を備える歩行ロボットに関する。
【背景技術】
【0002】
歩行ロボットは、複数の脚の脚先の胴体に対する位置を制御することによって前進する。一般的には、接地脚移動動作と遊脚移動動作とを交互に実行してロボットが前進する。接地脚移動動作では、地面に接触している脚先を胴体に対して後ろ方向へ移動させる。遊脚移動動作では、脚先が地面に接触していない脚を胴体に対して前方向へ移動させたうえで地面に接地させる。
【0003】
加えて、この種の歩行ロボットは、脚先が地面に接触したことを検出するため、脚先に接地センサを備えている。接地センサは、力覚センサとも称呼され、例えば、ひずみゲージによって実現される。接地センサによれば、遊脚移動動作が完了したか否かを容易に判定できる(例えば、特許文献1参照)。
【0004】
しかしながら、脚先のそれぞれが接地センサを備えることは、歩行ロボットの製造コストが増加する原因となり得る。加えて、歩行ロボットが歩行を繰り返すことによって接地センサの故障及び顕著な劣化等が発生し、その結果として歩行ロボットが歩行を継続することが困難となる可能性がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005-153056号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
従って、脚先等、可動部材の先端に接地センサを備えることなく可動部材の先端が対象物又は地面に到達したか否かを判定することが可能なロボットが従来必要とされている。
【課題を解決するための手段】
【0007】
本開示の1つの特徴によると、ロボットは、胴体、胴体に対して可動する1つ又は複数の可動部材を有している。アクチュエータが可動部材を胴体に対して移動させる。位置センサが可動部材の胴体に対する位置を取得する。外界センサが可動部材の先端の移動先の情報を検知する。
【0008】
目標位置取得手段は、外界センサの出力信号に基づいて移動先の立体形状を取得し、取得された立体形状に基づいて目標位置を取得する。アクチュエータ制御手段は、目標位置へ向けて可動部材の先端を移動させるようにアクチュエータを制御し、かつ位置センサの出力信号に基づいて可動部材の先端が目標位置に到達したと判定しときに可動部材を胴体に対して停止させる。
【0009】
可動部材は、例えば、胴体から延び且つ1つ又は複数の回転関節を含む脚によって構成される。アクチュエータは、例えば、回転関節の角度(回転角度)を変更するためのトルクを発生させるモータである。位置センサは、例えば、モータの実際の回転角度に関する情報を出力する回転角度センサである。外界センサは、例えば、赤外線深度センサである。
【0010】
目標位置取得手段は、可動部材の移動先の立体形状を、例えば、胴体における特定位置を原点とする3次元座標系の座標値の集合として取得する。この場合、目標位置は、この3次元座標系の座標値(目標座標値)として取得されても良い。アクチュエータ制御手段は、可動部材の先端が目標座標値によって表される位置に到達したときに稼働部材の移動を(一時的に)停止させる。
【0011】
従って、可動部材がセンサ等を備えることなく可動部材が移動先に到達したか否かを判定できる。可動部材が移動先に到達すると、可動部材が停止する。そのため例えば、ロボットの脚の移動動作(遊脚移動動作)から脚の動作を利用した胴体の移動動作(接地脚移動動作)への切換えを速やかに行うことができる。あるいはロボットのアームの対象目的物への移動動作を速やかに行うことができる。あるいは脚先が接地したことを検知する接地センサ(接触センサ)やアームの先端が目標物に接したことを検知する圧力センサ(接触センサ)を設けることなく、可動部材が目標位置に到達したことを判断する。そのため接触センサを設けないことで、接触センサが破損することを防止、あるいはロボットを安価にすることができる。
【0012】
本開示の他の特徴によると、可動部材は、脚である。脚の先端が地面に接したことを感知する接地センサを有していない。ロボットの脚が地面に接した際、通常、脚を介してロボットの重さが脚の先端部に加わる。そのため仮に脚の先端部に接地センサを設けていれば、大きな荷重が接地センサに加わる。しかし本特徴によれば、接地センサを有していない。そのため接地センサが破損する心配を避けることができる。
【0013】
本開示の他の特徴によると、目標位置取得手段は、映像表示手段、入力手段、及び特定手段を備える。映像表示手段は、外界センサの出力信号に基づいて生成された映像を表示する。入力手段は、表示された映像を参照した操作者が所望する目標位置に係る情報を入力するために用いられる。特定手段は、入力手段に入力された情報に基づいて操作者が所望する目標位置を特定する。
【0014】
本特徴において、例えば、可動部材の先端の移動先の立体形状を表す画像が映像表示手段によって表示される。本特徴によれば、操作者は、表示された立体形状に基づいて目標位置(目標接地位置)を適切に決定し、その目標位置を入力手段に入力することができるので、ロボットのより安定した移動(歩行)が可能となる。
【0015】
本開示の他の特徴によると、可動部材は、胴体から左前方へ延びる領域へ先端が到達可能な左前脚と、胴体から右前方へ延びる領域へ先端が到達可能な右前脚と、を含む。
【0016】
ロボットが、例えば、4脚歩行ロボットであれば、左前脚の後ろ側に左後脚があり、右前脚の後ろ側に右後脚がある。ロボットが6脚歩行ロボットであれば、左前脚の後ろ側に2本の脚(即ち、左中脚及び左後脚)があり、右前脚の後ろ側に2本の脚(即ち、右中脚及び右後脚)がある。
【0017】
本特徴において、外界センサは、少なくとも、左前脚の先端が到達可能な領域と、右前脚の先端が到達可能な領域と、の情報を検知するように構成されても良い。この場合、外界センサは、左前脚及び右前脚以外の可動部材の先端が到達可能な領域であって左前脚及び右前脚の先端が到達できない領域の情報は出力しなくても良い。換言すれば、外界センサは、左前脚及び右前脚の先端が到達可能な領域の情報のみを出力するように構成されても良い。更に、外界センサは、左前脚の先端が到達可能な領域の情報を出力するセンサと、右前脚の先端が到達可能な領域の情報を出力するセンサと、から構成されても良い。従って、外界センサとして、広範な領域の情報を取得できない安価なセンサを用いることができる。
【0018】
或いは、本態様において、可動部材は、右前脚及び左前脚とは異なる追従脚を含み、且つ、外界センサは、少なくとも、左前脚の先端が到達可能な領域と、右前脚の先端が到達可能な領域と、の情報を検知するように構成されても良い。この場合、目標位置取得手段は、追従脚のそれぞれに係る目標位置として、左前脚及び右前脚の一方に係る目標位置又はその近傍の位置を取得しても良い。
【0019】
この場合、追従脚の先端が到達する位置(即ち、目標位置)は、左前脚及び右前脚の何れか一方の先端が到達する位置と同一であるか、或いはその近傍の位置となる。従って、外界センサを利用して取得された立体形状に基づいて適切な場所が左前脚及び右前脚の先端の到達位置(即ち、目標位置)として特定されると、追従脚の先端もその適切な場所に到達することとなり、以て、ロボットのより安定した歩行が実現される。
【図面の簡単な説明】
【0020】
図1】本開示の実施形態に係るロボットの斜視図である。
図2】ロボット及びロボットの歩行操作端末のブロック図である。
図3】ロボットの脚先の到達可能領域、及び外界センサの検出領域を示した平面概略図である。
図4】ロボットが備える脚のリンク及び回転関節を示した簡略図である。
図5】ロボットが歩行する様子を示した平面概略図である。
図6】外界センサの検出結果に基づいて生成された立体形状の例を示した図である。
図7】ロボットの制御装置が実行する脚状態管理処理ルーチンを示したフローチャートである。
【発明を実施するための形態】
【0021】
本発明の1つ好ましい実施形態を、図1図7を参照して下記に詳しく説明する。説明中の同じ参照番号は、重複する説明をしないが、同じ機能を有する同じ要素を意味する。本実施形態では、図1に示されるロボット1は、胴体2、並びに、胴体2に対して可動する可動部材である左前脚3、左中脚4、左後脚5、右前脚6、右中脚7及び右後脚8を備えている。即ち、ロボット1は6脚歩行ロボットである。
【0022】
ロボット1のブロック図である図2から理解されるように、ロボット1は、制御装置9、左方深度センサ10、右方深度センサ11、光学カメラ12、IMU13、及び無線通信装置14(14a)を備えている。
【0023】
制御装置9は、CPU、RAM及び不揮発性メモリを備えたマイクロコンピュータを主要素として含んでいる。CPUは、所定のプログラム(ルーチン)を逐次実行することによってデータの読み込み、数値演算、及び演算結果の出力等を行う。RAMは、CPUによって参照されるデータを一時的に記憶する。不揮発性メモリは、ROM、及びデータの書き換え可能なフラッシュメモリにより構成され、CPUが実行するプログラム及びプログラムの実行時に参照されるルックアップテーブル(マップ)等を記憶する。
【0024】
左方深度センサ10及び右方深度センサ11は、胴体2の前端突出部に配設されている(図3参照)。左方深度センサ10及び右方深度センサ11のそれぞれは、周知のToF(Time of Flight)方式の赤外線深度センサにより構成されている。左方深度センサ10及び右方深度センサ11は、便宜上、「外界センサ」とも総称される。外界センサは、所定の領域(検出領域)に対して赤外線を送信波として送信(照射)する送信部と、送信波が検出領域にある物標に反射して生じた反射波を受信する受信部と、を備えている。
【0025】
外界センサは、反射波を受信すると、送信波を送信してから反射波を受信するまでの時間差を送信波と受信波との位相差に基づいて取得し、その時間差に基づいて送信波を送信した方向にある物標との距離を取得する。外界センサは、ある方向(送信方向)へ送信波を送信し且つ送信方向にある物標との距離を取得する処理を、送信方向を検出領域に含まれる範囲において少しずつ変化させながら繰り返し実行する。
【0026】
左方深度センサ10の検出領域は、図3における領域R10によって示される。右方深度センサ11の検出領域は、領域R11によって示される。外界センサのそれぞれは、送信方向と、送信方向にある物標との距離と、の多数の組合せに関する情報(距離情報)を制御装置9へ出力する。
【0027】
制御装置9は、外界センサから受信した距離情報に基づいて検出領域の立体形状を胴体座標系における胴体座標(x,y,z)の集合として取得する。胴体座標系は、胴体2の幾何学的中心が原点Oであり、胴体2に対して前後方向がx軸であり、左右方向がy軸であり、上下方向がz軸である直交座標系である。z座標は、原点Oよりも上方において正の値となる。以下、胴体座標(x,y,z)の集合として取得された立体形状は、「3次元マップ」とも称呼される。制御装置9は、3次元マップをRAMに記憶する。
【0028】
領域R10によって示される左方深度センサ10の検出領域は、左前脚3の脚先の地面上の到達可能領域(具体的には、後述される領域R3)と重複している。この重複した領域は、後述される接地点追従法によって後に決定される左中脚4及び左後脚5の目標接地位置を含む可能性が高い領域でもある。同様に、領域R11によって示される右方深度センサ11の検出領域は、右前脚6の脚先の地面上の到達可能領域(具体的には、後述される領域R6)と重複している。この重複した領域は、後述される接地点追従法によって後に決定される右中脚7及び右後脚8の目標接地位置を含む可能性が高い領域でもある。
【0029】
光学カメラ12は、外界センサと同様に胴体2の前端突出部に配設されている。光学カメラ12は、外界センサのそれぞれの検出領域を含む胴体2の前方領域の映像(前方画像)を取得(撮影)し、前方画像を表す信号を制御装置9へ送信する。IMU13は、x軸、y軸及びz軸のそれぞれの方向の加速度であるx軸加速度Ax、y軸加速度Ay及びz軸加速度Az、並びにx軸、y軸及びz軸のそれぞれの方向の回転速度(角速度)であるx軸角速度ωx、y軸角速度ωy、z軸角速度ωzを検出する。IMU13によって検出されるこれらの値の組合せは、胴体移動値M(Ax,Ay,Az,ωx,ωy,ωz)とも称呼される。IMU13は、周知の慣性計測装置により構成されている。
【0030】
無線通信装置14(14a)は、後述される歩行操作端末30に含まれる無線通信装置14(14b)とのデータ通信を行う。具体的には、無線通信装置14(14a)は制御装置9から入力された情報(データ)を無線通信装置14(14b)へ送信する一方、無線通信装置14(14b)から受信した情報を制御装置9へ出力する。
【0031】
左前脚3の簡略図である図4から理解されるように、左前脚3は、第1リンク3a、第2リンク3b、第3リンク3c及び基部3dを含んでいる。基部3dの一端は、胴体2に固結されている。基部3dの他端は、第1リンク3aの一端と回転関節(第1関節)を介して互いに連結されている。第1リンク3aの他端は、第2リンク3bの一端と回転関節(第2関節)を介して互いに連結されている。第2リンク3bの他端は、第3リンク3cの一端と回転関節(第3関節)を介して互いに連結されている。第3リンク3cの他端(即ち、左前脚3の先端)は、地面(接地面)と接するようになっている。
【0032】
第1関節の回転軸と、胴体座標系におけるz軸に対して垂直な平面(例えば、z=0によって表される平面であり、以下、「胴体水平面」とも称呼される。)と、のなす角度は45°である。上面視において、第1関節の回転軸は胴体2から斜め前方に延在していて、第1関節の回転軸と、胴体座標系におけるx軸に対して垂直な平面(例えば、x=0によって表される平面であり、以下「胴体垂直面」とも称呼される。)と、のなす角度は30°である。第2関節の回転軸及び第3関節の回転軸のそれぞれは、胴体水平面と平行である。第1関節の回転軸と、第2関節の回転軸と、は互いに垂直である。第2関節の回転軸と、第3関節の回転軸と、は互いに平行である。
【0033】
第1関節の回転角度(即ち、基部3dに対する第1リンク3aの回転角度)である回転角度αは、モータ20(モータ20a)が発生させるトルクによって制御される(図2参照)。モータ20は、周知のDCサーボモータによって構成されている。第2関節の回転角度(即ち、第1リンク3aに対する第2リンク3bの回転角度)である回転角度βは、モータ20(モータ20b)が発生させるトルクによって制御される。第3関節の回転角度(即ち、第2リンク3bに対する第3リンク3cの回転角度)である回転角度γは、モータ20(モータ20c)が発生させるトルクによって制御される。モータ20のそれぞれは、便宜上、「アクチュエータ」とも称呼される。
【0034】
角度センサ21(角度センサ21a)は、左前脚3の第1関節の回転角度αを検出し、回転角度αを表す信号を制御装置9へ出力する。角度センサ21は、周知のレゾルバ装置によって構成されている。角度センサ21(角度センサ21b)は、左前脚3の第2関節の回転角度βを検出し、回転角度βを表す信号を制御装置9へ出力する。角度センサ21(角度センサ21c)は、左前脚3の第3関節の回転角度γを検出し、回転角度γを表す信号を制御装置9へ出力する。角度センサ21のそれぞれは、便宜上、「位置センサ」とも称呼される。
【0035】
以下、回転角度α、回転角度β及び回転角度γの組合せは、回転角度L(α,β,γ)とも称呼される。制御装置9は、回転角度L、並びに第1リンク3a~第3リンク3cの長さ及び第1関節の回転軸と胴体垂直面とのなす角度等に基づき、周知の方法により左前脚3の脚先の胴体座標である脚先位置F(xf,yf,zf)を取得(算出)する。
【0036】
ロボット1が「基準状態」であるときの左前脚3の脚先が到達可能な地面上の領域(即ち、左前脚3の先端の移動先となり得る範囲)は、図3の領域R3により簡略化して示されている。基準状態は、ロボット1が平坦で水平な地面を走行していて、且つ、胴体2が地面に対して水平であって地面と胴体重心Gbとの距離が所定の基準距離Dsである状態である。胴体重心Gbは、胴体2の質量中心であり、本実施形態において、胴体2の幾何学的中心(即ち、胴体座標系における原点O)に略等しい。領域R3から理解されるように、左前脚3は、先端が胴体2から左前方へ延びる領域へ到達可能に構成されている。
【0037】
図1に示す左中脚4、左後脚5、右前脚6、右中脚7及び右後脚8のそれぞれは、左前脚3と同様の構成を有している。左中脚4は、第1リンク4a、第2リンク4b及び第3リンク4cを含んでいる。左中脚4の第1関節の回転軸は、胴体2から真横に延在している。即ち、左中脚4の第1関節の回転軸は胴体垂直面に対して垂直である。制御装置9は、左中脚4が備えるモータ20(モータ20d、モータ20e及びモータ20f)を制御することにより、左中脚4の回転角度L(α,β,γ)を制御する。加えて、制御装置9は、角度センサ21(角度センサ21d、角度センサ21e及び角度センサ21f)によって検出された実際の回転角度L(α,β,γ)に基づいて左中脚4の脚先位置F(xf,yf,zf)を取得する。ロボット1が基準状態にある場合における左中脚4の脚先の地面上の到達可能領域は、図3の領域R4により簡略化して示されている。
【0038】
左後脚5は、第1リンク5a、第2リンク5b及び第3リンク5cを含んでいる。左後脚5の第1関節の回転軸は、上面視において斜め後方に延在していて、左後脚5の第1関節の回転軸と、胴体垂直面と、のなす角度は30°である。制御装置9は、左後脚5が備えるモータ20(モータ20g、モータ20h及びモータ20i)を制御することにより、左後脚5の回転角度L(α,β,γ)を制御する。加えて、制御装置9は、角度センサ21(角度センサ21g、角度センサ21h及び角度センサ21i)によって検出された実際の回転角度L(α,β,γ)に基づいて左後脚5の脚先位置F(xf,yf,zf)を取得する。ロボット1が基準状態にある場合における左後脚5の脚先の地面上の到達可能領域は、領域R5により簡略化して示されている。
【0039】
右前脚6は、第1リンク6a、第2リンク6b及び第3リンク6cを含んでいる。右前脚6の第1関節の回転軸は、上面視において斜め前方に延在していて、右前脚6の第1関節の回転軸と、胴体垂直面と、のなす角度は30°である。制御装置9は、右前脚6が備えるモータ20(モータ20j、モータ20k及びモータ20m)を制御することにより、右前脚6の回転角度L(α,β,γ)を制御する。加えて、制御装置9は、角度センサ21(角度センサ21j、角度センサ21k及び角度センサ21m)によって検出された実際の回転角度L(α,β,γ)に基づいて右前脚6の脚先位置F(xf,yf,zf)を取得する。ロボット1が基準状態にある場合における右前脚6の脚先の地面上の到達可能領域は、領域R6により簡略化して示されている。
領域R6から理解されるように、右前脚6は、先端が胴体2から右前方へ延びる領域へ到達可能に構成されている。
【0040】
右中脚7は、第1リンク7a、第2リンク7b及び第3リンク7cを含んでいる。右中脚7の第1関節の回転軸は、胴体2から真横に延在している。即ち、右中脚7の第1関節の回転軸は胴体垂直面に対して垂直である。制御装置9は、右中脚7が備えるモータ20(モータ20n、モータ20p及びモータ20q)を制御することにより、右中脚7の回転角度L(α,β,γ)を制御する。加えて、制御装置9は、角度センサ21(角度センサ21n、角度センサ21p及び角度センサ21q)によって検出された実際の回転角度L(α,β,γ)に基づいて右中脚7の脚先位置F(xf,yf,zf)を取得する。ロボット1が基準状態にある場合における右中脚7の脚先の地面上の到達可能領域は、領域R7により簡略化して示されている。
【0041】
右後脚8は、第1リンク8a、第2リンク8b及び第3リンク8cを含んでいる。右後脚8の第1関節の回転軸は、上面視において斜め後方に延在していて、右後脚8の第1関節の回転軸と、胴体垂直面と、のなす角度は30°である。制御装置9は、右後脚8が備えるモータ20(モータ20r、モータ20s及びモータ20t)を制御することにより、右後脚8の回転角度L(α,β,γ)を制御する。加えて、制御装置9は、角度センサ21(角度センサ21r、角度センサ21s及び角度センサ21t)によって検出された実際の回転角度L(α,β,γ)に基づいて右後脚8の脚先位置F(xf,yf,zf)を取得する。ロボット1が基準状態にある場合における右後脚8の脚先の地面上の到達可能領域は、領域R8により簡略化して示されている。
【0042】
歩行操作端末30は、無線通信装置14(14b)、操作制御装置31、ディスプレイ32及び入力装置33を含んでいる。操作制御装置31は、CPU、RAM及び不揮発性メモリを含む汎用コンピュータによって構成されている。ディスプレイ32に表示される画像は、操作制御装置31によって制御される。入力装置33は、キーボード及びマウスを含んでいる。入力装置33は、操作者が入力装置33に対して行った操作を表す信号を操作制御装置31へ出力する。
【0043】
後述されるように、ロボット1の歩行時、操作者が入力装置33を操作して「次接地脚」の目標接地位置を操作制御装置31に入力すると、操作制御装置31は入力された次接地脚の目標接地位置を表す情報を制御装置9へ無線通信装置14(14a及び14b)経由で送信する。次接地脚は、左前脚3及び右前脚6の一方であって次に脚先が地面に接触(接地)する脚である。目標接地位置は、単に、「目標位置」とも称呼される。
【0044】
例えば、左前脚3が次接地脚である場合、操作者は、左前脚3が接地する位置を目標接地位置として操作制御装置31に入力する。入力された左前脚3の目標接地位置が制御装置9に送信されると、制御装置9は、その目標接地位置に左前脚3の脚先が接地(到達)するように左前脚3~右後脚8のそれぞれの回転角度L(α,β,γ)を制御する。次いで、操作者が右前脚6(即ち、新たな次接地脚)の目標接地位置を操作制御装置31に入力すると、制御装置9は、その目標接地位置に右前脚6の脚先が接地するように左前脚3~右後脚8のそれぞれの回転角度L(α,β,γ)を制御する。
【0045】
制御装置9によるロボット1の歩行制御について、より詳細に説明する。ロボット1が歩行しているとき、制御装置9は、左前脚3~右後脚8のそれぞれの制御モード(制御状態)を管理している。制御モードは第1制御モード~第4モードの何れかに分類される。
【0046】
第1制御モードは、接地している脚先を地面から離して所定の脚先待機位置Lsまで移動させる制御状態である。脚先が脚先待機位置Lsにある場合における回転角度L(α,β,γ)の組合せは、脚先待機位置Ls(αs,βs,γs)によって表される。第2制御モードは、脚先が脚先待機位置Lsにある状態にて待機する制御状態である。
【0047】
第3制御モードは、脚先を脚先待機位置Lsから目標接地位置まで移動させる制御状態である。第1制御モード~第3制御モードにある脚の脚先を、地面から離して胴体2に対して前方向へ移動させたうえで地面に接地させる動作は、「遊脚移動動作」とも称呼される。
【0048】
第4制御モードは、脚先が地面に設置している状態にて脚先を胴体2に対して前方から後方へ移動させる制御状態である。換言すれば、左前脚3~右後脚8の内の第4制御モードにある脚(以下、「接地移動脚」とも称呼される。)の脚先移動によって胴体2が前進する。接地移動脚が地面に接地している脚先を胴体2に対して後ろ方向へ移動させる動作は、「接地脚移動動作」とも称呼される。
【0049】
制御装置9は、左前脚3~右後脚8のそれぞれの制御モードを管理するため、「脚状態管理処理」を所定の制御周期Δtが経過する毎に実行する。制御装置9は、脚状態管理処理の実行時、左前脚3~右後脚8のそれぞれが制御モードの後述される遷移条件が成立しているか否かを判定し、且つ遷移条件が成立している脚の制御モードを変更する。
【0050】
制御モードが第1制御モードから第2制御モードに切替わるための条件(第2制御モードへの遷移条件)は、脚先が脚先待機位置Ls(αs,βs,γs)に到達したときに成立する。左前脚3及び右前脚6の制御モードが第2制御モードから第3制御モードに切替わるための条件(第3制御モードへの遷移条件)は、操作者によって目標接地位置が入力されたときに成立する。一方、左前脚3及び右前脚6以外の脚の第3制御モードへの遷移条件は、胴体2に対して前方に隣接する脚の脚先が自脚の到達可能領域(この場合、地面より上の立体領域)に含まれるようになったときに成立する。以下、左前脚3及び右前脚6以外の脚(即ち、左中脚4、左後脚5、右中脚7及び右後脚8)は、「追従脚」とも称呼される。例えば、左中脚4の胴体2に対して前方に隣接する脚は、左前脚3である。
【0051】
制御モードが第3制御モードから第4制御モードに切替わるための条件(第4制御モードへの遷移条件)は、脚先が目標接地位置に到達したときに成立する。左前脚3、左中脚4、右前脚6及び右中脚7の制御モードが第4制御モードから第1制御モードに切替わるための条件(第1制御モードへの遷移条件)は、胴体2に対して前方に隣接する脚の脚先と、胴体2に対して左右反対側の脚の脚先と、が共に接地したときに成立する。例えば、左中脚4の胴体2に対して左右反対側の脚は、右中脚7である。一方、左後脚5の第1制御モードへの遷移条件は、右後脚8の脚先が接地したときに成立する。同様に、右後脚8の第1制御モードへの遷移条件は、左後脚5の脚先が接地したときに成立する。
【0052】
制御装置9による左前脚3~右後脚8の制御について、より具体的に説明する。制御装置9は、ロボット1が歩行するとき、左前脚3、右中脚7及び左後脚5のそれぞれの脚先が接地している状態と、右前脚6、左中脚4及び右後脚8のそれぞれの脚先が接地している状態と、が交互に現れるように左前脚3~右後脚8を制御する。以下、左前脚3、右中脚7及び左後脚5は「第1脚群」とも総称され、右前脚6、左中脚4及び右後脚8は「第2脚群」とも総称される。換言すれば、制御装置9は、第1脚群の全てが第4制御モードにある状態と、第2脚群の全てが第4制御モードにある状態と、が交互に出現するようにモータ20のそれぞれを制御する。
【0053】
加えて、制御装置9は、ロボット1が歩行するとき、胴体重心Gbが、上面視において「支持三角形」に含まれるように胴体2を移動させる。第1脚群の全てが第4制御モードにあるとき、支持三角形は、第1脚群のそれぞれの脚先を頂点とする三角形である。第2脚群の全てが第4制御モードにあるとき、支持三角形は、第2脚群のそれぞれの脚先を頂点とする三角形である。胴体水平面への胴体重心Gbの投影点が、この平面に投影された支持三角形(即ち、2次元座標系における三角形)に含まれていると、胴体重心Gbが上面視において支持三角形に含まれているといえる。
【0054】
更に、制御装置9は、ロボット1が歩行するとき、追従脚の目標接地位置を「接地点追従法」により決定する。接地点追従法は、追従脚の目標接地位置として「胴体2に対して前方に隣接する脚」の接地位置の近傍位置を取得する目標接地位置の決定方法である。
【0055】
例えば、制御装置9は、「追従脚である左中脚4の目標接地位置」として「左中脚4の胴体2に対して前方に隣接する脚である左前脚3の接地位置の後ろ側に隣接する位置」を取得する。同様に、制御装置9は、「追従脚である右後脚8の目標接地位置」として「右後脚8の胴体2に対して前方に隣接する脚である右中脚7の接地位置の後ろ側に隣接する位置」を取得する。
【0056】
ロボット1の歩行に伴う胴体重心Gbの移動、及び接地点追従法によって決定される追従脚の目標接地位置について、図5を参照しながら具体的に説明する。図5において、黒丸は脚先が接地した直後の接地位置を示し、白丸は脚先が地面から離れる直前の接地位置を示している。換言すれば、ある時点において黒丸により示された脚先位置は、その後、胴体2に対して後方に移動して白丸により示される脚先位置に変化する。図5における胴体位置2aは、第1脚群の脚先が接地して状態にて胴体2が前進し、更に、第2脚群の脚先が新たに接地した状態にある胴体2の位置を示している。
【0057】
従って、胴体位置2aにある胴体2から延びる第1脚群の脚先は白丸によって示され、第2脚群の脚先は黒丸によって示されている。具体的には、左前脚3、右中脚7及び左後脚5のそれぞれの脚先は、白丸である点PL11、点PR21、点PL31によって示される。一方、右前脚6、左中脚4及び右後脚8のそれぞれの脚先は、黒丸である点PR11、点PL21、点PR31によって示される。
【0058】
左中脚4の接地点である点PL21は、左前脚3の接地点である点PL11の後ろ側に隣接する位置である。加えて、右後脚8の接地点である点PR31は、右中脚7の接地点である点PR21の後ろ側に隣接する位置である。即ち、追従脚である左中脚4及び右後脚8の接地点が、接地点追従法によって決定されている。
【0059】
換言すれば、左前脚3の脚先が胴体2に対して移動して左中脚4の到達可能領域(例えば、左前脚3の脚先が図3の領域R3と領域R4とが互いに重複する領域)に到達した後、左中脚4の脚が接地する。同様に、右中脚7の脚先が胴体2に対して移動して右後脚8の到達可能領域(例えば、領域R7と領域R8とが互いに重複する領域)に到達した後、左中脚4の脚が接地する。
【0060】
胴体2が胴体位置2aに到達する直前のタイミング(即ち、第1脚群の脚先が接地し且つ第2脚群の脚先が未だ接地していないとき)における支持三角形は、三角形Saによって示される。図5から理解されるように、この時点おいて胴体重心Gbは、上面視において三角形Saに含まれている。
【0061】
その後、第2脚群の脚先が胴体2に対して後方に移動し、更に、第1脚群の脚先が新たに接地した状態にある胴体2の位置が胴体位置2bによって示される。第2脚群の脚先が胴体2に対して後方に移動した結果、胴体2は、胴体位置2aによって示される位置から胴体位置2bによって示される位置まで移動(前進)している。
【0062】
このとき、右前脚6、左中脚4及び右後脚8のそれぞれの脚先は、白丸である点PR11、点PL21、点PR31によって示される。一方、左前脚3、右中脚7及び左後脚5のそれぞれの脚先は、黒丸によって示される新たな接地点である点PL12、点PR22、点PL32によって示される。
【0063】
右中脚7の接地点である点PR22は、右前脚6の接地点である点PR11の後ろ側に隣接する位置である。加えて、左後脚5の接地点である点PL32は、左中脚4の接地点である点PL21の後ろ側に隣接する位置である。即ち、追従脚である右中脚7及び左後脚5の接地点が、接地点追従法によって決定されている。
【0064】
胴体2が胴体位置2bに到達する直前のタイミング(即ち、第2脚群の脚先が接地し且つ第1脚群の脚先が未だ接地していないとき)における支持三角形は、三角形Sbによって示される。図5から理解されるように、この時点おいて胴体重心Gbは、上面視において三角形Sbに含まれている。
【0065】
更に、第1脚群の脚先が胴体2に対して後方に移動し、更に、第2脚群の脚先が新たに接地した状態にある胴体2の位置が胴体位置2cによって示される。第1脚群の脚先が胴体2に対して後方に移動した結果、胴体2は、胴体位置2bによって示される位置から胴体位置2cによって示される位置まで移動している。
【0066】
このとき、左前脚3、右中脚7及び左後脚5のそれぞれの脚先は、白丸である点PL12、点PR22、点PL32によって示される。一方、右前脚6、左中脚4及び右後脚8のそれぞれの脚先は、黒丸によって示される新たな接地点である点PR12、点PL22、点PR32によって示される。
【0067】
左中脚4の接地点である点PL22は、左前脚3の接地点である点PL12の後ろ側に隣接する位置である。加えて、右後脚8の接地点である点PR32は、右中脚7の接地点である点PR22の後ろ側に隣接する位置である。即ち、追従脚である左中脚4及び右後脚8の接地点が、接地点追従法によって決定されている。
【0068】
胴体2が胴体位置2cに到達する直前のタイミング(即ち、第1脚群の脚先が接地し且つ第2脚群の脚先が未だ接地していないとき)における支持三角形は、三角形Scによって示される。図5から理解されるように、この時点おいて胴体重心Gbは、上面視において三角形Scに含まれている。
【0069】
以上の説明をまとめると、操作者が次接地脚の目標接地位置を入力すると、制御装置9は、次接地脚が属する脚群(即ち、第1脚群及び第2脚群の一方)の追従脚の目標接地位置を接地点追従法に基づいて決定する。加えて、制御装置9は、その脚群の目標接地位置によって特定される新たな支持三角形に上面視において胴体重心Gbが含まれるように胴体重心Gbの目標位置である目標重心位置Gt(xg,yg,zg)を決定する。目標重心位置Gtは胴体座標系における座標によって表される。更に、制御装置9は、胴体重心Gbが目標重心位置Gtに接近するように左前脚3~右後脚8のモータ20(モータ20a~モータ20t)を制御する。
【0070】
胴体重心Gbを目標重心位置Gtに接近させるため、制御装置9は、制御周期Δtが経過する毎に「目標重心位置取得処理」、「胴体移動値取得処理」及び「脚先移動値取得処理」を順に実行する。次いで、制御装置9は、左前脚3~右後脚8の内の第2制御モード以外の制御モードにある脚のそれぞれに対して「脚先速度取得処理」及び「脚先移動処理」を順に実行する。以下、第2制御モード以外の制御モードにある脚(即ち、制御モードが第1制御モード、第3制御モード及び第4制御モードの何れかである脚)は、「動作脚」とも称呼される。
【0071】
目標位置取得処理は、目標重心位置Gtを取得(決定又は更新)する処理である。操作者によって次接地脚の目標接地位置が入力された後、最初に目標位置取得処理が実行されると、制御装置9は、次接地脚が属する脚群の追従脚の目標接地位置を接地点追従法に基づいて決定する。即ち、制御装置9は、新たな支持三角形を特定する。目標接地位置の胴体座標は、目標脚先位置Ft(xt,yt,zt)とも称呼される。換言すれば、制御装置9は、次接地脚が属する脚群の3つの目標脚先位置Ftを取得する。
【0072】
より具体的に述べると、制御装置9は、追従脚の目標接地位置として「その追従脚の胴体2に対して前方に隣接する脚の接地位置(先行接地位置)」の後ろ側に隣接する位置を取得する。このとき、制御装置9は、先行接地位置の周辺の3次元マップを参照しながら追従脚の目標接地位置を取得する(3次元マップの具体的な取得方法は後述される)。例えば、先行接地位置が胴体2に対して後方になるほど低地となる傾斜した地面上にあれば、追従脚の目標脚先位置Ftのz座標は、先行接地位置のz座標よりも小さくなる。このように、追従脚の目標脚先位置Ftを取得するときに3次元マップに基づいて追従脚の目標脚先位置Ftのz座標を調整する処理は、「追従脚位置調整処理」とも称呼される。
【0073】
次接地脚が属する脚群の3つの目標脚先位置Ftが取得されると、制御装置9は、その支持三角形に上面視において胴体重心Gbが含まれるように目標重心位置Gtを決定する。
【0074】
その後、操作者によって新たな次接地脚の目標接地位置が入力されるまでの期間において目標位置取得処理が実行されると、制御装置9は、目標重心位置Gtを更新する。より具体的に述べると、制御装置9は、目標位置取得処理が前回実行されてから現時点までの期間における胴体2の移動量(移動した距離及び回転量)を、その期間においてIMU13によって検出された1つ又は複数の胴体移動値Mに基づいて取得する。次いで、制御装置9は、取得された胴体2の移動量に基づいて次接地脚の脚群の目標脚先位置Ft(即ち、新たな支持三角形の頂点の座標)を更新する。換言すれば、胴体2の移動に伴って目標接地位置(即ち、地面上の特定の位置)の相対位置(即ち、胴体座標)が変化すると、制御装置9は、その目標接地位置の相対位置を新たな目標脚先位置Ftとして取得する。更に、制御装置9は、更新された支持三角形の頂点の座標に基づいて目標重心位置Gtを決定する。
【0075】
胴体移動値取得処理は、現時点から制御周期Δtが経過するまで期間における胴体2の移動量の目標値である目標胴体移動値ΔC(xc,yc,zc,Δφ,Δψ,Δθ)を取得する処理である。目標胴体移動値ΔCは、制御周期Δt経過後の胴体重心Gbの胴体座標(xc,yc,zc)並びに制御周期Δt経過後の胴体2のx軸周りの回転角度Δφ、y軸周りの回転角度Δψ及びz軸周りの回転角度Δθの組合せによって表される。
【0076】
制御装置9は、胴体重心Gbが目標重心位置Gtに接近し且つロボット1の状態が基準状態に近づくように目標胴体移動値ΔCを取得する。このとき、制御装置9は、制御周期Δtが経過するまでの胴体2の移動距離が所定の目標移動速度相関値と等しくなり且つΔφ、Δψ及びΔθのそれぞれの大きさが所定の回転上限値を超えないように目標胴体移動値ΔCを取得する。
【0077】
脚先移動値取得処理は、制御周期Δtが経過した時点における接地移動脚のそれぞれの回転角度Lである脚先移動角度Ld(αd,βd,γd)を取得する処理である。制御装置9は、脚先移動値取得処理の実行時、胴体2が目標胴体移動値ΔCによって表される移動及び回転をした場合における接地移動脚の脚先位置Fである脚先移動値Fd(xd,yd,zd)を取得する。次いで、制御装置9は、接地移動脚の脚先位置Fが脚先移動値Fd(xd,yd,zd)である場合における回転角度Lを脚先移動角度Ldとして取得する。
【0078】
脚先速度取得処理は、動作脚のそれぞれの目標脚先速度Rt(ωa,ωb,ωc)を取得する処理である。角速度ωaは、第1関節の回転角度αの単位時間当たりの変化量の目標値である。角速度ωbは、第2関節の回転角度βの単位時間当たりの変化量の目標値である。角速度ωcは、第3関節の回転角度γの単位時間当たりの変化量の目標値である。
【0079】
第1制御モードである動作脚の目標脚先速度Rtは、回転角度L(α,β,γ)が脚先待機位置Lsに接近し且つ脚先が所定の遊脚速度にて移動するように取得される。第3制御モードである動作脚の目標脚先速度Rtは、回転角度Lが目標脚先位置Ftに接近し且つ脚先が遊脚速度にて移動するように取得される。第4制御モードである動作脚(即ち、接地移動脚)の目標脚先速度Rtは、制御周期Δtが経過した時点における回転角度Lが脚先移動角度Ldとなるように取得される。
【0080】
脚先移動処理は、動作脚のそれぞれの回転角度α、回転角度β及び回転角度γの単位時間あたりの変化量(即ち、角速度)の組合せが目標脚先速度Rtと等しくなるように、モータ20(モータ20a~モータ20t)を制御する処理である。制御装置9は、脚先移動処理の実行時、角度センサ21(角度センサ21a~21t)の検出値(即ち、実際の回転角度L(α,β,γ))を参照しながらモータ20を制御する。即ち、制御装置9は、フィードバック制御を行う。
【0081】
次に、制御装置9が実行する3次元マップを取得する処理、及び操作者が3次元マップを参照しながら次接地脚の目標接地位置(即ち、目標脚先位置Ft)を操作制御装置31に入力する方法について説明する。制御装置9は、「マップ取得処理」を所定の更新周期が経過する毎に実行する。マップ取得処理は、外界センサから受信した距離情報に基づいて3次元マップを生成し且つ更新する処理である。
【0082】
制御装置9は、マップ取得処理の実行時、マップ取得処理が前回実行されてから現時点までの期間における胴体2の移動量(移動した距離及び回転量)を、その期間においてIMU13によって検出された1つ又は複数の胴体移動値Mに基づいて取得する。次いで、制御装置9は、取得された胴体2の移動量に基づいて3次元マップの構成する胴体座標のそれぞれを更新する。
【0083】
具体的には、胴体2の前進に伴って3次元マップを構成する胴体座標によって表される位置が胴体2に対して後方に移動すると(即ち、胴体2に対する相対位置が変化すると)、制御装置9は、3次元マップを構成する胴体座標としてその新たな相対位置を取得する。その結果、制御装置9は、外界センサの検出領域よりも胴体2に対して後方の領域の3次元マップを保持することとなる。換言すれば、追従脚の脚先の到達可能領域の大部分は外界センサの検出領域に含まれていないにも拘らず、制御装置9は、追従脚の目標接地位置の3次元マップを保持している。
【0084】
更に、制御装置9は、マップ取得処理の実行時、マップ取得処理を前回実行してから現時点までの期間において外界センサから距離情報を受信していれば、外界センサの検出領域の3次元マップを生成する。具体的には、制御装置9は、外界センサのそれぞれの胴体2における取付け位置及び角度等に基づいて距離情報に含まれる送信波の送信方向と、その送信方向にある物標上の点(対象物標点)との距離と、の組合せのそれぞれを対象物標点の胴体座標に変換する。
【0085】
なお、制御装置9は、距離情報を胴体座標に変換するとき、周知の手法によりノイズ除去を行う。具体的には、制御装置9は、ローパスフィルタを用いて距離情報の時間的な変化における高周波ノイズの除去を行う。加えて、制御装置9は、メディアンフィルタを用いてある対象物標点に対応する値(即ち、対象物標点までの距離)を、対象物標点の周囲の点に対応する値の中央値に変換することによって対象物標点の位置の変化における高周波ノイズの除去を行う。
【0086】
従って、外界センサの検出領域に対応する領域に係る3次元マップは、外界センサから最後に受信した距離情報に基づいて生成されている。一方、外界センサの検出領域よりも胴体2に対して後方にある領域の3次元マップは、外界センサから過去に受信した距離情報に基づいて生成されている。
【0087】
マップ取得処理が終了すると、制御装置9は、外界センサの検出領域に含まれる3次元マップを表す情報を、光学カメラ12によって取得された前方画像を表す情報と共に操作制御装置31へ送信する。操作制御装置31は、制御装置9から受信した情報に基づいて前方画像、及び3次元マップ(即ち、外界センサの出力信号に基づいて生成された映像)をディスプレイ32に表示する。
【0088】
ディスプレイ32に表示された前方画像及び3次元マップの例が図6に示される。図6において、ディスプレイ32上の領域32aに前方画像が表示され、領域32b及び領域32cに3次元マップが表示されている。
【0089】
本例において、領域32aに表示された前方画像には、ロボット1の前方にある平坦で平らな地面40、並びに地面40上の突起物41~突起物46が含まれている。突起物41は、斜めに切断された円柱形体を有している。突起物42~突起物46のそれぞれは、比較的薄い円柱形体を有している。
【0090】
領域32aに含まれる領域Rbは、左方深度センサ10の検出領域を示している。従って、地面40の内の領域Rbに含まれる領域の立体形状が3次元マップとして領域32bに表示される。同様に、領域32aに含まれる領域Rcは、右方深度センサ11の検出領域を示している。従って、地面40の内の領域Rcに含まれる領域の立体形状が3次元マップとして領域32cに表示される。具体的には、突起物41の全体及び突起物42の一部が領域Rbに含まれているので、それらの立体形状が領域32bに表示される。同様に、突起物45及び突起物46の全体が領域Rcに含まれているので、それらの立体形状が領域32cに表示される。
【0091】
操作制御装置31は、領域32b及び領域32cに含まれる3次元マップを構成する胴体座標のそれぞれをz座標が大きくなるほど濃い点(ピクセル)として表示する。具体的には、領域32b及び領域32cにおいて地面40は白色の領域として表示される。一方、領域32b及び領域32cに表示される突起物を構成するピクセルのそれぞれは、地面40と比較して高い位置にあるほど濃くなる色が付されている。
【0092】
上述したように、領域32bに対応する左方深度センサ10の検出領域は、左前脚3の地面上の接地可能領域と重複している。この重複した領域の大部分は、後に左中脚4及び左後脚5の地面上の接地可能領域とも重複している。同様に、領域32cに対応する右方深度センサ11の検出領域は、右前脚6の地面上の接地可能領域と重複している。この重複した領域の大部分は、後に右中脚7及び右後脚8の地面上の接地可能領域とも重複している。
【0093】
従って、操作者は、領域32b及び領域32cに表示された3次元マップを参照することによって、左前脚3及び右前脚6のそれぞれの目標接地位置として適切な場所(例えば、平坦な箇所)を選択することができる。操作者が、左前脚3及び右前脚6の目標接地位置として適切な場所を選択すると、その場所の近傍(胴体2に対して後方に隣接する位置)が追従脚の目標接地位置となる。
【0094】
操作者は、入力装置33のマウスを操作してディスプレイ32上のマウスポインタを次接地脚の目標接地位置に相当する位置まで移動させた後、マウスのボタンをクリックすることにより次接地脚の目標接地位置を操作制御装置31に入力する。操作制御装置31は、入力された次接地脚の目標接地位置に相当する位置に記号Tpを表示させると共に目標接地位置に関する情報(目標位置情報)を制御装置9へ送信する。
【0095】
制御装置9は、操作制御装置31から受信した目標位置情報に基づいて次接地脚の目標接地位置の胴体座標(即ち、目標脚先位置Ft)を取得する。その後、ロボット1の歩行(即ち、胴体2の前進)に伴い目標位置取得処理によって次接地脚の目標脚先位置Ftが更新されると、制御装置9は、3次元マップを表す情報を操作制御装置31へ送信するときに更新された目標脚先位置Ftを表す情報も送信する。
【0096】
操作制御装置31は、目標脚先位置Ftを表す情報を受信すると、ディスプレイ32に表示している記号Tpを目標脚先位置Ftに応じて移動させる。従って、ロボット1の歩行に伴って記号Tpはディスプレイ32における下方に移動する。操作者が入力した次接地脚(即ち、左前脚3及び右前脚6の一方)の目標接地位置に脚先が到達すると、操作者は、左前脚3及び右前脚6の他方の目標接地位置を入力する。
【0097】
(具体的作動)
次に、脚状態管理処理に係る制御装置9の具体的作動について、図7を参照しながら説明する。制御装置9のCPU(以下、単に「CPU」とも称呼される。)は、図7にフローチャートにより表された「脚状態管理処理ルーチン」を制御周期Δtが経過する毎に実行する。
【0098】
適当なタイミングとなると、CPUは、図7のステップ700から処理を開始してステップ705に進み、処理対象の脚を選択する。具体的には、CPUは、左前脚3~右後脚8の中から以下に説明する処理が実行されていない脚の1つを選択する。次いで、CPUは、ステップ710に進み、選択された脚の制御モードが第1制御モードであるか否かを判定する。
【0099】
選択された脚の制御モードが第1制御モードであれば、CPUは、ステップ710にて「Yes」と判定してステップ715に進み、選択された脚の上述した第2制御モードへの遷移条件が成立しているか否かを判定する。第2制御モードへの遷移条件が成立していれば、CPUは、ステップ715にて「Yes」と判定してステップ720に進み、選択された脚の制御モードを第2制御モードへ変更する。次いで、CPUは、ステップ765に進む。
【0100】
一方、第2制御モードへの遷移条件が成立していなければ、CPUは、ステップ715にて「No」と判定してステップ765に直接進む。
【0101】
ステップ765にてCPUは、左前脚3~右後脚8の全てに対して本ルーチンの処理が実行されたか否かを判定する。全ての脚に対して処理が実行されていなければ、CPUは、ステップ765にて「No」と判定してステップ705に進み、左前脚3~右後脚8の内の未だ処理が実行されていない脚の1つを選択する。
【0102】
一方、左前脚3~右後脚8の全てに対して本ルーチンの処理が実行されていれば、CPUは、ステップ765にて「Yes」と判定してステップ795に進み、本ルーチンの処理を終了する。
【0103】
ステップ710の判定条件が成立していなければ(即ち、選択された脚の制御モードが第1制御モードでなければ)、CPUは、ステップ710にて「No」と判定してステップ725に進み、選択された脚の制御モードが第2制御モードであるか否かを判定する。選択された脚の制御モードが第2制御モードであれば、CPUは、ステップ725にて「Yes」と判定してステップ730に進み、選択された脚の上述した第3制御モードへの遷移条件が成立しているか否かを判定する。
【0104】
第3制御モードへの遷移条件が成立していれば、CPUは、ステップ730にて「Yes」と判定してステップ735に進み、選択された脚の制御モードを第3制御モードへ変更する。次いで、CPUは、ステップ765に進む。一方、第3制御モードへの遷移条件が成立していなければ、CPUは、ステップ730にて「No」と判定してステップ765に直接進む。
【0105】
ステップ725の判定条件が成立していなければ(即ち、選択された脚の制御モードが第2制御モードでなければ)、CPUは、ステップ725にて「No」と判定してステップ740に進み、選択された脚の制御モードが第3制御モードであるか否かを判定する。選択された脚の制御モードが第3制御モードであれば、CPUは、ステップ740にて「Yes」と判定してステップ745に進み、選択された脚の脚先が目標接地位置に到達しているか否かを判定する。即ち、CPUは、上述した第4制御モードへの遷移条件が成立しているか否かを判定する。
【0106】
具体的には、CPUは、選択された脚の脚先位置F(xf,yf,zf)が目標脚先位置Ft(xt,yt,zt)と実質的に一致しているか否かを判定する。CPUは、脚先位置Fと目標脚先位置Ftとの距離(即ち、{(xt-xf)2+(yt-yf)2+(zt-zf)21/2によって表される値)が所定の距離閾値よりも小さければ、脚先位置Fと目標脚先位置Ftとが実質的に一致していると判定する。
【0107】
第4制御モードへの遷移条件が成立していれば、CPUは、ステップ745にて「Yes」と判定してステップ750に進み、選択された脚の制御モードを第4制御モードへ変更する。次いで、CPUは、ステップ765に進む。一方、第4制御モードへの遷移条件が成立していなければ、CPUは、ステップ745にて「No」と判定してステップ765に直接進む。
【0108】
ステップ740の判定条件が成立していなければ(即ち、選択された脚の制御モードが第4制御モードであれば)、CPUは、ステップ740にて「No」と判定してステップ755に進み、選択された脚の上述した第1制御モードへの遷移条件が成立しているか否かを判定する。
【0109】
第1制御モードへの遷移条件が成立していれば、CPUは、ステップ755にて「Yes」と判定してステップ760に進み、選択された脚の制御モードを第1制御モードへ変更する。次いで、CPUは、ステップ765に進む。一方、第1制御モードへの遷移条件が成立していなければ、CPUは、ステップ755にて「No」と判定してステップ765に直接進む。
【0110】
以上説明したように、本実施形態に係るロボット1によれば左前脚3~右後脚8の脚先に接地状態を感知する接地センサを備えることなく脚先が目標接地位置に到達したか否かを判定することが可能となる。その結果、遊脚移動動作から接地脚移動動作への移行(即ち、第3制御モードから第4制御モードへの遷移)を速やかに行うことができる。具体的には、脚先を地面へ向けて移動させる動作を適切なタイミングにて停止し、脚先が地面に接した状態にて胴体2の後方へ移動させる動作に移行することが可能となる。
【0111】
加えて、追従脚の目標接地位置が接地点追従法によって決定されるので、操作者は、追従脚の目標接地位置を操作制御装置31に入力する必要がない。換言すれば、操作者が次接地脚の目標接地位置として適した位置(例えば、地面における平坦な場所)を選択すれば、その適した位置が追従脚の目標接地位置としても選択される。従って、左方深度センサ10及び右方深度センサ11の検出領域に追従脚の目標接地位置が含まれていなくても(即ち、広範な検出領域を有するセンサが外界センサとして用いられなくても)、ロボット1の安定した歩行が実現される。
【0112】
本発明の形態を上記の構造を参照して説明したが、本発明の目的を逸脱せずに多くの交代、改良、変更が可能であることは当業者であれば明らかである。従って本発明の形態は、添付された請求項の精神と目的を逸脱しない全ての交代、改良、変更を含み得る。例えば本発明の形態は、前記特別な構造に限定されず、下記のように変更が可能である。
【0113】
上記実施形態おけるロボット1は、可動部材として6本の脚(即ち、左前脚3~右後脚8)を有していた。これに代えて、ロボット1は、胴体2が移動するために対象物を把持するアームを備えていても良い。
【0114】
加えて、ロボット1は6脚歩行ロボットであった。これに代えて、ロボット1は、4脚歩行ロボットであっても良く、或いは、8脚歩行ロボットであっても良い。
【0115】
加えて、ロボット1の6本の脚のそれぞれは、3つの回転関節を備えていた。これに代えて、直動関節(スライド関節)及び/又は球状関節(ボールジョイント)を備える脚によって脚先の位置が制御されても良い。この場合、アクチュエータとしてモータ20(即ち、電動モータ)に代わり、油圧シリンダ及び/又は油圧モータが用いられても良い。
【0116】
加えて、ロボット1は、位置センサ(角度センサ21)としてレゾルバ装置を備えていた。これに代えて、光学式のロータリーエンコーダ装置が位置センサとして用いられても良い。
【0117】
加えて、ロボット1は、外界センサとして左方深度センサ10及び右方深度センサ11を備えていた。これに代えて、左前脚3及び右前脚6の接地可能領域の情報を検知する1つの赤外線深度センサを備えていても良い。或いは、外界センサとして、赤外線深度センサに代わりミリ波レーダ及び/又はステレオカメラが用いられても良い。
【0118】
加えて、ロボット1の歩行に際して操作者が歩行操作端末30を用いて次接地脚の目標接地位置を入力していた。これに代えて、制御装置9が左方深度センサ10、右方深度センサ11及び光学カメラ12から入力された情報に基づいて次接地脚の目標接地位置を自動的に決定しても良い。
【0119】
加えて、制御装置9は、追従脚の目標接地位置として胴体2に対して前方に隣接する脚(先行脚)の接地位置に隣接する位置を選択していた。これに代えて、制御装置9は、追従脚の目標接地位置として先行脚の接地位置と同一の位置を選択しても良い。この場合、制御装置9は、先行脚の脚先が地面から離れた後、その追従脚の脚先を地面に接地させる。
【0120】
加えて、制御装置9は、外界センサの検出領域よりも胴体2に対して後方の3次元マップを記憶していた。これに代えて、制御装置9は、左前脚3~右後脚8のそれぞれの目標接地位置周辺の領域の3次元マップのみを記憶しても良い。或いは、制御装置9は、外界センサの検出領域に対応する3次元マップのみを記憶しても良い。更に、上述した追従脚位置調整処理は割愛されても良い。
【0121】
加えて、制御装置9は、脚先移動処理(即ち、モータ20のそれぞれの制御)を制御周期Δtが経過する毎に実行していた。これに代えて、制御装置9は、脚先移動処理を制御周期Δtよりも短い周期にて繰返し実行しても良い。
【符号の説明】
【0122】
1…ロボット
2…胴体
3…左前脚(可動部材)
3a…第1リンク
3b…第2リンク
3c…第3リンク
3d…基部
4…左中脚(可動部材、追従脚)
5…左後脚(可動部材、追従脚)
6…右前脚(可動部材)
7…右中脚(可動部材、追従脚)
8…右後脚(可動部材、追従脚)
9…制御装置(目標位置取得手段、アクチュエータ制御手段、特定手段)
10…左方深度センサ(外界センサ)
11…右方深度センサ(外界センサ)
12…光学カメラ
14…無線通信装置
20…モータ(アクチュエータ)
21…角度センサ(位置センサ)
30…歩行操作端末
31…操作制御装置(特定手段)
32…ディスプレイ(映像表示手段)
33…入力装置(入力手段)
41~46…突起物
図1
図2
図3
図4
図5
図6
図7