(57)【要約】【課題】接地面からロボットの少なくとも一部を持ち上げられた状態において、ユーザーが所望する動作をロボットに行わせることができなくなってしまうことを抑制することができるロボット制御装置を提供すること。【解決手段】ロボット制御装置は、複数の関節と、関節間を繋ぐリンク部材と、複数の車輪とを備えるロボットであって、複数の関節には、ロボットの姿勢と基準姿勢とが一致している場合において第１方向に平行な回動軸を有する複数の第１関節と、当該場合において第２方向に平行な回動軸を有する複数の第２関節とのそれぞれが含まれており、複数の車輪それぞれの車軸は、当該場合において第２方向と平行である、ロボットを制御し、接地面から第１部位が持ち上げられた状態において、予め決められた条件が満たされた場合、第２部位が備える第１関節それぞれの回動角を第１関節の可動範囲における上限又は下限の角度よりも小さくする。【選択図】図７
2019084665.tif 000002
【特許請求の範囲】
【請求項１】
複数の関節と、前記関節間を繋ぐリンク部材と、複数の車輪とを備えるロボットであって、前記複数の前記関節には、前記ロボットの姿勢と前記関節の全てが１直線上に並ぶ姿勢である基準姿勢とが一致している場合において前記１直線と直交する方向のうちの第１方向に平行な回動軸を有する複数の第１関節と、前記場合において前記１直線と直交する方向のうちの前記第１方向と異なる第２方向に平行な回動軸を有する複数の第２関節とのそれぞれが含まれており、複数の前記車輪それぞれの車軸は、前記場合において前記第２方向と平行である、前記ロボットを制御し、
前記車輪の少なくとも一部が接地している接地面から前記ロボットの一部である第１部位が持ち上げられた状態において、予め決められた条件が満たされた場合、前記ロボットが有する部位のうち前記接地面から持ち上げられていない部位である第２部位が備える前記第１関節それぞれの回動角を前記第１関節の可動範囲における上限又は下限の角度よりも小さくする、
ロボット制御装置。
【請求項２】
前記条件が満たされた場合、前記ロボットの姿勢を、前記第２部位が有する複数の前記車輪のうち前記接地面に接地している前記車輪である接地車輪それぞれの車軸同士の幾何学的な関係が予め決められた幾何学的な関係になる姿勢である目標姿勢に近づけることによって、前記第２部位が備える前記第１関節それぞれの回動角を前記角度よりも小さくする、
請求項１に記載のロボット制御装置。
【請求項３】
前記予め決められた幾何学的な関係は、平行である、
請求項２に記載のロボット制御装置。
【請求項４】
前記条件には、前記第２部位が備える前記第１関節の少なくとも１つの回動角が、前記角度に達していること、が含まれる、
請求項１から３のうちいずれか一項に記載のロボット制御装置。
【請求項５】
前記条件には、ユーザーからの操作を受け付けたこと、が含まれる、
請求項１から４のうちいずれか一項に記載のロボット制御装置。
【請求項６】
複数の前記車輪のうちの少なくとも一部は、アクチュエーターによって回動される能動輪である、
請求項１から５のうちいずれか一項に記載のロボット制御装置。
【請求項７】
前記条件が満たされた場合、前記ロボットの制御点の位置及び姿勢が変化しないように、前記第２部位が備える前記第１関節それぞれの回動角を前記角度よりも小さくする、
請求項１から６のうちいずれか一項に記載のロボット制御装置。
【請求項８】
前記第２部位が備える前記第１関節それぞれの回動角を前記角度よりも小さくする際、前記第２部位が有する複数の前記車輪のうち前記接地面に設置していない非接地車輪の組み合わせを、予め決められた時間が経過する毎に変化させる、
請求項１から７のうちいずれか一項に記載のロボット制御装置。
【請求項９】
複数の関節と、前記関節間を繋ぐリンク部材とを備えるロボットであって、前記複数の前記関節には、前記ロボットの姿勢と前記関節の全てが１直線上に並ぶ姿勢である基準姿勢とが一致している場合において前記１直線と直交する方向のうちの第１方向に平行な回動軸を有する複数の第１関節と、前記場合において前記１直線と直交する方向のうち前記第１方向と異なる第２方向に平行な回動軸を有する複数の第２関節とのそれぞれが含まれている、前記ロボットを制御し、
前記ロボットの少なくとも一部が接地している接地面から前記ロボットの少なくとも一部が持ち上げられた状態において、予め決められた条件が満たされた場合、前記ロボットが有する部位のうち前記接地面から持ち上げられていない部位が備える前記第１関節それぞれの回動角を前記第１関節の可動範囲における上限又は下限の角度よりも小さくする、
ロボット制御装置。
【請求項１０】
複数の関節と、前記関節間を繋ぐリンク部材と、複数の車輪とを備えるロボットであって、
前記複数の関節には、前記ロボットの姿勢と前記関節の全てが１直線上に並ぶ姿勢である基準姿勢とが一致している場合において前記１直線と直交する方向のうちの第１方向に平行な回動軸を有する複数の第１関節と、前記場合において前記１直線と直交する方向のうち前記第１方向と異なる第２方向に平行な回動軸を有する複数の第２関節とのそれぞれが含まれており、
複数の前記車輪それぞれの車軸は、前記場合において前記第２方向と平行であり、
前記車輪の少なくとも一部が接地している接地面から前記ロボットの少なくとも一部が持ち上げられた状態において、予め決められた条件が満たされた場合、前記ロボットが有する部位のうち前記接地面から持ち上げられていない部位が備える前記第１関節それぞれの回動角を前記第１関節の可動範囲における上限又は下限の角度よりも小さくする、
ロボット。
【請求項１１】
複数の関節と、前記関節間を繋ぐリンク部材と、複数の車輪とを備えるロボットであって、前記複数の関節には、前記ロボットの姿勢と前記関節の全てが１直線上に並ぶ姿勢である基準姿勢とが一致している場合において前記１直線と直交する方向のうちの第１方向に平行な回動軸を有する複数の第１関節と、前記場合において前記１直線と直交する方向のうち前記第１方向と異なる第２方向に平行な回動軸を有する複数の第２関節とのそれぞれが含まれており、複数の前記車輪それぞれの車軸は、前記場合において前記第２方向と平行である前記ロボットと、
前記ロボットを制御し、前記車輪の少なくとも一部が接地している接地面から前記ロボットの少なくとも一部が持ち上げられた状態において、予め決められた条件が満たされた場合、前記ロボットが有する部位のうち前記接地面から持ち上げられていない部位が備える前記第１関節それぞれの回動角を前記第１関節の可動範囲における上限又は下限の角度よりも小さくするロボット制御装置と、
を備えるロボットシステム。
【請求項１２】
コンピューターに、
複数の関節と、前記関節間を繋ぐリンク部材と、複数の車輪とを備えるロボットであって、前記複数の関節には、前記ロボットの姿勢と前記関節の全てが１直線上に並ぶ姿勢である基準姿勢とが一致している場合において前記１直線と直交する方向のうちの第１方向に平行な回動軸を有する複数の第１関節と、前記場合において前記１直線と直交する方向のうち前記第１方向と異なる第２方向に平行な回動軸を有する複数の第２関節とのそれぞれが含まれており、複数の前記車輪それぞれの車軸は、前記場合において前記第２方向と平行である前記ロボットを制御させ、
前記車輪の少なくとも一部が接地している接地面から前記ロボットの少なくとも一部が持ち上げられた状態において、予め決められた条件が満たされた場合、前記ロボットが有する部位のうち前記接地面から持ち上げられていない部位が備える前記第１関節それぞれの回動角を前記第１関節の可動範囲における上限又は下限の角度よりも小さくする、
ことを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボット制御装置、ロボット、ロボットシステム、及びプログラムに関する。
【背景技術】
【０００２】
ロボットに所望の動作を行わせる技術の研究や開発が行われている。
【０００３】
これに関し、複数の受動輪を備えたヘビ型ロボットが有する部分のうちヘビ型ロボットの制御点とともに動く部分（例えば、ヘビの頭部に相当する部分）を持ち上げた場合において、予め決められた軌道に沿って当該制御点を動かす制御方法が知られている（非特許文献１参照）。また、複数の能動輪を備えた多連結移動ロボットが有する部分のうち多連結移動ロボットの制御点とともに動く部分を平面に沿って移動させ、当該平面上における予め決められた軌道に沿って当該制御点を動かす制御方法が知られている（非特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【非特許文献１】Motoyasu Tanaka, and Fumitoshi Matsuno: Modeling and Control of Head Raising Snake Robots by Using Kinematic Redundancy, Journal of Intelligent and Robotic Systems, vol.75, no.1, pp.53-69, 2014.
【非特許文献２】Motoyasu Tanaka, Mizuki Nakajima, and Kazuo Tanaka: Smooth Control of an Articulated Mobile Robot with Switching Constraints, Advanced Robotics, vol.30, no.1, pp.29-40, 2016.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
非特許文献１に記載されたヘビ型ロボット、及び非特許文献２に記載された多連結移動ロボットのようなロボットは、接地面に接地している部位を有する。ここで、当該ロボットは、当該部位が有する複数の関節のうちのある１つの関節の回動角が当該関節の可動範囲における上限又は下限の角度（すなわち、可動限界角）に達した場合、回動角が当該角度に達している関節の回動角を当該角度を超える方向に回動させることが必要な動作（例えば、当該部位の後退を伴う動作）を行うことができなくなる状態である不可動状態になる。その結果、当該ロボットは、ユーザーが所望する動作を行うことができなくなってしまう。非特許文献１に記載されたヘビ型ロボットでは、何らかの手段によって外部から力を加えて当該ヘビ型ロボットの姿勢を変化させない限り、不可動状態から当該動作を行うことができる状態である可動状態へと変化させること（復旧させること）ができなかった。一方、非特許文献２に記載された多連結移動ロボットは、不可動状態になった場合、姿勢を変化させることによって不可動状態から可動状態へと変化（復旧）させることができる。しかしながら、当該多連結移動ロボットの制御方法は、非特許文献１に記載されたヘビ型ロボットのように、制御点とともに動く部分を持ち上げることが可能なロボットに対して適用することが困難であった。
【０００６】
そこで本発明は、上記従来技術の問題に鑑みてなされたものであり、接地面からロボットの少なくとも一部が持ち上げられた状態において、ユーザーが所望する動作をロボットに行わせることができなくなってしまうことを抑制することができるロボット制御装置、ロボットシステム、及びプログラムを提供する。
また、本発明は、上記従来技術の問題に鑑みてなされたものであり、接地面からロボットの少なくとも一部が持ち上げられた状態において、ユーザーが所望する動作を行うことができなくなってしまうことを抑制することができるロボットを提供する。
【課題を解決するための手段】
【０００７】
上述した課題の少なくとも１つを解決するために、本発明の一態様に係るロボット制御装置は、複数の関節と、前記関節間を繋ぐリンク部材と、複数の車輪とを備えるロボットであって、前記複数の前記関節には、前記ロボットの姿勢と前記関節の全てが１直線上に並ぶ姿勢である基準姿勢とが一致している場合において前記１直線と直交する方向のうちの第１方向に平行な回動軸を有する複数の第１関節と、前記場合において前記１直線と直交する方向のうちの前記第１方向と異なる第２方向に平行な回動軸を有する複数の第２関節とのそれぞれが含まれており、複数の前記車輪それぞれの車軸は、前記場合において前記第２方向と平行である、前記ロボットを制御し、前記車輪の少なくとも一部が接地している接地面から前記ロボットの一部である第１部位が持ち上げられた状態において、予め決められた条件が満たされた場合、前記ロボットが有する部位のうち前記接地面から持ち上げられていない部位である第２部位が備える前記第１関節それぞれの回動角を前記第１関節の可動範囲における上限又は下限の角度よりも小さくする。
【０００８】
また、本発明の一態様は、ロボット制御装置において、前記条件が満たされた場合、前記ロボットの姿勢を、前記第２部位が有する複数の前記車輪のうち前記接地面に接地している前記車輪である接地車輪それぞれの車軸同士の幾何学的な関係が予め決められた幾何学的な関係になる姿勢である目標姿勢に近づけることによって、前記第２部位が備える前記第１関節それぞれの回動角を前記角度よりも小さくする、構成が用いられてもよい。
【０００９】
また、本発明の一態様は、ロボット制御装置において、前記予め決められた幾何学的な関係は、平行である、構成が用いられてもよい。
【００１０】
また、本発明の一態様は、ロボット制御装置において、前記条件には、前記第２部位が備える前記第１関節の少なくとも１つの回動角が、前記角度に達していること、が含まれる、構成が用いられてもよい。
【００１１】
また、本発明の一態様は、ロボット制御装置において、前記条件には、ユーザーからの操作を受け付けたこと、が含まれる、構成が用いられてもよい。
【００１２】
また、本発明の一態様は、ロボット制御装置において、複数の前記車輪のうちの少なくとも一部は、アクチュエーターによって回動される能動輪である、構成が用いられてもよい。
【００１３】
また、本発明の一態様は、ロボット制御装置において、前記条件が満たされた場合、前記ロボットの制御点の位置及び姿勢が変化しないように、前記第２部位が備える前記第１関節それぞれの回動角を前記角度よりも小さくする、構成が用いられてもよい。
【００１４】
また、本発明の一態様は、ロボット制御装置において、前記第２部位が備える前記第１関節それぞれの回動角を前記角度よりも小さくする際、前記第２部位が有する複数の前記車輪のうち前記接地面に設置していない非接地車輪の組み合わせを、予め決められた時間が経過する毎に変化させる、構成が用いられてもよい。
【００１５】
また、本発明の一態様に係るロボット制御装置は、複数の関節と、前記関節間を繋ぐリンク部材とを備えるロボットであって、前記複数の前記関節には、前記ロボットの姿勢と前記関節の全てが１直線上に並ぶ姿勢である基準姿勢とが一致している場合において前記１直線と直交する方向のうちの第１方向に平行な回動軸を有する複数の第１関節と、前記場合において前記１直線と直交する方向のうち前記第１方向と異なる第２方向に平行な回動軸を有する複数の第２関節とのそれぞれが含まれている、前記ロボットを制御し、前記ロボットの少なくとも一部が接地している接地面から前記ロボットの少なくとも一部が持ち上げられた状態において、予め決められた条件が満たされた場合、前記ロボットが有する部位のうち前記接地面から持ち上げられていない部位が備える前記第１関節それぞれの回動角を前記第１関節の可動範囲における上限又は下限の角度よりも小さくする。
【００１６】
また、本発明の一態様に係るロボットは、複数の関節と、前記関節間を繋ぐリンク部材と、複数の車輪とを備えるロボットであって、前記複数の関節には、前記ロボットの姿勢と前記関節の全てが１直線上に並ぶ姿勢である基準姿勢とが一致している場合において前記１直線と直交する方向のうちの第１方向に平行な回動軸を有する複数の第１関節と、前記場合において前記１直線と直交する方向のうち前記第１方向と異なる第２方向に平行な回動軸を有する複数の第２関節とのそれぞれが含まれており、複数の前記車輪それぞれの車軸は、前記場合において前記第２方向と平行であり、前記車輪の少なくとも一部が接地している接地面から前記ロボットの少なくとも一部が持ち上げられた状態において、予め決められた条件が満たされた場合、前記ロボットが有する部位のうち前記接地面から持ち上げられていない部位が備える前記第１関節それぞれの回動角を前記第１関節の可動範囲における上限又は下限の角度よりも小さくする。
【００１７】
また、本発明の一態様に係るロボットシステムは、複数の関節と、前記関節間を繋ぐリンク部材と、複数の車輪とを備えるロボットであって、前記複数の関節には、前記ロボットの姿勢と前記関節の全てが１直線上に並ぶ姿勢である基準姿勢とが一致している場合において前記１直線と直交する方向のうちの第１方向に平行な回動軸を有する複数の第１関節と、前記場合において前記１直線と直交する方向のうち前記第１方向と異なる第２方向に平行な回動軸を有する複数の第２関節とのそれぞれが含まれており、複数の前記車輪それぞれの車軸は、前記場合において前記第２方向と平行である前記ロボットと、前記ロボットを制御し、前記車輪の少なくとも一部が接地している接地面から前記ロボットの少なくとも一部が持ち上げられた状態において、予め決められた条件が満たされた場合、前記ロボットが有する部位のうち前記接地面から持ち上げられていない部位が備える前記第１関節それぞれの回動角を前記第１関節の可動範囲における上限又は下限の角度よりも小さくするロボット制御装置と、を備える。
【００１８】
また、本発明の一態様に係るプログラムは、コンピューターに、複数の関節と、前記関節間を繋ぐリンク部材と、複数の車輪とを備えるロボットであって、前記複数の関節には、前記ロボットの姿勢と前記関節の全てが１直線上に並ぶ姿勢である基準姿勢とが一致している場合において前記１直線と直交する方向のうちの第１方向に平行な回動軸を有する複数の第１関節と、前記場合において前記１直線と直交する方向のうち前記第１方向と異なる第２方向に平行な回動軸を有する複数の第２関節とのそれぞれが含まれており、複数の前記車輪それぞれの車軸は、前記場合において前記第２方向と平行である前記ロボットを制御させ、前記車輪の少なくとも一部が接地している接地面から前記ロボットの少なくとも一部が持ち上げられた状態において、予め決められた条件が満たされた場合、前記ロボットが有する部位のうち前記接地面から持ち上げられていない部位が備える前記第１関節それぞれの回動角を前記第１関節の可動範囲における上限又は下限の角度よりも小さくする、ことを実行させるためのプログラムである。
【発明の効果】
【００１９】
本発明によれば、接地面からロボットの少なくとも一部が持ち上げられた状態において、ユーザーが所望する動作をロボットに行わせることができなくなってしまうことを抑制することができるロボット制御装置、ロボットシステム、及びプログラムを提供することができる。
また、本発明に依れば、接地面からロボットの少なくとも一部が持ち上げられた状態において、ユーザーが所望する動作を行うことができなくなってしまうことを抑制することができるロボットを提供することができる。
【図面の簡単な説明】
【００２０】
【図１】実施形態に係るロボットシステムの構成の一例を示す図である。
【図２】ロボットの姿勢と基準姿勢とが一致している場合におけるロボットの一例を示す図である。
【図３】ロボットの姿勢が持上姿勢である場合におけるロボットの一例を示す図である。
【図４】不可動状態におけるロボットの一例を示す図である。
【図５】ロボットの姿勢と目標姿勢とが一致している場合におけるロボットの一例を示す図である。
【図６】ロボット制御装置のハードウェア構成の一例を示す図である。
【図７】ロボット制御装置の機能構成の一例を示す図である。
【図８】ロボット制御装置がロボットを動作させる処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００２１】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。
【００２２】
＜記号に関する記法（Notation）＞
まず、以下の説明において用いる記号に関する記法について説明する。
【００２３】
以下では、ある変数を示すアルファベットＸと、ある記号○とを用いて記載されたＸ＾｛○｝は、Ｘの真上に○が記載された変数を示す。例えば、Ｘ＾｛・｝は、Ｘの真上に・が記載された変数を示す。なお、Ｘ＾｛・｝は、数学における慣習に基づき、Ｘの時間についての１階微分を示す。また、例えば、Ｘ＾｛〜｝は、Ｘの真上に〜が記載された変数であるエックス・チルダを示す。また、例えば、Ｘ＾｛―｝は、Ｘの真上に―が記載された変数であるエックス・バーを示す。
【００２４】
また、以下では、ある変数を示すアルファベットＸと、ある変数（又はラベル）Ｙとを用いて記載されたＸ＿｛Ｙ｝は、Ｘの右下にＹが添え字として記載された変数を示す。
【００２５】
また、以下では、ある変数を示すアルファベットＸとある変数（又はラベル）Ｙとある記号○とを用いて記載されたＸ＾｛○｝＿｛Ｙ｝は、Ｘの真上に○が記載された変数であってＸの右下にＹが添え字として記載された変数を示す。
【００２６】
＜ロボットシステムの構成＞
以下、ロボットシステム１の構成について説明する。
【００２７】
図１は、実施形態に係るロボットシステム１の構成の一例を示す図である。ロボットシステム１は、ロボット１０と、ロボット制御装置２０と、操作装置３０を備える。なお、ロボットシステム１では、ロボット１０と、ロボット制御装置２０と、操作装置３０とのうちの一部又は全部が一体に構成されてもよい。
【００２８】
ロボット１０は、ヘビの頭に相当する部位であるエンドエフェクターを備えたエンドエフェクター部Ｅと、ヘビの尾の部分に相当する部位である最後尾部Ｚと、複数の関節を備える本体部Ｍを備えるヘビ型ロボットである。なお、ロボット１０では、エンドエフェクター部Ｅは、本体部Ｍと一体に構成されてもよい。
【００２９】
エンドエフェクター部Ｅは、ロボット１０が有する部位のうちエンドエフェクターを備えた部位のことである。また、エンドエフェクター部Ｅは、本体部Ｍによって支持されており、本体部Ｍの動きに応じて動く。なお、エンドエフェクター部Ｅは、本体部Ｍの動きに応じて動く構成に代えて、本体部Ｍの動きと独立に動くことが可能な構成であってもよい。
【００３０】
ここで、エンドエフェクター部Ｅが備えるエンドエフェクターは、この一例において、指部を備え、当該指部によって物体を挟んで持つことにより当該物体を保持することが可能なエンドエフェクターである。ここで、この一例において、保持するとは、物体を持ち上げることが可能な状態にすることを意味する。図１に示した例では、図を簡略化するため、当該エンドエフェクターは、円錐形状の物体として表されている。なお、当該エンドエフェクターは、これに代えて、空気の吸引や磁力、他の治具等によって物体を持ち上げることにより当該物体を保持する構成であってもよい。また、エンドエフェクター部Ｅは、当該エンドエフェクターに代えて、電動ドライバー、グラインダー、ディスペンサー等の工具によって各種の作業を行う他のエンドエフェクターを備える構成であってもよい。
【００３１】
エンドエフェクター部Ｅは、この一例において、１つの車輪部Ｗを備える。なお、エンドエフェクター部Ｅは、車輪部Ｗを備えない構成であってもよい。また、エンドエフェクター部Ｅは、２以上の車輪部Ｗを備える構成であってもよい。
車輪部Ｗは、１対の車輪を有する。なお、車輪部Ｗは、１対の車輪を備える構成に代えて、１つの車輪を備える構成であってもよく、３つ以上の車輪を備える構成であってもよい。以下では、説明の便宜上、ロボット１０が備えるある部位の車輪と称した場合、当該部位が備える車輪部Ｗが有する車輪を示す。すなわち、ロボット１０のある部位が１つの車輪部Ｗを備えている場合、当該部位の車輪の数は、２である。また、ロボット１０のある部位が２つの車輪部Ｗを備えている場合、当該部位の車輪の数は、４である。
【００３２】
また、エンドエフェクター部Ｅは、本体部Ｍが有する２つの端部のうちユーザーにより先頭側として選択された端部である第１端部に接続される。エンドエフェクター部Ｅと本体部Ｍとは、如何なる方法によって接続されてもよく、例えば、何らかのリンク部材によって接続される。なお、以下では、説明の便宜上、本体部Ｍが有する２つの端部のうち第１端部と反対側の端部を第２端部と称して説明する。
【００３３】
エンドエフェクター部Ｅが備えるエンドエフェクターは、無線によってロボット制御装置２０と通信可能に接続されている。これにより、当該エンドエフェクターは、ロボット制御装置２０から取得される制御信号に基づく動作を行う。ここで、無線による通信は、例えば、Ｗｉ−Ｆｉ（登録商標）等の通信規格によって行われる。なお、当該エンドエフェクターは、ケーブルを介してイーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の規格によって行われる有線通信によってロボット制御装置２０と接続される構成であってもよい。
【００３４】
最後尾部Ｚは、この一例において、ロボット１０が有する部位のうち１つの車輪部Ｗを備えた部位のことである。なお、最後尾部Ｚは、車輪部Ｗを備えない構成であってもよい。また、最後尾部Ｚは、２以上の車輪部Ｗを備える構成であってもよい。また、最後尾部Ｚは、本体部Ｍによって支持されており、本体部Ｍの動きに応じて動く。なお、最後尾部Ｚは、本体部Ｍの動きに応じて動く構成に代えて、本体部Ｍの動きと独立に動くことが可能な構成であってもよい。
【００３５】
また、最後尾部Ｚは、本体部Ｍが有する２つの端部のうち前述の第２端部に接続される。最後尾部Ｚと本体部Ｍとは、如何なる方法によって接続されてもよく、例えば、何らかのリンク部材によって接続される。
【００３６】
本体部Ｍは、ｎ個の第１関節Ｊ１と（ｎ−１）個の第２関節Ｊ２とを、ロボット１０が備える複数の関節として備えるヘビ型のマニピュレーターである。ここで、ｎは、５以上の整数であれば如何なる整数であってもよい。なお、本体部Ｍは、第１関節Ｊ１の個数と同じ個数の第２関節Ｊ２を備える構成であってもよく、第１関節Ｊ１の個数よりも多い個数の第２関節Ｊ２を備える構成であってもよい。また、本体部Ｍは、（ｎ−１）個より少ない個数の第２関節Ｊ２を備える構成であってもよく、（ｎ−１）個よりも多い個数の第２関節Ｊ２を備える構成であってもよい。
【００３７】
また、本体部Ｍは、当該複数の関節間を繋ぐリンク部材Ｌを備える。以下では、一例として、リンク部材Ｌが、第１関節Ｊ１と第２関節Ｊ２との間を繋ぐリンク部材である場合について説明する。すなわち、この一例において、本体部Ｍには、第１関節Ｊ１と第２関節Ｊ２とが、第１端部から第２端部に向かって第１関節Ｊ１、第２関節Ｊ２、第１関節Ｊ１、第２関節Ｊ２、…、第１関節Ｊ１、という順に第１関節Ｊ１と第２関節Ｊ２とが交互に配置されている（備えられている）。すなわち、本体部Ｍは、２（ｎ−１）個のリンク部材Ｌを有する。なお、本体部Ｍにおいて、第１関節Ｊ１と第２関節Ｊ２とが配置される順は、他の順であってもよい。
【００３８】
また、本体部Ｍは、（ｎ−１）個の車輪部Ｗを備える。なお、本体部Ｍは、（ｎ−１）個よりも少ない車輪部Ｗを備える構成であってもよい。また、本体部Ｍは、何らかの方法によってロボット１０の動きを妨げないように車輪部Ｗを取り付けることが可能な場合、（ｎ−１）個よりも多い車輪部Ｗを備える構成であってもよい。また、本体部Ｍは、車輪部Ｗを備えない構成であってもよい。
【００３９】
また、本体部Ｍには、（ｎ−１）個の第２関節Ｊ２のそれぞれについて、第２関節Ｊ２の回動軸と車輪部Ｗが有する車輪の車軸（回動軸）とが一致するように車輪部Ｗが第２関節Ｊ２に設けられている。すなわち、本体部Ｍは、２（ｎ−１）個の車輪（すなわち、（ｎ−１）対の車輪）を有する。また、本体部Ｍには、ロボット１０の姿勢と後述する基準姿勢とが一致している場合において、エンドエフェクター部Ｅが有する２個の車輪と、最後尾部Ｚが有する２個の車輪と、本体部Ｍが有する２（ｎ−１）個の車輪とを合わせた２（ｎ＋１）個の車輪の全部が、ある１つの平面に接地可能なように、当該（ｎ−１）個の車輪部Ｗが設けられる。すなわち、当該場合において、ロボット１０をある平面に載置した場合、ロボット１０の車輪は、全て当該平面に接地する。なお、当該２（ｎ＋１）個の車輪それぞれの円周面の材質は、横滑りしないように摩擦係数が高い材質（例えば、ゴム等）であることが望ましい。
【００４０】
以下では、一例として、エンドエフェクター部Ｅが備える１個の車輪部Ｗと、最後尾部Ｚが有する１個の車輪部Ｗと、本体部Ｍが有する（ｎ−１）個の車輪部Ｗとを合わせた（ｎ＋１）個の車輪部Ｗの全部が、互いに同じ構成である場合について説明する。なお、本体部Ｍは、（ｎ−１）個の第２関節Ｊ２のうちの一部又は全部のそれぞれについて、第２関節Ｊ２の回動軸と車輪部Ｗが有する車輪の車軸（回動軸）とが一致しないように車輪部Ｗが第２関節Ｊ２に設けられる構成であってもよい。また、当該（ｎ＋１）個の車輪部Ｗの一部又は全部は、互いに異なる構成であってもよい。
【００４１】
ここで、第１関節Ｊ１は、ロボット１０の姿勢と基準姿勢とが一致している場合において第１方向と平行な回動軸を有する関節のことである。なお、第１関節Ｊ１は、当該場合において第１方向と非平行な回動軸を有する関節であってもよい。ここで、ロボット１０の姿勢は、この一例において、ロボット１０が備える複数の関節それぞれの回動角によって表される。なお、ロボット１０の姿勢は、ロボット１０に応じた他の量によって表される構成であってもよい。
【００４２】
基準姿勢は、ロボット１０の姿勢のうちの基準となる姿勢のことである。基準姿勢は、この一例において、ロボット１０の姿勢のうち、ロボット１０が備える複数の関節（すなわち、ｎ個の第１関節Ｊ１及び（ｎ−１）個の第２関節Ｊ２）の全てが１直線上に並ぶ姿勢のことである。より具体的には、基準姿勢は、ロボット１０の姿勢のうち、当該複数の関節それぞれの位置が１直線上に並ぶ姿勢のことである。この一例において、第１関節Ｊ１の位置は、第１関節Ｊ１の重心の位置によって表される。この一例において、第２関節Ｊ２の位置は、第２関節Ｊ２の重心の位置によって表される。以下では、説明の便宜上、ロボット１０の姿勢と基準状態とが一致している場合において、当該複数の関節それぞれの位置を通る仮想的な直線を直線ＣＬと称して説明する。また、以下では、一例として、ロボット１０の姿勢と基準姿勢とが一致している場合において、ロボット１０が備える複数の関節それぞれの回動角は、全て０である場合について説明する。すなわち、この一例において、当該複数の関節のそれぞれは、０を基準の回動角として関節の可動範囲における上限又は下限の角度まで回動可能な関節である。なお、第１関節Ｊ１の位置は、第１関節Ｊ１に応じた他の位置によって表される構成であってもよい。また、第２関節Ｊ２の位置は、第２関節Ｊ２に応じた他の位置によって表される構成であってもよい。また、ロボット１０の基準姿勢は、当該姿勢に代えて、ロボット１０の他の姿勢であってもよい。
【００４３】
第１方向は、ロボット１０の姿勢と基準姿勢とが一致している場合において、直線ＣＬと直交する方向のうちの１つである。以下では、一例として、第１方向が、当該場合におけるロボット１０を接地面に載置した場合において、接地面と直交する方向（すなわち、接地面の法線方向）と一致する場合について説明する。なお、第１方向は、当該場合において接地面と直交する方向と一致しない構成であってもよい。
【００４４】
接地面は、ロボット１０を載置可能な平面のことである。接地面は、例えば、屋内の床面、屋外の地面等の平面であるが、これらに限られず、他の平面であってもよい。前述した通り、ロボット１０の姿勢と基準姿勢とが一致している場合、ロボット１０が有する２（ｎ＋１）個の車輪は、全てある１つの平面に接地可能である。すなわち、当該場合、ロボット１０を接地面に載置すると、当該全ての車輪は、接地面に接地する。また、当該場合、この一例において全ての車輪部Ｗが互いに同じ構成であるため、直線ＣＬは、接地面と平行な直線である。
【００４５】
また、第２関節Ｊ２は、ロボット１０の姿勢と基準姿勢とが一致している場合において、第２方向と平行な回動軸を有する関節のことである。第２方向は、当該場合において、直線ＣＬと直交する方向のうち第１方向と異なる方向のことである。以下では、一例として、第２方向が、当該場合において直線ＣＬ及び第１方向のそれぞれと直交する方向である場合について説明する。すなわち、当該場合において、ロボット１０を接地面に載置すると、第２関節Ｊ２の回動軸は、接地面と平行になる。
【００４６】
ここで、図２を参照し、ロボット１０の基準姿勢と、第１関節Ｊ１と、第２関節Ｊ２とのそれぞれについて説明する。図２は、ロボット１０の姿勢と基準姿勢とが一致している場合におけるロボット１０の一例を示す図である。図２に示したように、ロボット１０の姿勢と基準姿勢とが一致している場合、ロボット１０が備える複数の関節（すなわち、ｎ個の第１関節Ｊ１及び（ｎ−１）個の第２関節Ｊ２）それぞれの位置は、１直線（図２に示した仮想的な直線ＣＬ）上に並ぶ。
【００４７】
また、図２に示した例では、ロボット１０は、面ＭＮに載置されている。すなわち、図２に示した面ＭＮは、前述の接地面の一例である。当該例では、ロボット１０の姿勢と基準姿勢とが一致しているため、ロボット１０が有する複数の車輪は、全て面ＭＮに接地している。
【００４８】
また、図２に示した例では、第１方向は、図２において矢印ＡＮによって示した方向であって面ＭＮと直交する方向（すなわち、面ＭＮの法線方向）である。従って、図２に示したロボット１０が備えるｎ個の第１関節Ｊ１それぞれの回動軸であって図２において点線Ａ１によって示されている回動軸は、当該方向と平行である。また、図２に示した例では、第２方向は、直線ＣＬ及び当該方向と直交する方向である。従って、図２に示したロボット１０が備える（ｎ−１）個の第２関節Ｊ２それぞれの回動軸であって図２において点線Ａ２によって示されている回動軸は、当該方向と平行である。
【００４９】
図１に戻る。ロボット１０が備えるｎ個の第１関節Ｊ１のそれぞれは、図示しないアクチュエーターを備える。また、ロボット１０が備える（ｎ−１）個の第２関節Ｊ２のそれぞれは、図示しないアクチュエーターを備える。ｎ個の第１関節Ｊ１のそれぞれが備えるアクチュエーター、及び（ｎ−１）個の第２関節Ｊ２のそれぞれが備えるアクチュエーターは、無線によってロボット制御装置２０と通信可能に接続されている。これにより、ｎ個の第１関節Ｊ１のそれぞれが備えるアクチュエーター、及び（ｎ−１）個の第２関節Ｊ２のそれぞれが備えるアクチュエーターは、ロボット制御装置２０から取得される制御信号に基づいて、ロボット１０を動作させる。ここで、無線による通信は、例えば、Ｗｉ−Ｆｉ（登録商標）等の通信規格によって行われる。なお、ｎ個の第１関節Ｊ１のそれぞれが備えるアクチュエーターのうちの一部又は全部は、ケーブルを介してイーサネット（登録商標）やＵＳＢ等の規格によって行われる有線通信によってロボット制御装置２０と接続される構成であってもよい。また、（ｎ−１）個の第２関節Ｊ２のそれぞれが備えるアクチュエーターのうちの一部又は全部は、ケーブルを介してイーサネット（登録商標）やＵＳＢ等の規格によって行われる有線通信によってロボット制御装置２０と接続される構成であってもよい。
【００５０】
また、ロボット１０が備える（ｎ＋１）個の車輪部Ｗ（すなわち、エンドエフェクター部Ｅが備える１個の車輪部Ｗ、最後尾部Ｚが備える１個の車輪部Ｗ、及び本体部Ｍが備える（ｎ−１）個の車輪部Ｗ）のうちの少なくとも一部には、各車輪を回動させる図示しないアクチュエーターが備えられている。すなわち、この一例において、当該（ｎ＋１）個の車輪部Ｗのうちの少なくとも一部が有する車輪は、アクチュエーターによって回動する能動輪である。また、当該（ｎ＋１）個の車輪部Ｗのうち能動輪を有する車輪部Ｗ以外の車輪部Ｗが有する車輪は、アクチュエーターによって回動しない受動輪である。なお、ロボット２０が備える（ｎ＋１）個の車輪部Ｗは、１対の能動輪を有する車輪部Ｗと、１対の受動輪を有する車輪部Ｗと、能動輪及び受動輪の両方を１対の車輪として有する車輪部Ｗとのうちの少なくとも一部によって構成される。以下では、一例として、ロボット２０が備える（ｎ＋１）個の車輪部Ｗが、１対の能動輪を有する車輪部Ｗと、１対の受動輪を有する車輪部Ｗとによって構成される場合について説明する。ロボット１０が備えるアクチュエーターであってロボット１０が有する能動輪を回動させるアクチュエーターは、無線によってロボット制御装置２０と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置２０から取得される制御信号に基づいて、能動輪を回動させる。ここで、無線による通信は、例えば、Ｗｉ−Ｆｉ（登録商標）等の通信規格によって行われる。なお、当該アクチュエーターのうちの一部又は全部は、ケーブルを介してイーサネット（登録商標）やＵＳＢ等の規格によって行われる有線通信によってロボット制御装置２０と接続される構成であってもよい。
【００５１】
ロボット制御装置２０は、この一例において、ロボット１０を制御する（動作させる）制御装置である。ロボット制御装置２０は、後述する操作装置３０がユーザーから受け付けた操作を示す操作情報を操作装置３０から取得する。ロボット制御装置２０は、取得した操作情報に応じてロボット１０を制御する。
【００５２】
より具体的には、ロボット制御装置２０は、ロボット１０が有する部位のうち予め決められた部位とともに動く仮想的な点である制御点Ｔをロボット１０に設定する。当該予め決められた部位は、例えば、エンドエフェクター部Ｅが備えるエンドエフェクターの重心である。なお、当該予め決められた部位は、当該重心に代えて、ロボット１０が有する他の部位であってもよい。制御点Ｔは、例えば、ＴＣＰ（Tool  Center  Point）である。なお、制御点Ｔは、ＴＣＰに代えて、仮想的な他の点であってもよい。
【００５３】
また、ロボット制御装置２０は、ロボット１０に設定した制御点Ｔとともに動く仮想的な三次元直交座標系である制御点座標系を対応付ける。制御点Ｔの位置は、基準となる三次元直交座標系である基準座標系における原点に対する制御点座標系における原点の相対的な位置によって表される。また、制御点Ｔの姿勢は、基準座標系における各座標軸の方向に対する制御点座標系における各座標軸の相対的な方向によって表される。なお、制御点Ｔの位置は、制御点Ｔに応じた他の位置によって表される構成であってもよい。また、制御点Ｔの姿勢は、制御点Ｔに応じた他の方向によって表される構成であってもよい。
【００５４】
基準座標系は、制御点座標系に対して相対的に静止している慣性系である。例えば、ロボット制御装置２０は、ロボット制御装置２０がロボット１０を動かし始める前のタイミングであってロボット制御装置２０がユーザーから基準座標系を設定する操作を受け付けたタイミングにおける制御点座標系と一致する三次元座標系を基準座標系として特定する。なお、ロボット制御装置２０は、これに代えて、ユーザーにより予め決められた位置に設定された三次元座標系等の他の三次元座標系を基準座標系として特定する構成であってもよい。また、ロボット制御装置２０は、他のタイミングにおける制御点座標系と一致する三次元座標系を基準座標系として特定する構成であってもよい。また、ロボット制御装置２０は、操作装置３０から操作情報を取得する毎に、操作情報を取得したタイミングにおける制御点座標系と一致する三次元座標系を基準座標系として特定する構成であってもよい。
【００５５】
ロボット制御装置２０は、操作装置３０から取得した操作情報と、後述する閉ループシステムとに基づいて、制御点Ｔの速度が、当該操作情報が示す目標速度に一致するように、ロボット１０が備える複数の関節のそれぞれを回動させる。これにより、ロボット制御装置２０は、ロボット１０にユーザーが所望する動作を行わせることができる。すなわち、制御点Ｔの速度は、当該閉ループシステムにおける被制御量である。
【００５６】
制御点Ｔの速度は、制御点Ｔの位置が並進する速度である制御点並進速度と、制御点Ｔの姿勢が回動する制御点回動速度とのそれぞれを含んでいる。また、当該並進速度には、当該位置が制御点座標系におけるＸ軸に沿って並進する速度であるＸ軸並進速度と、当該位置が制御点座標系におけるＹ軸に沿って並進する速度であるＹ軸並進速度と、当該位置が制御点座標系におけるＺ軸に沿って並進する速度であるＺ軸並進速度とのそれぞれを含んでいる。また、当該回動速度には、当該姿勢が当該Ｘ軸周りに回動する速度であるＸ軸回動速度と、当該姿勢が当該Ｙ軸周りに回動する速度であるＹ軸回動速度と、当該姿勢が当該Ｚ軸周りに回動する速度であるＺ軸回動速度とのそれぞれを含んでいる。
【００５７】
目標速度は、制御点並進速度を一致させる目標となる目標並進速度と、制御点回動速度を一致させる目標となる目標回動速度とが含まれている。また、目標並進速度には、Ｘ軸並進速度を一致させる目標となるＸ軸目標並進速度、Ｙ軸並進速度を一致させる目標となるＹ軸目標並進速度、Ｚ軸並進速度を一致させる目標となるＺ軸目標並進速度のそれぞれが含まれている。また、目標回動速度には、Ｘ軸回動速度を一致させる目標となるＸ軸目標回動速度、Ｙ軸回動速度を一致させる目標となるＹ軸目標回動速度、Ｚ軸回動速度を一致させる目標となるＺ軸目標回動速度のそれぞれが含まれている。
【００５８】
また、ロボット制御装置２０は、以下において説明する閉ループシステムに基づくロボット１０の制御によって、制御点Ｔの速度を目標速度と一致させながら、ロボット１０が備える複数の関節のうちのユーザーが所望する１以上の関節それぞれの回動角を、ユーザーが所望する回動角と一致させることができる。これにより、ロボット制御装置２０は、ロボット１０を動作させ、ロボット１０が有する車輪の少なくとも一部が接地している面ＭＮからロボット１０の少なくとも一部を持ち上げた状態において、制御点Ｔの速度を目標速度と一致させることができる。また、ロボット制御装置２０は、ロボット１０を動作させ、状態において、制御点Ｔの位置及び姿勢を動かさずに、ロボット１０が有する部位のうち面ＭＮから持ち上げられていない部位を動かすことができる。これらの結果、ロボット制御装置２０は、ロボット１０にユーザーが所望する動作を行わせることができる。
【００５９】
なお、ロボット制御装置２０は、ロボット制御装置２０又は操作装置３０に予め記憶された動作プログラムに応じてロボット１０を動作させる構成であってもよい。
【００６０】
ロボット制御装置２０は、例えば、デスクトップＰＣ（Personal  Computer）、ノートＰＣ、タブレットＰＣ、多機能携帯電話端末（スマートフォン）、携帯電話端末、ＰＤＡ（Personal  Digital  Assistant）等の情報処理装置である。なお、ロボット制御装置２０は、これらの情報処理装置に代えて、他の情報処理装置であってもよい。
【００６１】
ロボット制御装置２０は、無線によって操作装置３０と通信可能に接続されている。これにより、ロボット制御装置２０は、操作装置３０から取得される要求に応じてロボット１０を動作させる。ここで、無線による通信は、例えば、Ｗｉ−Ｆｉ（登録商標）等の通信規格によって行われる。なお、ロボット制御装置２０は、ケーブルを介してイーサネット（登録商標）やＵＳＢ等の規格によって行われる有線通信によって操作装置３０と接続される構成であってもよい。
【００６２】
操作装置３０は、ロボット制御装置２０にロボット１０を制御させるコントローラー（例えば、ジョイスティック等）である。操作装置３０は、ユーザー（図１に示した例では、ユーザーＯＰ）から受け付けた操作に応じた操作情報を生成する。具体的には、操作装置３０は、当該操作に応じて、Ｘ軸目標並進速度、Ｙ軸目標並進速度、Ｚ軸目標並進速度、Ｘ軸目標回動速度、Ｙ軸目標回動速度、Ｚ軸目標回動速度のそれぞれを特定する。操作装置３０は、特定したＸ軸目標並進速度、Ｙ軸目標並進速度、Ｚ軸目標並進速度、Ｘ軸目標回動速度、Ｙ軸目標回動速度、Ｚ軸目標回動速度のそれぞれを示す情報、すなわち目標速度を示す情報を含む操作情報を生成する。操作装置３０は、生成した操作情報をロボット制御装置２０に出力する。
【００６３】
なお、操作情報は、目標速度を示す情報が含まれる構成に代えて、制御点Ｔを動かした場合における制御点Ｔの変位を一致させる目標となる目標変位を示す情報等の他の情報が含まれる構成であってもよく、目標速度を示す情報が含まれる構成に加えて、制御点Ｔを動かした場合における制御点Ｔの変位を一致させる目標となる目標変位を示す情報等の他の情報が含まれる構成であってもよい。
【００６４】
＜ロボットが行う関節限界回避動作＞
以下、ロボット１０が行う動作のうちの関節限界回避動作について説明する。
【００６５】
以下では、説明の便宜上、ｎｘ番目（ｎｘは、ある順番を示す１以上の整数）の関節と称した場合、ロボット１０が備える複数の関節（ｎ個の第１関節Ｊ１及び（ｎ−１）個の第２関節）のうちエンドエフェクター部Ｅ側から数えてｎｘ番目の関節を示す。また、以下では、説明の便宜上、ｎｘ番目の第１関節Ｊ１と称した場合、ロボット１０が備えたｎ個の第１関節Ｊ１のうちエンドエフェクター部Ｅ側から数えてｎｘ番目の第１関節Ｊ１を示す。また、以下では、説明の便宜上、ｎｘ番目の第２関節Ｊ２と称した場合、ロボット１０が備えた（ｎ−１）個の第２関節Ｊ２のうちエンドエフェクター部Ｅ側から数えてｎｘ番目の第２関節Ｊ２を示す。また、ｎｘ番目のリンク部材Ｌと称した場合、ロボット１０が有する２（ｎ−１）個のリンク部材Ｌのうちエンドエフェクター部Ｅ側から数えてｎｘ番目のリンク部材Ｌを示す。
【００６６】
ロボット１０は、前述した通り、ロボット１０の状態を、ロボット１０が有する車輪の少なくとも一部が接地している面ＭＮからロボット１０の少なくとも一部が持ち上げられた状態にすることができる。以下では、説明の便宜上、当該状態におけるロボット１０の姿勢を、持上姿勢と称して説明する。より具体的には、ロボット１０は、ロボット１０の姿勢を、ｎｈ番目（ｎｈは、１〜（２ｎ−１）に含まれる偶数のうち４以上の偶数）の関節（すなわち、（ｎｈ／２）番目の第２関節Ｊ２）を回動させることにより、図３に示したようにヘッド部位ＨＢを面ＭＮから面ＭＮの法線方向側に持ち上げながら、ベース部位ＢＢが有する車輪の少なくとも一部を面ＭＮに接地させた持上姿勢にすることができる。ただし、ロボット１０は、ベース部位ＢＢが備える第１関節Ｊ１の数と、ベース部位ＢＢが有する能動輪の数との総和が２以上になるように、ヘッド部位ＨＢを面ＭＮから当該法線方向側に持ち上げる。ここで、図３は、ロボット１０の姿勢が持上姿勢である場合におけるロボット１０の一例を示す図である。図３に示したＪ２ｈは、エンドエフェクター部Ｅ側から数えてｎｈ番目の関節（すなわち、（ｎｈ／２）番目の第２関節Ｊ２）を示す。また、図３に示したように、ヘッド部位ＨＢは、ロボット１０が有する部位のうち、エンドエフェクター部Ｅからｎｈ番目のリンク部材Ｌまでを含む部位のことである。ヘッド部位ＨＢは、第１部位の一例である。また、ベース部位ＢＢは、ロボット１０が有する部位のうち、ｎｈ番目のリンク部材Ｌから最後尾部Ｚまでを含む部位のことである。ベース部位ＢＢは、第２部位の一例である。なお、図３に示したリンク部材Ｌｈは、当該リンク部材Ｌの一例である。
【００６７】
ここで、以下では、説明の便宜上、ベース部位ＢＢが有する車輪をベース車輪と称して説明し、ベース車輪のうち面ＭＮに接地している車輪を接地車輪と称し、面ＭＮに接地していない車輪を非接地車輪と称して説明する。また、以下では、説明の便宜上、ｎｘ番目のベース車輪と称した場合、ベース部位ＢＢが有する複数の車輪のうちエンドエフェクター部Ｅ側から数えてｎｘ番目のベース車輪を示す。また、以下では、説明の便宜上、ヘッド部位ＨＢが備える第１関節Ｊ１をヘッド第１関節と称し、ヘッド部位ＨＢが備える第２関節Ｊ２をヘッド第２関節と称し、ベース部位ＢＢが備える第１関節Ｊ１をベース第１関節と称し、ベース部位ＢＢが備える第２関節Ｊ２をベース第２関節と称して説明する。また、以下では、説明の便宜上、ベース部位ＢＢが有する車輪部Ｗそれぞれのことをベース車輪部と称して説明する。
【００６８】
ロボット１０の姿勢と持上姿勢とが一致している場合におけるロボット１０は、複数のベース第１関節のうちのあるベース第１関節の回動角が、第１関節Ｊ１の可動範囲における上限又は下限の角度に達した場合、当該角度を超える方向に当該ベース第１関節の回動角を回動させることが必要な動作（例えば、ベース部位ＢＢの後退を伴う動作）を行うことができない状態である不可動状態になってしまう。その結果、ロボット１０は、ユーザーが所望する動作を行うことができなくなってしまう。この問題は、ロボット１０のようなヘビ型ロボットに特有の問題として知られている。
【００６９】
ここで、図４は、不可動状態におけるロボット１０の一例を示す図である。図４に示した関節Ｊ１ｈは、ベース部位ＢＢが備える第１関節Ｊ１のうち、第１関節Ｊ１の可動範囲における上限又は下限の角度に達している第１関節Ｊ１の一例を示している。図４に示したように、ベース部位ＢＢが備える第１関節Ｊ１のうちの１つの回動角が当該角度に達している場合、ロボット１０は、回動角が当該角度に達している第１関節Ｊ１の回動角を、当該角度を超える方向に回動させることが必要な動作（例えば、ベース部位ＢＢの後退を伴う動作）を行うことができない。
【００７０】
ロボット１０の状態が図４に示したような不可動状態になることによってユーザーが所望する動作をロボット１０が行うことができなくなってしまう問題を解決するため、ロボット１０は、関節限界回避動作を行うことができる。関節限界回避動作は、この一例において、ロボット１０の状態を不可動状態から可動状態に変化させる（復旧させる）動作のことである。可動状態は、ロボット１０の状態のうち、ベース部位ＢＢが有する複数の第１関節Ｊ１のそれぞれの回動角が全て、第１関節Ｊ１の可動範囲における上限又は下限の角度に達していない状態のことである。
【００７１】
ロボット１０は、関節限界回避動作として、ベース第１関節それぞれの回動角を第１関節Ｊ１の可動範囲における上限又は下限の角度よりも小さくする動作を行う。例えば、ロボット１０は、関節限界回避動作において、ロボット１０の姿勢を、接地車輪それぞれの車軸（回動軸）同士の幾何学的な関係が予め決められた幾何学的な関係になる姿勢である目標姿勢に近づけることによって、当該回動角を当該角度よりも小さくする。当該予め決められた幾何学的な関係は、この一例において、平行である。なお、当該予め決められた幾何学的な関係は、平行に代えて、他の幾何学的な関係であってもよい。目標姿勢は、例えば、ロボット１０の姿勢のうち、ベース部位ＢＢが備える複数の関節それぞれの位置が１直線上に並ぶ姿勢である。すなわち、当該姿勢において、接地車輪それぞれの車軸（回動軸）同士は、平行になる。ロボット１０の姿勢が目標姿勢と一致している場合、ベース第１関節それぞれの回動角は、０である。すなわち、ロボット１０の姿勢を目標姿勢に近づけることにより、ロボット１０は、ベース第１関節それぞれの回動角を、第１関節Ｊ１の可動範囲における上限又は下限の角度よりも小さくすることができる。ここで、図５は、ロボット１０の姿勢と目標姿勢とが一致している場合におけるロボット１０の一例を示す図である。図５に示したように、当該場合、ベース部位ＢＢが備える複数の関節それぞれの位置は、全て１直線上に並ぶ。すなわち、ロボット１０は、関節限界回避動作によって、例えば、ロボット１０の姿勢を図４に示した姿勢から図５に示した姿勢へと近づけることができ、その結果、ベース第１関節それぞれの回動角を、第１関節Ｊ１の可動範囲における上限又は下限の角度よりも小さくすることができる。なお、目標姿勢は、これに代えて、ロボット１０の状態が可動状態である場合における他の姿勢であってもよい。また、ロボット１０は、関節限界回避動作において、ロボット１０の姿勢を目標姿勢に近づける方法に代えて、他の方法によって当該回動角を当該角度よりも小さくする構成であってもよい。
【００７２】
ここで、ロボット１０は、ベース部位ＢＢが有する車輪の全てが接地車輪であった場合、関節限界回避動作においてロボット１０の状態を不可動状態から可動状態へ変化させることが困難な場合がある。これは、接地車輪が横滑りしないことによって生じる問題である。そこで、ロボット１０は、関節限界回避動作において、ベース第２関節のそれぞれを回動させ、ベース車輪の一部を非接地車輪に変化させる。また、ロボット１０は、関節限界回避動作において、予め決められた時間である所定時間が経過する毎に、ベース第２関節のそれぞれを回動させ、複数のベース車輪のうち非接地車輪として面ＭＮに接地していないベース車輪の組み合わせを変化させる。これにより、ロボット１０は、関節限界回避動作において、接地車輪それぞれの車軸（回動軸）同士が平行になる姿勢である目標姿勢に近づけることができる。
【００７３】
＜ロボット制御装置によるロボットの制御方法＞
以下、ロボット制御装置２０によるロボット１０の制御方法について説明する。なお、以下では、ロボット１０の姿勢が持上姿勢ではない場合におけるロボット制御装置２０によるロボット１０の制御方法は、既によく知られた方法が存在するため、説明を省略する。すなわち、以下では、ロボット１０の姿勢が持上姿勢である場合におけるロボット制御装置２０によるロボット１０の制御方法について説明する。また、以下では、一例として、ロボット１０の姿勢が持上姿勢である場合において、ロボット１０のヘッド部位ＨＢに含まれるリンク部材Ｌの数が変化しない場合について説明する。なお、ロボット１０の姿勢が持上姿勢である場合において、ロボット１０のヘッド部位ＨＢに含まれるリンク部材Ｌの数は、変化してもよい。
【００７４】
ここで、以下の説明において用いる変数について説明する。
【００７５】
以下では、説明の便宜上、ｉ番目（ｉは、１〜ｎのうちいずれかの整数）の第１関節Ｊ１の回動角をφｉと示す。また、以下では、説明の便宜上、ｅ番目（ｅは、１〜（ｎ−１）のうちいずれかの整数）の第２関節Ｊ２の回動角をψｅと示す。また、以下では、説明の便宜上、ベース車輪のうちの能動輪の数をｎｗと称して説明する。ここで、ｎｗは、１〜（２（ｎ＋１）−ｎｈ）のうちいずれかの整数である。ここで、ベース車輪のそれぞれに、（１〜ｎｗ）の範囲におけるいずれかの整数を、ベース車輪の順番として互いに重複が無いように割り当てる。当該予め決められた順は、ランダムであってもよく、何らかの規則に応じた順であってもよい。そして、以下では、説明の便宜上、ｊ番目（ｊは、１〜ｎｗのうちいずれかの整数）のベース車輪の回動角をρｊと示す。
【００７６】
また、ロボット１０の姿勢と持上姿勢とが一致している場合、ヘッド第１関節の個数とヘッド第２関節の個数との合計は、ｎｈ個である。このため、以下では、ヘッド部位ＨＢが有するｎｈ個の関節（すなわち、（ｎｈ／２）個のヘッド第１関節及び（ｎｈ／２）個のヘッド第２関節）それぞれの回動角を成分として有するベクトルφｈを、以下に示した式（１)のように定義する。
【００７７】
【数１】
2019084665.tif 000003
【００７８】
また、以下では、（ｎ−（ｎｈ／２））個のベース第１関節それぞれの回動角を成分として有するベクトルφｂを、以下に示した式（２）のように定義する。なお、以下では、（ｎ−（ｎｈ／２））個のベース第１関節の数をｎｂと称して説明する。
【００７９】
【数２】
2019084665.tif 000004
【００８０】
また、以下では、ベース車輪のうちｎｗ個の能動輪それぞれの回動角を成分として有するベクトルρを、以下に示した式（３）のように定義する。
【００８１】
【数３】
2019084665.tif 000005
【００８２】
また、以下では、制御点Ｔの位置及び姿勢のそれぞれを示す値（以下に示した式（４）におけるｘＥ、ｙＥ、ｚＥ、αＥ、βＥ、γＥのそれぞれ）を成分として有するベクトルｗを、以下に示した式（４）のように定義する。
【００８３】
【数４】
2019084665.tif 000006
【００８４】
ここで、上記の式（４）におけるｘＥは、基準座標系におけるＸ軸方向の位置であって制御点座標系の原点の位置を示す。また、式（４）におけるｙＥは、基準座標系におけるＹ軸方向の位置であって制御点座標系の原点の位置を示す。また、式（４）におけるｚＥは、基準座標系におけるＺ軸方向の位置であって制御点座標系の原点の位置を示す。また、式（４）におけるαＥは、制御点座標系を回動させて基準座標系に一致させる場合における３つのオイラー角のうち基準座標系におけるＸ軸周りの回動についての回動角を示す。また、式（４）におけるβＥは、制御点座標系を回動させて基準座標系に一致させる場合における３つのオイラー角のうち基準座標系におけるＹ軸周りの回動についての回動角を示す。また、式（４）におけるγＥは、制御点座標系を回動させて基準座標系に一致させる場合における３つのオイラー角のうち基準座標系におけるＺ軸周りの回動についての回動角を示す。
【００８５】
また、以下では、上記の式（１）に示したベクトルφｈ及び上記の式（２）に示したベクトルφｂのそれぞれを成分として有するベクトルφを、以下に示した式（５）のように定義する。
【００８６】
【数５】
2019084665.tif 000007
【００８７】
また、以下では、上記の式（４）に示したベクトルｗ及び上記の式（５）に示したベクトルφのそれぞれを成分として有するベクトルｑを、以下に示した式（６）のように定義する。
【００８８】
【数６】
2019084665.tif 000008
【００８９】
次に、ロボット１０についての運動学モデルについて説明する。
【００９０】
ロボット１０についての運動学モデルは、制御量と、被制御量との関係を表す数理モデルである。制御量は、ロボット制御装置２０が直接的に制御する対象であり、例えば、ロボット１０が備える複数の関節それぞれの回動速度のことである。被制御量は、制御量の変化に応じて変化する量、すなわち、ロボット制御装置２０が間接的に制御する対象であり、例えば、制御点Ｔの速度である。
【００９１】
この一例におけるロボット１０についての運動学モデルは、２つの速度関係式である第１速度関係式と第２速度関係式によって表される。
【００９２】
第１速度関係式は、ロボット１０が有するベース車輪が全て受動輪であり、当該受動輪の全てが面ＭＮに接地しており、当該受動輪の全てが横滑りしないと仮定した場合（すなわち、ベース車輪の全てが面ＭＮに接地しているロボット１０がベース車輪によって動かない場合）における制御量と、被制御量との間の複数の速度拘束式を１つの行列にまとめた式である。この場合、被制御量は、前述の制御点Ｔの速度となる。また、当該場合、制御量は、ロボット１０が備える各関節（ｎ個の第１関節Ｊ１と、（ｎ−１）個の第２関節Ｊ２）それぞれの回動速度（角速度）のうち、ヘッド第１関節それぞれの回動速度と、ヘッド第２関節それぞれの回動速度と、ベース第１関節それぞれの回動速度とのそれぞれとなる。これらの制御量及び被制御量に基づいて、第１速度関係式は、上記において定義した変数を用いて、以下の式（７）のように表すことができる。
【００９３】
【数７】
2019084665.tif 000009
【００９４】
ここで、上記の式（７）に示した行列Ａａは、以下の式（８）に示した行列である。また、式（７）に示した行列Ｂａは、以下の式（９）に示した行列である。
【００９５】
【数８】
2019084665.tif 000010
【００９６】
また、上記の式（７）における第ｋ行（ここで、１≦ｋ≦ｎｂ＋１）は、ｋ番目のベース車輪部が有する１対の車輪が横滑りしないことを意味する速度拘束式を表している。ここで、本実施形態では、ある車輪が横滑りしないことは、当該車輪の車軸方向に対して当該車輪が滑らないことを意味する。当該速度拘束式は、制御点Ｔに対する各関節の位置及び姿勢に基づく式である。当該各関節は、ロボット１０が備える各関節のことである。当該速度拘束式は、既知の方法によって導出されてもよく、今後開発される方法によって導出されてもよい。このため、以下では、当該速度拘束式についての詳細な説明を省略する。
【００９７】
また、上記の式（７）における第ｌ行（ここで、ｎｂ＋２≦ｌ≦ｎｂ＋４）は、ベース車輪の全てが面ＭＮに接触していることを意味する速度拘束式を表している。当該速度拘束式は、制御点Ｔに対する各関節の位置及び姿勢に基づく式である。当該各関節は、ロボット１０が備える各関節のことである。当該速度拘束式は、既知の方法によって導出されてもよく、今後開発される方法によって導出されてもよい。このため、以下では、当該速度拘束式についての詳細な説明を省略する。
【００９８】
このように、上記の式（７）に示した第１速度関係式は、ベース車輪の全てが面ＭＮに接地しているロボット１０がベース車輪によって動かない場合において、制御点Ｔの速度と、ヘッド第１関節それぞれの回動速度、ヘッド第２関節それぞれの回動速度、ベース第１関節それぞれの回動速度のそれぞれとの間の速度拘束式を表している。
【００９９】
一方、第２速度関係式は、ロボット１０が有するベース車輪が受動輪と能動輪との両方を含み、ベース車輪の全てが面ＭＮに接地しており、当該ベース車輪に含まれる能動輪の全てが横滑りしないと仮定した場合における制御量と、被制御量との間の複数の速度拘束式を１つの行列にまとめた式である。ここで、ある能動輪が横滑りしないことは、当該能動輪の車軸に直交する方向（すなわち、当該能動輪の回動によって当該能動輪が進む方向）に対して滑らないことを意味する。換言すると、当該能動輪が横滑りしないことは、当該能動輪が回転しない限り、当該能動輪が当該方向に対して動くことがないことをいみする。この場合、被制御量は、前述の制御点Ｔの速度となる。また、当該場合、制御量は、ヘッド第１関節それぞれの回動速度と、ヘッド第２関節それぞれの回動速度と、ベース第１関節それぞれの回動速度と、ロボット１０が有するベース車輪のうちの能動輪それぞれの回動速度とのそれぞれとなる。これらの制御量及び被制御量に基づいて、第２速度関係式は、上記において定義した変数を用いて、以下の式（１０）のように表すことができる。
【０１００】
【数９】
2019084665.tif 000011
【０１０１】
ここで、上記の式（１０）に示したベクトルｕは、以下に示した式（１１）によって定義される。また、上記の式（１０）に示した行列Ａｂは、以下の式（１２）に示した行列である。また、式（１０）に示した行列Ｂｂは、以下の式（１３）に示した行列である。
【０１０２】
【数１０】
2019084665.tif 000012
【０１０３】
このように、上記の式（１０）に示した第２速度関係式は、ベース車輪のうちの能動輪が全て面ＭＮに接地している場合において、制御点Ｔの速度と、ヘッド第１関節それぞれの回動速度、ヘッド第２関節それぞれの回動速度、ベース第１関節それぞれの回動速度、当該能動輪それぞれの回動速度とのそれぞれとの間の速度拘束式を表している。
【０１０４】
ベース車輪の全てが面ＭＮに接地している場合におけるロボット１０についての運動学モデルは、上記の式（７）に示した第１速度関係式と、上記の式（１０）に示した第２速度関係式とによって表される。ここで、第１速度関係式及び第２速度関係式である式（７）及び式（１０）は、以下に示した式（１４）〜式（１６）のようにまとめることができる。
【０１０５】
【数１１】
2019084665.tif 000013
【０１０６】
上記の式（１６）に示したゼロ行列は、式（７）と式（１０）とをまとめる際において、行列Ｂａの列数を、行列Ｂｂの列数に合わせるために行列Ｂに挿入された行列である。
【０１０７】
このようにして導出した式（１４）は、前述した通り、ベース車輪の全てが面ＭＮに接地している場合におけるロボット１０についての運動学モデルを表している。しかし、ロボット１０は、関節限界回避動作において、ベース車輪のうちの一部を非接地車輪に変化させる。そこで、以下では、式（１４）〜式（１６）に基づいて、ベース車輪のうちの一部が非接地車輪であり、ベース車輪のうちの接地車輪のそれぞれにおいて横滑りが発生しない場合におけるロボット１０についての運動学モデルを表す式を導出する。以下では、説明の便宜上、当該運動学モデルを、第２運動学モデルと称して説明する。
【０１０８】
第２運動学モデルは、ベース車輪の状態に応じて異なる運動学モデルとなる。ベース車輪の状態は、この一例において、第１組み合わせと第２組み合わせによって特徴づけられる状態である。第１組み合わせは、非接地車輪として選択された１対のベース車輪を有するベース車輪部であって１つ以上のベース車輪部の組み合わせのことである。第２組み合わせは、ベース車輪に含まれる能動輪のうち非接地車輪として選択された能動輪の組み合わせのことである。第２組み合わせは、第１組み合わせが決まることによって一意に決まる。以下では、ベース車輪の状態のうちのある状態と、当該状態に応じた第２運動学モデルとのそれぞれを変数σ（σは、１〜Ｎｍａｘのうちのいずれかの整数であり、Ｎｍａｘは、ベース車輪の状態の総数である）によって識別（ラベル付け）する。以下では、説明の便宜上、あるσに応じた第２運動学モデルのことを、当該σの第２運動学モデルと称して説明する。
【０１０９】
例えば、あるσの第２運動学モデルにおける非接地車輪として選択された１対のベース車輪を有するベース車輪部の総数をｎ＾｛―｝＿｛σ｝によって表し、当該非接地車輪として選択された能動輪の総数をｎ＾｛〜｝＿｛σ｝によって表した場合、ｐ＝ｎ＾｛―｝＿｛σ｝、ｓ＝ｎ＾｛〜｝＿｛σ｝とそれぞれ定義すると、当該ベース車輪部の組み合わせである第１組み合わせは、（ｖ１番目の当該ベース車輪部、ｖ２番目の当該ベース車輪部、…、ｖｐ番目の当該ベース車輪部）という組み合わせとして表すことができ、非接地車輪として選択された能動輪についての第２組み合わせは、（ｒ１番目の能動輪、ｒ２番目の能動輪、…、ｒｓ番目の能動輪）という組み合わせとして表すことができる。ここで、ｖ１、ｖ２、…、ｖｐのそれぞれは、１〜（ｎｂ＋１）のうち第１組み合わせに含まれるベース車輪部のそれぞれに対応するいずれかの整数であって互いに異なる整数である。また、ｒ１、ｒ２、…、ｒｓのそれぞれは、１〜ｎｗのうちの能動輪に対応するいずれかの整数であって互いに異なる整数である。当該第２運動学モデルは、上記の式（１４）〜式（１６）に基づいて、以下に示した式（１７）〜式（１９）のように表すことができる。
【０１１０】
【数１２】
2019084665.tif 000014
【０１１１】
ここで、上記の式（１８）に示した行列Ａａσは、以下の式（２０）に示した行列である。また、式（１８）に示した行列Ａｂσは、以下の式（２１）に示した行列である。また、式（１９）に示した行列Ｂａσは、以下の式（２２）に示した行列である。また、式（１９）に示した行列Ｂｂσは、以下の式（２３）に示した行列である。
【０１１２】
【数１３】
2019084665.tif 000015
【０１１３】
また、行列Ａａσは、行列Ａａの各行が表すベクトルのうちｖ１行目のベクトル、ｖ２行目のベクトル、…、ｖｐ行目のベクトルのそれぞれを、行列Ａａから取り除いた行列である。また、行列Ｂａσは、行列Ｂａの各行が表すベクトルのうちｖ１行目のベクトル、ｖ２行目のベクトル、…、ｖｐ行目のベクトルのそれぞれを、行列Ｂａから取り除いた行列である。また、行列Ａｂσは、行列Ａｂの各行が表すベクトルのうちｒ１行目のベクトル、ｒ２行目のベクトル、…、ｒｓ行目のベクトルのそれぞれを、行列Ａｂから取り除いた行列である。また、行列Ｂｂσは、行列Ｂｂの各行が表すベクトルのうちｒ１行目のベクトル、ｒ２行目のベクトル、…、ｒｓ行目のベクトルのそれぞれを、行列Ｂｂから取り除いた行列である。
【０１１４】
すなわち、式（１７）は、式（１４）から非接地車輪についての速度拘束式を取り除いた式である。このため、式（１７）が表す連立方程式の解は、不定となる。これを利用し、式（１４）において、式（１７）を算出する際に取り除いた速度拘束式を、他の速度拘束式に置き換えることができる。当該他の速度拘束式は、ユーザーが所望する速度拘束式であってもよく、ロボット１０において実現可能であれば他の如何なる速度拘束式であってもよい。以下では、説明の便宜上、当該他の速度拘束式のそれぞれを示す自由度を、冗長自由度と称して説明する。
【０１１５】
冗長自由度を用いた場合、第２運動学モデルでは、制御点Ｔの速度に加えて、ユーザーが所望する他の量を被制御量とすることができる。そこで、以下では、式（４）に示したベクトルｗを、以下の式（２４）に示したベクトルｗ＾｛〜｝のように拡張する。
【０１１６】
【数１４】
2019084665.tif 000016
【０１１７】
上記の式（２４）に示したφ＾｛〜｝は、以下の式（２５）及び式（２６）のように定義された形状可制御点である。形状可制御点については、例えば、「M. Tanaka and F. Matsuno, “Modeling and Control of Head Raising Snake Robots by Using Kinematic Redundancy,” J. of Intelligent & Robotic Systems, vol.75, no.1, pp.53-69, 2014.」等に詳しく記載されているため、説明を省略する。
【０１１８】
【数１５】
2019084665.tif 000017
【０１１９】
ここで、上記の式（２５）及び式（２６）に示した行列Ｓは、各成分が０又は１であり、ベクトルφの各成分のうちユーザーが所望する成分のみを選択する（残す）選択行列である。また、式（２６）に示したｍは、形状可制御点として表現する冗長自由度の総数を示す。すなわち、上記の式（２４）のような拡張を行うことにより、第２運動学モデルでは、ベクトルｗに加えて、ユーザーが所望する１以上の関節それぞれ（ヘッド第１関節、ヘッド第２関節、ベース第１関節のいずれか）の回動速度を被制御量とすることができる。以下に示した式（２７）は、ベクトルｗ＾｛〜｝と、ユーザーが所望する速度拘束式とに基づいて、式（１７）を拡張した式である。なお、ｍは、式（１７）において式（１４）から取り除かれた速度拘束式の数以下であってもよい。すなわち、形状可制御点として用いる冗長自由度の数がｍであり、当該数からｍを差し引いて残った数の冗長自由度の少なくとも一部は、ユーザーが所望する各種の制御に用いることができる。
【０１２０】
【数１６】
2019084665.tif 000018
【０１２１】
上記の式（２７）に示した行列Ａ＾｛〜｝＿｛σ｝は、以下の式（２８）に示した行列である。ここで、Ｉｍは、ｍ行ｍ列の単位行列である。また、式（２７）に示した行列Ｂ＾｛〜｝＿｛σ｝、以下の式（２９）に示した行列である。
【０１２２】
【数１７】
2019084665.tif 000019
【０１２３】
以上のように、第２運動学モデルは、上記の式（２７）によって表される。ここで、前述した通り、ロボット１０は、関節限界回避動作において、前述の所定時間が経過する毎に、ベース第２関節のそれぞれを回動させ、複数のベース車輪のうち非接地車輪として面ＭＮに接地していないベース車輪の組み合わせを、予め決められた組み合わせであって互いに異なる複数の組み合わせへと予め決められた順に周期的に変化させる。すなわち、ロボット１０は、関節限界回避動作において、ベース車輪の状態を変化させる。従って、第２運動学モデルは、このような運動を表すことが可能な数理モデルではない。そこで、第２運動学モデルを更に拡張し、第３運動学モデルを導出する。
【０１２４】
この一例では、予め決められた複数の状態であってベース車輪の状態の組み合わせの中から、時間の経過に応じて予め決められた順にベース車輪の状態が周期的に選択される（変化する）ように第２運動学モデルを拡張し、第３運動学モデルを導出する。なお、第３運動学モデルの導出方法は、これに代えて、他の方法であってもよい。
【０１２５】
ここで、あるタイミングにおいて選択されたベース車輪の状態が、所定時間ΔＴ保持されると仮定すると、上記の式（２７）に示したσは、以下の式（３０）及び式（３１）に示したように、経過時間ｔの関数であるσ（ｔ）に拡張することができる。
【０１２６】
【数１８】
2019084665.tif 000020
【０１２７】
ここで、上記の式（３０）に示したｔｋは、以下の式（３２）によって定義されている。
【０１２８】
【数１９】
2019084665.tif 000021
【０１２９】
そして、式（３０）〜式（３２）を用いて式（２７）を経過時間ｔの関数に拡張することにより、第３運動学モデルとして以下に示した式（３３）が得られる。以下では、説明の便宜上、あるσ（ｔ）に応じた第３運動学モデルのことを、当該σ（ｔ）の第３運動学モデルと称して説明する。
【０１３０】
【数２０】
2019084665.tif 000022
【０１３１】
ここで、あるσ（ｔ）の第３運動学モデルにおけるベクトルｕは、当該σ（ｔ）の第３運動学モデルにおける制御量である。換言すると、当該ベクトルｕは、ロボット制御装置２０がロボット１０を制御する際に用いる制御入力である。このベクトルｕは、以下に示した式（３４）によって表すことができる。
【０１３２】
【数２１】
2019084665.tif 000023
【０１３３】
ここで、上記の式（３４）に示したベクトルｕσは、以下の式（３５）に示したベクトルである。また、式（３４）に示したベクトルｕσｋｅｒは、以下の式（３６）に示したベクトルである。また、式（３５）の右辺において最も左側の行列は、以下の式（３７）に示した行列である。ここで、式（３７）に示した「Ｗ†」は、行列Ｗを用いた重み付き疑似逆行列を示す。行列Ｗは、対角成分に正の値の重みを有する対角行列である。
【０１３４】
【数２２】
2019084665.tif 000024
【０１３５】
ここで、上記の式（３４）〜式（３７）では、式を簡略化するため、σの時間依存性を明確に記載することを省略している（すなわち、σ（ｔ）を単にσと記載している）。また、上記の式（３５）に示したベクトルｗ＾｛〜｝＿ｄは、ベクトルｗ＾｛〜｝の目標ベクトル（目標値）である。また、式（３５）に示した行列Ｋは、被制御量を目標値に収束させるためのフィードバックゲインであり、正定な行列である。また、式（３６）に示したｋηは、冗長自由度に関するゲインであり、０より大きい値である。また、式（３６）に示したベクトルηは、以下の式（３８）に示した任意のベクトルである。
【０１３６】
【数２３】
2019084665.tif 000025
【０１３７】
上記の式（３４）のようにベクトルｕを表すことにより、式（３３）及び式（３４）に基づいて、以下の式（３９）に示した閉ループシステムを導出することができる。これはすなわち、前述の被制御量を目標値に収束させることが可能であることを示している。
【０１３８】
【数２４】
2019084665.tif 000026
【０１３９】
従って、ロボット制御装置２０は、上記の式（３４）に示した制御量（すなわち、制御入力）と式（３３）に示した第３運動学モデルとを用いてロボット１０の制御を行うことにより、ユーザーが所望する動作をロボット１０に行わせることができる。なお、式（３９）に示した中括弧内第２項は、ロボット制御装置２０が操作装置３０から取得した操作情報が示す目標速度を各成分として有するベクトルである。ロボット制御装置２０は、操作装置３０から当該操作情報を取得し、取得した当該操作情報に基づいて当該ベクトルを生成する。そして、ロボット制御装置２０は、生成した当該ベクトルを制御量（すなわち、制御入力）として用いることにより、ベクトルｗ＾｛〜｝が目標ベクトルｗ＾｛〜｝＿ｄに近づくようにロボット１０が備える各関節及び各車輪を回動させる。なお、ロボット制御装置２０がこのような制御を行う具体的な方法については、既知の方法であってもよく、今後開発される方法であってもよいため、説明を省略する。
【０１４０】
ここで、上記において説明したロボット１０の制御方法について補足する。前述の被制御量は、閉ループシステムである式（３９）に基づいて変化する。式（３９）が示す通り、行列Ａ＾｛〜｝＿｛σ（ｔ）｝が列フルランクである場合、被制御量は、目標値に収束する。行列Ａ＾｛〜｝＿｛σ（ｔ）｝が列フルランクではない場合におけるロボット１０の姿勢は、特異姿勢と呼ばれる。すなわち、行列Ａ＾｛〜｝＿｛σ（ｔ）｝が列フルランクであるということは、ロボット１０の姿勢が特異姿勢ではないことを意味する。なお、ロボット１０のような能動輪を有するヘビ型ロボットは、受動輪のみで構成されたヘビ型ロボットと比較して特異姿勢になりにくいことが知られている。そして、あるロボットが全車輪対に能動輪を有する場合、「Motoyasu Tanaka and Kazuo Tanaka: Singularity Analysis of a Snake Robot and an Articulated Mobile Robot with Unconstrained Links, IEEE Transactions on Control Systems Technology, vol.24, no.6, pp.2070-2081, 2016.」等に詳しく記載されているように、ベース部位ＢＢに起因して当該ロボットの姿勢が特異姿勢になることがほとんどない。このため、当該ロボットの制御において被制御量は、目標値に収束する。
【０１４１】
ここで、上記の式（３４）の右辺第２項は、冗長自由度のうち形状可制御点として用いていない冗長自由度に起因する項である。このため、上記の式（３３）を用いたロボット１０の制御では、当該右辺第２項を用いて、ベクトルｗ＾｛〜｝の各成分に影響を与えることなく（当該各成分を変化させることなく）、他の制御目標（すなわち、サブタスク）である第２制御目標を達成することができる。以下では、一例として、第２制御目標が、評価関数Ｖを小さくする制御である場合について説明する。
【０１４２】
上記の式（３３）を用いたロボット１０の制御では、評価関数Ｖの具体的な関数形を決めることにより、ロボット制御装置２０は、操作装置３０から取得した操作情報に基づいて、ユーザーが所望する位置及び姿勢に制御点Ｔの位置及び姿勢を一致させながら、当該関数形に応じた動作をロボット１０に行わせることができる。前述のロボット１０の関節限界回避動作は、当該関数形に応じた動作の一例である。また、当該関数形に応じた動作には、ロボット１０が転倒しないようにバランスを取る動作である転倒回避動作等の他の動作も含まれる。
【０１４３】
ここで、評価関数Ｖを小さくする方法について説明する。前述した通り、ベクトルηは、任意のベクトルである。このため、ベクトルηを、評価関数Ｖを用いて以下の式（４０）のように定義することができる。
【０１４４】
【数２５】
2019084665.tif 000027
【０１４５】
上記の式（４０）に示したξθは、ベクトルξのθ番目の成分を示す。また、ベクトルξは、以下の式（４１）に示したように定義されている。
【０１４６】
【数２６】
2019084665.tif 000028
【０１４７】
上記の式（４０）のようにベクトルηを定義した場合、評価関数Ｖの時間についての一階微分は、以下の式（４２）のようになる。
【０１４８】
【数２７】
2019084665.tif 000029
【０１４９】
上記の式（４０）における下段の右辺第３項は、半負定である。このため、評価関数Ｖは、当該右辺第３項を用いて小さくすることができる。
【０１５０】
一方、評価関数の具体的な関数形は、例えば、以下の式（４３）〜式（４５）に示したような関数形である。
【０１５１】
【数２８】
2019084665.tif 000030
【０１５２】
上記の式（４４）に示した行列ＫＶは、対角行列であり、ＫＶ≧０である。なお、当該０は、ゼロ行列である。また、ｄｍｉｎは、ロボット１０の転倒の起こり易さを示す値であり、小さいほどロボット１０の転倒が起こり易い。ｄｍｉｎについては、後述する。
【０１５３】
式（４４）に示したＶ１が小さくなるようにロボット制御装置２０が制御した場合、ロボット１０は、ロボット１０の姿勢を目標姿勢に変化させる。すなわち、式（４４）に示したＶ１が小さくなるようにロボット制御装置２０が制御すると、ロボット１０は、ヘッド第１関節それぞれの回動角と、ヘッド第２関節それぞれの回動角と、ベース第１関節それぞれの回動角とのそれぞれを０に近づける。これにより、ロボット制御装置２０は、ロボット１０に関節限界回避動作を行わせることができる。
【０１５４】
一方、式（４４）に示したＶ２が小さくなるようにロボット制御装置２０が制御した場合、ロボット１０は、前述のｄｍｉｎが大きくなるようにロボット１０の姿勢を変化させる。ここで、ｄｍｉｎは、面ＭＮと直交する方向に沿ってロボット１０を見た場合におけるロボット１０の重心の位置である位置ＰＧと、当該場合におけるベース部位ＢＢが有する各車輪と面ＭＮとの接点それぞれを頂点として有する凸包である支持多角形との間の最小長さのことである。当該最小長さは、位置ＰＧと支持多角形とに応じた最小の長さであれば如何なる長さであってもよく、例えば、支持多角形が有する複数の辺それぞれまでの位置ＰＧからの垂線のうち最も短い垂線の長さのことである。
【０１５５】
このように、ロボット制御装置２０は、上記の式（３３）を用いてロボット１０を制御する際、式（４３）に示した評価関数Ｖが小さくなるように制御することにより、ロボット１０に関節限界回避動作を行わせながら、転倒回避動作を行わせることができる。なお、評価関数Ｖには、上記の式（４４）に示したＶ１と、上記の式（４５）に示したＶ２とのうちのいずれか一方が含まれる構成であってもよく、Ｖ１とＶ２とのいずれか一方又は両方に代えて、他の関数が含まれる構成であってもよく、Ｖ１とＶ２に加えて、他の関数が含まれる構成であってもよい。ここで、評価関数ＶにＶ１が含まれており、且つ、評価関数ＶにＶ２が含まれていない場合、ロボット制御装置２０は、評価関数Ｖが小さくなるように制御することにより、ロボット１０に関節限界回避動作を行わせ、転倒回避動作を行わせない。一方、評価関数ＶにＶ１が含まれておらず、且つ、評価関数ＶにＶ２が含まれている場合、ロボット制御装置２０は、評価関数Ｖが小さくなるように制御することにより、ロボット１０に関節限界回避動作を行わせず、転倒回避動作を行わせる。
【０１５６】
以上のようにして、ロボット制御装置２０は、ロボット１０を制御し、ロボット１０に復旧動作を行わせることができる。
【０１５７】
＜ロボット制御装置のハードウェア構成＞
以下、図６を参照し、ロボット制御装置２０のハードウェア構成について説明する。図６は、ロボット制御装置２０のハードウェア構成の一例を示す図である。
【０１５８】
ロボット制御装置２０は、例えば、ＣＰＵ（Central  Processing  Unit）２１と、記憶部２２と、通信部２４を備える。これらの構成要素は、バスＢＳを介して相互に通信可能に接続されている。また、ロボット制御装置２０は、通信部２４を介してロボット１０、操作装置３０のそれぞれと通信を行う。
【０１５９】
ＣＰＵ２１は、記憶部２２に格納された各種プログラムを実行する。
記憶部２２は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、ＲＯＭ（Read−Only  Memory）、ＲＡＭ（Random  Access  Memory）等を含む。なお、記憶部２２は、ロボット制御装置２０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部２２は、ロボット制御装置２０が処理する各種の情報、各種のプログラム等を格納する。
通信部２４は、例えば、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）ポート等を含んで構成される。
【０１６０】
＜ロボット制御装置の機能構成＞
以下、図７を参照し、ロボット制御装置２０の機能構成について説明する。図７は、ロボット制御装置２０の機能構成の一例を示す図である。
【０１６１】
ロボット制御装置２０は、記憶部２２と、通信部２４と、制御部２６を備える。
【０１６２】
制御部２６は、ロボット制御装置２０の全体を制御する。制御部２６は、受付部２６１と、ロボット制御部２６３を備える。制御部２６が備えるこれらの機能部は、例えば、ＣＰＵ２１が、記憶部２２に記憶された各種のプログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、ＬＳＩ（Large  Scale  Integration）やＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能部であってもよい。
【０１６３】
受付部２６１は、操作装置３０から操作情報を取得し、取得した操作情報を、操作装置３０による操作として受け付ける。
ロボット制御部２６３は、受付部２６１が操作装置３０から当該操作として受け付けた操作情報と、上記の式（３３）に示した第３運動学モデルと、式（４３）に示した評価関数Ｖとに基づいて、制御入力である式（３４）を計算し、当該操作情報に応じた動作をロボット１０に行わせる。例えば、ロボット制御部２６３は、受付部２６１が操作装置３０からの操作として受け付けた操作情報に応じて、ロボット１０に関節限界回避動作を行わせる。
【０１６４】
＜ロボット制御装置がロボットを動作させる処理＞
以下、図８を参照し、ロボット制御装置２０がロボット１０を動作させる処理について説明する。図８は、ロボット制御装置２０がロボット１０を動作させる処理の流れの一例を示すフローチャートである。
【０１６５】
以下では、ロボット制御装置２０が既に基準座標系を特定している場合について説明する。
【０１６６】
受付部２６１は、操作装置３０から操作情報を取得するまで待機する（ステップＳ１１０）。操作装置３０から操作情報を取得したと判定した場合（ステップＳ１１０−ＹＥＳ）、受付部２６１は、取得した操作情報を操作装置３０からの操作として受け付ける。
【０１６７】
次に、ロボット制御部２６３は、予め決められた条件が満たされているか否かを判定する（ステップＳ１２０）。当該条件には、例えば、ベース第１関節の少なくとも１つの回動角が、第１関節Ｊ１の可動範囲における上限又は下限の角度に達していること、が含まれる。なお、当該条件には、当該回動角が当該角度に達していることに代えて、ユーザーからの操作を受け付けたこと等の他の条件が含まれる構成であってもよく、当該回動角が当該角度に達していることに加えて、当該ユーザーからの操作を受け付けたこと等の他の条件が含まれる構成であってもよい。当該ユーザーからの操作は、ロボット制御装置２０に評価関数Ｖを小さくする制御を行わせる操作である。ここで、ステップＳ１２０の処理について説明する。
【０１６８】
ステップＳ１２０では、ロボット制御部２６３は、ステップＳ１１０において受付部２６１が取得した操作情報に基づいて、ロボット１０が備える各関節の回動角を算出する。例えば、ロボット制御部２６３は、当該操作情報が示す目標速度を積分し、当該回動角を算出する。なお、ロボット制御部２６３は、当該回動角それぞれを示す情報を、ロボット１０が備える各アクチュエーターのエンコーダーから取得する構成であってもよい。ロボット制御部２６３は、算出した回動角のうちのベース第１関節の回動角のそれぞれについて、回動角が、第１関節Ｊ１の可動範囲における上限又は下限の角度に達していないか否かを判定する。ロボット制御部２６３は、当該ベース第１関節の回動角のうち当該角度に達している回動角が１以上存在する場合、予め決められた条件が満たされていると判定する。一方、ロボット制御部２６３は、当該ベース第１関節の回動角のうち当該角度に達している回動角が存在しない場合、予め決められた条件が満たされていないと判定する。
【０１６９】
ロボット制御部２６３は、予め決められた条件が満たされていると判定した場合（ステップＳ１２０−ＹＥＳ）、第１算出処理を行う（ステップＳ１３０）。ここで、第１算出処理について説明する。
【０１７０】
ロボット制御部２６３は、ステップＳ１１０において受付部２６１が取得した操作情報と、上記の式（３３）に示した第３運動学モデルと、式（４３）に示した評価関数Ｖとに基づいて、制御入力である式（３４）を計算し、評価関数Ｖを小さくなるようにしながら、制御点Ｔの速度を、当該操作情報が示す目標速度に一致させた場合における回動角であってロボット１０が備える複数の関節それぞれの回動角を算出する処理を、第１算出処理として行う。そして、ロボット制御部２６３は、第１算出処理によって当該回動角を算出した後、ステップＳ１４０に遷移する。
【０１７１】
一方、ロボット制御部２６３は、予め決められた条件が満たされていないと判定した場合（ステップＳ１２０−ＮＯ）、第２算出処理を行う（ステップＳ１６０）。ここで、第２算出処理について説明する。
【０１７２】
ロボット制御部２６３は、ステップＳ１１０において受付部２６１が取得した操作情報と、上記の式（３３）に示した第３運動学モデルとに基づいて、制御入力である式（３４）を計算し、制御点Ｔの速度を、当該操作情報が示す目標速度に一致させた場合における回動角であってロボット１０が備える複数の関節それぞれの回動角を算出する処理を、第２算出処理として行う。ここで、第２算出処理について補足する。ロボット制御部２６３は、第２算出処理において、上記の式（３４）におけるｕσｋｅｒをゼロベクトルにし、且つ、ベース車輪の状態を変化させずに、当該操作情報と当該第３運動学モデルとに基づいて、制御入力である式（３４）を計算し、制御点Ｔの速度を、当該操作情報が示す目標速度に一致させた場合における回動角であってロボット１０が備える複数の関節それぞれの回動角を算出する。そして、ロボット制御部２６３は、第２算出処理によって当該回動角を算出した後、ステップＳ１４０に遷移する。
【０１７３】
ステップＳ１４０において、ロボット制御部２６３は、ロボット１０を動作させる（ステップＳ１４０）。より具体的には、ロボット制御部２６３は、直前に実行された処理がステップＳ１３０の処理であった場合、ステップＳ１３０において算出した回動角に基づいてロボット１０を制御し、ロボット１０を動作させる。この場合、ロボット制御部２６３は、例えば、制御点Ｔの速度を目標速度と一致させながら、ロボット１０に関節限界回避動作を行わせる。一方、ロボット制御部２６３は、直前に実行された処理がステップＳ１６０の処理であった場合、ステップＳ１６０において算出した回動角に基づいてロボット１０を制御し、ロボット１０を動作させる。
【０１７４】
次に、ロボット制御部２６３は、ロボット１０の制御を終了させるか否かを判定する（ステップＳ１５０）。より具体的には、ロボット制御部２６３は、ロボット１０の終了を示す情報を操作装置３０から取得したか否かを判定する。ロボット制御部２６３は、当該情報を操作装置３０から取得していないと判定した場合、ロボット１０の制御を終了させないと判定する（ステップＳ１５０−ＮＯ）。そして、受付部２６１は、ステップＳ１１０に遷移し、操作装置３０から操作情報が取得されるまで再び待機する。一方、ロボット制御部２６３は、当該情報を操作装置３０から取得していると判定した場合、ロボット１０の制御を終了させると判定し（ステップＳ１５０−ＹＥＳ）、処理を終了する。
【０１７５】
なお、図８において説明した処理の流れは、一例に過ぎず、他の処理の流れであってもよい。例えば、ロボット制御部２６３は、ロボット１０を制御している間、常に関節限界回避動作をロボット１０に行わせる構成であってもよい。この場合、予め決められた条件は、例えば、ロボット制御部２６３によってロボット１０の制御が行われていること等である。
【０１７６】
また、ロボット制御部２６３は、予め決められた判定条件に基づく判定の結果に応じて、ベース車輪の状態を変化させるか否か変化させる構成であってもよい。例えば、制御点Ｔの位置及び姿勢を振動によって変化させたくない場合、ベース車輪の状態は、変化しない方が望ましい。このような場合、ロボット制御部２６３は、当該場合に応じた判定条件に基づく判定を行い、当該判定の結果に応じて、ベース車輪の状態を変化させるか否かを決定する。当該判定条件は、例えば、ベース車輪の状態を変化させる要求を、操作装置３０を介してユーザーから受け付けること等である。
【０１７７】
また、ロボット制御部２６３は、ベース第１関節の少なくとも１つの回動角が、第１関節Ｊ１の可動範囲における上限又は下限の角度に達しそうになっているか否かの判定を行い、当該判定の結果に応じて、関節限界回避動作をロボット１０に行わせる構成であってもよい。例えば、ロボット制御部２６３は、当該少なくとも１つの回動角が、予め決められた閾値であって当該角度よりも小さい値を超えた場合、当該少なくとも１つの回動角が、当該角度に達しそうになっていると判定する。当該場合、ロボット制御部２６３は、関節限界回避動作をロボット１０に行わせる。
【０１７８】
以上のようにして、ロボット制御装置２０は、ロボット１０を制御し、ロボット１０にユーザーが所望する動作を行わせることができる。そして、ロボット制御装置２０は、ロボット１０に関節限界回避動作を行わせることができる。その結果、ロボット制御装置２０は、面ＭＮからロボット１０の少なくとも一部を持ち上げられた状態において、ユーザーが所望する動作をロボット１０に行わせることができなくなってしまうことを抑制することができる。
【０１７９】
なお、ロボット制御装置２０は、ロボット１０に関節限界回避動作を行わせる際、複数のベース車輪のうち非接地車輪として面ＭＮに接地していないベース車輪の組み合わせを、勾配法等によって最適化問題を解くことによって決定する構成であってもよい。すなわち、ロボット制御装置２０は、冗長自由度とするために上記の式（１４）から取り除く速度拘束式を、最適化問題を解くことによって決定する構成であってもよい。
【０１８０】
また、上記において説明したロボット１０が１つも車輪部Ｗを備えていない場合、ロボット１０の各第２関節が有する面のうち面ＭＮに接面する面には、車輪部Ｗに代えて、各第２関節Ｊ２が横滑りしないように摩擦係数が高い何らかの部材（例えば、ゴム製の部材等）が設けられている。ここで、ある第２関節Ｊ２が横滑りしないことは、当該第２関節Ｊ２の回動軸に沿った方向に対して当該第２関節が滑らないことを意味する。
【０１８１】
以上説明したように、実施形態に係るロボット制御装置２０は、複数の関節と、関節間を繋ぐリンク部材（この一例において、リンク部材Ｌ）と、複数の車輪（この一例において、車輪部Ｗが備える１対の車輪）とを備えるロボット（この一例において、ロボット１０）であって、複数の関節には、ロボットの姿勢と関節の全てが１直線（この一例において、直線ＣＬ）上に並ぶ姿勢である基準姿勢とが一致している場合において当該１直線と直交する方向のうちの第１方向に平行な回動軸を有する複数の第１関節（この一例において、第１関節Ｊ１）と、当該場合において当該１直線と直交する方向のうちの第１方向と異なる第２方向に平行な回動軸を有する複数の第２関節（この一例において、第２関節Ｊ２）とのそれぞれが含まれており、複数の車輪それぞれの車軸は、当該場合において第２方向と平行である、ロボットを制御し、車輪の少なくとも一部が接地している接地面（この一例において、面ＭＮ）からロボットの一部である第１部位（この一例において、ヘッド部位ＨＢ）が持ち上げられた状態において、予め決められた条件が満たされた場合、ロボットが有する部位のうち接地面から持ち上げられていない部位である第２部位（この一例において、ベース部位）が備える第１関節（この一例において、ベース第１関節）それぞれの回動角を第１関節の可動範囲における上限又は下限の角度よりも小さくする。これにより、ロボット制御装置２０は、接地面からロボットの少なくとも一部が持ち上げられた状態において、ユーザーが所望する動作をロボットに行わせることができなくなってしまうことを抑制することができる。
【０１８２】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【０１８３】
また、以上に説明した装置（例えば、ロボット制御装置２０、操作装置３０等）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating  System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１８４】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１８５】
１…ロボットシステム、１０…ロボット、２０…ロボット制御装置、２１…ＣＰＵ、２２…記憶部、２４…通信部、２６…制御部、３０…操作装置、２６１…受付部、２６３…ロボット制御部、ＢＢ…ベース部位、ＣＬ…直線、Ｅ…エンドエフェクター部、ＨＢ…ヘッド部位、Ｊ１…第１関節、Ｊ２…第２関節、Ｌ…リンク部材、Ｍ…本体部、ＭＮ…面、Ｔ…制御点、Ｗ…車輪部
【図１】
2019084665.tif 000031
【図２】
2019084665.tif 000032
【図３】
2019084665.tif 000033
【図４】
2019084665.tif 000034
【図５】
2019084665.tif 000035
【図６】
2019084665.tif 000036
【図７】
2019084665.tif 000037
【図８】
2019084665.tif 000038