(57)【要約】【課題】エラー発生時に運用停止を回避する。【解決手段】動作指示手段１ａは、作業記述情報記憶手段２に記憶される作業記述情報を読み出し、動作指示情報に定義される動作を駆動部３に指示して実行させる。動作が正常完了しなかったときは、必須動作判定手段１ｂが、未完了の動作が所定のサービスを実行するために必須かどうかを判定する。必須でないときは、動作状態をスキップに遷移させる。スキップは、未完了の動作の動作単位の動作が行われている間は、継続される。スキップ処理手段１ｃは、作業記述情報に基づいて未実行の動作状態の動作を実行させる。しかし、動作指示情報に定義される対象の駆動部３が未完了の動作の駆動部３の種別と同じときは、この動作をスキップさせる。【選択図】図１
2010149255.tif 000002
【特許請求の範囲】
【請求項１】
各部位を動作させて所定の作業を行うロボットにおいて、
前記所定の作業を行うための各動作を、前記動作を行う部位を駆動する駆動部の種別及び前記動作が前記所定の作業に必須であるか否かを示した動作種別を含む動作指示情報に定義し、前記動作指示情報を動作手順に応じて記述した作業記述情報を記憶する作業記述情報記憶手段と、
前記作業記述情報記憶手段に記憶される前記作業記述情報から未実行の前記動作指示情報を読み出し、読み出した前記動作指示情報に基づいて対象の前記駆動部に動作指示を出力し、前記動作が正常完了したときは前記動作を実行済みとして前記動作手順に従って未実行の前記動作指示情報の読み出しからの処理を繰り返す動作指示手段と、
前記動作が正常完了しなかったとき前記動作指示手段によって起動され、未完了の動作を行った前記駆動部を特定するとともに、前記動作種別に基づいて前記未完了の動作が必須であるか否かを判定し、必須でないと判定されたときは動作状態をスキップに遷移させる必須動作判定手段と、
前記動作状態が前記スキップになると起動され、前記未完了の動作に関連する動作が継続する間は、前記作業記述情報から未実行の前記動作指示情報を読み出し、読み出した対象動作の前記駆動部の種別が前記未完了の動作の前記駆動部の種別と同じであるときは該対象動作を実行せず、前記動作手順に従って未実行の前記動作指示情報の読み出しからの処理を繰り返すスキップ処理手段と、
を有することを特徴とするロボット。
【請求項２】
互いに関連し、一連の動作が実行されることで所定の意味を持つ動作群を動作単位とし、各動作が属する前記動作単位を識別する識別情報を前記動作指示情報に記述しておき、
前記スキップ処理手段は、対象の動作の前記動作単位の前記識別情報と、前記未完了の動作の前記動作単位の前記識別情報とを照合し、一致しているときは、前記未完了の動作に関連する動作が継続しているとみなす、ことを特徴とする請求項１記載のロボット。
【請求項３】
前記スキップ処理手段は、対象の動作の前記動作指示情報に記述される動作指示を解析し、前記動作指示に、連続して実行される動作群の先頭または最後に出現する動作指示が検出されるまでは、前記未完了の動作に関連する動作が継続しているとみなす、
ことを特徴とする請求項１記載のロボット。
【請求項４】
前記作業記述情報に、前記動作指示情報に定義された動作が未完了のとき、代りに実行させる代替動作を記述しておき、
前記スキップ処理手段は、前記作業記述情報を読み出し、前記未完了の動作に前記代替動作が記述されているかどうかを判定し、前記代替動作が記述されているときは、前記代替動作の記述に基づく動作を前記駆動部に指示する、
ことを特徴とする請求項１記載のロボット。
【請求項５】
前記スキップ処理手段は、互いに関連し、一連の動作が実行されることで所定の意味を持つ動作群を動作単位として、前記動作単位の動作群に対応する前記動作指示情報の処理が終了したときは前記動作指示手段に通知し、
前記動作指示手段は、前記スキップ処理手段による前記動作単位の動作群の処理が終了したときに前記未完了の動作に対応する前記駆動部の復帰処理を行う、
ことを特徴とする請求項１記載のロボット。
【請求項６】
各部位を動作させて所定の作業を行うロボットの作業実行方法において、
動作指示手段が、作業情報記憶手段に記憶される前記所定の作業を行うための各動作を、前記動作を行う部位を駆動する駆動部の種別及び前記動作が前記所定の作業に必須であるか否かを示した動作種別を含む動作指示情報に定義し、前記動作指示情報を動作手順に応じて記述した作業記述情報から未実行の前記動作指示情報を読み出し、読み出した前記動作指示情報に基づいて対象の前記駆動部に動作指示を出力し、前記動作が正常完了したときは前記動作を実行済みとして前記動作手順に従って未実行の前記動作指示情報の読み出しからの処理を繰り返す手順と、
必須動作判定手段が、前記動作が正常完了しなかったとき、未完了の動作を行った前記駆動部を特定するとともに、前記動作種別に基づいて前記未完了の動作が必須であるか否かを判定し、必須でないと判定されたときは動作状態をスキップに遷移させる手順と、
スキップ処理手段が、前記動作状態が前記スキップのとき、前記未完了の動作に関連する動作が継続する間は、前記作業記述情報から未実行の前記動作指示情報を読み出し、読み出した対象動作の前記駆動部の種別が前記未完了の動作の前記駆動部の種別と同じであるときは該対象動作を実行せず、前記動作手順に従って未実行の前記動作指示情報の読み出しからの処理を繰り返す手順と、
を有することを特徴とするロボットの作業実行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はロボット及びロボットの作業実行方法に関し、特に各部位を動作させて所定の作業を行うロボット及びロボットの作業実行方法に関する。
【背景技術】
【０００２】
近年、ロボットは、工場などの一定の環境を保つことができる場所ばかりでなく、様々な場所に配備されるようになっている。例えば、ショッピングセンターなど公共の場所で不特定多数の人に対して所定の作業（サービス）を行うロボットがある。このようなロボットは、不測の事態によって動作が継続できなくなってしまうという状況が頻繁に発生する。一例を挙げると、周囲が人で混雑していて腕などが動かせなくなったり、子供が触ったりしがみついたりして腕や首などの駆動部が過負荷状態になったり、といった状況が想定される。
【０００３】
従来のロボットは、このような状況に対し、問題が解消されるまで動作または運用を停止していた。例えば、センサなどによって周囲の障害物が検知されたときは、障害物がなくなるまで動作を停止させていた。また、過負荷が検知されたときは、エラー状態として運用を停止していた。しかし、運用が停止してしまうと、エラーから復旧するまでに時間がかかるという問題がある。また、復旧に人の介在が必要となる場合もあるなど、管理上の問題もあった。
【０００４】
そこで、エラーとなる前の状態を検出し、異常状態とならないようにロボットの動作を制御する手法が提案されている。
例えば、モーター回転エネルギーが回生回路の抵抗で消費されている状態を監視し、その動作頻度が高いときは、ロボットが目的位置で停止している時間を強制的に確保させる制御装置がある（例えば、特許文献１参照）。
【０００５】
また、ロボット駆動部の異常温度上昇によってロボットの動作が停止することを抑止するために、検出温度が許容範囲を超える前まで上昇したことが検出されたときは、駆動速度を低下させ、温度上昇を抑える制御装置がある（例えば、特許文献２）。
【特許文献１】特開平６−１５５９０号公報
【特許文献２】特開平５−１１１８９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上記のような状況下で作業を行うロボットは、従来のエラー対処方法では、目的のサービスが提供できなくなるという問題点がある。
公共の場所で不特定多数の人に向けて所定の作業を行うロボットの業務の一例として案内業務がある。案内業務とは、ここでは、道順を聞かれたときにその案内を行ったり、各種問い合わせに対し適切な情報を提供したりするような業務を指すとする。このような案内業務では、駆動部によって首や腕などを動かす動作は、補助的な表現動作である場合が多い。道案内をするのであれば、音声などによって道順を通知するとともに、腕によって進むべき方向を指し示すなどの表現動作が行われる。
【０００７】
このようなロボットに対し、従来のエラー対処方法、例えば、成功しなかった動作のリトライを行うとする。リトライ動作は、予め定義された回数または時間の間繰り返され、それでも駄目なときは運用が停止される。しかし、表現動作はロボットと人とのコミュニケーションの中の一つである。このため、リトライ動作によって表現のタイミングを逃して実行されても意味がない場合が多い。
【０００８】
また、駆動部が高負荷状態になるなどのエラーが発生した場合、即座に自動復帰処理を行って作業を継続させる方法も一般的である。しかし、このような場合、問題が解決していなければ結局再エラーが発生する。例えば、子供がロボットの腕などを掴んでいるときは、子供が手を離さなければ、復帰処理を行っても結局エラーとなってしまう。
【０００９】
なお、上記の従来技術のように、モーター回転や温度異常など、エラーとなる前の状態を検知することで、運用停止は避けることができる。しかし、そのために動作の速度を低下させたり、一定時間停止させたりしなければならない。表現動作を行うロボットでは、このような対処をすると相手へメッセージが伝わらなくなる恐れがあり、目的を果たすことができなくなる。
【００１０】
さらに、動作が表現動作などの補助的な動作であれば、動作が完了できないことにより運用停止とする必要性は低い。なぜなら、全体としてサービスが提供できれば、目的は果たせるからである。例えば、音声による道案内とともに進む方向を指示する表現動作が行われるのであれば、音声による道案内ができれば、多少わかりにくくなるとしても目的は果たせる。したがって、表現動作が成功しないことによって、音声による道案内が途中で打ち切られてしまうのは、運用上好ましくない。
【００１１】
このように、人によって干渉される場所で作業を実行するロボットでは、従来のエラー対処方法を適用することは運用上好ましくなかった。
本発明はこのような点に鑑みてなされたものであり、エラー発生時に運用停止を回避し、目的の作業を遂行することが可能なロボット及びロボットの作業実行方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、作業記述情報記憶手段、動作指示手段、必須動作判定手段及びスキップ処理手段を有し、各部位を動作させて所定の作業を行うロボットが提供される。作業記述情報記憶手段は、所定の作業を行うための各動作を、動作を行う部位を駆動する駆動部の種別及び動作が所定の作業に必須であるか否かを示した動作種別を含む動作指示情報として定義し、この動作指示情報を動作手順に応じて記述した作業記述情報を記憶する。動作指示手段は、作業記述情報記憶手段に記憶される作業記述情報から未実行の動作指示情報を読み出し、読み出した動作指示情報に基づいて対象の駆動部に動作指示を出力する。そして、動作が正常完了したときはこの動作を実行済みとして動作手順に従って未実行の動作指示情報の読み出しからの処理を繰り返す。必須動作判定手段は、動作が正常完了しなかったとき動作指示手段によって起動される。未完了の動作を行った駆動部を特定するとともに、動作種別に基づいて未完了の動作が必須であるか否かを判定し、必須でないと判定されたときは動作状態をスキップに遷移させる。スキップ処理手段は、動作状態がスキップになると起動され、未完了の動作に関連する動作が継続する間処理を行う。まず、作業記述情報から未実行の動作指示情報を読み出し、読み出した対象動作の駆動部の種別が未完了の動作の駆動部の種別と同じであるときは該対象動作を実行せず、動作手順に従って未実行の前記動作指示情報の読み出しからの処理を繰り返す。
【００１３】
このようなロボットでは、動作指示手段は、作業記述情報記憶手段に記憶される作業記述情報を読み出し、定義される動作を駆動部に指示して実行させる。動作が正常完了したときは、順次未実行の動作を実行する。動作が正常完了しなかったときは、必須動作判定手段が、未完了の動作が所定のサービスを実行するために必須かどうかを判定する。必須でないときは、動作状態をスキップに遷移させる。スキップ処理手段は、未完了の動作に関連する動作が継続する間は、未実行の動作指示情報の対象駆動部が未完了の動作の駆動部の種別と同じときは、この動作指示情報に基づく動作を実行しない。
【００１４】
また、上記課題を解決するために、ロボットを、上記と同様に機能させるロボットの作業実行方法が提供される。
【発明の効果】
【００１５】
開示のロボット及びロボットの作業実行方法によれば、所定の作業のための動作を動作手順に従って実行しているとき、正常完了しない動作があれば、その動作が必須かどうかを判定する。そして、必須でなければ、この動作と関連する動作が継続する間は、駆動部が同じ動作をスキップし、他の動作を動作手順に従って実行する。これにより、必須でない動作でエラーが発生したときに、運用が停止されてしまうことを防止することができる。また、運用停止を回避することによって、利用者の利便性が増すほか、運用時間を長期化することが可能となる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態を図面を参照して説明する。まず、発明の概要について説明し、その後、具体的な内容を説明する。
図１は、発明の概要を示した図である。
【００１７】
ロボットは、作業記述情報に記述される動作手順に従ってロボットの各部位の動作制御を行う制御部１、作業記述情報が記憶される作業記述情報記憶手段２及び制御部１に従ってロボットの各部位を駆動する駆動部３を有す。そして、作業記述情報に基づいて所定の作業を行い、利用者にサービスを提供する。
【００１８】
作業記述情報記憶手段２には、作業記述情報が記憶される。作業記述情報は、所定の作業を実行するための実行手順、実行条件、実行される動作の定義などが記述された情報である。実行手順に応じて各動作を記述した動作指示情報は、動作を行う部位を駆動する駆動部の種別及び動作が必須であるか否かを示した動作種別を含む動作に関する情報が定義される。駆動部の種別には、例えば、首を動作させるのであれば首駆動部、腕を動作させるのであれば腕駆動部など、駆動部を判別するための情報が定義される。必須の動作とは、所定の作業の目的を果たすために欠かせない動作を言う。この動作が失敗しても全体として目的が果たせるような補助動作であれば、必須動作とはならない。
【００１９】
また、必須でない動作を他の代替動作で置き換える場合は、代替動作を作業記述情報に登録しておくこともできる。さらに、互いに関連するひとまとまりの動作を動作単位として、各動作が属する動作単位を識別する識別情報を登録することもできる。あるひとまとまりの動作とは、一連の動作が実行されることで所定の意味を持つ動作群を言う。なお、代替動作及び動作単位の識別情報は、任意に登録される。
【００２０】
駆動部３は、首や腕などの各部位を駆動し、所定の動作を行わせる。例えば、首の向きを変える、腕の上げ下ろしなどの動作を行わせる。各部位ごとに、首を動かす首駆動部、腕を動かす腕駆動部などが設けられている。図１に示した駆動部３は、これらの代表を表しているとする。
【００２１】
制御部１は、通常時の動作指示を行う動作指示手段１ａ、動作が必須であるか否かを判定する必須動作判定手段１ｂ、スキップ時の処理を行うスキップ処理手段１ｃ及び復帰処理を行う復帰処理手段１ｄを有する。
【００２２】
動作指示手段１ａは、作業記述情報記憶手段２に記憶される対象作業の作業記述情報から未実行の動作指示情報を読み出し、読み出した動作指示情報に基づいて、対象の部位を駆動する駆動部３に動作指示を出力する。そして、応答として、駆動部から動作結果を取得する。動作結果が正常完了であれば、この動作を実行済みとする。そして、動作手順の次の未実行の動作の動作指示情報を読み出し、上記と同様の処理を行う。一方、動作結果が正常完了でないときは、必須動作判定手段１ｂを起動する。そして、必須動作判定手段１ｂによって必須であると判定されたときは、エラーを発生させる。
【００２３】
必須動作判定手段１ｂは、動作結果が、失敗（正常完了しなかった）であったとき、この未完了の動作が、所定の作業に必須であったかどうかを判定する。未完了の動作に関する動作指示情報を作業記述情報記憶手段２から読み出し、動作が必須であるか否かを示した動作種別をチェックする。動作種別が必須であれば、動作指示手段１ａに必須である旨の応答を返す。動作種別が必須でなければ、動作状態をスキップとし、スキップ処理手段１ｃを起動する。
【００２４】
スキップ処理手段１ｃは、動作状態がスキップとなったときに起動され、スキップモードの動作処理を行う。スキップモードでは、未完了の動作と関連するひとまとまりの動作（動作単位）が継続する間、動作の実行処理を行う。作業記述情報記憶手段２から未実行の動作指示情報を読み出し、この動作指示情報の動作が未完了の動作と同じ動作単位に属するかどうかを判定する。例えば、動作指示情報に動作単位の識別情報が記述されているときは、この動作の動作単位の識別情報が未完了の動作の動作指示情報のものと一致するかどうかをチェックする。一致していれば、この動作はスキップされる。一致していなければ、実行される。また、動作指示には、例えば、駆動部のオンやオフなど、一連の手順の最初または最後に出現する指示がある。このような動作指示が動作指示情報に出現するまでは、継続した動作であるとみなすことができる。このようにして、動作単位の終了を判定してもよい。そして、動作単位の動作が全て終了した時点で、終了を動作指示手段１ａに通知し、スキップモードを終了させる。また、未完了の動作に代替動作が定義されているときは、代替動作の動作指示情報を読み出し、代替動作を実行する。
【００２５】
復帰処理手段１ｄは、動作指示手段１ａに従って駆動部３の復帰処理を行う。動作指示手段１ａからの復帰指示に応じて駆動部３の再起動などを行い、結果を応答として返す。
このような構成のロボットによれば、作業記述情報記憶手段２に格納される作業記述情報に設定される動作の実行条件が成立すると、該当する作業記述情報が読み出され、制御部１の動作処理が開始される。
【００２６】
動作指示手段１ａは、作業記述情報に含まれる動作指示情報を実行手順の順に読み出し、駆動部３に動作指示を出す。駆動部３から指示された動作が正常完了したことが通知されたときは、次の手順の動作指示情報を読み出し、同様の処理を行う。こうして、動作が正常完了している間は、通常動作として記述される動作指示情報に基づく動作が順次実行される。
【００２７】
ここで、何らかの事情により、駆動部３に指示した動作が正常完了しないことがある。駆動部３から動作が正常完了しなかったことが通知されると、動作指示手段１ａは、必須動作判定手段１ｂを起動する。必須動作判定手段１ｂは、作業記述情報記憶手段２から正常完了しなかった未完了の動作の動作指示情報を読み出し、動作種別をチェックする。必須であれば、動作指示手段１ａにその旨を通知する。動作指示手段１ａは、エラーを発生させ、動作のリトライや、復帰処理手段１ｄに復帰指示をするなどの処理を行う。必須でなければ、動作状態をスキップモードにする。また、動作が正常完了しなかった駆動部３の種別も特定しておく。
【００２８】
動作状態がスキップモードとなると、スキップ処理手段１ｃが処理を開始する。作業記述情報記憶手段２から該当する作業記述情報を読み出し、未完了の動作の次の動作指示情報の動作から処理を開始する。動作指示情報を解析し、未完了の動作が属する動作単位の動作が継続している間は、スキップ処理を行う。未実行の動作の駆動部の種別が未完了の動作の駆動部の種別と一致するかどうかを判定する。一致するときは、この動作指示情報に基づく動作をスキップし、次に動作指示情報の処理を行う。また、この未完了の動作に代替動作が定義されているときは、代替動作の動作指示情報を作業記述情報記憶手段２から読み出し、代替動作を実行する。なお、スキップするのは、正常完了しなかった駆動部が駆動処理を行う動作についてのみでよい。したがって、駆動部の種別が一致しないときは、動作指示情報に基づく動作指示を駆動部３に出力する。しかし、必要であれば、この動作指示もスキップさせるようにしてもよい。これらの手順は、予め作業記述情報に適宜記述しておく。そして、動作単位の動作がすべて終了したときは、終了を動作指示手段１ａに通知する。このとき、動作状態をスキップモードから通常モードに戻す。動作指示手段１ａは、復帰処理手段１ｄに復帰指示を行うなどした後、次の動作単位の動作からの処理を行う。なお、復帰処理手段１ｄによる復帰処理は、センサなどを用いて障害の発生状況を監視しておき、障害がなくなったことが検出されたときに実行されるとしてもよい。
【００２９】
このようなロボットによれば、駆動部３が作業記述情報に記述された動作ができなかったとき、この動作が必須でなければ、この動作をスキップして所定の作業のための動作が継続される。このとき、ひとまとまりの動作単位の動作であって、未完了の動作と同じ駆動部の種別で駆動される動作は、同じようにスキップされる。また、代替動作が定義されていれば、未完了の動作に代わって実行され、その後の動作が継続される。これにより、必須でない動作により運用が停止されることを防止することができる。また、同じ動作単位の動作であって、同じ駆動部で実行される動作指示は、そのうちの少なくとも１つの動作が失敗したときに、以降の動作がスキップされる。一連の動作が正常に完了して所定の意味を持つので、１つが失敗した以降は、継続しても意味がない場合が多い。また、復帰処理などを行わないので、再度異常が検出される恐れもある。このように以降の動作をスキップすることで、無駄な動作を省くことができる。
【００３０】
以下、発明を、施設への道案内などを行う案内ロボットに適用した場合を例に図面を参照して詳細に説明する。
図２は、案内ロボットの構成を示した図である。
【００３１】
案内ロボットは、作業の遂行を制御する作業実行制御部１００、作業記述情報が記憶される作業記述情報記憶部１２０、各部位を駆動して所定の動作をさせる駆動部１３０、画面を表示する画面表示部１４０、音声を出力する発話部１５０及び周囲の人を検出する人検出部１６０を有する。
【００３２】
作業実行制御部１００は、作業記述情報記憶部１２０に格納される動作手順を順に読み込み、駆動部１３０に指示して記述された動作を実行させ、駆動部１３０から実行可否の応答を得る。駆動部１３０から動作が正常完了した旨の通知を受け取ったときは、次の動作を実行させる。駆動部１３０から、指示された動作が失敗し、この動作が必須であったことが通知されたときは、エラーを発生させるととともに、リトライ処理などを実行させる。そして、駆動部１３０から、指示された動作が失敗し、スキップモードとした旨の通知を受けると、作業記述情報を解析し、代替動作が記述されているかどうかを判定する。代替動作が記述されているときは、代替動作が、現在の動作指示の後に実行されるようにする。なお、スキップ処理は、図１の構成では制御部１が行うとしたが、図２の構成では、各駆動部１３０が行うとする。作業実行制御部１００は、動作の実行順を管理するのみとする。どちらでスキップ処理を行うかは、適用されるロボットシステムに応じて、適宜決定される。
【００３３】
作業記述情報記憶部１２０は、所望の作業を行うための動作手順が記述された作業記述情報を記憶する。
駆動部１３０は、駆動制御部１３１、センサ１３２及び過負荷検知部１３３を有し、作業実行制御部１００からの指示に従って、ロボットの首や腕などの各部位を動作させる。駆動制御部１３１は、作業実行制御部１００からの指示に従って、図示しないサーボモータを制御し、各部位を動かす。そして、各部位が正常に駆動されなかったときは、この動作が必須であったかどうかをチェックする。そして、必須でなければスキップ処理を行う。センサ１３２は、駆動部１３０の状態を検知し、異常状態を検知したときは駆動制御部１３１へ通知する。過負荷検知部１３３は、駆動部１３０が過負荷状態となったときは、これを検出し、駆動制御部１３１へ通知する。
【００３４】
画面表示部１４０は、作業実行制御部１００からの指示に従って、所定の画面を表示部に表示する。
発話部１５０は、作業実行制御部１００からの指示に従って、所定のメッセージを音声で出力する。
【００３５】
人検出部１６０は、ロボットの周囲に人がいるか否かを検出し、検出結果を作業実行制御部１００へ通知する。
図３は、案内ロボットの作業実行制御部のハードウェア構成例を示すブロック図である。図３は、図２に示した案内ロボットの作業実行制御部１００の構成を示している。
【００３６】
案内ロボットの作業実行制御部１００は、ＣＰＵ（Central Processing Unit）１０１によって全体が制御されている。ＣＰＵ１０１には、バス１０８を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ：Hard Disk Drive）１０３、グラフィック処理部１０４、音声処理部１０５、入力インタフェース１０６及び駆動部インタフェース１０７が接続されている。
【００３７】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションのプログラムが格納される。また、作業記述情報が格納されるとしてもよい。グラフィック処理部１０４には本体に組み込まれた画面表示部１４０が接続されており、ＣＰＵ１０１からの命令に従って画面表示部１４０の画面に画像を表示させる。音声処理部１０５には発話部１５０が接続されており、ＣＰＵ１０１からの命令に従って発話部１５０に音声を出力させる。入力インタフェース１０６には人検出部１６０が接続されており、人検出部１６０の検出信号は、バス１０８を介してＣＰＵ１０１に通知する。駆動部インタフェース１０７には駆動部１３０が接続されており、ＣＰＵ１０１からの命令に従って駆動指示を駆動部１３０へ出力する。また、エラーなどの通知が駆動部１３０から入力されたときは、バス１０８を介してＣＰＵ１０１に通知する。
【００３８】
このようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
ここで、所定の作業の手順を記述した作業記述情報について説明する。図４は、作業記述情報の書式の一例を示した図である。
【００３９】
作業記述情報２００は、ロボットに実行させる通常の作業を記述した状態部２１０と、代替動作を記述した代替動作部２２０と、を有する。状態部２１０には、通常状態で行われる動作指示が記述される。代替動作部２２０には、予め状態部２１０に適宜される所定の動作指示がスキップされるときに、代替動作として実行される動作指示が記述される。
【００４０】
状態部２１０は、状態２１１に、動作の内容を表す［状態名（実行される作業の名称）］が定義される。また、イベント２１２では、この作業の開始条件となる［イベント名］とともに、このイベントの発生によって［実行するアクション名］、このアクションが終了したときに［遷移する状態名］が記述される。なお、遷移する状態名の定義は、必須ではない。さらに、アクション２１３では、イベント２１２で定義された動作指示（以下、アクションとする）の詳細が定義される。このアクション２１３は、動作指示情報であり、この記述に基づいて該当する駆動部に対し、動作指示が行われる。［アクション名］は、アクションの内容を表す名称が定義される。［アクション定義（パラメータ）］には、動作の詳細が定義される。アクション定義の詳細は後述する。
【００４１】
代替動作部２２０は、代替動作２２１について、［代替動作名］と、［代替動作アクション定義］とが記述される。この代替動作２２１の記述に基づいて、代替動作が行われる。この［代替動作アクション定義（パラメータ）］の書式は、［アクション定義（パラメータ）］と同様である。
【００４２】
アクション定義について説明する。［アクション定義（パラメータ）］には、動作を行う対象の部位とその動作が、パラメータによって記述される。図５は、アクション定義パラメータの一例を示した図である。
【００４３】
図５の例のアクション定義パラメータ３００では、動作情報、動作単位及び代替動作の３つのパラメータが定義される。
動作情報３０１は、動作の詳細を定義するパラメータで、角度／位置／スピードなどの動作に関連する情報と、動作を識別するため予め定義した動作ＩＤと、動作を他の部位と同期させるかどうかを定義する同期実行／非実行などがある。
【００４４】
動作単位３０２は、ひとまとまりの動作群に対し、この動作群に対し共通に付与される番号が定義される。図の例では、定義される番号（シリアルＩＤ）の値によって、この動作が必須動作であるかどうかを判別できるようにする。例えば、シリアルＩＤの１〜１０００が付与された動作は、必須動作ではないとする。
【００４５】
代替動作３０３は、代替動作をさせる場合は、その代替動作名とパラメータとが定義される。
具体例を用いて作業記述情報を説明する。図６は、作業記述情報の一例を示した図である。なお、図６の続きは、図７で示す。
【００４６】
ここでは、施設案内作業として、主動作として「音声で方向を案内」を行い、補助動作として「案内する方向を頭部と腕とで示す」という動作を行わせる場合について説明する。なお、動作を開始させるイベントは、「お客様がボタンを押下」であり、代替動作は、「腕を動かせなかったとき、画像表示部に方向を表示させる」とする。
【００４７】
施設案内の作業記述情報２０１は、上記の作業をロボットに行わせるため、状態２１１ａ、イベント２１２ａ及びアクション２１３ａが定義される。作業記述情報は、図４に示した書式を用いている。
【００４８】
状態部２１１ａには、状態［お客様に施設方向案内］という動作が定義される。イベント２１２ａには、作業開始の合図となるイベント［お客様ボタン押下］と、発生するアクション［方向指し示し］と、が記述される。なお、ここでは、次の遷移状態は記述されていない。
【００４９】
また、アクション２１３ａには、［方向指し示し］の動作手順が記述される。第１の動作２１３１には、“発話部に「あちら方向になります（パラメータなし）」発話指示”を行うことが記述されている。第２の動作２１３２には、“腕サーボＯＮ”を行うことが記述されている。第３の動作２１３３には、“頭駆動部に方向指示（動作情報＝＊＊方向、ＩＤ＝１、代替動作＝なし）”を行うことが記述されている。なお、＊＊方向は指示する方向により適宜設定される。ＩＤは、動作単位に付与されるシリアルＩＤである。また、１〜１０００までは、必須でない動作であるとする。第４の動作２１３４には、“腕指定方向指し指示（動作情報＝＊＊方向、ＩＤ＝１、代替動作＝方向指し示し）”を行うことが記述されている。第５の動作２１３５には、“２秒停止”を行うことが記述されている。第６の動作２１３６には、“腕指定方向指示（動作情報＝下方向、ＩＤ＝１、代替動作＝なし）”を行うことが記述されている。第７の動作２１３７には、“頭駆動部に正面に戻る指示（動作情報＝正面方向、ＩＤ＝１、代替動作＝なし）”を行うことが記述されている。そして、第８の動作２１３８には、“腕サーボＯＦＦ”を行うことが記述されている。
【００５０】
このように、アクション２１３ａには、発話部で方向を指示するとともに、腕と首で指示する方向を指すことが定義されている。また、“頭駆動部に方向指示”２１３３から“頭駆動部に書面に戻る指示”２１３７までの動作は、動作単位が同じ（ＩＤ=１）にとまとまりの動作である。
【００５１】
施設案内の作業記述情報２０１の続きを説明する。
図７は、図６の作業記述情報の一例の続きを示した図である。
施設案内の作業記述情報２０２には、アクション２１４ａとして［バイバイ］動作を行うことが記述されている。アクション２１４ａは、図６に示したアクション２１３ａの次に実行される。第１の動作２１４１には、“腕サーボＯＮ”を行うことが記述されている。第２の動作２１４２には、“腕指定方向指示（動作情報＝上方向、ＩＤ＝２、代替動作＝なし）”を行うことが記述されている。第３の動作２１４３には、“腕振り指示（ＩＤ＝２、代替動作＝なし）”を行うことが記述されている。第４の動作２１４４には、“腕指定方向指示（動作情報＝下方向、ＩＤ＝２、代替動作＝なし）”を行うことが記述されている。第５の動作２１４５には、“腕サーボＯＦＦ”を行うことが記述されている。
【００５２】
代替動作２２１ａには、代替動作［方向指し示し］の動作手順が記述される。第１の動作２２３１には、“発話部に「＊＊方向になります」発話指示”という動作が定義される。なお、＊＊方向は、アクション２１３２，２１３３の＊＊方向と同様のパラメータにより処理実行時に決定される。第２の動作２２３２には、“画像表示部に、＊＊方向の矢印表示」という動作が定義される。このように、代替動作２２１ａに定義されるのは、駆動部による物理的な動作を伴わない表現方法が記述される。
【００５３】
図６，７に示した作業記述情報に基づき、右斜め前方向を指し示す動作の間に腕の過負荷検知が発生した場合について説明する。
図８は、腕の過負荷検知が発生したときの動作手順を示した図である。図６、図７の動作指示と同じものには同じ番号を付す。ただし、（）内のパラメータに含まれる動作情報は、省略している。また、図６，７で＊＊方向に相当する部分は、「右斜め前方向」に置き換えられている。
【００５４】
まず、作業記述情報２０１，２０２の実行順に基づいて、アクション２１３ｂ［方向指し示し］が開始される。
まず、“腕サーボＯＮ”２１３２により、腕を駆動する腕サーボがＯＮされる。次に、“頭駆動部に方向指示”２１３３によって、首が右斜め前方向に向けられる。続いて、“腕指定右斜め前指し指示”２１３４によって、腕が右斜め方向を指すように動作指示が行われる。
【００５５】
ここで、腕過負荷検知４０１が発生する。“腕指定右斜め前指し指示”２１３４には、代替動作として［方向指し示し］２２１ｂが定義されているので、代替動作［方向指し示し］２２１ｂの差し込みが行われる（４０２）。実行順は、現在処理中の“腕指定右斜め前指し指示”２１３４の次になる。
【００５６】
こうして、代替動作「方向指し示し」２２１ｂが実行される。代替動作［方向指し示し］２２１ｂでは、“発話部に「右斜め前の方向になります」発話指示”２２３１と、“画像表示部に、右斜め前方向の矢印表示指示”２２３２とが実行される。代替動作では、駆動部を用いたものではなく、音声と画像表示による案内が行われる。
【００５７】
代替動作２２１ａが終了後、次の“２秒停止”２１３５に戻って処理が順次行われる。次の“腕指定方向指し指示”２１３６は、動作が失敗した腕駆動部を用いるので、動作がスキップされる。そして、“頭駆動部に正面に戻る指示”２１３７と、“腕サーボＯＦＦ"２１３８が実行され、アクション２１３ｂは終了する。
【００５８】
次のアクション［バイバイ］２１４ｂを実行する。
ここで、前のアクション２１３ｂでは、駆動部に過負荷が検知されているので、アクション２１４ｂの前に駆動部の復帰処理を行わなければならない。
【００５９】
例えば、“腕上方向指示”２１４２は、ＩＤ＝２であるので、アクション［方向指し示し］２１３ｂのＩＤ＝１とは異なる。そこで、ＩＤが１から２に変化したのを捉え、復帰処理＋腕サーボＯＮ（４０３）を行う。また、通常、サーボＯＦＦやサーボＯＮは、１つの動作単位が終了していないと動作できない。このように、動作単位の動作の最初と最後の動作は、決まっていることが多い。そこで、動作指示に“腕サーボＯＮ”２１４１を検出した時点で、復帰処理＋腕サーボＯＮ（４０３）を行うとすることもできる。
【００６０】
なお、駆動部１３０における動作結果についての情報は、駆動部１３０から作業実行制御部１００への応答として返る。図９は、駆動部の応答に含まれるパラメータの一例を示した図である。
【００６１】
駆動部応答５００は、動作結果５０１と、代替動作５０２の２つのパラメータを有する。動作結果５０１は、駆動部１３０が指示に基づいて動作した結果を示している。その内容には、動作が正常に完了した「完了」、動作が失敗したときの「スキップ（代替動作実行）」「スキップ（代替動作なし）」及び「失敗」がある。失敗した動作が必須の動作であったときは、スキップ処理は行われず「失敗」が応答として返る。失敗した動作が必須の動作でなく、かつ、その動作に代替動作が設定されているときは、代替動作が行われ、「スキップ（代替動作実行）」が応答として返る。また、代替動作を実行したときには、代替動作５０２として代替動作名と、次の処理に引き継ぐパラメータが設定される。そして、失敗した動作が必須の動作でなく、かつ、その動作に代替動作が設定されていないときは、「スキップ（代替動作なし）」が応答として返る。
【００６２】
次に、実施の形態のロボットの作業実行方法についてフローチャートを用いて説明する。
図１０は、ロボットの作業実行制御部の処理手順を示したフローチャートである。
【００６３】
作業記述情報２００のイベント２１２に記述される事象が発生すると、イベント２１２に定義に基づいて実行するアクションが決定され、処理が開始される。
［ステップＳ０１］  作業記述情報２００に記述される実行対象のアクション２１３のアクション定義のうち、未実行のものを１つ読み込む。アクション２１３のアクション定義は、時系列に並べられているので、前回処理したアクション定義の次のアクション定義が読み出される。
【００６４】
［ステップＳ０２］  ステップＳ０１で読み込んだアクション定義に基づき、対応する駆動部に対して動作を指示する。例えば、“頭駆動部に方向指示”であれば、頭駆動部に、“腕指定方向指し指示”であれば、腕駆動部にアクション定義の動作指示を出す。動作指示を受けた各駆動部は、後述するアクション処理を行い、その動作結果を応答として返す。
【００６５】
［ステップＳ０３］  駆動部より応答として動作結果を取得し、動作結果に応じて以降の処理を分岐させる。動作結果には、図９に示したように、完了／スキップ（代替動作実行）／スキップ（代替動作なし）／失敗、がある。まず、結果が正常終了（完了）であったかどうか判定する。「完了」でなければ、処理をステップＳ０４に進める。完了であれば、処理をステップＳ０７に進める。
【００６６】
［ステップＳ０４］  ステップＳ０３で取得した駆動部からの応答が「完了」でなければ、「スキップ」であるかどうか判定する。スキップであれば、処理をステップＳ０５に進める。スキップでなければ、処理をステップＳ０８に進める。
【００６７】
［ステップＳ０５］  駆動部からの応答が「スキップ」であったときは、さらに、「代替動作」があるかどうかを判定する。実行中のアクション定義のパラメータの「代替動作」を抽出し、代替動作名が記述されているかどうかを判定する。代替動作名が定義されていれば、処理をステップＳ０６に進める。定義されていなければ、処理をステップＳ０７に進める。
【００６８】
［ステップＳ０６］  駆動部からの応答が「スキップ（代替動作実行）」であったときは、アクション定義に記述されている代替動作の実行順を、現在実行中のアクション定義の後ろに差し込む。これにより、代替動作が次に実行されるようになる。その後、処理をステップＳ０７に進める。
【００６９】
［ステップＳ０７］  アクション２１３に次のアクション定義があるかどうかを判定する。また、１つのイベント２１２に複数のアクションが記述されているときは、これを含めアクション定義の有無を判定する。次のアクション定義があるときは、ステップＳ０１に戻って次のアクション定義の動作指示の処理を行う。次のアクション定義がないときは、処理を終了する。
【００７０】
［ステップＳ０８］  駆動部からの応答が「失敗」であったときは、リトライなどのエラー処理により復帰を試みる。そして、最終的に復帰不能であれば、エラー状態に遷移し、処理を終了する。
【００７１】
以上の処理が行われることにより、作業記述情報に記述されるアクションを動作させるため、アクション定義が順次実行される。作業実行制御部１００は、発生したイベントに応じたアクション２１３に記述されるアクション定義を順次読み出し、各駆動部１３０へ動作指示を行う。そして、各駆動部１３０からの応答に応じて、次に実行するアクション定義を再決定する。正常完了であれば、順番に従って次のアクション定義を実行させる。スキップ（代替動作なし）であれば、正常完了時と同様に、次のアクション定義を実行させる。スキップ（代替動作実行）であれば、代替動作を実行させる。そして、失敗であれば、エラー状態に遷移する。
【００７２】
次に、各駆動部の処理について説明する。まず、動作状態がスキップであるときの動作について説明し、続いてスキップでないときの動作について説明する。
図１１は、駆動部がスキップのときのアクション処理の手順を示した図である。
【００７３】
［ステップＳ１０１］  現在の動作状態がスキップであるかどうかを判定する。スキップであれば、処理をステップＳ１０２に進める。スキップでなければ、処理を図１２の分岐点Ａへ進める。
【００７４】
［ステップＳ１０２］  実行対象のアクション定義に記述される指示の動作単位（ＩＤ）が、前回処理したアクション定義の動作単位（ＩＤ）と同じであるかどうかを判定する。同じであれば、処理をステップＳ１０３に進める。同じでなければ、処理をステップＳ１０７に進める。
【００７５】
［ステップＳ１０３］  前回実行したアクション定義と同じ動作単位（ＩＤ）、すなわち、未完了となりスキップされたアクション定義と同じ動作単位（ＩＤ）と関連する一連の動作が継続しているときは、代替動作の有無を判定する。代替動作の有無は、このアクション定義のパラメータ「代替動作」に代替動作名が定義されているかどうかによって判定する。代替動作が定義されているときは、処理をステップＳ１０４に進める。定義されていないときは、処理をステップＳ１０５に進める。
【００７６】
［ステップＳ１０４］  代替動作があるときは、代替動作が前回処理した代替動作と同じであるかどうかを判定する。作業記述情報に、１つの動作単位（ＩＤ）に属する複数のアクション定義に同じ代替動作が定義されている場合がある。そのようなときに、代替動作が繰り返し行われることを防ぐため、代替動作が前回処理したものと同じときはステップＳ１０５に処理を進め、代替動作を繰り返して実行させない。前回処理した代替動作と異なるときは、処理をステップＳ１０６に進める。
【００７７】
［ステップＳ１０５］  実行中のアクション定義に代替動作が定義されていないとき、あるいは、前回処理で実行された代替動作がされているときは、「スキップ（代替動作なし）」を結果応答として作業実行制御部１００へ返し、処理を終了する。
【００７８】
［ステップＳ１０６］  実行中のアクション定義に代替動作が定義されているときは、「スキップ（代替動作あり）」を結果応答として作業実行制御部１００へ返す。このとき、代替動作の識別情報（例えば、代替動作名）もパラメータとして応答に付与するとしてもよい。その後、処理を終了する。
【００７９】
［ステップＳ１０７］  実行中のアクション定義の動作単位（ＩＤ）が、前回処理したアクション定義の動作単位（ＩＤ）と異なっていれば、次の動作単位（ＩＤ）に遷移しているということなので、復帰処理を行う。
【００８０】
［ステップＳ１０８］  復帰処理においても過負荷が検知されるなど、動作不能状態にあるか否かを判定する。動作不能であれば、処理をステップＳ１０９に進める。動作不能でなければ、処理を図１２の分岐点Ａに進める。
【００８１】
［ステップＳ１０９］  復帰処理においても動作不能が検出されたときは、このアクション定義の動作が必須であるかどうかを判定する。例えば、動作単位（ＩＤ）の値が、１〜１００であれば、必須でないと定義されている場合、ＩＤの値がこの範囲内であるかどうかをチェックして判定する。必須であれば処理をステップＳ１１０に進める。必須でなければ、処理をステップＳ１１１に進める。
【００８２】
［ステップＳ１１０］  動作不能となったアクション定義の動作が、必須の動作であるときは、「失敗」を結果応答として作業実行制御部１００へ返し、処理を終了する。
［ステップＳ１１１］  動作不能のアクション定義の動作が必須でないときは、スキップ状態を設定する。
【００８３】
［ステップＳ１１２］  「スキップ（代替動作あり）」を結果応答として作業実行制御部１００へ返す。このとき、代替動作のＩＤもパラメータとして応答に付与するとしてもよい。その後、処理を終了する。
【００８４】
次に、分岐点Ａ以降の処理について説明する。
図１２は、駆動部がスキップではないときのアクション処理の手順を示した図である。
［ステップＳ２０１］  取得されたアクション定義に基づき、動作実行を開始する。
【００８５】
［ステップＳ２０２］  ステップＳ２０１で開始された動作が実行できない（動作不能）であるかどうかを判定する。動作不能でなければ、処理をステップＳ２０３に進める。動作不能であれば、処理をステップＳ２０６に進める。
【００８６】
［ステップＳ２０３］  アクション定義に記述される対象の動作が正常に実行できた時は、これまでの動作を継続する。
［ステップＳ２０４］  アクション定義に記述される動作がすべて終了したかどうかを判定する。動作完了であれば、処理をステップＳ２０５に進める。動作完了でなければ、ステップＳ２０１に戻って、次の動作を行う。
【００８７】
［ステップＳ２０５］  「完了」を結果応答として作業実行制御部１００へ返し、処理を終了する。
［ステップＳ２０６］  ステップＳ２０２において、動作不能とされたアクション定義の動作に必須が設定されたかどうかを判定する。
【００８８】
［ステップＳ２０７］  「失敗」を結果応答として作業実行制御部１００へ返し、処理を終了する。
［ステップＳ２０８］  対象の駆動部が、動作不能でかつ、必須ではないとき、スキップ状態を設定する。
【００８９】
［ステップＳ２０９］  「スキップ（代替動作あり）」を結果応答として作業実行制御部１００へ返す。このとき、代替動作のＩＤもパラメータとして応答に付与するとしてもよい。その後、処理を終了する。
【００９０】
以上の手順が実行されることにより、アクション定義の動作が各駆動部によって実行される。そして、その実行状況に応じて、完了／スキップ（代替動作なし）／スキップ（代替動作あり）／失敗のいずれかの結果を示す応答が作業実行制御部１００に返る。
【００９１】
以上の実施の形態に関し、さらに以下の付記を開示する。
（付記１）  各部位を動作させて所定の作業を行うロボットにおいて、
前記所定の作業を行うための各動作を、前記動作を行う部位を駆動する駆動部の種別及び前記動作が前記所定の作業に必須であるか否かを示した動作種別を含む動作指示情報に定義し、前記動作指示情報を動作手順に応じて記述した作業記述情報を記憶する作業記述情報記憶手段と、
前記作業記述情報記憶手段に記憶される前記作業記述情報から未実行の前記動作指示情報を読み出し、読み出した前記動作指示情報に基づいて対象の前記駆動部に動作指示を出力し、前記動作が正常完了したときは前記動作を実行済みとし、前記動作手順に従って未実行の前記動作指示情報の読み出しからの処理を繰り返す動作指示手段と、
前記動作が正常完了しなかったとき前記動作指示手段によって起動され、未完了の動作を行った前記駆動部を特定するとともに、前記動作種別に基づいて前記未完了の動作が必須であるか否かを判定し、必須でないと判定されたときは動作状態をスキップに遷移させる必須動作判定手段と、
前記動作状態が前記スキップになると起動され、前記未完了の動作に関連する動作が継続する間は、前記作業記述情報から未実行の前記動作指示情報を読み出し、読み出した対象動作の前記駆動部の種別が前記未完了の動作の前記駆動部の種別と同じであるときは該対象動作を実行せず、前記動作手順に従って未実行の前記動作指示情報の読み出しからの処理を繰り返すスキップ処理手段と、
を有することを特徴とするロボット。
【００９２】
（付記２）  互いに関連し、一連の動作が実行されることで所定の意味を持つ動作群を動作単位とし、各動作が属する前記動作単位を識別する識別情報を前記動作指示情報に記述しておき、
前記スキップ処理手段は、対象の動作の前記動作単位の前記識別情報と、前記未完了の動作の前記動作単位の前記識別情報とを照合し、一致しているときは、前記未完了の動作に関連する動作が継続しているとみなす、ことを特徴とする付記１記載のロボット。
【００９３】
（付記３）  前記スキップ処理手段は、対象の動作の前記動作指示情報に記述される動作指示を解析し、前記動作指示に、連続して実行される動作群の先頭または最後に出現する動作指示が検出されるまでは、前記未完了の動作に関連する動作が継続しているとみなす、
ことを特徴とする付記１記載のロボット。
【００９４】
（付記４）  前記作業記述情報に、前記動作指示情報に定義された動作が未完了のとき、代りに実行させる代替動作を記述しておき、
前記スキップ処理手段は、前記作業記述情報を読み出し、前記未完了の動作に前記代替動作が記述されているかどうかを判定し、前記代替動作が記述されているときは、前記代替動作の記述に基づく動作を前記駆動部に指示する、
ことを特徴とする付記１記載のロボット。
【００９５】
（付記５）  前記代替動作は、物理的な動作を伴う前記駆動部を用いずに所定の情報を伝達することが可能な画像表示部あるいは音声出力部を用いた動作である、
ことを特徴とする付記４記載のロボット。
【００９６】
（付記６）  前記スキップ処理手段は、互いに関連し、一連の動作が実行されることで所定の意味を持つ動作群を動作単位として、前記動作単位の動作群に対応する前記動作指示情報の処理が終了したときは前記動作指示手段に通知し、
前記動作指示手段は、前記スキップ処理手段による前記動作単位の動作群の処理が終了したときに前記未完了の動作に対応する前記駆動部の復帰処理を行う、
ことを特徴とする付記１記載のロボット。
【００９７】
（付記７）  前記スキップ処理手段は、互いに関連し、一連の動作が実行されることで所定の意味を持つ動作群を動作単位として、前記動作単位の動作群に対応する前記動作指示情報の処理が終了したときは前記動作指示手段に通知し、
前記動作指示手段は、前記未完了の動作に対応する前記駆動部の障害が存在するか否かを監視し、前記障害がなくなったことを検出したときに前記駆動部の復帰処理を行う、
ことを特徴とする付記１記載のロボット。
【００９８】
（付記８）  各部位を動作させて所定の作業を行うロボットの作業実行方法において、
動作指示手段が、作業情報記憶手段に記憶される前記所定の作業を行うための各動作を、前記動作を行う部位を駆動する駆動部の種別及び前記動作が前記所定の作業に必須であるか否かを示した動作種別を含む動作指示情報に定義し、前記動作指示情報を動作手順に応じて記述した作業記述情報から未実行の前記動作指示情報を読み出し、読み出した前記動作指示情報に基づいて対象の前記駆動部に動作指示を出力し、前記動作が正常完了したときは前記動作を実行済みとして前記動作手順に従って未実行の前記動作指示情報の読み出しからの処理を繰り返す手順と、
必須動作判定手段が、前記動作が正常完了しなかったとき、未完了の動作を行った前記駆動部を特定するとともに、前記動作種別に基づいて前記未完了の動作が必須であるか否かを判定し、必須でないと判定されたときは動作状態をスキップに遷移させる手順と、
スキップ処理手段が、前記動作状態が前記スキップのとき、前記未完了の動作に関連する動作が継続する間は、前記作業記述情報から未実行の前記動作指示情報を読み出し、読み出した対象動作の前記駆動部の種別が前記未完了の動作の前記駆動部の種別と同じであるときは該対象動作を実行せず、前記動作手順に従って未実行の前記動作指示情報の読み出しからの処理を繰り返す手順と、
を有することを特徴とするロボットの作業実行方法。
【図面の簡単な説明】
【００９９】
【図１】発明の概要を示した図である。
【図２】案内ロボットの構成を示した図である。
【図３】案内ロボットの作業実行制御部のハードウェア構成例を示すブロック図である。
【図４】作業記述情報の書式の一例を示した図である。
【図５】アクション定義パラメータの一例を示した図である。
【図６】作業記述情報の一例を示した図である。
【図７】図６の作業記述情報の一例の続きを示した図である。
【図８】腕の過負荷検知が発生したときの動作手順を示した図である。
【図９】駆動部の応答に含まれるパラメータの一例を示した図である。
【図１０】ロボットの作業実行制御部の処理手順を示したフローチャートである。
【図１１】駆動部がスキップのときのアクション処理の手順を示した図である。
【図１２】駆動部がスキップではないときのアクション処理の手順を示した図である。
【符号の説明】
【０１００】
１  制御部
１ａ  動作指示手段
１ｂ  必須動作判定手段
１ｃ  スキップ処理手段
１ｄ  復帰処理手段
２  作業記述情報記憶手段
３  駆動部
【図１】
2010149255.tif 000003
【図２】
2010149255.tif 000004
【図３】
2010149255.tif 000005
【図４】
2010149255.tif 000006
【図５】
2010149255.tif 000007
【図６】
2010149255.tif 000008
【図７】
2010149255.tif 000009
【図８】
2010149255.tif 000010
【図９】
2010149255.tif 000011
【図１０】
2010149255.tif 000012
【図１１】
2010149255.tif 000013
【図１２】
2010149255.tif 000014