脚式移動ロボット制御装置および脚式移動ロボット、並びに、脚式移動ロボット制御方法
【課題】オペレータの操作なしに、特定箇所に物を水平に載置することができ、腕部の伸張可能な範囲の制約が軽減された高さの特定箇所に物を載置することができる脚式移動ロボット制御装置および脚式移動ロボット、並びに、脚式移動ロボット制御方法を提供する
【解決手段】脚式移動ロボット制御装置1は、複数のリンクから構成される、物を把持する腕部および移動するための脚部が、上体部に連結される脚式移動ロボットを、この脚式移動ロボットRの姿勢および各リンクの位置に関する姿勢位置データと腕部R3に作用する外力に関する外力データとに基づいて、制御するものであって、データ取得手段3と、全身協調制御手段5と、載置判定手段7と、を備える構成とした。
【解決手段】脚式移動ロボット制御装置1は、複数のリンクから構成される、物を把持する腕部および移動するための脚部が、上体部に連結される脚式移動ロボットを、この脚式移動ロボットRの姿勢および各リンクの位置に関する姿勢位置データと腕部R3に作用する外力に関する外力データとに基づいて、制御するものであって、データ取得手段3と、全身協調制御手段5と、載置判定手段7と、を備える構成とした。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、脚によって移動する脚式移動ロボット、当該脚式移動ロボットを制御する脚式移動ロボット制御装置、並びに、脚式移動ロボット制御方法に関する。
【背景技術】
【0002】
従来、脚によって歩行または走行する(以下、移動するという)脚式移動ロボットが知られている。このような脚式移動ロボットは、人との自然のコミュニケーションを実現するために、通常、頭部、腕部、胴体部および脚部を備えた人型をしている。
【0003】
また、一般的なロボット、特に、産業用ロボットには、物を組み立てたり、物を把持したり、物を運搬したりするものが多く見られる。
【0004】
このような産業ロボットは、物を組み立てたり、物を把持したりする腕部(ロボットハンド、ロボットアームと呼称される)のみによって構成されている場合が多い(例えば、特許文献1,2)。
【0005】
特許文献1に開示されている「ロボットハンド」は、把持対象物の概略形状を接触センサ、開き角度センサ等から計算して、把持動作を決定するものである。
特許文献2に開示されている「ロボット把持制御装置」は、物を把持するロボットハンドに作用する外力の値が外力センサで検出され、当該外力の値が変化したときに、ロボットハンドが物を把持する把持力を減少または増加して、当該物の受け渡しを行うものである。
【特許文献1】特開2004−160594号公報
【特許文献2】特開2004−167674号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、従来開示されているロボットハンドやロボット把持制御装置を、脚式移動ロボットに組み込んで、この脚式移動ロボットを、オペレータの操作なしで自律制御によって、物を把持させ、特定の箇所に載置しようとすると、当該物を水平に保持することができなくて傾けてしまったり、脚式移動ロボットの姿勢が崩れてしまったりするという問題がある。
【0007】
特に、脚式移動ロボットの腕部に物を把持させて、この把持した物を、特定箇所(一定の高さのテーブル等)に載置しようとすると、特定箇所の高さが当該腕部の伸張可能な範囲の制約を受けてしまうという問題がある。
【0008】
そこで、本発明では、前記した問題を解決し、オペレータの操作なしに、特定箇所に物を水平に載置することができ、腕部の伸張可能な範囲の制約が軽減された高さの特定箇所に物を載置することができる脚式移動ロボット制御装置および脚式移動ロボット、並びに、脚式移動ロボット制御方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
前記課題を解決するため、物品を把持するために複数のリンクを有した腕部および移動するために複数のリンクを有した脚部が、基体に連結される脚式移動ロボットを、この脚式移動ロボットの姿勢および各リンクの位置に関する姿勢位置データと前記腕部に作用する外力に関する外力データとに基づいて、制御する脚式移動ロボット制御装置であって、データ取得手段と、全身協調制御手段と、載置判定手段とを備え、前記全身協調制御手段は、前記腕部の位置を下げるまたは前記腕部を伸張させた際に、前記載置判定手段により前記物品が前記指定箇所に載置されたと判定されない場合に、前記脚部の各リンクを屈曲させることを特徴とする。
【0010】
かかる構成によれば、脚式移動ロボット制御装置は、データ取得手段によって、脚式移動ロボットの姿勢および各リンクの位置に関する姿勢位置データと腕部に作用する外力に関する外力データとを取得する。そして、脚式移動ロボット制御装置は、全身協調制御手段によって、データ取得手段で取得された姿勢位置データに基づいて、腕部で把持した物品を、予め指定された指定箇所に載置する際に、腕部の動作にあわせて、脚部の動作を制御する。続いて、脚式移動ロボット制御装置は、載置判定手段によって、全身協調制御手段による動作によって、物品が指定箇所に載置されたことを、データ取得手段で取得された外力データに基づいて判定する。
【0011】
なお、姿勢位置データには、例えば、脚式移動ロボットの基体の両上端部に該当する「肩」と基体の下端部に該当する「腰」との相対位置、腕部の1つのリンクに該当する「手首」の姿勢、脚部が地面と接触する接触面において、後端部に位置する「踵」から見た腕部の先端部に該当する「手先」の位置に関するデータが含まれている。
【0012】
請求項2に記載の脚式移動ロボット制御装置は、物品を把持するために複数のリンクを有した腕部および移動するために複数のリンクを有した脚部が、基体に連結される脚式移動ロボットを、この脚式移動ロボットの姿勢および各リンクの位置に関する姿勢位置データと前記腕部に作用する外力に関する外力データとに基づいて、制御する脚式移動ロボット制御装置であって、データ取得手段と、全身協調制御手段と、載置判定手段とを備え、前記仮想の多面体が、前記腕部の部位である手先の位置と、前記腕部と前記基体とが連結するリンクの可動箇所と、前記脚部と前記基体とが連結するリンクの可動箇所と、前記脚部の部位である踵の位置または膝の位置とを少なくとも仮想点としたことを特徴とする。
【0013】
かかる構成によれば、脚式移動ロボット制御装置は、データ取得手段によって、脚式移動ロボットの姿勢および各リンクの位置に関する姿勢位置データと腕部に作用する外力に関する外力データとを取得する。そして、脚式移動ロボット制御装置は、全身協調制御手段によって、データ取得手段で取得された姿勢位置データに基づいて、腕部で把持した物品を、予め指定された指定箇所に載置する際に、腕部および脚部の部位または前記リンクの可動箇所を仮想点とし、この仮想点を頂点とする仮想の多面体の凸部を互いに補償するように、腕部、脚部の動作を制御する。仮想の多面体は、腕部の部位である手先の位置と、腕部と基体とが連結するリンクの可動箇所と、脚部と基体とが連結するリンクの可動箇所と、脚部の部位である踵の位置または膝の位置とを少なくとも仮想点としている。そして、脚式移動ロボット制御装置は、載置判定手段によって、全身協調制御手段による動作によって、物品が指定箇所に載置されたことを、データ取得手段で取得された外力データに基づいて判定する。
【0014】
なお、多面体の凸部を互いに補償するとは、各リンクの可動箇所を頂点とする多面体を想定した場合に、この多面体の頂点が成す複数の凸部が維持されるように、一方の凸部の尖鋭さが増加した場合に、他の凸部(一方の凸部の反対側に位置する凸部)の尖鋭さが増加する、つまり、凸部が互いにバランスをとるように当該凸部の尖鋭さが増減することである。
【0015】
そして、脚式移動ロボット制御装置は、載置判定手段によって、全身協調制御手段による動作により、物品が指定箇所に載置されたことを、データ取得手段で取得された外力データに基づいて判定する。なお、この載置判定手段では、外力データを定数で除算したコンプライアンス入力値に基づいて、載置されたこと(載置が完了したこと)を判定している。
【0016】
請求項3に記載の脚式移動ロボット制御装置は、請求項1または請求項2に記載の脚式移動ロボット制御装置において、前記全身協調制御手段が、前記腕部が把持している前記物品を水平に保ったまま、前記脚部の各リンクを屈曲させることを特徴とする。
【0017】
かかる構成によれば、脚式移動ロボット制御装置は、全身協調制御手段によって、腕部が把持している物品を水平に保ったまま、つまり、物品を載置する際に、腕部のいずれかのリンクを回動させて当該腕部を伸張させたとしても、物品を水平に保持するように、例えば、当該腕部を構成する手首の可動角が所定範囲内に収まるようにする。そして、脚式移動ロボット制御装置は、腕部の動作を規制しつつ、脚部の各リンクを屈曲させる。
【0018】
請求項4に記載の脚式移動ロボットは、請求項1から請求項3のいずれか一項に記載の脚式移動ロボット制御装置を備えたことを特徴とする。
【0019】
かかる構成によれば、脚式移動ロボットは、物品を把持して移動後、オペレータの操作なしに、腕部と脚部との動作を自律制御しながら、当該物品を指定箇所に載置することができる。
【0020】
請求項5に記載の脚式移動ロボット制御方法は、物品を把持するために複数のリンクを有した腕部および移動するために複数のリンクを有した脚部が、基体に連結される脚式移動ロボットを、この脚式移動ロボットの姿勢および各リンクの位置に関する姿勢位置データと前記腕部に作用する外力に関する外力データとに基づいて、制御する脚式移動ロボット制御方法であって、姿勢位置データと外力データとを取得するデータ取得手段によって取得するステップと、腕部の動作にあわせて、脚部の動作を制御する全身協調制御手段によって制御するステップと、物品が指定箇所に載置されたことを、データ取得手段で取得された外力データに基づいて判定する載置判定手段によって判定するステップとを含み、前記全身協調制御手段によって制御するステップは、前記腕部の位置を下げるまたは前記腕部を伸張させた際に、前記載置判定手段により前記物品が前記指定箇所に載置されたと判定されない場合に、前記脚部の各リンクを屈曲させることを特徴とする。
【0021】
かかる手順によれば、脚式移動ロボット制御方法は、はじめのステップにて、データ取得手段によって、脚式移動ロボットの姿勢および各リンクの位置に関する姿勢位置データと腕部に作用する外力に関する外力データとを取得し、次のステップにて、全身協調制御手段によって、データ取得手段で取得された姿勢位置データに基づいて、腕部で把持した物品を、予め指定された指定箇所に載置する際に、腕部の動作にあわせて、脚部の動作を制御する全身協調制御手段によって制御する。そして、脚式移動ロボット制御方法は、次のステップにて、載置判定手段によって、全身協調制御手段による動作により、物品が指定箇所に載置されたことを、データ取得手段で取得された外力データに基づいて判定する。
【発明の効果】
【0022】
請求項1、2、4、5に記載の発明によれば、姿勢位置データに基づいて脚式移動ロボットの姿勢を所定の姿勢に保ちながら、オペレータの操作なしに、腕部の伸張可能な範囲の制約が軽減された高さの指定箇所に物品を載置することができる。
【0023】
請求項3に記載の発明によれば、オペレータの操作なしに、物品を載置する指定箇所の高さが所定範囲内にあれば、把持した物品を水平に載置することができる。
【発明を実施するための最良の形態】
【0024】
次に、本発明の実施形態について、適宜、図面を参照しながら詳細に説明する。
この実施形態の説明では、まず、脚式移動ロボットの概略、駆動構造および構成について説明し、ついで、脚式移動ロボット制御装置の構成を説明する。その後、脚式移動ロボットによる物品の受け取りから載置するまでの全体動作を説明し、ついで、脚式移動ロボットによる物品を載置する際の詳細な動作について説明する。
【0025】
(脚式移動ロボットの概略)
図1は、脚式移動ロボットの全体を示す模式図である。
この図1に示すように、脚式移動ロボットRは、自律移動型の2足移動ロボットであり、人間と同じように2本の脚部R1(1本のみ図示)により起立、移動(歩行、走行など)し、上体部(基体)R2、2本の腕部R3(1本のみ図示)および頭部R4を備え、自律して移動する。また、脚式移動ロボットRは、これら脚部R1、上体部R2、腕部R3および頭部R4の動作を制御する制御装置搭載部R5を背負う形で背中(上体部R2の後部)に備えている。以下の説明において、脚式移動ロボットRの前後方向にX軸、左右方向にY軸、上下方向にZ軸をとる。
【0026】
(脚式移動ロボットの駆動構造)
続いて、脚式移動ロボットRの駆動構造について説明する。図2は、図1に示した脚式移動ロボットRの駆動構造を模式的に示す斜視図である。なお、図2における関節部は、当該関節部を駆動する電動モータにより示されている。
【0027】
〈脚部R1〉
図2に示すように、左右それぞれの脚部R1は、6個の関節部11R(L)〜16R(L)を備えている。左右12個の関節は、股部(脚部R1と上体部R2との連結部分)の脚部回旋用(Z軸まわり)の股関節部11R,11L(右側をR、左側をLとする。また、R,Lを付さない場合もある。以下同じ。)、股部のピッチ軸(Y軸)まわりの股関節部12R,12L、股部のロール軸(X軸)まわりの股関節部13R,13L、膝部のピッチ軸(Y軸)まわりの膝関節部14R,14L、足首のピッチ軸(Y軸)まわりの足首関節部15R,15L、および、足首のロール軸(X軸)まわりの足首関節部16R,16Lから構成されている。そして、脚部R1の下には足部17R,17Lが取り付けられている。
【0028】
すなわち、脚部R1は、股関節部11R(L),12R(L),13R(L)、膝関節部14R(L)および足首関節部15R(L),16R(L)を備えている。股関節部11R(L)〜13R(L)と膝関節部14R(L)とは大腿リンク21R,21Lで、膝関節部14R(L)と足首関節部15R(L),16R(L)とは下腿リンク22R,22Lで連結されている。
【0029】
〈上体部R2〉
図2に示すように、上体部R2は、脚式移動ロボットRの基体部分であり、脚部R1、腕部R2および頭部R4と連結されている。すなわち、上体部R2(上体リンク53)は、股関節部11R(L)〜13R(L)を介して脚部R1と連結されている。また、上体部R2は、後記する肩関節部31R(L)〜33R(L)を介して腕部R3と連結されている。また、上体部R2は、後記する首関節部41,42を介して頭部R4と連結されている。また、上体部R2は、上体回旋用(Z軸まわり)の関節部21を備えている。
【0030】
〈腕部R3〉
図2に示すように、左右それぞれの腕部R3は、7個の関節部31R(L)〜37R(L)を備えている。左右14個の関節部は、肩部(腕部R3と上体部R2との連結部分)のピッチ軸(Y軸)まわりの肩関節部31R,31L、肩部のロール軸(X軸)まわりの肩関節部32R,32L、腕部回旋用(Z軸まわり)の肩関節部33R,33L、肘部のピッチ軸(Y軸)まわりの肘関節部34R,34L、手首回旋用(Z軸まわり)の腕関節部35R,35L、手首のピッチ軸(Y軸)まわりの手首関節部36R,36L、および手首のロール軸(X軸)まわりの手首関節部37R,37Lから構成されている。そして、腕部R3の先端には把持部(ハンド)71R,71Lが取り付けられている。
【0031】
すなわち、腕部R3は、肩関節部31R(L),32R(L),33R(L)、肘関節部34R(L)、腕関節部35R(L)および手首関節部36R(L),37R(L)を備えている。肩関節部31R(L)〜33R(L)とは肘関節部34R(L)とは上腕リンク54R(L)で、肘関節部34R(L)と手首関節部36R(L),37R(L)とは前腕リンク55R(L)で連結されている。
【0032】
〈頭部R4〉
図2に示すように、頭部R4は、首部(頭部R4と上体部R2との連結部分)のY軸まわりの首関節部41と、首部のZ軸まわりの首関節部42と、を備えている。首関節部41は頭部R4のチルト角を設定するためのものであり、首関節部42は頭部R4のパンを設定するためのものである。
【0033】
このような構成により、左右の脚部R1は合計12の自由度を与えられ、移動中に12個の関節部11R(L)〜16R(L)を適宜な角度で駆動することで、脚部R1に所望の動きを与えることができ、ロボットRが任意に3次元空間を移動することができる。また、左右の腕部R3は合計14の自由度を与えられ、14個の関節部31R(L)〜37R(L)を適宜な角度で駆動することで、脚式移動ロボットRが所望の作業を行うことができる。
【0034】
また、足首関節部15R(L),16R(L)と足部17R(L)との間には、公知の6軸力センサ61R(L)が設けられている。6軸力センサ61R(L)は、床面から脚式移動ロボットRに作用する床反力の3方向成分Fx,Fy,Fzと、モーメントの3方向成分Mx,My,Mzと、を検出する。
【0035】
また、手首関節部36R(L),37R(L)と把持部71R(L)との間には、公知の6軸力センサ62R(L)が設けられている。6軸力センサ62R(L)は、脚式移動ロボットRの把持部38R(L)に作用する反力の3方向成分Fx,Fy,Fzと、モーメントの3方向成分Mx,My,Mzと、を検出する。
【0036】
また、上体部R2には、傾斜センサ63が設けられている。傾斜センサ63は、上体部R2の重力軸(Z軸)に対する傾きと、その角速度と、を検出する。
また、各関節部の電動モータは、その出力を減速・増力する減速機(図示せず)を介して前記した大腿リンク51R(L)、下腿リンク52R(L)などを相対変位させる。これら各関節部の角度は、関節角度検出手段(例えば、ロータリエンコーダ)によって検出される。
【0037】
制御装置搭載部R5は、後記する自律移動制御部150、把持部制御部160、無線通信部170、主制御部200、バッテリ(図示せず)などを収納している。各センサ61〜63などの検出データは、制御装置搭載部R5内の各制御部および後記する脚式移動ロボット制御装置1に送られる。また、各電動モータは、各制御部からの駆動指示信号により駆動される。
【0038】
(脚式移動ロボットの構成)
図3は、図1に示した脚式移動ロボットの構成を示すブロック図である。図3に示すように、脚式移動ロボットRは、脚部R1、腕部R2および頭部R4に加えて、カメラC,C、スピーカS、マイクMC,MC、画像処理部100、音声処理部110、対象検知部120、自律移動制御部150、把持部制御部160、無線通信部170、主制御部200、記憶部300および脚式移動ロボット制御装置1を備えている。
【0039】
また、脚式移動ロボットRは、ジャイロセンサSR1およびGPS受信器SR2を備えている。ジャイロセンサSR1は、脚式移動ロボットRの向きに関するデータ(向きデータ)を検出する。また、GPS受信器SR2は、脚式移動ロボットRの位置に関するデータ(位置データ)を検出する。ジャイロセンサSR1およびGPS受信器SR2が検出したデータは、主制御部200に出力され、脚式移動ロボットRの行動を決定するために利用される。
【0040】
〈カメラ〉
カメラC,Cは、映像をデジタルデータとして取り込むことができるものであり、例えばカラーCCD(Charge-Coupled Device)カメラが使用されている。カメラC,Cは、左右に平行に並んで配置され、撮影した画像は画像処理部100に出力される。このカメラC,Cと、スピーカSおよびマイクMC,MCは、いずれも頭部R4の内部に配設されている。
【0041】
〈画像処理部〉
画像処理部100は、カメラC,Cが撮影した画像を処理して、撮影された画像から脚式移動ロボットRの周囲の状況を把握するため、周囲の障害物や人物の認識を行う部分である。この画像処理部100は、ステレオ処理部101、移動体抽出部102および顔認識部103を備えている。
【0042】
ステレオ処理部101は、左右のカメラC,Cが撮影した2枚の画像の一方を基準としてパターンマッチングを行い、左右の画像中の対応する各画素の視差を計算して視差画像を生成し、生成した視差画像及び元の画像を移動体抽出部102に出力する。なお、この視差は、脚式移動ロボットRから撮影された物体までの距離を表すものである。
【0043】
移動体抽出部102は、ステレオ処理部101から出力されたデータに基づき、撮影した画像中の移動体を抽出するものである。移動する物体(移動体)を抽出するのは、移動する物体は人物であると推定して、人物の認識をするためである。
移動体の抽出をするために、移動体抽出部102は、過去の数フレーム(コマ)の画像を記憶しており、最も新しいフレーム(画像)と、過去のフレーム(画像)を比較して、パターンマッチングを行い、各画素の移動量を計算し、移動量画像を生成する。そして、視差画像と、移動量画像とから、カメラC,Cから所定の距離範囲内で、移動量の多い画素がある場合に、その位置に人物がいると推定し、その所定距離範囲のみの視差画像として、移動体を抽出し、顔認識部103へ移動体の画像を出力する。
【0044】
また、移動体抽出部102は、抽出した移動体の高さ、すなわち身長を算出し、顔認識部103へ出力する。すなわち、移動体抽出部102は、脚式移動ロボットRに対する人の位置を特定することができ、また、人の身長を算出することができる。
【0045】
顔認識部103は、抽出した移動体から肌色の部分を抽出して、その大きさ、形状などから顔の位置を認識する。なお、同様にして、肌色の領域と、大きさ、形状などから手の位置も認識される。
認識された顔の位置は、脚式移動ロボットRが移動するときの情報として、また、その人とのコミュニケーションを取るため、主制御部200に出力されると共に、無線通信部170に出力されて、基地局2(脚式移動ロボットRに対し、無線通信を行うところ)に送信される。
【0046】
〈スピーカ〉
スピーカSは、後記する音声合成部111により生成された音声データに基づき、音声を出力する。
【0047】
〈マイク〉
マイクMC,MCは、脚式移動ロボットRの周囲の音を集音するものである。集音された音は、後記する音声認識部112および音源定位部113に出力される。
【0048】
〈音声処理部〉
音声処理部110は、音声合成部111、音声認識部112および音源定位部113を備えている。
音声合成部111は、主制御部200が決定し、出力してきた発話行動の指令に基づき、文字情報から音声データを生成し、スピーカSに音声を出力する部分である。音声データの生成には、予め記憶している文字情報と音声データとの対応関係を利用する。
【0049】
音声認識部112は、マイクMC,MCから音声データが入力され、予め記憶している音声データと文字情報との対応関係に基づき、音声データから文字情報を生成し、主制御部200に出力するものである。
【0050】
音源定位部113は、マイクMC,MC間の音圧差および音の到達時間差に基づいて、音源の位置(脚式移動ロボットRからの距離および方向)を特定する。
【0051】
〈対象検知部〉
対象検知部120は、脚式移動ロボットRの周囲に検知用タグ(図示せず)を備える検知対象(図示せず)が存在するか否かを検知すると共に、検知対象の存在が検知された場合、当該検知対象の位置を特定するものである。
【0052】
〈自律移動制御部〉
自律移動制御部150は、頭部制御部151、腕部制御部152および脚部制御部153を備えている。
頭部制御部151は、主制御部200の指示に従い頭部R4を駆動し、腕部制御部15
2は、主制御部200の指示に従い腕部R2を駆動し、脚部制御部153は、主制御部2
00の指示に従い脚部R1を駆動する。
【0053】
〈把持部制御部〉
把持部制御部160は、主制御部200の指示に従い把持部71を駆動する。把持部71は、一対の把持部71R,71L(図2参照)からなり、これら一対の把持部71R,71Lは鏡面対称に配置されている。
また、この把持部71には、当該把持部71に作用する外力を検出する外力検出手段(図示せず)が設けられている。この外力検出手段として、ここでは、6軸力センサを採用している。この6軸力センサは、外力の方向も検出可能であるので、物品から把持部71に作用する外力のうち、X軸方向の力Fx、Y軸方向の力Fy、Z軸方向の力Fzをそれぞれ検出可能である。
【0054】
〈無線通信部〉
無線通信部170は、基地局2に接続され、脚式移動ロボットの管理を行うロボット管理装置4とデータの送受信を行う通信装置である。無線通信部170は、公衆回線通信装置171および無線通信装置172を備えている。
公衆回線通信装置171は、携帯電話回線やPHS(Personal Handyphone System)回線などの公衆回線を利用した無線通信手段である。一方、無線通信装置172は、IEEE802.11b規格に準拠するワイヤレスLANなどの、近距離無線通信による無線通信手段である。
無線通信部170は、ロボット管理装置4(脚式移動ロボットRの管理を行うところ)からの接続要求に従い、公衆回線通信装置171または無線通信装置172を選択してロボット管理装置4とデータ通信を行うものである。
【0055】
〈主制御部〉
主制御部200は、ジャイロセンサSR1、GPS受信器SR2、画像処理部100、音声認識部110、対象検知部120、自律移動制御部150、把持部制御部160、無線通信部170、記憶部300および脚式移動ロボット制御装置1から入力される様々な信号、データに基づいて、脚式移動ロボットRの制御全般を司るものである。なお、この実施形態では、主制御部200と脚式移動ロボット制御装置1とを別々に構成しているが、脚式移動ロボット制御装置1の各制御手段がこの主制御部200に組みこまれるように構成してもよい。
【0056】
〈記憶部〉
記憶部300は、一般的な記憶媒体によって構成されており、人データと、地図データと、物品データと、発話データとを記憶しているものである。
【0057】
人データは、脚式移動ロボットRが移動する範囲(移動エリア)に存在する人に関するデータ(人データ)を関連付けたものである。例えば、人データとしては、人識別番号(ID)、名前、所属、タグ識別番号、通常居場所、机位置、顔画像などに関するデータが含まれる。
【0058】
地図データは、脚式移動ロボットRが移動する範囲(移動エリア)の地図に関するデータを関連付けたものである。例えば、地図データとしては、移動エリアの地形、壁位置、机位置などに関するデータが含まれる。
【0059】
物品データは、脚式移動ロボットRに運搬させる物品に関するデータ(物品データ)を関連付けたものである。例えば、物品データとしては、物品識別番号、物品の名称、大きさ、重さなどに関するデータが含まれる。
【0060】
発話データは、脚式移動ロボットRが発話するためのデータ(発話データ)を関連づけたものである。例えば、発話データとしては、日常会話におけるあいさつなどに関する音声波形データが含まれる。
【0061】
(脚式移動ロボット制御装置の構成)
次に、脚式移動ロボット制御装置の構成について図4を参照して説明する(適宜、図2、図3参照)。図4は脚式移動ロボット制御装置のブロック図であり、この図4に示すように、脚式移動ロボット制御装置1は、脚式移動ロボットRの様々な動作の中で、腕部R3(把持部71R(L))で把持した物品(物)を載置する際の動作を制御するもので、データ取得手段3と、全身協調制御手段5と、載置判定手段7とを備えている。
【0062】
なお、この実施形態では、脚式移動ロボットRが把持する物品として、カップやグラス等を載せたトレイ(お盆)を想定し、このトレイを載置する指定箇所として、一般的なテーブルを想定している。そして、この脚式移動ロボット制御装置1は、当該テーブルの高さが所定範囲内の高さを有していれば、脚式移動ロボットRにより、テーブルの上にトレイを水平に載置する動作、いわゆる盆置き動作を可能にしたものである。
【0063】
そしてさらに、この脚式移動ロボット制御装置1は、この盆置き動作を行う際に、テーブルの高さを固定しておいて、脚式移動ロボットRが直立したまま、腕部R3を伸張することで、トレイを載置する動作にとどまらず、脚式移動ロボットRの全身のリンクを協調制御することで、テーブルの高さが低くなった場合(所定範囲内に限る)であっても、トレイを載置する動作を可能にしたものである。
【0064】
データ取得手段3は、脚式移動ロボットRが物品を把持して移動し、当該物品を載置する目的地(例えば、テーブルの前)に到着した際の当該脚式移動ロボットRの姿勢や各リンクの位置に関する姿勢位置データと、腕部R3の先端(手先)にかかる外力に関する外力データを取得するもので、ポスチャー制御入力手段3aと、現在手首姿勢取得手段3bと、手先目標位置入力手段3cと、位置コンプライアンス入力手段3dと、二次フィルタ3eとを備えている。
【0065】
ポスチャー制御入力手段3aは、脚式移動ロボットRの肩すなわち肩関節部31R〜33Rの姿勢位置データと、腰すなわち股部(脚部R1と上体部R2との連結部分)の姿勢位置データとを入力することで、肩と腰の相対的な位置関係を入力するものである。
【0066】
現在手首姿勢取得手段3bは、現在の手首の姿勢を、自律移動制御部150の腕部制御部152から取得するものである。現在の手首の姿勢は、手首回旋用の腕関節部35R,35L、手首のピッチ軸(Y軸)まわりの手首関節部36R,36Lおよび手首のロール軸(X軸)まわりの手首関節部37R,37Lのそれぞれの角度によって、決定されるものである。
【0067】
手先目標位置入力手段3cは、脚式移動ロボットRの腕部R3の先端(手先)の目標値を入力するものである。手先の目標値は、足首関節部16Rと足首関節部16Lとの中点の位置を基準とした場合の把持部71R(L)の位置(手先位置)によって決定されるものである。
【0068】
位置コンプライアンス入力手段3dは、把持部71R(L)に作用する外力に関する外力データ(コンプライアンス入力値)を入力するものである。この外力データは、把持部71R(L)が何かに接触した際に増加するので、この入力された外力データが増加したか否かによって、腕部R3の把持部71R(L)で把持した物品が指定箇所(テーブルの上面)に載置されたこと(テーブル上面に把持部71R(L)が接触したこと)を判定することができる。
【0069】
二次フィルタ3eは、位置コンプライアンス入力手段3dから入力された外力データを、腕部R3の応答周波数と、腰すなわち股部(脚部R1と上体部R2との連結部分)の応答周波数とに分別するためのフィルタである。
【0070】
全身協調制御手段5は、データ取得手段3で取得された姿勢位置データ(各部の位置)および外力データ(コンプライアンス入力値)に基づいて、脚式移動ロボットRが物品を載置する際に、各部(各リンク)を協調させるように制御するもので、腰制御修正量計算手段5aと、手首姿勢修正量計算手段5bと、位置偏差比較手段5cと、ヤコビ行列作成手段5dと、各軸目標値計算手段5eと、各軸目標値計算手段5fと、各軸修正量総和手段5gと、一次遅れフィルタ5hと、積分演算手段5iと、肘角度制御演算手段5jと、積分演算手段5kと、順運動学計算手段5lと、バランス修正量計算手段5mとを備えている。
【0071】
なお、この全身協調制御手段5による各部(各リンク)を協調させる制御は、データ取得手段3で取得された姿勢位置データに基づいて、特定の動作(例えば、盆置き動作、腕部R3を振ったりする挨拶動作等)につき、脚式移動ロボットRの姿勢の一連変化が予め設定された情報である全身計画に従って、各リンクへの指令値を出力することで実現される。この各部(各リンク)を協調させる制御は、脚式移動ロボットRの全身の姿勢(ポスチャー)を制御するものであるので、いわゆるポスチャー制御と呼ばれている。
【0072】
そして、このポスチャー制御では、各部の位置または各リンクの可動箇所を仮想点とし、この仮想点を頂点とする多面体の凸部を互いに補償するように、例えば、一方の凸部が突出した場合、当該凸部の反対側に位置する凸部を突出させるようにして、バランスをとるように、脚式移動ロボット制御装置1が、各リンクへの指令値を出力している。
【0073】
なお、多面体は、腕部R3の部位である手先の位置と、脚部R1と基体R2とが連結するリンクの可動箇所と、脚部R1と基体R2と連結するリンクの可動箇所と、脚部R1の部位である踵の位置または膝の位置とを少なくとも仮想点にして構成する。
【0074】
腰制御修正量計算手段5aは、データ取得手段3のポスチャー制御入力手段3aから入力された肩関節部31R〜33Rの姿勢位置データおよび股部(脚部R1と上体部R2との連結部分)の姿勢位置データ(肩と腰の位置関係)と、順運動学計算手段5lで計算された係数(詳細は後記する)とに基づいて、腰位置(股部の位置)を修正する修正量(腰位置修正量)を計算するものである。
【0075】
手首姿勢修正量計算手段5bは、データ取得手段3の現在手首姿勢取得手段3bで取得された現在の手首の姿勢、すなわち、腕関節部35R,35L、手首関節部36R,36L、手首関節部37R,37Lのそれぞれの角度に基づいて、手首の姿勢を修正(物品を水平に保つように)する修正量(手首角度修正量)を計算するものである。
【0076】
なお、この手首姿勢修正量計算手段5bでは、腕関節部35R,35L、手首関節部36R,36L、手首関節部37R,37Lのそれぞれの角度が限界にならないように(リミットを回避するために)手首角度修正量を計算している。つまり、ここでは、腕部R3の肘の高さを変えて、両腕の手首(手首関節部36R,36L、手首関節部37R,37L)がなす面を変化させるために、手首角修正量を計算している。
【0077】
位置偏差比較手段5cは、手先目標位置入力手段3cにより入力された手先の目標値と、順運動学計算手段5lにより入力された現在の手先位置とを比較するものである。この比較は、手先の目標値から現在の手先位置を減算することで行われ、減算したもの(位置偏差)は各軸目標値計算手段5fに出力される。
【0078】
ヤコビ行列作成手段5dは、腰制御修正量計算手段5aで計算された腰位置修正量と、順運動学計算手段5lで計算された係数と、バランス修正量計算手段5mで計算されたバランス修正量(詳細は後記する)とに基づいて、各リンクに含まれる各軸の動き易さに対応したヤコビ行列Jを作成するものである。
【0079】
各軸目標値計算手段5eは、手首姿勢修正値計算手段5bで計算された手首角度修正量と、ヤコビ行列作成手段5dで作成されたヤコビ行列Jとに基づいて、腕部R3(把持部71を除く)への各軸目標値(各リンクへの指令値)を計算するものである。
【0080】
各軸目標値計算手段5fは、位置偏差比較手段5cから出力された位置偏差と、各軸目標値計算手段5eで計算された腕部R3への各軸目標値とに基づいて、把持部71への各軸目標値を計算するものである。
【0081】
なお、これら各軸目標値計算手段5eおよび各軸目標値計算手段5fでは、入力されたデータ(手首角度修正量、位置偏差等)をxとし、各軸目標値をθとすると、この各軸目標値θを、次に示す数式(1)を用いて計算している。
delta θ=inv(J)*delta x ・・・数式(1)
この数式(1)において、inv(J)は、ヤコビ行列Jを利用した関数である。なお、詳細には、J*=W−1JT(kI+JW−1JT)−1となるヤコビ行列を用いている。
【0082】
各軸修正量総和手段5gは、ヤコビ行列作成手段5dで作成されたヤコビ行列と、各軸目標値計算手段5eで計算された腕部R3への各軸目標値と、各軸目標値計算手段5fで計算された把持部71への各軸目標値とに基づいて、各軸の修正量を総和すると共に、総和した結果から、軸ごとに各軸目標値を演算するものである。つまり、この各軸修正量総和手段5gでは、手先目標位置入力手段3cで入力された目標値(目標位置姿勢入力)と、現在手首姿勢取得手段3bで取得された現在の手首の姿勢(手首姿勢入力)と、ポスチャー制御入力手段3aで入力された肩と腰との相対的な位置関係(凸部補償入力)とによって、各軸目標値を演算している。
【0083】
一次遅れフィルタ5hは、各軸修正量総和手段5gで演算された軸ごとの各軸目標値の出力を滑らかにするためのフィルタであり、各軸目標値に伝達関数(1/Ts+1(T:時定数,s:微分演算子))を乗算するものである。なお、各軸目標値の出力を遅らせる理由は、脚式移動ロボットRの上体の動きの特性と、当該ロボットの動作について予め設定されているモデル特性とを適合させるためである。
【0084】
積分演算手段5iは、一次遅れフィルタ5hで伝達関数が乗算された各軸目標値に積分演算を施すものである。そして、この積分演算手段5iで演算された結果は、バランス修正量計算手段5mに出力されると共に、主制御部200を介して、自律移動制御部150の脚部制御部153に出力され、脚式移動ロボットRの動作に反映される。
【0085】
肘角度制御演算手段5jは、各軸修正量総和手段5gで演算された軸ごとの各軸目標値に基づいて、肘角度目標値を演算し、この肘角度目標値から肩角度を修正する肩角度修正量を演算するものである。肘角度目標値は、肘部のピッチ軸(Y軸)のまわりの肘関節部34R,34Lの角度であり、肩角度修正量は、肩部(腕部R3と上体部R2との連結部分)のピッチ軸(Y軸)まわりの肩関節部31R,31L、肩部のロール軸(X軸)まわりの肩関節部32R,32Lおよび腕部回旋用(Z軸まわり)の肩関節部33R,33Lの角度を修正する修正量である。
【0086】
積分演算手段5kは、肘角度制御演算手段5jで演算された肩角度修正量に積分演算を施すものである。そして、この積分演算手段5kで演算された結果は、バランス修正量計算手段5mに出力されると共に、主制御部200を介して、自律移動制御部150の腕部制御部152に出力され、脚式移動ロボットRの動作に反映される。
【0087】
なお、積分演算手段5iおよび積分演算手段5kでは、現在(動作前)の状態をstate(n−1)とし、微小時間における状態の変化量をdelta(n−1)とし、動作後の状態をstate(n)とすると、この動作後の状態state(n)を、次に示す数式(2)を用いて計算している。
state(n)=state(n−1)+delta(n−1) ・・・数式(2)
【0088】
順運動学計算手段5lは、積分演算手段5kで演算された結果と、バランス修正量計算手段5mで計算されたバランス修正量とに基づいて、各部(各リンク)において、各関節の角度から関節間を結ぶ線分を、座標変換するための係数を演算するものである。つまり、この係数によって、脚式移動ロボットRのリンク間を、所定の線分に置き換えることができる。
【0089】
バランス修正量計算手段5mは、積分演算手段5iで演算された結果に基づいて、バランス修正量を計算するものである。バランス修正量は、上体部R2と脚部R1との重心移動量、すなわち、脚式移動ロボットRが腕部R3を伸張することで生じる上半身動作によるモーメントを補償するものである。
【0090】
載置判定手段7は、位置コンプライアンス入力手段3dで入力された把持部71R(L)に作用する外力に関する外力データ(コンプライアンス入力値)に基づいて、物品が指定箇所に載置されたか否かを判定するもので、判定手段7aを備えている。
【0091】
判定手段7aは、外力データが予め設定した所定値を超えたか否かを判定するものである。脚式移動ロボット制御装置1は、この判定手段7aによって、外力データが所定値を超えたと判定するまで、脚式移動ロボットRの腕部R3を伸張させる、或いは、脚部R1は屈曲させる動作を継続するように物品の載置動作を制御し、外力データが所定値を超えたと判定した場合には物品の載置動作が完了したとし、脚式移動ロボットRを元の姿勢に戻すように制御する(戻り動作)。
【0092】
このように構成した脚式移動ロボット制御装置1によれば、データ取得手段3によって取得された姿勢位置データに基づいて脚式移動ロボットRの姿勢を所定の姿勢に保ちながら、オペレータの操作なしに、指定箇所に、腕部R3の伸張可能な範囲の制約が軽減された高さの指定箇所に、把持した物品を水平に載置することができる。
【0093】
(脚式移動ロボットによる物品の受け取りから載置するまでの全体動作)
次に、図5に示すフローチャートを参照して、脚式移動ロボットRによる物品(例えば、トレイ)の受け取りから載置するまでの全体動作について説明する(適宜、図2,3,4参照)。
【0094】
〈受取位置移動〉
まず、脚式移動ロボットRが物品を受け取る受取位置への移動(ステップS1)について説明する。
まず、脚式移動ロボットRは、予め設定されたホームポジションで待機しており、脚式移動ロボットRが、ロボット管理装置4から送信された実行命令信号を受信すると、脚式移動ロボットRは、ホームポジションから人の通常居場所(人データ参照)までの移動を開始する。そして、人の通常居場所に到着すると、脚式移動ロボットRは移動を中止し、人の探索を開始する。そして、対象検知部120で人Hのタグ識別番号を検知すると、脚式移動ロボットRは、カメラC,Cで人の画像を取得し、人の正面に移動する。
【0095】
なお、対象検知部120が、所定時間内に人Hのタグ識別番号を検知することができなかった場合には、脚式移動ロボットRは、タスク実行が不可能である旨を伝える行動報告信号を生成し、ロボット管理装置4へ出力すると共に、ホームポジションに移動する。
【0096】
〈受取動作〉
続いて、脚式移動ロボットRの物品(トレイ)の受取動作(ステップS2)について説明する。
受取位置に移動した脚式移動ロボットRは、受取高さに、指開状態の把持部71(71R,71L)を差し出す。この際に、脚式移動ロボットRは、把持部71から人までの距離が一定になる位置になるように、把持部71R,71Lを差し出し、さらに、把持部71R,71Lの差し出し方向を、移動体抽出部102で算出した人の中心(中心鉛直線)に合わせる。
【0097】
把持部71R,71Lの差し出しが完了すると、「受取待機状態」となり、脚式移動ロボットRが、「物品(トレイ)をお渡しください」と発話する。この受取待機状態において、脚式移動ロボットRが6軸力センサ62R,62LでFx1以上の外力Fxを検出すると、運搬状態を「受取中」と設定すると共に、脚式移動ロボットRが把持部71R,71Lを閉じ始める。そして、受取中状態において、脚式移動ロボットRが6軸力センサ62R,62Lで検出する力FxがFx2以下となるか、または、把持角度偏差θがθ1以下となると、運搬状態を「受取動作完了」と設定する。
【0098】
把持部71R,71Lの両方の開度、すなわち把持角度偏差θが所定値θ3以上である場合には、物品が厚く、把持部71R,71Lの両方が物品を把持したものと判定し、運搬状態を「把持完了」と設定する。
また、把持部71R,71Lの少なくとも一方の把持角度偏差θが所定値θ3未満である場合には、運搬状態を「把持正否判定」と設定すると共に、把持の成否を判定する。
詳しくは、脚式移動ロボットRは、把持部71R,71Lを近接または離隔させ、6軸力センサ62R,62Lで物品から作用する反力Fyを検出する。反力Fyが所定値Fy1以上である場合に、把持成功であると判定し、運搬状態を「受取動作完了」と設定すると共に、把持部71R,71Lが物品を把持する。そして、反力Fyが所定地Fy1未満である場合に、把持失敗であると判定し、運搬状態を「受取失敗」と設定する。
【0099】
〈受け直し準備〉
続いて、脚式移動ロボットRの受け直し準備について説明する。
把持部71R,71Lの状態を「受取失敗」と設定し、6軸力センサ62R,62Lの少なくとも一方が所定値Fy2以上の外力Fyを検出している場合には、運搬状態を「受渡待機」と設定し、脚式移動ロボットRが、「物品(トレイ)を受け取って、再度お渡しください」と発話する。
【0100】
そして、脚式移動ロボットRが、6軸力センサ62R,62Lのうち、物品(トレイ)を把持している方で所定値Fx5以上の外力Fxを検出すると、運搬状態を「受渡中」と設定すると共に、把持部71R,71Lが開放される、受取動作を再実行する。
【0101】
なお、把持部71R,71Lの把持部角度偏差θが所定値θ4以下である場合(例えば、θ=0)には、脚式移動ロボットRが、「物品(トレイ)を再度お渡しください」と発話し、把持部71R,71Lが開放され、受取動作を再実行する。
【0102】
〈運搬移動〉
続いて、脚式移動ロボットRの物品運搬移動(ステップS3)について説明する。
脚式移動ロボットRは、物品の把持が完了すると、把持部71R,71Lを、カメラC,Cによる撮像領域から外れた位置(死角)に移動させる。これは、把持された物品(トレイ)がカメラC,Cの視野を塞ぐことを防ぐためである。そして、脚式移動ロボットRは、受取位置から、指定箇所(載置箇所)の手前位置までの移動を開始し、手前位置に到着すると、脚式移動ロボットRは移動を中止し、指定箇所の探索を開始する。
【0103】
〈載置動作〉
指定箇所の手前位置に移動した脚式移動ロボットRは、指定箇所に物品の載置を行う(ステップS4)。そして、脚式移動ロボットRは、物品の載置完了後、物品を把持していない状態に戻り、ホームポジションまでの移動を行う。
この載置動作について、図6を参照して詳細に説明する。
【0104】
(脚式移動ロボットによる物品を載置する際の詳細な動作)
図6は、脚式移動ロボット制御装置1による、物品を指定箇所(テーブルの上面)に載置する際の脚式移動ロボットRの動作を説明するためのフローチャートである(適宜、図2,3,4参照)。
まず、脚式移動ロボット制御装置1は、移動終了後(指定箇所の手前位置に到着後)、データ取得手段3によって、脚式移動ロボットRの状態を示す姿勢位置データを取得する(ステップS11)。
【0105】
すなわち、脚式移動ロボット制御装置1は、データ取得手段3のポスチャー制御入力手段3aによって、脚式移動ロボットRの肩関節部31R〜33Rの姿勢位置データ、脚部R1と上体部R2との連結部分の姿勢位置データを入力し、現在手首姿勢取得手段3bによって、手首回旋用の腕関節部35R,35L、手首のピッチ軸(Y軸)まわりの手首関節部36R,36Lおよび手首のロール軸(X軸)まわりの手首関節部37R,37Lのそれぞれの角度を取得し、手先目標位置入力手段3cによって、足首関節部16R(L)の位置および把持部71R(L)の位置(手先位置)を入力する。
【0106】
続いて、脚式移動ロボット制御装置1は、データ取得手段3で取得した姿勢位置データが、脚式移動ロボットRの姿勢の一連変化を予め設定した情報である全身計画に沿うように、腕部R3および脚部R1の動作を制御するために、全身協調制御手段5によって、
取得した姿勢位置データから、ポスチャーコントロール(ポスチャー制御)の入力を決定する(腰ゲインON)(ステップS12)。すなわち、脚式移動ロボット制御装置1は、物品を指定箇所に載置する際の作業範囲を確保するために、脚式移動ロボットRの全身姿勢を協調して制御し、さらに、全身を協調して制御するために、姿勢位置データを処理する順番を決定する。
【0107】
つまり、脚式移動ロボット制御装置1は、全身協調制御手段5によって、手先(把持部71R(L)の位置)、両肩(肩関節部31R(L)〜33R(L)の位置)、腰(脚部R1と上体部R2との連結部分の位置)および踵(足首関節部16R(L)の位置)を結ぶ多面体の凸部を互いに補償するように制御することで、作業範囲を確保している。
【0108】
そして、脚式移動ロボット制御装置1は、全身協調制御手段5によって、ポスチャーコントロールをONにした状態で、つまり、作業範囲を確保した状態で、物品を指定箇所に載置する動作を開始する(ステップS13)。
【0109】
ここで、脚式移動ロボット制御装置1は、全身協調制御手段5によって、手首回旋用の腕関節部35R,35L、手首のピッチ軸(Y軸)まわりの手首関節部36R,36Lおよび手首のロール軸(X軸)まわりの手首関節部37R,37Lのそれぞれの角度が限界値にならないように(リミットを回避するように)、水平面に対する物品の向きを水平に保持する。
【0110】
そして、脚式移動ロボット制御装置1は、把持部71に作用する外力に関する外力データを、位置コンプライアンス入力手段3dから入力し、載置判定手段7の判定手段7aによって、外力データが所定値以上になったか否かによって、物品が載置されたか否かを判定する(ステップS14)。すなわち、載置判定手段7では、この外力データが所定値以上になった場合に、物品が指定箇所に載置されたと判定している。つまり、把持部71にかかる反力が所定値以上になったことにより、把持部71が指定箇所に確実に接触していると言えるからである。また、物品を指定箇所に載置する際に、脚式移動ロボット1において、音声処理部110の音声合成部111およびスピーカSによって、「お茶をお持ちしました。どうぞ。」という発声を行わせてもよい。
【0111】
脚式移動ロボット制御装置1は、載置判定手段7の判定手段7aによって、外力データが所定値以上になるまで載置完了と見なさず(ステップS14、No)、ステップS13に戻り載置動作を継続し、外力データが所定値以上になった場合に載置完了したとする(ステップS14、Yes)。そして、脚式移動ロボット制御装置1は、現在の腕部R3の手先の高さを、戻り動作(物品を持っていない状態、腕部R3を上体部R2の側部に戻す動作)の初期値に設定し(ステップS15)、腰ゲインONをリセットし、戻り動作を開始する(ステップS16)。この戻り動作は、腕部R3を下げると共に、脚部R1と上体部R2との連結部分の位置を、重心から鉛直方向におろした直線上に来るように、当該連結部分の屈曲を戻す動作である。
【0112】
(脚式移動ロボットの動作状況、作業範囲等について)
次に、図7から図11までを参照して、脚式移動ロボットRの動作状況を従来の制御(脚式移動ロボット制御装置1による制御がない場合)と比較しながら説明すると共に、具体的な作業範囲についても説明する。
【0113】
図7は、脚式移動ロボットRを直線の繋がりで簡略化して図示すると共に、当該脚式移動ロボットRの一連の動作について図示したものである。図7(a)および図7(b)が移動動作を、図7(a)から図7(e)までが載置動作を、図7(f)から図7(i)までが戻り動作を示したものである。
【0114】
この図7に示したように、脚式移動ロボットRは、物品Mを把持して移動し、水平に指定箇所Sに物品Mを載置している(特に、図7(e))。脚式移動ロボット制御装置1では、物品Mを載置した際に、指定箇所Sと腕部R3(把持部71(図2参照))からの反力によって(コンプライアンス制御によって)、載置完了を検出している。
【0115】
図8および図9は、脚式移動ロボットRによって物品の載置動作を行わせる際に、脚式移動ロボット制御装置1による制御がある場合(制御あり)とない場合(制御なし)とを比較して示した図である。
【0116】
図8(a)は制御ありの場合を、図8(b)は制御なしの場合を示している。
この図8に示したように、制御なしの場合(図8(b))、脚式移動ロボットRは、載置動作を行わせると、作業領域(作業範囲)を確保するどころか、後方に傾斜してしまう。それに対し、制御ありの場合(図8(a))、脚式移動ロボットRは、上体部(両肩)と手先と股部(上体部と脚部との連結部分)と足首とを結ぶ8つの頂点からなる多面体の凸部を互いに補償することで、ハッチングで示した箇所を作業領域として確保しており、姿勢も安定している。なお、この図8(a)に示したように、足首の代わりに膝を仮想の頂点として多面体を構成してもよい。
【0117】
また、図9(a)および図9(c)は制御なしの場合を、図9(b)および図9(d)は制御ありの場合を示している。
この図9に示したように、「アームのコンプライアンス制御に追従」に関する動作では、制御なしの場合(図9(a))、手先にかかる力によって、腰(股部、上体部と脚部との連結部分)が動かない(追従しない)のに対し、制御ありの場合(図9(b))、手先にかかる力によって、腰(股部、上体部と脚部との連結部分)が動く(追従する)。
【0118】
また、「手首可動角を補償」に関する動作では、制御なしの場合(図9(c))、手先が目標姿勢を追従しないのに対し、制御ありの場合(図9(d))、手先が目標姿勢を追従し、維持可能である。
【0119】
図10および図11は、脚式移動ロボットRによって物品の載置動作を行わせる際に、脚式移動ロボット制御装置1による制御がある場合(制御あり)とない場合(制御なし)とを比較し、さらに、具体的な作業範囲を示した図である。
図10(a)は制御なしの場合を、図10(b)は制御ありの場合を示している。
図10(b)に示したように、脚式移動ロボットRは、腰(股部)を接地面から420mmの高さまで下げることができ、接地面から680mmの高さから800mm(680mm+120mm)の高さまで、100mmの幅の作業範囲を確保することができる。
【0120】
図11は、図10の作業範囲を、脚式移動ロボットRの真上から示した図である。「Armのみ」が制御なしの場合の作業範囲を、「全身込み」が制御ありの場合の作業範囲を示している。この図11に示したように、制御ありの場合(全身込み)では、制御なしの場合(Armのみ)に比べて、平面的にみて約倍以上の作業範囲を確保することができる。
【0121】
以上、本発明の実施形態について説明したが、本発明は前記実施形態には限定されない。例えば、本実施形態では、脚式移動ロボット制御装置1として説明したが、当該装置1を用いた脚式移動ロボット制御方法として捉えることも可能である。
また、脚式移動ロボットRの各関節部の数・配置なども適宜設計変更可能である。
【図面の簡単な説明】
【0122】
【図1】本発明の実施形態に係る脚式移動ロボットの外観を示す側面図である。
【図2】図1に示した脚式移動ロボットの内部構造を模式的に示す斜視図である。
【図3】図1に示した脚式移動ロボットの構成を示すブロック図である。
【図4】図3に示した脚式移動ロボット制御装置のブロック図である。
【図5】図1に示した脚式移動ロボットの全体動作の概略を示すフローチャートである。
【図6】図5に示した脚式移動ロボットの全体動作の中の載置動作の詳細を示すフローチャートである。
【図7】脚式移動ロボットの移動、載置動作および戻り動作の概略を模式的に示した図である。
【図8】脚式移動ロボット制御装置による制御がある場合とない場合とを比較して示した図である(作業領域の確保について)。
【図9】脚式移動ロボット制御装置による制御がある場合とない場合とを比較して示した図である(アームのコンプライアンス制御、手首可動角の補償について)。
【図10】脚式移動ロボット制御装置による制御がある場合とない場合とを比較して示した図である(具体的な作業範囲について)。
【図11】図10に示した作業範囲の平面図である。
【符号の説明】
【0123】
1 脚式移動ロボット制御装置
3 データ取得手段
5 全身協調制御手段
7 載置判定手段
【技術分野】
【0001】
本発明は、脚によって移動する脚式移動ロボット、当該脚式移動ロボットを制御する脚式移動ロボット制御装置、並びに、脚式移動ロボット制御方法に関する。
【背景技術】
【0002】
従来、脚によって歩行または走行する(以下、移動するという)脚式移動ロボットが知られている。このような脚式移動ロボットは、人との自然のコミュニケーションを実現するために、通常、頭部、腕部、胴体部および脚部を備えた人型をしている。
【0003】
また、一般的なロボット、特に、産業用ロボットには、物を組み立てたり、物を把持したり、物を運搬したりするものが多く見られる。
【0004】
このような産業ロボットは、物を組み立てたり、物を把持したりする腕部(ロボットハンド、ロボットアームと呼称される)のみによって構成されている場合が多い(例えば、特許文献1,2)。
【0005】
特許文献1に開示されている「ロボットハンド」は、把持対象物の概略形状を接触センサ、開き角度センサ等から計算して、把持動作を決定するものである。
特許文献2に開示されている「ロボット把持制御装置」は、物を把持するロボットハンドに作用する外力の値が外力センサで検出され、当該外力の値が変化したときに、ロボットハンドが物を把持する把持力を減少または増加して、当該物の受け渡しを行うものである。
【特許文献1】特開2004−160594号公報
【特許文献2】特開2004−167674号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、従来開示されているロボットハンドやロボット把持制御装置を、脚式移動ロボットに組み込んで、この脚式移動ロボットを、オペレータの操作なしで自律制御によって、物を把持させ、特定の箇所に載置しようとすると、当該物を水平に保持することができなくて傾けてしまったり、脚式移動ロボットの姿勢が崩れてしまったりするという問題がある。
【0007】
特に、脚式移動ロボットの腕部に物を把持させて、この把持した物を、特定箇所(一定の高さのテーブル等)に載置しようとすると、特定箇所の高さが当該腕部の伸張可能な範囲の制約を受けてしまうという問題がある。
【0008】
そこで、本発明では、前記した問題を解決し、オペレータの操作なしに、特定箇所に物を水平に載置することができ、腕部の伸張可能な範囲の制約が軽減された高さの特定箇所に物を載置することができる脚式移動ロボット制御装置および脚式移動ロボット、並びに、脚式移動ロボット制御方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
前記課題を解決するため、物品を把持するために複数のリンクを有した腕部および移動するために複数のリンクを有した脚部が、基体に連結される脚式移動ロボットを、この脚式移動ロボットの姿勢および各リンクの位置に関する姿勢位置データと前記腕部に作用する外力に関する外力データとに基づいて、制御する脚式移動ロボット制御装置であって、データ取得手段と、全身協調制御手段と、載置判定手段とを備え、前記全身協調制御手段は、前記腕部の位置を下げるまたは前記腕部を伸張させた際に、前記載置判定手段により前記物品が前記指定箇所に載置されたと判定されない場合に、前記脚部の各リンクを屈曲させることを特徴とする。
【0010】
かかる構成によれば、脚式移動ロボット制御装置は、データ取得手段によって、脚式移動ロボットの姿勢および各リンクの位置に関する姿勢位置データと腕部に作用する外力に関する外力データとを取得する。そして、脚式移動ロボット制御装置は、全身協調制御手段によって、データ取得手段で取得された姿勢位置データに基づいて、腕部で把持した物品を、予め指定された指定箇所に載置する際に、腕部の動作にあわせて、脚部の動作を制御する。続いて、脚式移動ロボット制御装置は、載置判定手段によって、全身協調制御手段による動作によって、物品が指定箇所に載置されたことを、データ取得手段で取得された外力データに基づいて判定する。
【0011】
なお、姿勢位置データには、例えば、脚式移動ロボットの基体の両上端部に該当する「肩」と基体の下端部に該当する「腰」との相対位置、腕部の1つのリンクに該当する「手首」の姿勢、脚部が地面と接触する接触面において、後端部に位置する「踵」から見た腕部の先端部に該当する「手先」の位置に関するデータが含まれている。
【0012】
請求項2に記載の脚式移動ロボット制御装置は、物品を把持するために複数のリンクを有した腕部および移動するために複数のリンクを有した脚部が、基体に連結される脚式移動ロボットを、この脚式移動ロボットの姿勢および各リンクの位置に関する姿勢位置データと前記腕部に作用する外力に関する外力データとに基づいて、制御する脚式移動ロボット制御装置であって、データ取得手段と、全身協調制御手段と、載置判定手段とを備え、前記仮想の多面体が、前記腕部の部位である手先の位置と、前記腕部と前記基体とが連結するリンクの可動箇所と、前記脚部と前記基体とが連結するリンクの可動箇所と、前記脚部の部位である踵の位置または膝の位置とを少なくとも仮想点としたことを特徴とする。
【0013】
かかる構成によれば、脚式移動ロボット制御装置は、データ取得手段によって、脚式移動ロボットの姿勢および各リンクの位置に関する姿勢位置データと腕部に作用する外力に関する外力データとを取得する。そして、脚式移動ロボット制御装置は、全身協調制御手段によって、データ取得手段で取得された姿勢位置データに基づいて、腕部で把持した物品を、予め指定された指定箇所に載置する際に、腕部および脚部の部位または前記リンクの可動箇所を仮想点とし、この仮想点を頂点とする仮想の多面体の凸部を互いに補償するように、腕部、脚部の動作を制御する。仮想の多面体は、腕部の部位である手先の位置と、腕部と基体とが連結するリンクの可動箇所と、脚部と基体とが連結するリンクの可動箇所と、脚部の部位である踵の位置または膝の位置とを少なくとも仮想点としている。そして、脚式移動ロボット制御装置は、載置判定手段によって、全身協調制御手段による動作によって、物品が指定箇所に載置されたことを、データ取得手段で取得された外力データに基づいて判定する。
【0014】
なお、多面体の凸部を互いに補償するとは、各リンクの可動箇所を頂点とする多面体を想定した場合に、この多面体の頂点が成す複数の凸部が維持されるように、一方の凸部の尖鋭さが増加した場合に、他の凸部(一方の凸部の反対側に位置する凸部)の尖鋭さが増加する、つまり、凸部が互いにバランスをとるように当該凸部の尖鋭さが増減することである。
【0015】
そして、脚式移動ロボット制御装置は、載置判定手段によって、全身協調制御手段による動作により、物品が指定箇所に載置されたことを、データ取得手段で取得された外力データに基づいて判定する。なお、この載置判定手段では、外力データを定数で除算したコンプライアンス入力値に基づいて、載置されたこと(載置が完了したこと)を判定している。
【0016】
請求項3に記載の脚式移動ロボット制御装置は、請求項1または請求項2に記載の脚式移動ロボット制御装置において、前記全身協調制御手段が、前記腕部が把持している前記物品を水平に保ったまま、前記脚部の各リンクを屈曲させることを特徴とする。
【0017】
かかる構成によれば、脚式移動ロボット制御装置は、全身協調制御手段によって、腕部が把持している物品を水平に保ったまま、つまり、物品を載置する際に、腕部のいずれかのリンクを回動させて当該腕部を伸張させたとしても、物品を水平に保持するように、例えば、当該腕部を構成する手首の可動角が所定範囲内に収まるようにする。そして、脚式移動ロボット制御装置は、腕部の動作を規制しつつ、脚部の各リンクを屈曲させる。
【0018】
請求項4に記載の脚式移動ロボットは、請求項1から請求項3のいずれか一項に記載の脚式移動ロボット制御装置を備えたことを特徴とする。
【0019】
かかる構成によれば、脚式移動ロボットは、物品を把持して移動後、オペレータの操作なしに、腕部と脚部との動作を自律制御しながら、当該物品を指定箇所に載置することができる。
【0020】
請求項5に記載の脚式移動ロボット制御方法は、物品を把持するために複数のリンクを有した腕部および移動するために複数のリンクを有した脚部が、基体に連結される脚式移動ロボットを、この脚式移動ロボットの姿勢および各リンクの位置に関する姿勢位置データと前記腕部に作用する外力に関する外力データとに基づいて、制御する脚式移動ロボット制御方法であって、姿勢位置データと外力データとを取得するデータ取得手段によって取得するステップと、腕部の動作にあわせて、脚部の動作を制御する全身協調制御手段によって制御するステップと、物品が指定箇所に載置されたことを、データ取得手段で取得された外力データに基づいて判定する載置判定手段によって判定するステップとを含み、前記全身協調制御手段によって制御するステップは、前記腕部の位置を下げるまたは前記腕部を伸張させた際に、前記載置判定手段により前記物品が前記指定箇所に載置されたと判定されない場合に、前記脚部の各リンクを屈曲させることを特徴とする。
【0021】
かかる手順によれば、脚式移動ロボット制御方法は、はじめのステップにて、データ取得手段によって、脚式移動ロボットの姿勢および各リンクの位置に関する姿勢位置データと腕部に作用する外力に関する外力データとを取得し、次のステップにて、全身協調制御手段によって、データ取得手段で取得された姿勢位置データに基づいて、腕部で把持した物品を、予め指定された指定箇所に載置する際に、腕部の動作にあわせて、脚部の動作を制御する全身協調制御手段によって制御する。そして、脚式移動ロボット制御方法は、次のステップにて、載置判定手段によって、全身協調制御手段による動作により、物品が指定箇所に載置されたことを、データ取得手段で取得された外力データに基づいて判定する。
【発明の効果】
【0022】
請求項1、2、4、5に記載の発明によれば、姿勢位置データに基づいて脚式移動ロボットの姿勢を所定の姿勢に保ちながら、オペレータの操作なしに、腕部の伸張可能な範囲の制約が軽減された高さの指定箇所に物品を載置することができる。
【0023】
請求項3に記載の発明によれば、オペレータの操作なしに、物品を載置する指定箇所の高さが所定範囲内にあれば、把持した物品を水平に載置することができる。
【発明を実施するための最良の形態】
【0024】
次に、本発明の実施形態について、適宜、図面を参照しながら詳細に説明する。
この実施形態の説明では、まず、脚式移動ロボットの概略、駆動構造および構成について説明し、ついで、脚式移動ロボット制御装置の構成を説明する。その後、脚式移動ロボットによる物品の受け取りから載置するまでの全体動作を説明し、ついで、脚式移動ロボットによる物品を載置する際の詳細な動作について説明する。
【0025】
(脚式移動ロボットの概略)
図1は、脚式移動ロボットの全体を示す模式図である。
この図1に示すように、脚式移動ロボットRは、自律移動型の2足移動ロボットであり、人間と同じように2本の脚部R1(1本のみ図示)により起立、移動(歩行、走行など)し、上体部(基体)R2、2本の腕部R3(1本のみ図示)および頭部R4を備え、自律して移動する。また、脚式移動ロボットRは、これら脚部R1、上体部R2、腕部R3および頭部R4の動作を制御する制御装置搭載部R5を背負う形で背中(上体部R2の後部)に備えている。以下の説明において、脚式移動ロボットRの前後方向にX軸、左右方向にY軸、上下方向にZ軸をとる。
【0026】
(脚式移動ロボットの駆動構造)
続いて、脚式移動ロボットRの駆動構造について説明する。図2は、図1に示した脚式移動ロボットRの駆動構造を模式的に示す斜視図である。なお、図2における関節部は、当該関節部を駆動する電動モータにより示されている。
【0027】
〈脚部R1〉
図2に示すように、左右それぞれの脚部R1は、6個の関節部11R(L)〜16R(L)を備えている。左右12個の関節は、股部(脚部R1と上体部R2との連結部分)の脚部回旋用(Z軸まわり)の股関節部11R,11L(右側をR、左側をLとする。また、R,Lを付さない場合もある。以下同じ。)、股部のピッチ軸(Y軸)まわりの股関節部12R,12L、股部のロール軸(X軸)まわりの股関節部13R,13L、膝部のピッチ軸(Y軸)まわりの膝関節部14R,14L、足首のピッチ軸(Y軸)まわりの足首関節部15R,15L、および、足首のロール軸(X軸)まわりの足首関節部16R,16Lから構成されている。そして、脚部R1の下には足部17R,17Lが取り付けられている。
【0028】
すなわち、脚部R1は、股関節部11R(L),12R(L),13R(L)、膝関節部14R(L)および足首関節部15R(L),16R(L)を備えている。股関節部11R(L)〜13R(L)と膝関節部14R(L)とは大腿リンク21R,21Lで、膝関節部14R(L)と足首関節部15R(L),16R(L)とは下腿リンク22R,22Lで連結されている。
【0029】
〈上体部R2〉
図2に示すように、上体部R2は、脚式移動ロボットRの基体部分であり、脚部R1、腕部R2および頭部R4と連結されている。すなわち、上体部R2(上体リンク53)は、股関節部11R(L)〜13R(L)を介して脚部R1と連結されている。また、上体部R2は、後記する肩関節部31R(L)〜33R(L)を介して腕部R3と連結されている。また、上体部R2は、後記する首関節部41,42を介して頭部R4と連結されている。また、上体部R2は、上体回旋用(Z軸まわり)の関節部21を備えている。
【0030】
〈腕部R3〉
図2に示すように、左右それぞれの腕部R3は、7個の関節部31R(L)〜37R(L)を備えている。左右14個の関節部は、肩部(腕部R3と上体部R2との連結部分)のピッチ軸(Y軸)まわりの肩関節部31R,31L、肩部のロール軸(X軸)まわりの肩関節部32R,32L、腕部回旋用(Z軸まわり)の肩関節部33R,33L、肘部のピッチ軸(Y軸)まわりの肘関節部34R,34L、手首回旋用(Z軸まわり)の腕関節部35R,35L、手首のピッチ軸(Y軸)まわりの手首関節部36R,36L、および手首のロール軸(X軸)まわりの手首関節部37R,37Lから構成されている。そして、腕部R3の先端には把持部(ハンド)71R,71Lが取り付けられている。
【0031】
すなわち、腕部R3は、肩関節部31R(L),32R(L),33R(L)、肘関節部34R(L)、腕関節部35R(L)および手首関節部36R(L),37R(L)を備えている。肩関節部31R(L)〜33R(L)とは肘関節部34R(L)とは上腕リンク54R(L)で、肘関節部34R(L)と手首関節部36R(L),37R(L)とは前腕リンク55R(L)で連結されている。
【0032】
〈頭部R4〉
図2に示すように、頭部R4は、首部(頭部R4と上体部R2との連結部分)のY軸まわりの首関節部41と、首部のZ軸まわりの首関節部42と、を備えている。首関節部41は頭部R4のチルト角を設定するためのものであり、首関節部42は頭部R4のパンを設定するためのものである。
【0033】
このような構成により、左右の脚部R1は合計12の自由度を与えられ、移動中に12個の関節部11R(L)〜16R(L)を適宜な角度で駆動することで、脚部R1に所望の動きを与えることができ、ロボットRが任意に3次元空間を移動することができる。また、左右の腕部R3は合計14の自由度を与えられ、14個の関節部31R(L)〜37R(L)を適宜な角度で駆動することで、脚式移動ロボットRが所望の作業を行うことができる。
【0034】
また、足首関節部15R(L),16R(L)と足部17R(L)との間には、公知の6軸力センサ61R(L)が設けられている。6軸力センサ61R(L)は、床面から脚式移動ロボットRに作用する床反力の3方向成分Fx,Fy,Fzと、モーメントの3方向成分Mx,My,Mzと、を検出する。
【0035】
また、手首関節部36R(L),37R(L)と把持部71R(L)との間には、公知の6軸力センサ62R(L)が設けられている。6軸力センサ62R(L)は、脚式移動ロボットRの把持部38R(L)に作用する反力の3方向成分Fx,Fy,Fzと、モーメントの3方向成分Mx,My,Mzと、を検出する。
【0036】
また、上体部R2には、傾斜センサ63が設けられている。傾斜センサ63は、上体部R2の重力軸(Z軸)に対する傾きと、その角速度と、を検出する。
また、各関節部の電動モータは、その出力を減速・増力する減速機(図示せず)を介して前記した大腿リンク51R(L)、下腿リンク52R(L)などを相対変位させる。これら各関節部の角度は、関節角度検出手段(例えば、ロータリエンコーダ)によって検出される。
【0037】
制御装置搭載部R5は、後記する自律移動制御部150、把持部制御部160、無線通信部170、主制御部200、バッテリ(図示せず)などを収納している。各センサ61〜63などの検出データは、制御装置搭載部R5内の各制御部および後記する脚式移動ロボット制御装置1に送られる。また、各電動モータは、各制御部からの駆動指示信号により駆動される。
【0038】
(脚式移動ロボットの構成)
図3は、図1に示した脚式移動ロボットの構成を示すブロック図である。図3に示すように、脚式移動ロボットRは、脚部R1、腕部R2および頭部R4に加えて、カメラC,C、スピーカS、マイクMC,MC、画像処理部100、音声処理部110、対象検知部120、自律移動制御部150、把持部制御部160、無線通信部170、主制御部200、記憶部300および脚式移動ロボット制御装置1を備えている。
【0039】
また、脚式移動ロボットRは、ジャイロセンサSR1およびGPS受信器SR2を備えている。ジャイロセンサSR1は、脚式移動ロボットRの向きに関するデータ(向きデータ)を検出する。また、GPS受信器SR2は、脚式移動ロボットRの位置に関するデータ(位置データ)を検出する。ジャイロセンサSR1およびGPS受信器SR2が検出したデータは、主制御部200に出力され、脚式移動ロボットRの行動を決定するために利用される。
【0040】
〈カメラ〉
カメラC,Cは、映像をデジタルデータとして取り込むことができるものであり、例えばカラーCCD(Charge-Coupled Device)カメラが使用されている。カメラC,Cは、左右に平行に並んで配置され、撮影した画像は画像処理部100に出力される。このカメラC,Cと、スピーカSおよびマイクMC,MCは、いずれも頭部R4の内部に配設されている。
【0041】
〈画像処理部〉
画像処理部100は、カメラC,Cが撮影した画像を処理して、撮影された画像から脚式移動ロボットRの周囲の状況を把握するため、周囲の障害物や人物の認識を行う部分である。この画像処理部100は、ステレオ処理部101、移動体抽出部102および顔認識部103を備えている。
【0042】
ステレオ処理部101は、左右のカメラC,Cが撮影した2枚の画像の一方を基準としてパターンマッチングを行い、左右の画像中の対応する各画素の視差を計算して視差画像を生成し、生成した視差画像及び元の画像を移動体抽出部102に出力する。なお、この視差は、脚式移動ロボットRから撮影された物体までの距離を表すものである。
【0043】
移動体抽出部102は、ステレオ処理部101から出力されたデータに基づき、撮影した画像中の移動体を抽出するものである。移動する物体(移動体)を抽出するのは、移動する物体は人物であると推定して、人物の認識をするためである。
移動体の抽出をするために、移動体抽出部102は、過去の数フレーム(コマ)の画像を記憶しており、最も新しいフレーム(画像)と、過去のフレーム(画像)を比較して、パターンマッチングを行い、各画素の移動量を計算し、移動量画像を生成する。そして、視差画像と、移動量画像とから、カメラC,Cから所定の距離範囲内で、移動量の多い画素がある場合に、その位置に人物がいると推定し、その所定距離範囲のみの視差画像として、移動体を抽出し、顔認識部103へ移動体の画像を出力する。
【0044】
また、移動体抽出部102は、抽出した移動体の高さ、すなわち身長を算出し、顔認識部103へ出力する。すなわち、移動体抽出部102は、脚式移動ロボットRに対する人の位置を特定することができ、また、人の身長を算出することができる。
【0045】
顔認識部103は、抽出した移動体から肌色の部分を抽出して、その大きさ、形状などから顔の位置を認識する。なお、同様にして、肌色の領域と、大きさ、形状などから手の位置も認識される。
認識された顔の位置は、脚式移動ロボットRが移動するときの情報として、また、その人とのコミュニケーションを取るため、主制御部200に出力されると共に、無線通信部170に出力されて、基地局2(脚式移動ロボットRに対し、無線通信を行うところ)に送信される。
【0046】
〈スピーカ〉
スピーカSは、後記する音声合成部111により生成された音声データに基づき、音声を出力する。
【0047】
〈マイク〉
マイクMC,MCは、脚式移動ロボットRの周囲の音を集音するものである。集音された音は、後記する音声認識部112および音源定位部113に出力される。
【0048】
〈音声処理部〉
音声処理部110は、音声合成部111、音声認識部112および音源定位部113を備えている。
音声合成部111は、主制御部200が決定し、出力してきた発話行動の指令に基づき、文字情報から音声データを生成し、スピーカSに音声を出力する部分である。音声データの生成には、予め記憶している文字情報と音声データとの対応関係を利用する。
【0049】
音声認識部112は、マイクMC,MCから音声データが入力され、予め記憶している音声データと文字情報との対応関係に基づき、音声データから文字情報を生成し、主制御部200に出力するものである。
【0050】
音源定位部113は、マイクMC,MC間の音圧差および音の到達時間差に基づいて、音源の位置(脚式移動ロボットRからの距離および方向)を特定する。
【0051】
〈対象検知部〉
対象検知部120は、脚式移動ロボットRの周囲に検知用タグ(図示せず)を備える検知対象(図示せず)が存在するか否かを検知すると共に、検知対象の存在が検知された場合、当該検知対象の位置を特定するものである。
【0052】
〈自律移動制御部〉
自律移動制御部150は、頭部制御部151、腕部制御部152および脚部制御部153を備えている。
頭部制御部151は、主制御部200の指示に従い頭部R4を駆動し、腕部制御部15
2は、主制御部200の指示に従い腕部R2を駆動し、脚部制御部153は、主制御部2
00の指示に従い脚部R1を駆動する。
【0053】
〈把持部制御部〉
把持部制御部160は、主制御部200の指示に従い把持部71を駆動する。把持部71は、一対の把持部71R,71L(図2参照)からなり、これら一対の把持部71R,71Lは鏡面対称に配置されている。
また、この把持部71には、当該把持部71に作用する外力を検出する外力検出手段(図示せず)が設けられている。この外力検出手段として、ここでは、6軸力センサを採用している。この6軸力センサは、外力の方向も検出可能であるので、物品から把持部71に作用する外力のうち、X軸方向の力Fx、Y軸方向の力Fy、Z軸方向の力Fzをそれぞれ検出可能である。
【0054】
〈無線通信部〉
無線通信部170は、基地局2に接続され、脚式移動ロボットの管理を行うロボット管理装置4とデータの送受信を行う通信装置である。無線通信部170は、公衆回線通信装置171および無線通信装置172を備えている。
公衆回線通信装置171は、携帯電話回線やPHS(Personal Handyphone System)回線などの公衆回線を利用した無線通信手段である。一方、無線通信装置172は、IEEE802.11b規格に準拠するワイヤレスLANなどの、近距離無線通信による無線通信手段である。
無線通信部170は、ロボット管理装置4(脚式移動ロボットRの管理を行うところ)からの接続要求に従い、公衆回線通信装置171または無線通信装置172を選択してロボット管理装置4とデータ通信を行うものである。
【0055】
〈主制御部〉
主制御部200は、ジャイロセンサSR1、GPS受信器SR2、画像処理部100、音声認識部110、対象検知部120、自律移動制御部150、把持部制御部160、無線通信部170、記憶部300および脚式移動ロボット制御装置1から入力される様々な信号、データに基づいて、脚式移動ロボットRの制御全般を司るものである。なお、この実施形態では、主制御部200と脚式移動ロボット制御装置1とを別々に構成しているが、脚式移動ロボット制御装置1の各制御手段がこの主制御部200に組みこまれるように構成してもよい。
【0056】
〈記憶部〉
記憶部300は、一般的な記憶媒体によって構成されており、人データと、地図データと、物品データと、発話データとを記憶しているものである。
【0057】
人データは、脚式移動ロボットRが移動する範囲(移動エリア)に存在する人に関するデータ(人データ)を関連付けたものである。例えば、人データとしては、人識別番号(ID)、名前、所属、タグ識別番号、通常居場所、机位置、顔画像などに関するデータが含まれる。
【0058】
地図データは、脚式移動ロボットRが移動する範囲(移動エリア)の地図に関するデータを関連付けたものである。例えば、地図データとしては、移動エリアの地形、壁位置、机位置などに関するデータが含まれる。
【0059】
物品データは、脚式移動ロボットRに運搬させる物品に関するデータ(物品データ)を関連付けたものである。例えば、物品データとしては、物品識別番号、物品の名称、大きさ、重さなどに関するデータが含まれる。
【0060】
発話データは、脚式移動ロボットRが発話するためのデータ(発話データ)を関連づけたものである。例えば、発話データとしては、日常会話におけるあいさつなどに関する音声波形データが含まれる。
【0061】
(脚式移動ロボット制御装置の構成)
次に、脚式移動ロボット制御装置の構成について図4を参照して説明する(適宜、図2、図3参照)。図4は脚式移動ロボット制御装置のブロック図であり、この図4に示すように、脚式移動ロボット制御装置1は、脚式移動ロボットRの様々な動作の中で、腕部R3(把持部71R(L))で把持した物品(物)を載置する際の動作を制御するもので、データ取得手段3と、全身協調制御手段5と、載置判定手段7とを備えている。
【0062】
なお、この実施形態では、脚式移動ロボットRが把持する物品として、カップやグラス等を載せたトレイ(お盆)を想定し、このトレイを載置する指定箇所として、一般的なテーブルを想定している。そして、この脚式移動ロボット制御装置1は、当該テーブルの高さが所定範囲内の高さを有していれば、脚式移動ロボットRにより、テーブルの上にトレイを水平に載置する動作、いわゆる盆置き動作を可能にしたものである。
【0063】
そしてさらに、この脚式移動ロボット制御装置1は、この盆置き動作を行う際に、テーブルの高さを固定しておいて、脚式移動ロボットRが直立したまま、腕部R3を伸張することで、トレイを載置する動作にとどまらず、脚式移動ロボットRの全身のリンクを協調制御することで、テーブルの高さが低くなった場合(所定範囲内に限る)であっても、トレイを載置する動作を可能にしたものである。
【0064】
データ取得手段3は、脚式移動ロボットRが物品を把持して移動し、当該物品を載置する目的地(例えば、テーブルの前)に到着した際の当該脚式移動ロボットRの姿勢や各リンクの位置に関する姿勢位置データと、腕部R3の先端(手先)にかかる外力に関する外力データを取得するもので、ポスチャー制御入力手段3aと、現在手首姿勢取得手段3bと、手先目標位置入力手段3cと、位置コンプライアンス入力手段3dと、二次フィルタ3eとを備えている。
【0065】
ポスチャー制御入力手段3aは、脚式移動ロボットRの肩すなわち肩関節部31R〜33Rの姿勢位置データと、腰すなわち股部(脚部R1と上体部R2との連結部分)の姿勢位置データとを入力することで、肩と腰の相対的な位置関係を入力するものである。
【0066】
現在手首姿勢取得手段3bは、現在の手首の姿勢を、自律移動制御部150の腕部制御部152から取得するものである。現在の手首の姿勢は、手首回旋用の腕関節部35R,35L、手首のピッチ軸(Y軸)まわりの手首関節部36R,36Lおよび手首のロール軸(X軸)まわりの手首関節部37R,37Lのそれぞれの角度によって、決定されるものである。
【0067】
手先目標位置入力手段3cは、脚式移動ロボットRの腕部R3の先端(手先)の目標値を入力するものである。手先の目標値は、足首関節部16Rと足首関節部16Lとの中点の位置を基準とした場合の把持部71R(L)の位置(手先位置)によって決定されるものである。
【0068】
位置コンプライアンス入力手段3dは、把持部71R(L)に作用する外力に関する外力データ(コンプライアンス入力値)を入力するものである。この外力データは、把持部71R(L)が何かに接触した際に増加するので、この入力された外力データが増加したか否かによって、腕部R3の把持部71R(L)で把持した物品が指定箇所(テーブルの上面)に載置されたこと(テーブル上面に把持部71R(L)が接触したこと)を判定することができる。
【0069】
二次フィルタ3eは、位置コンプライアンス入力手段3dから入力された外力データを、腕部R3の応答周波数と、腰すなわち股部(脚部R1と上体部R2との連結部分)の応答周波数とに分別するためのフィルタである。
【0070】
全身協調制御手段5は、データ取得手段3で取得された姿勢位置データ(各部の位置)および外力データ(コンプライアンス入力値)に基づいて、脚式移動ロボットRが物品を載置する際に、各部(各リンク)を協調させるように制御するもので、腰制御修正量計算手段5aと、手首姿勢修正量計算手段5bと、位置偏差比較手段5cと、ヤコビ行列作成手段5dと、各軸目標値計算手段5eと、各軸目標値計算手段5fと、各軸修正量総和手段5gと、一次遅れフィルタ5hと、積分演算手段5iと、肘角度制御演算手段5jと、積分演算手段5kと、順運動学計算手段5lと、バランス修正量計算手段5mとを備えている。
【0071】
なお、この全身協調制御手段5による各部(各リンク)を協調させる制御は、データ取得手段3で取得された姿勢位置データに基づいて、特定の動作(例えば、盆置き動作、腕部R3を振ったりする挨拶動作等)につき、脚式移動ロボットRの姿勢の一連変化が予め設定された情報である全身計画に従って、各リンクへの指令値を出力することで実現される。この各部(各リンク)を協調させる制御は、脚式移動ロボットRの全身の姿勢(ポスチャー)を制御するものであるので、いわゆるポスチャー制御と呼ばれている。
【0072】
そして、このポスチャー制御では、各部の位置または各リンクの可動箇所を仮想点とし、この仮想点を頂点とする多面体の凸部を互いに補償するように、例えば、一方の凸部が突出した場合、当該凸部の反対側に位置する凸部を突出させるようにして、バランスをとるように、脚式移動ロボット制御装置1が、各リンクへの指令値を出力している。
【0073】
なお、多面体は、腕部R3の部位である手先の位置と、脚部R1と基体R2とが連結するリンクの可動箇所と、脚部R1と基体R2と連結するリンクの可動箇所と、脚部R1の部位である踵の位置または膝の位置とを少なくとも仮想点にして構成する。
【0074】
腰制御修正量計算手段5aは、データ取得手段3のポスチャー制御入力手段3aから入力された肩関節部31R〜33Rの姿勢位置データおよび股部(脚部R1と上体部R2との連結部分)の姿勢位置データ(肩と腰の位置関係)と、順運動学計算手段5lで計算された係数(詳細は後記する)とに基づいて、腰位置(股部の位置)を修正する修正量(腰位置修正量)を計算するものである。
【0075】
手首姿勢修正量計算手段5bは、データ取得手段3の現在手首姿勢取得手段3bで取得された現在の手首の姿勢、すなわち、腕関節部35R,35L、手首関節部36R,36L、手首関節部37R,37Lのそれぞれの角度に基づいて、手首の姿勢を修正(物品を水平に保つように)する修正量(手首角度修正量)を計算するものである。
【0076】
なお、この手首姿勢修正量計算手段5bでは、腕関節部35R,35L、手首関節部36R,36L、手首関節部37R,37Lのそれぞれの角度が限界にならないように(リミットを回避するために)手首角度修正量を計算している。つまり、ここでは、腕部R3の肘の高さを変えて、両腕の手首(手首関節部36R,36L、手首関節部37R,37L)がなす面を変化させるために、手首角修正量を計算している。
【0077】
位置偏差比較手段5cは、手先目標位置入力手段3cにより入力された手先の目標値と、順運動学計算手段5lにより入力された現在の手先位置とを比較するものである。この比較は、手先の目標値から現在の手先位置を減算することで行われ、減算したもの(位置偏差)は各軸目標値計算手段5fに出力される。
【0078】
ヤコビ行列作成手段5dは、腰制御修正量計算手段5aで計算された腰位置修正量と、順運動学計算手段5lで計算された係数と、バランス修正量計算手段5mで計算されたバランス修正量(詳細は後記する)とに基づいて、各リンクに含まれる各軸の動き易さに対応したヤコビ行列Jを作成するものである。
【0079】
各軸目標値計算手段5eは、手首姿勢修正値計算手段5bで計算された手首角度修正量と、ヤコビ行列作成手段5dで作成されたヤコビ行列Jとに基づいて、腕部R3(把持部71を除く)への各軸目標値(各リンクへの指令値)を計算するものである。
【0080】
各軸目標値計算手段5fは、位置偏差比較手段5cから出力された位置偏差と、各軸目標値計算手段5eで計算された腕部R3への各軸目標値とに基づいて、把持部71への各軸目標値を計算するものである。
【0081】
なお、これら各軸目標値計算手段5eおよび各軸目標値計算手段5fでは、入力されたデータ(手首角度修正量、位置偏差等)をxとし、各軸目標値をθとすると、この各軸目標値θを、次に示す数式(1)を用いて計算している。
delta θ=inv(J)*delta x ・・・数式(1)
この数式(1)において、inv(J)は、ヤコビ行列Jを利用した関数である。なお、詳細には、J*=W−1JT(kI+JW−1JT)−1となるヤコビ行列を用いている。
【0082】
各軸修正量総和手段5gは、ヤコビ行列作成手段5dで作成されたヤコビ行列と、各軸目標値計算手段5eで計算された腕部R3への各軸目標値と、各軸目標値計算手段5fで計算された把持部71への各軸目標値とに基づいて、各軸の修正量を総和すると共に、総和した結果から、軸ごとに各軸目標値を演算するものである。つまり、この各軸修正量総和手段5gでは、手先目標位置入力手段3cで入力された目標値(目標位置姿勢入力)と、現在手首姿勢取得手段3bで取得された現在の手首の姿勢(手首姿勢入力)と、ポスチャー制御入力手段3aで入力された肩と腰との相対的な位置関係(凸部補償入力)とによって、各軸目標値を演算している。
【0083】
一次遅れフィルタ5hは、各軸修正量総和手段5gで演算された軸ごとの各軸目標値の出力を滑らかにするためのフィルタであり、各軸目標値に伝達関数(1/Ts+1(T:時定数,s:微分演算子))を乗算するものである。なお、各軸目標値の出力を遅らせる理由は、脚式移動ロボットRの上体の動きの特性と、当該ロボットの動作について予め設定されているモデル特性とを適合させるためである。
【0084】
積分演算手段5iは、一次遅れフィルタ5hで伝達関数が乗算された各軸目標値に積分演算を施すものである。そして、この積分演算手段5iで演算された結果は、バランス修正量計算手段5mに出力されると共に、主制御部200を介して、自律移動制御部150の脚部制御部153に出力され、脚式移動ロボットRの動作に反映される。
【0085】
肘角度制御演算手段5jは、各軸修正量総和手段5gで演算された軸ごとの各軸目標値に基づいて、肘角度目標値を演算し、この肘角度目標値から肩角度を修正する肩角度修正量を演算するものである。肘角度目標値は、肘部のピッチ軸(Y軸)のまわりの肘関節部34R,34Lの角度であり、肩角度修正量は、肩部(腕部R3と上体部R2との連結部分)のピッチ軸(Y軸)まわりの肩関節部31R,31L、肩部のロール軸(X軸)まわりの肩関節部32R,32Lおよび腕部回旋用(Z軸まわり)の肩関節部33R,33Lの角度を修正する修正量である。
【0086】
積分演算手段5kは、肘角度制御演算手段5jで演算された肩角度修正量に積分演算を施すものである。そして、この積分演算手段5kで演算された結果は、バランス修正量計算手段5mに出力されると共に、主制御部200を介して、自律移動制御部150の腕部制御部152に出力され、脚式移動ロボットRの動作に反映される。
【0087】
なお、積分演算手段5iおよび積分演算手段5kでは、現在(動作前)の状態をstate(n−1)とし、微小時間における状態の変化量をdelta(n−1)とし、動作後の状態をstate(n)とすると、この動作後の状態state(n)を、次に示す数式(2)を用いて計算している。
state(n)=state(n−1)+delta(n−1) ・・・数式(2)
【0088】
順運動学計算手段5lは、積分演算手段5kで演算された結果と、バランス修正量計算手段5mで計算されたバランス修正量とに基づいて、各部(各リンク)において、各関節の角度から関節間を結ぶ線分を、座標変換するための係数を演算するものである。つまり、この係数によって、脚式移動ロボットRのリンク間を、所定の線分に置き換えることができる。
【0089】
バランス修正量計算手段5mは、積分演算手段5iで演算された結果に基づいて、バランス修正量を計算するものである。バランス修正量は、上体部R2と脚部R1との重心移動量、すなわち、脚式移動ロボットRが腕部R3を伸張することで生じる上半身動作によるモーメントを補償するものである。
【0090】
載置判定手段7は、位置コンプライアンス入力手段3dで入力された把持部71R(L)に作用する外力に関する外力データ(コンプライアンス入力値)に基づいて、物品が指定箇所に載置されたか否かを判定するもので、判定手段7aを備えている。
【0091】
判定手段7aは、外力データが予め設定した所定値を超えたか否かを判定するものである。脚式移動ロボット制御装置1は、この判定手段7aによって、外力データが所定値を超えたと判定するまで、脚式移動ロボットRの腕部R3を伸張させる、或いは、脚部R1は屈曲させる動作を継続するように物品の載置動作を制御し、外力データが所定値を超えたと判定した場合には物品の載置動作が完了したとし、脚式移動ロボットRを元の姿勢に戻すように制御する(戻り動作)。
【0092】
このように構成した脚式移動ロボット制御装置1によれば、データ取得手段3によって取得された姿勢位置データに基づいて脚式移動ロボットRの姿勢を所定の姿勢に保ちながら、オペレータの操作なしに、指定箇所に、腕部R3の伸張可能な範囲の制約が軽減された高さの指定箇所に、把持した物品を水平に載置することができる。
【0093】
(脚式移動ロボットによる物品の受け取りから載置するまでの全体動作)
次に、図5に示すフローチャートを参照して、脚式移動ロボットRによる物品(例えば、トレイ)の受け取りから載置するまでの全体動作について説明する(適宜、図2,3,4参照)。
【0094】
〈受取位置移動〉
まず、脚式移動ロボットRが物品を受け取る受取位置への移動(ステップS1)について説明する。
まず、脚式移動ロボットRは、予め設定されたホームポジションで待機しており、脚式移動ロボットRが、ロボット管理装置4から送信された実行命令信号を受信すると、脚式移動ロボットRは、ホームポジションから人の通常居場所(人データ参照)までの移動を開始する。そして、人の通常居場所に到着すると、脚式移動ロボットRは移動を中止し、人の探索を開始する。そして、対象検知部120で人Hのタグ識別番号を検知すると、脚式移動ロボットRは、カメラC,Cで人の画像を取得し、人の正面に移動する。
【0095】
なお、対象検知部120が、所定時間内に人Hのタグ識別番号を検知することができなかった場合には、脚式移動ロボットRは、タスク実行が不可能である旨を伝える行動報告信号を生成し、ロボット管理装置4へ出力すると共に、ホームポジションに移動する。
【0096】
〈受取動作〉
続いて、脚式移動ロボットRの物品(トレイ)の受取動作(ステップS2)について説明する。
受取位置に移動した脚式移動ロボットRは、受取高さに、指開状態の把持部71(71R,71L)を差し出す。この際に、脚式移動ロボットRは、把持部71から人までの距離が一定になる位置になるように、把持部71R,71Lを差し出し、さらに、把持部71R,71Lの差し出し方向を、移動体抽出部102で算出した人の中心(中心鉛直線)に合わせる。
【0097】
把持部71R,71Lの差し出しが完了すると、「受取待機状態」となり、脚式移動ロボットRが、「物品(トレイ)をお渡しください」と発話する。この受取待機状態において、脚式移動ロボットRが6軸力センサ62R,62LでFx1以上の外力Fxを検出すると、運搬状態を「受取中」と設定すると共に、脚式移動ロボットRが把持部71R,71Lを閉じ始める。そして、受取中状態において、脚式移動ロボットRが6軸力センサ62R,62Lで検出する力FxがFx2以下となるか、または、把持角度偏差θがθ1以下となると、運搬状態を「受取動作完了」と設定する。
【0098】
把持部71R,71Lの両方の開度、すなわち把持角度偏差θが所定値θ3以上である場合には、物品が厚く、把持部71R,71Lの両方が物品を把持したものと判定し、運搬状態を「把持完了」と設定する。
また、把持部71R,71Lの少なくとも一方の把持角度偏差θが所定値θ3未満である場合には、運搬状態を「把持正否判定」と設定すると共に、把持の成否を判定する。
詳しくは、脚式移動ロボットRは、把持部71R,71Lを近接または離隔させ、6軸力センサ62R,62Lで物品から作用する反力Fyを検出する。反力Fyが所定値Fy1以上である場合に、把持成功であると判定し、運搬状態を「受取動作完了」と設定すると共に、把持部71R,71Lが物品を把持する。そして、反力Fyが所定地Fy1未満である場合に、把持失敗であると判定し、運搬状態を「受取失敗」と設定する。
【0099】
〈受け直し準備〉
続いて、脚式移動ロボットRの受け直し準備について説明する。
把持部71R,71Lの状態を「受取失敗」と設定し、6軸力センサ62R,62Lの少なくとも一方が所定値Fy2以上の外力Fyを検出している場合には、運搬状態を「受渡待機」と設定し、脚式移動ロボットRが、「物品(トレイ)を受け取って、再度お渡しください」と発話する。
【0100】
そして、脚式移動ロボットRが、6軸力センサ62R,62Lのうち、物品(トレイ)を把持している方で所定値Fx5以上の外力Fxを検出すると、運搬状態を「受渡中」と設定すると共に、把持部71R,71Lが開放される、受取動作を再実行する。
【0101】
なお、把持部71R,71Lの把持部角度偏差θが所定値θ4以下である場合(例えば、θ=0)には、脚式移動ロボットRが、「物品(トレイ)を再度お渡しください」と発話し、把持部71R,71Lが開放され、受取動作を再実行する。
【0102】
〈運搬移動〉
続いて、脚式移動ロボットRの物品運搬移動(ステップS3)について説明する。
脚式移動ロボットRは、物品の把持が完了すると、把持部71R,71Lを、カメラC,Cによる撮像領域から外れた位置(死角)に移動させる。これは、把持された物品(トレイ)がカメラC,Cの視野を塞ぐことを防ぐためである。そして、脚式移動ロボットRは、受取位置から、指定箇所(載置箇所)の手前位置までの移動を開始し、手前位置に到着すると、脚式移動ロボットRは移動を中止し、指定箇所の探索を開始する。
【0103】
〈載置動作〉
指定箇所の手前位置に移動した脚式移動ロボットRは、指定箇所に物品の載置を行う(ステップS4)。そして、脚式移動ロボットRは、物品の載置完了後、物品を把持していない状態に戻り、ホームポジションまでの移動を行う。
この載置動作について、図6を参照して詳細に説明する。
【0104】
(脚式移動ロボットによる物品を載置する際の詳細な動作)
図6は、脚式移動ロボット制御装置1による、物品を指定箇所(テーブルの上面)に載置する際の脚式移動ロボットRの動作を説明するためのフローチャートである(適宜、図2,3,4参照)。
まず、脚式移動ロボット制御装置1は、移動終了後(指定箇所の手前位置に到着後)、データ取得手段3によって、脚式移動ロボットRの状態を示す姿勢位置データを取得する(ステップS11)。
【0105】
すなわち、脚式移動ロボット制御装置1は、データ取得手段3のポスチャー制御入力手段3aによって、脚式移動ロボットRの肩関節部31R〜33Rの姿勢位置データ、脚部R1と上体部R2との連結部分の姿勢位置データを入力し、現在手首姿勢取得手段3bによって、手首回旋用の腕関節部35R,35L、手首のピッチ軸(Y軸)まわりの手首関節部36R,36Lおよび手首のロール軸(X軸)まわりの手首関節部37R,37Lのそれぞれの角度を取得し、手先目標位置入力手段3cによって、足首関節部16R(L)の位置および把持部71R(L)の位置(手先位置)を入力する。
【0106】
続いて、脚式移動ロボット制御装置1は、データ取得手段3で取得した姿勢位置データが、脚式移動ロボットRの姿勢の一連変化を予め設定した情報である全身計画に沿うように、腕部R3および脚部R1の動作を制御するために、全身協調制御手段5によって、
取得した姿勢位置データから、ポスチャーコントロール(ポスチャー制御)の入力を決定する(腰ゲインON)(ステップS12)。すなわち、脚式移動ロボット制御装置1は、物品を指定箇所に載置する際の作業範囲を確保するために、脚式移動ロボットRの全身姿勢を協調して制御し、さらに、全身を協調して制御するために、姿勢位置データを処理する順番を決定する。
【0107】
つまり、脚式移動ロボット制御装置1は、全身協調制御手段5によって、手先(把持部71R(L)の位置)、両肩(肩関節部31R(L)〜33R(L)の位置)、腰(脚部R1と上体部R2との連結部分の位置)および踵(足首関節部16R(L)の位置)を結ぶ多面体の凸部を互いに補償するように制御することで、作業範囲を確保している。
【0108】
そして、脚式移動ロボット制御装置1は、全身協調制御手段5によって、ポスチャーコントロールをONにした状態で、つまり、作業範囲を確保した状態で、物品を指定箇所に載置する動作を開始する(ステップS13)。
【0109】
ここで、脚式移動ロボット制御装置1は、全身協調制御手段5によって、手首回旋用の腕関節部35R,35L、手首のピッチ軸(Y軸)まわりの手首関節部36R,36Lおよび手首のロール軸(X軸)まわりの手首関節部37R,37Lのそれぞれの角度が限界値にならないように(リミットを回避するように)、水平面に対する物品の向きを水平に保持する。
【0110】
そして、脚式移動ロボット制御装置1は、把持部71に作用する外力に関する外力データを、位置コンプライアンス入力手段3dから入力し、載置判定手段7の判定手段7aによって、外力データが所定値以上になったか否かによって、物品が載置されたか否かを判定する(ステップS14)。すなわち、載置判定手段7では、この外力データが所定値以上になった場合に、物品が指定箇所に載置されたと判定している。つまり、把持部71にかかる反力が所定値以上になったことにより、把持部71が指定箇所に確実に接触していると言えるからである。また、物品を指定箇所に載置する際に、脚式移動ロボット1において、音声処理部110の音声合成部111およびスピーカSによって、「お茶をお持ちしました。どうぞ。」という発声を行わせてもよい。
【0111】
脚式移動ロボット制御装置1は、載置判定手段7の判定手段7aによって、外力データが所定値以上になるまで載置完了と見なさず(ステップS14、No)、ステップS13に戻り載置動作を継続し、外力データが所定値以上になった場合に載置完了したとする(ステップS14、Yes)。そして、脚式移動ロボット制御装置1は、現在の腕部R3の手先の高さを、戻り動作(物品を持っていない状態、腕部R3を上体部R2の側部に戻す動作)の初期値に設定し(ステップS15)、腰ゲインONをリセットし、戻り動作を開始する(ステップS16)。この戻り動作は、腕部R3を下げると共に、脚部R1と上体部R2との連結部分の位置を、重心から鉛直方向におろした直線上に来るように、当該連結部分の屈曲を戻す動作である。
【0112】
(脚式移動ロボットの動作状況、作業範囲等について)
次に、図7から図11までを参照して、脚式移動ロボットRの動作状況を従来の制御(脚式移動ロボット制御装置1による制御がない場合)と比較しながら説明すると共に、具体的な作業範囲についても説明する。
【0113】
図7は、脚式移動ロボットRを直線の繋がりで簡略化して図示すると共に、当該脚式移動ロボットRの一連の動作について図示したものである。図7(a)および図7(b)が移動動作を、図7(a)から図7(e)までが載置動作を、図7(f)から図7(i)までが戻り動作を示したものである。
【0114】
この図7に示したように、脚式移動ロボットRは、物品Mを把持して移動し、水平に指定箇所Sに物品Mを載置している(特に、図7(e))。脚式移動ロボット制御装置1では、物品Mを載置した際に、指定箇所Sと腕部R3(把持部71(図2参照))からの反力によって(コンプライアンス制御によって)、載置完了を検出している。
【0115】
図8および図9は、脚式移動ロボットRによって物品の載置動作を行わせる際に、脚式移動ロボット制御装置1による制御がある場合(制御あり)とない場合(制御なし)とを比較して示した図である。
【0116】
図8(a)は制御ありの場合を、図8(b)は制御なしの場合を示している。
この図8に示したように、制御なしの場合(図8(b))、脚式移動ロボットRは、載置動作を行わせると、作業領域(作業範囲)を確保するどころか、後方に傾斜してしまう。それに対し、制御ありの場合(図8(a))、脚式移動ロボットRは、上体部(両肩)と手先と股部(上体部と脚部との連結部分)と足首とを結ぶ8つの頂点からなる多面体の凸部を互いに補償することで、ハッチングで示した箇所を作業領域として確保しており、姿勢も安定している。なお、この図8(a)に示したように、足首の代わりに膝を仮想の頂点として多面体を構成してもよい。
【0117】
また、図9(a)および図9(c)は制御なしの場合を、図9(b)および図9(d)は制御ありの場合を示している。
この図9に示したように、「アームのコンプライアンス制御に追従」に関する動作では、制御なしの場合(図9(a))、手先にかかる力によって、腰(股部、上体部と脚部との連結部分)が動かない(追従しない)のに対し、制御ありの場合(図9(b))、手先にかかる力によって、腰(股部、上体部と脚部との連結部分)が動く(追従する)。
【0118】
また、「手首可動角を補償」に関する動作では、制御なしの場合(図9(c))、手先が目標姿勢を追従しないのに対し、制御ありの場合(図9(d))、手先が目標姿勢を追従し、維持可能である。
【0119】
図10および図11は、脚式移動ロボットRによって物品の載置動作を行わせる際に、脚式移動ロボット制御装置1による制御がある場合(制御あり)とない場合(制御なし)とを比較し、さらに、具体的な作業範囲を示した図である。
図10(a)は制御なしの場合を、図10(b)は制御ありの場合を示している。
図10(b)に示したように、脚式移動ロボットRは、腰(股部)を接地面から420mmの高さまで下げることができ、接地面から680mmの高さから800mm(680mm+120mm)の高さまで、100mmの幅の作業範囲を確保することができる。
【0120】
図11は、図10の作業範囲を、脚式移動ロボットRの真上から示した図である。「Armのみ」が制御なしの場合の作業範囲を、「全身込み」が制御ありの場合の作業範囲を示している。この図11に示したように、制御ありの場合(全身込み)では、制御なしの場合(Armのみ)に比べて、平面的にみて約倍以上の作業範囲を確保することができる。
【0121】
以上、本発明の実施形態について説明したが、本発明は前記実施形態には限定されない。例えば、本実施形態では、脚式移動ロボット制御装置1として説明したが、当該装置1を用いた脚式移動ロボット制御方法として捉えることも可能である。
また、脚式移動ロボットRの各関節部の数・配置なども適宜設計変更可能である。
【図面の簡単な説明】
【0122】
【図1】本発明の実施形態に係る脚式移動ロボットの外観を示す側面図である。
【図2】図1に示した脚式移動ロボットの内部構造を模式的に示す斜視図である。
【図3】図1に示した脚式移動ロボットの構成を示すブロック図である。
【図4】図3に示した脚式移動ロボット制御装置のブロック図である。
【図5】図1に示した脚式移動ロボットの全体動作の概略を示すフローチャートである。
【図6】図5に示した脚式移動ロボットの全体動作の中の載置動作の詳細を示すフローチャートである。
【図7】脚式移動ロボットの移動、載置動作および戻り動作の概略を模式的に示した図である。
【図8】脚式移動ロボット制御装置による制御がある場合とない場合とを比較して示した図である(作業領域の確保について)。
【図9】脚式移動ロボット制御装置による制御がある場合とない場合とを比較して示した図である(アームのコンプライアンス制御、手首可動角の補償について)。
【図10】脚式移動ロボット制御装置による制御がある場合とない場合とを比較して示した図である(具体的な作業範囲について)。
【図11】図10に示した作業範囲の平面図である。
【符号の説明】
【0123】
1 脚式移動ロボット制御装置
3 データ取得手段
5 全身協調制御手段
7 載置判定手段
【特許請求の範囲】
【請求項1】
物品を把持するために複数のリンクを有した腕部および移動するために複数のリンクを有した脚部が、基体に連結される脚式移動ロボットを、この脚式移動ロボットの姿勢および各リンクの位置に関する姿勢位置データと前記腕部に作用する外力に関する外力データとに基づいて、制御する脚式移動ロボット制御装置であって、
前記脚式移動ロボットの姿勢および各リンクの位置に関する姿勢位置データと前記腕部に作用する外力に関する外力データとを取得するデータ取得手段と、
このデータ取得手段で取得された姿勢位置データに基づいて、前記腕部で把持した物品を、予め指定された指定箇所に載置する際に、前記腕部の動作にあわせて、前記脚部の動作を制御する全身協調制御手段と、
この全身協調制御手段による動作によって、前記物品が前記指定箇所に載置されたことを、前記データ取得手段で取得された外力データに基づいて判定する載置判定手段とを備え、
前記全身協調制御手段は、前記腕部の位置を下げるまたは前記腕部を伸張させた際に、前記載置判定手段により前記物品が前記指定箇所に載置されたと判定されない場合に、前記脚部の各リンクを屈曲させることを特徴とする脚式移動ロボット制御装置。
【請求項2】
物品を把持するために複数のリンクを有した腕部および移動するために複数のリンクを有した脚部が、基体に連結される脚式移動ロボットを、この脚式移動ロボットの姿勢および各リンクの位置に関する姿勢位置データと前記腕部に作用する外力に関する外力データとに基づいて、制御する脚式移動ロボット制御装置であって、
前記脚式移動ロボットの姿勢および各リンクの位置に関する姿勢位置データと前記腕部に作用する外力に関する外力データとを取得するデータ取得手段と、
このデータ取得手段で取得された姿勢位置データに基づいて、前記腕部で把持した物品を、予め指定された指定箇所に載置する際に、前記腕部および前記脚部の部位または前記リンクの可動箇所を仮想点とし、この仮想点を頂点とする仮想の多面体の凸部を互いに補償するように、前記腕部、前記脚部の動作を制御する全身協調制御手段と、
この全身協調制御手段による動作によって、前記物品が前記指定箇所に載置されたことを、前記データ取得手段で取得された外力データに基づいて判定する載置判定手段とを備え、
前記仮想の多面体は、
前記腕部の部位である手先の位置と、
前記腕部と前記基体とが連結するリンクの可動箇所と、
前記脚部と前記基体とが連結するリンクの可動箇所と、
前記脚部の部位である踵の位置または膝の位置とを少なくとも仮想点としたことを特徴とする脚式移動ロボット制御装置。
【請求項3】
前記全身協調制御手段は、前記腕部が把持している前記物品を水平に保ったまま、前記脚部の各リンクを屈曲させることを特徴とする請求項1または請求項2に記載の脚式移動ロボット制御装置。
【請求項4】
請求項1から請求項3までのいずれか一項に記載の脚式移動ロボット制御装置を備えたことを特徴とする脚式移動ロボット。
【請求項5】
物品を把持するために複数のリンクを有した腕部および移動するために複数のリンクを有した脚部が、基体に連結される脚式移動ロボットを、この脚式移動ロボットの姿勢および各リンクの位置に関する姿勢位置データと前記腕部に作用する外力に関する外力データとに基づいて、制御する脚式移動ロボット制御方法であって、
前記脚式移動ロボットの姿勢および各リンクの位置に関する姿勢位置データと前記腕部に作用する外力に関する外力データとを取得するデータ取得手段によって取得するステップと、
このデータ取得手段で取得された姿勢位置データに基づいて、前記腕部で把持した物品を、予め指定された指定箇所に載置する際に、前記腕部の動作にあわせて、前記脚部の動作を制御する全身協調制御手段によって制御するステップと、
この全身協調制御手段による動作によって、前記物品が前記指定箇所に載置されたことを、前記データ取得手段で取得された外力データに基づいて判定する載置判定手段によって判定するステップとを含み、
前記全身協調制御手段によって制御するステップは、前記腕部の位置を下げるまたは前記腕部を伸張させた際に、前記載置判定手段により前記物品が前記指定箇所に載置されたと判定されない場合に、前記脚部の各リンクを屈曲させることを特徴とする脚式移動ロボット制御方法。
【請求項1】
物品を把持するために複数のリンクを有した腕部および移動するために複数のリンクを有した脚部が、基体に連結される脚式移動ロボットを、この脚式移動ロボットの姿勢および各リンクの位置に関する姿勢位置データと前記腕部に作用する外力に関する外力データとに基づいて、制御する脚式移動ロボット制御装置であって、
前記脚式移動ロボットの姿勢および各リンクの位置に関する姿勢位置データと前記腕部に作用する外力に関する外力データとを取得するデータ取得手段と、
このデータ取得手段で取得された姿勢位置データに基づいて、前記腕部で把持した物品を、予め指定された指定箇所に載置する際に、前記腕部の動作にあわせて、前記脚部の動作を制御する全身協調制御手段と、
この全身協調制御手段による動作によって、前記物品が前記指定箇所に載置されたことを、前記データ取得手段で取得された外力データに基づいて判定する載置判定手段とを備え、
前記全身協調制御手段は、前記腕部の位置を下げるまたは前記腕部を伸張させた際に、前記載置判定手段により前記物品が前記指定箇所に載置されたと判定されない場合に、前記脚部の各リンクを屈曲させることを特徴とする脚式移動ロボット制御装置。
【請求項2】
物品を把持するために複数のリンクを有した腕部および移動するために複数のリンクを有した脚部が、基体に連結される脚式移動ロボットを、この脚式移動ロボットの姿勢および各リンクの位置に関する姿勢位置データと前記腕部に作用する外力に関する外力データとに基づいて、制御する脚式移動ロボット制御装置であって、
前記脚式移動ロボットの姿勢および各リンクの位置に関する姿勢位置データと前記腕部に作用する外力に関する外力データとを取得するデータ取得手段と、
このデータ取得手段で取得された姿勢位置データに基づいて、前記腕部で把持した物品を、予め指定された指定箇所に載置する際に、前記腕部および前記脚部の部位または前記リンクの可動箇所を仮想点とし、この仮想点を頂点とする仮想の多面体の凸部を互いに補償するように、前記腕部、前記脚部の動作を制御する全身協調制御手段と、
この全身協調制御手段による動作によって、前記物品が前記指定箇所に載置されたことを、前記データ取得手段で取得された外力データに基づいて判定する載置判定手段とを備え、
前記仮想の多面体は、
前記腕部の部位である手先の位置と、
前記腕部と前記基体とが連結するリンクの可動箇所と、
前記脚部と前記基体とが連結するリンクの可動箇所と、
前記脚部の部位である踵の位置または膝の位置とを少なくとも仮想点としたことを特徴とする脚式移動ロボット制御装置。
【請求項3】
前記全身協調制御手段は、前記腕部が把持している前記物品を水平に保ったまま、前記脚部の各リンクを屈曲させることを特徴とする請求項1または請求項2に記載の脚式移動ロボット制御装置。
【請求項4】
請求項1から請求項3までのいずれか一項に記載の脚式移動ロボット制御装置を備えたことを特徴とする脚式移動ロボット。
【請求項5】
物品を把持するために複数のリンクを有した腕部および移動するために複数のリンクを有した脚部が、基体に連結される脚式移動ロボットを、この脚式移動ロボットの姿勢および各リンクの位置に関する姿勢位置データと前記腕部に作用する外力に関する外力データとに基づいて、制御する脚式移動ロボット制御方法であって、
前記脚式移動ロボットの姿勢および各リンクの位置に関する姿勢位置データと前記腕部に作用する外力に関する外力データとを取得するデータ取得手段によって取得するステップと、
このデータ取得手段で取得された姿勢位置データに基づいて、前記腕部で把持した物品を、予め指定された指定箇所に載置する際に、前記腕部の動作にあわせて、前記脚部の動作を制御する全身協調制御手段によって制御するステップと、
この全身協調制御手段による動作によって、前記物品が前記指定箇所に載置されたことを、前記データ取得手段で取得された外力データに基づいて判定する載置判定手段によって判定するステップとを含み、
前記全身協調制御手段によって制御するステップは、前記腕部の位置を下げるまたは前記腕部を伸張させた際に、前記載置判定手段により前記物品が前記指定箇所に載置されたと判定されない場合に、前記脚部の各リンクを屈曲させることを特徴とする脚式移動ロボット制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2007−160446(P2007−160446A)
【公開日】平成19年6月28日(2007.6.28)
【国際特許分類】
【出願番号】特願2005−358353(P2005−358353)
【出願日】平成17年12月12日(2005.12.12)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】
【公開日】平成19年6月28日(2007.6.28)
【国際特許分類】
【出願日】平成17年12月12日(2005.12.12)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】
[ Back to top ]