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