以下、本発明の保持システムに係る実施形態について図面を参照して説明する。ロボット100または保持装置200の左右に設けられている各構成要素について、左右を区別する場合はRまたはLをつけて表現し、左右を区別しない場合はRまたはLをつけずに表現する。
(保持システムの構成)
本発明の保持システムは、脚式移動ロボット(ヒューマノイドロボット)であるロボット100(図1参照)と、当該ロボット100を保持するための保持装置200(図1参照)と、ロボット100及び保持装置200のそれぞれの動作を制御するための制御装置300(図2参照)とから構成されている。
(ロボットの構成)
図1に示されているロボット100は人間と同様に基体110と、基体110の上部に設けられた頭部111と、基体110の上部左右両側から延設された左右の腕体112と、腕体112の先端部に設けられた手部113と、基体110の下部から下方に延設された左右の脚体114と、脚体114の先端部に取り付けられている足平部115と、基体110に収納されているバッテリ117とを備えている。
ロボット100は、アクチュエータ133(図2参照)から伝達される力によって、人間の肩関節、肘関節、手首関節、股関節、膝関節、足首関節等の複数の関節に相当する複数の関節機構において腕体112や脚体114を屈伸運動させることができる。
腕体112は肩関節機構を介して基体110に連結された第1腕リンクと、一端が第1腕リンクの端部に肘関節機構を介して連結され、他端が手首関節を介して手部113の付根部に連結されている第2腕リンクとを備えている。肩関節機構は、ヨー軸およびピッチ軸のそれぞれの回りの2つの回転自由度を有する。肘関節機構は、ピッチ軸回りの1つの回転自由度を有する。手首関節機構は、ロール軸およびピッチ軸のそれぞれの回りの2つの回転自由度を有する。
脚体114は股関節機構を介して基体110に連結された第1脚リンクと、一端が第1脚リンクの端部に膝関節機構を介して連結され、他端が足首関節を介して足平部115に連結されている第2脚リンクとを備えている。股関節機構は、ヨー軸、ピッチ軸およびロール軸のそれぞれの回りの3つの回転自由度を有する。膝関節機構は、ピッチ軸回りの1つの回転自由度を有する。足首関節機構は、ピッチ軸およびロール軸のそれぞれ回りの2つの回転自由度を有する。ロボット100は、左右の脚体114のそれぞれの受動離床および受動着床の繰り返しを伴う動きによって自律的に移動することができる。
基体110は、基体110の後側下端に受電コネクタ118を備えている。
ロボット100の凹部120については、保持装置200の連結機構220とあわせて説明する。
また、図4に示されるように、ロボット100の複数の脚体114の足平部115の足底R1,R2を含む仮想床面において、当該足底R1,R2と、それぞれの足底に挟まれた仮想領域R3により、仮想支持平面領域SRが確定される。後述するように、ロボット100の受動着床に際して、仮想支持平面領域SRの中心点Cがロボット100の重心Gを通る鉛直線上に存在するようにロボット100の姿勢が制御される。本実施形態の「足平部115」の足底が本発明の「着床領域」に該当する。
(保持装置の構成)
保持装置200は、図1及び図5に示されるように、ロボット100を連結するための左右一対の連結機構220と、当該左右一対の連結機構220のそれぞれが前端部231に取り付けられる略Y字形状の上部フレーム230と、当該上部フレーム230の後端部232を上下に移動可能に支持する支柱240と、テーパー状に形成され、かつ、当該テーパー状の先端において支柱240の下端に取り付けられた下部フレーム270とを備える。
保持装置200の周囲には、図1に示されるように、略有天矩形箱210に囲まれ、前扉211と、前扉211に対向する後壁212と、前扉211及び後壁212の間に配置された側壁(不図示)と、上壁213とを備える。
前扉211は、ロボット100が通行できるように開閉可能に構成されている。後述する保持制御装置320によって、前扉211の開閉動作が制御される。ロボット100は、前扉211が開状態のときに箱210の内部に侵入し、保持装置200によって保持される。ロボット100が保持装置200によって保持されている間、前扉211は閉状態に制御される。
連結機構220は、連結ロッド221と、当該連結ロッド221の下側前端部に設けられた略T形状の接続金具222とから構成される。接続金具222には、連結ロッド221の軸線方向と垂直な方向に、円筒状に形成された2つの係合部223a,223b(以下、総称して係合部223と適宜称する。)を備える。
上部フレーム230の前端部231において、連結ロッド221の上端が回転機構233に床面と垂直方向の軸周りに回転可能に接続される。上部フレーム230の後端部232は、支柱240に上下方向に移動可能に支持される。より具体的には、支柱240に取り付けられた昇降装置250に上部フレーム230の後端部232が固着されており、昇降装置250が上下方向に移動することにより、上部フレーム230(および上部フレーム230に接続された連結機構220)が上下方向に移動する。昇降装置250としては、例えば、リニアアクチュエータが採用されうる。
ここで、説明を後回しにしたロボット100の凹部120について説明する。ロボット100の基体110の後側上端部には、左右2か所に凹部120R、120Lが設けられている。図3(a)及び(b)に示されるように、それぞれの凹部120には、検知スイッチ121と当該検知スイッチ121を挟むように互いに対向する2つの接続部122a及び122bとが設けられている。
検知スイッチ121は、例えば接触センサで構成され、ロボット上方から下降してくる後述する保持装置200の連結機構220(右連結機構220Rまたは左連結機構220L)と接触可能な位置に設けられている。
接続部122a、122bは、図3(b)に示されるように、中央上部が盛り上がった略五角柱状の凹部を備える。当該盛り上がり部分は、係合部223a,223bの形状に適合するように円柱状の凹部として構成されている。
該接続部122a、122bは、ロボット100の重心Gの位置よりも高い基体110の部分に固設されている。このため、ロボット100の受動離床状態において、ロボット100の各部に負担(過大な荷重等)がかかりにくい適正なロボット100の姿勢を保つことができる。
図3(c)及び図3(d)に示されるように、連結機構220の接続金具222の下端が検知スイッチ121の上端に接触したことにより、当該検知スイッチ121と連結機構220との接触が検出される。
また、接続金具222の一部がロボット100の検知スイッチ121に接触している状態で、回転機構233により、連結ロッド221が90度回転されると、図3(e)及び図3(f)に示されるように、接続金具222の係合部223a,223bがロボット100の接続部122a、122bに係合する。接続金具222の係合部223a,223bが接続部122a、122bに係合している状態で昇降装置250により上部フレーム230が引き上げられることにより、ロボット100が受動離床する。この時、接続金具の係合部223a,223bが円筒状に形成されているため、ロボットは離床状態において右係合部223R及び左係合部223Lの中心を通る軸線(右接続部122R及び左接続部122Lの中心を通る軸線)を揺動軸線SLとして揺動可能となる。また、接続部122a、122bが山形の略五角柱状に形成されているため、係合部223a,223bが当該接続部122a、122bの盛り上がった部分に係合し、揺動軸線SLが固定される。また、回転機構233としては、例えば、ギヤードモータが採用されうる。
支柱240は、下方が太い柱で構成され、その中段に充電器260を備える。充電器260は、充電用電源261と、当該充電用電源261とケーブル262を介して接続される給電コネクタ263と、給電コネクタ263を前後に動かす駆動機構264とを備える。
ロボット100が充電器260に背を向けて所定の姿勢で所定の位置に立ち、充電器260の駆動機構264が給電コネクタ263を前進させることにより、受電コネクタ118と給電コネクタ263が接続される。受電コネクタ118と給電コネクタ263とが接続された状態で充電処理が開始されることにより、ロボット100のバッテリ117が充電される。なお、給電コネクタ263はケーブル262が伸びる範囲であれば移動可能であるので、ロボット100が上昇する場合でも、ロボット100の上昇に連動して給電コネクタ263が伸びる。この結果、ロボット100の上昇に際しても、給電コネクタ263と受電コネクタ118との接続が確保され、ロボット100のバッテリ117の充電が継続される。
充電器260の詳細な構成としては、例えば、特開2012−016084号公報に記載されている公知の構成が採用されうる。
支柱240の下端に取り付けられている下部フレーム270は、中央部271と両端272R、272Lとの下端にそれぞれ1又は複数の車輪273を備える。また、下部フレーム270は、中央部271と両端272R、272Lとにストッパ274が上下動自在に、螺挿されている。車輪273によって、保持装置200の移動が可能となっているとともに、ストッパ274の下降によって保持装置200を所定の設置場所に据え付けることができる。また、当該設置場所には、接続立位置修正用床マークM1、M2が敷設される。
(制御装置の構成)
制御装置300は、図2に示されるようにロボット100の動作を制御するロボット制御装置310と、保持装置200の動作を制御する保持制御装置320と、統合制御装置330と、ロボット制御装置310及び保持制御装置320と統合制御装置330とを無線又は有線で接続するネットワーク回線とから構成されている。
ロボット制御装置310はロボット100に搭載されている電子制御ユニット(CPU,ROM,RAM,I/O回路等により構成されている。)またはコンピュータにより構成されている。
ロボット制御装置310は内部状態センサ群131および外部状態センサ群132のそれぞれの出力に基づいて種々の状態変数の値を認識するように構成されている。
なお、内部状態センサ群131は主にロボットの姿勢制御用に用いられ、外部状態センサ群132は主に自己位置同定用に用いられる。
内部状態センサ群131にはロボット100の傾斜とモーメントを測定するための加速度センサのほか、基体110の姿勢を測定するためのジャイロセンサ、各関節機構の回転自由度ごとの屈曲角度等を測定するロータリーエンコーダ、足平部115に作用する力を測定する6軸力センサ(6AFセンサ)131a、バッテリ117の出力電圧及び出力電流を検出するためのセンサ並びに連結機構220の接続状態を確認する検知スイッチ(接触スイッチ)121等が含まれている。本実施形態の「6軸力センサ131a」が本発明の「力センサ」に該当する。
外部状態センサ群132には画像による位置認識を行うイメージセンサ、GPSユニット、ロボット100とは独立して設置されたインフラ環境に設けられた外部環境計測用のセンサ(たとえばレーザレンジファインダ)等が含まれる。
ロボット制御装置310は、姿勢制御要素311と、座標系認識要素312と、経路計画・移動指令要素313とを備える。姿勢制御要素311、座標系認識要素312、及び経路計画・移動指令要素313のそれぞれは、CPU(演算処理装置)と、担当する演算処理を実行するために必要なソフトウェアおよびデータが保存されているメモリ(記憶装置)とにより構成されている。姿勢制御要素311及び座標系認識要素312のそれぞれを構成するCPUは物理的に共通であってもよいし、別個であってもよい。
各制御要素が「構成されている」とは、当該制御要素を構成する演算処理装置がメモリ等の記憶手段から必要なソフトウェアおよびデータを読み出し、当該データを対象として当該ソフトウェアにしたがった演算処理を実行すること、さらには当該演算処理の結果として制御指令信号を生成し、制御対象に宛てて当該信号を出力すること等により、ロボット100の行動制御等の目的を達成することを意味する。
本発明の構成要素が情報を「認識する」とは、当該構成要素が情報をデータベースから検索すること、メモリ等の記憶装置から情報を読み取ること、センサ等の出力に基づき情報を測定、算定、推定、判定すること、測定等された情報をメモリに保持すること等、当該情報をさらなる演算処理のために準備または用意するのに必要なあらゆる情報処理を実行することを意味する。
また、ロボット制御装置310は、図示しない通信装置を介して、保持制御装置320及び統合制御装置330と通信するように構成されている。
姿勢制御要素311は、後述する統合制御装置330からの指令に応じて、アクチュエータ133の動作を制御することにより、ロボット100の姿勢を制御するように構成されている。
座標系認識要素312は、内部状態センサ群131及び外部状態センサ群132の出力に応じてロボット100の所定の箇所(たとえば腰の所定の点)を原点とし、当該所定の箇所からの所定の方向(たとえば腰の前後方向、左右方向、胴体がある方向)をそれぞれX、Y、Z軸として、各構成要素の相対的な位置を示す座標系(ロボット座標系)を認識する。また、座標系認識要素312は、経路計画・移動指令要素313内の地図情報に基づいて、ロボット100の各構成要素の絶対的な位置を示す座標系(地球座標系)を認識するように構成されている。
経路計画・移動指令要素313は、自律的または外部からの指令によって定められた目的地点、経路計画・移動指令要素313内の地図情報及び外部状態センサ群132の出力に基づいて、ロボット100の移動経路の計画を策定する。また、経路計画・移動指令要素313は、当該策定された計画に基づいて、アクチュエータ133の動作を制御することにより、ロボットを目的地点まで移動させる。
図2に示されている保持制御装置320は保持装置200に搭載されている電子制御ユニット(CPU,ROM,RAM,I/O回路等により構成されている。)またはコンピュータにより構成されている。
保持制御装置320は内部状態センサ群281および外部状態センサ群282のそれぞれの出力に基づいて種々の状態変数の値を認識するように構成されている。
また、保持制御装置320は、図示しない通信装置を介して、ロボット制御装置310及び統合制御装置330と通信するように構成されている。
内部状態センサ群281には連結機構220に係る重さを測定するための力センサ、回転機構233の回転角度を測定するためのロータリーエンコーダ、昇降装置250の保持装置200における相対的な位置(保持装置座標系における位置)を測定するためのリニアエンコーダー、充電器260の保持装置座標系における位置を測定するためのセンサ、給電コネクタ263の接続状況を検出するセンサが含まれている。
外部状態センサ群282にはモーションキャプチャーシステムのほか、ロボット100の位置及び姿勢を測定するため、側壁に設けられているステレオイメージセンサ、及び側壁に設けられている赤外光を用いたアクティブ型センサ等が含まれる。
保持制御装置320は、開閉扉制御要素321と、連結機構制御要素322と、ロボット位置姿勢取得要素323と、充電要素324とを備える。連結機構制御要素322とロボット位置姿勢取得要素323と充電要素324のそれぞれは、CPU(演算処理装置)と、担当する演算処理を実行するために必要なソフトウェアおよびデータが保存されているメモリ(記憶装置)とにより構成されている。開閉扉制御要素321と連結機構制御要素322とロボット位置姿勢取得要素323と充電要素324のそれぞれを構成するCPUは物理的に共通であってもよいし、別個であってもよい。
開閉扉制御要素321は、統合制御装置330からの指令または外部状態センサ群282の出力に基づき、前扉211の開閉を制御するように構成されている。より具体的には、外部状態センサ群282の出力により、ロボット100が保持装置200の付近に到達したことが認識されると、開閉扉制御要素321は、前扉211を開状態に制御する。一方、ロボット100が保持装置200から離れた場合、またはロボット100が保持装置200に保持されロボット100の電源がOFFになった場合、開閉扉制御要素321は、前扉211を閉状態に制御する。
連結機構制御要素322は、統合制御装置330からの指令に基づき、昇降装置250の動作を制御することにより、連結機構220の先端位置(接続金具222の位置)を制御するように構成されている。連結機構制御要素322は、また、統合制御装置330からの指令に基づき、回転機構233の動作を制御することにより、係合部223の接続金具222に対する角度を制御するように構成されている。
ロボット位置姿勢取得要素323は、内部状態センサ群281及び外部状態センサ群282の出力に基づき、保持装置座標系におけるロボット100の位置及び姿勢を認識するように構成されている。また、認識されたロボット100の位置及び姿勢は、有線または無線通信を介して、統合制御装置330へ送信される。
充電要素324は、統合制御装置330からの指令またはロボット100からの要求に基づき、駆動機構264の動作を制御することにより給電コネクタ263を受電コネクタ118に接続させ、かつ、接続後に充電処理を実行することによりロボット100のバッテリ117を充電するように構成されている。
図1に示されている統合制御装置330は、ロボット100及び保持装置200とは別個に存在するサーバにより構成されている。これに代えて、統合制御装置330の一部または全部が、ロボット100に搭載されたコンピュータ、または保持装置200に搭載されたコンピュータによって構成されてもよい。
統合制御装置330は、有線又は無線通信を介してロボット制御装置310及び保持制御装置320から取得した種々の状態変数を認識する。
統合制御装置330は、ロボット位置姿勢推定要素331と、ロボット制御要素332と、保持装置制御要素333とを備える。
ロボット位置姿勢推定要素331は、通信を介してロボット100の地球座標系における位置並びに姿勢を認識するように構成されている。本実施形態の「ロボット位置姿勢推定要素331」が本発明の「間隔推定部」に該当する。
ロボット制御要素332は、認識されたロボット100の位置及び姿勢に応じて、ロボット制御装置310への指令送信によって、ロボット100の動作を制御するように構成されている。本実施形態の「ロボット制御要素332」が本発明の「姿勢制御部」に該当する。
保持装置制御要素333は、連結機構220を上昇させるための上昇指令または連結機構220を下降させるための下降指令を保持制御装置320に送信するように構成されている。また、保持装置制御要素333は、ロボット100から受信したバッテリ117の残容量に応じて、充電器260の動作を制御する充電指令を保持制御装置320に送信するように構成されている。本実施形態の「保持装置制御要素333」が本発明の「充電制御要素」及び「離着床条件判定部」に該当する。
以下、統合制御装置330の各要素が、ロボット制御装置310または保持制御装置320との通信を介して、ロボット制御装置310または保持制御装置320の各要素に指令を送信し、ロボット100または保持装置200の各構成要素の動作を制御することを、「統合制御装置330の各要素が、各構成要素の動作を制御する」と表現する。また、統合制御装置330の各要素が、ロボット制御装置310または保持制御装置320との通信を介して、内部状態センサ群または外部状態センサ群等の出力(またはその出力値)を認識することを「統合制御装置330の各要素が、内部状態センサ群または外部状態センサ群等の出力を取得する」と表現する。
(保持システムの機能・ロボット保持処理)
次に、図5及び図6を参照して、ロボット保持処理について説明する。
本処理は、ロボット100の作業完了後に、ロボット100を保持装置200に電源を遮断、または必要に応じて充電を行いながら保持するための処理である。ロボット100に搭載されたロボット制御装置310の経路計画・移動指令要素313は、ロボット100の作業が完了したことを検知すると、経路計画・移動指令要素313内の地図情報に基づいて、ロボット100を所定の保持装置200の内部まで移動させるように制御する(図6/STEP102)。さらに詳しくは、保持装置制御要素333は、ロボット100が保持装置200の付近に到達したことを保持制御装置320の外部状態センサ群282の出力により認識すると、保持制御装置320の前扉211を開状態に制御する。ロボット制御要素332は、ロボット100を保持装置200の内部へ移動させる。
ロボット100が保持装置200の内部に到達すると、ロボット制御要素332は、取得したロボット100の外部状態センサ群132の出力及び保持装置200の外部状態センサ群282の出力に基づき、ロボット100の位置を取得する(図6/STEP0104)。
ロボット制御要素332は、取得したロボット100の外部状態センサ群132の出力から認識される床面に敷設されている接続立位置修正用床マークM1、M2に基づいて、図5(a)に示されるロボット100が保持装置200を背後にした状態を経て、図5(b)に示されるように、ロボット100が保持装置200の下に存在する状態となるように、ロボット100の立ち位置を修正する(図6/STEP0106)。ロボット100の立ち位置の修正方法は、例えば特開2008−44069号公報に記載されている充電スタンドへのアプローチ方法と同様の方法が採用されうる。
ロボット制御要素332は、ロボット100の内部状態センサ群131の出力に基づき、ロボット100のバッテリ117の残容量を取得する(図6/STEP0111)。より詳しくは、ロボット制御要素332は、当該出力に示されるバッテリ117の出力電圧及び出力電流とからバッテリ117の開路電圧を推定し、推定した開路電圧と充電量であるSOC(State of Charge)との関係を規定したマップまたはデータテーブル(以下、マップ等という)を参照して、バッテリ117のSOC(残容量)を推定する。
保持装置制御要素333は、バッテリ充電の要否を判定する(図6/STEP0112)。バッテリ充電の要否の判定としては、取得したバッテリ117の残容量が所定の値以下か否かの判定、またはロボット100が次回起動時に予定しているタスクに鑑みて必要な残容量以下か否かの判定等が採用されうる。
当該判定結果が肯定的であった場合(図6/STEP0112‥YES)、統合制御装置330は、図6/STEP0113以下の処理を実行する。他方、当該判定結果が否定的であった場合(図6/STEP0112‥NO)、統合制御装置330は、STEP0120以下の処理を実行する。
図6/STEP0113において、ロボット位置姿勢推定要素331は、取得したロボット100の内部状態センサ群131の出力(各関節機構の回転自由度ごとの屈曲角度)、外部状態センサ群132の出力(ロボット100及び保持装置200の地球座標系における位置及び姿勢)及び保持装置200における内部状態センサ群281の出力(充電器260の保持装置座標系における位置及び姿勢)に基づき、充電器260に対するロボット100の相対的な位置及び姿勢を認識する。
より詳しくは、ロボット位置姿勢推定要素331は、ロボット100の内部状態センサ群131の出力に示される各関節機構の回転自由度ごとの屈曲角度に基づき、ロボット100の各構成要素のロボット座標系における位置及び姿勢を認識する。そして、ロボット位置姿勢推定要素331は、保持装置200の内部状態センサ群281の出力に示される充電器260の保持装置座標系における位置及び姿勢に基づいて、充電器260の保持装置座標系における位置及び姿勢を認識する。また、ロボット位置姿勢推定要素331は、ロボット100の外部状態センサ群132の出力に示される画像を解析し、当該解析結果と記憶要素(不図示)に記憶された地図情報とに基づいて地球座標系におけるロボット100の位置及び姿勢及び保持装置200の位置を認識する。
ロボット位置姿勢推定要素331は、これらの座標情報に基づき、ロボット100の各構成要素のロボット座標系における位置と、充電器260の保持装置座標系における位置とを地球座標系における位置に変換する。
そして、ロボット位置姿勢推定要素331は、変換されたロボット100の各構成要素及び充電器260の地球座標系における位置に基づいて、充電器260に対するロボット100の相対的な位置及び姿勢を認識する。
ロボット制御要素332は、ロボット位置姿勢推定要素331によって認識された充電器260に対するロボット100の相対的な位置及び姿勢に基づき、充電に適した姿勢となるように、ロボット100の位置及び姿勢を修正し、給電コネクタ263を受電コネクタ118に接続する(図6/STEP0114)。
より詳しくは、ロボット制御要素332は、充電器260に対するロボット100の相対的な位置及び姿勢と、記憶要素に記憶された充電器260に対するロボット100の所定の位置及び姿勢とを比較する。そして、ロボット制御要素332は、比較された位置及び姿勢の結果に基づき、両位置及び姿勢に差分がなくなるように、ロボット100の位置及び姿勢を修正する。
ロボット100の位置及び姿勢の修正後、保持装置制御要素333は、駆動機構264の動作を制御することによって、充電器260の給電コネクタ263を前進させてロボット100の受電コネクタ118に接続させる。
そして、保持装置制御要素333は、保持装置200の内部状態センサ群281の出力(給電コネクタの接続状況)に基づき、充電が可能か否かを判定する(図6/STEP0115)。当該判定結果が肯定的である場合(図6/STEP0115‥YES)、保持装置制御要素333は、バッテリ117の充電を開始する(図6/STEP0116)。一方、当該判定結果が否定的である場合(図6/STEP0115‥NO)、統合制御装置330は、図6/STEP0113の処理を繰りかえす。
図6/STEP0112の判定結果が否定的である場合、または図6/STEP116の処理の後、統合制御装置330は、ロボットの受動離床処理(図7)を実行する(図6/STEP0120)。詳細は後述する。
ロボットの受動離床処理のあと、ロボット制御要素332は、ロボット100の電源を切断する(図6/STEP140)。ロボット100の電源切断と同時に、保持装置制御要素333は、保持装置200の前扉211を閉状態に制御する。
(保持システムの機能・ロボット受動離床処理)
ロボット受動離床処理(図6/STEP120)について、図5、図7及び図9を参照しながら、より詳細に説明する。
ロボット位置姿勢推定要素331は、ロボット100の内部状態センサ群131の出力(ロータリーエンコーダに示される各関節機構の回転自由度ごとの屈曲角度及びジャイロセンサに示される基体110の傾斜角度)及び保持装置200の内部状態センサ群281の出力(リニアエンコーダーに示される昇降装置250の位置)に基づき、受動離床モード姿勢を推定する(図7/STEP0121)。
ここで、受動離床モード姿勢は、揺動軸線SLを通る鉛直面Sとロボットの重心Gとの水平間隔である第1間隔d1及びロボットの重心Gを通る鉛直線Lと仮想支持平面領域SRの中心点Cとの水平間隔である第2間隔d2とを推定することにより認識されるロボット100の姿勢である。
STEP0121をより詳細に説明すると、ロボット位置姿勢推定要素331は、記憶要素に記憶されている凹部120の接続部122の位置から、揺動軸線SLのロボット座標系における座標を推定する。
そして、ロボット位置姿勢推定要素331は、各関節機構の回転自由度ごとの屈曲角度に基づいてロボット100の姿勢を推定する。ロボット位置姿勢推定要素331は、当該姿勢に基づいてロボット100の重心Gの位置を推定する。
ロボット位置姿勢推定要素331は、ジャイロセンサに示される加速度に基づき、ロボット座標系のZ軸が、地球座標系の鉛直方向に対して傾斜している角度θ1(図8参照)を算出する。ロボット位置姿勢推定要素331は、当該角度θ1に基づいて、幾何学モデルに従って揺動軸線SLを通る鉛直面Sをロボット座標系において推定する。
ロボット位置姿勢推定要素331は、推定された鉛直面Sとロボット100の重心Gの位置に基づき、鉛直面Sと重心Gとの水平間隔である第1間隔d1を推定する。
次に、ロボット位置姿勢推定要素331は、角度θ1と重心Gとに基づき、幾何学モデルに従って重心Gを通る鉛直線Lを推定する。
そして、ロボット位置姿勢推定要素331は、各関節機構の回転自由度ごとの屈曲角度に基づいて足平部115の足底のロボット座標系における位置を推定する。ロボット位置姿勢推定要素331は、推定された足平部115の足底のロボット座標系における位置に基づき、仮想支持平面領域SRとその中心点Cとを推定する。
ロボット位置姿勢推定要素331は、推定された中心点Cと鉛直線Lとの水平間隔である第2間隔d2を推定する。
ロボット制御要素332は、ロボット位置姿勢推定要素331によって認識された受動離床モード姿勢に基づき、ロボット100の姿勢を離着床基本姿勢へ移行させる(図7/STEP0122)。ここで、ロボット100を離床させた状態では、例えば図9(a)に示されるように、揺動軸線SLを通る鉛直面S上に重心Gが位置することになる。一方、例えば図9(d)に示されるように、ロボット100が着床している段階でロボット100の重心Gが揺動軸線SLを通る鉛直面S上に存在しないと、ロボットを受動離床させた際にロボット100が揺動軸線SL回りに揺れるおそれがある。この揺れのおそれを防止または軽減するため、図9(b)に示されるように、揺動軸線SLを通る鉛直面S上に重心G及び重心Gを通る鉛直線L上に仮想支持平面領域SRの中心点Cが存在する離着床基本姿勢(d1及びd2が0となる姿勢)となるようにロボット100の姿勢が制御される。
本実施形態においては、ロボット100の頭部が前方に移動するとともに、腰部が後方に移動するように制御される。離着床基本姿勢となる姿勢は、予め記憶要素に記憶されていてもよく、またはすべての姿勢に対し離着床基本姿勢であるか否かが判定されることにより、都度求められてもよい。
なお、多関節を有するロボットにおいて、揺動軸線SLを通る鉛直面S上に重心G及び仮想支持平面領域SRの中心点Cが存在する姿勢は複数存在しうる。本実施形態においては、揺動軸線SLを通る鉛直面S上に重心G及び仮想支持平面領域SRの中心点Cが存在する姿勢のうち、電源OFF時及び直立状態との姿勢変化が最も少なく、左右対称である姿勢が離着床基本姿勢として記憶要素に記憶されている。
ロボット位置姿勢推定要素331は、ロボット100の足平部115に設けられた6軸力センサ(6AFセンサ)131aの出力に基づき、水平な方向(X軸方向)回りのモーメントMX及び水平かつX軸に垂直な方向(Y軸方向)回りMYがいずれも0であるか否かを判定する(図7/STEP0123)。これらのモーメントは、床反力に由来して発生しうる。
当該判定結果が否定的であった場合(図7/STEP0123‥NO)、ロボット制御要素332は、当該差分が小さくなるように、たとえば足踏みによってロボット100の姿勢を制御する(図7/STEP0124)。
当該判定結果が肯定的であった場合(図7/STEP0123‥YES)またはSTEP0124の処理のあと、ロボット制御要素332は、取得した保持装置200の外部状態センサ群282の出力(ステレオイメージセンサに示されるロボット100の姿勢)に基づき、図9(b)に示されるロボット100の姿勢が離着床基本姿勢か否かを判定する(図7/STEP0125)。当該判定結果が否定的であった場合(図7/STEP0125‥NO)、統合制御装置330は、ロボット100または床面の状態が異常である旨のエラーメッセージを出力して受動離床処理を終了する(図7/STEP0126)。
当該判定結果が肯定的であった場合(図7/STEP0125‥NO)、ロボット位置姿勢推定要素331は、取得したロボット100の外部状態センサ群132(画像によって認識されたロボット100の地球座標系における位置)に基づき、接続金具222の位置が、接続部122a、122bと連結機構220とを接続させることができる位置にあるか否かを判定する(図7/STEP0127)。
当該判定結果が否定的であった場合(図7/STEP0127‥NO)、ロボット制御要素332は、ロボット100の姿勢を離着床基本姿勢(図9(b))から歩行に適した通常歩行の姿勢(図9(a))へ移行させたのち(図7/STEP0128)、図5(b)に示されるように、接続部122a、122bの位置が連結機構220と接続可能な位置に来るように、ロボット100を歩行させてロボット100の立ち位置を修正する(図7/STEP0129)。ロボット100の位置を調整するための技術として、たとえば、基体の位置および姿勢を目標軌道にしたがわせながら、ロボットが第1指定エリアから第2指定エリアまで移動した上で立ち止まるようにロボットの動作を制御した後、測定された今回の第2位置偏差および第2姿勢偏差のうち一方または両方に基づき、次回の第2位置偏差および第2姿勢偏差のうち一方または両方が小さくなるように目標軌道を補正する特開2009−166162号公報に開示された技術が採用され得る。
その後、統合制御装置330は、再度図7/STEP0121以降の処理を実行する。なお、図7/STEP0127の判定結果が所定回数否定的な結果となった場合、ロボット100の立ち位置精度が異常である旨のエラーを出力して受動離床処理を終了するように、統合制御装置330を構成してもよい。
図7/STEP0127の判定結果が肯定的であった場合(図7/STEP0127‥YES)、保持装置制御要素333は、昇降装置250を下降させる(図7/STEP0130)。保持装置制御要素333は、取得したロボット100の検知スイッチ121の出力に基づき、接続金具222の先端がロボット100の検知スイッチ121に接触しているか否かを判定する(図7/STEP0131)。
当該判定結果が否定的である場合(図7/STEP0131‥NO)、保持装置制御要素333は、昇降装置250の下降を続行する(図7/STEP0130)。他方、当該判定結果が肯定的であった場合(図7/STEP0131‥YES)、すなわち、図3(c)に示されるように、接続金具222の先端がロボット100の接触センサに接触している場合、保持装置制御要素333は、回転機構233の動作を制御することにより、連結ロッド221を90度回転させる(図7/STEP0132)。これにより、接続金具222の係合部223が接続部122a、122bと係合する。
この状態において、保持装置制御要素333は、昇降装置250の動作を制御することにより、連結ロッド221を上昇させる(図7/STEP0133)。
保持装置制御要素333は、取得した保持装置200の内部状態センサ群281の荷重センサ及びロボット100の内部状態センサ群131の足平部115に設けられた6軸力センサ131aの出力に基づき、荷重スイッチがONであり、なおかつ、6軸力センサ131aのZ軸(床面に垂直な軸)方向の力が0であるか否かを判定する(図7/STEP0134)。
当該判定結果が否定的である場合(図7/STEP0134‥NO)、保持装置制御要素333は、昇降装置250の動作異常または連結ロッドはずれが発生している旨のエラーメッセージを出力して、受動離床処理を終了する(図7/STEP0135)。
当該判定結果が肯定的である場合(図7/STEP0134‥YES)、図9(c)に示されるように、ロボット100の離床に成功している。この後、ロボット100の電源がOFFにされることにより(図6/STEP0140)、ロボット100の姿勢が図9(d)に示されるような、第2間隔d2がゼロでない姿勢となる。この姿勢のまま、ロボット100は保持される。
(保持システムの機能・ロボット起動処理)
次に、図9及び図10を参照して、ロボット保持処理によって保持装置200に保持されたロボット100を起動させるロボット起動処理について説明する。
当該ロボット起動処理の開始時において、保持装置200に保持されたロボット100は、図9(e)に示されるように、第2間隔d2がゼロではない姿勢となっている。
ロボット制御要素332は、ロボット制御装置310に対し、ロボット100の電源をONにする指令を送信する(図10/STEP0202)。当該指令を受信したロボット制御装置310によって、ロボット100の電源がONにされる。
ロボット制御要素332は、ロボット制御装置310にロボット100の座標系を設定させる(図10/STEP0204)。当該指令を受信したロボット制御装置310は、例えば、ロボット100のロータリーエンコーダに示される各構成要素の回転自由度ごとの屈曲角度に基づき、ロボット100の各構成要素のロボット座標系における位置及び姿勢を認識する。また、ロボット制御装置310は、保持制御装置320との通信を介して取得した保持制御装置320のリニアエンコーダーに示される昇降装置250の地球座標系における位置並びに記憶要素に記憶されている保持装置200の各構成要素の地球座標系における位置から、幾何学モデルに従ってロボット100と連結機構との連結部分の地球座標系における位置を認識する。そして、ロボット制御装置310は、ロボット座標系における各構成要素の位置及び姿勢を、当該ロボット100と連結機構との連結部分の地球座標系における位置及びジャイロセンサに示される基体110の傾斜角度にもとづいて、地球座標系に換算することにより、ロボット100の各構成要素の地球座標系における位置及び姿勢を認識する。
保持装置制御要素333は、受動着床処理(図11)を実行する(図10/STEP0210)。受動着床処理の詳細は後述する。
ロボット制御要素332は、ロボットが受動着床した後(図9(g))、図9(h)に示されるように、ロボット100の背筋を伸ばすようにロボット100の姿勢を制御することにより、ロボット100の姿勢を直立状態に移行させる(図10/STEP0224)。
保持装置制御要素333は、取得した保持装置200の内部状態センサ群281の出力(給電コネクタ263の接続状況)に基づき、充電器260の給電コネクタ263がロボット100の受電コネクタ118に接続されているか否かを判定する(図10/STEP0226)。当該判定結果が肯定的である場合(図10/STEP0226‥YES)、保持装置制御要素333は、充電処理が行われている場合には充電処理を停止し(図10/STEP0228)、給電コネクタ263の接続を解除する(図10/STEP0230)。これらの処理のあと、保持装置制御要素333は、前扉211を開状態に制御する。
(保持システムの機能・受動着床処理)
次に、図9及び図11を参照して、図10/STEP0210の受動着床処理の詳細について説明する。
当該受動着床処理の開始時において、保持装置200に保持されたロボット100は、図9(e)に示されるように、第2間隔d2がゼロではない姿勢となっている。
ロボット位置姿勢推定要素331は、取得したロボット100の内部状態センサ群131の出力(基体110の姿勢及び各関節機構の回転自由度ごとの屈曲角度)に基づき、受動着床モード姿勢を認識する(図11/STEP0211)。
受動着床モード姿勢は、揺動軸線SLを通る鉛直面Sとロボットの重心Gとの水平間隔である第1間隔d1及びロボットの重心Gを通る鉛直線Lと仮想支持平面領域SRの中心点Cとの水平間隔である第2間隔d2とを推定することにより認識されるロボット100の姿勢である。
受動着床モード姿勢の認識方法については、受動離床モード姿勢と同様であるので、説明を割愛する。
ロボット制御要素332は、認識された受動着床モード姿勢に基づき、ロボット100の姿勢を離着床基本姿勢(図9(f))へ移行させる(図11/STEP0212)。より具体的には、ロボット制御要素332は、第1間隔d1及び第2間隔d2が共にゼロとなるように、ロボット100の姿勢を制御する。
保持装置制御要素333は、取得した保持装置200の外部状態センサ群282の出力(ステレオイメージセンサに示されるロボット100の姿勢)に基づき、ロボット100の姿勢が離着床基本姿勢(図9(f)参照)であるか否かを判定する(図11/STEP0213)。当該判定結果が否定的である場合(図11/STEP0213‥NO)、ロボット制御要素332は、離着床基本姿勢との差分を修正するようにロボット100の姿勢を変更させる(図11/STEP0214)。
当該判定結果が肯定的である場合(図11/STEP0213‥YES)または図11/STEP0214のあと、保持装置制御要素333は、昇降装置250を下降させることにより、連結ロッド221に連結されたロボット100を引き下げる(図11/STEP0215)。
そして、ロボット100が受動着床する程度まで連結ロッド221を下降させた後、ロボット位置姿勢推定要素331は、取得したロボット100の足平部115の6軸力センサ131aの出力に基づき、MX及びMYがゼロであるか否かを判定する(図11/STEP0216)。もし、MXまたはMYがゼロでない場合に、ロボット100と連結機構220との係合を解除すると、ロボット100の姿勢が乱れる可能性があるからである。
当該判定結果が否定的であった場合(図11/STEP0216‥NO)、保持装置制御要素333は、昇降装置250の動作を制御することにより、連結ロッド221を上昇させ(図11/STEP0217)、図11/STEP0214以下の処理を再実行する。なお、所定の回数STEP0216の判定結果が否定的となった場合、統合制御装置330は、ロボット100または床の状態が異常である旨のエラーメッセージを出力して受動着床処理を中止してもよい。
STEP0216の判定結果が肯定的である場合(図11/STEP0216‥YES)、保持装置制御要素333は、連結機構220の係合を解除する処理を実行する(図11/STEP0218)。より具体的には、ロボット100の受動着床後、保持装置制御要素333は、回転機構233の動作を制御することにより、連結機構220と接続部122a、122bとの係合を解除する。そして、保持装置制御要素333は、昇降機構の動作を制御することにより、連結機構220を上昇させる。
以上の処理により、図9(g)に示されるように、ロボット100が保持状態から着床状態に移行する。
(本実施形態の保持システムによる作用・効果)
本実施形態の保持システムによれば、ロボット100の受動離床前に揺動軸線SLを通る鉛直面にロボット100の重心Gを近づけることができる。このため、受動離床時における第1間隔d1がゼロでないことに由来するロボット100の揺れが軽減または防止されうる。この結果、受動離床の際のロボット100の姿勢の確実な安定化が図られうる。
本実施形態の保持システムによれば、ロボット100の受動着床の前に仮想支持平面領域SRの中心点Cの上方にロボット100の重心Gが存在するように制御される。このため、受動着床時にロボット100が正常に着床できるとともに、ロボット100の姿勢安定化のための制御が不要となる。この結果、受動着床の際のロボット100の姿勢の確実な安定化が図られうる。
本実施形態の保持システムによれば、ロボット100の受動離床の前に給電コネクタ263が受電コネクタ118に接続される。また、ロボット100が離床した場合には、ロボット100の上昇に当該給電コネクタ263が追従し、給電コネクタ263と受電コネクタ118との接続が維持される。このため、ロボット100が離床状態で保持されている状態でも充電処理が続行される。この結果、ロボット100を離床状態で保持する際に充電をする場合でも、作業者による給電コネクタ263の接続の作業者の補助が不要となる。
ロボット100の受動離床または受動着床に際し、ロボット100の脚体が床反力に由来したモーメントMXまたはMYを受けていると、離床後にロボット100が揺れたり、着床後にロボット100の姿勢が崩れたりするおそれがある。この点に着目して構成された本実施形態の保持システムによれば、脚体114が受ける水平な軸回りの床反力モーメントMXまたはMYの大きさが小さくなるようにロボット100の姿勢が制御される。これにより、ロボット100の受動離床または受動着床に際し、ロボット100の姿勢の安定化が図られる。
(他の実施形態)
本実施形態では2つの接続部122a、122bと連結機構220の組とによってロボット100を上昇させたが、これに代えて、1つの接続部122a、122bと、1本の連結機構220の組とによってロボット100を上昇させてもよい。
また、連結機構とロボット100との接続方法(本実施形態では、連結機構220と接続部122a、122bとの係合)を規格化することにより、異なるロボットも同一の保持装置200に保持することが出来る。
ロボット100が揺動軸線SL回りに揺動可能に保持装置200によって保持されることに代えて、ロボット100が1点の揺動中心回りに揺動可能に保持装置200によって保持されてもよい。
また、連結機構220に代えて、真空吸引または把持によりロボットと連結する部材が採用されうる。この場合、ロボット100に接続部を設けなくともよい。