(57)【要約】【課題】所定の対象からの衝突に対して、所定の対象に過大な力が掛かるおそれの小さい動作を実行するロボット、ロボットの制御方法及びプログラムを提供する。【解決手段】ロボット１００は、可動部１６０と、可動部１６０を駆動する駆動部１７０と、所定の対象からの衝突を検出する衝突検出部１２５と、衝突検出部１２５により衝突が検出された場合、所定の対象を含む所定の領域を避ける可動部１６０の動作を生成する動作生成部１３０と、動作生成部１３０が生成した動作に基づいて、駆動部１７０を制御する駆動制御部１４５と、を備える。【選択図】図８
2019166580.tif 000002
【特許請求の範囲】
【請求項１】
可動部と、
前記可動部を駆動する駆動手段と、
所定の対象からの衝突を検出する衝突検出手段と、
前記衝突検出手段により前記衝突が検出された場合、衝突した前記所定の対象を含む所定の領域を避ける前記可動部の動作を生成する動作生成手段と、
前記動作生成手段により生成された前記動作に基づいて、前記駆動手段を制御する駆動制御手段と、
を備える、
ことを特徴とするロボット。
【請求項２】
前記動作生成手段は、衝突した前記所定の対象を含む前記所定の領域を前記可動部の動作禁止領域として設定して、前記動作禁止領域を避ける前記可動部の前記動作を生成する、
ことを特徴とする請求項１に記載のロボット。
【請求項３】
前記動作生成手段は、前記衝突の位置と方向とのうちの少なくとも１つに基づいて、前記可動部の動作方向を設定する動作方向設定部を有し、
前記動作方向設定部は、前記可動部の前記動作禁止領域として、前記衝突の位置から前記衝突の方向とは反対方向を中心として所定の極角の範囲内の領域を設定して、前記動作禁止領域を避けるように前記可動部の自由端を向ける方向を設定する、
ことを特徴とする請求項２に記載のロボット。
【請求項４】
前記動作方向設定部は、前記可動部の前記動作方向として、前記衝突の位置から遠ざかるように前記可動部の前記自由端を向ける方向を設定する、
ことを特徴とする請求項３に記載のロボット。
【請求項５】
前記動作生成手段は、
前記可動部と前記衝突の位置との距離を求める距離判別部と、
前記距離判別部により求められた前記距離から前記可動部の移動量を設定する移動量設定部と、
を有する、
ことを特徴とする請求項３又は４に記載のロボット。
【請求項６】
複数の前記可動部を備える、
ことを特徴とする請求項５に記載のロボット。
【請求項７】
前記動作方向設定部は、前記複数の可動部の前記自由端が同じ方向を向くように前記複数の可動部の前記動作方向を設定する、
ことを特徴とする請求項６に記載のロボット。
【請求項８】
前記複数の可動部は、互いに直交する可動軸を有し、前記可動軸を中心に回転し、
前記動作方向設定部は、
前記衝突の方向を前記複数の可動軸の方向に対する成分に分解し、分解された前記成分のうちの最も大きな成分を有する前記複数の可動軸の方向に、前記複数の可動部の前記自由端を向けるように前記複数の可動部の前記動作方向を設定する、
ことを特徴とする請求項６又は７に記載のロボット。
【請求項９】
前記移動量設定部は、前記距離判別部が求めた前記距離が短い順に、前記複数の可動部の前記移動量を大きくする、
ことを特徴とする請求項６乃至８の何れか１項に記載のロボット。
【請求項１０】
前記動作生成手段は、前記衝突から前記複数の可動部の前記動作の開始までの遅延時間を設定する遅延時間設定部を有する、
ことを特徴とする請求項６乃至９の何れか１項に記載のロボット。
【請求項１１】
前記遅延時間設定部は、前記距離判別部が求めた前記距離が短い順に、前記衝突から前記複数の可動部の前記動作の開始までの前記遅延時間を短く設定する、
ことを特徴とする請求項１０に記載のロボット。
【請求項１２】
前記動作生成手段は、前記距離判別部が求めた前記距離に基づいて、動作する前記複数の可動部を選択する選択部を有する、
ことを特徴とする請求項６乃至１１の何れか１項に記載のロボット。
【請求項１３】
前記移動量設定部は、前記衝突検出手段が検出した前記衝突の大きさに応じて、前記複数の可動部の前記移動量を大きくする、
ことを特徴とする請求項６乃至１２の何れか１項に記載のロボット。
【請求項１４】
前記動作生成手段は、所定の条件が満たされた場合に前記動作禁止領域の設定を解除する、
ことを特徴とする請求項２乃至１３の何れか１項に記載のロボット。
【請求項１５】
前記所定の条件は、前記衝突から所定の時間が経過した場合に満たされる、
ことを特徴とする請求項１４に記載のロボット。
【請求項１６】
前記衝突検出手段は、
加速度センサと、
前記加速度センサが測定した加速度と加速方向とに基づいて、前記衝突の位置と方向とのうちの少なくとも１つを判別する衝突検出部と、
を有する、
ことを特徴とする請求項１乃至１５の何れか１項に記載のロボット。
【請求項１７】
前記所定の対象は、人又は動物又は他のロボットを含む、
ことを特徴とする請求項１乃至１６の何れか１項に記載のロボット。
【請求項１８】
前記動作生成手段により生成された前記動作は、前記可動部にあたかも柔軟性があるように見せる動作である、
ことを特徴とする請求項１乃至１７の何れか１項に記載のロボット。
【請求項１９】
所定の対象からの衝突を検出する工程と、
前記衝突が検出された場合、前記所定の対象を含む所定の領域を避ける可動部の動作を生成する工程と、
生成された前記動作に基づいて、前記可動部を駆動する工程と、
を含む、
ことを特徴とするロボットの制御方法。
【請求項２０】
ロボットを制御するコンピュータを、
所定の対象からの衝突を検出する衝突検出手段、
前記衝突検出手段により前記衝突が検出された場合、前記所定の対象を含む所定の領域を避ける可動部の動作を生成する動作生成手段、
前記動作生成手段が生成した前記動作に基づいて、前記可動部を駆動する駆動手段を制御する駆動制御手段、
として機能させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット、ロボットの制御方法及びプログラムに関する。
【背景技術】
【０００２】
ユーザの行動に対して、自律的に動作するロボットが知られている。例えば、特許文献１のロボット（疑似生物機器）は、特定人からの許可動作を認識すると、その特定人に戯れる行動を実行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１９０６５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１のロボットは、ユーザが、意図せず、ロボットに衝突すると、ロボットの所定の動作によって、ユーザに過大な力が掛かるおそれがある。
【０００５】
本発明は、前記の事情に鑑みてなされたものであり、所定の対象からの衝突に対して、所定の対象に過大な力が掛かるおそれの小さい動作を実行するロボット、ロボットの制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
前記目的を達成するため、本発明に係るロボットの一様態は、
可動部と、
前記可動部を駆動する駆動手段と、
所定の対象からの衝突を検出する衝突検出手段と、
前記衝突検出手段により前記衝突が検出された場合、衝突した前記所定の対象を含む所定の領域を避ける前記可動部の動作を生成する動作生成手段と、
前記動作生成手段により生成された前記動作に基づいて、前記駆動手段を制御する駆動制御手段と、
を備える、
ことを特徴とする。
【０００７】
前記目的を達成するため、本発明に係るロボットの制御方法の一様態は、
所定の対象からの衝突を検出する工程と、
前記衝突が検出された場合、前記所定の対象を含む所定の領域を避ける可動部の動作を生成する工程と、
生成された前記動作に基づいて、前記可動部を駆動する工程と、
を含む、
ことを特徴とする。
【０００８】
前記目的を達成するため、本発明に係るプログラムの一様態は、
ロボットを制御するコンピュータを、
所定の対象からの衝突を検出する衝突検出手段、
前記衝突検出手段により前記衝突が検出された場合、前記所定の対象を含む所定の領域を避ける可動部の動作を生成する動作生成手段、
前記動作生成手段が生成した前記動作に基づいて、前記可動部を駆動する駆動手段を制御する駆動制御手段、
として機能させる、
ことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、所定の対象からの衝突に対して、所定の対象に過大な力が掛かるおそれの小さい動作を実行するロボット、ロボットの制御方法及びプログラムを提供できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態に係るロボットを示す正面図である。
【図２】本発明の実施の形態に係るロボットを示す上面図である。
【図３】本発明の実施の形態に係るロボットのハードウェア構成を示す図である。
【図４】本発明の実施の形態に係るロボットの腕部の動作を示す正面図である。
【図５】本発明の実施の形態に係るロボットの腕部の動作を示す側面図である。
【図６】本発明の実施の形態に係るロボットの頭部の動作を示す正面図である。
【図７】本発明の実施の形態に係るロボットの頭部の動作を示す側面図である。
【図８】本発明の実施の形態に係るロボットの構成を示すブロック図である。
【図９】本発明の実施の形態に係る所定の対象からの衝突の位置と方向とのうちの少なくとも１つを示す正面図である。
【図１０】図９に示す衝突の位置と方向とのうちの少なくとも１つを上方から見て、衝突の位置から衝突の方向とは反対方向を中心として所定の極角の範囲内の領域を示す上面図である。
【図１１】図９に示す衝突の位置と方向とのうちの少なくとも１つを右側から見て、衝突の位置から衝突の方向とは反対方向を中心として所定の極角の範囲内の領域を示す側面図である。
【図１２】本発明の実施の形態に係る頭部に右方向から衝突した場合の可動部の動作方向を示す正面図である。
【図１３】本発明の実施の形態に係る、胴体部に前方右側に左右方向に対して所定の角度から衝突した場合における、可動部が所定の極角の範囲内の領域から遠ざかる方向に動作した複数の状態を示す上面図である。
【図１４】本発明の実施の形態に係る、胴体部に前方右側に左右方向に対して所定の角度から衝突した場合における、可動部の動作方向を示す上面図である。
【図１５】本発明の実施の形態に係る、右側の腕部に前方右側に左右方向に対して所定の角度から衝突した場合における、可動部の動作方向を示す上面図である。
【図１６】本発明の実施の形態に係る所定の対象からの衝突に対する動作処理を示すフローチャートである。
【図１７】本発明の実施の形態に係る動作方向設定処理を示すフローチャートである。
【図１８】本発明の実施の形態に係る動作方向情報の例を示す図である。
【発明を実施するための形態】
【００１１】
図面を参照して、本発明の実施の形態に係るロボット１００を説明する。
【００１２】
ロボット１００は、人を模した形状を有し、所定の対象の行動に対して種々の所定の動作を実行する。ここで、所定の対象は、人（例えば、ロボット１００のユーザ）、動物、他のロボット等である。
【００１３】
ロボット１００は、図１、図２に示すように、胴体部１０２と、一対の腕部１０４と、頭部１０８と、を備える。また、ロボット１００は、胴体部１０２と一対の腕部１０４のそれぞれとを連結している一対の肩関節部１０５と、胴体部１０２と頭部１０８とを連結している首関節部１０９と、胴体部１０２の下部にロボット１００を移動する図示しない移動部と、を備える。なお、理解を容易にするために、図１の上下方向をロボット１００の上下方向、図１の左右方向をロボット１００の左右方向として説明する。また、図１の正面方向（紙面の手前側）を前方、図１の背面方向（紙面の奥側）を後方として説明する。
【００１４】
図３は、ロボット１００のハードウェア構成を示す。ロボット１００は、制御部１２０と記憶部１５０とバッテリ１５５と可動部１６０と駆動部１７０と加速度センサ１８０とを備える。
【００１５】
制御部１２０は、胴体部１０２内に設けられ、ロボット１００の各部の動作を制御する。制御部１２０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１２２とメモリ１２４とから構成される。メモリ１２４は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）とＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）とを有する。制御部１２０の機能は、ＣＰＵ１２２がメモリ１２４に記憶されたプログラムを実行することによって実現される。
【００１６】
記憶部１５０は、制御部１２０がロボット１００の各部を制御するためのデータを記憶する。記憶部１５０は、後述する、衝突を判別するためのしきい値、可動部１６０を選択するための予め設定された距離、ロボット動作情報、移動量情報、遅延時間情報等を記憶している。記憶部１５０は、例えば、ＲＯＭとＲＡＭとを有する。
【００１７】
バッテリ１５５は、胴体部１０２内に設けられ、ロボット１００の各部に電力を供給する蓄電池から構成される。
【００１８】
可動部１６０は、胴体部１０２に対して動かすことができる部位である。具体的には、図１、図２に示す一対の腕部１０４と頭部１０８が、可動部１６０として機能する。本実施の形態では、図１、図２に示すように、腕部１０４の自由端１０４ａが下方を、頭部１０８の自由端１０８ａが上方を向いた状態を、ロボット１００の初期状態（電源投入直後の状態）とする。
【００１９】
腕部１０４のそれぞれは、前後方向に延びる可動軸１６２ａと左右方向に延びる可動軸１６２ｂとを中心に回転可能である。換言すれば、腕部１０４のそれぞれは、互いに直交する可動軸１６２ａと可動軸１６２ｂとのそれぞれを中心に回転可能である。
【００２０】
本実施の形態では、腕部１０４のそれぞれは、可動軸１６２ａと可動軸１６２ｂとのいずれか一方を中心に回転する。具体的には、腕部１０４は、図４に示すように、左右方向に腕部１０４の自由端１０４ａを向けるように可動軸１６２ａを中心に回転するか、図５に示すように、前後方向に腕部１０４の自由端１０４ａを向けるように可動軸１６２ｂを中心に回転する。肩関節部１０５には、図示しない溝部が設けられ、肩関節部１０５と腕部１０４とが干渉しない構成とされている。
【００２１】
図２に戻り、頭部１０８は、前後方向に延びる可動軸１６４ａ（ロール軸）と、左右方向に延びる可動軸１６４ｂ（ピッチ軸）と、を中心に回転可能である。すなわち、頭部１０８は、互いに直交する可動軸１６４ａと可動軸１６４ｂとのそれぞれを中心に回転可能である。
【００２２】
本実施の形態では、頭部１０８は、可動軸１６４ａと可動軸１６４ｂとのいずれか一方を中心に回転する。頭部１０８は、図６に示すように、左右方向に頭部１０８の自由端１０８ａを向けるように可動軸１６４ａを中心に回転するか、図７に示すように、前後方向に頭部１０８の自由端１０８ａを向けるように可動軸１６４ｂを中心に回転する。
【００２３】
図３に戻り、駆動部１７０は、図示しないモータ、アクチュエータ等の駆動部材から構成される。駆動部１７０は、例えば、図１、図２に示す肩関節部１０５のそれぞれと首関節部１０９とに設けられ、可動部１６０を駆動する。具体的には、駆動部１７０は、可動部１６０の可動軸１６２ａ、１６２ｂ、１６４ａ、１６４ｂを回転させる。駆動部１７０は駆動手段として機能する。
【００２４】
図３に戻り、加速度センサ１８０は、ロボット１００に生じる加速度と加速方向とを測定する。加速度センサ１８０は、例えば、図１、図２に示す胴体部１０２と頭部１０８とに設けられる。加速度センサ１８０は、後述する衝突検出部１２５と共に衝突検出部手段として機能する。
【００２５】
次に、図８〜１５を参照して、ロボット１００の機能的な構成について説明する。ロボット１００は、各部を制御する制御部１２０と、データを記憶する記憶部１５０と、胴体部１０２に対して動かすことができる部位である可動部１６０と、可動部１６０を駆動する駆動部１７０と、ロボット１００に生じる加速度と加速方向とを測定する加速度センサ１８０と、を備える。
【００２６】
制御部１２０は、図８に示すように、衝突検出部１２５と動作生成部１３０と駆動制御部１４５とを備える。
【００２７】
制御部１２０の衝突検出部１２５は、加速度センサ１８０が測定した加速度と加速方向とに基づいて、所定の対象からの衝突を検出する。また、衝突検出部１２５は、加速度センサ１８０が測定した加速度と加速方向とに基づいて、図９に示すような、所定の対象からの衝突の位置Ｐと方向Ｓとのうちの少なくとも１つを判別する。衝突検出部１２５と加速度センサ１８０とは、衝突検出手段として機能する。
【００２８】
図８に戻り、衝突検出部１２５は、対象判別部１２６と衝突判別部１２７と衝突算出部１２８とを有する。
【００２９】
衝突検出部１２５の対象判別部１２６は、加速度センサ１８０が出力した加速度の値を表す信号と加速方向を表す信号とを受信する。対象判別部１２６は、受信した信号が表す加速度の値と加速方向とが、ロボット１００の動作による加速度の値と加速方向とであるか、所定の対象からの行動による加速度の値と加速方向とであるか、を判別する。対象判別部１２６は、例えば、ロボット１００の動作と加速度センサ１８０が測定した加速度の値と加速方向とが関連付けられているロボット動作情報と、受信した信号が表す加速度の値と加速方向とを比較することによって、ロボット１００の動作による加速度の値と加速方向とであるか、所定の対象からの行動による加速度の値と加速方向とであるか、を判別する。ロボット動作情報は、ロボット１００の動作による加速度と加速方向とが、加速度センサ１８０によって測定され、予め記憶部１５０に記憶されている。
【００３０】
対象判別部１２６は、所定の対象からの行動による加速度の値と加速方向とであると判別した場合、加速度センサ１８０が出力した加速度の値と加速方向とを表す加速度情報を生成して、衝突判別部１２７に出力する。
【００３１】
衝突検出部１２５の衝突判別部１２７は、所定の対象からの行動による加速度と加速方向とが、所定の対象からの衝突によるものであるか否か、判別する。具体的には、衝突判別部１２７は、対象判別部１２６から出力された加速度情報が表す加速度の値が予め設定されたしきい値よりも大きい場合に、所定の対象からの衝突であると判別する。衝突判別部１２７は、所定の対象からの衝突であると判別した場合、加速度情報を衝突算出部１２８に出力する。
【００３２】
衝突検出部１２５の衝突算出部１２８は、加速度センサ１８０が測定した加速度から所定の対象からの衝突の位置Ｐと方向Ｓとのうちの少なくとも１つを求める。衝突算出部１２８は、例えば、頭部１０８に設けられた加速度センサ１８０と胴体部１０２に設けられた加速度センサ１８０とが出力した加速度と加速方向との差から、所定の対象からの衝突の位置Ｐと方向Ｓとのうちの少なくとも１つを求める。衝突算出部１２８は、求められた所定の対象からの衝突の位置Ｐと方向Ｓとのうちの少なくとも１つを表す衝突情報を生成し、動作生成部１３０に出力する。
【００３３】
動作生成部１３０は、所定の対象からの衝突の位置Ｐと方向Ｓとのうちの少なくとも１つに基づいて、可動部１６０の動作を生成する。本実施の形態では、動作生成部１３０は、所定の対象を含む所定の領域を可動部１６０の動作禁止領域として設定して、動作禁止領域を避けるように可動部１６０の動作を生成する。これにより、ロボット１００は、所定の対象に接触せず、所定の対象に過大な力が掛かるおそれの少ない動作を実行できる。動作禁止領域を避ける方向については、後述する。
【００３４】
動作生成部１３０は、距離判別部１３１と選択部１３２と動作方向設定部１３３と移動量設定部１３４と遅延時間設定部１３５と生成部１３６とを有する。
【００３５】
動作生成部１３０の距離判別部１３１は、衝突の位置Ｐと可動部１６０との距離を求める。具体的には、距離判別部１３１は、衝突情報が表す衝突の位置Ｐと可動部１６０の可動軸１６２ａ、１６２ｂ、１６４ａ、１６４ｂの中心との距離を求める。距離判別部１３１は、可動部１６０と求められた距離を関連付けた距離情報を生成し、選択部１３２と移動量設定部１３４と遅延時間設定部１３５とに出力する。
【００３６】
動作生成部１３０の選択部１３２は、動作させる可動部１６０を選択する。選択部１３２は、例えば、距離判別部１３１が出力した距離情報から、予め設定された距離よりも短い距離に関連付けられた可動部１６０を選択する。理解を容易にするために、以下では、全ての可動部１６０（すなわち一対の腕部１０４と頭部１０８と）が、選択されたものとして説明する。
【００３７】
選択部１３２は、選択された可動部１６０を表す選択情報を生成し、動作方向設定部１３３と移動量設定部１３４と遅延時間設定部１３５とに出力する。
【００３８】
動作生成部１３０の動作方向設定部１３３は、選択部１３２によって選択された可動部１６０の動作方向を設定する。動作方向設定部１３３は、選択情報が表す可動部１６０と衝突情報が表す衝突の方向Ｓから、選択された可動部１６０の動作方向として、動作禁止領域を避ける動作方向を設定する。
【００３９】
具体的には、動作方向設定部１３３は、可動部１６０の動作方向として、図１０、図１１に示す衝突の位置Ｐから衝突の方向Ｓとは反対方向Ｔを中心として所定の極角（例えば、φ＝９０°）の範囲内の領域Ｂ（動作禁止領域）から遠ざかる方向に、可動部１６０の自由端を向ける方向を設定する。
【００４０】
例えば、所定の対象が、初期状態のロボット１００の頭部１０８に、右方向から衝突した場合、動作方向設定部１３３は、図１２に示すように、頭部１０８の自由端１０８ａが領域Ｂ（動作禁止領域）から遠ざかる方向（左方向）を向くように、頭部１０８の可動軸１６４ａを中心に前方から見て反時計回りに回転させる方向を、頭部１０８の動作方向として設定する。また、動作方向設定部１３３は、腕部１０４の動作方向として、腕部１０４の自由端１０４ａが領域Ｂ（動作禁止領域）から遠ざかる方向（左方向）を向くように、腕部１０４の可動軸１６２ａを中心に前方から見て時計回りに回転させる方向を設定する。これにより、ロボット１００は、所定の対象への接触を避け、所定の対象に過大な力が掛かるおそれを小さくできる。なお、図１２における破線は、初期状態の頭部１０８と腕部１０４を示している。
【００４１】
また、領域Ｂ（動作禁止領域）から遠ざかる方向に可動部１６０の自由端を向ける方向が複数存在する場合、動作方向設定部１３３は、可動部１６０の動作方向として、衝突の位置Ｐから遠ざかる方向に、可動部１６０の自由端を向ける方向を設定する。
【００４２】
例えば、図１３に示すように、所定の対象が、初期状態のロボット１００の胴体部１０２の前方右側に左右方向に対して所定の角度（例えば、３０°）から衝突した場合、領域Ｂ（動作禁止領域）から遠ざかる方向に可動部１６０の自由端を向ける方向は、複数存在する。なお、図１３における破線は、可動部１６０のそれぞれが領域Ｂ（動作禁止領域）から遠ざかる方向に動作した複数の状態を示している。
【００４３】
この場合、動作方向設定部１３３は、図１３における右側の腕部１０４の自由端１０４ａが衝突の位置Ｐから遠ざかる方向（後方）に向くように、右側の腕部１０４の可動軸１６２ｂを中心に右方向から見て反時計回りに回転させる方向を、右側の腕部１０４動作方向として設定する。これにより、ロボット１００は、所定の対象への接触をより避け、所定の対象に過大な力が掛かるおそれをより小さくできる。
【００４４】
左側の腕部１０４と頭部１０８とは、いずれの方向（後方と左方向と）に動作しても、可動部１６０の自由端が衝突の位置Ｐから遠ざかる方向に向くが、動作方向設定部１３３は、可動部１６０の動作方向を、複数の可動部１６０の自由端が同じ方向を向く方向に設定することが好ましい。すなわち、動作方向設定部１３３は、左側の腕部１０４と頭部１０８とが、図１４に示すように、それぞれの自由端１０４ａ、１０８ａが、右側の腕部１０４の自由端１０４ａが向く方向（後方）と同じ方向に向くように、左側の腕部１０４と頭部１０８の動作方向を設定することが好ましい。この場合、動作方向設定部１３３は、左側の腕部１０４の動作方向として、左側の腕部１０４の可動軸１６２ｂを中心に右方向から見て反時計回りに回転させる方向を設定する。また、動作方向設定部１３３は、頭部１０８の動作方向として、頭部１０８の可動軸１６４ｂを中心に右方向から見て時計回りに回転させる方向を設定する。ロボット１００は、複数の可動部１６０の自由端を同じ方向を向けることにより、所定の対象、例えばロボット１００のユーザに対して、衝突したことをより明確に知らせることができる。
【００４５】
さらに、動作方向設定部１３３は、可動部１６０の動作方向として、複数の可動部１６０の自由端が同じ方向を向く方向に設定する場合、衝突の方向Ｓを可動軸１６２ａと可動軸１６２ｂと、可動軸１６４ａと可動軸１６４ｂとの方向に対する成分に分解し、分解された成分のうち最も大きな成分を有する方向に、可動部１６０の自由端を向ける方向を、可動部１６０の動作方向として設定してもよい。
【００４６】
例えば、所定の対象が、初期状態における右側の腕部１０４の前方右側に左右方向に対して所定の角度（例えば、３０°）から衝突した場合、図１５に示すように、衝突の方向Ｓを可動軸１６２ａと可動軸１６２ｂと、可動軸１６４ａと可動軸１６４ｂとの方向に対する成分に分解し、最も大きな成分Ｓ１を有する方向（左方向）に、一対の腕部１０４と頭部１０８の自由端１０４ａ、１０８ａを向ける方向を、可動部１６０の動作方向として設定してもよい。この場合、動作方向設定部１３３は、一対の腕部１０４の動作方向として、腕部１０４の可動軸１６２ａを中心に前方から見て時計回りに回転させる方向を設定する。また、動作方向設定部１３３は、頭部１０８の動作方向として、頭部１０８の可動軸１６４ａを中心に前方から見て反時計回りに回転させる方向を設定する。これにより、ロボット１００は、所定の対象からの衝突を、より和らげることができる。なお、所定の対象が、初期状態における右側の腕部１０４の前方右側に左右方向に対して所定の角度（例えば、３０°）から衝突した場合、動作方向設定部１３３は、一対の腕部１０４と頭部１０８との動作方向を、それぞれの自由端１０４ａ、１０８ａが後方を向く方向に設定してもよい。
【００４７】
動作方向設定部１３３は、可動部１６０と設定された可動部１６０の動作方向とを関連付けた動作方向設定情報を生成し、生成部１３６に出力する。
【００４８】
図８に戻り、動作生成部１３０の移動量設定部１３４は、選択された可動部１６０の移動量（回転量）を設定する。移動量設定部１３４は、選択情報が表す可動部１６０と、距離情報が表す衝突の位置Ｐと可動部１６０との距離と、から、選択された可動部１６０の移動量を設定する。例えば、移動量設定部１３４は、距離と移動量とが関連付けられている移動量情報を参照して、選択された可動部１６０の移動量を、距離判別部１３１により求められた衝突の位置Ｐと可動部１６０との距離が短い順に大きく、設定する。これにより、所定の対象、例えばロボット１００のユーザに対して、より柔軟な動きを見せることができる。移動量情報は、予め記憶部１５０に記憶されている。
【００４９】
移動量設定部１３４は、可動部１６０と設定された移動量とを関連付けた移動量設定情報を生成し、生成部１３６に出力する。
【００５０】
動作生成部１３０の遅延時間設定部１３５は、選択された可動部１６０における、所定の対象からの衝突から可動部１６０の動作の開始までの時間（以下では、遅延時間と記載）を設定する。遅延時間設定部１３５は、選択情報が表す可動部１６０と、距離情報が表す衝突の位置Ｐと可動部１６０との距離と、から、選択された可動部１６０の遅延時間を設定する。例えば、遅延時間設定部１３５は、距離と遅延時間とが関連付けられている遅延時間情報を参照して、選択された可動部１６０の遅延時間を、距離判別部１３１により求められた衝突の位置Ｐと可動部１６０との距離が短い順に短く、設定する。これにより、例えばロボット１００のユーザに対して、より柔軟な動きを見せることができる。遅延時間情報は、予め記憶部１５０に記憶されている。
【００５１】
遅延時間設定部１３５は、可動部１６０と設定された遅延時間とを関連付けた遅延時間設定情報を生成し、生成部１３６に出力する。
【００５２】
動作生成部１３０の生成部１３６は、動作方向設定部１３３が出力した動作方向設定情報と、移動量設定部１３４が出力した移動量設定情報と、遅延時間設定部１３５が出力した延時間設定情報と、から、可動部１６０の動作を生成する。生成部１３６は、可動部１６０と、設定された動作方向と移動量と遅延時間とを関連付けた動作情報を生成し、駆動制御部１４５に出力する。
【００５３】
制御部１２０の駆動制御部１４５は、生成部１３６が出力した動作情報に基づいて、駆動部１７０を制御する。駆動制御部１４５により制御された駆動部１７０は、可動部１６０を駆動する。
【００５４】
以上のように、ロボット１００は、可動部１６０の動作方向として、動作禁止領域を避ける動作方向が設定され、所定の対象に過大な力が掛かるおそれを小さくできる。また、ロボット１００は、複数の可動部１６０の自由端を同じ方向を向けることにより、例えばロボット１００のユーザに対して、衝突したことをより明確に知らせることができる。
【００５５】
次に、図１６に示すフローチャートを参照して、以上のように構成されたロボット１００の所定の対象からの衝突に対する動作処理について説明する。ロボット１００は、ユーザが図示しない電源をＯＮすると、初期状態で待機し、所定の対象の行動に対して種々の所定の動作を実行する。
【００５６】
まず、加速度センサ１８０が加速度を検出すると、加速度センサ１８０は、検出された加速度の値を表す信号と加速方向を表す信号とを衝突検出部１２５の対象判別部１２６に送信する（ステップＳ１０１）。
【００５７】
信号を受信した対象判別部１２６は、受信した信号が表す加速度の値と加速方向とが、ロボット１００の動作による加速度の値と加速方向とであるか、所定の対象からの行動による加速度の値と加速方向とであるかを判別する（ステップＳ１０２）。記憶部１５０に記憶されており、ロボット１００の動作と加速度センサ１８０が測定した加速度の値と加速方向とが関連付けられているロボット動作情報と、受信した信号が表す加速度の値と加速方向とを比較し、受信した信号が表す加速度の値と加速方向とがロボット動作情報に存在しない場合に、対象判別部１２６は、所定の対象からの行動による加速度の値と加速方向とであると判別する。
【００５８】
受信した信号が表す加速度の値と加速方向とが所定の対象からの行動による加速度の値と加速方向とであると判別された場合（ステップＳ１０２；ＹＥＳ）、対象判別部１２６は、加速度センサ１８０が出力した加速度の値と加速方向とを表す加速度情報を生成して、衝突判別部１２７に出力する。受信した信号が表す加速度の値と加速方向とがロボット１００の動作による加速度の値と加速方向とであると判別された場合（ステップＳ１０２；ＮＯ）、動作処理は加速度の検出（ステップＳ１０１）に戻る。
【００５９】
衝突検出部１２５の衝突判別部１２７は、対象判別部１２６が出力した加速度情報から、所定の対象からの行動による加速度と加速方向とが所定の対象からの衝突であるか否か判別する（ステップＳ１０３）。衝突判別部１２７は、加速度情報が表す加速度の値が、記憶部１５０に記憶されている予め設定されたしきい値よりも大きい場合に、所定の対象からの衝突であると判別する。所定の対象からの衝突であると判別された場合（ステップＳ１０３；ＹＥＳ）、衝突判別部１２７は、加速度情報を衝突算出部１２８に出力する。所定の対象からの衝突でないと判別された場合（ステップＳ１０３；ＮＯ）、動作処理は加速度の検出（ステップＳ１０１）に戻る。
【００６０】
衝突検出部１２５の衝突算出部１２８は、衝突判別部１２７が出力した加速度情報から、所定の対象からの衝突の位置Ｐと方向Ｓとのうちの少なくとも１つを求める（ステップＳ１０４）。具体的には、衝突算出部１２８は、頭部１０８に設けられた加速度センサ１８０と胴体部１０２に設けられた加速度センサ１８０とが出力した加速度と加速方向との差から、衝突の位置Ｐと方向Ｓとのうちの少なくとも１つを求める。衝突算出部１２８は、求められた衝突の位置Ｐと方向Ｓとのうちの少なくとも１つを表す衝突情報を生成し、動作生成部１３０の距離判別部１３１と動作方向設定部１３３に出力する。
【００６１】
次に、動作生成部１３０の距離判別部１３１は、衝突算出部１２８が出力した衝突情報から、衝突の位置Ｐと可動部１６０との距離を求める（ステップＳ１０５）。距離判別部１３１は、可動部１６０と求められた距離とを関連付けた距離情報を生成し、選択部１３２と移動量設定部１３４と遅延時間設定部１３５とに出力する。
【００６２】
動作生成部１３０の選択部１３２は、距離判別部１３１が出力した距離情報から、動作させる可動部１６０を選択する（ステップＳ１０６）。選択部１３２は、距離情報から、予め設定された距離よりも短い距離に関連付けられた可動部１６０を選択する。ここでは、全ての可動部１６０（すなわち一対の腕部１０４と頭部１０８と）が、選択されたものとして説明する。選択部１３２は、選択された可動部１６０を表す選択情報を生成し、動作方向設定部１３３と移動量設定部１３４と遅延時間設定部１３５とに出力する。
【００６３】
次に、動作生成部１３０の動作方向設定部１３３は、選択部１３２が出力した選択情報と衝突算出部１２８が出力した衝突情報とから、選択部１３２により選択された可動部１６０の動作方向を設定する（ステップＳ１０７）。動作方向設定部１３３は、可動部１６０と設定された可動部１６０の動作方向とを関連付けた動作方向設定情報を生成し、生成部１３６に出力する。ステップＳ１０７の詳細については、後述する。
【００６４】
一方、動作生成部１３０の移動量設定部１３４は、選択部１３２が出力した選択情報と距離判別部１３１が出力した距離情報とから、選択部１３２により選択された可動部１６０の移動量（回転量）を設定する（ステップＳ１０８）。移動量設定部１３４は、記憶部１５０に記憶されており、距離と移動量とが関連付けられている移動量情報を参照して、選択された可動部１６０の移動量を、衝突の位置Ｐと可動部１６０との距離が短い順に大きく、設定する。移動量設定部１３４は、可動部１６０と設定された移動量とを関連付けた移動量設定情報を生成し、生成部１３６に出力する。
【００６５】
また、動作生成部１３０の遅延時間設定部１３５は、選択部１３２が出力した選択情報と距離判別部１３１が出力した距離情報とから、選択部１３２により選択された可動部１６０の遅延時間を設定する（ステップＳ１０９）。遅延時間設定部１３５は、記憶部１５０に記憶されており、距離と遅延時間とが関連付けられている遅延時間情報を参照して、選択された可動部１６０の遅延時間を、衝突の位置Ｐと可動部１６０との距離が短い順に短く、設定する。遅延時間設定部１３５は、可動部１６０と設定された遅延時間とを関連付けた遅延時間設定情報を生成し、生成部１３６に出力する。
【００６６】
動作生成部１３０の生成部１３６は、動作方向設定情報と移動量設定情報と延時間設定情報とから可動部１６０の動作を生成する（ステップＳ１１０）。生成部１３６は、可動部１６０と、設定された動作方向と移動量と遅延時間と、を関連付けた動作情報を生成し、駆動制御部１４５に出力する。
【００６７】
駆動制御部１４５は、動作生成部１３０の生成部１３６が出力した動作情報に基づいて、駆動部１７０を制御する（ステップＳ１１１）。そして、可動部１６０は、駆動部１７０によって駆動され、生成された動作を実行する（ステップＳ１１２）。ユーザが電源をＯＦＦにするまで、所定の対象からの衝突に対する動作処理は繰り返される（ステップＳ１１３；ＮＯ）。ユーザが電源をＯＦＦにすると（ステップＳ１１３；ＹＥＳ）、所定の対象からの衝突に対する動作処理は終了する。
【００６８】
図１７を参照して、動作方向設定処理（ステップＳ１０７）について説明する。まず、動作生成部１３０の動作方向設定部１３３は、衝突算出部１２８が出力した衝突情報が表す衝突の方向Ｓから、衝突の位置Ｐから衝突の方向Ｓとは反対方向Ｔを中心として所定の極角（例えば、φ＝９０°）の範囲内の領域Ｂ（動作禁止領域）を設定する（ステップＳ２０１）。
【００６９】
次に、動作方向設定部１３３は、可動部１６０のそれぞれについて、可動部１６０の動作可能な方向の中から、領域Ｂ（動作禁止領域）から遠ざかる方向に可動部１６０の自由端を向ける動作方向を選択する。そして、動作方向設定部１３３は、図１８に示すような、可動部１６０のそれぞれにおいて選択された動作方向を組み合わせて、関連付けた動作方向情報を生成する（ステップＳ２０２）。動作方向設定部１３３は、動作方向情報に表される動作方向の組み合わせが１つの場合（ステップＳ２０３；ＮＯ）、可動部１６０の動作方向として、動作方向情報に表されている動作方向を設定する（ステップＳ２０９）。
【００７０】
動作方向設定部１３３は、動作方向情報に表される動作方向の組み合わせが複数存在する場合（ステップＳ２０３；ＹＥＳ）、動作方向情報に表されている動作方向の組み合わせの中から、すべての可動部１６０の動作方向が、衝突の位置Ｐから遠ざかる方向に可動部１６０の自由端を向ける動作方向となっている動作方向の組み合わせを選択し、動作方向情報を更新する（ステップＳ２０４）。動作方向設定部１３３は、更新された動作方向情報に表される動作方向の組み合わせが１つの場合（ステップＳ２０５；ＮＯ）、可動部１６０の動作方向として、動作方向情報に表されている動作方向を設定する（ステップＳ２０９）。
【００７１】
動作方向設定部１３３は、更新された動作方向情報に表されている動作方向の組み合わせが複数存在する場合（ステップＳ２０５；ＹＥＳ）、更新された動作方向情報の組み合わせの中から、可動部１６０の自由端が同じ方向を向く動作方向となっている動作方向の組み合わせを選択し、動作方向情報を再度更新する（ステップＳ２０６）。動作方向設定部１３３は、再度更新された動作方向情報に表される動作方向の組み合わせが１つの場合（ステップＳ２０７；ＮＯ）、可動部１６０の動作方向として、動作方向情報に表されている動作方向を設定する（ステップＳ２０９）。
【００７２】
動作方向設定部１３３は、再度更新された動作方向情報に表されている動作方向の組み合わせが複数存在する場合（ステップＳ２０７；ＹＥＳ）、衝突の方向Ｓを可動軸１６２ａと可動軸１６２ｂと、可動軸１６４ａと可動軸１６４ｂと、の方向に対する成分に分解する。次に、動作方向設定部１３３は、再度更新された動作方向情報の組み合わせの中から、最も大きな成分Ｓ１を有する方向に、可動部１６０の自由端を向ける動作方向の組み合わせ選択する（ステップＳ２０８）。そして、動作方向設定部１３３は、最も大きな成分Ｓ１を有する方向に、可動部１６０の自由端を向ける動作方向の組み合わせを、可動部１６０の動作方向として設定する（ステップＳ２０９）。
【００７３】
以上のように、ロボット１００の可動部１６０は、所定の対象からの衝突に対して、動作禁止領域を避けて動作し、ロボット１００は、所定の対象からの衝突に対して、所定の対象に過大な力が掛かるおそれの少ない動作を実行できる。また、ロボット１００は、複数の可動部１６０の自由端を同じ方向を向けることにより、所定の対象に対して、衝突したことをより明確に知らせることができる。さらに、ロボット１００は、衝突の位置Ｐと可動部１６０との距離に基づいて、可動部１６０の移動量を変えることができ、例えばロボット１００のユーザに対して、より柔軟な動きを見せることができる。ロボット１００は、衝突の位置Ｐと可動部１６０との距離に基づいて遅延時間を設定でき、例えばロボット１００のユーザに対して、より柔軟な動きを見せることができる。
【００７４】
以上、本発明の実施の形態を説明したが、本発明の要旨を逸脱しない範囲で種々の変更が可能である。
【００７５】
例えば、衝突検出部１２５は、所定の対象からの衝突の大きさを検出してもよく、動作生成部１３０の移動量設定部１３４は、衝突の大きさに応じて、可動部１６０の移動量を大きくしてもよい。また、動作生成部１３０の選択部１３２は、衝突の大きさに基づいて、選択する可動部１６０の個数を変えてもよい。衝突の大きさは、例えば、頭部１０８に設けられた加速度センサ１８０と胴体部１０２に設けられた加速度センサ１８０とが測定した加速度の平均値である。さらに、動作生成部１３０は、所定の条件が満たされた場合に、動作禁止領域の設定を解除することが好ましい。所定の条件としては、所定の対象からの衝突からの所定の時間（例えば、５秒）の経過、衝突とは異なる所定の対象の行動の検出等が挙げられる。
【００７６】
ロボット１００の可動部１６０は２軸で駆動されているが、可動部１６０は３軸以上で駆動されてもよい。
【００７７】
制御部１２０の機能は、専用のシステムによらず、通常の情報携帯端末、パーソナルコンピュータ等を用いて実行可能である。たとえば、前述の動作を実行するためのコンピュータプログラムを、コンピュータが読み取り可能な記録媒体に格納して配布し、このコンピュータプログラムをパーソナルコンピュータ等にインストールすることにより、前述の処理を実行する情報端末を構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置にこのコンピュータプログラムを格納しておき、通常の情報処理端末などがダウンロード等することで情報処理装置を構成してもよい。
【００７８】
また、制御部１２０の機能を、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）とアプリケーションプログラムとの分担、又は、ＯＳとアプリケーションプログラムとの協働により実現する場合などには、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
【００７９】
さらに、搬送波にコンピュータプログラムを重畳し、通信ネットワークを介して配信することも可能である。例えば、通信ネットワーク上の掲示板（ＢＢＳ：Ｂｕｌｌｅｔｉｎ  Ｂｏａｒｄ  Ｓｙｓｔｅｍ）に、コンピュータプログラムを掲示し、ネットワークを介してこのコンピュータプログラムを配信してもよい。そして、このコンピュータプログラムを起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行できるように構成してもよい。
【００８０】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施の形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲とが含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【００８１】
（付記）
（付記１）
可動部と、
前記可動部を駆動する駆動手段と、
所定の対象からの衝突を検出する衝突検出手段と、
前記衝突検出手段により前記衝突が検出された場合、衝突した前記所定の対象を含む所定の領域を避ける前記可動部の動作を生成する動作生成手段と、
前記動作生成手段により生成された前記動作に基づいて、前記駆動手段を制御する駆動制御手段と、
を備える、
ことを特徴とするロボット。
【００８２】
（付記２）
前記動作生成手段は、衝突した前記所定の対象を含む前記所定の領域を前記可動部の動作禁止領域として設定して、前記動作禁止領域を避ける前記可動部の前記動作を生成する、
ことを特徴とする付記１に記載のロボット。
【００８３】
（付記３）
前記動作生成手段は、前記衝突の位置と方向とのうちの少なくとも１つに基づいて、前記可動部の動作方向を設定する動作方向設定部を有し、
前記動作方向設定部は、前記可動部の前記動作禁止領域として、前記衝突の位置から前記衝突の方向とは反対方向を中心として所定の極角の範囲内の領域を設定して、前記動作禁止領域を避けるように前記可動部の自由端を向ける方向を設定する、
ことを特徴とする付記２に記載のロボット。
【００８４】
（付記４）
前記動作方向設定部は、前記可動部の前記動作方向として、前記衝突の位置から遠ざかるように前記可動部の前記自由端を向ける方向を設定する、
ことを特徴とする付記３に記載のロボット。
【００８５】
（付記５）
前記動作生成手段は、
前記可動部と前記衝突の位置との距離を求める距離判別部と、
前記距離判別部により求められた前記距離から前記可動部の移動量を設定する移動量設定部と、
を有する、
ことを特徴とする付記３又は４に記載のロボット。
【００８６】
（付記６）
複数の前記可動部を備える、
ことを特徴とする付記５に記載のロボット。
【００８７】
（付記７）
前記動作方向設定部は、前記複数の可動部の前記自由端が同じ方向を向くように前記複数の可動部の前記動作方向を設定する、
ことを特徴とする付記６に記載のロボット。
【００８８】
（付記８）
前記複数の可動部は、互いに直交する可動軸を有し、前記可動軸を中心に回転し、
前記動作方向設定部は、
前記衝突の方向を前記複数の可動軸の方向に対する成分に分解し、分解された前記成分のうちの最も大きな成分を有する前記複数の可動軸の方向に、前記複数の可動部の前記自由端を向けるように前記複数の可動部の前記動作方向を設定する、
ことを特徴とする付記６又は７に記載のロボット。
【００８９】
（付記９）
前記移動量設定部は、前記距離判別部が求めた前記距離が短い順に、前記複数の可動部の前記移動量を大きくする、
ことを特徴とする付記６乃至８の何れか１つに記載のロボット。
【００９０】
（付記１０）
前記動作生成手段は、前記衝突から前記複数の可動部の前記動作の開始までの遅延時間を設定する遅延時間設定部を有する、
ことを特徴とする付記６乃至９の何れか１つに記載のロボット。
【００９１】
（付記１１）
前記遅延時間設定部は、前記距離判別部が求めた前記距離が短い順に、前記衝突から前記複数の可動部の前記動作の開始までの前記遅延時間を短く設定する、
ことを特徴とする付記１０に記載のロボット。
【００９２】
（付記１２）
前記動作生成手段は、前記距離判別部が求めた前記距離に基づいて、動作する前記複数の可動部を選択する選択部を有する、
ことを特徴とする付記６乃至１１の何れか１つに記載のロボット。
【００９３】
（付記１３）
前記移動量設定部は、前記衝突検出手段が検出した前記衝突の大きさに応じて、前記複数の可動部の前記移動量を大きくする、
ことを特徴とする付記６乃至１２の何れか１つに記載のロボット。
【００９４】
（付記１４）
前記動作生成手段は、所定の条件が満たされた場合に前記動作禁止領域の設定を解除する、
ことを特徴とする付記２乃至１３の何れか１つに記載のロボット。
【００９５】
（付記１５）
前記所定の条件は、前記衝突から所定の時間が経過した場合に満たされる、
ことを特徴とする付記１４に記載のロボット。
【００９６】
（付記１６）
前記衝突検出手段は、
加速度センサと、
前記加速度センサが測定した加速度と加速方向とに基づいて、前記衝突の位置と方向とのうちの少なくとも１つを判別する衝突検出部と、
を有する、
ことを特徴とする付記１乃至１５の何れか１つに記載のロボット。
【００９７】
（付記１７）
前記所定の対象は、人又は動物又は他のロボットを含む、
ことを特徴とする付記１乃至１６の何れか１つに記載のロボット。
【００９８】
（付記１８）
前記動作生成手段により生成された前記動作は、前記可動部にあたかも柔軟性があるように見せる動作である、
ことを特徴とする付記１乃至１７の何れか１つに記載のロボット。
【００９９】
（付記１９）
所定の対象からの衝突を検出する工程と、
前記衝突が検出された場合、前記所定の対象を含む所定の領域を避ける可動部の動作を生成する工程と、
生成された前記動作に基づいて、前記可動部を駆動する工程と、
を含む、
ことを特徴とするロボットの制御方法。
【０１００】
（付記２０）
ロボットを制御するコンピュータを、
所定の対象からの衝突を検出する衝突検出手段、
前記衝突検出手段により前記衝突が検出された場合、前記所定の対象を含む所定の領域を避ける可動部の動作を生成する動作生成手段、
前記動作生成手段が生成した前記動作に基づいて、前記可動部を駆動する駆動手段を制御する駆動制御手段、
として機能させる、
ことを特徴とするプログラム。
【符号の説明】
【０１０１】
１００・・・ロボット、１０２・・・胴体部、１０４・・・腕部、１０４ａ，１０４ｂ・・・自由端、１０５・・・肩関節部、１０８・・・頭部、１０９・・・首関節部、１２０・・・制御部、１２２・・・ＣＰＵ、１２４・・・メモリ、１２５・・・衝突検出部、１２６・・・対象判別部、１２７・・・衝突判別部、１２８・・・衝突算出部、１３０・・・動作生成部、１３１・・・距離判別部、１３２・・・選択部、１３３・・・動作方向設定部、１３４・・・移動量設定部、１３５・・・遅延時間設定部、１３６・・・生成部、１４５・・・駆動制御部、１５０・・・記憶部、１５５・・・バッテリ、１６０・・・可動部、１６２ａ，１６２ｂ，１６４ａ，１６４ｂ・・・可動軸、１７０・・・駆動部、１８０・・・加速度センサ、Ｂ・・・領域、Ｐ・・・衝突の位置、Ｓ・・・衝突の方向、Ｓ１・・・衝突の方向を可動軸の方向に分解した最も大きい成分、Ｔ・・・衝突の方向とは反対方向、φ・・・極角
【図１】
2019166580.tif 000003
【図２】
2019166580.tif 000004
【図３】
2019166580.tif 000005
【図４】
2019166580.tif 000006
【図５】
2019166580.tif 000007
【図６】
2019166580.tif 000008
【図７】
2019166580.tif 000009
【図８】
2019166580.tif 000010
【図９】
2019166580.tif 000011
【図１０】
2019166580.tif 000012
【図１１】
2019166580.tif 000013
【図１２】
2019166580.tif 000014
【図１３】
2019166580.tif 000015
【図１４】
2019166580.tif 000016
【図１５】
2019166580.tif 000017
【図１６】
2019166580.tif 000018
【図１７】
2019166580.tif 000019
【図１８】
2019166580.tif 000020