(57)【要約】【課題】効率的に障害物を回避しながら移動することが可能なロボット、ロボットの制御方法及びプログラムを提供する。【解決手段】ロボット１００において、動作部１２０は、ロボット１００に動作させる。計画部１５０は、ロボット１００の姿勢及び移動経路を計画する。動作制御部１３０は、動作部１２０を制御して、ロボット１００に、計画部１５０により計画された移動経路を、計画部１５０により計画された姿勢で移動させる。【選択図】図３
2019168925.tif 000002
【特許請求の範囲】
【請求項１】
自装置に動作させる動作手段と、
前記自装置の姿勢及び移動経路を計画する計画手段と、
前記動作手段を制御して、前記自装置に、前記計画手段により計画された前記移動経路を、前記計画手段により計画された前記姿勢で移動させる動作制御手段と、
を備える、
ことを特徴とするロボット。
【請求項２】
前記計画手段は、状況に応じた感情を表現するための前記姿勢及び前記移動経路を計画する、
ことを特徴とする請求項１に記載のロボット。
【請求項３】
前記自装置が前記計画手段により計画された前記姿勢で前記計画手段により計画された前記移動経路を移動した場合に、前記自装置が障害物と衝突するか否かを予測する予測手段と、
前記予測手段により前記自装置が前記障害物と衝突すると予測された場合、前記計画手段により計画された前記姿勢を変更する変更手段と、
を更に備え、
前記動作制御手段は、前記動作手段を制御して、前記自装置に、前記変更手段により変更された前記姿勢で前記計画手段により計画された前記移動経路を移動させる、
ことを特徴とする請求項１又は２に記載のロボット。
【請求項４】
前記変更手段は、前記予測手段により前記自装置が前記障害物と衝突すると予測された場合、前記計画手段により計画された前記姿勢を、状況に応じた感情を表現するための候補となる複数の前記姿勢のうちのいずれかの前記姿勢に変更する、
ことを特徴とする請求項３に記載のロボット。
【請求項５】
前記予測手段は、前記自装置が前記障害物と衝突すると予測した場合、前記自装置を回転させても前記障害物と衝突するか否かを更に予測し、
前記変更手段は、前記予測手段により前記自装置を回転させても前記障害物と衝突すると予測された場合、前記計画手段により計画された前記姿勢を変更する、
ことを特徴とする請求項３又は４に記載のロボット。
【請求項６】
前記変更手段は、前記予測手段により前記自装置が前記障害物と衝突すると予測された場合において、前記計画手段により計画された前記姿勢を変更しても前記自装置が前記障害物と衝突する場合には、前記移動経路を変更し、
前記動作制御手段は、前記動作手段を制御して、前記自装置に、前記計画手段により計画された前記姿勢で、前記変更手段により変更された前記移動経路を移動させる、
ことを特徴とする請求項３乃至５のいずれか１項に記載のロボット。
【請求項７】
前記動作手段は、可動部を含み、
前記変更手段は、前記計画手段により計画された前記姿勢を、前記自装置の胴体部に前記可動部をより引き付けた姿勢に変更する、
ことを特徴とする請求項３乃至６のいずれか１項に記載のロボット。
【請求項８】
前記自装置の周囲の地図を示す地図情報を取得する地図情報取得手段、を更に備え、
前記計画手段は、前記地図情報取得手段により取得された前記地図情報に基づいて、前記移動経路を計画する、
ことを特徴とする請求項３乃至７のいずれか１項に記載のロボット。
【請求項９】
前記地図情報取得手段は、撮像手段により前記自装置の周囲を撮像して得られた撮像画像に基づいて、前記地図情報を取得する、
ことを特徴とする請求項８に記載のロボット。
【請求項１０】
前記地図情報は、前記障害物の位置情報を含み、
前記予測手段は、前記地図情報取得手段により取得された前記地図情報に含まれる前記障害物の前記位置情報に基づいて、前記自装置が前記障害物と衝突するか否かを予測する、
ことを特徴とする請求項８又は９に記載のロボット。
【請求項１１】
前記予測手段は、前記地図情報取得手段により取得された前記地図情報に含まれる前記障害物の前記位置情報と、前記自装置が前記計画手段により計画された前記姿勢をとった場合における前記自装置の領域を示す領域情報と、に基づいて、前記自装置が前記障害物と衝突するか否かを予測する、
ことを特徴とする請求項１０に記載のロボット。
【請求項１２】
前記自装置が前記計画手段により計画された前記姿勢をとった場合における前記自装置の領域を示す前記領域情報は、水平面上に投影された前記自装置の投影領域である、
ことを特徴とする請求項１１に記載のロボット。
【請求項１３】
前記変更手段は、前記投影領域を小さくするように前記動作手段を制御する、
ことを特徴とする請求項１２に記載のロボット。
【請求項１４】
前記地図情報取得手段は、ＳＬＡＭ技術を利用して前記自装置の周囲の地図を示す前記地図情報を取得する、
ことを特徴とする請求項８乃至１３のいずれか１項に記載のロボット。
【請求項１５】
前記変更手段は、前記予測手段により前記自装置が前記障害物と衝突すると予測された場合において、前記自装置が前記計画手段により計画された前記姿勢で前記計画手段により計画された前記移動経路を移動し始めた後で、前記姿勢を変更する、
ことを特徴とする請求項３乃至１４のいずれか１項に記載のロボット。
【請求項１６】
前記予測手段は、前記自装置が前記計画手段により計画された前記姿勢で前記計画手段により計画された前記移動経路を移動し始めた後で、前記自装置が前記障害物と衝突するか否かを予測する、
ことを特徴とする請求項１５に記載のロボット。
【請求項１７】
前記自装置が移動する前に、前記自装置が障害物と衝突するか否かを予測する予測手段と、
前記予測手段により前記自装置が前記障害物と衝突すると予測された場合、前記計画手段により計画された前記姿勢と、前記計画手段により計画された前記移動経路と、の少なくとも何れかを変更する変更手段と、
を更に備え、
前記動作制御手段は、前記動作手段を制御して、前記自装置に、前記変更手段により変更された前記姿勢と、前記変更手段により変更された前記移動経路と、の少なくとも何れかで移動させる、
ことを特徴とする請求項１又は２に記載のロボット。
【請求項１８】
前記障害物は、第１の障害物及び第２の障害物を含み、前記第１の障害物と前記第２の障害物との間に所定の間隙を有し、
前記予測手段は、前記自装置を前記所定の間隙を有する前記第１の障害物と前記第２の障害物との間を通り抜けることができるか否かを予測する、
ことを特徴とする請求項３乃至１７のいずれか１項に記載のロボット。
【請求項１９】
ロボットの姿勢及び移動経路を計画し、
前記ロボットに、計画された前記移動経路を計画された前記姿勢で移動させる、
ことを含む、
ことを特徴とするロボットの制御方法。
【請求項２０】
ロボットのコンピュータを、
前記ロボットの姿勢及び移動経路を計画する計画手段、
前記ロボットに、前記計画手段により計画された前記移動経路を、前記計画手段により計画された前記姿勢で移動させる動作制御手段、
として機能させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット、ロボットの制御方法及びプログラムに関する。
【背景技術】
【０００２】
移動可能なロボットが知られている。例えば、特許文献１は、環境地図に基づいて自律的に経路を計画し、障害物を回避する移動型のロボット装置を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２０５３４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された技術では、移動方向毎に経路の評価値を計算して障害物を回避する経路を生成するため、経路の生成が効率的ではない。そのため、移動可能なロボットにおいて、より効率的に障害物を回避しながら移動することが望まれている。
【０００５】
本発明は、以上のような課題を解決するためのものであり、効率的に障害物を回避しながら移動することが可能なロボット、ロボットの制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
前記目的を達成するため、本発明に係るロボットの一様態は、
自装置に動作させる動作手段と、
前記自装置の姿勢及び移動経路を計画する計画手段と、
前記動作手段を制御して、前記自装置に、前記計画手段により計画された前記移動経路を、前記計画手段により計画された前記姿勢で移動させる動作制御手段と、
を備える、
ことを特徴とする。
【０００７】
前記目的を達成するため、本発明に係るロボットの制御方法の一様態は、
ロボットの姿勢及び移動経路を計画し、
前記ロボットに、計画された前記移動経路を計画された前記姿勢で移動させる、
ことを含む、
ことを特徴とする。
【０００８】
前記目的を達成するため、本発明に係るプログラムの一様態は、
ロボットのコンピュータを、
前記ロボットの姿勢及び移動経路を計画する計画手段、
前記ロボットに、前記計画手段により計画された前記移動経路を、前記計画手段により計画された前記姿勢で移動させる動作制御手段、
として機能させる、
ことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、効率的に障害物を回避しながら移動することが可能なロボット、ロボットの制御方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係るロボットの外観を示す図である。
【図２】本発明の実施形態に係るロボットのハードウェア構成を示すブロック図である。
【図３】本発明の実施形態に係るロボットの機能的な構成を示すブロック図である。
【図４】本発明の実施形態における環境地図の例を示す図である。
【図５】本発明の実施形態に係るロボットの動作を規定した動作テーブルの例を示す図である。
【図６】（ａ）〜（ｄ）はいずれも、本発明の実施形態に係るロボットがとり得る姿勢の例を示す図である。
【図７】本発明の実施形態に係るロボットの移動経路の例を示す図である。
【図８】本発明の実施形態に係るロボットが障害物と衝突する例を示す図である。
【図９】本発明の実施形態に係るロボットが回転して障害物との衝突を回避する例を示す図である。
【図１０】本発明の実施形態に係るロボットの移動経路が変更された例を示す図である。
【図１１】本発明の実施形態に係るロボットによって実行されるロボット制御処理の流れを示すフローチャートである。
【図１２】本発明の実施形態に係るロボットによって実行される移動経路計画処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について、図面を参照して説明する。なお、図中同一又は相当する部分には同一符号を付す。
【００１２】
図１に、本発明の実施形態に係るロボット１００の外観を示す。ロボット１００は、人（子供）を模した形状を有し、予め規定された動作プログラムに従って自律的に動作する装置である。
【００１３】
ロボット１００は、自装置の外部に存在する所定の対象からの呼び掛け、接触等の外部からの刺激に反応して、様々に動作する。これによって、ロボット１００は、所定の対象とコミュニケーションをとり、所定の対象と交流することができる。所定の対象とは、ロボット１００の外部に存在し、且つ、ロボット１００とコミュニケーション及び交流する相手となる対象である。所定の対象として、具体的には、ロボット１００の所有者であるユーザ、ユーザの周囲の人間（ユーザの家族又は友人等）、ユーザの周囲の動物（ユーザ等に飼われているペット等）等が挙げられる。所定の対象は、コミュニケーション対象、コミュニケーション相手、交流対象、交流相手等とも言うことができる。
【００１４】
図１に示すように、ロボット１００は、外観的には人（子供）を模した立体的な形状を有する。ロボット１００は、例えばプラスチック等の硬質合成樹脂を主たる材料として作製されている。ロボット１００は、頭部１０１と、胴体部１０２と、目部１０４と、口部１０５と、手部１０７と、足部１０８と、を備える。
【００１５】
頭部１０１、手部１０７及び足部１０８は、ロボット１００に内蔵された駆動部材によって動かすことができる部位である。頭部１０１は、首に設けられた首の関節によって、ピッチ、ロール及びヨーの３方向に回転可能に胴体部１０２に取り付けられている。目部１０４には、目に関する画像（目玉等）を表示する表示部１１７が設けられている。口部１０５には、ロボット１００の前方を撮像する撮像部１１５ａが設けられている。
【００１６】
図２に、ロボット１００のハードウェア構成を示す。図２に示すように、ロボット１００は、制御部１１０と、記憶部１１１と、バッテリ１１２と、駆動ドライバ１１３と、可動部１１４と、センサ部１１５と、無線通信部１１６と、表示部１１７と、音声出力部１１８と、を備える。
【００１７】
制御部１１０は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）を備える。ＣＰＵは、例えばマイクロプロセッサ等であって、様々な処理や演算を実行する中央演算処理部である。制御部１１０において、ＣＰＵが、ＲＯＭに記憶されている制御プログラムを読み出して、ＲＡＭをワークメモリとして用いながら、自装置（ロボット１００）全体の動作を制御する。制御部１１０は、制御手段として機能する。
【００１８】
記憶部１１１は、フラッシュメモリ、ハードディスク等の不揮発性メモリである。記憶部１１１は、ＯＳ（Operating System）及びアプリケーションプログラムを含む、制御部１１０が各種処理を行うために使用するプログラム及びデータを記憶する。また、記憶部１１１は、制御部１１０が各種処理を行うことにより生成又は取得するデータを記憶する。記憶部１１１は、記憶手段として機能する。
【００１９】
バッテリ１１２は、電気エネルギーを蓄電し、ロボット１００の各部に電力を供給する蓄電池である。バッテリ１１２は、ロボット１００が充電ステーションに帰巣した際に、充電ステーションによって充電される。
【００２０】
駆動ドライバ１１３は、ロボット１００の可動部１１４を駆動させるモータ、アクチュエータ等の駆動部材と、これらの駆動部材を駆動する駆動回路と、を備える。可動部１１４とは、可動する部位であって、具体的には頭部１０１、手部１０７及び足部１０８である。制御部１１０は、動作プログラムに基づいて、駆動回路に制御信号を送信する。駆動回路は、制御部１１０から送信された制御信号に従って、駆動部材に駆動用のパルス信号を供給する。駆動部材は、駆動回路から供給されたパルス信号に従って、可動部１１４を駆動させる。可動部１１４は、可動手段として機能する。
【００２１】
ロボット１００は、駆動ドライバ１１３が可動部１１４を駆動させることによって、様々に動作することができる。例えば、ロボット１００は、足部１０８を動かすことによって、前方又は後方に移動することができ、自装置の向きを変えることができる。ここで、足部１０８には車輪が設けられており、駆動ドライバ１１３が車輪を回転駆動させることにより、ロボット１００の位置又は向きを変えても良い。また、ロボット１００は、頭部１０１又は手部１０７を動かすことによって、人の動作及び人の仕草を真似ることができる。
【００２２】
センサ部１１５は、自装置の周囲又は内部の物理量を検知する複数のセンサを備える。図２に示すように、センサ部１１５は、周囲を撮像する撮像部１１５ａ、音を検知する音センサ１１５ｂ、自装置への接触を検知する接触センサ１１５ｃ、及び、周囲の物体までの距離を測定する距離センサ１１５ｄ、を含む。また、センサ部１１５は、図示しないが、自装置の動きを検知する加速度センサ、自装置の回転を検知するジャイロセンサ、自装置の方角を検知する地磁気センサ、自装置の周囲の温度を検知する温度センサ、自装置の周囲の気圧を検知する気圧センサ等を含む。
【００２３】
撮像部１１５ａは、いわゆるカメラであって、口部１０５に設置されている。撮像部１１５ａは、被写体から射出された光を集光して被写体の画像を取得する画像取得部と、画像取得部によって取得された画像を処理する画像処理部と、を備えており、ロボット１００の前方を撮像する撮像手段（ロボット側撮像手段）として機能する。音センサ１１５ｂは、頭部１０１に設置されており、所定の対象から発せられた音声、周囲の環境音等を検知する。ロボット１００は、図示しないが、音センサ１１５ｂとして頭部１０１を囲むように複数のマイクを備えており、四方で発生した音を効率良く検知することができる。その他のセンサは、ロボット１００の各所に設置され、ロボット１００の周囲の状態又は内部の状態を示す情報を取得する。その他のセンサは、ロボット１００の適宜の場所に設置される。センサ部１１５は、このような複数のセンサによって、ロボット１００の周囲の状態又は内部の状態を示す情報を取得し、制御部１１０に供給する。
【００２４】
無線通信部１１６は、外部の機器と無線で通信するためのインタフェースを備える。無線通信部１１６は、制御部１１０の制御の下、例えばＷｉ−Ｆｉ（Wireless Fidelity）等の無線ＬＡＮ（Local Area Network）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ（Near Field Communication）等の通信規格に従って、ロボット１００を充電するための充電ステーション、クラウドサーバ等の外部の機器と無線通信する。無線通信部１１６は、通信手段として機能する。
【００２５】
表示部１１７は、例えば液晶ディスプレイ、有機ＥＬ（Electro Luminescence）ディスプレイ、ＬＥＤ（Light Emitting Diode）等の表示デバイスである。表示部１１７は、目部１０４の眼球部分に設置されており、図示しない表示駆動回路による制御のもと、状況に応じて様々な画像を表示する。表示部１１７は、表示手段として機能する。
【００２６】
音声出力部１１８は、スピーカと音声出力インタフェースとを備え、制御部１１０によって生成された音声データを音声に変換して外部に出力する。スピーカは、頭部１０１に設置されている。音声出力部１１８は、動物の鳴き声及び人間の言葉を含む様々な音声を出力する。例えば、ロボット１００は、音センサ１１５ｂで所定の対象の音声を収集し、所定の対象の発話内容に対応する音声を音声出力部１１８から出力する。これにより、所定の対象と簡単な会話をすることができる。音声出力部１１８は、音声出力手段として機能する。
【００２７】
次に、図３を参照して、ロボット１００の機能的な構成について説明する。図３に示すように、ロボット１００は、機能的に、動作部１２０と、動作制御部１３０と、地図情報取得部１４０と、計画部１５０と、予測部１６０と、変更部１７０と、を備える。制御部１１０において、ＣＰＵがＲＯＭに記憶されたプログラムをＲＡＭに読み出して、そのプログラムを実行して制御することにより、動作制御部１３０、地図情報取得部１４０、計画部１５０、予測部１６０及び変更部１７０の各部として機能する。
【００２８】
動作部１２０は、自装置、すなわちロボット１００を動作させる部位である。具体的に説明すると、動作部１２０は、可動部１１４と、表示部１１７と、音声出力部１１８と、移動部１２１と、を備える。移動部１２１は、駆動ドライバ１１３が足部１０８を前後左右に動かす、又は足部１０８に設けられた車輪を回転させることにより、ロボット１００を移動させる。移動部１２１は、移動手段として機能する。動作部１２０は、可動部１１４を動かしてロボット１００の姿勢を変化させる、表示部１１７にロボット１００の表情を表す画像を表示する、音声出力部１１８から音声を出力する、又は、移動部１２１を介してロボット１００を移動させる。このようにして、動作部１２０は、ロボット１００に様々な動作を実行させる。動作部１２０は、動作手段として機能する。
【００２９】
動作制御部１３０は、動作部１２０を制御して、予め規定された様々な動作をロボット１００に実行させる。例えば、動作制御部１３０は、可動部１１４として設けられた頭部１０１、手部１０７及び足部１０８を動かすことにより、ロボット１００の位置、向き、姿勢等を変更する。また、動作制御部１３０は、表示部１１７に画像を表示することによって、顔の表情を変化させる。更に、動作制御部１３０は、音声出力部１１８から音声を出力することによって、所定の対象と対話する。動作制御部１３０は、制御部１１０が、駆動ドライバ１１３、可動部１１４、表示部１１７及び音声出力部１１８と協働することによって実現される。動作制御部１３０は、動作制御手段として機能する。
【００３０】
地図情報取得部１４０は、ロボット１００の周囲の地図を示す地図情報を取得する。ロボット１００の周囲の地図とは、ロボット１００が設置された場所の周囲の状況を表現した環境地図である。例えば、ロボット１００が住宅等に設置されている場合には、環境地図は、住宅内の部屋の間取り、及び住宅内に配置された家具、器具等の位置を示す。又は、ロボット１００がオフィス内に設置されている場合には、環境地図は、オフィスの間取り、及びオフィス内に配置された設備、機器等の位置を示す。
【００３１】
地図情報取得部１４０は、例えば図４に示すような環境地図２００を示す地図情報を取得する。図４に示すように、環境地図２００は、ロボット１００が移動可能な空間である移動空間２１０内の様子を水平面に投影して表現した２次元の地図である。環境地図２００は、移動空間２１０のサイズ及び形状と、移動空間２１０内における障害物２２０ａ〜２２０ｃの位置情報と、を表現している。ここで、移動空間２１０は、例えば、ロボット１００が設置された部屋に相当し、移動空間２１０の境界は、部屋を仕切る壁、扉等に相当する。
【００３２】
障害物２２０ａ〜２２０ｃは、例えば、机、椅子、棚等の家具、又は、テレビ、ヒーター等の電気器具であって、ロボット１００の移動経路上においてロボット１００の移動を妨げる可能性がある物体である。環境地図２００は、このような障害物２２０ａ〜２２０ｃの位置情報として、障害物２２０ａ〜２２０ｃのそれぞれの位置と、障害物２２０ａ〜２２０ｃのそれぞれを水平面に投影した場合における形状及びサイズと、を示す情報を有している。なお、以下では、理解を容易にするために、障害物２２０ａ〜２２０ｃを区別せずに称する場合には、障害物２２０と総称する。
【００３３】
地図情報取得部１４０は、このような環境地図２００を示す地図情報を、撮像部１１５ａによりロボット１００の周囲を撮像して得られた撮像画像に基づいて取得する。一例として、地図情報取得部１４０は、ＳＬＡＭ（Simultaneous Localization And Mapping）技術を用いる。ＳＬＡＭとは、リアルタイムに自装置の位置を推定しながら環境地図２００を作成する技術である。具体的に説明すると、地図情報取得部１４０は、自装置が移動すると、移動距離と移動方向とに基づいて自装置の現在の位置を推定する。そして、地図情報取得部１４０は、自装置の移動中に撮像部１１５ａによって周囲を逐次撮像しながら、得られた撮像画像に基づいて自装置の周囲の物体の位置を特定することにより、環境地図２００を作成する。
【００３４】
又は、地図情報は、充電ステーション、クラウドサーバ等のようなロボット１００の外部の機器によって生成されても良い。この場合、地図情報取得部１４０は、外部の機器によって生成された地図情報を、無線通信部１１６を介して外部の機器から取得する。地図情報取得部１４０は、制御部１１０が撮像部１１５ａ又は無線通信部１１６と協働することによって実現される。地図情報取得部１４０は、地図情報取得手段として機能する。
【００３５】
図３に示したロボット１００の機能構成に戻って、計画部１５０は、ロボット１００の動作を計画する。ロボット１００の動作とは、動作制御部１３０が動作部１２０に実行させる動作である。具体的に説明すると、計画部１５０は、状況に応じた感情を表現するための動作を計画する。ここで、感情とは、例えば喜怒哀楽、驚き、興奮、退屈等のように、ロボット１００の表情又は仕草によって外部に表現される情報である。また、状況とは、例えば、気温、音、時間等のようなロボット１００の外部環境の状況、バッテリ１１２の充電量、故障の有無等のようなロボット１００の内部の状況、及び、所定の対象との交流の状況をいう。
【００３６】
ロボット１００の動作は、記憶部１１１に記憶された動作テーブル１９０に予め規定されている。動作制御部１３０は、動作テーブル１９０を参照して、状況に応じて動作部１２０に様々な動作を実行させる。計画部１５０は、制御部１１０が記憶部１１１と協働することによって実現される。計画部１５０は、計画手段として機能する。
【００３７】
図５に、動作テーブル１９０に規定された動作の具体例を示す。図５に示すように、動作テーブル１９０は、ロボット１００が実行する動作を、条件毎に規定している。例えば、所定の対象から「人を認識した」ことを撮像部１１５ａにより検知すると、ロボット１００は、「興味を示しながら人の方に向けて移動する」との動作を実行する。又は、所定の対象から「音楽が聞こえた」ことを音センサ１１５ｂにより検知すると、ロボット１００は、「楽しそうに動き回る」との動作を実行する。このように、動作テーブル１９０は、発生し得る様々な状況に応じて、ロボット１００が実行すべき動作を規定している。
【００３８】
計画部１５０は、ロボット１００の現在の状況に応じて、動作テーブル１９０に規定されたいずれかの条件が成立したか否かを判定し、成立した条件に対応付けられた動作を計画する。より詳細に説明すると、計画部１５０は、ロボット１００の動作を計画する一環として、ロボット１００の姿勢及び移動経路を計画する。計画部１５０は、姿勢計画部１５１の機能と、経路計画部１５２の機能と、を備えている。
【００３９】
姿勢計画部１５１は、ロボット１００の姿勢を計画する。ロボット１００の姿勢（ポーズ）とは、ロボット１００の体の構え又は格好である。ロボット１００は、状況に応じて頭部１０１、手部１０７、足部１０８等の各部位の位置の変化させることにより、様々な姿勢をとることができる。
【００４０】
例えば、ロボット１００は、図６（ａ）に示すように、両側の手部１０７を開いた姿勢、図６（ｂ）に示すように、左側の手部１０７を閉じた状態で右側の手部１０７を開いた姿勢、図６（ｃ）に示すように、右側の手部１０７を閉じた状態で左側の手部１０７を開いた姿勢、及び、図６（ｄ）に示すように、両側の手部１０７を閉じて頭部１０１に近付けた姿勢をとることができる。動作制御部１３０は、このように手部１０７を動かすことで、ロボット１００に複数の異なる姿勢をとらせることができる。また、動作制御部１３０は、図６（ａ）〜図６（ｄ）に示した姿勢に限らず、頭部１０１、手部１０７、足部１０８等を様々に動かすことで、ロボット１００に様々な姿勢をとらせることができる。
【００４１】
また、図６（ａ）〜図６（ｄ）に点線で示すように、ロボット１００がとり得る各姿勢には、ロボット１００がその姿勢をとった場合にロボット１００が空間内を占める領域として、投影領域２３０ａ〜２３０ｄと姿勢領域２４０ａ〜２４０ｄとが対応付けられている。投影領域２３０ａ〜２３０ｄは、それぞれロボット１００が図６（ａ）〜図６（ｄ）に示した姿勢をとった場合において、ロボット１００の外観を水平面上に投影して得られた領域である。
【００４２】
これに対して、姿勢領域２４０ａ〜２４０ｄは、それぞれ投影領域２３０ａ〜２３０ｄを、簡単のために楕円形で近似（モデル化）した領域である。例えば、姿勢領域２４０ａは、ロボット１００が両側の手部１０７を開いている姿勢に対応するため、幅（長径）が広い楕円形をしている。一方で、姿勢領域２４０ｄは、ロボット１００が両側の手部１０７を閉じている姿勢に対応するため、幅（長径）が狭い楕円形をしている。姿勢領域２４０ａ〜２４０ｄは、後述する予測部１６０によってロボット１００が障害物２２０と衝突するか否かを予測するために用いられる。
【００４３】
図５に示すように、動作テーブル１９０に規定された各動作には、その動作をロボット１００が実行するための候補となる少なくとも１つの姿勢が対応付けられている。例えば、「興味を示しながら人の方に向けて移動する」との動作には、「興味を示す」という感情を表現することが可能な複数の姿勢が対応付けられている。或いは、「楽しそうに動き回る」との動作には、「楽しそうに」という感情を表現することが可能な複数の姿勢が対応付けられている。姿勢計画部１５１は、動作テーブル１９０を参照して、ロボット１００が実行すべき動作に対応付けられている複数の姿勢のうちから少なくとも１つの姿勢を選択して、ロボット１００がその動作を実行中にとるべき姿勢を決定する。
【００４４】
経路計画部１５２は、ロボット１００の移動経路を計画する。ロボット１００の移動経路とは、ロボット１００が実行すべき動作が移動を伴う動作である場合に、移動空間２１０内におけるロボット１００が移動する経路である。例えば、ロボット１００が実行すべき動作が「興味を示しながら人の方に向けて移動する」との動作である場合、経路計画部１５２は、「人の方に向けて移動する」ための移動経路を計画する。又は、ロボット１００が実行すべき動作が「楽しそうに動き回る」との動作である場合、経路計画部１５２は、「動き回る」ための移動経路を計画する。
【００４５】
具体的に説明すると、経路計画部１５２は、地図情報取得部１４０により取得された地図情報に基づいて、移動経路を計画する。例えば図７に示すように、経路計画部１５２は、ロボット１００が点線で示す現在位置から障害物２２０ａと障害物２２０ｂとの間を通り、更に障害物２２０ａと壁との間を通って現在位置に戻る移動経路３００ａを計画する。経路計画部１５２は、ロボット１００の現在の位置とロボット１００が実行すべき動作とに基づいて始点と終点とを設定する。そして、経路計画部１５２は、環境地図２００によって示される障害物２２０ａ〜２２０ｃの位置情報に基づいて、障害物２２０ａ〜２２０ｃを避けつつ、且つ、設定された始点と終点とを結ぶ移動経路３００ａを計画する。
【００４６】
図３に示したロボット１００の機能構成に戻って、予測部１６０は、ロボット１００が姿勢計画部１５１により計画された姿勢で経路計画部１５２により計画された移動経路３００ａを移動した場合に、ロボット１００が障害物２２０と衝突するか否かを予測する。ここで、障害物２２０との衝突とは、ロボット１００が移動経路３００ａを移動している最中に、ロボット１００のいずれかの部位が、障害物２２０と、正常な移動を阻害される程度に物理的に接触することをいう。予測部１６０は、制御部１１０によって実現される。予測部１６０は、予測手段として機能する。
【００４７】
具体的に説明すると、予測部１６０は、地図情報取得部１４０により取得された地図情報に含まれる障害物２２０の位置情報と、ロボット１００が姿勢計画部１５１により計画された姿勢をとった場合におけるロボット１００の領域を示す領域情報と、に基づいて、ロボット１００が障害物２２０と衝突するか否かを予測する。ここで、ロボット１００の領域を示す領域情報とは、移動空間２１０内においてロボット１００が占める空間のサイズ及び形状を示す情報である。例えば、予測部１６０は、ロボット１００が図６（ａ）〜図６（ｄ）に示した姿勢をとった場合におけるロボット１００の領域を示す領域情報として、楕円形によってモデル化された姿勢領域２４０ａ〜２４０ｄを用いる。
【００４８】
以下、図８に示すように、ロボット１００が図６（ａ）に示した両側の手部１０７を開いた姿勢で移動経路３００ａを移動する場合を例にとって説明する。予測部１６０は、図８において点線で示す姿勢領域２４０ａの横幅と、第１の障害物２２０ａと第２の障害物２２０ｂとの間の間隔と、を比較する。これにより、予測部１６０は、ロボット１００が第１の障害物２２０ａと第２の障害物２２０ｂとの間の間隙を通り抜けることができるか否かを予測する。ここで、姿勢領域２４０ａの横幅とは、ロボット１００の移動方向に対して水平面上において垂直な方向における姿勢領域２４０ａの幅を意味する。図８の例では、姿勢領域２４０ａの横幅は２つの障害物２２０ａ，２２０ｂの間の間隔より大きいため、予測部１６０は、ロボット１００が衝突地点Ｘにおいて第１の障害物２２０ａ及び第２の障害物２２０ｂと衝突すると予測する。予測部１６０は、このようなロボット１００が障害物２２０と衝突するか否かを予測する処理を、ロボット１００が移動を開始する前に実行する。
【００４９】
更に、予測部１６０は、ロボット１００が障害物２２０と衝突すると予測した場合、ロボット１００を回転させても障害物２２０と衝突するか否かを予測する。ここで、ロボット１００の回転とは、水平面上におけるロボット１００の向きを変えることを意味する。予測部１６０は、例えば図９に示すように、衝突地点Ｘにおいて姿勢領域２４０ａを水平面上において回転させる。これにより、予測部１６０は、ロボット１００の横幅を２つの障害物２２０ａ，２２０ｂの間の間隔よりも小さくすることが可能か否かを判定する。
【００５０】
図９の例では、姿勢領域２４０ａをその短軸がロボット１００に移動方向に対して垂直な方向を向くように約９０度回転させると、姿勢領域２４０ａの横幅が２つの障害物２２０ａ，２２０ｂの間の間隔よりも小さくなる。そのため、予測部１６０は、ロボット１００を回転させることで衝突地点Ｘにおける衝突を回避できると予測する。このように、予測部１６０は、移動経路３００ａ上におけるロボット１００と障害物２２０との衝突が予測される地点のそれぞれにおいて、ロボット１００を回転させてその向きを変えることにより衝突を回避できるか否かを判定する。
【００５１】
図３に示したロボット１００の機能構成に戻って、変更部１７０は、予測部１６０によりロボット１００が障害物２２０と衝突すると予測された場合、姿勢計画部１５１により計画された姿勢を変更する。具体的に説明すると、変更部１７０は、予測部１６０によりロボット１００を回転させても障害物２２０と衝突すると予測された場合、ロボット１００が障害物２２０と衝突せずに移動経路３００ａを移動できるように、姿勢計画部１５１により計画された姿勢を変更する。一方で、変更部１７０は、予測部１６０によりロボット１００を回転させれば障害物２２０と衝突しないと予測された場合、姿勢計画部１５１により計画された姿勢を変更しない。変更部１７０は、制御部１１０によって実現される。変更部１７０は、変更手段として機能する。
【００５２】
具体的に説明すると、変更部１７０は、姿勢計画部１５１により計画された姿勢を、胴体部１０２に手部１０７等の可動部１１４をより引き付けた姿勢に変更する。これにより、変更部１７０は、投影領域２３０及び姿勢領域２４０を小さくする。胴体部１０２に可動部１１４をより引き付けた姿勢とは、例えば計画された姿勢が両側の手部１０７を開いた図６（ａ）に示した姿勢である場合には、少なくとも片側の手部１０７を胴体部１０２の方に閉じた図６（ｂ）〜図６（ｄ）のうちのいずれかの姿勢である。このように、変更部１７０は、ロボット１００が障害物２２０と衝突しなくなるように、姿勢計画部１５１により計画された姿勢をより幅が小さい姿勢に変更する。
【００５３】
より詳細に説明すると、変更部１７０は、予測部１６０によりロボット１００が障害物２２０と衝突すると予測された場合、姿勢計画部１５１により計画された姿勢を、感情を表現するための候補となる複数の姿勢のうちのいずれかの姿勢に変更する。感情を表現するための候補となる複数の姿勢とは、動作テーブル１９０においてロボット１００が実行すべき各動作に対応付けられた複数の姿勢である。例えば図５に示した動作テーブル１９０において、「興味を示しながら人の方に向けて移動する」との動作には、姿勢Ａ、姿勢Ｂ、…という複数の姿勢が対応付けられている。そのため、変更部１７０は、ロボット１００がこの動作を実行する場合には、これら複数の姿勢に候補を絞り、これら複数の姿勢のうちから計画された姿勢よりも幅が小さい姿勢を変更後の姿勢として決定する。
【００５４】
動作制御部１３０は、足部１０８を駆動させて、ロボット１００に、経路計画部１５２により計画された移動経路３００ａを移動させる。このとき、姿勢計画部１５１により計画された姿勢が変更部１７０により変更された場合には、動作制御部１３０は、ロボット１００に変更後の姿勢をとらせながら移動経路３００ａを移動させる。これに対して、姿勢計画部１５１により計画された姿勢が変更部１７０により変更されなかった場合には、動作制御部１３０は、ロボット１００に計画された姿勢をとらせながら移動経路３００ａを移動させる。また、衝突地点Ｘにおいてロボット１００を回転させることで障害物２２０との衝突を回避できると予測された場合には、動作制御部１３０は、ロボット１００に移動経路３００ａを移動させている際に、衝突地点Ｘにおいてロボット１００を決められた角度だけ回転させる。このようにして、動作制御部１３０は、障害物２２０との衝突を回避しつつ、現在の状況に応じた感情を表現するための動作をロボット１００に実行させる。
【００５５】
更に、変更部１７０は、予測部１６０によりロボット１００が障害物２２０と衝突すると予測された場合において、姿勢計画部１５１により計画された姿勢を変更しても障害物２２０と衝突する場合には、経路計画部１５２により計画された移動経路３００ａを変更する。言い換えると、予測部１６０による予測の結果として、ロボット１００の姿勢を、ロボット１００が実行すべき動作に対応付けられた複数の姿勢のうちのいずれの姿勢に変更しても障害物２２０と衝突すると予測された場合には、変更部１７０は、ロボット１００の姿勢の代わりに移動経路を変更する。
【００５６】
具体的に説明すると、ロボット１００の姿勢を変更しても移動経路３００ａを始点から終点まで移動できないと予測された場合には、変更部１７０は、経路計画部１５２により計画された移動経路３００ａを、例えば図１０に示す別の移動経路３００ｂに変更する。ここで、移動経路３００ｂは、障害物２２０ｂと障害物２２０ｃとの間を通り、更に障害物２２０ｃと壁との間を通って現在位置に戻る経路である。このように、変更部１７０は、環境地図２００を参照して、始点から終点まで移動可能な別の経路を探索し、移動経路の計画を変更する。
【００５７】
変更部１７０が移動経路を変更すると、予測部１６０は、ロボット１００が姿勢計画部１５１により計画された姿勢で変更部１７０により変更された移動経路を移動した場合に、障害物２２０と衝突するか否かを予測する。例えば、変更部１７０がロボット１００の移動経路を移動経路３００ａから移動経路３００ｂに変更した場合、予測部１６０は、障害物２２０ｂ，２２０ｃの位置情報とロボット１００の領域情報とに基づいて、ロボット１００が障害物２２０ｂ，２２０ｃと衝突せずに、移動経路３００ｂを始点から終点まで移動できるか否かを判定する。
【００５８】
移動経路を変更した結果として、予測部１６０により障害物２２０と衝突しないと予測された場合、動作制御部１３０は、動作部１２０を制御して、ロボット１００に、姿勢計画部１５１により計画された姿勢で、変更部１７０により変更された移動経路を移動させる。これにより、動作制御部１３０は、障害物２２０との衝突を回避しつつ、現在の状況に応じた感情を表現するための動作をロボット１００に実行させる。
【００５９】
これに対して、予測部１６０により障害物２２０と衝突すると予測された場合、変更部１７０は、更に移動経路を別の経路に変更して同様の処理を繰り返す。なお、移動経路をどのように変更しても障害物２２０との衝突を回避できないと予測部１６０により予測された場合には、計画部１５０は、移動の計画を中止しても良い。言い換えると、計画部１５０は、規定された姿勢をロボット１００にとらせる、ロボット１００をその場で回転させる等により、ロボット１００に移動させることなく現在の状況に応じた感情を表現するための動作を計画しても良い。
【００６０】
以上のように構成されるロボット１００において実行される処理の流れについて、図１１及び図１２に示すフローチャートを参照して、説明する。
【００６１】
図１１に示すロボット制御処理は、ロボット１００の電源が投入され、且つ、バッテリ１１２が充電されることによって、ロボット１００が正常に動作可能な状態になると、開始する。なお、図１１に示すロボット制御処理を開始する前に、制御部１１０は、地図情報取得部１４０の機能によって、ロボット１００の周囲の環境地図２００を示す地図情報を取得しているとして説明する。
【００６２】
ロボット制御処理を開始すると、制御部１１０は、ロボット１００を動作させる条件が成立したか否かを判定する（ステップＳ１）。具体的に説明すると、制御部１１０は、ロボット１００に動作させるための条件として動作テーブル１９０に規定された複数の条件のうちのいずれかの条件が成立したか否かを判定する。
【００６３】
ロボット１００を動作させる条件が成立していない場合（ステップＳ１；ＮＯ）、制御部１１０は、処理をステップＳ１に留め、ロボット１００を動作させるためのいずれかの条件が成立するまで待機する。
【００６４】
これに対して、ロボット１００を動作させる条件が成立すると（ステップＳ１；ＹＥＳ）、制御部１１０は、姿勢計画部１５１として機能し、成立した条件に応じて、ロボット１００の姿勢を計画する（ステップＳ２）。具体的に説明すると、制御部１１０は、動作テーブル１９０を参照して、成立した条件に応じた動作をロボット１００に実行させるための少なくとも１つの姿勢を決定する。
【００６５】
ロボット１００の姿勢を計画すると、制御部１１０は、成立した条件に対応する動作が移動を伴う動作であるか否かを判定する（ステップＳ３）。例えば、図５に示した動作テーブル１９０において、成立した条件に対応する動作が「興味を示しながら人の方に向けて移動する」、「楽しそうに動き回る」等である場合、この動作は移動を伴う動作である。これに対して、成立した条件に対応する動作が、「驚いて周囲を見回す」、「嬉しそうな表情をする」等である場合、この動作は移動を伴わない動作である。このように、制御部１１０は、成立した条件に対応する動作をロボット１００に実行させるために、ロボット１００を移動させる必要があるか否かを判定する。
【００６６】
成立した条件に対応する動作が移動を伴う動作であると判定した場合（ステップＳ３；ＹＥＳ）、制御部１１０は、ロボット１００の移動経路を計画する（ステップＳ４）。ステップＳ４における移動経路の計画処理の詳細については、図１２に示すフローチャートを参照して説明する。
【００６７】
図１２に示す移動経路の計画処理を開始すると、制御部１１０は、経路計画部１５２として機能し、成立した条件に応じて、ロボット１００の移動経路を計画する（ステップＳ４１）。具体的に説明すると、制御部１１０は、成立した条件に応じた動作をロボット１００が実行するための移動経路として、例えば図７に示したように、２つの障害物２２０ａ，２２０ｂの間を通る移動経路３００ａを計画する。
【００６８】
ロボット１００の移動経路を計画すると、制御部１１０は、予測部１６０として機能し、ロボット１００が計画された姿勢で計画された移動経路を移動した場合に、障害物２２０と衝突するか否かを予測する（ステップＳ４２）。具体的に説明すると、制御部１１０は、例えば図８に示したように、障害物２２０ａ〜２２０ｃの位置情報とロボット１００の姿勢領域２４０ａとに基づいて、計画された移動経路３００ａにおける始点から終点までのいずれかの地点で、障害物２２０ａ〜２２０ｃのいずれかと衝突するか否かを判定する。
【００６９】
障害物２２０と衝突すると予測した場合（ステップＳ４２；ＹＥＳ）、制御部１１０は、第１に、ロボット１００の回転により障害物２２０との衝突を回避することが可能か否かを判定する（ステップＳ４３）。具体的に説明すると、制御部１１０は、例えば図９に示したように、環境地図２００内における衝突地点Ｘにおいて姿勢領域２４０ａを回転させることにより、移動経路３００ａ上におけるロボット１００の横幅を、ロボット１００が障害物２２０ａ，２２０ｂと衝突しないように調整できるか否かを判定する。
【００７０】
ロボット１００の回転により障害物２２０との衝突を回避できると判定した場合（ステップＳ４３；ＹＥＳ）、制御部１１０は、障害物２２０との衝突地点での回転を計画する（ステップＳ４４）。言い換えると、制御部１１０は、障害物２２０との衝突が予測される地点において、ロボット１００を、障害物２２０との衝突を回避可能な角度だけ回転させることを計画する。
【００７１】
これに対して、ロボット１００を回転させても障害物２２０との衝突を回避できないと判定した場合（ステップＳ４３；ＮＯ）、制御部１１０は、第２に、ロボット１００の姿勢の変更により障害物２２０との衝突を回避することが可能か否かを判定する（ステップＳ４５）。具体的に説明すると、制御部１１０は、ステップＳ２で計画された姿勢を、ステップＳ１で成立した条件に応じた感情を表現するための複数の姿勢のうちのいずれかの姿勢に変更することにより、障害物２２０との衝突を回避することが可能か否かを判定する。
【００７２】
姿勢の変更により障害物２２０との衝突を回避できると判定した場合（ステップＳ４５；ＹＥＳ）、制御部１１０は、変更部１７０として機能し、計画された姿勢を、障害物２２０との衝突を回避可能な姿勢に変更する（ステップＳ４６）。
【００７３】
これに対して、姿勢を変更しても障害物２２０との衝突を回避できないと判定した場合（ステップＳ４５；ＮＯ）、制御部１１０は、第３に、ステップＳ４１で計画された移動経路を変更する（ステップＳ４７）。言い換えると、制御部１１０は、ロボット１００がその姿勢を変更しても、ステップＳ４１で計画された移動経路を障害物２２０と衝突せずに移動できないと判定した場合には、姿勢を変更する代わりに、移動経路を変更する。
【００７４】
移動経路を変更すると、制御部１１０は、処理をステップＳ４２に戻す。そして、制御部１１０は、変更後の移動経路に対して、ステップＳ４２からステップＳ４７の処理を実行する。具体的に説明すると、ステップＳ２で計画された姿勢で、ロボット１００が変更後の移動経路を移動した場合に、障害物２２０と衝突するか否かを予測する。そして、障害物２２０と衝突すると予測された場合に、制御部１１０は、ロボット１００を回転させる、姿勢を変更する、又は、移動経路を変更する。このようにして、制御部１１０は、成立した条件に応じた動作をロボット１００に実行させるため、障害物２２０との衝突を回避しながら目的地まで移動する方法を探索する。
【００７５】
一方で、ステップＳ４２において、ロボット１００が障害物と衝突しないと予測した場合（ステップＳ４２；ＮＯ）、ロボット１００の姿勢又は移動経路を変更する必要が無い。そのため、この場合には、制御部１１０は、ステップＳ４３からステップＳ４７までの処理をスキップする。言い換えると、制御部１１０は、ステップＳ２で計画された姿勢及びステップＳ４１で計画された移動経路を変更することなく、これらを最終的な姿勢及び移動経路と決定する。以上によって図１２に示した移動経路計画処理は終了する。
【００７６】
図１１に示したフローチャートに戻って、ステップＳ４において移動経路を計画すると、制御部１１０は、動作制御部１３０として機能し、計画された動作をロボット１００に実行させる（ステップＳ５）。具体的に説明すると、制御部１１０は、ロボット１００に、計画された姿勢をとらせながら、計画された移動経路を移動させる。ここで、ステップＳ４４で回転が計画された場合には、制御部１１０は、計画された地点におけるロボット１００の向きを計画された角度だけ回転させる。また、制御部１１０は、ステップＳ４６で姿勢が変更された場合には、変更後の姿勢をロボット１００にとらせ、ステップＳ４７で移動経路が変更された場合には、変更後の移動経路をロボット１００に移動させる。
【００７７】
一方で、ステップＳ３において、成立した条件に対応する動作が移動を伴う動作でないと判定した場合（ステップＳ３；ＮＯ）、制御部１１０は、ステップＳ４の処理をスキップする。そして、制御部１１０は、ステップＳ５において、計画された動作をロボット１００に実行させる。具体的に説明すると、制御部１１０は、ステップＳ２で計画された姿勢をロボット１００にとらせることにより、移動を伴わない動作をロボット１００に実行させる。
【００７８】
このようにしてロボット１００を動作させると、制御部１１０は、処理をステップＳ１に戻し、動作テーブル１９０に規定された複数の条件のうちのいずれかの条件が成立したか否かを判定する。そして、制御部１１０は、いずれかの条件が成立すると、ステップＳ２からステップＳ５の処理を実行する。これにより、制御部１１０は、障害物２２０との衝突を回避しながら、成立した条件に応じた動作をロボット１００に実行させる。
【００７９】
以上説明したように、本実施形態に係るロボット１００は、自装置が計画された姿勢で計画された移動経路３００ａを移動した場合に自装置が障害物２２０と衝突するか否かを予測する。そして、ロボット１００は、障害物２２０と衝突すると予測された場合、計画された姿勢を変更することにより、障害物２２０との衝突を回避する。これにより、ロボット１００の姿勢を変更するという比較的少ない計算量の処理により障害物２２０との衝突を回避できるため、効率的に障害物２２０との衝突を回避しながら移動させることができる。特に、本実施形態に係るロボット１００は、状況に応じた感情を表現する動作を実行する場合において、その動作を実行するための候補となる複数の姿勢のうちから変更後の姿勢を選択するため、自然な仕草で障害物２２０との衝突を回避することができる。
【００８０】
（変形例）
以上に本発明の実施形態について説明したが、前記実施形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、本発明の実施形態は種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
【００８１】
例えば、前記実施形態では、変更部１７０は、予測部１６０によりロボット１００が障害物２２０と衝突すると予測された場合、ロボット１００が経路計画部１５２により計画された移動経路３００ａを移動し始める前に、姿勢計画部１５１により計画された姿勢を変更した。しかしながら、本発明において、変更部１７０は、予測部１６０によりロボット１００が障害物２２０と衝突すると予測された場合において、ロボット１００が姿勢計画部１５１により計画された姿勢で経路計画部１５２により計画された移動経路３００ａを移動し始めた後で、ロボット１００の姿勢を変更しても良い。言い換えると、動作制御部１３０は、ロボット１００が衝突地点Ｘに到達するまでは、ロボット１００に姿勢計画部１５１により計画された姿勢で移動経路３００ａを移動させる。そして、変更部１７０は、ロボット１００が衝突地点Ｘに到達する直前で、ロボット１００の姿勢を障害物２２０との衝突を回避できる姿勢に変更する。これにより、よりピンポイントで障害物２２０との衝突を回避することができる。
【００８２】
この場合、変更部１７０は、ロボット１００が衝突地点Ｘを通り過ぎた後で、ロボット１００の姿勢を、姿勢計画部１５１により計画された姿勢に戻しても良い。また、姿勢計画部１５１により計画された姿勢が、ロボット１００が実行している動作にとって重要な姿勢である場合には、動作制御部１３０は、その姿勢を長い時間継続できるように、ロボット１００が衝突地点Ｘに到達するまでの移動速度を低下させても良い。
【００８３】
更に、予測部１６０は、ロボット１００が姿勢計画部１５１により計画された姿勢で経路計画部１５２により計画された移動経路３００ａを移動し始めた後で、ロボット１００が障害物２２０と衝突するか否かを予測しても良い。言い換えると、予測部１６０は、ロボット１００が移動している最中に、現在の姿勢で移動を続けると障害物２２０と衝突するか否かを適宜予測し、障害物２２０と衝突すると予測した場合に、変更部１７０がロボット１００の姿勢を障害物２２０との衝突を回避できる姿勢に変更しても良い。このように、比較的計算量が多い衝突予測処理をロボット１００が移動中に実行することで、ロボット１００が移動を開始するまでの時間を短縮することができるため、ロボット１００を素早く動作させることができる。
【００８４】
前記実施形態では、予測部１６０は、移動空間２１０内におけるロボット１００の領域を示す領域情報として、投影領域２３０ａ〜２３０ｄを楕円形でモデル化した姿勢領域２４０ａ〜２４０ｄを用いた。しかしながら、本発明において、予測部１６０は、楕円形に限らず、ロボット１００の領域を円形、長方形等でモデル化した領域を姿勢領域２４０ａ〜２４０ｄとして用いても良い。予測部１６０は、領域情報として、姿勢領域２４０ａ〜２４０ｄの代わりに、投影領域２３０ａ〜２３０ｄ等のロボット１００の領域をより正確に示す情報を用いても良い。
【００８５】
前記実施形態では、地図情報取得部１４０は、環境地図２００として、ロボット１００が移動可能な移動空間２１０内の様子を水平面に投影して表現した２次元の地図を取得した。しかしながら、本発明において、地図情報取得部１４０は、環境地図２００として、移動空間２１０内の様子を立体的に表現した３次元の地図を取得しても良い。この場合、予測部１６０は、３次元の環境地図２００内に表現された障害物２２０の位置、サイズ及び形状と、姿勢計画部１５１により計画された姿勢をロボット１００がとった場合におけるロボット１００の領域と、を３次元的に比較する。言い換えると、予測部１６０は、水平面上における幅方向の情報だけでなく、高さ方向の情報も加味して、ロボット１００が障害物２２０と衝突するか否かを予測する。
【００８６】
前記実施形態では、ロボット１００は、人を模したロボットであった。しかしながら、本発明に係るロボット１００は、人を模した形状に限らず、どのような形状を有していても良い。例えば、本発明に係るロボット１００は、外観的に犬、猫、鼠、兎等の動物（ペット）を模したロボットであっても良い。
【００８７】
前記実施形態では、表示部１１７は目部１０４に設けられており、撮像部１１５ａは口部１０５に設けられていた。しかしながら、本発明において、表示部１１７は目部１０４以外の場所に設けられていても良いし、撮像部１１５ａは口部１０５以外の場所（例えば鼻部等）に設けられていても良い。
【００８８】
前記実施形態では、制御部１１０において、ＣＰＵがＲＯＭに記憶されたプログラムを実行することによって、図３に示した各部として機能した。しかしながら、本発明において、制御部１１０は、ＣＰＵの代わりに、例えばＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）、又は、各種制御回路等の専用のハードウェアを備え、専用のハードウェアが、図３に示した各部として機能しても良い。この場合、各部の機能それぞれを個別のハードウェアで実現しても良いし、各部の機能をまとめて単一のハードウェアで実現しても良い。また、各部の機能のうち、一部を専用のハードウェアによって実現し、他の一部をソフトウェア又はファームウェアによって実現しても良い。
【００８９】
なお、本発明に係る機能を実現するための構成を予め備えたロボットとして提供できることはもとより、プログラムの適用により、既存の情報処理装置等を、本発明に係るロボットとして機能させることもできる。すなわち、前記実施形態で例示したロボット１００による各機能構成を実現させるためのプログラムを、既存の情報処理装置等を制御するＣＰＵ等が実行できるように適用することで、本発明に係るロボットとして機能させることができる。
【００９０】
また、このようなプログラムの適用方法は任意である。プログラムを、例えば、フレキシブルディスク、ＣＤ（Compact Disc）−ＲＯＭ、ＤＶＤ（Digital Versatile Disc）−ＲＯＭ、メモリカード等のコンピュータ読み取り可能な記憶媒体に格納して適用できる。さらに、プログラムを搬送波に重畳し、インターネットなどの通信媒体を介して適用することもできる。例えば、通信ネットワーク上の掲示板（ＢＢＳ：Bulletin Board System）にプログラムを掲示して配信してもよい。そして、このプログラムを起動し、ＯＳ（Operating System）の制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行できるように構成してもよい。
【００９１】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲とが含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
（付記１）
自装置に動作させる動作手段と、
前記自装置の姿勢及び移動経路を計画する計画手段と、
前記動作手段を制御して、前記自装置に、前記計画手段により計画された前記移動経路を、前記計画手段により計画された前記姿勢で移動させる動作制御手段と、
を備える、
ことを特徴とするロボット。
（付記２）
前記計画手段は、状況に応じた感情を表現するための前記姿勢及び前記移動経路を計画する、
ことを特徴とする付記１に記載のロボット。
（付記３）
前記自装置が前記計画手段により計画された前記姿勢で前記計画手段により計画された前記移動経路を移動した場合に、前記自装置が障害物と衝突するか否かを予測する予測手段と、
前記予測手段により前記自装置が前記障害物と衝突すると予測された場合、前記計画手段により計画された前記姿勢を変更する変更手段と、
を更に備え、
前記動作制御手段は、前記動作手段を制御して、前記自装置に、前記変更手段により変更された前記姿勢で前記計画手段により計画された前記移動経路を移動させる、
ことを特徴とする付記１又は２に記載のロボット。
（付記４）
前記変更手段は、前記予測手段により前記自装置が前記障害物と衝突すると予測された場合、前記計画手段により計画された前記姿勢を、状況に応じた感情を表現するための候補となる複数の前記姿勢のうちのいずれかの前記姿勢に変更する、
ことを特徴とする付記３に記載のロボット。
（付記５）
前記予測手段は、前記自装置が前記障害物と衝突すると予測した場合、前記自装置を回転させても前記障害物と衝突するか否かを更に予測し、
前記変更手段は、前記予測手段により前記自装置を回転させても前記障害物と衝突すると予測された場合、前記計画手段により計画された前記姿勢を変更する、
ことを特徴とする付記３又は４に記載のロボット。
（付記６）
前記変更手段は、前記予測手段により前記自装置が前記障害物と衝突すると予測された場合において、前記計画手段により計画された前記姿勢を変更しても前記自装置が前記障害物と衝突する場合には、前記移動経路を変更し、
前記動作制御手段は、前記動作手段を制御して、前記自装置に、前記計画手段により計画された前記姿勢で、前記変更手段により変更された前記移動経路を移動させる、
ことを特徴とする付記３乃至５のいずれか１つに記載のロボット。
（付記７）
前記動作手段は、可動部を含み、
前記変更手段は、前記計画手段により計画された前記姿勢を、前記自装置の胴体部に前記可動部をより引き付けた姿勢に変更する、
ことを特徴とする付記３乃至６のいずれか１つに記載のロボット。
（付記８）
前記自装置の周囲の地図を示す地図情報を取得する地図情報取得手段、を更に備え、
前記計画手段は、前記地図情報取得手段により取得された前記地図情報に基づいて、前記移動経路を計画する、
ことを特徴とする付記３乃至７のいずれか１つに記載のロボット。
（付記９）
前記地図情報取得手段は、撮像手段により前記自装置の周囲を撮像して得られた撮像画像に基づいて、前記地図情報を取得する、
ことを特徴とする付記８に記載のロボット。
（付記１０）
前記地図情報は、前記障害物の位置情報を含み、
前記予測手段は、前記地図情報取得手段により取得された前記地図情報に含まれる前記障害物の前記位置情報に基づいて、前記自装置が前記障害物と衝突するか否かを予測する、
ことを特徴とする付記８又は９に記載のロボット。
（付記１１）
前記予測手段は、前記地図情報取得手段により取得された前記地図情報に含まれる前記障害物の前記位置情報と、前記自装置が前記計画手段により計画された前記姿勢をとった場合における前記自装置の領域を示す領域情報と、に基づいて、前記自装置が前記障害物と衝突するか否かを予測する、
ことを特徴とする付記１０に記載のロボット。
（付記１２）
前記自装置が前記計画手段により計画された前記姿勢をとった場合における前記自装置の領域を示す前記領域情報は、水平面上に投影された前記自装置の投影領域である、
ことを特徴とする付記１１に記載のロボット。
（付記１３）
前記変更手段は、前記投影領域を小さくするように前記動作手段を制御する、
ことを特徴とする付記１２に記載のロボット。
（付記１４）
前記地図情報取得手段は、ＳＬＡＭ技術を利用して前記自装置の周囲の地図を示す前記地図情報を取得する、
ことを特徴とする付記８乃至１３のいずれか１つに記載のロボット。
（付記１５）
前記変更手段は、前記予測手段により前記自装置が前記障害物と衝突すると予測された場合において、前記自装置が前記計画手段により計画された前記姿勢で前記計画手段により計画された前記移動経路を移動し始めた後で、前記姿勢を変更する、
ことを特徴とする付記３乃至１４のいずれか１つに記載のロボット。
（付記１６）
前記予測手段は、前記自装置が前記計画手段により計画された前記姿勢で前記計画手段により計画された前記移動経路を移動し始めた後で、前記自装置が前記障害物と衝突するか否かを予測する、
ことを特徴とする付記１５に記載のロボット。
（付記１７）
前記自装置が移動する前に、前記自装置が障害物と衝突するか否かを予測する予測手段と、
前記予測手段により前記自装置が前記障害物と衝突すると予測された場合、前記計画手段により計画された前記姿勢と、前記計画手段により計画された前記移動経路と、の少なくとも何れかを変更する変更手段と、
を更に備え、
前記動作制御手段は、前記動作手段を制御して、前記自装置に、前記変更手段により変更された前記姿勢と、前記変更手段により変更された前記移動経路と、の少なくとも何れかで移動させる、
ことを特徴とする付記１又は２に記載のロボット。
（付記１８）
前記障害物は、第１の障害物及び第２の障害物を含み、前記第１の障害物と前記第２の障害物との間に所定の間隙を有し、
前記予測手段は、前記自装置を前記所定の間隙を有する前記第１の障害物と前記第２の障害物との間を通り抜けることができるか否かを予測する、
ことを特徴とする付記３乃至１７のいずれか１つに記載のロボット。
（付記１９）
ロボットの姿勢及び移動経路を計画し、
前記ロボットに、計画された前記移動経路を計画された前記姿勢で移動させる、
ことを含む、
ことを特徴とするロボットの制御方法。
（付記２０）
ロボットのコンピュータを、
前記ロボットの姿勢及び移動経路を計画する計画手段、
前記ロボットに、前記計画手段により計画された前記移動経路を、前記計画手段により計画された前記姿勢で移動させる動作制御手段、
として機能させる、
ことを特徴とするプログラム。
【符号の説明】
【００９２】
１００…ロボット、１０１…頭部、１０２…胴体部、１０４…目部、１０５…口部、１０７…手部、１０８…足部、１１０…制御部、１１１…記憶部、１１２…バッテリ、１１３…駆動ドライバ、１１４…可動部、１１５…センサ部、１１５ａ…撮像部、１１５ｂ…音センサ、１１５ｃ…接触センサ、１１５ｄ…距離センサ、１１６…無線通信部、１１７…表示部、１１８…音声出力部、１２０…動作部、１２１…移動部、１３０…動作制御部、１４０…地図情報取得部、１５０…計画部、１５１…姿勢計画部、１５２…経路計画部、１６０…予測部、１７０…変更部、１９０…動作テーブル、２００…環境地図、２１０…移動空間、２２０ａ，２２０ｂ，２２０ｃ…障害物、２３０ａ，２３０ｂ，２３０ｃ，２３０ｄ…投影領域、２４０ａ，２４０ｂ，２４０ｃ，２４０ｄ…姿勢領域、３００ａ，３００ｂ…移動経路
【図１】
2019168925.tif 000003
【図２】
2019168925.tif 000004
【図３】
2019168925.tif 000005
【図４】
2019168925.tif 000006
【図５】
2019168925.tif 000007
【図６】
2019168925.tif 000008
【図７】
2019168925.tif 000009
【図８】
2019168925.tif 000010
【図９】
2019168925.tif 000011
【図１０】
2019168925.tif 000012
【図１１】
2019168925.tif 000013
【図１２】
2019168925.tif 000014