(57)【特許請求の範囲】
【請求項１】
オフセット構造を含み７つの軸を有する垂直多関節ロボットにおける肘の位置を含む前記垂直多関節ロボットの状態の条件、および、前記条件を満たすように前記垂直多関節ロボットを制御する制御情報を対応付けて記憶する記憶部と、
前記肘の位置を含む前記垂直多関節ロボットの状態の条件が入力される入力部と、
前記入力部にて入力された条件と同じ条件に対応付けられて前記記憶部に記憶された前記制御情報に基づいて、前記入力された条件を満たすように前記垂直多関節ロボットを制御するロボット制御部と、
を備え、
前記制御情報は、前記７つの軸のそれぞれの角度の計算手段について、複数通りの前記計算手段の組み合わせの情報を含んでおり、
前記ロボット制御部は、前記複数通りの前記計算手段の組み合わせのうちのいずれか１つの組み合わせを選択して前記垂直多関節ロボットを制御する、
ことを特徴とするロボット制御装置。
【請求項２】
前記肘の位置を含む前記垂直多関節ロボットの状態の条件は、前記垂直多関節ロボットにおける手先の位置および姿勢ならびに肘の位置を指定する条件である、
ことを特徴とする請求項１に記載のロボット制御装置。
【請求項３】
前記制御情報は、前記垂直多関節ロボットの各回転軸および各旋回軸を制御する情報である、
ことを特徴とする請求項１または請求項２に記載のロボット制御装置。
【請求項４】
前記垂直多関節ロボットは、前記垂直多関節ロボットの第１軸と前記垂直多関節ロボットの第２軸との間に前記オフセット構造を含む、
ことを特徴とする請求項１から請求項３のいずれか１項に記載のロボット制御装置。
【請求項５】
前記垂直多関節ロボットは、前記垂直多関節ロボットの第６軸と前記垂直多関節ロボットの第７軸との間に前記オフセット構造を含む、
ことを特徴とする請求項１から請求項３のいずれか１項に記載のロボット制御装置。
【請求項６】
オフセット構造を含み７つの軸を有する垂直多関節ロボットにおける肘の位置を含む前記垂直多関節ロボットの状態の条件、および、前記条件を満たすように前記垂直多関節ロボットを制御する制御情報を対応付けて記憶する記憶部に記憶された前記制御情報を参照して、ロボット制御部が、前記肘の位置を含む前記垂直多関節ロボットの状態の条件が入力される入力部にて入力された条件に応じて、前記入力された条件と同じ条件に対応付けられて前記記憶部に記憶された前記制御情報に基づいて、前記入力された条件を満たすように前記垂直多関節ロボットを制御するステップを有し、
前記制御情報は、前記７つの軸のそれぞれの角度の計算手段について、複数通りの前記計算手段の組み合わせの情報を含んでおり、
前記ロボット制御部は、前記複数通りの前記計算手段の組み合わせのうちのいずれか１つの組み合わせを選択して前記垂直多関節ロボットを制御する、
ことを特徴とするロボット制御方法。
【請求項７】
オフセット構造を含み７つの軸を有する垂直多関節ロボットにおける肘の位置を含む前記垂直多関節ロボットの状態の条件、および、前記条件を満たすように前記垂直多関節ロボットを制御する制御情報を対応付けて記憶する記憶部に記憶された前記制御情報を参照して、ロボット制御部が、前記肘の位置を含む前記垂直多関節ロボットの状態の条件が入力される入力部にて入力された条件に応じて、前記入力された条件と同じ条件に対応付けられて前記記憶部に記憶された前記制御情報に基づいて、前記入力された条件を満たすように前記垂直多関節ロボットを制御する手順を、コンピューターに実行させるためのロボット制御プログラムであって、
前記制御情報は、前記７つの軸のそれぞれの角度の計算手段について、複数通りの前記計算手段の組み合わせの情報を含んでおり、
前記ロボット制御部は、前記複数通りの前記計算手段の組み合わせのうちのいずれか１つの組み合わせを選択して前記垂直多関節ロボットを制御する、
ロボット制御プログラム。
【請求項８】
オフセット構造を含み７つの軸を有する垂直多関節ロボットと、
前記垂直多関節ロボットを制御するロボット制御装置と、
を備え、
前記ロボット制御装置は、
前記垂直多関節ロボットにおける肘の位置を含む前記垂直多関節ロボットの状態の条件、および、前記条件を満たすように前記垂直多関節ロボットを制御する制御情報を対応付けて記憶する記憶部と、
前記肘の位置を含む前記垂直多関節ロボットの状態の条件が入力される入力部と、
前記入力部にて入力された条件と同じ条件に対応付けられて前記記憶部に記憶された前記制御情報に基づいて、前記入力された条件を満たすように前記垂直多関節ロボットを制御するロボット制御部と、
を備え、
前記制御情報は、前記７つの軸のそれぞれの角度の計算手段について、複数通りの前記計算手段の組み合わせの情報を含んでおり、
前記ロボット制御部は、前記複数通りの前記計算手段の組み合わせのうちのいずれか１つの組み合わせを選択して前記垂直多関節ロボットを制御する、
ことを特徴とするロボットシステム。
【請求項９】
オフセット構造を含み７つの軸を有する垂直多関節ロボットにおける肘の位置を含む前記垂直多関節ロボットの状態の条件が入力される入力部と、
前記入力部にて入力された条件を満たすように前記垂直多関節ロボットを制御するロボット制御部と、
を備え、
前記ロボット制御部は、前記７つの軸のそれぞれの角度の計算手段に関する複数通りの前記計算手段の組み合わせのうちのいずれか１つの組み合わせを選択して前記垂直多関節ロボットを制御する、
ことを特徴とするロボット制御装置。
【請求項１０】
ロボット制御部が、オフセット構造を含み７つの軸を有する垂直多関節ロボットにおける肘の位置を含む前記垂直多関節ロボットの状態の条件が入力される入力部にて入力された条件を満たすように前記垂直多関節ロボットを制御するステップを有し、
前記ロボット制御部は、前記７つの軸のそれぞれの角度の計算手段に関する複数通りの前記計算手段の組み合わせのうちのいずれか１つの組み合わせを選択して前記垂直多関節ロボットを制御する、
ことを特徴とするロボット制御方法。
【請求項１１】
ロボット制御部が、オフセット構造を含み７つの軸を有する垂直多関節ロボットにおける肘の位置を含む前記垂直多関節ロボットの状態の条件が入力される入力部にて入力された条件を満たすように前記垂直多関節ロボットを制御する手順を、コンピューターに実行させるためのロボット制御プログラムであって、
前記ロボット制御部は、前記７つの軸のそれぞれの角度の計算手段に関する複数通りの前記計算手段の組み合わせのうちのいずれか１つの組み合わせを選択して前記垂直多関節ロボットを制御する、
ロボット制御プログラム。
【請求項１２】
オフセット構造を含み７つの軸を有する垂直多関節ロボットと、
前記垂直多関節ロボットを制御するロボット制御装置と、
を備え、
前記ロボット制御装置は、
前記垂直多関節ロボットにおける肘の位置を含む前記垂直多関節ロボットの状態の条件が入力される入力部と、
前記入力部にて入力された条件を満たすように前記垂直多関節ロボットを制御するロボット制御部と、を備え、
前記ロボット制御部は、前記７つの軸のそれぞれの角度の計算手段に関する複数通りの前記計算手段の組み合わせのうちのいずれか１つの組み合わせを選択して前記垂直多関節ロボットを制御する、
ことを特徴とするロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置、ロボット制御方法およびロボット制御プログラムならびにロボットシステムに関する。
【背景技術】
【０００２】
ロボットの手先を任意の位置および姿勢に制御するためには、ロボットは少なくとも６つの軸を含む必要がある。さらに、ロボットの手先を任意の位置および姿勢に制御した状態で、特異点や障害物の回避などをさせるためには、ロボットは少なくとも７つの軸を含む必要がある。
【０００３】
特許文献１には、７つの軸を含むロボットの制御方法として、特異点を回避するために回転させる冗長軸とその回転量を、反復法を用いて数値的に求める制御方法が開示されている（特許文献１参照。）。
【０００４】
特許文献２には、７つの軸を含むロボットの制御方法として、７つの軸のうちの少なくとも１つの軸を、特異点を回避するための軸として自動で選択することで、６軸のロボットと見なし、そして、手先の位置および姿勢に対応する関節角度を定義する逆運動学による解を解析的に求めることで、計算量を減らしてロボットを高速に動作させる制御方法が開示されている（特許文献２参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１９３３１１号公報
【特許文献２】特開平７−１３２４７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載されたロボットの制御方法では、反復法を用いているために、計算量が多く、高速に動作させることが難しいという問題があった。
また、特許文献２に記載されたロボットの制御方法では、肘に相当する位置を明示的に指定することができず、直感的に障害物を回避させる動作の指示を行うことができないという問題があった。また、特許文献２に記載されたロボットの制御方法では、例えば第１軸と第２軸との間などにオフセット構造を含むロボットにおいては、肩に相当する軸を定義することができないため、適用することができないという問題があった。
【０００７】
本発明は、前記の点に鑑みてなされたものであり、オフセット構造を含み７つの軸を有する垂直多関節ロボットを、肘の位置を明示的に指定して、制御することが可能なロボット制御装置、ロボット制御方法およびロボット制御プログラムならびにロボットシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、上記の課題を解決するためになされたものであり、オフセット構造を含み７つの軸を有する垂直多関節ロボットにおける肘の位置を含む前記垂直多関節ロボットの状態の条件、および、前記条件を満たすように前記垂直多関節ロボットを制御する制御情報を対応付けて記憶する記憶部と、前記肘の位置を含む前記垂直多関節ロボットの状態の条件が入力される入力部と、前記入力部にて入力された条件と同じ条件に対応付けられて前記記憶部に記憶された前記制御情報に基づいて、前記入力された条件を満たすように前記垂直多関節ロボットを制御するロボット制御部と、を備え、前記制御情報は、前記７つの軸のそれぞれの角度の計算手段について、複数通りの前記計算手段の組み合わせの情報を含んでおり、前記ロボット制御部は、前記複数通りの前記計算手段の組み合わせのうちのいずれか１つの組み合わせを選択して前記垂直多関節ロボットを制御する、ことを特徴とするロボット制御装置である。
【０００９】
この構成により、ロボット制御部は、オフセット構造を含み７つの軸を有する垂直多関節ロボット（以下、単に「ロボット」とも言う）について、肘の位置を含む状態の条件の指示に応じて、その条件を満たすように前記垂直多関節ロボットを制御する。これにより、ロボット制御装置は、オフセット構造を含み７つの軸を有する垂直多関節ロボットを、肘の位置を明示的に指定して、制御することが可能である。
【００１０】
また、本発明は、前記肘の位置を含む前記垂直多関節ロボットの状態の条件は、前記垂直多関節ロボットにおける手先の位置および姿勢ならびに肘の位置を指定する条件である、ことを特徴とするロボット制御装置である。
【００１１】
この構成により、ロボット制御部は、オフセット構造を含み７つの軸を有する垂直多関節ロボットについて、手先の位置および姿勢ならびに肘の位置を指定する条件の指示に応じて、その条件を満たすように前記垂直多関節ロボットを制御する。これにより、ロボット制御装置は、オフセット構造を含み７つの軸を有する垂直多関節ロボットを、肘の位置を明示的に指定して、制御することが可能である。
【００１２】
また、本発明は、前記制御情報は、前記垂直多関節ロボットの各回転軸および各旋回軸を制御する情報である、ことを特徴とするロボット制御装置である。
【００１３】
この構成により、ロボット制御部は、オフセット構造を含み７つの軸を有する垂直多関節ロボットについて、肘の位置を含む状態の条件の指示に応じて、その条件を満たすように、前記垂直多関節ロボットの各回転軸および各旋回軸を制御する。これにより、ロボット制御装置は、オフセット構造を含み７つの軸を有する垂直多関節ロボットを、肘の位置を明示的に指定して、制御することが可能である。
【００１４】
また、本発明は、前記垂直多関節ロボットは、前記垂直多関節ロボットの第１軸と前記垂直多関節ロボットの第２軸との間に前記オフセット構造を含む、ことを特徴とするロボット制御装置である。
【００１５】
この構成により、ロボット制御部は、第１軸と第２軸との間にオフセット構造を含み７つの軸を有する垂直多関節ロボットについて、肘の位置を含む状態の条件の指示に応じて、その条件を満たすように前記垂直多関節ロボットを制御する。これにより、ロボット制御装置は、オフセット構造を含み７つの軸を有する垂直多関節ロボットを、肘の位置を明示的に指定して、制御することが可能である。
【００１６】
また、本発明は、前記垂直多関節ロボットは、前記垂直多関節ロボットの第６軸と前記垂直多関節ロボットの第７軸との間に前記オフセット構造を含む、ことを特徴とするロボット制御装置である。
【００１７】
この構成により、ロボット制御部は、第６軸と第７軸との間にオフセット構造を含み７つの軸を有する垂直多関節ロボットについて、肘の位置を含む状態の条件の指示に応じて、その条件を満たすように前記垂直多関節ロボットを制御する。これにより、ロボット制御装置は、オフセット構造を含み７つの軸を有する垂直多関節ロボットを、肘の位置を明示的に指定して、制御することが可能である。
【００１８】
また、本発明は、オフセット構造を含み７つの軸を有する垂直多関節ロボットにおける肘の位置を含む前記垂直多関節ロボットの状態の条件、および、前記条件を満たすように前記垂直多関節ロボットを制御する制御情報を対応付けて記憶する記憶部に記憶された前記制御情報を参照して、ロボット制御部が、前記肘の位置を含む前記垂直多関節ロボットの状態の条件が入力される入力部にて入力された条件に応じて、前記入力された条件と同じ条件に対応付けられて前記記憶部に記憶された前記制御情報に基づいて、前記入力された条件を満たすように前記垂直多関節ロボットを制御するステップを有し、前記制御情報は、前記７つの軸のそれぞれの角度の計算手段について、複数通りの前記計算手段の組み合わせの情報を含んでおり、前記ロボット制御部は、前記複数通りの前記計算手段の組み合わせのうちのいずれか１つの組み合わせを選択して前記垂直多関節ロボットを制御する、ことを特徴とするロボット制御方法である。
【００１９】
この方法により、ロボット制御部は、オフセット構造を含み７つの軸を有する垂直多関節ロボットについて、肘の位置を含む状態の条件の指示に応じて、その条件を満たすように前記垂直多関節ロボットを制御する。これにより、ロボット制御装置は、オフセット構造を含み７つの軸を有する垂直多関節ロボットを、肘の位置を明示的に指定して、制御することが可能である。
【００２０】
また、本発明は、オフセット構造を含み７つの軸を有する垂直多関節ロボットにおける肘の位置を含む前記垂直多関節ロボットの状態の条件、および、前記条件を満たすように前記垂直多関節ロボットを制御する制御情報を対応付けて記憶する記憶部に記憶された前記制御情報を参照して、ロボット制御部が、前記肘の位置を含む前記垂直多関節ロボットの状態の条件が入力される入力部にて入力された条件に応じて、前記入力された条件と同じ条件に対応付けられて前記記憶部に記憶された前記制御情報に基づいて、前記入力された条件を満たすように前記垂直多関節ロボットを制御する手順を、コンピューターに実行させるためのロボット制御プログラムであって、前記制御情報は、前記７つの軸のそれぞれの角度の計算手段について、複数通りの前記計算手段の組み合わせの情報を含んでおり、前記ロボット制御部は、前記複数通りの前記計算手段の組み合わせのうちのいずれか１つの組み合わせを選択して前記垂直多関節ロボットを制御する、ロボット制御プログラムである。
【００２１】
このプログラムにより、ロボット制御部は、オフセット構造を含み７つの軸を有する垂直多関節ロボットについて、肘の位置を含む状態の条件の指示に応じて、その条件を満たすように前記垂直多関節ロボットを制御する。これにより、ロボット制御装置は、オフセット構造を含み７つの軸を有する垂直多関節ロボットを、肘の位置を明示的に指定して、制御することが可能である。
【００２２】
また、本発明は、オフセット構造を含み７つの軸を有する垂直多関節ロボットと、前記垂直多関節ロボットを制御するロボット制御装置と、を備え、前記ロボット制御装置は、前記垂直多関節ロボットにおける肘の位置を含む前記垂直多関節ロボットの状態の条件、および、前記条件を満たすように前記垂直多関節ロボットを制御する制御情報を対応付けて記憶する記憶部と、前記肘の位置を含む前記垂直多関節ロボットの状態の条件が入力される入力部と、前記入力部にて入力された条件と同じ条件に対応付けられて前記記憶部に記憶された前記制御情報に基づいて、前記入力された条件を満たすように前記垂直多関節ロボットを制御するロボット制御部と、を備え、前記制御情報は、前記７つの軸のそれぞれの角度の計算手段について、複数通りの前記計算手段の組み合わせの情報を含んでおり、前記ロボット制御部は、前記複数通りの前記計算手段の組み合わせのうちのいずれか１つの組み合わせを選択して前記垂直多関節ロボットを制御する、ことを特徴とするロボットシステムである。
【００２３】
このシステムにより、ロボット制御装置のロボット制御部は、オフセット構造を含み７つの軸を有する垂直多関節ロボットについて、肘の位置を含む状態の条件の指示に応じて、その条件を満たすように前記垂直多関節ロボットを制御する。これにより、ロボット制御装置は、オフセット構造を含み７つの軸を有する垂直多関節ロボットを、肘の位置を明示的に指定して、制御することが可能である。
【００２４】
また、本発明は、オフセット構造を含み７つの軸を有する垂直多関節ロボットにおける肘の位置を含む前記垂直多関節ロボットの状態の条件が入力される入力部と、前記入力部にて入力された条件を満たすように前記垂直多関節ロボットを制御するロボット制御部と、を備え、前記ロボット制御部は、前記７つの軸のそれぞれの角度の計算手段に関する複数通りの前記計算手段の組み合わせのうちのいずれか１つの組み合わせを選択して前記垂直多関節ロボットを制御する、ことを特徴とするロボット制御装置である。
【００２５】
この構成により、ロボット制御部は、オフセット構造を含み７つの軸を有する垂直多関節ロボットについて、肘の位置を含む状態の条件の指示に応じて、その条件を満たすように前記垂直多関節ロボットを制御する。これにより、ロボット制御装置は、オフセット構造を含み７つの軸を有する垂直多関節ロボットを、肘の位置を明示的に指定して、制御することが可能である。
【００２６】
また、本発明は、ロボット制御部が、オフセット構造を含み７つの軸を有する垂直多関節ロボットにおける肘の位置を含む前記垂直多関節ロボットの状態の条件が入力される入力部にて入力された条件を満たすように前記垂直多関節ロボットを制御するステップを有し、前記ロボット制御部は、前記７つの軸のそれぞれの角度の計算手段に関する複数通りの前記計算手段の組み合わせのうちのいずれか１つの組み合わせを選択して前記垂直多関節ロボットを制御する、ことを特徴とするロボット制御方法である。
【００２７】
この方法により、ロボット制御部は、オフセット構造を含み７つの軸を有する垂直多関節ロボットについて、肘の位置を含む状態の条件の指示に応じて、その条件を満たすように前記垂直多関節ロボットを制御する。これにより、ロボット制御装置は、オフセット構造を含み７つの軸を有する垂直多関節ロボットを、肘の位置を明示的に指定して、制御することが可能である。
【００２８】
また、本発明は、ロボット制御部が、オフセット構造を含み７つの軸を有する垂直多関節ロボットにおける肘の位置を含む前記垂直多関節ロボットの状態の条件が入力される入力部にて入力された条件を満たすように前記垂直多関節ロボットを制御する手順を、コンピューターに実行させるためのロボット制御プログラムであって、前記ロボット制御部は、前記７つの軸のそれぞれの角度の計算手段に関する複数通りの前記計算手段の組み合わせのうちのいずれか１つの組み合わせを選択して前記垂直多関節ロボットを制御する、ロボット制御プログラムである。
【００２９】
このプログラムにより、ロボット制御部は、オフセット構造を含み７つの軸を有する垂直多関節ロボットについて、肘の位置を含む状態の条件の指示に応じて、その条件を満たすように前記垂直多関節ロボットを制御する。これにより、ロボット制御装置は、オフセット構造を含み７つの軸を有する垂直多関節ロボットを、肘の位置を明示的に指定して、制御することが可能である。
【００３０】
また、本発明は、オフセット構造を含み７つの軸を有する垂直多関節ロボットと、前記垂直多関節ロボットを制御するロボット制御装置と、を備え、前記ロボット制御装置は、前記垂直多関節ロボットにおける肘の位置を含む前記垂直多関節ロボットの状態の条件が入力される入力部と、前記入力部にて入力された条件を満たすように前記垂直多関節ロボットを制御するロボット制御部と、を備え、前記ロボット制御部は、前記７つの軸のそれぞれの角度の計算手段に関する複数通りの前記計算手段の組み合わせのうちのいずれか１つの組み合わせを選択して前記垂直多関節ロボットを制御する、ことを特徴とするロボットシステムである。
【００３１】
このシステムにより、ロボット制御部は、オフセット構造を含み７つの軸を有する垂直多関節ロボットについて、肘の位置を含む状態の条件の指示に応じて、その条件を満たすように前記垂直多関節ロボットを制御する。これにより、ロボット制御装置は、オフセット構造を含み７つの軸を有する垂直多関節ロボットを、肘の位置を明示的に指定して、制御することが可能である。
【００３２】
以上のように、本発明によれば、ロボット制御装置は、オフセット構造を含み７つの軸を有する垂直多関節ロボットについて、肘の位置を含む状態の条件の指示に応じて、その条件を満たすように前記垂直多関節ロボットを制御する。これにより、ロボット制御装置は、オフセット構造を含み７つの軸を有する垂直多関節ロボットを、肘の位置を明示的に指定して、制御することが可能である。
【図面の簡単な説明】
【００３３】
【図１】本発明の一実施形態に係るロボット制御装置を含むロボットシステムの構成例を示す概略ブロック図である。
【図２】第１実施形態に係るオフセット構造を有する７軸のロボットの構成例を示す概略ブロック図である。
【図３】変数であるオフセット角度値δを示す図である。
【図４】第２実施形態に係るオフセット構造を有する７軸のロボットの構成例を示す概略ブロック図である。
【図５】本発明の実施形態の変形例に係るロボットシステムの外観例を示す図である。
【図６】逆運動学における計算手順を説明するための図である。
【発明を実施するための形態】
【００３４】
［第１実施形態］
本発明の第１実施形態について図面を参照して詳細に説明する。
図１は、本発明の一実施形態に係るロボット制御装置１００１を含むロボットシステムの構成例を示す概略ブロック図である。
本実施形態に係るロボットシステムは、ロボット制御装置１００１と、ロボット１００２と、ケーブル１００３と、を備える。
【００３５】
ロボット制御装置１００１とロボット１００２とは、有線のケーブル１００３を介して、通信することが可能に接続されている。なお、有線のケーブル１００３の代わりに、無線の回線が用いられてもよい。
【００３６】
ロボット制御装置１００１は、制御部１０１１と、記憶部１０１２と、入力部１０１３と、出力部１０１４と、を備える。
制御部１０１１は、ロボット制御部１０２１を備える。
【００３７】
入力部１０１３は、例えば、ユーザー（人）により操作されるキーボードやマウスなどを用いて構成され、ユーザーにより操作された内容を受け付ける。
出力部１０１４は、例えば、情報を表示する液晶画面などを用いて構成され、ユーザーに対して各種の情報を表示出力する。
記憶部１０１２は、各種の情報を記憶する。記憶部１０１２は、例えば、制御部１０１１により使用されるプログラムの情報や、各種の処理で使用される数値などの情報を記憶する。
【００３８】
制御部１０１１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などを用いて構成され、ロボット制御装置１００１における各種の処理を制御する。制御部１０１１は、例えば、入力部１０１３により受け付けられたユーザーによる操作の内容に応じた処理を実行する機能、各種の情報を出力部１０１２の画面に表示させる機能、記憶部１０１２に記憶された情報を読み取る機能および記憶部１０１２に情報を書き込む（記憶させる）機能を有する。
【００３９】
ロボット制御部１０２１は、制御部１０１１が有する機能の一部に相当する。
ロボット制御部１０２１は、ケーブル１００３を介して、制御のための信号（制御信号）をロボット１００２に送信することで、ロボット１００２を制御する。
また、ロボット制御部１０２１は、ロボット１００２から送信される信号を、ケーブル１００３を介して、受信することも可能である。
【００４０】
本実施形態では、ロボット１００２として、垂直多関節ロボットの一例であるマニピュレーターを用いている。
ロボット１００２は、ロボット制御装置１００１のロボット制御部１０２１から送信される制御信号を、ケーブル１００３を介して、受信し、受信した制御信号により制御される。
また、ロボット１００２は、自己の状態などを示す信号を、ケーブル１００３を介して、ロボット制御装置１００１のロボット制御部１０２１に送信する機能を有してもよい。
【００４１】
ここで、ロボット１００２としては、具体的には、様々なものに適用されてもよい。例えば、ロボット１００２として、産業用のロボットを構成することができるばかりでなく、宇宙用途や遊具など、様々な分野のロボットに適用することが可能である。
【００４２】
図２は、本実施形態に係るオフセット構造を有する７軸（７自由度）のロボット１００２の構成例を示す概略ブロック図である。
本実施形態に係るロボット１００２は、ベースａ０と、第１関節に相当する回転軸Ａ１と、第１のリンクａ１と、第２関節に相当する旋回軸Ａ２と、第２のリンクａ２と、第３関節に相当する回転軸Ａ３と、第３のリンクａ３と、第４関節に相当する旋回軸Ａ４と、第４のリンクａ４と、第５関節に相当する回転軸Ａ５と、第５のリンクａ５と、第６関節に相当する旋回軸Ａ６と、第６のリンクａ６と、第７関節に相当する回転軸Ａ７と、第７のリンクａ７と、手先１２と、を接続して構成される。
【００４３】
第１関節、第２関節および第３関節で、肩の部分が構成されている。
第４関節で、肘の部分が構成されている。
第５関節、第６関節および第７関節で、手首の部分が構成されている。
本実施形態では、肩の根元から手先１２までを含む部分を「アーム」とする。
【００４４】
ここで、ベースａ０および各リンクａ１〜ａ７は、固定的に設けられている。
また、ベースａ０、第２のリンクａ２、第３のリンクａ３、第４のリンクａ４、第５のリンクａ５、第６のリンクａ６、第７のリンクａ７は、直線状である。
また、本実施形態では、第１のリンクａ１は、１箇所で略９０度に折れ曲がった形状を有している。この部分が、オフセット構造を有するオフセット部１１である。オフセット構造とは、隣り合う回転軸と旋回軸の回転中心軸線が互いに交わらない構造のことである。上述した構成のように、９０度に折れ曲がった形状には限られない。
【００４５】
各回転軸Ａ１、Ａ３、Ａ５、Ａ７は、図２において上下に接続されるリンクを結ぶ直線を中心軸として、回転することが可能である。
各旋回軸Ａ２、Ａ４、Ａ６は、図２において表から裏への直線（または、裏から表への直線）を中心軸として、旋回（回転）することが可能である。
なお、各回転軸Ａ１、Ａ３、Ａ５、Ａ７の中心軸（回転軸）に対して、各旋回軸Ａ２、Ａ４、Ａ６の中心軸（旋回軸）は、直交する。
【００４６】
これら各回転軸Ａ１、Ａ３、Ａ５、Ａ７および各旋回軸Ａ２、Ａ４、Ａ６の角度（７つの角度）が全て決められると、ロボット１００２の全体的な状態が決められる。
ここで、ロボット１００２を制御する変数（パラメーター）としては、必ずしもこれら７つの角度でなくてもよく、これら７つの角度の全てを直接または間接に特定することができる任意の変数を用いることができる。
【００４７】
本実施形態では、ロボット１００２の手先１２の位置および姿勢（６つの変数）の指示と、肘に相当する位置（１つの変数）の指示とから、これらに合致するように、ロボット１００２の各回転軸Ａ１、Ａ３、Ａ５、Ａ７および各旋回軸Ａ２、Ａ４、Ａ６の角度を制御する制御方法を用いる。
【００４８】
ここで、本実施形態に係るオフセット構造を含む垂直多関節ロボットでは、人間と同じように７つの関節を有する。そして、第４関節で、肘の部分が構成されている。本実施形態では、このように垂直多関節ロボットにおいて人間の肘に相当する位置を、当該垂直多関節ロボットにおける肘の位置とみなす。
【００４９】
具体的には、ロボット制御装置１００１では、あらかじめ、記憶部１０１２に、ロボット１００２の手先１２の位置および姿勢の指示ならびに肘に相当する位置の指示に合う垂直多関節ロボットの状態の条件と、当該条件に合致するようにロボット１００２の各回転軸Ａ１、Ａ３、Ａ５、Ａ７および各旋回軸Ａ２、Ａ４、Ａ６の角度を制御する情報（制御情報）とが対応付けられて記憶されている。
ロボット制御部１０２１は、記憶部１０１２に記憶された前記制御情報に基づいて、ロボット１００２の手先１２の位置および姿勢の指示と、肘に相当する位置の指示に応じて、これらの指示に合う垂直多関節ロボットの状態の条件に合致するように、ロボット１００２の各回転軸Ａ１、Ａ３、Ａ５、Ａ７および各旋回軸Ａ２、Ａ４、Ａ６の角度を制御する。
【００５０】
なお、一例として、記憶部１０１２には、垂直多関節ロボットの複数の異なる状態のそれぞれについて、垂直多関節ロボットの状態の条件と、当該条件に合致するようにロボット１００２を制御する情報（制御情報）とが対応付けられて記憶される。そして、ロボット制御部１０２１は、記憶部１０１２に記憶された制御情報の群の中から、指示に応じた垂直多関節ロボットの状態の条件に合致する制御情報を選択して、選択した制御情報をロボット１００２の制御に使用する。
【００５１】
ここで、ロボット１００２の手先１２の位置および姿勢の指示と、肘に相当する位置の指示は、一例として、入力部１０１３によりユーザーから受け付ける。これにより、入力部１０１３は、このような指示に合う垂直多関節ロボットの状態の条件をユーザーから受け付けることになる。  このような指示は、例えば、数値を用いて受け付けてもよく、または、ロボット１００２を操作するためのハンドルなどを入力部１０１３に備えて、ユーザーにより操作される当該ハンドルなどの動きに基づいて受け付けてもよい。
【００５２】
また、他の例として、ロボット１００２の手先１２の位置および姿勢の指示と、肘に相当する位置の指示について、その一部または全部の指示をロボット制御装置１００１により自動的に取得してもよい。具体的には、ロボット制御装置１００１において、例えば、ロボット１００２により行われる作業の対象となる部品などの位置などをセンサーにより検出して、その検出結果に基づいて、ロボット１００２の手先１２の位置および姿勢の指示と、肘に相当する位置の指示のうちの一部または全部を生成することができる。
【００５３】
ここで、逆運動学により、ロボット１００２の手先１２の位置および姿勢と、肘に相当する位置とから、ロボット１００２の全体的な状態を解析的に計算して決定することができる。
このような逆運動学における計算の手順（逆運動学における計算手順１）〜（逆運動学における計算手順４）の概要を説明する。
【００５４】
本実施形態では、ベース座標は、直交右手座標系であるＸＹＺ座標系の座標（ｘ、ｙ、ｚ）で表される。また、手先１２の位置ベクトルｐ（ｐは図および数式ではベクトルを表す矢印を付してある、以下も同様）を、ベース座標におけるＸ軸、Ｙ軸およびＺ軸の位置で指定する。
手先１２の姿勢を、第７軸の回転軸と向きが等しい単位ベクトルｂ（ｂは図および数式ではベクトルを表す矢印を付してある、以下も同様）と、ベクトルｂと直交する単位ベクトルｎ（ｎは図および数式ではベクトルを表す矢印を付してある、以下も同様）と、ベクトルｂおよびベクトルｎと直交して、それらと右手座標系を構成する単位ベクトルｔ（ｔは図ではベクトルを表す矢印を付してある、以下も同様）とで表す。
さらに、ロボット１００２（本実施形態では、マニピュレーター）の全体の姿勢を指定する変数（角度の値）であるオフセット角度値δを指定する。このオフセット角度値δは、肘に相当する位置を指定するものである。
そして、手先１２の位置および姿勢と、オフセット角度値δとから、各関節の角度を計算する。
【００５５】
以下で図６を参照して計算手順を詳しく説明する。図６において、Ｌ０、Ｌ１、Ｌ２、Ｌ３、Ｌ４、Ｌ５、Ｌ６及びＬ７は関節と関節及び関節と手先を接続するリンクである。又、Ｊ１、Ｊ２、Ｊ３、Ｊ４、Ｊ５、Ｊ６及びＪ７は上記リンク回転を運動させる関節である。更に、ａ１は第１関節Ｊ１の回転軸の延長線から、第２関節Ｊ２の回転軸の中心に下ろした垂線の長さであり、ｄ１は第１関節Ｊ１の回転軸の延長線と、第２関節Ｊ２の回転軸の中心から第１関節Ｊ１の回転軸の延長線に下ろした垂線との交点と、原点との距離であり、ｄ３は第２関節Ｊ２と第４関節Ｊ４との距離であり、ｄ５は第４関節Ｊ４と第６関節Ｊ６との距離であり、ｄ７は第６関節Ｊ６から手先１２までの距離である。
ここで、図６に示したように手先１２の位置ベクトルｐが、式（１）で表されるものであって、ベクトルｎ、ベクトルｔおよびベクトルｂが所定の姿勢の時の各関節角度を０度とする。
【００５６】
【数１】
0005948932.tif 000002
【００５７】
（逆運動学における計算手順１）
最初に、第６関節の中心を手首と定義し、指定された手先１２の位置と、手先１２と第６関節Ｊ６との相対的な位置及び姿勢から、ベース座標における手首の位置ベクトルｗ（ｗは図および数式ではベクトルを表す矢印を付してある、以下も同様）を式（２）により計算する。
【００５８】
【数２】
0005948932.tif 000003
【００５９】
次に、計算した手首の位置のｘ成分、ｙ成分からＸ軸と成す角度を求め、それにオフセット角度値δを加えて第１関節の角度を式（３）により計算する。
ここで、幾何学的な対称性から、式（４）も第１関節Ｊ１の角度とすることが出来る。そこで、実際の制御においては、適宜選択してロボットへ指令する。
【００６０】
【数３】
0005948932.tif 000004
【００６１】
【数４】
0005948932.tif 000005
【００６２】
（逆運動学における計算手順２）
求めた第１関節の角度を用いて、第１関節Ｊ１の角度が０度で、第２関節Ｊ２の中心を原点とした場合における手首の位置ベクトルｗ’（ｗ’は図および数式ではベクトルを表す矢印を付してある、以下も同様）を式（５）により計算する。
【００６３】
【数５】
0005948932.tif 000006
【００６４】
次に、計算した手首の位置ｗ’を再現するように、第２関節Ｊ２、第３関節Ｊ３および第４関節Ｊ４の角度を計算する。
まず第４関節Ｊ４の角度はベクトルｗ’とｄ３及びｄ５が三角形を形成することを条件として式（６）により求める。
【００６５】
【数６】
0005948932.tif 000007
【００６６】
次に第２関節Ｊ２の角度は、式（７）として、第４関節Ｊ４の角度を用いて、式（８）と与えられる。
【００６７】
【数７】
0005948932.tif 000008
【００６８】
【数８】
0005948932.tif 000009
【００６９】
更に第３関節Ｊ３の角度は、第２関節Ｊ２の角度を用いて、式（９）と与えられる。
【００７０】
【数９】
0005948932.tif 000010
【００７１】
又、θ２、θ３及びθ４について、幾何学的な対称性から式（１０）〜式（１２）、式（１３）〜式（１５）、式（１６）〜式（１８）も第２関節Ｊ２、第３関節Ｊ３及び第４関節Ｊ４の関節角度とすることが出来る。そこで、実際の制御においては、適宜選択してロボットへ指令する。
【００７２】
【数１０】
0005948932.tif 000011
【００７３】
【数１１】
0005948932.tif 000012
【００７４】
【数１２】
0005948932.tif 000013
【００７５】
【数１３】
0005948932.tif 000014
【００７６】
【数１４】
0005948932.tif 000015
【００７７】
【数１５】
0005948932.tif 000016
【００７８】
【数１６】
0005948932.tif 000017
【００７９】
【数１７】
0005948932.tif 000018
【００８０】
【数１８】
0005948932.tif 000019
【００８１】
（逆運動学における計算手順３）
求めた第１関節Ｊ１、第２関節Ｊ２、第３関節Ｊ３および第４関節Ｊ４の角度を用いて、第１関節Ｊ１、第２関節Ｊ２、第３関節Ｊ３および第４関節Ｊ４の角度が０度で、第６関節Ｊ６の中心を原点とした場合の手先１２の位置を式（１９）により計算する。
【００８２】
【数１９】
0005948932.tif 000020
【００８３】
次に、計算した手先１２のｙおよびｚ成分から第５関節Ｊ５の角度を式（２０）により計算し、ｘ、ｙおよびｚ成分から第６関節Ｊ６の角度を式（２１）により計算する。
【００８４】
【数２０】
0005948932.tif 000021
【００８５】
【数２１】
0005948932.tif 000022
【００８６】
又、θ５及びθ６について、幾何学的な対称性から式（２２）〜式（２３）も第５関節Ｊ５及び第６関節Ｊ６の関節角度とすることが出来る。そこで、実際の制御においては、適宜選択してロボットへ指令する。
【００８７】
【数２２】
0005948932.tif 000023
【００８８】
【数２３】
0005948932.tif 000024
【００８９】
（逆運動学における計算手順４）
求めた第１関節Ｊ１、第２関節Ｊ２、第３関節Ｊ３、第４関節Ｊ４、第５関節Ｊ５および第６関節Ｊ６の角度を用いて、第７関節Ｊ７が０度の時の単位ベクトルｎ０（ｎ０は数式ではベクトルを表す矢印を付してある、以下も同様）を式（２４）により計算する。
【００９０】
【数２４】
0005948932.tif 000025
【００９１】
式（２４）において、ｓ１はｓｉｎθ１、ｃ１はｃｏｓθ１、ｓ２はｓｉｎθ２、ｃ２はｃｏｓθ２、ｓ３はｓｉｎθ３、ｃ３はｃｏｓθ３、ｓ４はｓｉｎθ４、ｃ４はｃｏｓθ４、ｓ５はｓｉｎθ５、ｃ５はｃｏｓθ５、ｓ６はｓｉｎθ６、ｃ６はｃｏｓθ６の略記である。又、式（２４）は順運動学から求められる。
次に、計算したベクトルｎ０と、指定されたベクトルｎとの外積を式（２５）により求めて、それと指定されたベクトルｂとの式（２６）による内積の正負から、その回転方向を判別する。
【００９２】
【数２５】
0005948932.tif 000026
【００９３】
【数２６】
0005948932.tif 000027
【００９４】
最後に先ほど計算したベクトルｎ０と、指定されたベクトルｎとの式（２７）による内積からそれらの成す角を求めて、式（２８）により、第７関節Ｊ７の角度とする。
【００９５】
【数２７】
0005948932.tif 000028
【００９６】
【数２８】
0005948932.tif 000029
【００９７】
又、θ７について、幾何学的な対称性から式（２９）も第７関節Ｊ７の関節角度とすることが出来る。そこで、実際の制御においては、適宜選択してロボットへ指令する。
【００９８】
【数２９】
0005948932.tif 000030
【００９９】
以上のようにして、逆運動学により、ロボット１００２の手先１２の位置および姿勢と、肘に相当する位置（オフセット角度値δ）とから、表１に示す１６通りのロボット１００２の全体的な状態を解析的に計算して決定することができる。
【０１００】
【表１】
0005948932.tif 000031
【０１０１】
実際の制御においては、表１に示した１６通りの関節角度から、関節の可動範囲や障害物とロボットの位置関係等を考慮して適宜選択してロボットへ指令する。尚、ここで示した計算手順は一例であり、場合分けと三角関数の逆余弦、逆正弦、逆正接のいずれを用いて関節角度を求めるかは上述の手順に限られない。
【０１０２】
なお、このような逆運動学による計算は、例えば、ロボット制御部１０２１がロボット１００２を制御するたびに行ってもよいが、通常は制御するたびに逆運動学計算を行うが、あらかじめ計算しておいてメモリーに記憶させておき、制御するたびにその結果を読み出しても良い。
一例として、逆運動学による解析式などをあらかじめオフラインで求めておいて記憶部１０１２に記憶させておき、ロボット制御部１０２１がその解析式などを使用して各関節の角度を計算することができる。
【０１０３】
図３は、変数であるオフセット角度値δを示す図である。
図３に示されるＸＹＺ座標系は、ベース座標の座標系である。
図３において、点２０１（図３の例では、原点Ｏ）は、ロボット１００２を構成するベースａ０の根元の点を表す。
図３において、点２０２は、ロボット１００２を構成する手首を表す。
【０１０４】
図３において、ロボットの状態１０１は、点２０１と点２０２を固定した場合に、オフセットがないとしたときにおけるロボットの状態を表す。このとき、第１関節の角度はθ１である。
図３において、ロボットの状態１０２は、点２０１と点２０２を固定した場合に、オフセット角度値δがあるとしたときにおけるロボットの状態を表す。このとき、第１関節の角度は（θ１＋δ）となる。
【０１０５】
本実施形態では、原点と第４軸（旋回軸Ａ４）とを結ぶ直線をベース座標に射影した直線と、原点と第６軸（旋回軸Ａ６）とを結ぶ直線をベース座標に射影した直線とが成す角δを、肘に相当する第４軸（旋回軸Ａ４）の位置を明示的に指定する変数（オフセット角度値δ）として使用する。
なお、本実施形態では、肘に相当する位置（肘の位置）を指定する変数として、オフセット角度値δを用いるが、例えば、同様なものが間接的に特定されれば、他の方法で定義される変数が用いられてもよい。
【０１０６】
以上のように、本実施形態に係るロボットシステムのロボット制御装置１００１では、第１軸（回転軸Ａ１）と第２軸（旋回軸Ａ２）との間にオフセット構造（オフセット部１１）を含む７軸のロボット１００２について、ロボット１００２の手先１２の位置および姿勢ならびに肘に相当する位置（オフセット角度値δ）の指示に合う垂直多関節ロボットの状態の条件と、当該条件に合致するようにロボット１００２の全体的な状態（本実施形態では、ロボット１００２の各回転軸Ａ１、Ａ３、Ａ５、Ａ７および各旋回軸Ａ２、Ａ４、Ａ６の角度）を制御する情報（制御情報）とを対応付けて記憶部１０１２に記憶しており、ロボット制御部１０２１が、記憶部１０１２に記憶された前記制御情報に基づいて、ロボット１００２の手先１２の位置および姿勢の指示と、肘に相当する位置（オフセット角度値δ）の指示に応じて、当該指示に合う垂直多関節ロボットの状態の条件に合致するように、ロボット１００２の全体的な状態を制御する。
【０１０７】
このように、本実施形態に係るロボットシステムのロボット制御装置１００１では、オフセット構造を含み７つの軸を有する垂直多関節ロボットの、前記垂直多関節ロボットにおける肘の位置（1つの変数）を含む前記垂直多関節ロボットの状態の条件（全部で７つの変数）、および、前記条件を満たすように前記ロボット１００２を制御する制御情報を対応付けて記憶部１０１２により記憶し、前記肘の位置を含む前記垂直多関節ロボットの状態の条件が入力部１０１３により入力され、ロボット制御部１０２１が、前記入力部１０１３にて入力された条件と同じ条件に対応付けられて前記記憶部１０１２に記憶された前記制御情報に基づいて、前記入力された条件を満たすように前記ロボット１００２を制御する。
【０１０８】
本実施形態に係るロボットシステムのロボット制御装置１００１によれば、肘に相当する位置を明示的に指定する変数（オフセット角度値δ）を導入して使用することで、ロボット１００２の手先１２を任意の位置および姿勢に制御した状態で、広い可動域を確保し、特異点や障害物の回避を行い、高速に動作することを実現することができる。
本実施形態に係るロボットシステムのロボット制御装置１００１では、肘に相当する位置を明示的に指定する変数（オフセット角度値δ）を使用することで、例えば、ユーザーにより、直感的にロボット１００２の状態を指示することができ、制御のし易さを向上させることができる。
【０１０９】
本実施形態に係るロボットシステムのロボット制御装置１００１では、人間と同じように７つの関節を有するロボット１００２を制御する。このため、本実施形態に係るロボットシステムのロボット制御装置１００１では、ロボット１００２について、例えば、手先１２と肩を止めたまま、肘の位置を変えることができ、これにより、肘の位置を調整して、障害物を回避させながら作業を実行させることなどが可能である。
【０１１０】
本実施形態に係るロボットシステムのロボット制御装置１００１では、オフセット構造（オフセット部１１）を有するロボット１００２を制御する。このため、本実施形態に係るロボットシステムのロボット制御装置１００１では、ロボット１００２について、例えば、オフセット構造により作業領域を非対称化することで、特定の領域の作業性を高めることができ、また、アームの構造を設計する際の自由度を高めることができる。オフセット構造を有するロボット１００２では、一般的に、オフセット構造を有しないロボットと比べて、より遠くまで対象物を取りに行ける、肘を張って力を入れる姿勢を実現することができる、などの効果がある。
【０１１１】
［第２実施形態］
本発明の第２実施形態について図面を参照して詳細に説明する。
第１実施形態では、図２に示されるように第１軸（回転軸Ａ１）と第２軸（旋回軸Ａ２）との間にオフセット構造（オフセット部１１）を有するロボットを制御する場合について説明したが、本実施形態では、図４に示されるように第６軸（旋回軸Ａ６）と第７軸（回転軸Ａ２）との間にオフセット構造（オフセット部２１）を有するロボットを制御する場合について説明する。
【０１１２】
ここで、本実施形態に係るロボットシステムの概略的な構成や動作は、第１実施形態に係る図１に示されるロボットシステムの構成や動作と同様である。このため、本実施形態では、図１に示されるものと同じ符号を用いて説明する。
【０１１３】
図４は、本実施形態に係るオフセット構造を有する７軸（７自由度）のロボット１００２の構成例を示す概略ブロック図である。
本実施形態に係るロボット１００２は、ベースｂ０と、第１関節に相当する回転軸Ｂ１と、第１のリンクｂ１と、第２関節に相当する旋回軸Ｂ２と、第２のリンクｂ２と、第３関節に相当する回転軸Ｂ３と、第３のリンクｂ３と、第４関節に相当する旋回軸Ｂ４と、第４のリンクｂ４と、第５関節に相当する回転軸Ｂ５と、第５のリンクｂ５と、第６関節に相当する旋回軸Ｂ６と、第６のリンクｂ６と、第７関節に相当する回転軸Ｂ７と、第７のリンクｂ７と、手先２２と、を接続して構成される。
【０１１４】
第１関節、第２関節および第３関節で、肩の部分が構成されている。
第４関節で、肘の部分が構成されている。
第５関節、第６関節および第７関節で、手首の部分が構成されている。
【０１１５】
ここで、ベースｂ０および各リンクｂ１〜ｂ７は、固定的に設けられている。
また、ベースｂ０、第１のリンクｂ１、第２のリンクｂ２、第３のリンクｂ３、第４のリンクｂ４、第５のリンクｂ５、第７のリンクｂ７は、直線状である。
また、本実施形態では、第６のリンクｂ１は、１箇所で略９０度に折れ曲がった形状を有している。この部分が、オフセット構造を有するオフセット部２１である。
【０１１６】
各回転軸Ｂ１、Ｂ３、Ｂ５、Ｂ７は、図４において上下に接続されるリンクを結ぶ直線を中心軸として、回転することが可能である。
各旋回軸Ｂ２、Ｂ４、Ｂ６は、図４において表から裏への直線（または、裏から表への直線）を中心軸として、旋回（回転）することが可能である。
なお、各回転軸Ｂ１、Ｂ３、Ｂ５、Ｂ７の中心軸（回転軸）に対して、各旋回軸Ｂ２、Ｂ４、Ｂ６の中心軸（旋回軸）は、直交する。
【０１１７】
これら各回転軸Ｂ１、Ｂ３、Ｂ５、Ｂ７および各旋回軸Ｂ２、Ｂ４、Ｂ６の角度（７つの角度）が全て決められると、ロボット１００２の全体的な状態が決められる。
ここで、ロボット１００２を制御する変数（パラメーター）としては、必ずしもこれら７つの角度でなくてもよく、これら７つの角度の全てを直接または間接に特定することができる任意の変数を用いることができる。
【０１１８】
本実施形態では、ロボット１００２の手先２２の位置および姿勢（６つの変数）の指示と、肘に相当する位置（１つの変数）の指示とから、これらに合致するように、ロボット１００２の各回転軸Ｂ１、Ｂ３、Ｂ５、Ｂ７および各旋回軸Ｂ２、Ｂ４、Ｂ６の角度を制御する制御方法を用いる。
【０１１９】
具体的には、ロボット制御装置１００１では、あらかじめ、記憶部１０１２に、ロボット１００２の手先２２の位置および姿勢の指示ならびに肘に相当する位置の指示に合う垂直多関節ロボットの状態の条件と、当該条件に合致するようにロボット１００２の各回転軸Ｂ１、Ｂ３、Ｂ５、Ｂ７および各旋回軸Ｂ２、Ｂ４、Ｂ６の角度を制御する情報（制御情報）とが対応付けられて記憶されている。
ロボット制御部１０２１は、記憶部１０１２に記憶された前記制御情報に基づいて、ロボット１００２の手先２２の位置および姿勢の指示と、肘に相当する位置の指示に応じて、これらの指示に合う垂直多関節ロボットの状態の条件に合致するように、ロボット１００２の各回転軸Ｂ１、Ｂ３、Ｂ５、Ｂ７および各旋回軸Ｂ２、Ｂ４、Ｂ６の角度を制御する。
【０１２０】
なお、本実施形態では、肘に相当する位置を明示的に指定する変数（オフセット角度値δ）を、図４に示されるように、オフセット構造が手首側にあるロボット１００２について定義する。これについては、例えば、第１実施形態の場合と同様な手法を本実施形態の場合に適用して、肘に相当する位置を明示的に指定する変数（オフセット角度値δ）を定義することが可能である。なお、第２実施形態では、第１実施形態と肩と手首が入れ替わるため、オフセット角δも、肩に対する肘の位置ではなくて、手首に対する肘の位置に変わる。
また、本実施形態では、図４に示されるように、オフセット構造が手首側にあるロボット１００２について、逆運動学を適用する。これについては、例えば、第１実施形態の場合と同様な手法を本実施形態の場合に適用して、逆運動学による解を求めることが可能である。
【０１２１】
具体的には、第１実施形態に係る図２に示されるように、肩側にオフセット構造（オフセット部１１）がある７軸のロボットの構造と、本実施形態に係る図４に示されるように、手首側にオフセット構造（オフセット部２１）がある７軸のロボットの構造とでは、概略的には、図２に示される第１関節〜第７関節と図４に示される第７関節〜第１関節がそれぞれ対応すると考えることができる。
【０１２２】
以上のように、本実施形態に係るロボットシステムのロボット制御装置１００１では、第６軸（旋回軸Ｂ６）と第７軸（回転軸Ｂ７）との間にオフセット構造（オフセット部２１）を含む７軸のロボット１００２について、ロボット１００２の手先２２の位置および姿勢ならびに肘に相当する位置（オフセット角度値δ）の指示に合う垂直多関節ロボットの状態の条件と、当該条件に合致するようにロボット１００２の全体的な状態（本実施形態では、ロボット１００２の各回転軸Ｂ１、Ｂ３、Ｂ５、Ｂ７および各旋回軸Ｂ２、Ｂ４、Ｂ６の角度）を制御する情報（制御情報）とを対応付けて記憶部１０１２に記憶しており、ロボット制御部１０２１が、記憶部１０１２に記憶された前記制御情報に基づいて、ロボット１００２の手先２２の位置および姿勢の指示と、肘に相当する位置（オフセット角度値δ）の指示に応じて、当該指示に合う垂直多関節ロボットの状態の条件に合致するように、ロボット１００２の全体的な状態を制御する。
【０１２３】
このように、本実施形態に係るロボットシステムのロボット制御装置１００１では、オフセット構造を含み７つの軸を有する垂直多関節ロボットの、前記垂直多関節ロボットにおける肘の位置（1つの変数）を含む前記垂直多関節ロボットの状態の条件（全部で７つの変数）、および、前記条件を満たすように前記ロボット１００２を制御する制御情報を対応付けて記憶部１０１２により記憶し、前記肘の位置を含む前記垂直多関節ロボットの状態の条件が入力部１０１３により入力され、ロボット制御部１０２１が、前記入力部１０１３にて入力された条件と同じ条件に対応付けられて前記記憶部１０１２に記憶された前記制御情報に基づいて、前記入力された条件を満たすように前記ロボット１００２を制御する。
【０１２４】
本実施形態に係るロボットシステムのロボット制御装置１００１によれば、手首側にオフセット構造を有するロボット１００２について、第１実施形態の場合と同様な効果を得ることができる。
【０１２５】
例えば、本実施形態に係るロボットシステムのロボット制御装置１００１によれば、肘に相当する位置を明示的に指定する変数（オフセット角度値δ）を導入して使用することで、ロボット１００２の手先２２を任意の位置および姿勢に制御した状態で、広い可動域を確保し、特異点や障害物の回避を行い、高速に動作することを実現することができる。
また、本実施形態に係るロボットシステムのロボット制御装置１００１では、肘に相当する位置を明示的に指定する変数（オフセット角度値δ）を使用することで、例えば、ユーザーにより、直感的にロボット１００２の状態を指示することができ、制御のし易さを向上させることができる。
【０１２６】
［以上の実施形態の変形例に係る実施形態］
図５は、本発明の実施形態の変形例に係るロボットシステムの外観例を示す図である。
図５は、本変形例に係るロボットシステムをその前方から見た外観例を示している。このため、図５における右側が本変形例に係るロボットシステムの左側に相当し、図５における左側が本変形例に係るロボットシステムの右側に相当する。
【０１２７】
本変形例に係るロボットシステムは、ベースユニット２００１と、胴体を構成する部材（胴体部材）２００２、２００３、２００４と、腕（アーム）を構成するロボット２０１１、２０１２と、車輪２０２１、２０２２と、を備える。
【０１２８】
本変形例に係るロボットシステムは、ベースユニット２００１の上面に胴体部材２００２、胴体部材２００３、胴体部材２００４が順に上側に取り付けられ、最も上部の胴体部材２００４の左側に左腕を構成するロボット２０１１が取り付けられ、当該最も上部の胴体部材２００４の右側に右腕を構成するロボット２０１２が取り付けられ、ベースユニット２００１の底面の左側に車輪２０２１が取り付けられ、ベースユニット２００１の底面の右側に車輪２０２２が取り付けられて、構成されている。
【０１２９】
ここで、本変形例に係るロボットシステムは、左腕を構成するロボット２０１１と、右腕を構成するロボット２０１２とを備えており、このように双方の腕を備えている。
各腕を構成するロボット２０１１、２０１２は、それぞれ、例えば、図２に示される垂直多関節ロボットを有するロボット、または、図４に示される垂直多関節ロボットを有するロボットから構成される。
【０１３０】
また、本変形例に係るロボットシステムは、左側の車輪２０２１と、右側の車輪２０２２とを備えており、このように双方の車輪を備えている。
そして、本変形例に係るロボットシステムは、人力により車輪２０２１、２０２２を回転させて、移動させられることが可能である。
【０１３１】
本変形例に係るロボットシステムでは、ベースユニット２００１の内部に、ロボット制御装置を格納して備えている。
このロボット制御装置は、例えば、図１に示されるロボット制御装置１００１と同様な機能を有しており、図１に示されるロボット１００２に対応する左腕のロボット２０１１と、図１に示されるロボット１００２に対応する右腕のロボット２０１２を制御する。
ここで、このロボット制御装置は、例えば、左腕のロボット２０１１と右腕のロボット２０１２とを同時に関連付けて制御してもよく、または、左腕のロボット２０１１と右腕のロボット２０１２とをそれぞれ別個に制御してもよい。
【０１３２】
以上のように、本変形例に係るロボットシステムでは、例えば、図１に示されるロボット制御装置１００１とロボット１００２に対応するもの（本変形例に係るロボットシステムでは、ベースユニット２００１に備えられるロボット制御装置と、２つのロボット２０１１、２０１２）が一体として構成されている。
なお、ベースユニット２００１に備えられるロボット制御装置と各ロボット２０１１、２０１２とは、例えば、有線のケーブルまたは無線を介して、制御信号などを通信することが可能に接続される。
【０１３３】
ここで、他の構成例として、ベースユニット２００１に備えられるロボット制御装置の機能の一部を、図５に示されるロボットシステムとは別体のコントローラーに備えることも可能である。
具体例として、図１に示されるロボット制御装置１００１に備えられる入力部１０１３と出力部１０１４の機能と同様な機能を、図５に示されるロボットシステムとは別体のコントローラーに備え、ベースユニット２００１に備えられるロボット制御装置と当該コントローラーとに互いに無線により通信する機能を備えることで、図１に示されるロボット制御装置１００１に備えられる入力部１０１３と出力部１０１４の機能と同様な機能をリモートのコントローラーで実現することが可能である。
【０１３４】
［以上の実施形態のまとめ］
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【０１３５】
なお、以上に説明したロボット制御装置１００１における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここで言う「コンピューターシステム」とは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことを言う。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１３６】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことを言う。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１３７】
ａ０…ベース、ａ１〜ａ７…リンク、Ａ１、Ａ３、Ａ５、Ａ７…回転軸、Ａ２、Ａ４、Ａ６…旋回軸、１１…オフセット部、１２…手先、ｂ０…ベース、ｂ１〜ｂ７…リンク、Ｂ１、Ｂ３、Ｂ５、Ｂ７…回転軸、Ｂ２、Ｂ４、Ｂ６…旋回軸、２１…オフセット部、２２…手先、１０１、１０２…ロボットの状態、２０１、２０２…点、１００１…ロボット制御装置、１００２…ロボット、１００３…ケーブル、１０１１…制御部、１０１２…記憶部、１０１３…入力部、１０１４…出力部、１０２１…ロボット制御部、２００１…ベースユニット、２００２〜２００４…胴体部材、２０１１、２０１２…ロボット、２０２１、２０２２…車輪、Ｌ０〜Ｌ７…リンク、Ｊ１〜Ｊ７…関節
【図１】
0005948932.tif 000032
【図２】
0005948932.tif 000033
【図３】
0005948932.tif 000034
【図４】
0005948932.tif 000035
【図５】
0005948932.tif 000036
【図６】
0005948932.tif 000037