ロボット制御システム
【課題】 タスク実行中のロボットがタスクを依頼された場合であっても、好適に対応することが可能なロボット制御システムを提供する。
【解決手段】 ロボット管理装置3は、コミュニケーション手段によるコミュニケーション結果に基づいて、タスクデータを生成するタスクデータ生成手段414を備え、タスクスケジューリング手段412は、コミュニケーション結果に基づいて新たにタスクデータが生成された場合に、ロボットの現在位置データおよび実行状況データに基づいて、タスクの再スケジューリングを行い、実行命令信号生成手段413は、再スケジューリング結果に基づいて、実行命令信号の再生成を行うことを特徴とする。
【解決手段】 ロボット管理装置3は、コミュニケーション手段によるコミュニケーション結果に基づいて、タスクデータを生成するタスクデータ生成手段414を備え、タスクスケジューリング手段412は、コミュニケーション結果に基づいて新たにタスクデータが生成された場合に、ロボットの現在位置データおよび実行状況データに基づいて、タスクの再スケジューリングを行い、実行命令信号生成手段413は、再スケジューリング結果に基づいて、実行命令信号の再生成を行うことを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットにタスクを実行させるためのロボット制御システムに関する。
【背景技術】
【0002】
近年、自律移動可能なロボットにタスク(受付、案内、物品の運搬など)の実行命令を入力し、ロボットにタスクを実行させるシステムが開発されている。
【0003】
特許文献1に記載のロボットシステムは、ロボットが入力部を備えており、人がロボットの入力部を介して実行命令を入力することが可能なシステムである。
【特許文献1】特開2003−345435号公報(段落0020〜0053、図1〜図3)
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載のロボットシステムは、現時点でタスクを実行していないロボットが利用者からのタスクを受けることを想定したシステムであり、タスク実行中のロボットがタスクを受ける場合については開示されていない。
また、新たにロボットが受けたタスクと、既に受けて未実行であるタスクとをどのような順序で実行するか、といったタスク実行順序の最適化についても開示されていない。
【0005】
本発明は、前記した問題を解決すべく創案されたものであり、タスク実行中のロボットがタスクを依頼された場合であっても、好適に対応することが可能なロボット制御システムを提供することを課題とする。
【課題を解決するための手段】
【0006】
前記課題を解決するため、本発明の請求項1に記載の発明は、自律移動を行う自律移動手段と、人とのコミュニケーションを行うコミュニケーション手段と、現在位置に関する現在位置データを生成する現在位置データ生成手段と、タスクの実行状況に関する実行状況データを生成する実行状況データ生成手段と、ロボット管理装置との通信を行う通信手段と、を備えたロボットと、前記ロボットに実行させるタスクに関するタスクデータを記憶するタスクデータ記憶部と、前記タスクデータに基づいて、タスクのスケジューリングを行うタスクスケジューリング手段と、スケジューリング結果に基づいて、前記自律移動ロボットにタスクを実行させる実行命令信号を生成する実行命令信号生成手段と、前記ロボットとの通信を行う通信手段と、を備えたロボット管理装置と、を備え、前記実行命令信号に基づいて前記ロボットにタスクを実行させるロボット制御システムであって、
前記ロボット管理装置は、前記コミュニケーション手段によるコミュニケーション結果に基づいて、タスクデータを生成するタスクデータ生成手段をさらに備え、前記タスクスケジューリング手段は、コミュニケーション結果に基づいて新たにタスクデータが生成された場合に、前記ロボットの現在位置データおよび実行状況データに基づいて、タスクの再スケジューリングを行い、前記実行命令信号生成手段は、再スケジューリング結果に基づいて、実行命令信号の再生成を行うことを特徴とする。
【0007】
また、請求項2に記載の発明は、請求項1に記載のロボット制御システムであって、前記コミュニケーション手段は、周囲の音を集音するマイクと、集音された音から音声を認識する音声認識部と、を備え、前記タスクデータ生成手段は、前記音声認識部による認識結果に基づいて、タスクデータを生成することを特徴とする。
【0008】
また、請求項3に記載の発明は、請求項1または請求項2に記載のロボット制御システムであって、前記ロボットがタスクを実行するタスク実行エリアに関する地図データを記憶する地図データ記憶部と、前記ロボットに設けられた、物品を把持する把持部と、をさらに備え、前記ロボットは、前記地図データおよび前記実行命令信号に基づいて、物品を前記把持部によって把持し、運搬することを特徴とする。
【0009】
また、請求項4に記載の発明は、請求項3に記載のロボット制御システムであって、前記ロボットは、前記実行命令信号に基づいて、物品を受け渡す人を特定する人特定手段を備えていることを特徴とする
【0010】
また、請求項5に記載の発明は、請求項4に記載のロボット制御システムであって、前記人特定手段が、物品を受け渡す人を特定できない場合に、所定の場所に物品を運搬し、この所定の場所に物品を置くことを特徴とする。
【発明の効果】
【0011】
本発明によれば、タスク実行中のロボットがタスクを依頼された場合であっても、新たなタスクを含めて再スケジューリングを行うことができ、タスクの実行順序の最適化を図ることが可能なロボット制御システムを提供することができる。
【発明を実施するための最良の形態】
【0012】
以下、本発明の実施形態について、本発明の物品運搬システムを、オフィスをタスク実行エリアとし、オフィス内におけるタスク(物品運搬、案内など)実行に適用したロボット制御システムを例にとり、適宜図面を参照しながら説明する。同様の部分には同一符号を付し、重複する説明を省略する。
【0013】
(ロボット制御システムAの構成)
はじめに、本発明の実施形態に係るロボット制御システムAについて説明する。図1は、本発明の実施形態に係るロボット制御システムを示すシステム構成図である。
図1に示すように、ロボット制御システムAは、タスク実行エリアEAに配置された1台以上(本実施形態では2台)のロボットR(RA,RB)と、これらロボットRA,RBと無線通信によって接続された基地局(例えば、無線LAN)1と、基地局1にルーター2を介して接続されたロボット管理装置(例えば、サーバー)3と、ロボット管理装置3にネットワーク4を介して接続された端末5と、検知対象(人)Hが装着した検知用タグTと、を備えている。
【0014】
ロボットRは、タスク実行エリアEAに配置されており、タスク実行エリアEA内において自律移動を行い、実行命令信号に基づいてタスク(物品運搬)を実行するものである。なお、このタスク実行エリアEA内には、物品置き場B1が設けられている。ロボットRは、物品を受け渡す人を発見できなかった場合などには、物品置き場B1に物品を置くことができる。
【0015】
ロボット管理装置3は、後記する端末5から入力されるタスクデータに基づき、ロボットRにタスクを実行させるため、このタスクの内容を含む実行命令信号を生成し、ロボットRに出力する。このタスクデータは、ロボットRに実行させるタスクに関するデータであり、例えば、ロボットRに物品を渡す人、ロボットRが物品を渡す人、運搬する物品の種類などを含んでいる。
【0016】
端末5は、ロボット管理装置3にタスクデータを入力するための入力装置であり、デスクトップ型コンピュータ、PHSなどである。また、端末5は、ロボットRから送られたタスク完了報告信号をオペレータが確認可能に出力するための出力(表示)装置でもある。
【0017】
(ロボットRの構成)
続いて、本発明の実施形態に係るロボットRについて説明する。以下の説明において、ロボットRの前後方向にX軸、左右方向にY軸、上下方向にZ軸をとる(図2参照)。
本発明の実施形態に係るロボットRは、自律移動型の2足移動ロボットである。このロボットRは、ロボット管理装置3から送信された実行命令信号に基づき、タスクを実行するものである。
【0018】
図2は、図1のロボットの外観を示す模式図である。図2に示すように、ロボットRは、人間と同じように2本の脚部R1(1本のみ図示)により起立、移動(歩行、走行など)し、上体部R2、2本の腕部R3(1本のみ図示)および頭部R4を備え、自律して移動する。また、ロボットRは、これら脚部R1、上体部R2、腕部R3および頭部R4の動作を制御する制御装置搭載部R5を背負う形で背中(上体部R2の後部)に備えている。
【0019】
(ロボットRの駆動構造)
続いて、ロボットRの駆動構造について説明する。図3は、図1のロボットの駆動構造を模式的に示す斜視図である。なお、図3における関節部は、当該関節部を駆動する電動モータにより示されている。
【0020】
(脚部R1)
図3に示すように、左右それぞれの脚部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が取り付けられている。
【0021】
すなわち、脚部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で連結されている。
【0022】
(上体部R2)
図3に示すように、上体部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を備えている。
【0023】
(腕部R3)
図3に示すように、左右それぞれの腕部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が取り付けられている。
【0024】
すなわち、腕部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)で連結されている。
【0025】
(頭部R4)
図3に示すように、頭部R4は、首部(頭部R4と上体部R2との連結部分)のY軸まわりの首関節部41と、首部のZ軸まわりの首関節部42と、を備えている。首関節部41は頭部R4のチルト角を設定するためのものであり、首関節部42は頭部R4のパンを設定するためのものである。
【0026】
このような構成により、左右の脚部R1は合計12の自由度を与えられ、移動中に12個の関節部11R(L)〜16R(L)を適宜な角度で駆動することで、脚部R1に所望の動きを与えることができ、ロボットRが任意に3次元空間を移動することができる。また、左右の腕部R3は合計14の自由度を与えられ、14個の関節部31R(L)〜37R(L)を適宜な角度で駆動することで、ロボットRが所望の作業を行うことができる。
【0027】
また、足首関節部15R(L),16R(L)と足部17R(L)との間には、公知の6軸力センサ61R(L)が設けられている。6軸力センサ61R(L)は、床面からロボットRに作用する床反力の3方向成分Fx,Fy,Fzと、モーメントの3方向成分Mx,My,Mzと、を検出する。
【0028】
また、手首関節部36R(L),37R(L)と把持部71R(L)との間には、公知の6軸力センサ62R(L)が設けられている。6軸力センサ62R(L)は、ロボットRの把持部38R(L)に作用する反力の3方向成分Fx,Fy,Fzと、モーメントの3方向成分Mx,My,Mzと、を検出する。
【0029】
また、上体部R2には、傾斜センサ63が設けられている。傾斜センサ63は、上体部R2の重力軸(Z軸)に対する傾きと、その角速度と、を検出する。
また、各関節部の電動モータは、その出力を減速・増力する減速機(図示せず)を介して前記した大腿リンク51R(L)、下腿リンク52R(L)などを相対変位させる。これら各関節部の角度は、関節角度検出手段(例えば、ロータリエンコーダ)によって検出される。
【0030】
制御装置搭載部R5は、後記する自律移動制御部150、把持部制御部160、無線通信部170、主制御部200、バッテリ(図示せず)などを収納している。各センサ61〜63などの検出データは、制御装置等細部R5内の各制御部に送られる。また、各電動モータは、各制御部からの駆動指示信号により駆動される。
【0031】
図4は、図1のロボットを示すブロック図である。図4に示すように、ロボットRは、脚部R1、腕部R2および頭部R4に加えて、カメラC,C、スピーカS、マイクMC,MC、画像処理部100、音声処理部110、対象検知部120、自律移動制御部150、把持部制御部160、無線通信部170および主制御部200を備えている。
【0032】
また、ロボットRは、ジャイロセンサSR1およびGPS受信器SR2を備えている。
ジャイロセンサSR1は、ロボットRの向きに関するデータ(向きデータ)を検出する。また、GPS受信器SR2は、ロボットRの位置に関するデータ(位置データ)を検出する。ジャイロセンサSR1およびGPS受信器SR2が検出したデータは、主制御部200に出力され、ロボットRの行動を決定するために利用されると共に、主制御部200から無線通信部170を介してロボット管理装置3に送信される。
【0033】
[カメラ]
カメラC,Cは、映像をデジタルデータとして取り込むことができるものであり、例えばカラーCCD(Charge-Coupled Device)カメラが使用される。カメラC,Cは、左右に平行に並んで配置され、撮影した画像は画像処理部100に出力される。このカメラC,Cと、スピーカSおよびマイクMC,MCは、いずれも頭部R4の内部に配設される。
【0034】
[画像処理部]
画像処理部100は、カメラC,Cが撮影した画像を処理して、撮影された画像からロボットRの周囲の状況を把握するため、周囲の障害物や人物の認識を行う部分である。この画像処理部100は、ステレオ処理部101、移動体抽出部102および顔認識部103を備えている。
【0035】
ステレオ処理部101は、左右のカメラC,Cが撮影した2枚の画像の一方を基準としてパターンマッチングを行い、左右の画像中の対応する各画素の視差を計算して視差画像を生成し、生成した視差画像および元の画像を移動体抽出部102に出力する。なお、この視差は、ロボットRから撮影された物体までの距離を表すものである。
【0036】
移動体抽出部102は、ステレオ処理部101から出力されたデータに基づき、撮影した画像中の移動体を抽出するものである。移動する物体(移動体)を抽出するのは、移動する物体は人物であると推定して、人物の認識をするためである。
移動体の抽出をするために、移動体抽出部102は、過去の数フレーム(コマ)の画像を記憶しており、最も新しいフレーム(画像)と、過去のフレーム(画像)を比較して、パターンマッチングを行い、各画素の移動量を計算し、移動量画像を生成する。そして、視差画像と、移動量画像とから、カメラC,Cから所定の距離範囲内で、移動量の多い画素がある場合に、その位置に人物がいると推定し、その所定距離範囲のみの視差画像として、移動体を抽出し、顔認識部103へ移動体の画像を出力する。
【0037】
顔認識部103は、抽出した移動体から肌色の部分を抽出して、その大きさ、形状などから顔の位置を認識する。なお、同様にして、肌色の領域と、大きさ、形状などから手の位置も認識される。
認識された顔の位置は、ロボットRが移動するときの情報として、また、その人とのコミュニケーションを取るため、主制御部200に出力されると共に、無線通信部170に出力されて、基地局1を介して、ロボット管理装置3に送信される。
【0038】
[スピーカ]
スピーカSは、後記する音声合成部111により生成された音声データに基づき、音声を出力する。
【0039】
[マイク]
マイクMC,MCは、ロボットRの周囲の音を集音するものである。集音された音は、後記する音声認識部112および音源定位部113に出力される。
【0040】
[音声処理部]
音声処理部110は、音声合成部111、音声認識部112および音源定位部113を備えている。
【0041】
音声合成部111は、主制御部200の発話行動決定手段270(図12参照)が決定し、出力してきた発話行動の指令に基づき、文字情報から音声データを生成し、スピーカSに音声を出力する部分である。音声データの生成には、予め記憶している文字情報と音声データとの対応関係を利用する。
【0042】
音声認識部112は、マイクMC,MCから音声データが入力され、予め記憶している音声データと文字情報との対応関係に基づき、音声データから文字情報を生成し、主制御部200に出力するものである。
【0043】
音源定位部113は、マイクMC,MC間の音圧差および音の到達時間差に基づいて、音源の位置(ロボットRからの距離および方向)を特定する。
【0044】
[対象検知部]
続いて、図4の対象検知部120と、検知用タグTと、について、図5ないし図8を参照して説明する。図5は、図4の対象検知部を示すブロック図である。図6は、図1の検知用タグを示すブロック図である。図7は、対象検知部による探索域を説明するための図であり、(a)は平面図、(b)は側面図である。図8は、対象検知部による周辺領域のエリア分けを説明するための図である。
対象検知部120は、ロボットRの周囲に検知用タグTを備える検知対象Hが存在するか否かを検知すると共に、検知対象Hの存在が検知された場合、当該検知対象Hの位置を特定するものである。
【0045】
図5に示すように、この対象検知部120は、制御手段121、電波送受信手段122、発光手段123および記憶手段124を備えている。
【0046】
制御手段121は、後記する電波送受信手段122から無線送信される検索信号と、後記する発光手段123から赤外光として出力される方向検査信号とを生成すると共に、検索信号を受信した検知用タグTから送信された受信報告信号を基に、検知対象Hの位置を特定するものである。
ここで、検索信号とは、ロボットRの周囲に検知対象Hが存在するか否かを検知するための信号であり、方向検査信号とは、検知対象HがロボットRを基準としてどの方向に位置するのかを検知するための信号である。
また、受信報告信号とは、検知用タグTが、少なくとも検索信号を受信したことを示す信号である。
【0047】
この制御手段121は、データ処理部121a、暗号化部121b、時分割部121c、復号化部121dおよび電界強度検出部121eを備えている。
【0048】
データ処理部121aは、検索信号および方向検査信号を生成すると共に、検知対象Hの位置を特定するものであり、信号生成部121a1および位置特定部121a2を備えている。
【0049】
信号生成部121a1は、所定時間毎に、若しくはロボットRの主制御部200から電波の発信を命令する信号(発信命令信号)が入力されるたびに、記憶手段124を参照して、対象検知部120が設けられたロボットRに固有の識別番号(以下、ロボットIDという)を取得する。
そして、信号生成部121a1は、当該ロボットIDと、受信報告要求信号とを含んで構成される検索信号を生成する。
ここで、受信報告要求信号とは、検索信号を受信した検知対象H(検知用タグT)に対して、当該検索信号を受信した旨を示す信号(受信報告信号)を生成するように要求する信号である。
【0050】
さらに、信号生成部121a1は、この検索信号を生成する際に、後記する発光手段123から赤外線信号として照射される方向検査信号もまた生成する。
方向検査信号は、発光手段123に設けられた発光部(LED1〜LED8)の総てについて、個別に生成されるものであり、前記したロボットIDと、発光部を特定する識別子(発光部ID)を含んで構成される。
なお、この方向検査信号は、後記する復号化部121dから入力される受信報告信号に発光要求信号が含まれている場合にも生成される。
【0051】
本実施形態の場合、発光部が合計8つ設けられているので、データ処理部121aは、ロボットIDと発光部IDとから構成される方向検査信号を、合計8つ生成する。
例えば、ロボットIDが「02」であり、発光部(LED1〜LED8)の発光部IDが「L1〜L8」である場合、発光部LED1について生成される方向検索信号は、ロボットID=「02」と、発光部ID=「L1」とを含み、発光部LED2について生成される方向検査信号は、ロボットID=「02」と、発光部ID=「L2」とを含むことになる。
【0052】
そして、信号生成部121a1は、方向検査信号と前記した検索信号とを、暗号化部121bに出力する。
なお、位置特定部121a2は、検索信号を受信した検知用タグTから送信された受信報告信号をもとに、検知対象Dの位置を特定するものであるが、その際にこの位置特定部121a2で行われる処理は、復号化部121dおよび電界強度検出部121eにおける処理と共に、後に詳細に説明する。
【0053】
暗号化部121bは、入力された信号を暗号化した後、出力するものである。そして、暗号化部121bは、検索信号の暗号化により得られた検索信号(暗号化検索信号)を、後記する電波送受信手段122に出力する。
これにより、暗号化検索信号は、変調されたのち、電波送受信手段122から無線送信されることになる。
【0054】
一方、暗号化部121bは、データ処理部121aから入力された方向検査信号を、同様にして暗号化する。そして、暗号化部121bは、方向検査信号の暗号化により得られた方向検査信号(暗号化方向検査信号)を、後記する時分割部121cに出力する。
【0055】
本実施の形態の場合、方向検査信号は、前記したデータ処理部121aにおいて発光手段123の発光部ごとに一つずつ生成される。
よって、図5に示すように、発光手段123には合計8つの発光部が設けられているので、暗号化部121bには、合計8つの方向検査信号がデータ処理部121aから入力される。
その結果、合計8つの暗号化方向検査信号がこの暗号化部121bにおいて生成され、時分割部121cに出力されることになる。
【0056】
時分割部121cは、発光手段123の各発光部(LED1〜LED8)の発光順序と、発光タイミングを設定するものである。
具体的には、暗号化部121bから暗号化方向検査信号が入力されると、時分割部121cは、各発光部(LED1〜LED8)の発光順序および発光タイミングを決定し、決定した発光順序および発光タイミングで、暗号化方向検査信号を発光手段123に出力する。
【0057】
例えば、発光部LED1、発光部LED4、発光部LED7、発光部LED2、発光部LED5、発光部LED8、発光部LED3、そして発光部LED6の順番で、各発光部を0.5秒間隔で発光させる場合、時分割部83は、暗号化方向検査信号を0.5秒間隔で、発光部LED1の変調部、発光部LED4の変調部、発光部LED7の変調部、発光部LED2の変調部、発光部LED5の変調部、発光部LED8の変調部、発光部LED3の変調部、そして発光部LED6の変調部という順番で出力する。
【0058】
本実施の形態の場合、合計8つの暗号化方向検査信号が時分割部121cに入力される。そして、これら暗号化方向検査信号は、前記したデータ処理部121aにおいて、出力される発光部があらかじめ決められている。
したがって、時分割部121cは、暗号化方向検査信号が入力されると、暗号化方向検査信号に含まれる発光部IDを確認し、発光部IDにより特定される発光部に隣接する変調部に向けて、決められた順序およびタイミングで、暗号化方向検査信号を出力する。
例えば、発光部(LED1〜LED8)の発光部IDが「L1〜L8」で規定される場合、時分割部121cは、発光部IDが「L1」である暗号化方向検査信号を、発光部LED1に隣接する変調部に出力し、発光部IDが「L2」である暗号化方向検査信号を、発光部LED2に隣接する変調部に出力することになる。
【0059】
発光手段123は、ロボットRを基準として当該ロボットRの周囲において予め設定された探索域に向けて光を照射するものである。
発光手段123は、複数の発光部(LED1〜LED8)と、各発光部に対応させて設けられた変調部と、を備えている。
【0060】
変調部は、時分割部121cから入力された暗号化方向検査信号を、所定の変調方式で変調し、変調信号とするものである。
発光部は、変調信号を赤外線信号(赤外光)として、予め決められた探索域に向けて照射するものである。
【0061】
本実施形態では、検知対象Hの位置を特定するために、ロボットRの周囲の領域が複数の探索域に区分されている(図7(a)参照)。そして、この探索域に向けて赤外光を発光する発光部として、発光ダイオードが探索域毎に一つずつ用意されている。
【0062】
具体的には、図7(a)に示す例の場合、ロボットRを中心として、全周方向、すなわち360度方向に、合計8つの探索域D1〜D8が設定されている。
言い換えると、ロボットRを中心として、ほぼ扇形の探索域D1〜D8がロボットRを取り囲むように複数設定されており、ロボットRは、これら扇形の探索域で囲まれた領域のほぼ中心に位置している。
【0063】
したがって、図7(a)に示す例の場合、各探索域に向けて赤外光の照射が可能となるように、ロボットRの頭部R3には、その外周に沿って合計8つの発光部が、それぞれ対応する探索域に向けて設けられている。
【0064】
また、図7(a)から明らかなように、ロボットRの正面側の探索域D1〜D3は、他の探索域D4〜D8に比べて狭くなるように設定されている。
【0065】
このように探索域D1〜D8を設定するのは、ロボットRが検知対象Hを検知し、検知対象Hの方向に顔を向ける動作を行う時に、ロボットRの顔の正面(これを視線の方向という)と、検知対象Hの位置とのズレが生じると、ロボットRの視線が自分の方を向いていないと検知対象Hが感じる場合があるという問題を解決するためである。
ここで、この問題を解決する方法の一つとして、探索域の数を多くするという方法が考えられる。しかし、必ずしも全周の探索域の数を増やす必要はなく、前方のみの探索域を増やして、前方側の位置特定を細かくできるようにすることで、検知対象Hの位置する方向にロボットRの視線の方向を向けることができる。また、こうすることにより、発光部の数を少なく構築できる。
【0066】
そのため、本実施の形態の場合、ロボットRの正面側の探索域D1〜D3の赤外光の照射範囲を狭くすることで、ロボットRの正面側にある探索域D1〜D3内における検知対象Hの位置をより正確に特定できるようにしているのである。
これにより、検知対象Hが人であり、かつロボットRのカメラC,Cで人の顔の撮像を行う場合に、ロボットRの正面側における検知対象Hの位置特定をより正確に行って、ロボットRの移動制御やカメラC,Cの画角の調整に反映させることができるので、ロボットRのカメラC,Cを、検知対象Hである人の顔の正面にきちんと位置させることが可能となる。
【0067】
図5に示すように、電波送受信手段122は、ロボットRの周辺領域に向けて電波を発信すると共に、当該電波を受信した検知対象Hから送信された受信報告信号を受信するものである。
この電波送受信手段122は、変調部122aと、復調部122bと、送受信アンテナ122cと、を備えている。
【0068】
変調部122aは、データ処理部121aから入力された検索信号(実際には、暗号化検索信号)を所定の変調方式で変調して変調信号とした後、これを、送受信アンテナ122cを介して無線送信するものである。
【0069】
復調部122bは、検知対象Hの検知用タグTから無線送信された変調信号を、送受信アンテナ122cを介して受信し、受信した変調信号の復調により、受信報告信号(実際には、暗号化受信報告信号)を取得するものである。
そして、この復調部122bは、取得した受信報告信号を、制御手段121の復号化部121dと電界強度検出部121eとに出力するものである。
【0070】
復号化部121dは、暗号化された受信報告信号である暗号化受信報告信号を復号化して、受信報告信号を取得し、取得した受信報告信号を、データ処理部121aに出力するものである。
【0071】
本実施形態の場合、受信報告信号には、後に詳細に説明するが、発光部IDとロボットIDとタグ識別番号とが少なくとも含まれているので、復号化部121dは、これらをデータ処理部121aに出力することになる。
なお、受信報告信号に発光要求信号が含まれていた場合、この発光要求信号もまたデータ処理部121aに出力されることになる。
【0072】
電界強度検出部121eは、検知対象Hの検知用タグTから送信された変調信号を電波送受信手段122が受信した際に、当該変調信号の強度を求めるものである。
具体的には、電界強度検出部121eは、電波送受信手段122の復調部122bから入力された、暗号化受信報告信号の電力を検波し、この検波された電力の平均値を電界強度として求め、この求めた電界強度をデータ処理部121aに出力する。
【0073】
データ処理部121aの位置特定部121a2は、検知対象Hの位置を特定するものである。
具体的には、検知対象Hの検知用タグTから送信された変調信号を電波送受信手段122において受信した際の、当該変調信号の電界強度から、ロボットRから検知対象Hまでの距離を求める。さらに、位置特定部121a2は、受信報告信号に含まれる発光部IDを参照して、検知対象Hが受信した光が、どの発光部から発光されたのかを特定し、特定された発光部の発光方向を、すなわち当該発光部に対応する探索域の方向を検知対象Hの存在する方向とみなし、検知対象Hの位置を特定するものである。
【0074】
本実施形態の場合、はじめに、位置特定部121a2は、復号化部121dから入力された受信報告信号の中からロボットIDを取得する。そして取得したロボットIDと記憶手段124に記憶されたロボットIDとを比較し、両ロボットIDが一致した場合、位置特定部121a2は、検知対象Hの位置の特定を開始する。
【0075】
また、本実施形態の場合、図8に示すように、ロボットRの周辺領域は、ロボットRからの距離に応じて4つのエリアに区分されている。すなわち、ロボットRからの距離が短い順に、エリアD11、エリアD12、エリアD13、そしてエリアD14と定義されている。
この各エリアと電界強度とは、電界強度の大きさを基準として予め関連づけられており、この関連づけを示すテーブル(距離テーブル)が、記憶手段124に記憶されている。
【0076】
したがって、位置特定部121a2は、電界強度検出部121eから入力された電界強度をもとに、記憶手段124に記憶された距離テーブルを参照し、受信報告信号を発信した検知対象Hがどのエリアにいるのかを示す情報(エリア情報)を取得する。
例えば、電界強度検出部121eから入力された電界強度が、エリアD13を規定する閾値間の値である場合、位置特定部121a2は、エリアD13を示す情報(エリア情報)を取得する。
【0077】
さらに、位置特定部121a2は、復号化部121dから入力された受信報告信号に含まれる発光部IDを参照して、受信報告信号を送信した検知対象Hが、ロボットRの発光手段123のどの発光部から発光された光を受信したのかを特定し、特定された発光部の発光方向を示す情報(方向情報)を取得する。
【0078】
本実施の形態の場合、図7(a)に示すように、ロボットRの周辺領域には、ロボットRを基準として合計8つの探索域D1〜D8が設定されている。
そして、記憶手段124には、各発光部がどの探索域に向けて設置されているのかを示すテーブル(方向テーブル)が記憶されている。
【0079】
したがって、データ処理部121aは、発光部IDをもとに記憶手段124に記憶された方向テーブルを参照し、当該発光部IDを持つ発光部から発せられる赤外光が、予め設定された探索域D1〜D8のうち、どの領域に照射されるのかを確認する。そして、データ処理部121aは、確認された探索域を示す情報を、検知対象Hが存在する方向を示す情報(方向情報)として取得する。
【0080】
そして、位置特定部121a2は、取得したエリア情報と方向情報とから検知対象Hの位置を示す情報(位置情報)を生成する。
これにより、ロボットRが受信した受信報告信号の強度と、この受信報告信号に含まれる発光部IDとから、ロボットRと検知対象Hとの位置関係が特定される。言い換えれば、検知対象Hが、ロボットRを基準としてどの方向に、どれだけ離れた位置に存在するのか、すなわち、検知対象Hの位置が特定される。
【0081】
そして、位置特定部121a2は、位置情報を、復号化部121dから入力された受信報告信号に含まれるタグ識別番号と共に、ロボットRの主制御部200に出力する。
これにより、ロボットRの主制御部200は、自律移動制御部150を制御して、ロボットRを検知対象Hの正面に移動させることや、検知対象Hが人である場合、カメラC,Cの仰角や向きを修正して、当該検知対象Hの顔の撮像を行うことが可能となる。
【0082】
なお、受信報告信号に発光要求信号が含まれている場合、信号生成部121a1は方向検査信号を生成し、暗号化部121bに出力する。これにより、発光手段123の各発光部から赤外線信号が発光されることになる。
【0083】
[検知用タグ]
検知用タグTは、ロボットRから送信された電波と、照射された光とを受信し、これらを受信したことを示す受信報告信号を、ロボットRに送信するものである。
本実施の形態では、検知用タグTが取り付けられた人が検知対象Hであるので、ロボットRから送信された電波と照射された光は、この検知用タグTにおいて受信される。よって、この検知用タグTについて以下に説明する。
【0084】
図6に示すように、この検知用タグTは、電波送受信手段125と、光受信手段126と、受信報告信号生成手段127と、記憶手段128と、を備えている。
【0085】
電波送受信手段125は、ロボットRから無線送信された変調信号を受信すると共に、後記する受信報告信号生成手段127において生成された受信報告信号を、変調した後、ロボットRに向けて無線送信するものである。
この電波送受信手段125は、送受信アンテナ125aと、復調部125bと、変調部125cと、を備えている。
【0086】
復調部125bは、ロボットRから発信されると共に、送受信アンテナ125aを介して受信した変調信号を復調し、検索信号(実際には、暗号化検索信号)を取得し、取得した検索信号を後記する受信報告信号生成手段127に出力するものである。
【0087】
変調部125cは、後記する受信報告信号生成手段127の暗号化部127cから入力された暗号化後の受信報告信号(暗号化受信報告信号)を変調して変調信号を生成すると共に、当該変調信号を、送受信アンテナ125aを介して、無線送信するものである。
【0088】
光受信手段126は、ロボットRから照射された赤外光を受光するものである。
この光受信手段126は、受光部126aと、光復調部126bと、を備えている。
受光部126aは、ロボットRから照射された赤外光(赤外線信号)を直接受光するものである。
光復調部126bは、受光部126aにおいて受光した赤外線信号を復調して、方向検査信号(実際には、暗号化方向検査信号)を取得するものである。
【0089】
具体的には、光受信手段126は、ロボットRから照射された赤外光を受光部126aで受光すると、受光した赤外線信号を光復調部126bにおいて復調して、暗号化方向検査信号を取得する。そして、取得した暗号化方向検査信号を受信報告信号生成手段127に出力する。
【0090】
受信報告信号生成手段127は、ロボットRから発信された検索信号を電波送受信手段125で受信した場合、この検索信号に含まれる受信報告要求信号に従って、ロボットRから発信された検索信号を受信したことを示す信号(受信報告信号)を生成するものである。
この受信報告信号生成手段127は、復号化部127aと、データ処理部127bと、暗号化部127cと、を備えている。
【0091】
復号化部127aは、入力された暗号化信号を復号化して、信号を取得するものである。
この復号化部127aは、電波送受信手段125から入力された暗号化検索信号と、光受信手段126から入力された暗号化方向検査信号とを復号化して、検索信号と方向検査信号とを取得する。そして、復号化部127aは、取得した検索信号と方向検査信号とを後段のデータ処理部127bに出力する。
【0092】
データ処理部127bは、受信報告信号を生成するものである。
ここで、本実施形態の場合、検索信号には、検索信号を発信したロボットRを特定する識別子であるロボットIDと、当該電波を受信した検知対象Hに対し、所定の処理を命ずる受信報告要求信号とが含まれている。
また、方向検査信号には、方向検査信号を発信したロボットRを特定する識別子であるロボットIDと、方向検査信号を発信した発光部を特定する発光部IDとが含まれている。
【0093】
したがって、データ処理部127bは、検索信号が入力されると、この検索信号に含まれる受信報告要求信号に従って、この検知用タグTの光受信手段126を待機状態から起動状態にする。
そして、光受信手段126を起動状態にした後、所定時間経過するまでの間に方向検査信号が入力された場合、データ処理部127bは、方向検査信号に含まれるロボットIDと、検索信号に含まれるロボットIDとを比較する。
【0094】
データ処理部127bは、両ロボットIDが一致した場合、記憶手段128を参照し、検知用タグTに割り当てられた固有の識別番号(タグ識別番号)を取得する。
続いて、データ処理部127bは、タグ識別番号と、検索信号に含まれていたロボットIDと、そして方向検査信号に含まれていた発光部IDとを含んで構成される受信報告信号を生成し、生成した受信報告信号を暗号化部127cに出力する。
【0095】
一方、検知用タグTの光受信手段126を起動状態にした後、所定時間経過しても方向検査信号が入力されない場合、または検索信号に含まれていたロボットIDと方向検査信号に含まれていたロボットIDとが異なる場合、データ処理部127bは、発光要求信号をさらに含む受信報告信号を生成し、生成した受信報告信号を、暗号化部127cに出力する。
ここで、発光要求信号とは、検知装置であるロボットRに対して、赤外光を発光するように命令する信号である。
【0096】
暗号化部127cは、入力された受信報告信号を暗号化して、暗号化受信報告信号とした後、これを電波送受信手段125に出力する。
これにより、暗号化受信報告信号は、前記した電波送受信手段125の変調部125cにおいて変調された後、送受信アンテナ125aを介して、無線送信されることになる。
【0097】
[床面検知部]
続いて、図4の床面検知部130について、図9および図10を参照して説明する。図9は、図4の床面検知部を示すブロック図である。図10は、床面検知部による撮像領域を説明するための図であり、(a)は平面図、(b)は側面図である。
【0098】
図9に示すように、床面検知部130は、カメラC1,C1と、レーザ照射部131と、赤外線LED132と、制御部133と、切替回路134と、を備えている。
【0099】
カメラC1,C1は、映像をデジタルデータとして取り込むことができるものであり、例えば、カラーCCDカメラが使用される。カメラC1,C1は、左右に平行に並んで配置され、撮影した画像は制御部133に出力される。このカメラC1,C1と、レーザ照射部131および赤外線LED132は、いずれも上体部R2の内部に配設される。このカメラC1,C1は、上体部R2の下端部に、ロボットRの前方下方の床面を撮像するために設けられたものであり、その撮像領域D21は、図10に示されている。
【0100】
レーザ照射部131は、レーザスリット光を撮像領域D21内に照射するためのものである。
【0101】
赤外線LED132は、赤外光を撮像領域D21内に照射するためのものである。
【0102】
制御部133は、カメラC1,C1によって撮像された画像に基づいて、床面にある障害物を検出する。
【0103】
床面に障害物がある場合には、レーザ照射部131によって照射されたレーザスリット光の反射光が、障害物の形状に沿って歪み、カメラC1,C1が、この歪みを撮像する。制御部133は、この歪みを検出することによって、ロボットRに対する障害物の位置や障害物の形状を検出する。この検出データは、主制御部200に出力される。
【0104】
また、床面に再帰性反射材によるマーカがある場合には、赤外線LED132によって照射された赤外光がマーカによって反射され、カメラC1,C1が、この反射光を撮像する。制御部133は、この反射光を検出することによって、ロボットRに対するマーカの位置を検出する。この検出データは、主制御部200に出力される。
【0105】
切替回路134は、制御部133からの切替信号に基づいて、レーザ照射部131および赤外線LED132のいずれか一方を起動状態とするための回路である。
【0106】
制御部133は、切替回路134を切り替えるための切替信号を生成する。
制御部133は、GPS受信器SR1によって検出されたロボットRの位置データと、ジャイロセンサSR2によって検出されたロボットRの向きデータと、地図データに含まれるマーカの位置データと、に基づいて、ロボットRとマーカとの距離が所定値以下であり、かつ、ロボットRがマーカの方向に向いているか否かを判定する。この条件を満たした場合には、制御部133は、赤外線LED132を起動状態とするための切替信号を生成し、切替回路134に出力する。この条件を満たさない場合には、制御部133は、レーザ照射部131を起動状態とするための切替信号を生成し、切替回路134に出力する。
このようにすることで、ロボットRがマーカに近づいているときのみに赤外線LED132を駆動し、それ以外の場合にはレーザ照射部131を駆動することが可能となる。そのため、カメラC1,C1を障害物検知およびマーカ検知の両方に活用することが可能となる。すなわち、障害物検知用のカメラとマーカ検知用のカメラとを別体に設ける必要がなくなり、ロボットRの上体部R2内のスペースの有効利用が図られる。
【0107】
[障害物検知部]
続いて、図4の障害物検知部140について、図11および図12を参照して説明する。図11は、図4の障害物検知部を示すブロック図である。図12は、障害物検知部による検知領域を示す図であり、(a)は平面図、(b)は側面図である。
【0108】
図11に示すように、障害物検知部140は、6個の超音波センサ141a,141b,141c,141d,141e,141fと、制御部142と、を備えている。
【0109】
超音波センサ141a〜141fは、送受兼用型のセンサであり、超音波を発生し、所定距離内に障害物(人などの移動体も含む)がある場合に生じる反射波を受信するためのセンサである。この超音波センサ141a〜141fは、上体部R2の内部に配設される。
超音波センサ141aは、ロボットRの前方の障害物を検知するためのものであり、その検知領域D31は、図12(a)、(b)に示されている。
超音波センサ141b〜141fは、ロボットRの側方〜後方の障害物を検知するためのものであり、その検知領域D32〜D36は、図12(a)に示されている。
すなわち、超音波センサ141aは検知領域D31(前方)を、超音波センサ141bは検知領域D32(右方)を、超音波センサ141cは検知領域D33(右後方)を、超音波センサ141dは検知領域D34(後方)を、超音波センサ141eは検知領域D35(左後方)を、超音波センサ141fは検知領域D36(左方)を、それぞれ検知する。
超音波センサ141a〜141fが障害物を検知した場合には、検知した超音波センサの識別番号を含む障害物検知連絡信号を制御部142に出力する。
【0110】
制御部142は、超音波センサ141a〜141fが出力した障害物検知連絡信号と、超音波センサ141a〜141fの配置方向を記憶したテーブルと、に基づいて、ロボットRの所定距離内どの方向に障害物があるのか、を判定する。超音波センサ141a〜141bが発生する超音波は透明な物質でも反射するので、障害物検知部140はガラスなどの透明な障害物も検知することができる。
この障害物の方向データは、主制御部200に出力される。
【0111】
[自律移動制御部]
図4に示すように、自律移動制御部150は、頭部制御部151、腕部制御部152および脚部制御部153を備えている。
頭部制御部151は、主制御部200の指示に従い頭部R4を駆動し、腕部制御部152は、主制御部200の指示に従い腕部R2を駆動し、脚部制御部153は、主制御部200の指示に従い脚部R1を駆動する。これら自律移動制御部150、頭部R4、腕部R2および脚部R1の組み合わせが、特許請求の範囲における「自律移動手段(自律移動装置)」の一例である。
【0112】
[把持部制御部]
把持部制御部160は、主制御部200の指示に従い把持部71を駆動する。
【0113】
[無線通信部]
無線通信部170は、ロボット管理装置3とデータの送受信を行う通信装置である。無線通信部170は、公衆回線通信装置171および無線通信装置172を備えている。
公衆回線通信装置171は、携帯電話回線やPHS(Personal Handyphone System)回線などの公衆回線を利用した無線通信手段である。一方、無線通信装置172は、IEEE802.11b規格に準拠するワイヤレスLANなどの、近距離無線通信による無線通信手段である。
無線通信部170は、ロボット管理装置3からの接続要求に従い、公衆回線通信装置171または無線通信装置172を選択してロボット管理装置3とデータ通信を行う。
【0114】
[把持部]
続いて、ロボットRの把持部71R(L)について、図13ないし図15を参照してさらに詳しく説明する。図13は、ロボットの把持部を示す斜視図であり、指開状態を示す図である。図14は、ロボットの把持部を示す斜視図であり、指閉状態を示す図である。図15は、ロボットの把持部、開度検出手段および6軸力センサを示すブロック図である。なお、一対の把持部71R,71Lは鏡面対称であり、図13および図14には、左側の把持部71Lが示されている。以下、場合により、R,Lを除いた符号を用いて説明する。
【0115】
図13および図14に示すように、把持部71は、掌部72と、第一指部73と、第二指部74と、を備えている。
掌部72は、手首関節部36,37を介して前腕リンク55に連結されている(図3参照)。
第一指部73は、人間の親指に相当する部分であり、第一指関節部73aを介して掌部72の基端側に連結されている。
第二指部74は、人間の示指、中指、環指、小指に相当する部分であり、第二指関節部74aを介して掌部72の先端側に連結されている。
また、掌部72内には、第一指部73を駆動するための第一指部用モータ73bと、第二指部74を駆動するための第二指部用モータ74bとが内蔵されている。また、掌部72には、第一指部角度α(第一指部73と掌部72との角度)を検出する第一指部角度検出手段83と、第二指部角度β(第二指部74と掌部72との角度)を検出する第二指部角度検出手段84と、が内蔵されている(図15参照)。
【0116】
第一指部角度αは、第一指部73と掌部72とがなす角度であり、指開状態から指閉状態に向かって大きくなる。この第一指部角度αは、図13に示す指開状態(把持時全開)でα1、図13に示す指閉状態(把持時全閉)でα2である(α1≦α≦α2)。
第二指部角度βは、第二指部74と掌部72とがなす角度であり、指開状態から指閉状態に向かって大きくなる。この第二指部角度βは、図12に示す指開状態(把持時全開)でβ1(=0)、図14に示す指閉状態(把持時全閉)でβ2である(0≦β≦β2)。
【0117】
(主制御部200)
続いて、図4の主制御部200について、図16を参照して説明する。図16は、図4の主制御部を示すブロック図である。
【0118】
(主制御部)
図16に示すように、主制御部200は、行動管理手段210、人特定手段220、移動行動決定手段230、挨拶行動決定手段240、受取/受渡行動決定手段250および計時手段260を備えている。
【0119】
(行動管理手段)
行動管理手段210は、ロボット管理装置3から送信された実行命令信号を取得し、この実行命令信号に基づき、人特定手段220、移動経路決定手段230、挨拶行動決定手段240および受取/受渡行動決定手段250を制御する。
また、行動管理手段210は、現在位置データ生成手段211、実行状況データ生成手段212およびコミュニケーション結果取得手段213を備えている。
また、現在位置データ生成手段211は、GPS受信器SR2によって検出されたロボットRの位置データに基づいてロボットRの現在位置を示す現在位置データを生成し、ロボット管理装置3に出力する。この現在位置データは、GPS受信器SR2によって検出されたロボットRの位置データにロボットRの識別番号を付与したものである。
実行状況データ生成手段212は、ロボットRの駆動状況に基づいて、ロボットRのタスク実行状況を報告するためのタスク実行状況データ(行動報告信号)を生成し、ロボット管理装置3に出力する。この実行状況データは、ロボットの実行状況にロボットRの識別番号を付与したものである。
例えば、ロボットRのタスクが物品の運搬である場合には、実行状況として以下のものが考えられる。
1 受取前
2 受取中
3 運搬中
4 受渡中
5 運搬完了
実行状況データ生成手段212は、ロボットRの状態(各モータの駆動状況など)に基づいて、ロボットRの実行状況を1〜5のいずれかに設定し、設定された実行状況を含む実行状況データを生成し、ロボット管理装置3に出力する。
コミュニケーション結果取得手段213は、ロボットが人とコミュニケーションすることによって取得したデータ(画像データ、音声データなど)を、ロボット管理装置3に出力する。コミュニケーション結果取得手段213は、ロボットRのタスク実行状況に関わらず、すなわち、ロボットRがタスクを実行中であってもコミュニケーション結果データを取得可能である。
また、行動管理手段210は、シナリオデータ要求信号を生成し、ロボット管理装置3に出力する。
【0120】
なお、現在位置データおよびタスク実行状況データは定期的に生成され、ロボット管理装置3に出力される。
【0121】
(人特定手段)
人特定手段220は、人データ記憶部310(図17参照)に記憶された人情報と、対象検知部120によって取得されたタグTのタグ識別番号と、に基づいて、対象検知部によって検知された人(検知対象)が誰であるかを特定する。人データ記憶部310には、その人の名前と、その人固有のタグTのタグ識別番号とが関連付けて記憶されているので、これらのデータと、実行命令信号とを参照することによって、ロボットR近傍にいる人が、タスク実行に関係ある人であるか否かを判定することができる。
さらに、人特定手段220は、移動体抽出部102で抽出された移動体の位置データと、対象検知部120で検知された検知対象の位置データと、に基づいて、カメラC,Cで撮像された移動体が誰であるかを特定する。
【0122】
(移動行動決定手段)
移動行動決定手段230は、ロボットRの自律移動の内容を決定するためのものである。
移動経路決定手段231は、タスク実行命令信号と、ロボットRの位置データと、ロボットRの向きデータと、人データと、地図データと、に基づいて、ロボットRの移動経路を決定する。また、画像処理部100、床面検知部130および障害物検知部140のいずれかが障害物を検知した場合には、移動経路決定手段231は、検知した障害物を回避するように移動経路を生成する。
【0123】
(受取/受渡行動決定手段)
受取/受渡行動決定手段240は、物品運搬作業に伴う把持部71の行動(動作)内容を決定するためのものである。
【0124】
続いて、図4のロボット管理装置3について説明する。図17は、図4のロボット管理装置を示すブロック図である。
図17に示すように、ロボット管理装置3は、記憶部300、制御部400および入出力手段500を備えている。制御部400は、入出力手段500を介して、ロボットRとのデータの送受信を行う。
【0125】
(記憶部)
記憶部300は、人データ記憶部310、地図データ記憶部320、ロボットデータ記憶部330、発話データ記憶部340、音声認識データ記憶部350およびシナリオデータ記憶部360を備えている。
【0126】
人データ記憶部310は、タスク実行エリアEAであるオフィス内にいる人に関するデータ(人データ)を、それぞれ関連付けて記憶している。
人データとしては、人識別番号(ID)、名前、所属、タグ識別番号、通常居場所、机位置、顔画像などに関するデータが含まれる。
【0127】
地図データ記憶部320は、タスク実行エリアEAの地形(壁位置、机位置など)に関するデータ(地図データ)を記憶している。
【0128】
ロボットデータ記憶部330は、タスク実行エリアEAに配置されたロボットRA,RBに関するデータを、それぞれ関連付けて記憶している。
ロボットデータとしては、ロボット識別番号、現在位置、バッテリ量、タスク実行状況などに関するデータが含まれる。このうち現在位置データおよびタスク実行状況データは、定期的に更新されている。
【0129】
発話データ記憶部340は、ロボットRが発話するためのデータ(発話データ)を記憶している。
【0130】
音声認識データ記憶部350は、ロボットRが音声認識するためのデータ(音声認識データ)を記憶している。
【0131】
シナリオデータ記憶部360は、ロボットRに一連の動作(シナリオ)を実行させるためのデータを記憶している。ここでいうシナリオデータとは、ロボットRに一連の動作(人特定、移動行動、挨拶行動、受取/受渡行動など)を実行させるための、各関節部(電動モータ)の駆動量、駆動順序などを含むデータであり、ロボットRは、このシナリオデータに基づいて、シナリオを実行する。
【0132】
タスクデータ記憶部370は、端末5から送られたタスクデータを記憶する。また、タスクデータ記憶部370は、後記するタスクデータ生成手段414によって生成されたタスクデータを記憶する。
【0133】
制御部400は、タスク管理手段410およびデータ管理手段420を備えている。
【0134】
タスク管理手段410は、ロボットRに実行させるためのタスクを管理するためのものであり、タスクデータ取得手段411、タスクスケジューリング手段412、実行命令信号生成手段413およびタスクデータ生成手段414を備えている。
【0135】
タスクデータ取得手段411は、端末5から送られたタスクデータを取得する。取得されたタスクデータは、タスクデータ記憶部270に記憶される。
【0136】
タスクスケジューリング手段412は、タスクをロボットRに実行させるため、タスクのスケジューリングを行う。以下、タスクのスケジューリングの一例について説明する。
【0137】
タスクスケジューリング手段412は、タスクデータ記憶部370に記憶されている複数のタスクデータのうち、未実行および実行中のタスクデータについて、それぞれ優先度データを生成する。
タスクの優先度データ「P」は、以下の式(1)によって算出される。
【0138】
【数1】
【0139】
ここで、前記式(1)における「T’pri」は、以下の式(2)によって算出される。
【0140】
【数2】
【0141】
ここで、「Tpri」は、「タスクの重要度(調整前)」である。「Tpri」は、例えば、1.0(重要度低)から0.5間隔で5.0(重要度高)までの値であり、オペレータによる端末5の操作によって入力された値や、個人ID(役職など)などから算出された値が用いられる。本実施形態では、人データ記憶部310に記憶された人データにより「Tpri」を決定する。
また、「Tsp」は、タスクの開始位置から最も近傍のロボットRまでの移動距離を、ロボットRの平均歩行速度で割った値、すなわち、「最も近傍のロボットRがタスクの開始位置まで移動するのにかかる時間」であり、「n(Tsp)」は、「ロボットRに近傍のタスクを優先して実行させるための重要度」である。「n(Tsp)」の値は、タスク開始位置と、最も近傍のロボットRの位置との距離が小さいほど大きくなる値である。すなわち、「n(Tsp)」は、タスク開始位置の近くにロボットRが位置するほど、タスクの重要度が大きくなるようにはたらく値である。本実施形態では、「Tsp」が所定値以下である場合にのみ、「n(Tsp)」が所定の正の値をとる(その他は0)ものとする。これらの値を算出するための値として、タスクの開始位置はタスクデータ記憶部370に記憶されたタスクデータと、人データ記憶部310に記憶された人データと、に基づいて決められる。また、ロボットRの現在位置は、ロボットデータ記憶部330に記憶されたものを用いる。このようにして算出された「T’pri」は「調整済みタスク重要度」であり、以下、かかる「T’pri」のことを、単に「タスクの重要度」と呼ぶこととする。
【0142】
また、前記式(1)における「f(Terr)」は、「重要度の時的変化係数」であり、以下の式(3)によって算出される。
【0143】
【数3】
【0144】
ここで、「Terr」は、「時間余裕」であり、「(現在の時刻)−(タスク開始予定時刻)」である。すなわち、時間余裕「Terr」は、タスク開始予定時刻よりも前では、正の値をとる。そして、時間の経過とともに小さくなり、タスク開始予定時刻を過ぎると、負の値をとる。
また、「Ttime」は、「タスクを実行するのに必要な時間」であり、「(タスク終了予定時刻)−(タスク開始予定時刻)」である。
また、「Cobli」は、「忘却係数」であり、「f(Terr)」の下り勾配、すなわち、優先度データ「P」の下り勾配を決める値である。
【0145】
(Terr>Ttime)
タスク開始予定時刻が迫ると(時間余裕「Terr」が正から0に近づくと)、「f(Terr)」が上昇する。そして、「時間余裕」が「タスクを実行するのに必要な時間」以下になると、「f(Terr)」は「1」となる。これは、以下の理由による。
タスクをタスク終了予定時刻までに実行完了するためには、タスク開始予定時刻よりも前にタスクを開始しなければならない。したがって、「f(Terr)」は、タスク開始予定時刻が近づくにつれて大きくなり、Terr=Ttime(すなわち、現在時刻がタスク開始予定時刻と一致したとき)で最大となるように設定されている。
また、式(1)の優先度データ「P」に対し、タスクの重要度「T’pri」よりも時間余裕「Terr」の項の方が重要であるため、f(Terr)として非線形な勾配を採用した。この勾配はTtimeに依存しており、Ttimeが大きいほど勾配が緩やかになるように設定されている。
【0146】
(0≦Terr≦Ttime)
現在時刻がタスク開始予定時刻とタスク終了予定時刻の間となる場合である。この時間内にタスクを開始しても、タスク終了予定時刻までに終了することはできず、できるだけ早くタスクを開始する必要がある時間帯である。そのため、「f(Terr)」は最大値「1」をとる。
【0147】
(0>Terr>−Cobli・Ttime)
そして、現在時刻がタスク終了予定時刻を過ぎると(時間余裕「Terr」が0より小さくなると)、「f(Terr)」が次第に下降して「0」となり、タスクを忘却する。
【0148】
このように、時間(時刻)に関するデータ、位置に関するデータ、重要度に関するデータに基づいて優先度データ「P」を生成するので、タスクの優先度として好適な値を得ることができ、かかる優先度データ「P」は、後記するスケジュールデータの生成に使用可能である。
【0149】
タスクスケジューリング手段412は、生成した優先度データに基づいて、タスクをロボットごとに割り当ててスケジュールデータを生成するものである。
ここでスケジュールデータとは、各タスクデータについて、「どのロボットRに、どの実行順位で実行させるか、」を決定するためのデータである。すなわち、スケジュールデータは、実行させるロボットRに関するロボットIDと、実行順位データと、を含んでいる。また、タスクを割り当てた際に、各タスクの開始予定時刻および終了予定時刻が改めて生成されており、これらもスケジュールデータに含まれている。
【0150】
以下、スケジュールデータ生成の手順について説明する。あるロボット(i)が、あるタスク(j)を実行したときにかかる時間「Cij」は、式(4)によって算出される。
【0151】
【数4】
【0152】
ここで、「Wr」は、「タスク開始位置までの歩行にかかる時間」である。この「Wr」は、ロボットデータ記憶部330に記憶されたロボットRの現在位置と、タスク開始位置と、地図データ記憶部320に記憶された地図データと、ロボットRの平均移動速度と、に基づいて算出される。
また、「Wrh」は、「タスク実行中の移動にかかる時間」である。この「Wrh」は、開始位置およびタスク終了位置と、地図データ記憶部320に記憶された地図データと、ロボットRの平均移動速度と、に基づいて算出される。
また、「G(task type)」は、「タスク実行中に、ロボットの来訪者とのコミュニケーション(ジェスチャー、会話など)にかかる時間」である。この「G(task type)」は、タスクの種類(挨拶、受付、案内など)によって予め定められた値が、記憶部300に記憶されている。
【0153】
また、m個のタスクをn台のロボットRに割り当てる際のある組み合せを「k」、全ての組み合わせを表現する重複順列を「M(k) (1≦k≦nm)」とし、その要素を「xij」とすると、割り当てられたタスクによる各ロボットの動作量に関するコスト(主に移動距離に依存する)「Cr(i)」は、式(5)によって算出される。
【0154】
【数5】
【0155】
ロボット制御システムA全体の動作量に関する総コスト「Call」(以下、動作コストと呼ぶ)は、各ロボットのコスト「Cr(i)」の総和であり、式(6)によって算出される。
【0156】
【数6】
【0157】
また、全てのタスクを終了するまでの時間に関するコスト「Call complete」(以下、時間コストと呼ぶ)は、各ロボットに割り当てられた全タスクのうちの、最先の開始予定時刻から最後の終了予定時刻(これらの時刻は、タスクスケジューリング手段412で生成された値である)までの時間であり、式(7)によって算出される。
【0158】
【数7】
【0159】
そして、動作コスト「Call」および時間コスト「Call complete」の両方を考慮することによって最適化されたコスト「Copt」は、式(8)によって算出される。
【0160】
【数8】
【0161】
ここで、「w」は、「ロボットの動作およびタスクを終了するまでの時間に関する重み」である。すなわち、「w」が大きいと、動作重視となり、「w」が小さいと、時間重視となる。この「Copt」が最小となる組み合わせ「k」が、複数のタスクを複数のロボットに実行させるための最適なスケジュールである。
【0162】
ここでいう動作重視とは、ロボットRの動作量を抑えることを重視することを指す。また、時間重視とは、タスクを早く終了することを重視することを指す。例えば、ある狭い位置領域で実行するタスクが複数存在している場合について考える。かかる複数のタスクを、最も近傍に位置するロボットR一台に実行させると、全体としてのロボットRの動作量を抑えることができる(動作重視)が、一台で処理するため時間がかかる(時間軽視)。一方、複数のロボットに実行させると、タスクを早く終了することができる(時間重視)が、遠くのロボットRを移動させることになり、全体としてのロボットRの動作量が大きくなる(動作軽視)。すなわち、動作重視および時間重視は両立するとは限らず、wの値を設定することで、どちらを重視するかを選択することができる。
【0163】
続いて、タスクのスケジューリングの例について説明する。図18は、タスクのスケジューリングを説明するための図である。ここでは、7個のタスク(タスクT1〜タスクT7)を、2台のロボット(ロボットRA,RB)に実行させる場合におけるスケジューリングを例にとって説明する。
【0164】
まず、図18(a)に示すように、タスクT1〜タスクT7がタスクデータ記憶部370に記憶されている場合に、これらタスクT1〜タスクT7について優先度データ「P」を生成する。ここでは、優先度データ「P」によって表される各タスクの優先度が、「タスクT1>タスクT2>タスクT3>タスクT4>タスクT5>タスクT6>タスクT7」となっているものとする。そして、生成された優先度データ「P」はそれぞれ、各タスクのタスクデータに付与される形でタスクデータ記憶部370に記憶される。
【0165】
続いて、図18(b)に示すように、各タスクを優先度データPに基づいてグループ分けする。ここでは、優先度が高い(優先度データ「P」の値が大きい)タスクT1〜タスクT4からなるグループG1と、優先度が低いタスクT5〜タスクT7からなるグループG2と、に分ける。かかるグループ分けにおいて、ロボットRの台数、タスクの数などに基づいて、グループの数を決めることが望ましい。例えば、タスクの数が多い場合には、「(タスクの数)÷(ロボットRの台数) (ただし、小数点以下繰上げ)」の数だけグループを生成することができる。その他、グループの数の決定は、スケジュールデータ生成部3b2の計算時間および計算時間の優先度に基づいて決定される。すなわち、スケジュールデータの生成が早く完了するようにグループの数を決定する。
【0166】
続いて、図18(c)に示すように、優先度が高いグループG1について、前記した式(4)、式(5)および式(6)によるスケジューリング(スケジュールデータの生成)を行う。ここでは、タスクT1のスケジュールデータは、「A−1」である。これは、「ロボットRAに、1番目に実行させる」との意味である。同様に、タスクT2、タスクT3およびタスクT4のスケジュールデータは、それぞれ「B−1」、「A−2」および「A−3」である。これら生成されたスケジュールデータはそれぞれ、各タスクのタスクデータに付与される形でタスクデータ記憶部370に記憶される。
【0167】
続いて、図18(d)に示すように、優先度が低いグループG2について、前記した式(4)、式(5)および式(6)によるスケジューリングを行う。この際に、既にスケジューリングされたタスクデータによる負荷を、ペナルティとして保持した状態でスケジューリングを行う。このように、後のグループをスケジューリングする際に、それより前のグループをスケジューリングした結果を考慮することで、スケジューリング全体における最適化を図ることができる。
【0168】
ここでは、タスクT5、タスクT6およびタスクT7のスケジュールデータは、それぞれ「B−2」、「B−3」および「A−4」である。これら生成されたスケジュールデータはそれぞれ、各タスクのタスクデータに付与される形でタスクデータ記憶部370に記憶される。
【0169】
このように、タスクのグループ分けを行ってグループごとにスケジューリングを行うので、多数のタスクが存在する場合であっても、任意の数のタスクごとにスケジューリングを行うことができ、タスク数の増加によるスケジューリングの組み合わせの数の増加を抑え、タスクスケジューリング手段412にかかるスケジューリング負荷の増大を抑えることができる。
【0170】
また、スケジュールデータを生成する際には、各ロボットRのバッテリ残量、駆動系の異常などのロボットの状態に関するデータも考慮されることが望ましい。
【0171】
[実行命令信号生成手段]
実行命令信号生成手段413は、タスクスケジューリング手段412によって生成されたスケジュールデータに基づいて、ロボットRにタスクを実行させるための実行命令信号を生成するものである。
【0172】
本実施形態では、実効命令信号生成手段413は、各ロボットRに、実行順位が高い、すなわち、1番目に実行させるタスクに関する実行命令信号を生成する。前記例において、ロボットRAへの実行命令信号は、ロボットIDと、タスクT1に関するタスクID、タスク開始予定時刻、タスク開始位置、タスク内容、タスク終了位置などを含むデータとして生成される。同様に、他のロボットRBへの実行命令も生成され、入出力手段500および基地局1を介して、各ロボットRA,RBへ送信される。ロボットRA,RBの主制御部200は、受信した実行命令信号に含まれるロボットIDと自身のロボットIDを比較し、一致した場合にその実行命令信号に係るタスクを実行する。また、実行命令信号は、タスクデータと関連付けてタスクデータ記憶部370に記憶される。
【0173】
なお、実行命令信号は、当該ロボットRに1番目に実行させるタスクだけでなく、当該ロボットRに実行させる全てのタスクに関するデータを含んでいてもよい。
【0174】
タスクデータ生成手段414は、ロボットRから送られたコミュニケーション結果に基づいて、タスクデータを生成する。例えば、コミュニケーション結果が音声認識データである場合には、この音声認識データからタスクデータを生成する。そして、生成されたタスクデータがタスクデータ記憶部270に記憶されると共に、タスクスケジューリング手段412が、タスクの再スケジューリングを行う。
【0175】
データ管理手段420は、実行命令信号に含まれるタスクの種類に基づいて、そのタスクを実行するのに必要なデータをシナリオデータ記憶部360から読み出し、ロボットRへ出力する。また、端末5からの入力に基づき、記憶部300内のデータを更新する。
また、データ管理手段420は、ロボットRからのデータ要求信号に基づいて、要求されたデータを記憶部300から読み出し、ロボットRへ出力する。
【0176】
このように、本実施形態に係るロボット制御システムAは、ロボットRがタスク実行中であっても人とのコミュニケーションによってタスクデータを取得・生成し、このタスクデータと、ロボットRの現在位置およびタスク実行状況とに基づいてタスクの再スケジューリングを行う。したがって、人は端末5を介するだけでなく、ロボットRを介してタスクを依頼することが可能となり、システムの使いやすさが高まっている。また、再スケジューリングを行うので、重要度が高いタスクの割り込みなどが可能となる。また、ロボットRの現在位置およびタスク実行状況を考慮した再スケジューリングを行うので、適切なスケジューリングが可能となる。
【0177】
(ロボットの動作例)
続いて、本発明の実施形態に係るロボット制御システムAによるロボットRの物品運搬動作について説明する。ここでは、ロボットRAが、「人H1から物品Mを受け取り、人H2に物品Mを受け渡す」といったタスクに関する実行命令信号を受け、物品Mを運搬移動中に人とコミュニケーションを行い、ロボット管理装置3がタスクの再スケジューリングを行う場合を例にとって説明する。
【0178】
(物品受取)
まず、ロボットRAの受取位置への移動について説明する。図19は、本発明の実施形態に係るロボット制御システムによるタスク実行の例を示すフローチャートであり、ロボットRAの受取位置への移動を示すフローチャートである。
まず、ロボットRAは、タスク実行エリアEAに設定されたホームポジションで待機している(ステップS1)。
ロボットRが、ロボット管理装置3から送信された実行命令信号を受信すると(ステップS2でYes)、ロボットRは、ホームポジションから人H1の通常居場所(以下、「通常居場所P1」と記載する。)までの移動を開始する(ステップS3)。そして、人H1の通常居場所P1に到着すると(ステップS4でYes)、ロボットRは移動を中止し、人H1の探索を開始する(ステップS5)。
【0179】
対象検知部120で人H1のタグ識別番号を検知すると(ステップS6でYes)、ロボットRは、カメラC,Cで人H1の画像を取得し、人H1の正面に移動する
【0180】
なお、対象検知部120が、所定時間内に人H1のタグ識別番号を検知することができなかった場合には(ステップS9でYes)、ロボットRは、行動管理手段210でタスク実行が不可能である旨を伝える行動報告信号を生成し、ロボット管理装置3へ出力すると共に、ホームポジションに移動する(ステップS10)。
【0181】
受取位置に移動したロボットRは、指開状態の把持部71(71R,71L)を差し出し、物品Mの受け取りを行う(ステップS7)。そして、把持部71が物品Mを把持すると(ステップS8でYes)、ロボットRは、物品Mの受取を完了する。
【0182】
(運搬移動および受渡)
続いて、ロボットRAの物品運搬移動について説明する。図20および図21は、本発明の実施形態に係るロボット制御システムによるタスク実行の例を示すフローチャートであり、ロボットRAの物品運搬移動および物品受渡を示すフローチャートである。
ステップS8において、物品把持完了となると、ロボットRは、受取位置から、人H2の通常居場所(以下、「通常居場所P2」と記載する。)までの移動を開始する(ステップS21)。
ロボットRAが、画像処理部100、対象検知部120、床面検知部130および障害物検知部140によって、その移動方向に存在する物体を検知する(割り込み検知)(ステップS22)。
ロボットRAが割り込みを検知し(ステップS22でYes)、その割り込みが障害物である場合には(ステップS23で障害物)、ロボットRAは、画像処理部100、対象検知部120および障害物検知部130によって、ロボットRAの周囲に人がいるか否かを検知する(ステップS30)。
周囲に人がいた場合には(ステップS30でYes)、ロボットRAは、「障害物を除去してください」と発話し、周囲にいる人に障害物の除去を依頼する(ステップS31)。そして、所定時間内に障害物が除去された場合には(ステップS32でYes)、ステップS21に戻り、移動を再開する。また、所定時間内に障害物が除去されない場合には、(ステップS32でNo)、ロボットRは、この障害物を回避するように移動経路を再生成(変更)する(ステップS33)。そして、ロボットRAは、ステップS21に戻り、変更した移動経路に基づいて移動を再開する。
【0183】
ロボットRが割り込みを検知し(ステップS22でYes)、その割り込みが人である場合には(ステップS23で人)、ロボットRAは、人特定手段220によって、その人が既知人物であるか、人H2であるか否かを判定する(ステップS24、ステップS25
)。ここでいう既知人物とは、その人の人データが人データ記憶部310に記憶されていることを指す。
【0184】
割り込んだ人が人H2以外の人である場合には(ステップS24でNo、または、ステップS24でYesかつステップS25でNo)、ロボットRAは、その人に応じた挨拶(発話およびジェスチャ)を行う(ステップS26)。そして、人がロボットの移動経路外に移動すると(ステップS27でYes)、移動を再開する。
ロボットRAが挨拶してから所定時間経過しても人がどかない場合には(ステップS27でNo)、ロボットRAは、人(以下、人H3と称する)がタスクを依頼しようとしていると判定し、「何か御用ですか」と発話し、コミュニケーション結果取得手段213が、マイクMC,MCおよび音声認識部を介して人の発話に伴う音声データを取得し、取得した音声データをロボット管理装置3に出力する(ステップS28)。なお、本実施形態では、人H3は、位置Cまでの案内といったタスクを依頼したものとする。
【0185】
ロボット管理装置3のタスクデータ生成手段414は、取得した音声データと、ロボットRAの現在位置データまたはロボットRAが取得した人H3の現在位置データと、に基づいて、「人H3を現在位置から位置Cまで案内する」といった内容のタスクデータを生成する。タスクスケジューリング手段412は、新たに生成されたタスクデータと、ロボットRA,RBの現在位置データおよびタスク実行状況データと、タスクデータ記憶部370に記憶された未実行または実行中のタスクデータと、に基づいて、タスクの再スケジューリングを行う。そして、実行命令信号生成手段413は、この再スケジューリング結果に基づいて、ロボットRA,RBに対する実行命令信号を生成し、出力する。
ここでは、ロボットRAの実行命令信号がロボットRAに現在実行中の物品運搬を継続させるものであり、ロボットRBの実行命令信号がロボットRBに人H3の案内を実行させるものであるとする。
【0186】
そして、人H2の通常居場所P2に到着すると(ステップS29でYes)、ロボットRは移動を中止し、人H2の探索を開始する(ステップS41)。
【0187】
対象検知部120で人H2のタグ識別番号を検知すると(ステップS42でYes)、ロボットRは、カメラC,Cで人H2の画像を取得し、人H2の正面に移動する
【0188】
なお、対象検知部120が、所定時間に人H2のタグ識別番号を検知することができなかった場合には(ステップS46でYes)、ロボットRAは、物品Mをタスク実行エリアEA内に設けられた物品置き場B1(図1参照)へと運搬することになる。
【0189】
受渡位置に移動したロボットRは、物品Mを把持した把持部71(71R,71L)を差し出し、物品Mの受渡を行う(ステップS43)。
【0190】
物品Mの受渡が完了すると(ステップS44でYes)、ロボットRAは、行動管理手段210でタスク実行終了を伝える行動報告信号を生成し、ロボット管理装置3へ出力すすると共に、受渡位置からホームポジションまでの移動を行う(ステップS45)。
【0191】
続いて、ロボットRの物品置き場B1への移動について説明する。ロボットRAが、所定時間に人H2の探索ができなかった場合には(ステップS46でYes)、ロボットRAは、人H2の通常居場所P2から物品置き場B1への移動を行う(ステップS47)。
そして、ロボットRAは、物品置き場B1に物品Mを置くと共に(ステップS48)、物品Mを物品置き場B1に置いた旨を伝える行動報告信号を生成し、ロボット管理装置3および人H2専用の端末5へ出力する(ステップS49)。そして、ロボットRは物品置き場B1からホームポジションまでの移動を行う(ステップS50)。
【0192】
このように、本発明の実施形態に係るロボット制御システムによれば、タスク実行中のロボットが、タスク依頼のユーザインターフェースとなるので、人によるタスク依頼が容易となる。また、ロボットを介してタスク依頼がなされた場合であっても、ロボットの現在位置およびタスク実行状況に基づいて、タスクの再スケジューリングを行うことができ、優先度の高いタスクの割り込みが可能となる。
【0193】
以上、本発明の実施形態について説明したが、本発明は前記した実施形態に限定されず、本発明の要旨を逸脱しない範囲で適宜設計変更可能である。
例えば、ロボット制御システムは、ロボット管理装置に記憶部を備え、ロボットが必要とするデータを適宜送信する構成としたが、ロボットが記憶部を備え、この記憶部に必要なデータを記憶する構成であってもよい。
また、タスクのスケジューリング手法も、前記した手法に限定されない。
【0194】
また、コミュニケーションによるタスクデータの生成に音声データを利用する構成としたが、画像データから人のジェスチャを認識し、このジェスチャに対応するタスクデータを生成する構成であってもよい。
【0195】
また、人がロボットの移動経路に所定時間存在した場合にロボットが人とコミュニケーションを行いタスクデータを生成する構成としたが、タスクデータを生成するためのコミュニケーションの開始タイミングはこれに限定されず、例えば、人がロボットに所定の言葉(例えば、「お願いします。」など、)をかけ、ロボットが音声認識部でこの言葉を認識することによってコミュニケーションを開始する構成であってもよい。また、人が所定のジェスチャ(例えば、「右手を挙げて左右に振る」など)を行い、ロボットが画像処理部でこのジェスチャを認識することによってコミュニケーションを開始する構成であってもよい。また、ロボットが常にコミュニケーションを行っており、常時音声データまたは
画像データをタスクデータ生成手段に送る構成であってもよい。
また、タスクデータ生成手段がロボットの制御部内に設けられる構成であってもよい。
【図面の簡単な説明】
【0196】
【図1】本発明の実施形態に係るロボット制御システムを示すシステム構成図である。
【図2】図1のロボットの外観を示す側面図である。
【図3】図1のロボットの内部構造を模式的に示す斜視図である。
【図4】図1のロボットを示すブロック図である。
【図5】図4の対象検知部を示すブロック図である。
【図6】図1の検知用タグを示すブロック図である。
【図7】対象検知部による探索領域を説明するための図であり、(a)は平面図、(b)は側面図である。
【図8】対象検知部による周辺領域のエリア分けを説明するための図である。
【図9】図4の床面検知部を示すブロック図である。
【図10】床面検知部による撮像領域を示す図であり、(a)は平面図、(b)は側面図である。
【図11】図4の障害物検知部を示すブロック図である。
【図12】障害物検知部による検知領域を示す図であり、(a)は平面図、(b)は側面図である。
【図13】ロボットの把持部を示す斜視図であり、指開状態を示す図である。
【図14】ロボットの把持部を示す斜視図であり、指閉状態を示す図である。
【図15】ロボットの把持部、開度検出手段および外力検出手段を示すブロック図である。
【図16】図2の主制御部を示すブロック図である。
【図17】図1のロボット管理装置を示すブロック図である。
【図18】タスクのスケジューリングを説明するための図である。
【図19】本発明の実施形態に係るロボット制御システムによるタスク実行の例を示すフローチャートである。
【図20】本発明の実施形態に係るロボット制御システムによるタスク実行の例を示すフローチャートである。
【図21】本発明の実施形態に係るロボット制御システムによるタスク実行の例を示すフローチャートである。
【符号の説明】
【0197】
3 ロボット管理装置
112 音声認識部
211 現在位置データ生成手段
212 実行状況データ生成手段
213 コミュニケーション結果取得手段
220 人特定手段
320 地図データ記憶部
370 タスクデータ記憶部
412 タスクスケジューリング手段
413 実行命令信号生成手段
414 タスクデータ生成手段
A ロボット制御システム
MC マイク
R,RA,RB ロボット
【技術分野】
【0001】
本発明は、ロボットにタスクを実行させるためのロボット制御システムに関する。
【背景技術】
【0002】
近年、自律移動可能なロボットにタスク(受付、案内、物品の運搬など)の実行命令を入力し、ロボットにタスクを実行させるシステムが開発されている。
【0003】
特許文献1に記載のロボットシステムは、ロボットが入力部を備えており、人がロボットの入力部を介して実行命令を入力することが可能なシステムである。
【特許文献1】特開2003−345435号公報(段落0020〜0053、図1〜図3)
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載のロボットシステムは、現時点でタスクを実行していないロボットが利用者からのタスクを受けることを想定したシステムであり、タスク実行中のロボットがタスクを受ける場合については開示されていない。
また、新たにロボットが受けたタスクと、既に受けて未実行であるタスクとをどのような順序で実行するか、といったタスク実行順序の最適化についても開示されていない。
【0005】
本発明は、前記した問題を解決すべく創案されたものであり、タスク実行中のロボットがタスクを依頼された場合であっても、好適に対応することが可能なロボット制御システムを提供することを課題とする。
【課題を解決するための手段】
【0006】
前記課題を解決するため、本発明の請求項1に記載の発明は、自律移動を行う自律移動手段と、人とのコミュニケーションを行うコミュニケーション手段と、現在位置に関する現在位置データを生成する現在位置データ生成手段と、タスクの実行状況に関する実行状況データを生成する実行状況データ生成手段と、ロボット管理装置との通信を行う通信手段と、を備えたロボットと、前記ロボットに実行させるタスクに関するタスクデータを記憶するタスクデータ記憶部と、前記タスクデータに基づいて、タスクのスケジューリングを行うタスクスケジューリング手段と、スケジューリング結果に基づいて、前記自律移動ロボットにタスクを実行させる実行命令信号を生成する実行命令信号生成手段と、前記ロボットとの通信を行う通信手段と、を備えたロボット管理装置と、を備え、前記実行命令信号に基づいて前記ロボットにタスクを実行させるロボット制御システムであって、
前記ロボット管理装置は、前記コミュニケーション手段によるコミュニケーション結果に基づいて、タスクデータを生成するタスクデータ生成手段をさらに備え、前記タスクスケジューリング手段は、コミュニケーション結果に基づいて新たにタスクデータが生成された場合に、前記ロボットの現在位置データおよび実行状況データに基づいて、タスクの再スケジューリングを行い、前記実行命令信号生成手段は、再スケジューリング結果に基づいて、実行命令信号の再生成を行うことを特徴とする。
【0007】
また、請求項2に記載の発明は、請求項1に記載のロボット制御システムであって、前記コミュニケーション手段は、周囲の音を集音するマイクと、集音された音から音声を認識する音声認識部と、を備え、前記タスクデータ生成手段は、前記音声認識部による認識結果に基づいて、タスクデータを生成することを特徴とする。
【0008】
また、請求項3に記載の発明は、請求項1または請求項2に記載のロボット制御システムであって、前記ロボットがタスクを実行するタスク実行エリアに関する地図データを記憶する地図データ記憶部と、前記ロボットに設けられた、物品を把持する把持部と、をさらに備え、前記ロボットは、前記地図データおよび前記実行命令信号に基づいて、物品を前記把持部によって把持し、運搬することを特徴とする。
【0009】
また、請求項4に記載の発明は、請求項3に記載のロボット制御システムであって、前記ロボットは、前記実行命令信号に基づいて、物品を受け渡す人を特定する人特定手段を備えていることを特徴とする
【0010】
また、請求項5に記載の発明は、請求項4に記載のロボット制御システムであって、前記人特定手段が、物品を受け渡す人を特定できない場合に、所定の場所に物品を運搬し、この所定の場所に物品を置くことを特徴とする。
【発明の効果】
【0011】
本発明によれば、タスク実行中のロボットがタスクを依頼された場合であっても、新たなタスクを含めて再スケジューリングを行うことができ、タスクの実行順序の最適化を図ることが可能なロボット制御システムを提供することができる。
【発明を実施するための最良の形態】
【0012】
以下、本発明の実施形態について、本発明の物品運搬システムを、オフィスをタスク実行エリアとし、オフィス内におけるタスク(物品運搬、案内など)実行に適用したロボット制御システムを例にとり、適宜図面を参照しながら説明する。同様の部分には同一符号を付し、重複する説明を省略する。
【0013】
(ロボット制御システムAの構成)
はじめに、本発明の実施形態に係るロボット制御システムAについて説明する。図1は、本発明の実施形態に係るロボット制御システムを示すシステム構成図である。
図1に示すように、ロボット制御システムAは、タスク実行エリアEAに配置された1台以上(本実施形態では2台)のロボットR(RA,RB)と、これらロボットRA,RBと無線通信によって接続された基地局(例えば、無線LAN)1と、基地局1にルーター2を介して接続されたロボット管理装置(例えば、サーバー)3と、ロボット管理装置3にネットワーク4を介して接続された端末5と、検知対象(人)Hが装着した検知用タグTと、を備えている。
【0014】
ロボットRは、タスク実行エリアEAに配置されており、タスク実行エリアEA内において自律移動を行い、実行命令信号に基づいてタスク(物品運搬)を実行するものである。なお、このタスク実行エリアEA内には、物品置き場B1が設けられている。ロボットRは、物品を受け渡す人を発見できなかった場合などには、物品置き場B1に物品を置くことができる。
【0015】
ロボット管理装置3は、後記する端末5から入力されるタスクデータに基づき、ロボットRにタスクを実行させるため、このタスクの内容を含む実行命令信号を生成し、ロボットRに出力する。このタスクデータは、ロボットRに実行させるタスクに関するデータであり、例えば、ロボットRに物品を渡す人、ロボットRが物品を渡す人、運搬する物品の種類などを含んでいる。
【0016】
端末5は、ロボット管理装置3にタスクデータを入力するための入力装置であり、デスクトップ型コンピュータ、PHSなどである。また、端末5は、ロボットRから送られたタスク完了報告信号をオペレータが確認可能に出力するための出力(表示)装置でもある。
【0017】
(ロボットRの構成)
続いて、本発明の実施形態に係るロボットRについて説明する。以下の説明において、ロボットRの前後方向にX軸、左右方向にY軸、上下方向にZ軸をとる(図2参照)。
本発明の実施形態に係るロボットRは、自律移動型の2足移動ロボットである。このロボットRは、ロボット管理装置3から送信された実行命令信号に基づき、タスクを実行するものである。
【0018】
図2は、図1のロボットの外観を示す模式図である。図2に示すように、ロボットRは、人間と同じように2本の脚部R1(1本のみ図示)により起立、移動(歩行、走行など)し、上体部R2、2本の腕部R3(1本のみ図示)および頭部R4を備え、自律して移動する。また、ロボットRは、これら脚部R1、上体部R2、腕部R3および頭部R4の動作を制御する制御装置搭載部R5を背負う形で背中(上体部R2の後部)に備えている。
【0019】
(ロボットRの駆動構造)
続いて、ロボットRの駆動構造について説明する。図3は、図1のロボットの駆動構造を模式的に示す斜視図である。なお、図3における関節部は、当該関節部を駆動する電動モータにより示されている。
【0020】
(脚部R1)
図3に示すように、左右それぞれの脚部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が取り付けられている。
【0021】
すなわち、脚部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で連結されている。
【0022】
(上体部R2)
図3に示すように、上体部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を備えている。
【0023】
(腕部R3)
図3に示すように、左右それぞれの腕部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が取り付けられている。
【0024】
すなわち、腕部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)で連結されている。
【0025】
(頭部R4)
図3に示すように、頭部R4は、首部(頭部R4と上体部R2との連結部分)のY軸まわりの首関節部41と、首部のZ軸まわりの首関節部42と、を備えている。首関節部41は頭部R4のチルト角を設定するためのものであり、首関節部42は頭部R4のパンを設定するためのものである。
【0026】
このような構成により、左右の脚部R1は合計12の自由度を与えられ、移動中に12個の関節部11R(L)〜16R(L)を適宜な角度で駆動することで、脚部R1に所望の動きを与えることができ、ロボットRが任意に3次元空間を移動することができる。また、左右の腕部R3は合計14の自由度を与えられ、14個の関節部31R(L)〜37R(L)を適宜な角度で駆動することで、ロボットRが所望の作業を行うことができる。
【0027】
また、足首関節部15R(L),16R(L)と足部17R(L)との間には、公知の6軸力センサ61R(L)が設けられている。6軸力センサ61R(L)は、床面からロボットRに作用する床反力の3方向成分Fx,Fy,Fzと、モーメントの3方向成分Mx,My,Mzと、を検出する。
【0028】
また、手首関節部36R(L),37R(L)と把持部71R(L)との間には、公知の6軸力センサ62R(L)が設けられている。6軸力センサ62R(L)は、ロボットRの把持部38R(L)に作用する反力の3方向成分Fx,Fy,Fzと、モーメントの3方向成分Mx,My,Mzと、を検出する。
【0029】
また、上体部R2には、傾斜センサ63が設けられている。傾斜センサ63は、上体部R2の重力軸(Z軸)に対する傾きと、その角速度と、を検出する。
また、各関節部の電動モータは、その出力を減速・増力する減速機(図示せず)を介して前記した大腿リンク51R(L)、下腿リンク52R(L)などを相対変位させる。これら各関節部の角度は、関節角度検出手段(例えば、ロータリエンコーダ)によって検出される。
【0030】
制御装置搭載部R5は、後記する自律移動制御部150、把持部制御部160、無線通信部170、主制御部200、バッテリ(図示せず)などを収納している。各センサ61〜63などの検出データは、制御装置等細部R5内の各制御部に送られる。また、各電動モータは、各制御部からの駆動指示信号により駆動される。
【0031】
図4は、図1のロボットを示すブロック図である。図4に示すように、ロボットRは、脚部R1、腕部R2および頭部R4に加えて、カメラC,C、スピーカS、マイクMC,MC、画像処理部100、音声処理部110、対象検知部120、自律移動制御部150、把持部制御部160、無線通信部170および主制御部200を備えている。
【0032】
また、ロボットRは、ジャイロセンサSR1およびGPS受信器SR2を備えている。
ジャイロセンサSR1は、ロボットRの向きに関するデータ(向きデータ)を検出する。また、GPS受信器SR2は、ロボットRの位置に関するデータ(位置データ)を検出する。ジャイロセンサSR1およびGPS受信器SR2が検出したデータは、主制御部200に出力され、ロボットRの行動を決定するために利用されると共に、主制御部200から無線通信部170を介してロボット管理装置3に送信される。
【0033】
[カメラ]
カメラC,Cは、映像をデジタルデータとして取り込むことができるものであり、例えばカラーCCD(Charge-Coupled Device)カメラが使用される。カメラC,Cは、左右に平行に並んで配置され、撮影した画像は画像処理部100に出力される。このカメラC,Cと、スピーカSおよびマイクMC,MCは、いずれも頭部R4の内部に配設される。
【0034】
[画像処理部]
画像処理部100は、カメラC,Cが撮影した画像を処理して、撮影された画像からロボットRの周囲の状況を把握するため、周囲の障害物や人物の認識を行う部分である。この画像処理部100は、ステレオ処理部101、移動体抽出部102および顔認識部103を備えている。
【0035】
ステレオ処理部101は、左右のカメラC,Cが撮影した2枚の画像の一方を基準としてパターンマッチングを行い、左右の画像中の対応する各画素の視差を計算して視差画像を生成し、生成した視差画像および元の画像を移動体抽出部102に出力する。なお、この視差は、ロボットRから撮影された物体までの距離を表すものである。
【0036】
移動体抽出部102は、ステレオ処理部101から出力されたデータに基づき、撮影した画像中の移動体を抽出するものである。移動する物体(移動体)を抽出するのは、移動する物体は人物であると推定して、人物の認識をするためである。
移動体の抽出をするために、移動体抽出部102は、過去の数フレーム(コマ)の画像を記憶しており、最も新しいフレーム(画像)と、過去のフレーム(画像)を比較して、パターンマッチングを行い、各画素の移動量を計算し、移動量画像を生成する。そして、視差画像と、移動量画像とから、カメラC,Cから所定の距離範囲内で、移動量の多い画素がある場合に、その位置に人物がいると推定し、その所定距離範囲のみの視差画像として、移動体を抽出し、顔認識部103へ移動体の画像を出力する。
【0037】
顔認識部103は、抽出した移動体から肌色の部分を抽出して、その大きさ、形状などから顔の位置を認識する。なお、同様にして、肌色の領域と、大きさ、形状などから手の位置も認識される。
認識された顔の位置は、ロボットRが移動するときの情報として、また、その人とのコミュニケーションを取るため、主制御部200に出力されると共に、無線通信部170に出力されて、基地局1を介して、ロボット管理装置3に送信される。
【0038】
[スピーカ]
スピーカSは、後記する音声合成部111により生成された音声データに基づき、音声を出力する。
【0039】
[マイク]
マイクMC,MCは、ロボットRの周囲の音を集音するものである。集音された音は、後記する音声認識部112および音源定位部113に出力される。
【0040】
[音声処理部]
音声処理部110は、音声合成部111、音声認識部112および音源定位部113を備えている。
【0041】
音声合成部111は、主制御部200の発話行動決定手段270(図12参照)が決定し、出力してきた発話行動の指令に基づき、文字情報から音声データを生成し、スピーカSに音声を出力する部分である。音声データの生成には、予め記憶している文字情報と音声データとの対応関係を利用する。
【0042】
音声認識部112は、マイクMC,MCから音声データが入力され、予め記憶している音声データと文字情報との対応関係に基づき、音声データから文字情報を生成し、主制御部200に出力するものである。
【0043】
音源定位部113は、マイクMC,MC間の音圧差および音の到達時間差に基づいて、音源の位置(ロボットRからの距離および方向)を特定する。
【0044】
[対象検知部]
続いて、図4の対象検知部120と、検知用タグTと、について、図5ないし図8を参照して説明する。図5は、図4の対象検知部を示すブロック図である。図6は、図1の検知用タグを示すブロック図である。図7は、対象検知部による探索域を説明するための図であり、(a)は平面図、(b)は側面図である。図8は、対象検知部による周辺領域のエリア分けを説明するための図である。
対象検知部120は、ロボットRの周囲に検知用タグTを備える検知対象Hが存在するか否かを検知すると共に、検知対象Hの存在が検知された場合、当該検知対象Hの位置を特定するものである。
【0045】
図5に示すように、この対象検知部120は、制御手段121、電波送受信手段122、発光手段123および記憶手段124を備えている。
【0046】
制御手段121は、後記する電波送受信手段122から無線送信される検索信号と、後記する発光手段123から赤外光として出力される方向検査信号とを生成すると共に、検索信号を受信した検知用タグTから送信された受信報告信号を基に、検知対象Hの位置を特定するものである。
ここで、検索信号とは、ロボットRの周囲に検知対象Hが存在するか否かを検知するための信号であり、方向検査信号とは、検知対象HがロボットRを基準としてどの方向に位置するのかを検知するための信号である。
また、受信報告信号とは、検知用タグTが、少なくとも検索信号を受信したことを示す信号である。
【0047】
この制御手段121は、データ処理部121a、暗号化部121b、時分割部121c、復号化部121dおよび電界強度検出部121eを備えている。
【0048】
データ処理部121aは、検索信号および方向検査信号を生成すると共に、検知対象Hの位置を特定するものであり、信号生成部121a1および位置特定部121a2を備えている。
【0049】
信号生成部121a1は、所定時間毎に、若しくはロボットRの主制御部200から電波の発信を命令する信号(発信命令信号)が入力されるたびに、記憶手段124を参照して、対象検知部120が設けられたロボットRに固有の識別番号(以下、ロボットIDという)を取得する。
そして、信号生成部121a1は、当該ロボットIDと、受信報告要求信号とを含んで構成される検索信号を生成する。
ここで、受信報告要求信号とは、検索信号を受信した検知対象H(検知用タグT)に対して、当該検索信号を受信した旨を示す信号(受信報告信号)を生成するように要求する信号である。
【0050】
さらに、信号生成部121a1は、この検索信号を生成する際に、後記する発光手段123から赤外線信号として照射される方向検査信号もまた生成する。
方向検査信号は、発光手段123に設けられた発光部(LED1〜LED8)の総てについて、個別に生成されるものであり、前記したロボットIDと、発光部を特定する識別子(発光部ID)を含んで構成される。
なお、この方向検査信号は、後記する復号化部121dから入力される受信報告信号に発光要求信号が含まれている場合にも生成される。
【0051】
本実施形態の場合、発光部が合計8つ設けられているので、データ処理部121aは、ロボットIDと発光部IDとから構成される方向検査信号を、合計8つ生成する。
例えば、ロボットIDが「02」であり、発光部(LED1〜LED8)の発光部IDが「L1〜L8」である場合、発光部LED1について生成される方向検索信号は、ロボットID=「02」と、発光部ID=「L1」とを含み、発光部LED2について生成される方向検査信号は、ロボットID=「02」と、発光部ID=「L2」とを含むことになる。
【0052】
そして、信号生成部121a1は、方向検査信号と前記した検索信号とを、暗号化部121bに出力する。
なお、位置特定部121a2は、検索信号を受信した検知用タグTから送信された受信報告信号をもとに、検知対象Dの位置を特定するものであるが、その際にこの位置特定部121a2で行われる処理は、復号化部121dおよび電界強度検出部121eにおける処理と共に、後に詳細に説明する。
【0053】
暗号化部121bは、入力された信号を暗号化した後、出力するものである。そして、暗号化部121bは、検索信号の暗号化により得られた検索信号(暗号化検索信号)を、後記する電波送受信手段122に出力する。
これにより、暗号化検索信号は、変調されたのち、電波送受信手段122から無線送信されることになる。
【0054】
一方、暗号化部121bは、データ処理部121aから入力された方向検査信号を、同様にして暗号化する。そして、暗号化部121bは、方向検査信号の暗号化により得られた方向検査信号(暗号化方向検査信号)を、後記する時分割部121cに出力する。
【0055】
本実施の形態の場合、方向検査信号は、前記したデータ処理部121aにおいて発光手段123の発光部ごとに一つずつ生成される。
よって、図5に示すように、発光手段123には合計8つの発光部が設けられているので、暗号化部121bには、合計8つの方向検査信号がデータ処理部121aから入力される。
その結果、合計8つの暗号化方向検査信号がこの暗号化部121bにおいて生成され、時分割部121cに出力されることになる。
【0056】
時分割部121cは、発光手段123の各発光部(LED1〜LED8)の発光順序と、発光タイミングを設定するものである。
具体的には、暗号化部121bから暗号化方向検査信号が入力されると、時分割部121cは、各発光部(LED1〜LED8)の発光順序および発光タイミングを決定し、決定した発光順序および発光タイミングで、暗号化方向検査信号を発光手段123に出力する。
【0057】
例えば、発光部LED1、発光部LED4、発光部LED7、発光部LED2、発光部LED5、発光部LED8、発光部LED3、そして発光部LED6の順番で、各発光部を0.5秒間隔で発光させる場合、時分割部83は、暗号化方向検査信号を0.5秒間隔で、発光部LED1の変調部、発光部LED4の変調部、発光部LED7の変調部、発光部LED2の変調部、発光部LED5の変調部、発光部LED8の変調部、発光部LED3の変調部、そして発光部LED6の変調部という順番で出力する。
【0058】
本実施の形態の場合、合計8つの暗号化方向検査信号が時分割部121cに入力される。そして、これら暗号化方向検査信号は、前記したデータ処理部121aにおいて、出力される発光部があらかじめ決められている。
したがって、時分割部121cは、暗号化方向検査信号が入力されると、暗号化方向検査信号に含まれる発光部IDを確認し、発光部IDにより特定される発光部に隣接する変調部に向けて、決められた順序およびタイミングで、暗号化方向検査信号を出力する。
例えば、発光部(LED1〜LED8)の発光部IDが「L1〜L8」で規定される場合、時分割部121cは、発光部IDが「L1」である暗号化方向検査信号を、発光部LED1に隣接する変調部に出力し、発光部IDが「L2」である暗号化方向検査信号を、発光部LED2に隣接する変調部に出力することになる。
【0059】
発光手段123は、ロボットRを基準として当該ロボットRの周囲において予め設定された探索域に向けて光を照射するものである。
発光手段123は、複数の発光部(LED1〜LED8)と、各発光部に対応させて設けられた変調部と、を備えている。
【0060】
変調部は、時分割部121cから入力された暗号化方向検査信号を、所定の変調方式で変調し、変調信号とするものである。
発光部は、変調信号を赤外線信号(赤外光)として、予め決められた探索域に向けて照射するものである。
【0061】
本実施形態では、検知対象Hの位置を特定するために、ロボットRの周囲の領域が複数の探索域に区分されている(図7(a)参照)。そして、この探索域に向けて赤外光を発光する発光部として、発光ダイオードが探索域毎に一つずつ用意されている。
【0062】
具体的には、図7(a)に示す例の場合、ロボットRを中心として、全周方向、すなわち360度方向に、合計8つの探索域D1〜D8が設定されている。
言い換えると、ロボットRを中心として、ほぼ扇形の探索域D1〜D8がロボットRを取り囲むように複数設定されており、ロボットRは、これら扇形の探索域で囲まれた領域のほぼ中心に位置している。
【0063】
したがって、図7(a)に示す例の場合、各探索域に向けて赤外光の照射が可能となるように、ロボットRの頭部R3には、その外周に沿って合計8つの発光部が、それぞれ対応する探索域に向けて設けられている。
【0064】
また、図7(a)から明らかなように、ロボットRの正面側の探索域D1〜D3は、他の探索域D4〜D8に比べて狭くなるように設定されている。
【0065】
このように探索域D1〜D8を設定するのは、ロボットRが検知対象Hを検知し、検知対象Hの方向に顔を向ける動作を行う時に、ロボットRの顔の正面(これを視線の方向という)と、検知対象Hの位置とのズレが生じると、ロボットRの視線が自分の方を向いていないと検知対象Hが感じる場合があるという問題を解決するためである。
ここで、この問題を解決する方法の一つとして、探索域の数を多くするという方法が考えられる。しかし、必ずしも全周の探索域の数を増やす必要はなく、前方のみの探索域を増やして、前方側の位置特定を細かくできるようにすることで、検知対象Hの位置する方向にロボットRの視線の方向を向けることができる。また、こうすることにより、発光部の数を少なく構築できる。
【0066】
そのため、本実施の形態の場合、ロボットRの正面側の探索域D1〜D3の赤外光の照射範囲を狭くすることで、ロボットRの正面側にある探索域D1〜D3内における検知対象Hの位置をより正確に特定できるようにしているのである。
これにより、検知対象Hが人であり、かつロボットRのカメラC,Cで人の顔の撮像を行う場合に、ロボットRの正面側における検知対象Hの位置特定をより正確に行って、ロボットRの移動制御やカメラC,Cの画角の調整に反映させることができるので、ロボットRのカメラC,Cを、検知対象Hである人の顔の正面にきちんと位置させることが可能となる。
【0067】
図5に示すように、電波送受信手段122は、ロボットRの周辺領域に向けて電波を発信すると共に、当該電波を受信した検知対象Hから送信された受信報告信号を受信するものである。
この電波送受信手段122は、変調部122aと、復調部122bと、送受信アンテナ122cと、を備えている。
【0068】
変調部122aは、データ処理部121aから入力された検索信号(実際には、暗号化検索信号)を所定の変調方式で変調して変調信号とした後、これを、送受信アンテナ122cを介して無線送信するものである。
【0069】
復調部122bは、検知対象Hの検知用タグTから無線送信された変調信号を、送受信アンテナ122cを介して受信し、受信した変調信号の復調により、受信報告信号(実際には、暗号化受信報告信号)を取得するものである。
そして、この復調部122bは、取得した受信報告信号を、制御手段121の復号化部121dと電界強度検出部121eとに出力するものである。
【0070】
復号化部121dは、暗号化された受信報告信号である暗号化受信報告信号を復号化して、受信報告信号を取得し、取得した受信報告信号を、データ処理部121aに出力するものである。
【0071】
本実施形態の場合、受信報告信号には、後に詳細に説明するが、発光部IDとロボットIDとタグ識別番号とが少なくとも含まれているので、復号化部121dは、これらをデータ処理部121aに出力することになる。
なお、受信報告信号に発光要求信号が含まれていた場合、この発光要求信号もまたデータ処理部121aに出力されることになる。
【0072】
電界強度検出部121eは、検知対象Hの検知用タグTから送信された変調信号を電波送受信手段122が受信した際に、当該変調信号の強度を求めるものである。
具体的には、電界強度検出部121eは、電波送受信手段122の復調部122bから入力された、暗号化受信報告信号の電力を検波し、この検波された電力の平均値を電界強度として求め、この求めた電界強度をデータ処理部121aに出力する。
【0073】
データ処理部121aの位置特定部121a2は、検知対象Hの位置を特定するものである。
具体的には、検知対象Hの検知用タグTから送信された変調信号を電波送受信手段122において受信した際の、当該変調信号の電界強度から、ロボットRから検知対象Hまでの距離を求める。さらに、位置特定部121a2は、受信報告信号に含まれる発光部IDを参照して、検知対象Hが受信した光が、どの発光部から発光されたのかを特定し、特定された発光部の発光方向を、すなわち当該発光部に対応する探索域の方向を検知対象Hの存在する方向とみなし、検知対象Hの位置を特定するものである。
【0074】
本実施形態の場合、はじめに、位置特定部121a2は、復号化部121dから入力された受信報告信号の中からロボットIDを取得する。そして取得したロボットIDと記憶手段124に記憶されたロボットIDとを比較し、両ロボットIDが一致した場合、位置特定部121a2は、検知対象Hの位置の特定を開始する。
【0075】
また、本実施形態の場合、図8に示すように、ロボットRの周辺領域は、ロボットRからの距離に応じて4つのエリアに区分されている。すなわち、ロボットRからの距離が短い順に、エリアD11、エリアD12、エリアD13、そしてエリアD14と定義されている。
この各エリアと電界強度とは、電界強度の大きさを基準として予め関連づけられており、この関連づけを示すテーブル(距離テーブル)が、記憶手段124に記憶されている。
【0076】
したがって、位置特定部121a2は、電界強度検出部121eから入力された電界強度をもとに、記憶手段124に記憶された距離テーブルを参照し、受信報告信号を発信した検知対象Hがどのエリアにいるのかを示す情報(エリア情報)を取得する。
例えば、電界強度検出部121eから入力された電界強度が、エリアD13を規定する閾値間の値である場合、位置特定部121a2は、エリアD13を示す情報(エリア情報)を取得する。
【0077】
さらに、位置特定部121a2は、復号化部121dから入力された受信報告信号に含まれる発光部IDを参照して、受信報告信号を送信した検知対象Hが、ロボットRの発光手段123のどの発光部から発光された光を受信したのかを特定し、特定された発光部の発光方向を示す情報(方向情報)を取得する。
【0078】
本実施の形態の場合、図7(a)に示すように、ロボットRの周辺領域には、ロボットRを基準として合計8つの探索域D1〜D8が設定されている。
そして、記憶手段124には、各発光部がどの探索域に向けて設置されているのかを示すテーブル(方向テーブル)が記憶されている。
【0079】
したがって、データ処理部121aは、発光部IDをもとに記憶手段124に記憶された方向テーブルを参照し、当該発光部IDを持つ発光部から発せられる赤外光が、予め設定された探索域D1〜D8のうち、どの領域に照射されるのかを確認する。そして、データ処理部121aは、確認された探索域を示す情報を、検知対象Hが存在する方向を示す情報(方向情報)として取得する。
【0080】
そして、位置特定部121a2は、取得したエリア情報と方向情報とから検知対象Hの位置を示す情報(位置情報)を生成する。
これにより、ロボットRが受信した受信報告信号の強度と、この受信報告信号に含まれる発光部IDとから、ロボットRと検知対象Hとの位置関係が特定される。言い換えれば、検知対象Hが、ロボットRを基準としてどの方向に、どれだけ離れた位置に存在するのか、すなわち、検知対象Hの位置が特定される。
【0081】
そして、位置特定部121a2は、位置情報を、復号化部121dから入力された受信報告信号に含まれるタグ識別番号と共に、ロボットRの主制御部200に出力する。
これにより、ロボットRの主制御部200は、自律移動制御部150を制御して、ロボットRを検知対象Hの正面に移動させることや、検知対象Hが人である場合、カメラC,Cの仰角や向きを修正して、当該検知対象Hの顔の撮像を行うことが可能となる。
【0082】
なお、受信報告信号に発光要求信号が含まれている場合、信号生成部121a1は方向検査信号を生成し、暗号化部121bに出力する。これにより、発光手段123の各発光部から赤外線信号が発光されることになる。
【0083】
[検知用タグ]
検知用タグTは、ロボットRから送信された電波と、照射された光とを受信し、これらを受信したことを示す受信報告信号を、ロボットRに送信するものである。
本実施の形態では、検知用タグTが取り付けられた人が検知対象Hであるので、ロボットRから送信された電波と照射された光は、この検知用タグTにおいて受信される。よって、この検知用タグTについて以下に説明する。
【0084】
図6に示すように、この検知用タグTは、電波送受信手段125と、光受信手段126と、受信報告信号生成手段127と、記憶手段128と、を備えている。
【0085】
電波送受信手段125は、ロボットRから無線送信された変調信号を受信すると共に、後記する受信報告信号生成手段127において生成された受信報告信号を、変調した後、ロボットRに向けて無線送信するものである。
この電波送受信手段125は、送受信アンテナ125aと、復調部125bと、変調部125cと、を備えている。
【0086】
復調部125bは、ロボットRから発信されると共に、送受信アンテナ125aを介して受信した変調信号を復調し、検索信号(実際には、暗号化検索信号)を取得し、取得した検索信号を後記する受信報告信号生成手段127に出力するものである。
【0087】
変調部125cは、後記する受信報告信号生成手段127の暗号化部127cから入力された暗号化後の受信報告信号(暗号化受信報告信号)を変調して変調信号を生成すると共に、当該変調信号を、送受信アンテナ125aを介して、無線送信するものである。
【0088】
光受信手段126は、ロボットRから照射された赤外光を受光するものである。
この光受信手段126は、受光部126aと、光復調部126bと、を備えている。
受光部126aは、ロボットRから照射された赤外光(赤外線信号)を直接受光するものである。
光復調部126bは、受光部126aにおいて受光した赤外線信号を復調して、方向検査信号(実際には、暗号化方向検査信号)を取得するものである。
【0089】
具体的には、光受信手段126は、ロボットRから照射された赤外光を受光部126aで受光すると、受光した赤外線信号を光復調部126bにおいて復調して、暗号化方向検査信号を取得する。そして、取得した暗号化方向検査信号を受信報告信号生成手段127に出力する。
【0090】
受信報告信号生成手段127は、ロボットRから発信された検索信号を電波送受信手段125で受信した場合、この検索信号に含まれる受信報告要求信号に従って、ロボットRから発信された検索信号を受信したことを示す信号(受信報告信号)を生成するものである。
この受信報告信号生成手段127は、復号化部127aと、データ処理部127bと、暗号化部127cと、を備えている。
【0091】
復号化部127aは、入力された暗号化信号を復号化して、信号を取得するものである。
この復号化部127aは、電波送受信手段125から入力された暗号化検索信号と、光受信手段126から入力された暗号化方向検査信号とを復号化して、検索信号と方向検査信号とを取得する。そして、復号化部127aは、取得した検索信号と方向検査信号とを後段のデータ処理部127bに出力する。
【0092】
データ処理部127bは、受信報告信号を生成するものである。
ここで、本実施形態の場合、検索信号には、検索信号を発信したロボットRを特定する識別子であるロボットIDと、当該電波を受信した検知対象Hに対し、所定の処理を命ずる受信報告要求信号とが含まれている。
また、方向検査信号には、方向検査信号を発信したロボットRを特定する識別子であるロボットIDと、方向検査信号を発信した発光部を特定する発光部IDとが含まれている。
【0093】
したがって、データ処理部127bは、検索信号が入力されると、この検索信号に含まれる受信報告要求信号に従って、この検知用タグTの光受信手段126を待機状態から起動状態にする。
そして、光受信手段126を起動状態にした後、所定時間経過するまでの間に方向検査信号が入力された場合、データ処理部127bは、方向検査信号に含まれるロボットIDと、検索信号に含まれるロボットIDとを比較する。
【0094】
データ処理部127bは、両ロボットIDが一致した場合、記憶手段128を参照し、検知用タグTに割り当てられた固有の識別番号(タグ識別番号)を取得する。
続いて、データ処理部127bは、タグ識別番号と、検索信号に含まれていたロボットIDと、そして方向検査信号に含まれていた発光部IDとを含んで構成される受信報告信号を生成し、生成した受信報告信号を暗号化部127cに出力する。
【0095】
一方、検知用タグTの光受信手段126を起動状態にした後、所定時間経過しても方向検査信号が入力されない場合、または検索信号に含まれていたロボットIDと方向検査信号に含まれていたロボットIDとが異なる場合、データ処理部127bは、発光要求信号をさらに含む受信報告信号を生成し、生成した受信報告信号を、暗号化部127cに出力する。
ここで、発光要求信号とは、検知装置であるロボットRに対して、赤外光を発光するように命令する信号である。
【0096】
暗号化部127cは、入力された受信報告信号を暗号化して、暗号化受信報告信号とした後、これを電波送受信手段125に出力する。
これにより、暗号化受信報告信号は、前記した電波送受信手段125の変調部125cにおいて変調された後、送受信アンテナ125aを介して、無線送信されることになる。
【0097】
[床面検知部]
続いて、図4の床面検知部130について、図9および図10を参照して説明する。図9は、図4の床面検知部を示すブロック図である。図10は、床面検知部による撮像領域を説明するための図であり、(a)は平面図、(b)は側面図である。
【0098】
図9に示すように、床面検知部130は、カメラC1,C1と、レーザ照射部131と、赤外線LED132と、制御部133と、切替回路134と、を備えている。
【0099】
カメラC1,C1は、映像をデジタルデータとして取り込むことができるものであり、例えば、カラーCCDカメラが使用される。カメラC1,C1は、左右に平行に並んで配置され、撮影した画像は制御部133に出力される。このカメラC1,C1と、レーザ照射部131および赤外線LED132は、いずれも上体部R2の内部に配設される。このカメラC1,C1は、上体部R2の下端部に、ロボットRの前方下方の床面を撮像するために設けられたものであり、その撮像領域D21は、図10に示されている。
【0100】
レーザ照射部131は、レーザスリット光を撮像領域D21内に照射するためのものである。
【0101】
赤外線LED132は、赤外光を撮像領域D21内に照射するためのものである。
【0102】
制御部133は、カメラC1,C1によって撮像された画像に基づいて、床面にある障害物を検出する。
【0103】
床面に障害物がある場合には、レーザ照射部131によって照射されたレーザスリット光の反射光が、障害物の形状に沿って歪み、カメラC1,C1が、この歪みを撮像する。制御部133は、この歪みを検出することによって、ロボットRに対する障害物の位置や障害物の形状を検出する。この検出データは、主制御部200に出力される。
【0104】
また、床面に再帰性反射材によるマーカがある場合には、赤外線LED132によって照射された赤外光がマーカによって反射され、カメラC1,C1が、この反射光を撮像する。制御部133は、この反射光を検出することによって、ロボットRに対するマーカの位置を検出する。この検出データは、主制御部200に出力される。
【0105】
切替回路134は、制御部133からの切替信号に基づいて、レーザ照射部131および赤外線LED132のいずれか一方を起動状態とするための回路である。
【0106】
制御部133は、切替回路134を切り替えるための切替信号を生成する。
制御部133は、GPS受信器SR1によって検出されたロボットRの位置データと、ジャイロセンサSR2によって検出されたロボットRの向きデータと、地図データに含まれるマーカの位置データと、に基づいて、ロボットRとマーカとの距離が所定値以下であり、かつ、ロボットRがマーカの方向に向いているか否かを判定する。この条件を満たした場合には、制御部133は、赤外線LED132を起動状態とするための切替信号を生成し、切替回路134に出力する。この条件を満たさない場合には、制御部133は、レーザ照射部131を起動状態とするための切替信号を生成し、切替回路134に出力する。
このようにすることで、ロボットRがマーカに近づいているときのみに赤外線LED132を駆動し、それ以外の場合にはレーザ照射部131を駆動することが可能となる。そのため、カメラC1,C1を障害物検知およびマーカ検知の両方に活用することが可能となる。すなわち、障害物検知用のカメラとマーカ検知用のカメラとを別体に設ける必要がなくなり、ロボットRの上体部R2内のスペースの有効利用が図られる。
【0107】
[障害物検知部]
続いて、図4の障害物検知部140について、図11および図12を参照して説明する。図11は、図4の障害物検知部を示すブロック図である。図12は、障害物検知部による検知領域を示す図であり、(a)は平面図、(b)は側面図である。
【0108】
図11に示すように、障害物検知部140は、6個の超音波センサ141a,141b,141c,141d,141e,141fと、制御部142と、を備えている。
【0109】
超音波センサ141a〜141fは、送受兼用型のセンサであり、超音波を発生し、所定距離内に障害物(人などの移動体も含む)がある場合に生じる反射波を受信するためのセンサである。この超音波センサ141a〜141fは、上体部R2の内部に配設される。
超音波センサ141aは、ロボットRの前方の障害物を検知するためのものであり、その検知領域D31は、図12(a)、(b)に示されている。
超音波センサ141b〜141fは、ロボットRの側方〜後方の障害物を検知するためのものであり、その検知領域D32〜D36は、図12(a)に示されている。
すなわち、超音波センサ141aは検知領域D31(前方)を、超音波センサ141bは検知領域D32(右方)を、超音波センサ141cは検知領域D33(右後方)を、超音波センサ141dは検知領域D34(後方)を、超音波センサ141eは検知領域D35(左後方)を、超音波センサ141fは検知領域D36(左方)を、それぞれ検知する。
超音波センサ141a〜141fが障害物を検知した場合には、検知した超音波センサの識別番号を含む障害物検知連絡信号を制御部142に出力する。
【0110】
制御部142は、超音波センサ141a〜141fが出力した障害物検知連絡信号と、超音波センサ141a〜141fの配置方向を記憶したテーブルと、に基づいて、ロボットRの所定距離内どの方向に障害物があるのか、を判定する。超音波センサ141a〜141bが発生する超音波は透明な物質でも反射するので、障害物検知部140はガラスなどの透明な障害物も検知することができる。
この障害物の方向データは、主制御部200に出力される。
【0111】
[自律移動制御部]
図4に示すように、自律移動制御部150は、頭部制御部151、腕部制御部152および脚部制御部153を備えている。
頭部制御部151は、主制御部200の指示に従い頭部R4を駆動し、腕部制御部152は、主制御部200の指示に従い腕部R2を駆動し、脚部制御部153は、主制御部200の指示に従い脚部R1を駆動する。これら自律移動制御部150、頭部R4、腕部R2および脚部R1の組み合わせが、特許請求の範囲における「自律移動手段(自律移動装置)」の一例である。
【0112】
[把持部制御部]
把持部制御部160は、主制御部200の指示に従い把持部71を駆動する。
【0113】
[無線通信部]
無線通信部170は、ロボット管理装置3とデータの送受信を行う通信装置である。無線通信部170は、公衆回線通信装置171および無線通信装置172を備えている。
公衆回線通信装置171は、携帯電話回線やPHS(Personal Handyphone System)回線などの公衆回線を利用した無線通信手段である。一方、無線通信装置172は、IEEE802.11b規格に準拠するワイヤレスLANなどの、近距離無線通信による無線通信手段である。
無線通信部170は、ロボット管理装置3からの接続要求に従い、公衆回線通信装置171または無線通信装置172を選択してロボット管理装置3とデータ通信を行う。
【0114】
[把持部]
続いて、ロボットRの把持部71R(L)について、図13ないし図15を参照してさらに詳しく説明する。図13は、ロボットの把持部を示す斜視図であり、指開状態を示す図である。図14は、ロボットの把持部を示す斜視図であり、指閉状態を示す図である。図15は、ロボットの把持部、開度検出手段および6軸力センサを示すブロック図である。なお、一対の把持部71R,71Lは鏡面対称であり、図13および図14には、左側の把持部71Lが示されている。以下、場合により、R,Lを除いた符号を用いて説明する。
【0115】
図13および図14に示すように、把持部71は、掌部72と、第一指部73と、第二指部74と、を備えている。
掌部72は、手首関節部36,37を介して前腕リンク55に連結されている(図3参照)。
第一指部73は、人間の親指に相当する部分であり、第一指関節部73aを介して掌部72の基端側に連結されている。
第二指部74は、人間の示指、中指、環指、小指に相当する部分であり、第二指関節部74aを介して掌部72の先端側に連結されている。
また、掌部72内には、第一指部73を駆動するための第一指部用モータ73bと、第二指部74を駆動するための第二指部用モータ74bとが内蔵されている。また、掌部72には、第一指部角度α(第一指部73と掌部72との角度)を検出する第一指部角度検出手段83と、第二指部角度β(第二指部74と掌部72との角度)を検出する第二指部角度検出手段84と、が内蔵されている(図15参照)。
【0116】
第一指部角度αは、第一指部73と掌部72とがなす角度であり、指開状態から指閉状態に向かって大きくなる。この第一指部角度αは、図13に示す指開状態(把持時全開)でα1、図13に示す指閉状態(把持時全閉)でα2である(α1≦α≦α2)。
第二指部角度βは、第二指部74と掌部72とがなす角度であり、指開状態から指閉状態に向かって大きくなる。この第二指部角度βは、図12に示す指開状態(把持時全開)でβ1(=0)、図14に示す指閉状態(把持時全閉)でβ2である(0≦β≦β2)。
【0117】
(主制御部200)
続いて、図4の主制御部200について、図16を参照して説明する。図16は、図4の主制御部を示すブロック図である。
【0118】
(主制御部)
図16に示すように、主制御部200は、行動管理手段210、人特定手段220、移動行動決定手段230、挨拶行動決定手段240、受取/受渡行動決定手段250および計時手段260を備えている。
【0119】
(行動管理手段)
行動管理手段210は、ロボット管理装置3から送信された実行命令信号を取得し、この実行命令信号に基づき、人特定手段220、移動経路決定手段230、挨拶行動決定手段240および受取/受渡行動決定手段250を制御する。
また、行動管理手段210は、現在位置データ生成手段211、実行状況データ生成手段212およびコミュニケーション結果取得手段213を備えている。
また、現在位置データ生成手段211は、GPS受信器SR2によって検出されたロボットRの位置データに基づいてロボットRの現在位置を示す現在位置データを生成し、ロボット管理装置3に出力する。この現在位置データは、GPS受信器SR2によって検出されたロボットRの位置データにロボットRの識別番号を付与したものである。
実行状況データ生成手段212は、ロボットRの駆動状況に基づいて、ロボットRのタスク実行状況を報告するためのタスク実行状況データ(行動報告信号)を生成し、ロボット管理装置3に出力する。この実行状況データは、ロボットの実行状況にロボットRの識別番号を付与したものである。
例えば、ロボットRのタスクが物品の運搬である場合には、実行状況として以下のものが考えられる。
1 受取前
2 受取中
3 運搬中
4 受渡中
5 運搬完了
実行状況データ生成手段212は、ロボットRの状態(各モータの駆動状況など)に基づいて、ロボットRの実行状況を1〜5のいずれかに設定し、設定された実行状況を含む実行状況データを生成し、ロボット管理装置3に出力する。
コミュニケーション結果取得手段213は、ロボットが人とコミュニケーションすることによって取得したデータ(画像データ、音声データなど)を、ロボット管理装置3に出力する。コミュニケーション結果取得手段213は、ロボットRのタスク実行状況に関わらず、すなわち、ロボットRがタスクを実行中であってもコミュニケーション結果データを取得可能である。
また、行動管理手段210は、シナリオデータ要求信号を生成し、ロボット管理装置3に出力する。
【0120】
なお、現在位置データおよびタスク実行状況データは定期的に生成され、ロボット管理装置3に出力される。
【0121】
(人特定手段)
人特定手段220は、人データ記憶部310(図17参照)に記憶された人情報と、対象検知部120によって取得されたタグTのタグ識別番号と、に基づいて、対象検知部によって検知された人(検知対象)が誰であるかを特定する。人データ記憶部310には、その人の名前と、その人固有のタグTのタグ識別番号とが関連付けて記憶されているので、これらのデータと、実行命令信号とを参照することによって、ロボットR近傍にいる人が、タスク実行に関係ある人であるか否かを判定することができる。
さらに、人特定手段220は、移動体抽出部102で抽出された移動体の位置データと、対象検知部120で検知された検知対象の位置データと、に基づいて、カメラC,Cで撮像された移動体が誰であるかを特定する。
【0122】
(移動行動決定手段)
移動行動決定手段230は、ロボットRの自律移動の内容を決定するためのものである。
移動経路決定手段231は、タスク実行命令信号と、ロボットRの位置データと、ロボットRの向きデータと、人データと、地図データと、に基づいて、ロボットRの移動経路を決定する。また、画像処理部100、床面検知部130および障害物検知部140のいずれかが障害物を検知した場合には、移動経路決定手段231は、検知した障害物を回避するように移動経路を生成する。
【0123】
(受取/受渡行動決定手段)
受取/受渡行動決定手段240は、物品運搬作業に伴う把持部71の行動(動作)内容を決定するためのものである。
【0124】
続いて、図4のロボット管理装置3について説明する。図17は、図4のロボット管理装置を示すブロック図である。
図17に示すように、ロボット管理装置3は、記憶部300、制御部400および入出力手段500を備えている。制御部400は、入出力手段500を介して、ロボットRとのデータの送受信を行う。
【0125】
(記憶部)
記憶部300は、人データ記憶部310、地図データ記憶部320、ロボットデータ記憶部330、発話データ記憶部340、音声認識データ記憶部350およびシナリオデータ記憶部360を備えている。
【0126】
人データ記憶部310は、タスク実行エリアEAであるオフィス内にいる人に関するデータ(人データ)を、それぞれ関連付けて記憶している。
人データとしては、人識別番号(ID)、名前、所属、タグ識別番号、通常居場所、机位置、顔画像などに関するデータが含まれる。
【0127】
地図データ記憶部320は、タスク実行エリアEAの地形(壁位置、机位置など)に関するデータ(地図データ)を記憶している。
【0128】
ロボットデータ記憶部330は、タスク実行エリアEAに配置されたロボットRA,RBに関するデータを、それぞれ関連付けて記憶している。
ロボットデータとしては、ロボット識別番号、現在位置、バッテリ量、タスク実行状況などに関するデータが含まれる。このうち現在位置データおよびタスク実行状況データは、定期的に更新されている。
【0129】
発話データ記憶部340は、ロボットRが発話するためのデータ(発話データ)を記憶している。
【0130】
音声認識データ記憶部350は、ロボットRが音声認識するためのデータ(音声認識データ)を記憶している。
【0131】
シナリオデータ記憶部360は、ロボットRに一連の動作(シナリオ)を実行させるためのデータを記憶している。ここでいうシナリオデータとは、ロボットRに一連の動作(人特定、移動行動、挨拶行動、受取/受渡行動など)を実行させるための、各関節部(電動モータ)の駆動量、駆動順序などを含むデータであり、ロボットRは、このシナリオデータに基づいて、シナリオを実行する。
【0132】
タスクデータ記憶部370は、端末5から送られたタスクデータを記憶する。また、タスクデータ記憶部370は、後記するタスクデータ生成手段414によって生成されたタスクデータを記憶する。
【0133】
制御部400は、タスク管理手段410およびデータ管理手段420を備えている。
【0134】
タスク管理手段410は、ロボットRに実行させるためのタスクを管理するためのものであり、タスクデータ取得手段411、タスクスケジューリング手段412、実行命令信号生成手段413およびタスクデータ生成手段414を備えている。
【0135】
タスクデータ取得手段411は、端末5から送られたタスクデータを取得する。取得されたタスクデータは、タスクデータ記憶部270に記憶される。
【0136】
タスクスケジューリング手段412は、タスクをロボットRに実行させるため、タスクのスケジューリングを行う。以下、タスクのスケジューリングの一例について説明する。
【0137】
タスクスケジューリング手段412は、タスクデータ記憶部370に記憶されている複数のタスクデータのうち、未実行および実行中のタスクデータについて、それぞれ優先度データを生成する。
タスクの優先度データ「P」は、以下の式(1)によって算出される。
【0138】
【数1】
【0139】
ここで、前記式(1)における「T’pri」は、以下の式(2)によって算出される。
【0140】
【数2】
【0141】
ここで、「Tpri」は、「タスクの重要度(調整前)」である。「Tpri」は、例えば、1.0(重要度低)から0.5間隔で5.0(重要度高)までの値であり、オペレータによる端末5の操作によって入力された値や、個人ID(役職など)などから算出された値が用いられる。本実施形態では、人データ記憶部310に記憶された人データにより「Tpri」を決定する。
また、「Tsp」は、タスクの開始位置から最も近傍のロボットRまでの移動距離を、ロボットRの平均歩行速度で割った値、すなわち、「最も近傍のロボットRがタスクの開始位置まで移動するのにかかる時間」であり、「n(Tsp)」は、「ロボットRに近傍のタスクを優先して実行させるための重要度」である。「n(Tsp)」の値は、タスク開始位置と、最も近傍のロボットRの位置との距離が小さいほど大きくなる値である。すなわち、「n(Tsp)」は、タスク開始位置の近くにロボットRが位置するほど、タスクの重要度が大きくなるようにはたらく値である。本実施形態では、「Tsp」が所定値以下である場合にのみ、「n(Tsp)」が所定の正の値をとる(その他は0)ものとする。これらの値を算出するための値として、タスクの開始位置はタスクデータ記憶部370に記憶されたタスクデータと、人データ記憶部310に記憶された人データと、に基づいて決められる。また、ロボットRの現在位置は、ロボットデータ記憶部330に記憶されたものを用いる。このようにして算出された「T’pri」は「調整済みタスク重要度」であり、以下、かかる「T’pri」のことを、単に「タスクの重要度」と呼ぶこととする。
【0142】
また、前記式(1)における「f(Terr)」は、「重要度の時的変化係数」であり、以下の式(3)によって算出される。
【0143】
【数3】
【0144】
ここで、「Terr」は、「時間余裕」であり、「(現在の時刻)−(タスク開始予定時刻)」である。すなわち、時間余裕「Terr」は、タスク開始予定時刻よりも前では、正の値をとる。そして、時間の経過とともに小さくなり、タスク開始予定時刻を過ぎると、負の値をとる。
また、「Ttime」は、「タスクを実行するのに必要な時間」であり、「(タスク終了予定時刻)−(タスク開始予定時刻)」である。
また、「Cobli」は、「忘却係数」であり、「f(Terr)」の下り勾配、すなわち、優先度データ「P」の下り勾配を決める値である。
【0145】
(Terr>Ttime)
タスク開始予定時刻が迫ると(時間余裕「Terr」が正から0に近づくと)、「f(Terr)」が上昇する。そして、「時間余裕」が「タスクを実行するのに必要な時間」以下になると、「f(Terr)」は「1」となる。これは、以下の理由による。
タスクをタスク終了予定時刻までに実行完了するためには、タスク開始予定時刻よりも前にタスクを開始しなければならない。したがって、「f(Terr)」は、タスク開始予定時刻が近づくにつれて大きくなり、Terr=Ttime(すなわち、現在時刻がタスク開始予定時刻と一致したとき)で最大となるように設定されている。
また、式(1)の優先度データ「P」に対し、タスクの重要度「T’pri」よりも時間余裕「Terr」の項の方が重要であるため、f(Terr)として非線形な勾配を採用した。この勾配はTtimeに依存しており、Ttimeが大きいほど勾配が緩やかになるように設定されている。
【0146】
(0≦Terr≦Ttime)
現在時刻がタスク開始予定時刻とタスク終了予定時刻の間となる場合である。この時間内にタスクを開始しても、タスク終了予定時刻までに終了することはできず、できるだけ早くタスクを開始する必要がある時間帯である。そのため、「f(Terr)」は最大値「1」をとる。
【0147】
(0>Terr>−Cobli・Ttime)
そして、現在時刻がタスク終了予定時刻を過ぎると(時間余裕「Terr」が0より小さくなると)、「f(Terr)」が次第に下降して「0」となり、タスクを忘却する。
【0148】
このように、時間(時刻)に関するデータ、位置に関するデータ、重要度に関するデータに基づいて優先度データ「P」を生成するので、タスクの優先度として好適な値を得ることができ、かかる優先度データ「P」は、後記するスケジュールデータの生成に使用可能である。
【0149】
タスクスケジューリング手段412は、生成した優先度データに基づいて、タスクをロボットごとに割り当ててスケジュールデータを生成するものである。
ここでスケジュールデータとは、各タスクデータについて、「どのロボットRに、どの実行順位で実行させるか、」を決定するためのデータである。すなわち、スケジュールデータは、実行させるロボットRに関するロボットIDと、実行順位データと、を含んでいる。また、タスクを割り当てた際に、各タスクの開始予定時刻および終了予定時刻が改めて生成されており、これらもスケジュールデータに含まれている。
【0150】
以下、スケジュールデータ生成の手順について説明する。あるロボット(i)が、あるタスク(j)を実行したときにかかる時間「Cij」は、式(4)によって算出される。
【0151】
【数4】
【0152】
ここで、「Wr」は、「タスク開始位置までの歩行にかかる時間」である。この「Wr」は、ロボットデータ記憶部330に記憶されたロボットRの現在位置と、タスク開始位置と、地図データ記憶部320に記憶された地図データと、ロボットRの平均移動速度と、に基づいて算出される。
また、「Wrh」は、「タスク実行中の移動にかかる時間」である。この「Wrh」は、開始位置およびタスク終了位置と、地図データ記憶部320に記憶された地図データと、ロボットRの平均移動速度と、に基づいて算出される。
また、「G(task type)」は、「タスク実行中に、ロボットの来訪者とのコミュニケーション(ジェスチャー、会話など)にかかる時間」である。この「G(task type)」は、タスクの種類(挨拶、受付、案内など)によって予め定められた値が、記憶部300に記憶されている。
【0153】
また、m個のタスクをn台のロボットRに割り当てる際のある組み合せを「k」、全ての組み合わせを表現する重複順列を「M(k) (1≦k≦nm)」とし、その要素を「xij」とすると、割り当てられたタスクによる各ロボットの動作量に関するコスト(主に移動距離に依存する)「Cr(i)」は、式(5)によって算出される。
【0154】
【数5】
【0155】
ロボット制御システムA全体の動作量に関する総コスト「Call」(以下、動作コストと呼ぶ)は、各ロボットのコスト「Cr(i)」の総和であり、式(6)によって算出される。
【0156】
【数6】
【0157】
また、全てのタスクを終了するまでの時間に関するコスト「Call complete」(以下、時間コストと呼ぶ)は、各ロボットに割り当てられた全タスクのうちの、最先の開始予定時刻から最後の終了予定時刻(これらの時刻は、タスクスケジューリング手段412で生成された値である)までの時間であり、式(7)によって算出される。
【0158】
【数7】
【0159】
そして、動作コスト「Call」および時間コスト「Call complete」の両方を考慮することによって最適化されたコスト「Copt」は、式(8)によって算出される。
【0160】
【数8】
【0161】
ここで、「w」は、「ロボットの動作およびタスクを終了するまでの時間に関する重み」である。すなわち、「w」が大きいと、動作重視となり、「w」が小さいと、時間重視となる。この「Copt」が最小となる組み合わせ「k」が、複数のタスクを複数のロボットに実行させるための最適なスケジュールである。
【0162】
ここでいう動作重視とは、ロボットRの動作量を抑えることを重視することを指す。また、時間重視とは、タスクを早く終了することを重視することを指す。例えば、ある狭い位置領域で実行するタスクが複数存在している場合について考える。かかる複数のタスクを、最も近傍に位置するロボットR一台に実行させると、全体としてのロボットRの動作量を抑えることができる(動作重視)が、一台で処理するため時間がかかる(時間軽視)。一方、複数のロボットに実行させると、タスクを早く終了することができる(時間重視)が、遠くのロボットRを移動させることになり、全体としてのロボットRの動作量が大きくなる(動作軽視)。すなわち、動作重視および時間重視は両立するとは限らず、wの値を設定することで、どちらを重視するかを選択することができる。
【0163】
続いて、タスクのスケジューリングの例について説明する。図18は、タスクのスケジューリングを説明するための図である。ここでは、7個のタスク(タスクT1〜タスクT7)を、2台のロボット(ロボットRA,RB)に実行させる場合におけるスケジューリングを例にとって説明する。
【0164】
まず、図18(a)に示すように、タスクT1〜タスクT7がタスクデータ記憶部370に記憶されている場合に、これらタスクT1〜タスクT7について優先度データ「P」を生成する。ここでは、優先度データ「P」によって表される各タスクの優先度が、「タスクT1>タスクT2>タスクT3>タスクT4>タスクT5>タスクT6>タスクT7」となっているものとする。そして、生成された優先度データ「P」はそれぞれ、各タスクのタスクデータに付与される形でタスクデータ記憶部370に記憶される。
【0165】
続いて、図18(b)に示すように、各タスクを優先度データPに基づいてグループ分けする。ここでは、優先度が高い(優先度データ「P」の値が大きい)タスクT1〜タスクT4からなるグループG1と、優先度が低いタスクT5〜タスクT7からなるグループG2と、に分ける。かかるグループ分けにおいて、ロボットRの台数、タスクの数などに基づいて、グループの数を決めることが望ましい。例えば、タスクの数が多い場合には、「(タスクの数)÷(ロボットRの台数) (ただし、小数点以下繰上げ)」の数だけグループを生成することができる。その他、グループの数の決定は、スケジュールデータ生成部3b2の計算時間および計算時間の優先度に基づいて決定される。すなわち、スケジュールデータの生成が早く完了するようにグループの数を決定する。
【0166】
続いて、図18(c)に示すように、優先度が高いグループG1について、前記した式(4)、式(5)および式(6)によるスケジューリング(スケジュールデータの生成)を行う。ここでは、タスクT1のスケジュールデータは、「A−1」である。これは、「ロボットRAに、1番目に実行させる」との意味である。同様に、タスクT2、タスクT3およびタスクT4のスケジュールデータは、それぞれ「B−1」、「A−2」および「A−3」である。これら生成されたスケジュールデータはそれぞれ、各タスクのタスクデータに付与される形でタスクデータ記憶部370に記憶される。
【0167】
続いて、図18(d)に示すように、優先度が低いグループG2について、前記した式(4)、式(5)および式(6)によるスケジューリングを行う。この際に、既にスケジューリングされたタスクデータによる負荷を、ペナルティとして保持した状態でスケジューリングを行う。このように、後のグループをスケジューリングする際に、それより前のグループをスケジューリングした結果を考慮することで、スケジューリング全体における最適化を図ることができる。
【0168】
ここでは、タスクT5、タスクT6およびタスクT7のスケジュールデータは、それぞれ「B−2」、「B−3」および「A−4」である。これら生成されたスケジュールデータはそれぞれ、各タスクのタスクデータに付与される形でタスクデータ記憶部370に記憶される。
【0169】
このように、タスクのグループ分けを行ってグループごとにスケジューリングを行うので、多数のタスクが存在する場合であっても、任意の数のタスクごとにスケジューリングを行うことができ、タスク数の増加によるスケジューリングの組み合わせの数の増加を抑え、タスクスケジューリング手段412にかかるスケジューリング負荷の増大を抑えることができる。
【0170】
また、スケジュールデータを生成する際には、各ロボットRのバッテリ残量、駆動系の異常などのロボットの状態に関するデータも考慮されることが望ましい。
【0171】
[実行命令信号生成手段]
実行命令信号生成手段413は、タスクスケジューリング手段412によって生成されたスケジュールデータに基づいて、ロボットRにタスクを実行させるための実行命令信号を生成するものである。
【0172】
本実施形態では、実効命令信号生成手段413は、各ロボットRに、実行順位が高い、すなわち、1番目に実行させるタスクに関する実行命令信号を生成する。前記例において、ロボットRAへの実行命令信号は、ロボットIDと、タスクT1に関するタスクID、タスク開始予定時刻、タスク開始位置、タスク内容、タスク終了位置などを含むデータとして生成される。同様に、他のロボットRBへの実行命令も生成され、入出力手段500および基地局1を介して、各ロボットRA,RBへ送信される。ロボットRA,RBの主制御部200は、受信した実行命令信号に含まれるロボットIDと自身のロボットIDを比較し、一致した場合にその実行命令信号に係るタスクを実行する。また、実行命令信号は、タスクデータと関連付けてタスクデータ記憶部370に記憶される。
【0173】
なお、実行命令信号は、当該ロボットRに1番目に実行させるタスクだけでなく、当該ロボットRに実行させる全てのタスクに関するデータを含んでいてもよい。
【0174】
タスクデータ生成手段414は、ロボットRから送られたコミュニケーション結果に基づいて、タスクデータを生成する。例えば、コミュニケーション結果が音声認識データである場合には、この音声認識データからタスクデータを生成する。そして、生成されたタスクデータがタスクデータ記憶部270に記憶されると共に、タスクスケジューリング手段412が、タスクの再スケジューリングを行う。
【0175】
データ管理手段420は、実行命令信号に含まれるタスクの種類に基づいて、そのタスクを実行するのに必要なデータをシナリオデータ記憶部360から読み出し、ロボットRへ出力する。また、端末5からの入力に基づき、記憶部300内のデータを更新する。
また、データ管理手段420は、ロボットRからのデータ要求信号に基づいて、要求されたデータを記憶部300から読み出し、ロボットRへ出力する。
【0176】
このように、本実施形態に係るロボット制御システムAは、ロボットRがタスク実行中であっても人とのコミュニケーションによってタスクデータを取得・生成し、このタスクデータと、ロボットRの現在位置およびタスク実行状況とに基づいてタスクの再スケジューリングを行う。したがって、人は端末5を介するだけでなく、ロボットRを介してタスクを依頼することが可能となり、システムの使いやすさが高まっている。また、再スケジューリングを行うので、重要度が高いタスクの割り込みなどが可能となる。また、ロボットRの現在位置およびタスク実行状況を考慮した再スケジューリングを行うので、適切なスケジューリングが可能となる。
【0177】
(ロボットの動作例)
続いて、本発明の実施形態に係るロボット制御システムAによるロボットRの物品運搬動作について説明する。ここでは、ロボットRAが、「人H1から物品Mを受け取り、人H2に物品Mを受け渡す」といったタスクに関する実行命令信号を受け、物品Mを運搬移動中に人とコミュニケーションを行い、ロボット管理装置3がタスクの再スケジューリングを行う場合を例にとって説明する。
【0178】
(物品受取)
まず、ロボットRAの受取位置への移動について説明する。図19は、本発明の実施形態に係るロボット制御システムによるタスク実行の例を示すフローチャートであり、ロボットRAの受取位置への移動を示すフローチャートである。
まず、ロボットRAは、タスク実行エリアEAに設定されたホームポジションで待機している(ステップS1)。
ロボットRが、ロボット管理装置3から送信された実行命令信号を受信すると(ステップS2でYes)、ロボットRは、ホームポジションから人H1の通常居場所(以下、「通常居場所P1」と記載する。)までの移動を開始する(ステップS3)。そして、人H1の通常居場所P1に到着すると(ステップS4でYes)、ロボットRは移動を中止し、人H1の探索を開始する(ステップS5)。
【0179】
対象検知部120で人H1のタグ識別番号を検知すると(ステップS6でYes)、ロボットRは、カメラC,Cで人H1の画像を取得し、人H1の正面に移動する
【0180】
なお、対象検知部120が、所定時間内に人H1のタグ識別番号を検知することができなかった場合には(ステップS9でYes)、ロボットRは、行動管理手段210でタスク実行が不可能である旨を伝える行動報告信号を生成し、ロボット管理装置3へ出力すると共に、ホームポジションに移動する(ステップS10)。
【0181】
受取位置に移動したロボットRは、指開状態の把持部71(71R,71L)を差し出し、物品Mの受け取りを行う(ステップS7)。そして、把持部71が物品Mを把持すると(ステップS8でYes)、ロボットRは、物品Mの受取を完了する。
【0182】
(運搬移動および受渡)
続いて、ロボットRAの物品運搬移動について説明する。図20および図21は、本発明の実施形態に係るロボット制御システムによるタスク実行の例を示すフローチャートであり、ロボットRAの物品運搬移動および物品受渡を示すフローチャートである。
ステップS8において、物品把持完了となると、ロボットRは、受取位置から、人H2の通常居場所(以下、「通常居場所P2」と記載する。)までの移動を開始する(ステップS21)。
ロボットRAが、画像処理部100、対象検知部120、床面検知部130および障害物検知部140によって、その移動方向に存在する物体を検知する(割り込み検知)(ステップS22)。
ロボットRAが割り込みを検知し(ステップS22でYes)、その割り込みが障害物である場合には(ステップS23で障害物)、ロボットRAは、画像処理部100、対象検知部120および障害物検知部130によって、ロボットRAの周囲に人がいるか否かを検知する(ステップS30)。
周囲に人がいた場合には(ステップS30でYes)、ロボットRAは、「障害物を除去してください」と発話し、周囲にいる人に障害物の除去を依頼する(ステップS31)。そして、所定時間内に障害物が除去された場合には(ステップS32でYes)、ステップS21に戻り、移動を再開する。また、所定時間内に障害物が除去されない場合には、(ステップS32でNo)、ロボットRは、この障害物を回避するように移動経路を再生成(変更)する(ステップS33)。そして、ロボットRAは、ステップS21に戻り、変更した移動経路に基づいて移動を再開する。
【0183】
ロボットRが割り込みを検知し(ステップS22でYes)、その割り込みが人である場合には(ステップS23で人)、ロボットRAは、人特定手段220によって、その人が既知人物であるか、人H2であるか否かを判定する(ステップS24、ステップS25
)。ここでいう既知人物とは、その人の人データが人データ記憶部310に記憶されていることを指す。
【0184】
割り込んだ人が人H2以外の人である場合には(ステップS24でNo、または、ステップS24でYesかつステップS25でNo)、ロボットRAは、その人に応じた挨拶(発話およびジェスチャ)を行う(ステップS26)。そして、人がロボットの移動経路外に移動すると(ステップS27でYes)、移動を再開する。
ロボットRAが挨拶してから所定時間経過しても人がどかない場合には(ステップS27でNo)、ロボットRAは、人(以下、人H3と称する)がタスクを依頼しようとしていると判定し、「何か御用ですか」と発話し、コミュニケーション結果取得手段213が、マイクMC,MCおよび音声認識部を介して人の発話に伴う音声データを取得し、取得した音声データをロボット管理装置3に出力する(ステップS28)。なお、本実施形態では、人H3は、位置Cまでの案内といったタスクを依頼したものとする。
【0185】
ロボット管理装置3のタスクデータ生成手段414は、取得した音声データと、ロボットRAの現在位置データまたはロボットRAが取得した人H3の現在位置データと、に基づいて、「人H3を現在位置から位置Cまで案内する」といった内容のタスクデータを生成する。タスクスケジューリング手段412は、新たに生成されたタスクデータと、ロボットRA,RBの現在位置データおよびタスク実行状況データと、タスクデータ記憶部370に記憶された未実行または実行中のタスクデータと、に基づいて、タスクの再スケジューリングを行う。そして、実行命令信号生成手段413は、この再スケジューリング結果に基づいて、ロボットRA,RBに対する実行命令信号を生成し、出力する。
ここでは、ロボットRAの実行命令信号がロボットRAに現在実行中の物品運搬を継続させるものであり、ロボットRBの実行命令信号がロボットRBに人H3の案内を実行させるものであるとする。
【0186】
そして、人H2の通常居場所P2に到着すると(ステップS29でYes)、ロボットRは移動を中止し、人H2の探索を開始する(ステップS41)。
【0187】
対象検知部120で人H2のタグ識別番号を検知すると(ステップS42でYes)、ロボットRは、カメラC,Cで人H2の画像を取得し、人H2の正面に移動する
【0188】
なお、対象検知部120が、所定時間に人H2のタグ識別番号を検知することができなかった場合には(ステップS46でYes)、ロボットRAは、物品Mをタスク実行エリアEA内に設けられた物品置き場B1(図1参照)へと運搬することになる。
【0189】
受渡位置に移動したロボットRは、物品Mを把持した把持部71(71R,71L)を差し出し、物品Mの受渡を行う(ステップS43)。
【0190】
物品Mの受渡が完了すると(ステップS44でYes)、ロボットRAは、行動管理手段210でタスク実行終了を伝える行動報告信号を生成し、ロボット管理装置3へ出力すすると共に、受渡位置からホームポジションまでの移動を行う(ステップS45)。
【0191】
続いて、ロボットRの物品置き場B1への移動について説明する。ロボットRAが、所定時間に人H2の探索ができなかった場合には(ステップS46でYes)、ロボットRAは、人H2の通常居場所P2から物品置き場B1への移動を行う(ステップS47)。
そして、ロボットRAは、物品置き場B1に物品Mを置くと共に(ステップS48)、物品Mを物品置き場B1に置いた旨を伝える行動報告信号を生成し、ロボット管理装置3および人H2専用の端末5へ出力する(ステップS49)。そして、ロボットRは物品置き場B1からホームポジションまでの移動を行う(ステップS50)。
【0192】
このように、本発明の実施形態に係るロボット制御システムによれば、タスク実行中のロボットが、タスク依頼のユーザインターフェースとなるので、人によるタスク依頼が容易となる。また、ロボットを介してタスク依頼がなされた場合であっても、ロボットの現在位置およびタスク実行状況に基づいて、タスクの再スケジューリングを行うことができ、優先度の高いタスクの割り込みが可能となる。
【0193】
以上、本発明の実施形態について説明したが、本発明は前記した実施形態に限定されず、本発明の要旨を逸脱しない範囲で適宜設計変更可能である。
例えば、ロボット制御システムは、ロボット管理装置に記憶部を備え、ロボットが必要とするデータを適宜送信する構成としたが、ロボットが記憶部を備え、この記憶部に必要なデータを記憶する構成であってもよい。
また、タスクのスケジューリング手法も、前記した手法に限定されない。
【0194】
また、コミュニケーションによるタスクデータの生成に音声データを利用する構成としたが、画像データから人のジェスチャを認識し、このジェスチャに対応するタスクデータを生成する構成であってもよい。
【0195】
また、人がロボットの移動経路に所定時間存在した場合にロボットが人とコミュニケーションを行いタスクデータを生成する構成としたが、タスクデータを生成するためのコミュニケーションの開始タイミングはこれに限定されず、例えば、人がロボットに所定の言葉(例えば、「お願いします。」など、)をかけ、ロボットが音声認識部でこの言葉を認識することによってコミュニケーションを開始する構成であってもよい。また、人が所定のジェスチャ(例えば、「右手を挙げて左右に振る」など)を行い、ロボットが画像処理部でこのジェスチャを認識することによってコミュニケーションを開始する構成であってもよい。また、ロボットが常にコミュニケーションを行っており、常時音声データまたは
画像データをタスクデータ生成手段に送る構成であってもよい。
また、タスクデータ生成手段がロボットの制御部内に設けられる構成であってもよい。
【図面の簡単な説明】
【0196】
【図1】本発明の実施形態に係るロボット制御システムを示すシステム構成図である。
【図2】図1のロボットの外観を示す側面図である。
【図3】図1のロボットの内部構造を模式的に示す斜視図である。
【図4】図1のロボットを示すブロック図である。
【図5】図4の対象検知部を示すブロック図である。
【図6】図1の検知用タグを示すブロック図である。
【図7】対象検知部による探索領域を説明するための図であり、(a)は平面図、(b)は側面図である。
【図8】対象検知部による周辺領域のエリア分けを説明するための図である。
【図9】図4の床面検知部を示すブロック図である。
【図10】床面検知部による撮像領域を示す図であり、(a)は平面図、(b)は側面図である。
【図11】図4の障害物検知部を示すブロック図である。
【図12】障害物検知部による検知領域を示す図であり、(a)は平面図、(b)は側面図である。
【図13】ロボットの把持部を示す斜視図であり、指開状態を示す図である。
【図14】ロボットの把持部を示す斜視図であり、指閉状態を示す図である。
【図15】ロボットの把持部、開度検出手段および外力検出手段を示すブロック図である。
【図16】図2の主制御部を示すブロック図である。
【図17】図1のロボット管理装置を示すブロック図である。
【図18】タスクのスケジューリングを説明するための図である。
【図19】本発明の実施形態に係るロボット制御システムによるタスク実行の例を示すフローチャートである。
【図20】本発明の実施形態に係るロボット制御システムによるタスク実行の例を示すフローチャートである。
【図21】本発明の実施形態に係るロボット制御システムによるタスク実行の例を示すフローチャートである。
【符号の説明】
【0197】
3 ロボット管理装置
112 音声認識部
211 現在位置データ生成手段
212 実行状況データ生成手段
213 コミュニケーション結果取得手段
220 人特定手段
320 地図データ記憶部
370 タスクデータ記憶部
412 タスクスケジューリング手段
413 実行命令信号生成手段
414 タスクデータ生成手段
A ロボット制御システム
MC マイク
R,RA,RB ロボット
【特許請求の範囲】
【請求項1】
自律移動を行う自律移動手段と、人とのコミュニケーションを行うコミュニケーション手段と、現在位置に関する現在位置データを生成する現在位置データ生成手段と、タスクの実行状況に関する実行状況データを生成する実行状況データ生成手段と、ロボット管理装置との通信を行う通信手段と、を備えたロボットと、
前記ロボットに実行させるタスクに関するタスクデータを記憶するタスクデータ記憶部と、前記タスクデータに基づいて、タスクのスケジューリングを行うタスクスケジューリング手段と、スケジューリング結果に基づいて、前記自律移動ロボットにタスクを実行させる実行命令信号を生成する実行命令信号生成手段と、前記ロボットとの通信を行う通信手段と、を備えたロボット管理装置と、
を備え、前記実行命令信号に基づいて前記ロボットにタスクを実行させるロボット制御システムであって、
前記ロボット管理装置は、前記コミュニケーション手段によるコミュニケーション結果に基づいて、タスクデータを生成するタスクデータ生成手段をさらに備え、
前記タスクスケジューリング手段は、コミュニケーション結果に基づいて新たにタスクデータが生成された場合に、前記ロボットの現在位置データおよび実行状況データに基づいて、タスクの再スケジューリングを行い、
前記実行命令信号生成手段は、再スケジューリング結果に基づいて、実行命令信号の再生成を行うことを特徴とするロボット制御システム。
【請求項2】
前記コミュニケーション手段は、周囲の音を集音するマイクと、集音された音から音声を認識する音声認識部と、を備え、
前記タスクデータ生成手段は、前記音声認識部による認識結果に基づいて、タスクデータを生成することを特徴とする請求項1に記載のロボット制御システム。
【請求項3】
前記ロボットがタスクを実行するタスク実行エリアに関する地図データを記憶する地図データ記憶部と、
前記ロボットに設けられた、物品を把持する把持部と、
をさらに備え、
前記ロボットは、前記地図データおよび前記実行命令信号に基づいて、物品を前記把持部によって把持し、運搬することを特徴とする請求項1または請求項2に記載のロボット制御システム。
【請求項4】
前記ロボットは、前記実行命令信号に基づいて、物品を受け渡す人を特定する人特定手段を備えていることを特徴とする請求項3に記載のロボット制御システム。
【請求項5】
前記人特定手段が、物品を受け渡す人を特定できない場合に、所定の場所に物品を運搬し、この所定の場所に物品を置くことを特徴とする請求項4に記載のロボット制御システム。
【請求項1】
自律移動を行う自律移動手段と、人とのコミュニケーションを行うコミュニケーション手段と、現在位置に関する現在位置データを生成する現在位置データ生成手段と、タスクの実行状況に関する実行状況データを生成する実行状況データ生成手段と、ロボット管理装置との通信を行う通信手段と、を備えたロボットと、
前記ロボットに実行させるタスクに関するタスクデータを記憶するタスクデータ記憶部と、前記タスクデータに基づいて、タスクのスケジューリングを行うタスクスケジューリング手段と、スケジューリング結果に基づいて、前記自律移動ロボットにタスクを実行させる実行命令信号を生成する実行命令信号生成手段と、前記ロボットとの通信を行う通信手段と、を備えたロボット管理装置と、
を備え、前記実行命令信号に基づいて前記ロボットにタスクを実行させるロボット制御システムであって、
前記ロボット管理装置は、前記コミュニケーション手段によるコミュニケーション結果に基づいて、タスクデータを生成するタスクデータ生成手段をさらに備え、
前記タスクスケジューリング手段は、コミュニケーション結果に基づいて新たにタスクデータが生成された場合に、前記ロボットの現在位置データおよび実行状況データに基づいて、タスクの再スケジューリングを行い、
前記実行命令信号生成手段は、再スケジューリング結果に基づいて、実行命令信号の再生成を行うことを特徴とするロボット制御システム。
【請求項2】
前記コミュニケーション手段は、周囲の音を集音するマイクと、集音された音から音声を認識する音声認識部と、を備え、
前記タスクデータ生成手段は、前記音声認識部による認識結果に基づいて、タスクデータを生成することを特徴とする請求項1に記載のロボット制御システム。
【請求項3】
前記ロボットがタスクを実行するタスク実行エリアに関する地図データを記憶する地図データ記憶部と、
前記ロボットに設けられた、物品を把持する把持部と、
をさらに備え、
前記ロボットは、前記地図データおよび前記実行命令信号に基づいて、物品を前記把持部によって把持し、運搬することを特徴とする請求項1または請求項2に記載のロボット制御システム。
【請求項4】
前記ロボットは、前記実行命令信号に基づいて、物品を受け渡す人を特定する人特定手段を備えていることを特徴とする請求項3に記載のロボット制御システム。
【請求項5】
前記人特定手段が、物品を受け渡す人を特定できない場合に、所定の場所に物品を運搬し、この所定の場所に物品を置くことを特徴とする請求項4に記載のロボット制御システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【公開番号】特開2006−167840(P2006−167840A)
【公開日】平成18年6月29日(2006.6.29)
【国際特許分類】
【出願番号】特願2004−361581(P2004−361581)
【出願日】平成16年12月14日(2004.12.14)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】
【公開日】平成18年6月29日(2006.6.29)
【国際特許分類】
【出願日】平成16年12月14日(2004.12.14)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】
[ Back to top ]