対象物を把持する複数のアーム部と、前記複数アーム部にそれぞれ設けられた、前記アームに作用する外力を検出する検出部と、前記各検出部からの検出情報に基づき、前記複数のアーム部を制御する制御部と、を備えることを特徴とするロボット制御装置。前記制御部は、複数の前記アームの作業空間上に任意に設定された座標系において、複数の前記アームのそれぞれの先端に対する相対的な位置及び姿勢が定義された所定の点の位置及び姿勢を示すPの運動を前記各検出部からの検出情報に基づき算出し、複数の前記アームの先端同士の相対の位置及び姿勢を示すRの運動を前記各検出部からの検出情報に基づき算出し、前記算出したPの運動とRの運動とに基づき、複数の前記アームを制御することを特徴とする請求項1に記載のロボット制御装置。複数の前記アームのそれぞれの先端に対する相対的な位置及び姿勢が定義された前記所定の点は、複数の前記アームのそれぞれの先端を結ぶ線分の中点であることを特徴とする請求項2に記載のロボット制御装置。前記座標系の原点は、前記対象物に設定されていることを特徴とする請求項3に記載のロボット制御装置。前記制御部は、前記Pの運動と前記Rの運動とを、複数の前記アーム間に設定された仮想的なインピーダンスに基づいて算出し、前記算出したPの運動とRの運動とに基づき、複数の前記アームを制御することを特徴とする請求項2から請求項4のいずれか1項に記載のロボット制御装置。前記制御部は、前記Pの運動と前記Rの運動とに基づき、複数の前記アームの各々の目標位置及び姿勢を算出し、前記算出した複数のアームの各々の目標位置及び姿勢を示す情報に基づき、複数の前記アームを制御することを特徴とする請求項2から請求項5のいずれか1項に記載のロボット制御装置。前記制御部は、前記Pの運動と前記Rの運動とを、前記設定された仮想的なインピーダンスと前記対象物のインピーダンスとに基づき算出することを特徴とする請求項2から請求項6のいずれか1項に記載のロボット制御装置。前記制御部は、複数の前記アームが、前記対象物に対して押し付ける力が所望の値になるように、当該対象物のインピーダンスを考慮して、前記Rの運動の仮想的なインピーダンスを設定することを特徴とする請求項2から請求項7のいずれか1項に記載のロボット制御装置。前記制御部は、前記対象物が剛体である場合、前記対象物のインピーダンスを考慮せずに、前記Rの運動の仮想的なインピーダンスを設定し、前記各アームから前記対象物への所望の押し付け力を制御することを特徴とする請求項8に記載のロボット制御装置。前記制御部は、前記Pの運動とRの運動とに基づき、複数の前記アームの各々の手先位置及び姿勢を示すp1、p2、pnnは2以上の自然数を算出し、複数の前記アームを制御することを特徴とする請求項2から請求項9のいずれか1項に記載のロボット制御装置。前記制御部は、前記複数のアームの基準点同士の相対位置に基づいて、複数の前記アームの各々の手先位置及び姿勢を示すp1、p2、pnnは2以上の自然数を算出し、前記複数のアームを制御することを特徴とする請求項2から請求項10のいずれか1項に記載のロボット制御装置。前記制御部は、複数の前記アームが、前記対象物を搬送する各々の予め定められた目標軌道に対する補正量を、前記Pの運動と前記Rの運動とに基づき算出し、算出した補正量に基づき複数の前記アームを制御することを特徴とする請求項2から請求項11のいずれか1項に記載のロボット制御装置。前記制御部は、前記Pの運動と前記Rの運動の振る舞いを定義した運動方程式を、時間に関する高次の多項式を用いて解くことで前記Pの運動と前記Rの運動とを算出することを特徴とする請求項2から請求項12のいずれか1項に記載のロボット制御装置。前記複数のアームは、各々6自由度を有する6軸アームであることを特徴とする請求項1から請求項13のいずれか1項に記載のロボット制御装置。前記請求項1から請求項14のいずれか1項のロボット制御装置を備えることを特徴とするロボット。対象物を把持する複数のアーム部を有するロボット制御装置におけるロボット制御方法において、検出部が、前記複数アーム部にそれぞれ設けられた、外力を検出する検出工程と、制御部が、前記複数のアーム部を制御する制御工程と、を有し、前記制御工程は、前記各検出部からの検出情報に基づき、前記複数のアーム部を制御することを特徴とするロボット制御方法。しかしながら、特許文献1に記載の従来技術では、スレーブアームの目標軌道について、マスターアームの把持部と対向する方向と直行する方向については把持部と対象物の摩擦や、回転成分を考慮していないため、正確な軌道を生成することは困難である。このため、特許文献1に記載の従来技術では、対象物を落下させてしまう、もしくは対象物に過大な力を加えて破壊してしまうといった課題があった。また、特許文献1に記載の従来技術では、スレーブアームの目標軌道を把持部に加わる外力を用いて生成するため、対象物が落下した際には、外力が加わるようにマスターアームに向かう目標軌道が生成され、アーム同士が衝突してしまうといった課題があった。更に、特許文献1に記載の従来技術では、マスターアーム及びスレーブアームそれぞれの運動が独立に設定されるため、それらの相対運動で決定される対象物物体に対する押し付け力を直接制御することが出来ない。このため、対象物を落下させてしまう、もしくは対象物に過大な力を加えて破壊してしまうといった課題があった。本発明は、上記の課題に鑑みてなされたものであって、対象物を確実に把持して運搬するロボット制御装置、ロボット、およびロボット制御方法を提供することを目的としている。上記目的を達成するため、本発明のロボット制御装置は、対象物を把持する複数のアーム部と、前記複数アーム部にそれぞれ設けられた、前記アームに作用する外力を検出する検出部と、前記各検出部からの検出情報に基づき、前記複数のアーム部を制御する制御部と、を備えることを特徴としている。本発明によれば、アームが対象物を把持して搬送しているときに、対象物を確実に把持して運搬するロボット制御装置を提供できる。上記目的を達成するため、本発明のロボット制御装置において、前記制御部は、複数の前記アームの作業空間上に任意に設定された座標系において、複数の前記アームのそれぞれの先端に対する相対的な位置及び姿勢が定義された所定の点の位置及び姿勢を示すPの運動を前記各検出部からの検出情報に基づき算出し、複数の前記アームの先端同士の相対の位置及び姿勢を示すRの運動を前記各検出部からの検出情報に基づき算出し、前記算出したPの運動とRの運動とに基づき、複数の前記アームを制御するようにしてもよい。本発明によれば、複数の前記アームのそれぞれの先端に対する位置及び姿勢が定義された所定の点の位置及び姿勢を示すPの運動を、複数の前記アームの作業空間上に任意の位置に設定するようにしたので、対象物を把持して所定の部品に組み付ける場合においても、対象物を確実に把持して運搬するロボット制御装置を提供できる。上記目的を達成するため、本発明のロボット制御装置において、複数の前記アームのそれぞれの先端に対する相対的な位置及び姿勢が定義された前記所定の点は、複数の前記アームのそれぞれの先端を結ぶ線分の中点であるようにしてもよい。本発明によれば、複数の前記アームのそれぞれの先端に対する位置及び姿勢が定義された所定の点の位置及び姿勢を示すPの運動を、複数の前記アームのそれぞれの先端を結ぶ線分の中点の位置に設定するようにしたので、アームが対象物を把持して搬送しているときに、対象物が障害物にあたった場合でも、対象物を落下させないように各アームを制御することができるロボット制御装置を提供できる。また、対象物に過大な力を加えて破壊することを防ぐように制御することができ、対象物を確実に把持して運搬するロボット制御装置を提供できる。上記目的を達成するため、本発明のロボット制御装置において、前記座標系の原点は、前記対象物に設定されているようにしてもよい。本発明によれば、座標系の原点は、前記対象物に設定したので、アームが把持して搬送する所定の部品に組み付ける場合でも、部品の配置がずれていたりしても対象物を落下させないように各アームを制御することができ、対象物を確実に部品に組み付けることができるロボット制御装置を提供できる。上記目的を達成するため、本発明のロボット制御装置において、前記制御部は、前記Pの運動と前記Rの運動を、複数の前記アーム間に設定された仮想的なインピーダンスに基づいて算出し、前記算出したPの運動とRの運動とに基づき、複数の前記アームを制御するようにしてもよい。本発明によれば、アームが対象物を把持して搬送しているときに、対象物が障害物にあたった場合でも、対象物を落下させないように各アームを制御することができ、また、対象物に過大な力を加えて破壊することを防ぐように制御することができ、対象物を確実に把持して運搬するロボット制御装置を提供できる。また、仮に、対象物を落下させた場合においても、アーム同士が衝突しないように制御できるロボット制御装置を提供できる。上記目的を達成するため、本発明のロボット制御装置において、前記制御部は、前記Pの運動と前記Rの運動とに基づき、複数の前記アームの各々の運動を算出し、前記算出した複数のアームの各々の運動に基づき、複数の前記アームを制御するようにしてもよい。本発明によれば、アームが対象物を把持して搬送しているときに、対象物が障害物にあたった場合でも、対象物を落下させないように各アームを制御することができ、また、対象物に過大な力を加えて破壊することを防ぐように制御することができ、対象物を確実に把持して運搬するロボット制御装置を提供できる。上記目的を達成するため、本発明のロボット制御装置において、前記制御部は、前記Pの運動と前記Rの運動とを、前記設定された仮想的なインピーダンスと前記対象物のインピーダンスとに基づき算出するようにしてもよい。本発明によれば、アームが対象物を把持して搬送しているときに、対象物が障害物にあたった場合でも、対象物を落下させないように、かつ障害物に倣うような動作を行うように各アームを制御することができ、また、対象物に過大な力を加えて破壊することを防ぐように制御することができ、対象物を確実に把持して運搬するロボット制御装置を提供できる。また、仮に、対象物を落下させた場合においても、アーム同士が衝突しないように制御できるロボット制御装置を提供できる。上記目的を達成するため、本発明のロボット制御装置において、前記制御部は、複数の前記アームが、前記対象物に対して押し付ける力が所望の値になるように、当該対象物のインピーダンスを考慮して、前記Rの運動の仮想的なインピーダンスを設定するようにしてもよい。本発明によれば、アームが対象物を把持して搬送しているときに、対象物が障害物にあたった場合でも、対象物を落下させないように、かつ障害物に倣うような動作を行うように各アームを制御することができ、また、対象物に過大な力を加えて破壊することを防ぐように制御することができ、対象物を確実に把持して運搬するロボット制御装置を提供できる。また、仮に、対象物を落下させた場合においても、アーム同士が衝突しないように制御できるロボット制御装置を提供できる。上記目的を達成するため、本発明のロボット制御装置において、前記制御部は、前記対象物が剛体である場合、前記対象物のインピーダンスを考慮せずに、前記Rの運動の仮想的なインピーダンスを設定し、前記各アームから前記対象物への所望の押し付け力を制御するようにしてもよい。本発明によれば、複数のアームが、対象物に対して押し付ける力は、対象物の弾性係数kと無関係に決定されるため、弾性係数kが未知であっても、押し付け力fhを設定し、それを満たす弾性係数を用いることで所望の押し付け力を実現することが出来き、対象物を確実に把持して運搬するロボット制御装置を提供できる。上記目的を達成するため、本発明のロボット制御装置において、前記制御部は、前記Pの運動とRの運動とに基づき、複数の前記アームの各々の手先位置及び姿勢を示すp1、p2、pnnは2以上の自然数を算出し、複数の前記アームを制御するようにしてもよい。本発明によれば、アームが対象物を把持して搬送しているときに、対象物が障害物にあたった場合でも、対象物を落下させないように各アームを制御することができ、また、対象物に過大な力を加えて破壊することを防ぐように制御することができ、対象物を確実に把持して運搬するロボット制御装置を提供できる。上記目的を達成するため、本発明のロボット制御装置において、前記制御部は、前記複数のアームの基準点同士の相対位置に基づいて、複数の前記アームの各々の手先位置及び姿勢を示すp1、p2、pnnは2以上の自然数を算出し、前記複数のアームを制御するようにしてもよい。本発明によれば、アームが対象物を把持して搬送しているときに、対象物が障害物にあたった場合でも、対象物を落下させないように各アームを制御することができ、また、対象物に過大な力を加えて破壊することを防ぐように制御することができ、対象物を確実に把持して運搬するロボット制御装置を提供できる。上記目的を達成するため、本発明のロボット制御装置において、前記制御部は、複数の前記アームが、前記対象物を搬送する各々の予め定められた目標軌道に対する補正量を、前記Pの運動と前記Rの運動とに基づき算出し、算出した補正量に基づき複数の前記アームを制御するようにしてもよい。本発明によれば、アームが対象物を把持して搬送しているときに、対象物が障害物にあたった場合でも、対象物を落下させないように各アームの目標軌道を補正することで、各アームを制御することができ、また、対象物に過大な力を加えて破壊することを防ぐように制御することができ、対象物を確実に把持して運搬するロボット制御装置を提供できる。上記目的を達成するため、本発明のロボット制御装置において、前記制御部は、前記Pの運動と前記Rの運動の振る舞いを定義した運動方程式を、時間に関する高次の多項式を用いて解くことで前記Pの運動と前記Rの運動とを算出するようにしてもよい。本発明によれば、ルンゲクッタ法などの高次の多項式を用いて対象物の中心の位置及び姿勢Pと、前記対象物の相対の位置及び姿勢Rとを算出するようにしたので、制御周期が長い場合でも、精度の高い制御を行うことができるロボット制御装置を提供できる。ここで高次の多項式とは、一般的に4次以上である。例えばルンゲクッタ法であれば4次までとることで、一般的な物理現象の運動方程式を精度良く解くことが可能である。上記目的を達成するため、本発明のロボット制御装置において、前記複数のアームは、各々6自由度を有する6軸アームであるようにしてもよい。本発明によれば、ロボットのアームが各々6軸にしたため、6つの変数を制御することが可能であり、例えば、位置x、y、z、姿勢α、β、γに対応して制御することができるロボット制御装置を提供できる。上記目的を達成するため、本発明のロボットは、前記請求項1から請求項13のいずれか1項のロボット制御装置を備えることを特徴としている。本発明によれば、アームが対象物を把持して搬送しているときに、対象物が障害物にあたった場合でも、対象物を落下させないように各アームを制御することができ、また、過大な力を加えて破壊することを防ぐように制御することができ、対象物を確実に把持して運搬するロボット制御装置を備えるロボットを提供できる。上記目的を達成するため、本発明は、対象物を把持する複数のアーム部を有するロボット制御装置におけるロボット制御方法において、検出部が、前記複数アーム部にそれぞれ設けられた、外力を検出する検出工程と、制御部が、前記複数のアーム部を制御する制御工程と、を有し、前記制御工程は、前記各検出部からの検出情報に基づき、前記複数のアーム部を制御することを特徴としている。本発明によれば、アームが対象物を把持して搬送しているときに、対象物が障害物にあたった場合でも、対象物を落下させないように各アームを制御することができ、また、過大な力を加えて破壊することを防ぐように制御することができ、対象物を確実に把持して運搬するロボット制御方法を提供できる。以下、本発明の実施形態について図面を参照して詳細に説明する。なお、本発明は斯かる実施形態に限定されず、その技術思想の範囲内で種々の変更が可能である。[第1実施形態]図1は、本実施形態に係るロボット1の概略斜視図である。図1に示すように、ロボット1は、2本のアーム2、3を備えている。アーム2は、固定部10、アーム部20-1、第1力センサ61、及び指部40-1を備える。また、アーム3は、固定部10、アーム部20-2、第2力センサ62、及び指部40-2を備える。固定部10は、例えば床、壁、天井、移動可能な台車の上などに固定される。固定部10は、内部に、制御部11破線にて図示を備える。制御部11は、アーム部20-1及び20-2、指部40-1及び40-2を制御する。制御部11の詳細は後述する。なお、制御部11は、固定部10の内部ではなく、固定部10の外部に設けるようにしてもよい。アーム部20-1及び20-2は、第1フレーム21、第2フレーム22、第3フレーム23、第4フレーム24および第5フレーム25から構成されている。第1フレーム21は、回転屈折軸を介して、固定部10に回転可能または屈折可能に接続されている。第2フレーム22は、回転屈折軸を介して、第1フレーム21および第3フレーム23に接続されている。第3フレーム23は、回転屈折軸を介して、第2フレーム22および第4フレーム24に接続されている。第4フレーム24は、回転屈折軸を介して、第3フレーム23および第5フレーム25に接続されている。第5フレーム25は、回転屈折軸を介して、第4フレーム24に接続されている。アーム部20は、制御部11の制御によって、各フレーム21~25が各回転屈折軸を中心に複合的に回転または屈折し、動く。アーム部20-1の第5フレームのうち第4フレームが設けられた他方には、指部40-1が設けられている。アーム部20-2の第5フレームのうち第4フレームが設けられた他方には、指部40-2が設けられている。指部40-1及び40-2は、直接的に、対象物を把持する。なお、指部40-1及び40-2は、例えば、複数のフレームを有し、対象物を把持できる構造である。アーム部20-1の第5フレーム25と指部40-1の間には、第1力センサ61が介挿されている。第1力センサ61は、アーム2の指部40-1に加わる力の各空間成分力成分というとトルクの各空間成分トルク成分というを検出する。第1力センサ61は、検出したアーム2の指部40-1に加わる力成分とトルク成分を含む情報を制御部11に出力する。また、アーム部20-2の第5フレーム25と指部40-2の間には、第2力センサ62が介挿されている。第2センサ62は、アーム3の指部40-2に加わる力成分とトルク成分を検出する。第2力センサ62は、検出したアーム3の指部40-2に加わる力成分とトルク成分を含む情報を制御部11に出力する。図2は、本実施形態に係るアーム部20-1及び20-2と、第1力センサ61及び第2力センサ62の概念図である。図2のように、アーム2のアーム部20-1は、回転部52、53及び55と、屈折部51、54及び56とを有している。そして、アーム2のアーム部20-2は、指部40-1との間に第1力センサ61を有している。また、アーム3のアーム部20-1は、回転部52、53及び55と、屈折部51、54及び56とを有している。そして、アーム3のアーム部20-2は、指部40-2との間に第2力センサ62を有している。また、屈折部51は、固定部10と第1フレーム21との間に設けられている。回転部52は、第1フレーム21と第2フレーム22との間に設けられている。回転部53は、第2フレーム22と第3フレーム23との間に設けられている。屈折部54は、第3フレーム23と第4フレーム24との間に設けられている。回転部55は、第4フレーム24と第5フレーム25との間に設けられている。屈折部54は、第5フレームのうち第4フレームが設けられた他方に設けられている。図2のように、アーム部20-1及び20-2は、6自由度を有する6軸アームである。すなわち、アーム部20-1の先端の指部40-1は、これらの各軸の回転部と屈折部の動作により、移動する。そして、指部40-1が対象物130を把持している場合、第1力センサ61が検出した外力には、このような各軸の回転部と屈折部の動作による成分が含まれている。このため、アーム部20-1及びアーム20-2が6軸アームであるため、6つの変数で制御することが可能であり、例えば、位置x、y、zの3つの変数成分、姿勢α、β、γの3つの成分変数に対応して制御することができる。図3は、本実施形態に係る制御部11のブロック図である。図3のように、制御部11は、中心運動に対してはたらく力の算出部11-1、中心運動のコンプライアンス成分算出部11-2、第1記憶部11-3、中心運動の設定軌道算出部11-4、中心運動の目標位置算出部11-5、アーム110の目標位置算出部11-6、相対運動に対してはたらく力の算出部11-11、相対運動のコンプライアンス成分算出部11-12、第2記憶部11-13、相対運動の設定軌道算出部11-14、相対運動の目標位置算出部11-15、及びアーム120の目標位置算出部11-16を備えている。また、制御部11は、不図示の内部タイマーを備えている。なお、アーム110とは、図1および図2において第1力センサ61が取り付けられているアーム部20-1である。また、アーム120とは、図1および図2において第2力センサ62が取り付けられているアーム部20-2である。なお、各算出部が行う算出手順については、後述する。また、本実施形態では、第1記憶部11-3及び11-13のように記憶部を2つ備える例を説明したが、記憶部は1つでもよい。中心運動に対してはたらく力の算出部11-1には、各アームに取り付けられている第1力センサ61検出部及び第2力センサ62検出部から、力成分とトルク成分を含む情報が入力される。中心運動に対してはたらく力の算出部11-1は、後述するように、入力された力成分とトルク成分を含む情報に基づき、対象物130の中心運動に対してはたらく力を算出する。中心運動に対してはたらく力の算出部11-1は、算出した対象物130の中心運動に対してはたらく力を中心運動のコンプライアンス成分算出部11-2に出力する。なお、対象物130の中心運動に対してはたらく力とは、アーム部20-1の先端の指部40-1とアーム部20-2の先端の指部40-2との中心において働く力である。すなわち、アーム部20-1の先端の指部40-1とアーム部20-2の先端の指部40-2とが、対象物130を把持している場合、把持されている対象物130の中心がどのように運動するか、あるいは運動しているかを示すものである。中心運動のコンプライアンス成分算出部11-2は、後述するように、中心運動に対してはたらく力の算出部11-1から出力された対象物130の中心運動に対してはたらく力を示す情報に基づき、対象物130の中心運動のコンプライアンス成分を算出する。中心運動のコンプライアンス成分算出部11-2は、算出した対象物130の中心運動のコンプライアンス成分を中心運動の目標位置算出部11-5に出力する。なお、中心運動のコンプライアンス成分とは、アーム部20-1の先端の指部40-1とアーム部20-2の先端の指部40-2との中心におけるコンプライアンスの各成分である。また、コンプライアンスの各成分とは、後述するアーム2の手先とアーム3の手先との中心位置成分と姿勢成分である。また、コンプライアンスcomplianceとは、剛性の逆数のことであり、固定方法が剛結ではなく、入力に対し、ある程度の変形変位を許す状態である。第1記憶部11-3には、予め対象物130に対する中心運動の軌道に関する情報が記憶されている。中心運動の設定軌道算出部11-4は、第1記憶部11-3に記憶されている対象物130に対する中心運動の軌道に関する情報を読み出し、読み出した情報に基づき、後述するように、対象物130に対する中心運動の軌道を算出する。中心運動の設定軌道算出部11-4は、算出した対象物130の中心運動の軌道を中心運動の目標位置算出部11-5に出力する。なお、中心運動の設定軌道とは、アーム部20-1の先端の指部40-1とアーム部20-2の先端の指部40-2との中心の搬送時の軌道である。中心運動の目標位置算出部11-5には、中心運動のコンプライアンス成分算出部11-2から出力された対象物130の中心運動のコンプライアンス成分を示す情報と、中心運動の設定軌道算出部11-4から出力された対象物130の中心運動の設定軌道を示す情報とが入力される。中心運動の目標位置算出部11-5は、入力された対象物130の中心運動のコンプライアンス成分を示す情報と、対象物130の中心運動の設定軌道を示す情報とに基づき、後述するように、対象物130の中心運動の目標値を算出する。中心運動の目標位置算出部11-5は、算出した対象物130の中心運動の目標値をアーム110の目標位置算出部11-6及びアーム120の目標位置算出部11-16に出力する。なお、中心運動の目標値とは、アーム部20-1の先端の指部40-1とアーム部20-2の先端の指部40-2との中心の搬送時の位置及び姿勢の目標制御値である。アーム110の目標位置算出部11-6には、中心運動の目標位置算出部11-5から対象物130の中心運動の目標値を示す情報と、相対運動の目標位置算出部11-15から対象物130の相対運動の目標値を示す情報とが入力される。アーム110の目標位置算出部11-6は、入力された対象物130の中心運動の目標値を示す情報と、対象物130の相対運動の目標値を示す情報とに基づき、後述するように、アーム110の目標値を算出する。アーム110の目標位置算出部11-6は、算出したアーム110の目標値をアーム110の制御信号として、アーム110に出力する。なお、アーム110の目標値とは、アーム110の先端の指部40-1が対象物130の動作に追従して動作する位置及び姿勢を示すアーム110への制御量の目標値である。相対運動に対してはたらく力の算出部11-11には、各アームに取り付けられている第1力センサ61及び第2力センサ62から、力成分とトルク成分を含む情報が入力される。相対運動に対してはたらく力の算出部11-11は、入力された力成分とトルク成分を含む情報の出力とに基づき、後述するように、相対運動に対してはたらく力を算出する。相対運動に対してはたらく力の算出部11-11は、算出した相対運動に対してはたらく力を相対運動のコンプライアンス成分算出部11-12に出力する。なお、相対運動に対してはたらく力とは、アーム部20-1の先端の指部40-1に対するアーム部20-2の先端の指部40-2の相対的な力である。すなわち、アーム部20-1の先端の指部40-1とアーム部20-2の先端の指部40-2とが、対象物130を把持している場合、アーム部20-1の先端の指部40-1に対して、アーム部20-2の先端の指部40-2がどのように運動するか、あるいは運動しているかを示すものである。相対運動のコンプライアンス成分算出部11-12は、相対運動に対してはたらく力の算出部11-11から出力された対象物130の相対運動に対してはたらく力を示す情報に基づき、後述するように、対象物130の相対運動のコンプライアンス成分を算出する。相対運動のコンプライアンス成分算出部11-12は、算出した対象物130の相対運動のコンプライアンス成分を相対運動の目標位置算出部11-15に出力する。なお、相対運動のコンプライアンス成分とは、アーム部20-1の先端の指部40-1に対するアーム部20-2の先端の指部40-2のコンプライアンスの各成分である。また、コンプライアンスの各成分とは、後述するアーム2とアーム3との手先の相対位置成分と姿勢成分である。第2記憶部11-13には、予め相対運動の軌道に関する情報が記憶されている。相対運動の設定軌道算出部11-14は、第2記憶部11-13に記憶されている対象物130に対する相対運動の軌道に関する情報を読み出し、読み出した情報に基づき、後述するように、対象物130に対する相対運動の軌道を算出する。相対運動の設定軌道算出部11-14は、算出した対象物130の相対運動の軌道を相対運動の目標位置算出部11-15に出力する。なお、相対運動の設定軌道とは、アーム部20-1の先端の指部40-1に対するアーム部20-2の先端の指部40-2の搬送時の軌道である。相対運動の目標位置算出部11-15には、相対運動のコンプライアンス成分算出部11-12から出力された対象物130の相対運動のコンプライアンス成分を示す情報と、相対運動の設定軌道算出部11-14から出力された対象物130の相対運動の設定軌道を示す情報とが入力される。相対運動の目標位置算出部11-15は、入力された対象物130の相対運動のコンプライアンス成分を示す情報と、対象物130の相対運動の設定軌道を示す情報とに基づき、後述するように、対象物130の相対運動の目標値を算出する。相対運動の目標位置算出部11-15は、算出した対象物130の相対運動の目標値をアーム110の目標位置算出部11-6とアーム120の目標位置算出部11-16とに出力する。なお、相対運動の目標値とは、アーム部20-1の先端の指部40-1に対するアーム部20-2の先端の指部40-2の搬送時の位置及び姿勢の目標制御値である。アーム120の目標位置算出部11-16には、中心運動の目標位置算出部11-5から対象物130の中心運動の目標値を示す情報と、相対運動の目標位置算出部11-15から対象物130の相対運動の目標値を示す情報とが入力される。アーム120の目標位置算出部11-16は、入力された対象物130の中心運動の目標値を示す情報と、対象物130の相対運動の目標値を示す情報とに基づき、後述するように、アーム120の目標値を算出する。アーム120の目標位置算出部11-16は、算出したアーム120の目標値をアーム120の制御信号として、アーム120に出力する。なお、アーム120の目標値とは、アーム120の先端の指部40-2が対象物130の動作に追従して動作する位置及び姿勢を示すアーム120への制御量の目標値である。なお、本実施形態においては、対象物130は、密度が一様であり、対象物130の中心が重心と一致している場合についての例について説明を行っている。[本実施形態の概要の説明]次に、本実施形態に係るアーム110及びアーム120の制御の概要について、図4を用いて説明する。図4は、本実施形態のロボット制御方法を適用するロボット1のアームの概念図である。なお、図4のように、アーム110は、図1の一方のアーム部20-1を模式的に表し、図1の指部40-1を模式的に表した把持部111を有している。また、アーム120は、図1の他方のアーム部20-2を模式的に表し、図1の指部40-2を模式的に表した把持部121を有している。対象物130は、アーム110とアーム120により把持され、運搬される物体である。図4において、ロボット1は、3つの座標系Σ1、Σ2、Σを有している。座標系Σ1O1-x1y1z1は、アーム110の運動を記述するベース座標系であり、アーム110の手先の位置及び姿勢をベクトルp1で表す。また、座標系Σ2O2-x2y2z2は、アーム120の運動を記述するベース座標系であり、アーム120の手先の位置及び姿勢をベクトルp2で表す。図4において、符号O1は、座標系Σ1の原点O1であり、符号O2は、座標系Σ2の原点O2である。以下で説明する各式1~式20は、制御部11がアーム110及び120の目標値を算出するときに用いる式であり、予め制御部11内の後述する算出部に定義されて記憶されている。制御部11は、ベクトルp1を、位置成分ベクトルp1pと、姿勢成分ベクトルp1dとにより、次式1式のように表される。また、制御部11は、ベクトルp2を、位置成分ベクトルのp2pと、姿勢成分ベクトルp2dとにより、次式2式のように表される。また、符号α、β及びγは、3次元空間におけるZYZ固定角表現におけるz軸、y軸、z軸に対する各回転角である。式1と式2において、記号Tは、転置行列を表している。また、以下の式でも同様に、記号Tは、転置行列を表している。また、式1において、p1x、p1y及びp1zは、ベクトルp1pのx軸成分、y軸成分及びz軸成分である。また、式1において、p1α、p1β及びp1γは、ベクトルp1dのZYZ固定角表現におけるz軸、y軸、z軸に対する各回転角の成分である。式2において、p2x、p2y及びp2zは、ベクトルp2pのx軸成分、y軸成分及びz軸成分であるまた、式2において、p2α、p2β及びp2γは、ベクトルp2dのZYZ固定角表現におけるz軸、y軸、z軸に対する各回転角の成分である。また、座標系ΣO-xyzは、アーム110及びアーム120の運動を統一して記述する作業用座標系であり、この座標系においてアーム110の手先とアーム120の手先との中心の位置成分及び姿勢成分以下、アームの手先の中心の位置及び姿勢というを、ベクトルPで表す。すなわち、ベクトルPは、アーム110及びアーム120のそれぞれの先端の把持部111と把持部121との中心の位置及び姿勢を示す情報である。図4において、符号Oは、座標系Σの原点Oである。また、この座標系Σにおいてアーム110の手先に対するアーム120の相対的な手先位置成分及び姿勢成分以下、アームの手先同士の相対の位置及び姿勢というを、ベクトルRで表す。すなわち、ベクトルRは、アーム110の先端の把持部111に対するアーム120の把持部121の相対の位置及び姿勢を示す情報である。このような2本のアーム110及び120のそれぞれの先端から中心の位置をコンプライアンスの中心剛性中心、コンプライアンスセンターという。本実施形態では、対象物130の中心、すなわちベクトルPをベクトルRの中間にした例である。ベクトルPは、位置成分ベクトルPpと、姿勢成分ベクトルPdとにより、次式3式のように表される。また、ベクトルRは、位置成分ベクトルRpと、姿勢成分ベクトルRdとにより、次式4式のように表される。式3において、Px、Py及びPzは、ベクトルPpのx軸成分、y軸成分及びz軸成分である。また、式3において、Pα、Pβ及びPγは、ベクトルPdのZYZ固定角表現におけるz軸、y軸、z軸に対する各回転角の成分である。式4において、Px、Py及びPzは、ベクトルPpのx軸成分、y軸成分及びz軸成分であるまた、式4において、Pα、Pβ及びPγは、ベクトルPdのZYZ固定角表現におけるz軸、y軸、z軸に対する各回転角の成分である。なお、図4のように、各座標系Σ1、Σ2およびΣの相対位置および姿勢は、3つの座標系Σ1、Σ2及びΣのx軸が同一直線上にあり、y軸及びz軸の向きが等しく、作業座標系において原点間O1、O2及びOの関係が次式5を満たすように表される。ただし、図4に示した各座標系の相対位置関係は一例であり、任意に配置することが可能である。次に、第1力センサ61から出力は、力成分ベクトルf1pとトルク成分ベクトルf1dとにより、次式6のように表される。また、第2力センサ62の出力は、力成分ベクトルf2pとトルク成分ベクトルf2dとにより、次式7のように表される。式6において、f1x、f1y及びf1zは、ベクトルf1pのx軸成分、y軸成分及びz軸成分である。また、式6において、τ1α、τ1β及びτ1γは、アーム110のトルク成分ベクトルf1dを、ZYZ固定角表現におけるz軸、y軸、z軸に対する各回転角で表したものである。式7において、f2x、f2y及びf2zは、ベクトルf2pのx軸成分、y軸成分及びz軸成分である。また、式7において、τ2α、τ2β及びτ2γは、アーム120のトルク成分ベクトルf2dを、ZYZ固定角表現におけるz軸、y軸、z軸に対する各回転角で表したものである。次に、これらを用いて、アームの手先の中心の位置及び姿勢を示す情報であるベクトルPに加わる力ベクトルFは、次式8のように表される。また、アームの手先同士の相対位置及び姿勢を示す情報であるベクトルRに加わる力ベクトルfは、次式9のように表される。なお、説明を簡単にするため、アーム110と120の各力センサの出力ベクトルf1及びベクトルf2については、把持部に加わる重力、対象物130に加わる重力、及び把持部40-1と40-2とが加速度運動することによって加わる慣性力は取り除かれていて、更に作業座標系における表現に変換されているものとする。まず、力ベクトルFを、次式8のように表す。式8において、Fx、Fy及びFzは、力ベクトルFの位置成分ベクトルFpのx軸成分、y軸成分及びz軸成分である。また、式8において、Tα、Tβ及びTγは、力ベクトルFの姿勢成分ベクトルFdのZYZ固定角表現におけるz軸、y軸、z軸に対する各回転角の成分である。なお、式8において、手先を対向させて物体を把持するため、互いに回転角γの回転方向が逆になるため、τγ=-τ2γ-τ1γとなる。次に、力ベクトルfを、次式9のように表す。式9において、fx、fy及びfzは、ベクトルfpのx軸成分、y軸成分及びz軸成分である。また、式9において、τα、τβ及びτγは、トルク成分ベクトルfdのZYZ固定角表現におけるz軸、y軸、z軸に対する各回転角成分である。アームの手先の中心の位置及び姿勢を示す情報であるベクトルPは、把持した対象物130の位置及び姿勢を制御して搬送するようにあらかじめ設定された軌道ベクトルPTに対して、上述した力ベクトルFに応じてベクトルΔPだけ軌道を変更したものとして表される。これにより、例えば障害物140などから物体に加わる力に応じて、受動的にその位置及び姿勢を変更してコンプライアンスを守りながら、所定の位置及び姿勢に物体を操作することを可能とする。また、アームの手先同士の相対の位置及び姿勢を示す情報であるベクトルRは、物体を把持するようにあらかじめ設定された軌道ベクトルRTに対して、上述した力ベクトルfに応じてベクトルΔRだけ軌道を変更したものとして表される。これにより、アームが物体に加える力について、コンプライアンスを守りながら物体を把持することを可能とする。従って、ある時刻tにおけるアームの手先の中心の位置及び姿勢を示す情報であるベクトルP、アームの手先同士の相対の位置及び姿勢を示す情報であるベクトルRは、次式10と次式11のように表される。式10において、ベクトルΔPは、障害物140に加わる外力に基づき、力ベクトルFに応じて変更した軌道を示すベクトルである。式11において、ベクトルΔRは、障害物140に加える内力に基づき、力ベクトルfに応じて、変更した軌道を示すベクトルである。次に、式10と式11において、ベクトルPTおよびベクトルRTは、各々、次式12と次式13のように、位置成分と姿勢成分とに分けて表される。式12において、PTx、PTy及びTTzは、ベクトルPTpのx軸成分、y軸成分及びz軸成分である。また、式12において、PTα、PTβ及びPTγは、トルク成分ベクトルPTdのZYZ固定角表現におけるz軸、y軸、z軸に対する各回転角成分である。式13において、RTx、RTy及びRTzは、ベクトルRTpのx軸成分、y軸成分及びz軸成分である。また、式13において、RTα、RTβ及びRTγは、トルク成分ベクトルRTdのZYZ固定角表現におけるz軸、y軸、z軸に対する各回転角成分である。同様に、式10と式11において、ベクトルΔPおよびベクトルΔRは、各々、次式14と次式15のように、位置成分と姿勢成分とに分けて表される。式14において、ΔPx、ΔPy及びΔTzは、ベクトルΔPpのx軸成分、y軸成分及びz軸成分である。また、式14において、ΔPα、ΔPβ及びΔPγは、トルク成分ベクトルΔPdのZYZ固定角表現におけるz軸、y軸、z軸に対する各回転角成分である。式15において、ΔRx、ΔRy及びΔRzは、ベクトルΔRpのx軸成分、y軸成分及びz軸成分である。また、式15において、ΔRα、ΔRβ及びΔRγは、トルク成分ベクトルΔRdのZYZ固定角表現におけるz軸、y軸、z軸に対する各回転角成分である。次に、コンプライアンス制御の例としてインピーダンス制御について説明する。図5は、インピーダンス制御の概念を説明する図である。インピーダンス制御とは、図5のように、指部40-1と指部40-2との間に、仮想的な弾性係数kを有するばね、粘性係数Dを有するダンパー、重量Mを有する物体があるかのうように指部40-1及び指部40-2の運動を制御することである。図5のように、指部40-1には、ばねの一端とダンパーの一端とが接続されている。ばねの他端とダンパーの他端は、物体の一端に接続されている。また、物体の他端は、指部40-2に接続されている。インピーダンス制御においては、ベクトルΔPおよびベクトルΔRをそれぞれベクトルF及びベクトルfに応じて、仮想的なインピーダンスのもとで運動する対象物130の位置において設定する。ここで、インピーダンスは慣性力、ダンパーなどのように速度に依存して発生する力及びバネなどのように位置に依存して発生する力で構成されるとすると、ベクトルP及びベクトルRは、次式16と次式17の運動方程式に従う。式16において、Mp^は、ベクトルFの慣性行列慣性係数、Dp^は、ベクトルFの粘性行列粘性係数、Kp^は、ベクトルFの弾性行列弾性係数である。なお、式16において、上付きに^が表示されている各係数を、それぞれ便宜的にMp^、Dp^およびKp^と表す。また、式17において、MR^は、ベクトルfの慣性行列慣性係数、DR^は、ベクトルfの粘性行列粘性係数、KR^は、ベクトルfの弾性行列弾性係数である。なお、式17において、上に^が表示されている各係数を、それぞれ便宜的にMR^、DR^およびKR^と表す。なお、Pの運動とRの運動の振る舞いを定義した運動方程式とは、式16および式17である。各係数Mp^、Dp^、Kp^、MR^、DR^およびKR^は、6行6列の対角行列である。対角成分にそれぞれ独立の値を設定することで、アームの手先の中心の位置及び姿勢を示す情報であるベクトルPとアームの手先同士の相対の位置及び姿勢を示す情報であるベクトルRとの各軸に対する運動を、個別に制御することが可能となる。ただし、これは一例であり、Mp^、Dp^、Kp^、MR^、DR^およびKR^は非対角要素を持つ行列であっても構わない。なお、制御部11は、仮想的なインピーダンスに加え、対象物のインピーダンスを用いて算出するようにしてもよい。次に、制御部11は、式16と式17を解き、ベクトルΔPとベクトルΔRを求める。次に、制御部11は、式10および式11に、求めたベクトルΔPとベクトルΔRを代入して、ベクトルPとベクトルRを求める。次に、制御部11は、求めたベクトルPとベクトルRを次式18と次式19に代入し、アーム120のベース座標系における手先位置及び姿勢を示す情報であるベクトルp1、アーム120のベース座標系における手先位置及び姿勢を示す情報であるベクトルp2を求める。式18と式19において、ベクトルDは、次式20で表される。式20におけるDは、図1のように各アーム110の原点O1または原点O2とΣの原点Oの間隔である。制御部11は、アーム部110と把持部111、アーム部120と把持部121に対して式18及び式19で求めた位置に移動するよう指令を出す。以上が本実施形態に係る制御の概要である。[障害物から対象物に力が加わった場合の説明]次に、障害物から対象物に力が加わった場合の説明を、図6~図17を用いて行う。図6は、本実施形態に係る対象物が障害物に当たった場合を説明する図であり、図7は、本実施形態に係る対象物が障害物に当たった後、各アームが制御される場合を説明する図である。図6においては、アーム110とアーム120が対象物130を把持した状態で、対象物130に障害物140が衝突する。この場合、以下に詳細に説明する制御により、図7のように障害物140から受ける力に応じて、制御部11の制御により、受動的にその位置及び姿勢を変更する。まず、対象物130を把持して操作している際に、対象物130が障害物140と接触した時に発生する力及びトルクについて、以下に説明する。図6および図7において、アーム110及びアーム120の把持部111及び把持部121は、アーム110の手先の把持部111とアーム120の手先の把持部121との中心位置と、対象物130の中心が一致するように対象物130を把持している。ここで、対象物130を把持した状態で、アームの手先の中心の位置及び姿勢について、軌道ベクトルPTを、制御部11は、式12に基づき、次式21のように算出する。なお、対象物130の中心がアーム110により搬送される軌道は、予めロボット制御装置1のオペレータにより各時刻における移動位置、移動速度が軌道に関する情報として設定される。そして、オペレータにより設定された軌道に関する情報が、予め制御部11の第1記憶部11-3に記憶されている。式21の軌道ベクトルPTは、アームの手先の中心の位置及び姿勢について、x軸及びy軸方向の位置及び姿勢を変化させずに、y軸方向の位置を初期位置y0から速度vで移動させる軌道である。次に、アームの手先同士の相対位置及び姿勢について、対象物130を把持している状態において、軌道ベクトルRTを、制御部11は、式13に基づき、次式22のように算出する。なお、搬送される対象物130において、アーム110に対するアーム120の手先同士の相互位置の軌道は、予めロボット制御装置1のオペレータにより各時刻における移動位置、移動速度が軌道に関する情報として設定される。そして、オペレータにより設定された相対的な軌道に関する情報が、予め制御部11の第2記憶部11-13に記憶されている。式22において、w0は、アーム110及び120が、対象物130に加える力に応じて、制御部11が選択する値であり、選択については後述する。なお、対象物130は、図8の対象物130の斜視図に示すように幅w、高さh、奥行きl、質量mの直方体であり、質量分布が一様でその重心が物体の中心にある。また、対象物130の中心を通り、作業座標系Σのz軸と平行な直線をcとする。すなわち、対象物130の中心は、幅w、高さh、奥行きl、質量mのそれぞれの中心が重なる位置である。図9は、本実施形態に係る対象物130と障害物140との位置関係を説明する図である。障害物140は円筒形であり、対象物130と障害物140とは、図9のような位置関係で接している。すなわち、xz平面における対象物130の面は、障害物140の円周面と接する。より具体的には、xy平面の長手方向に対して、障害物140の長手方向が、直交する向きで接する。図6に示したように、式21の軌道に従って、制御部11は、対象物130の位置を移動するように制御すると、対象物130が中心から距離dの位置で障害物140と接する。図10は、本実施形態に係る障害物140が対象物130を押す力を説明する図である。図10のように、障害物140が対象物130を押す力をベクトルfbとすると、対象物130と障害物140とが接した瞬間、ベクトルfbは、-y方向を向いている。ベクトルfbについて、対象物130の中心方向の成分をベクトルfbc、ベクトルfbcと直行する方向の成分をベクトルfb0とする。この場合、ベクトルfbcは、対象物130を並進させる力となる。ベクトルfb0は、直線cを回転軸として、対象物130を回転させるトルクのベクトルτcを発生させている。次に力ベクトルfbc及びトルクのベクトルτcが、アーム110及びアーム120と把持部111及び121との間に取り付けられた第1力センサ61及び第2力センサ62に入力される力及びトルクについて、図11を用いて説明する。図11は、本実施形態に係るアーム110及びアーム120と把持部111及び121との間に取り付けられた第1力センサ61及び第2力センサ62に入力される力及びトルクを説明する図である。図11において、符号fhは、アーム110及びアーム120が対象物130に対して押し付ける力fhである。アーム110及びアーム120は、制御部11の制御により、対象物130を把持するために、それぞれの把持部111及び121を、それぞれx軸方向に-fh、fhの力で対象物130に押し付けている。したがって、第1力センサ61及び第2力センサ62にはその反力が入力される。このようにアーム110及びアーム120が互いに押し付けあっているため、ベクトルfbcのx成分-fbcxはそれぞれの把持部111及び121に取り付けられた力センサ61及び62に入力される。また、それぞれのy成分には力ベクトルfcのy成分-fbcyが等分配されて、各力センサ61及び62に入力される。更に、第1力センサ61及び第2力センサ62のα成分には、トルクのベクトルτcによって発生する-τbが入力される。以上により、アーム110と把持部111との間に取り付けられた第1力センサ61の出力ベクトルf1と、アーム120と把持部121との間に取り付けられた第2力センサ62の出力ベクトルf2は、それぞれ次式23と次式24のようになる。次に、アームの手先の中心の位置及び姿勢を示す情報のベクトルPに加わる力ベクトルFの計算について説明する。次に、計算したベクトルFに応じたアームの手先の中心の位置及び姿勢を示す情報のベクトルPの運動について説明する。また、それに応じたアーム110及びアーム120の位置及び姿勢を示す情報のベクトルp1、及びベクトルp2の運動について説明する。まず、制御部11は、式8に式23式及び式24を代入し、次式25を算出する。次に、ベクトルFに応じたアームの手先の中心の位置及び姿勢を示す情報のベクトルPの運動について、図12を用いて説明する。図12は、ベクトルFに応じたアームの手先の中心の位置及び姿勢を示す情報のベクトルPの運動を説明する図である。まず、制御部11は、式25に式16を代入し、ベクトルΔPを算出する。なお、式16は非線形の微分方程式であるので、制御部11は、例えば、オイラー法やルンゲクッタ法などの数値計算法を用いてベクトルΔPを計算する。実際の制御においては、制御周期の長短に応じて計算方法を選択する必要があり、制御周期が長い場合は計算の精度が比較的高いルンゲクッタ法で算出する方が良い。すなわち、制御部11は、高次の多項式を用いて近似して算出時間に関する高次の多項式を用いて解く、とも言うする。なお、高次の多項式とは、一般的に4次以上である。例えばルンゲクッタ法であれば4次までとることで、一般的な物理現象の運動方程式を精度良く解くことが可能である。次に、式16の両辺をラプラス変換して、次式26と次式27を算出して、ΔPの振る舞いを定性的に説明する。式26と式27は、ベクトルFを入力ベクトルとし、ΔPを出力とすると、それらが次式28なる2次遅れ系で結ばれていると考えることが出来る。従ってベクトルΔPは、ベクトルFに2次遅れで追従する。ここではまず、ベクトルPの位置成分ベクトルPpの運動について説明する。ベクトルΔPはベクトルFに2次遅れで追従することから、図12に示すように、ベクトルΔPはベクトルFpに倣う方向を向く。従って、式10及び式21から、ベクトルPpは図12に示すベクトルとなる。これにより式18及び式19から、アーム120及びアーム120の位置成分ベクトルp1p及びベクトルp2pは、図12に点線で示したベクトルp1’及びベクトルp2’となる。このため、対象物130を把持しながら障害物140との間に発生する力を緩和する方向に、アーム110及びアーム120は移動する。次にベクトルPの姿勢成分ベクトルPdの運動について説明する。上述したように、ベクトルΔPは、ベクトルFに2次遅れで追従することから、図13に示すように、ベクトルPdは、z軸に関してy軸からx軸への向きである負方向に回転する。式18及び式19から、アーム110及びアーム120の位置成分ベクトルp1d及びベクトルp2dも、図13に示したようにz軸に関して負方向に回転する。図13は、本実施形態に係るベクトルPの姿勢成分ベクトルPdの運動について説明する図である。次に、ベクトルfの計算について説明する。さらに、上述の回転に応じたアームの手先の中心の位置及び姿勢を示す情報のベクトルRの運動について説明する。更にそれに応じたアーム110及びアーム120の位置及び姿勢を示す情報のベクトルp1、ベクトルp2の運動について説明する。図14は、本実施形態に係る回転に応じたアームの手先の中心の位置及び姿勢を示す情報のベクトルRの運動について説明する図である。アーム110及びアーム120が、z軸に関して負方向に回転するに伴い、図14aに示すように、アーム110及びアーム120には、対象物130に対して加える力ベクトルfrが発生する。このベクトルfrを、x軸方向及びy軸方向に分解すると、x軸方向については、アーム110が加える力とアーム120が加える力とで相殺する。従って残るy軸方向について、それぞれその反力fry、-fryが、アーム110及びアーム120と把持部111及び121との間に取り付けられた第1力センサ61及び第2力センサ62に入力される。次に、制御部11は、式9に式23及び式24を代入する。そして、上述した結果を考慮して制御部11がベクトルfを計算すると、ベクトルfは、次式29のように表される。式29において、x軸方向の力は、対象物130をアーム110及びアーム120が把持する力に対する反力である。これに応じて対象物130を落下させないように、制御部11が、アームの手先同士の相対の位置及び姿勢の軌道ベクトルRTのx成分について、式22に示したようにw0に選択している。更に、制御部11は、仮想的に設定するインピーダンスの制御変数も合わせて調整している。この制御変数の調整については後に詳述する。次に、式29で示したベクトルfのy成分のみを考慮して、アームの手先同士の相対の位置及び姿勢を示す情報であるベクトルRの運動について説明する。式17の両辺をラプラス変換すると、次式30と次式31が得られる。式31において、ベクトルfを入力、ベクトルΔRを出力とすると、それらが次式32のような2次遅れ系で結ばれていると考えることが出来る。従ってベクトルΔRは、ベクトルfに2次遅れで追従する。式29に示したように、ベクトルfの回転成分は0ゼロであるから、ベクトルRの位置成分ベクトルRPの運動について説明する。ベクトルΔRは、ベクトルfに2次遅れで追従することから、図12bに示すように、ベクトルΔRは、ベクトルfPのy成分-fryに倣う方向を向く。従って、式11及び式22から、ベクトルRPは、図14bに示すベクトルとなる。更に式18及び式19から、アーム110及びアーム120の位置成分ベクトルp1P、p2Pは、図14bに点線で示したベクトルp1’及びベクトルp2’となる。このため、制御部11の制御により、対象物130を把持しながら障害物140との間に発生する力を緩和する方向にアーム110及びアーム120が移動する。この制御により、図6に示したようにアーム110及びアーム120が物体を把持した状態で、障害物140に対象物130が衝突すると、図7に示したように障害物140から受ける力に応じて受動的にその位置及び姿勢を変更して、コンプライアンスを守る。次に、アーム110及びアーム120が、把持する力に対する反力に応じて、対象物130を落下させないように、あらかじめ設定されるアームの手先同士の相対の位置及び姿勢の軌道ベクトルRTのx成分及び仮想的なインピーダンスの制御変数について図15を用いて説明する。図15は、本実施形態に係るインピーダンスの制御変数を説明する図である。まず、対象物130を弾性体として、それを把持する際の振舞いについて説明する。ベクトルfのx成分fxは、次式33のように、相対位置のx成分Rxが、対象物130の幅wに対して、それよりも内側に押し込んだ時に、その押し込んだ距離と対象物130の弾性係数kに比例した力を受ける。また、式11より手先の相対位置のx成分Rxは、次式34のように表される。更に式31より、ベクトルΔRのx成分は、次式35のように表される。次に、制御部11は、式35に式33及び式34を代入して、その振る舞いを解析する。この時、ベクトルRTのx成分RTxを、次式36のように予め設定しておく。図16は、ΔRx及びfxの振る舞いを表す図である。図16aに示したのは、ΔRxの振る舞いであり、縦軸がΔRx、横軸が時間である。また、図16bに示したのは、fxの振る舞いであり、縦軸がfx、横軸が時間である。図16aから、ΔRxはΔRx=w-w0、すなわちRTx=wとなり、手先が対象物130の表面に接している位置から、KRxw-w0/kKRxだけ押し込んだ位置で静止している。それゆえ、図16bに示したように、fxはそれに対象物130の弾性係数kを乗じた値になっている。従って、アーム110及びアーム120が、対象物130に対して押し付ける力fhは、次式37のようになる。従って、対象物130の幅w及び弾性係数kが既知であるとすれば、制御部11は、押し付け力fhを算出し、それを満たすKRx及びw0を用いることで所望の押し付け力を実現することが出来る。この時、w0は、wを超えない範囲で大きな値とし、それに応じてKRxを決定することで、アーム110に対するアーム120の相対的な目標位置を遠ざけることが可能である。また、対象物130の弾性係数kが、KRxとの間に、k>>KRxの関係が成り立つ時、すなわち、対象物130が固い場合、式37は、次式38のようになる。この場合、アーム110及びアーム120が対象物130に対して押し付ける力fhは、対象物130の弾性係数kと無関係に決定されるため、弾性係数kが未知であっても、押し付け力fhを設定し、それを満たすKRx及びw0を用いることで所望の押し付け力を実現することが出来る。次に、制御部11は、式37を解析的に求める。まず、制御部11は、式35に式33及び式34を代入し、ΔRxについて解き、次式39を算出する。次に、時刻T以降の振る舞いを解析するため、式39右辺のkw―RTxは、kw-w0のステップ入力として扱う。このため、式39は、式38より、次式40のように表される。式39及びラプラス変換の最終値の定理を用いて、制御部11は、次式41のように、ΔRxのt→∞無限大の極限を求める。次に、制御部11は、式33に式34及び式41を代入して、次式42のように、アーム110及びアーム120が対象物130に対して押し付ける力fhを求める。また、ベクトルRTのx成分RTxを、次式43のように5次式で表す。なお、式43において、各係数c0、c3、c4、c5は、次式44である。式43のようにRTxを5次式で表すことで、アーム110及びアーム120の加速及び減速が緩やかになり、図17に示すように、図16で見られた急激な力の変化は抑制される。図17は、RTxを5次式で表した場合のΔRx及びfxの振る舞いを表す図である。図17aに示したのは、ΔRxの振る舞いであり、縦軸がΔRx、横軸が時間である。また、図17bに示したのは、fxの振る舞いであり、縦軸がfx、横軸が時間である。次に、本実施形態に係る制御方法を、図18を用いて説明する。図18は、本実施形態に係る動作の一例を説明するフローチャートである。制御部11は、作業指示が入力された後、ステップS1~ステップS10を行う。制御部11の中心運動の設定軌道算出部11-4は、第1記憶部11-3に記憶されているアーム110の手先及びアーム120の手先の中心の軌道に関する情報を読み出し、読み出した情報に基づき、作業終了時刻Tまでの各時刻の手先の中心の目標位置及び姿勢軌道ベクトルPTを生成する。また、相対運動の設定軌道算出部11-14は、第2記憶部11-13に記憶されているアーム110に対するアーム120の手先同士の相対的なの軌道に関する情報に基づき、作業終了時刻Tまでの各時刻の相対の手先の目標位置及び姿勢軌道ベクトルRTを算出する。中心運動の設定軌道算出部11-4は、算出した作業終了時刻Tまでの各時刻の手先の中心の目標位置及び姿勢軌道ベクトルPTを中心運動の目標位置算出部11-5に出力する。また、相対運動の設定軌道算出部11-14は、算出した作業終了時刻Tまでの各時刻の相対の手先の目標位置及び姿勢軌道ベクトルRTを相対運動の目標位置算出部11-15に出力するステップS1。次に、制御部11は、内部タイマーの現在時刻tをリセットt=0するステップS2。次に、中心運動に対してはたらく力の算出部11-1は、第1力センサ61からの出力であるベクトルf1を取得する。また、相対運動に対してはたらく力の算出部11-11は、第2力センサ62からの出力であるベクトルf2を取得するステップS3。次に、中心運動に対してはたらく力の算出部11-1は、取得した第1力センサ61からの出力であるベクトルf1に基づき、アームの手先の中心の位置及び姿勢に加わる力ベクトルFを算出する。中心運動に対してはたらく力の算出部11-1は、算出したアームの手先の中心の位置及び姿勢に加わる力ベクトルFを中心運動のコンプライアンス成分算出部11-2に出力する。また、相対運動に対してはたらく力の算出部11-11は、取得した第2力センサ62からの出力であるベクトルf2に基づき、アームの手先同士の相対の位置及び姿勢に加わる力ベクトルfを算出する。相対運動に対してはたらく力の算出部11-11は、算出したアームの手先同士の相対の位置及び姿勢に加わる力ベクトルfを相対運動のコンプライアンス成分算出部11-12に出力するステップS4。次に、中心運動のコンプライアンス成分算出部11-2は、中心運動に対してはたらく力の算出部11-1から出力されたアームの手先の中心の位置及び姿勢に加わる力ベクトルFに基づき、手先の中心の目標位置及び姿勢に対するコンプライアンス成分ベクトルΔPを算出する。中心運動のコンプライアンス成分算出部11-2は、算出した手先の中心の目標位置及び姿勢に対するコンプライアンス成分ベクトルΔPを中心運動の目標位置算出部11-5に出力する。相対運動のコンプライアンス成分算出部11-12は、相対運動に対してはたらく力の算出部11-11から出力されたアームの手先同士の相対の位置及び姿勢に加わる力ベクトルfに基づき、手先の相対の目標位置及び姿勢に対するコンプライアンス成分ベクトルΔRを算出する。相対運動のコンプライアンス成分算出部11-12は、算出した手先の中心の目標位置及び姿勢に対するコンプライアンス成分ベクトルΔRを相対運動の目標位置算出部11-15に出力するステップS5。次に、中心運動の目標位置算出部11-5には、中心運動のコンプライアンス成分算出部11-2から出力された手先の中心の目標位置及び姿勢に対するコンプライアンス成分ベクトルΔPと、中心運動の設定軌道算出部11-4から出力された作業終了時刻Tまでの各時刻の手先の中心の目標位置及び姿勢軌道ベクトルPTとが入力される。中心運動の目標位置算出部11-5は、入力された手先の中心の目標位置及び姿勢に対するコンプライアンス成分ベクトルΔPと、作業終了時刻Tまでの各時刻の手先の中心の目標位置及び姿勢軌道ベクトルPTとに基づき、現在時刻の手先の中心の真の目標位置及び姿勢を示す情報のベクトルP=ベクトルPTベクトルΔP式10を算出する。中心運動の目標位置算出部11-5は、算出した現在時刻の手先の中心の真の目標位置及び姿勢を示す情報のベクトルP=ベクトルPTベクトルΔPを、アーム110の目標位置算出部11-6とアーム120の目標位置算出部11-16とに出力する。また、相対運動の目標位置算出部11-15には、相対運動のコンプライアンス成分算出部11-12から出力された手先の相対の目標位置及び姿勢に対するコンプライアンス成分ベクトルΔRと、相対運動の設定軌道算出部11-14から出力された作業終了時刻Tまでの各時刻の相対の手先の目標位置及び姿勢軌道ベクトルRTとが入力される。相対運動の目標位置算出部11-15は、入力された手先の中心の目標位置及び姿勢に対するコンプライアンス成分ベクトルΔRと、作業終了時刻Tまでの各時刻の相対の手先の目標位置及び姿勢軌道ベクトルRTとに基づき、現在時刻の手先の相対の目標位置及び姿勢を示す情報であるベクトルR=ベクトルRTベクトルΔR式11を算出する。すなわち、相対運動の目標位置算出部11-15は、予定された軌道を、実際の動作に基づき補正した軌道に基づき、実際の動作に応じた現在時刻の手先の相対の目標位置及び姿勢を算出している。相対運動の目標位置算出部11-15は、算出した現在時刻の手先の相対の真の目標位置及び姿勢を示す情報のベクトルR=ベクトルRTベクトルΔRを、アーム110の目標位置算出部11-6とアーム120の目標位置算出部11-16とに出力するステップS6。次に、アーム110の目標位置算出部11-6には、中心運動の目標位置算出部11-5から現在時刻の手先の中心の真の目標位置及び姿勢を示す情報のベクトルP=ベクトルPTベクトルΔPと、相対運動の目標位置算出部11-15から現在時刻の手先の相対の真の目標位置及び姿勢を示す情報のベクトルR=ベクトルRTベクトルΔRとが入力される。アーム110の目標位置算出部11-6は、入力された現在時刻の手先の中心の真の目標位置及び姿勢を示す情報のベクトルP=ベクトルPTベクトルΔPと、現在時刻の手先の相対の真の目標位置及び姿勢を示す情報のベクトルR=ベクトルRTベクトルΔRとに基づき、アーム110の真の目標位置及び姿勢を示す情報のベクトルp1式18を算出する。また、アーム120の目標位置算出部11-16には、中心運動の目標位置算出部11-5から現在時刻の手先の中心の真の目標位置及び姿勢を示す情報のベクトルP=ベクトルPTベクトルΔPと、相対運動の目標位置算出部11-15から現在時刻の手先の相対の真の目標位置及び姿勢を示す情報のベクトルR=ベクトルRTベクトルΔRとが入力される。アーム120の目標位置算出部11-16は、入力された現在時刻の手先の中心の真の目標位置及び姿勢を示す情報のベクトルP=ベクトルPTベクトルΔPと、現在時刻の手先の相対の真の目標位置及び姿勢を示す情報のベクトルR=ベクトルRTベクトルΔRとに基づき、アーム120の真の目標位置及び姿勢を示す情報のベクトルp2式19を算出するステップS7。次に、アーム110の目標位置算出部11-6は、算出したアーム110の真の目標位置及び姿勢を示す情報のベクトルp1に基づき、アーム110の目標軌道の補正値である制御値を生成し、生成した制御値に基づき、アーム110を制御する。また、アーム120の目標位置算出部11-16は、算出したアーム120の真の目標位置及び姿勢を示す情報のベクトルp2に基づき、アーム120の目標軌道の補正値である制御値を生成し、生成した制御値に基づき、アーム120を制御するステップS8。次に、制御部11は、内部タイマーの現在時刻tに制御周期Δtを加算するステップS9。次に、制御部11は、加算後の内部タイマー値がt=T作業終了時刻であるか否かを判定するステップS10。ステップS10の判定の結果、内部タイマー値がt=T作業終了時刻ではない場合ステップS10;No、制御部11は、ステップS2に戻り、ステップS2~ステップS10の処理を繰り返す。ステップS10の判定の結果、内部タイマー値がt=T作業終了時刻の場合ステップS10;Yes、制御部11は、制御処理を終了し、次の作業指示を待つ。以上のように、2本のアーム110及び120の運動を、アーム110の手先及びアーム120の手先の中心の位置及び姿勢を示す情報で表し、アーム110に対するアーム120の手先同士の相対の位置及び姿勢を示す情報で表した。更に予めアーム110の手先及びアーム120の手先の中心の目標軌道を設定して記憶部に記憶させ、予めアーム110に対するアーム120の手先の相対的な目標軌道を設定して記憶部に記憶させることで、対象物130を落下させてしまう、もしくは過大な力を加えて破壊してしまうといった課題を解決した。また、制御部11は、2本のアーム110及び120に取り付けられた第1力センサ61及び第2力センサ62の値から上述の2つの運動に対する力を表し、目標軌道に対する補正量を、それらの力に対して仮想的なインピーダンスを受けて運動する対象物の位置として計算した。この結果、対象物130が落下しても、補正量が0となり、第1記憶部11-3及び第2記憶部11-13に記憶されている予め設定された目標軌道に、2本のアーム110及び120の手先が移動するだけであって、両者が衝突することを防ぐことができる。更に、上述のアームの手先同士の相対の位置及び姿勢の運動に対して、仮想的に設定するインピーダンスは、対象物130を把持する際に設定する押し付け力から算出することが可能であり、所望の押し付け力を実現可能とした。また、本実施形態では、物体130のインピーダンスを仮想的に設定して制御する例を説明した。物体130が剛体である場合、物体130のインピーダンスを考慮せずに、制御部11は、相対位置及び姿勢Rの仮想的なインピーダンスを設定し、所望の押し付け力を制御するようにしてもよい。[従来技術との比較]次に、従来技術と本実施形態との比較を行う。従来技術の場合、図30のような構成のため、アーム1の目標値は、アーム1の力センサ961の出力と予め設定されているアーム1の軌道データのみに基づいて算出されている。また、アーム2の目標値は、アーム2の力センサ962に出力に基づいてアーム1の現在位置を推定し、推定したアーム1の位置に基づいてアーム2の目標値を算出していた。このため、対象物130に障害物140が当たった場合、対象物130を落下させてしまう場合もあった。さらに、対象物130を落下させてしまった場合、アーム2の力センサ962に加わる力がなくなるため、アーム2は、アーム1に向けて移動するような目標値が算出される。この結果、アーム2が、アーム1に衝突してしまう場合もあった。これに対し、本実施形態の場合、第1アーム110と、第2アーム120との間にインピーダンスが仮想的にあるとして、インピーダンス制御する。アーム110及び120の第1力センサ61及び第2力センサ62の出力に基づき、対象物130の中心運動に対してはたらく力に基づき中心運動のコンプライアンス成分を算出し、相対運動に対してはたらく力に基づき相対運動のコンプライアンス成分を算出している。さらに、中心運動及び相対運動の各時刻における設定軌道を算出している。そして、中心運動のコンプライアンス成分と中心運動の各時刻における設定軌道とに基づき中心運動の目標値を算出している。また、相対運動のコンプライアンス成分と相対運動の各時刻における設定軌道とに基づき相対運動の目標値を算出している。さらに、中心運動の目標値と相対運動の目標値とに基づき、アーム110及び120の目標値を算出して、アーム110及び120とを制御している。この結果、対象物130が、障害物140に当たった場合でも、対象物130を落下させないように適切な押しつけ力で、アーム110及び120を制御することができる。また、仮に対象物130が、障害物140に当たり落下した場合においても、従来技術とは異なり、アーム110及び120との間には、インピーダンス制御により対象物130を仮想的に把持されているため、第1力センサ61及び第2力センサ62が外力を検出できない状態になっても、アーム120がアーム110に衝突することを防ぐことができる。次に、非特許文献1と本実施形態との比較を行う。非特許文献1では、対象物のインピーダンスは、次式45~47非特許文献1の式21~23である。これらの式45~47を用いて、次式48非特許文献1の式13を書き換えると、アームの相対位置の運動方程式は、次式49のようになる。式45~式49において、FRは、対象物間に働く力であり、Δxは、対象物間に働く力に対する対象物の相対変位であり、MR、DR、Kはそれぞれ正定の慣性行列、減衰係数行列及びバネ定数行列である。また、アームの重心位置の運動方程式は、次式50非特許文献1の式1である。式50において、Fextは、対象物に加わる外力であり、Δxは、対象物に加わる外力Fextに対する対象物の位置及び姿勢の変位であり、M、D、Kはそれぞれ対象物の見かけの慣性行列、減衰係数行列及びバネ定数行列である。式50と式49とを比べるとゲインは異なるが、周波数特性は同じである。すなわち、物体のコンプライアンスセンターに関する運動と、部品間の相対運動とは同じ運動特性を持つ必要がある。一方、本実施形態では、物体のコンプライアンスセンターに関する運動と、部品間エンドエフェクタ間の相対運動とで異なる運動特性を設定することが可能である。このため、物体を把持しながら、落下させることなくその位置及び姿勢を変更させることが可能であり、障害物と衝突した際も落とすことなく、障害物に倣うように物体を移動させることが可能となる。[第2実施形態]第1実施形態では、ロボット1は、対象物130を搬送する例を説明した。第2実施形態においては、ロボット1は、2本のアーム110及び120で、対象物201を把持して、所定の部品211に組み付ける場合について説明する。図19は、本実施形態に係る対象物部品を把持して、所定の部品211に組み付ける一例を説明する図である。図20は、本実施形態に係るフレームがずれた場合、対象物部品を把持して、所定の部品211に組み付ける一例を説明する図である。図19及び図20において、対象物201は、突起部の先端部202を有する凸状の部品であり、突起部以外の両側を2本のアーム110及び120で把持されている。また、フレーム211は、凹状の物体であり、凹部212を有する。ロボット1は、このフレーム211の凹部212に、対象物201の突起部202を組み込むように対象物を移動させるように制御する。なお、本実施形態に係るロボット1及び制御部11の構成は、第1実施形態と同様のため、説明を省略する。第1実施形態では、コンプライアンスセンターを、図4のように対象物130の中心、すなわちベクトルPをベクトルRの中間にした例を説明した。本実施形態では、コンプライアンスセンターを、2本のアーム110及び120のそれぞれの先端から所定の位置に設定する。本実施形態においては、所定の位置は、任意の位置に設定する。なお、コンプライアンスセンターの位置は、作業を行う前に、オペレータが当該作業において最適な場所にあらかじめ決めておく。例えば、図19のように、コンプライアンスセンターを対象物201の凸部の先端202に予めオペレータが設定する。図19のように、対象物201の先端202にコンプライアンスセンターを置くと、対象物201の先端202が空間に対して仮想的に持つインピーダンス特性を設定することが可能となる。なお、インピーダンス特性とは、慣性係数、減衰係数及びバネ定数により式16及び式17で表される特性である。フレーム211と対象物201が接触した際に受ける力を、両方のアーム110及び120に取り付けられている第1力センサ61及び第2力センサ62の値から算出し、それに応じて第1実施形態と同様に、インピーダンス特性に応じて、倣い動作をさせることで対象物201をフレーム211へと組み付けることが可能となる。例えば、図19のように、フレーム211が所定の位置に配置されている場合、両方のアーム110及び120に取り付けた第1力センサ61及び第2力センサ62は、対象物201を把持している場合の力ベクトルf1と力ベクトルf2とが検出する。一方、図20のように、フレーム211aが、x方向に距離d1ずれている場合、対象物201の先端202の面が、フレーム211aの凹部212の角213に当たる。この結果、両方のアーム110及び120に取り付けた第1力センサ61及び第2力センサ62には、対象物201の先端202の面が、フレーム211aの凹部212の角213に当たったことによる力ベクトルf1と力ベクトルf2とが検出される。第1実施形態では、制御部11は、式16と式17のインピーダンス制御による運動方程式を解いてベクトルΔPとベクトルΔRを求めた後、式10と式11に結果を代入して、式18と式19によりベクトルPとベクトルRを算出した。本実施形態では、制御部11は、式16と式17のインピーダンス制御による運動方程式に加え、ダンピング制御の制御則である次式51と次式52を用いてアーム110及びアーム120の目標値を算出する。なお、式51及び式52において、上付き^ので表しているDp^は、粘性係数ダンピング係数である。制御部11は、式51、52、16及び17の式を解いてベクトルΔPとベクトルΔRを求めた後、式10と式11に結果を代入して、ベクトルPとベクトルRを算出する。又、ベクトルFdesは目標外力、ベクトルfdesは目標内力である。式51及び式52において、ベクトルFdesを0とし、ベクトルfdesを、対象物を把持するために必要な押し付け力に設定すると、対象物は把持しながらも、外力に対して位置に追従しなくなるため、ダンピング制御も加えることで、物体が障害物に衝突した際に、あらかじめ設定された軌道には追従せず、障害物に倣うような動作を行う。この結果、高いコンプライアンス性能を実現することが可能となる。次に、制御部11は、次式53と次式54に、算出したベクトルPとベクトルRを代入して、ベクトルp1及びベクトルp2を算出する。すなわち、次式53が、第1実施形態における式18であり、次式54が、第1実施形態における式19である。なお、式53と式54において、ベクトルDは、第1実施形態の式20で表される。また、ベクトルR1Tは、ベクトルPから見たアーム110マニピュレータ1先端の予め設定された軌道である。ベクトルR2Tは、ベクトルPから見たアーム120マニピュレータ2先端の予め設定された軌道である。ベクトルΔR1は、ベクトルPから見たアーム110マニピュレータ1先端のコンプライアンス成分である。ベクトルΔR2は、ベクトルPから見たアーム110マニピュレータ1先端のコンプライアンス成分である。この場合においても、予め算出した各時刻の手先の中心の目標位置及び姿勢軌道と、各時刻の相対の手先の目標位置及び姿勢軌道とを、第1力センサ61及び第1力センサ62により検出された力ベクトルFと力ベクトルfとを用いて、第1実施形態の制御と同様に、図18のフローチャートのように制御することで、対象物130を把持して、所定の部品211に組み付けることができる。以上のように、本実施形態においても、物体のコンプライアンスセンターに関する運動と、部品間エンドエフェクタ間の相対運動とで異なる運動特性を表すことが可能である。このため、物体を把持しながら、落下させることなくその位置及び姿勢を変更させることが可能であり、障害物と衝突した際も落とすことなく、障害物に倣うように物体を移動させることが可能となる。[第3実施形態]第2実施形態では、ベクトルPを空間上の任意の位置に置いて、各アームを制御する例を説明した。すなわち、ベクトルPは、空間に固定された座標系Σで記述している。本実施形態では、例えば、対象物部品の先端に原点を設定し、対象物の位置及び姿勢に応じて変化する座標系Σ’で記述して、各アームの制御を行う。すなわち、本実施形態においては、コンプライアンスセンターは、対象物の位置及び姿勢に応じて変化する。なお、本実施形態に係るロボット1及び制御部11の構成は、第1実施形態と同様のため、説明を省略する。図21は、本実施形態に係る対象物部品を把持して、所定の部品311に組み付ける一例を説明する図である。図21において、符号301は対象物301部品であり、符号311は対象物301部品を取り付けるフレーム311である。図21において、対象物301は、突起部の先端部302を有する凸状の部品であり、突起部以外の両側を2本のアーム110及び120で把持されている。また、フレーム311は、凹状の物体であり、凹部312を有する。ロボット1は、このフレーム311の凹部312に、対象物301の突起部302を組み込むように対象物を移動させるように制御する。例えば、対象物301の先端302に原点O’を設定し、x’軸、y’軸、z’軸をそれぞれ図21のように設定する。このように座標系Σ’O’-x’y’z’を定義する。第1実施形態では、制御部11は、式16と式17を解いた後、式18と式19により各アームの目標位置であるベクトルPとベクトルRを算出した。本実施形態では、制御部11は、座標系Σ’O’-x’y’z’に基づき、ベクトルp1T及びベクトルp2Tを、次式55~式58のように表し、アーム110及びアーム120の目標値を算出する。なお、式55において、ベクトルp1Tは、アーム110の手先の位置及び姿勢を示すベクトルp1の把持した対象物301の位置及び姿勢を操作するように予め設定され第1記憶部11-3に記憶されている軌道である。また、式56において、ベクトルp2Tは、アーム120の手先の位置及び姿勢を示すベクトルp2の把持した対象物301の位置及び姿勢を操作するように予め設定され第1記憶部11-3に記憶されている軌道である。式55~式58を用いて、式18と式19は、次式59と次式60のように置き換える。このように本実施形態では、式59と式60により、制御部11は、各アーム110及び120の目標位置であるベクトルPとベクトルRを算出し、算出した目標位置の制御値に基づき各アームを、第1実施形態のフローチャートの図18と同様に制御する。以上のように、部品の形状に応じて部品の先端に物体座標系とすると、部品の先端が空間に対して仮想的に持つインピーダンス特性を、部品の位置及び姿勢に関係なく、その形状に応じて算出することが可能となる。この結果、フレームと部品が接触した際に受ける力を、両方のアームに取り付けた力センサの値から算出し、それに応じて上述のインピーダンス特性に応じて、倣い動作をさせることで部品をフレームへと組み付けることが可能となる。なお、ベクトルPT及びベクトルRTは、予め設定される軌道のため、ベクトルp1T及びベクトルp2Tを予め制御部11が計算しておき、第1記憶部11-3及び第2記憶部11-13に記憶させておくことが可能である。これにより、演算効率を向上することができる。また、制御部11は、コンプライアンス成分を、式57と式58を用いて算出し、式58及び式60を用いて各アームの目標値を算出することで、重心位置ベクトルP及び相対位置ベクトルRを経由することなく各アーム110及び120の目標位置を計算することが可能になり、計算時間の短縮が可能になる効果がある。[第4実施形態]第1実施形態~第3実施形態では、2本のアームにより制御する例を説明したが、本実施形態は3本のアームを用いて制御する例である。図22は、本実施形態に係る3本のアームによるロボット制御方法を適用するロボット1のアームの概念図である。図22のように、対象物430物体を、3本のアーム401~403が、各指部405~407を介して把持している。なお、図23では、説明のために、対象物430を二次元的に三箇所、把持している図を示したが、これに限らず、3次元的に三箇所を把持するようにしてもよい。図23は、本実施形態に係る3本のアームによる座標系を説明する図である。図23において、第1アーム401マニピュレーター1の手先位置及び姿勢をベクトルx1図4のベクトルp1に相当、第2アーム402マニピュレーター2の手先位置及び姿勢をベクトルx2図4のベクトルp2に相当、第3アーム403マニピュレーター3の手先位置及び姿勢をベクトルx3として表している。また、図23において、ベクトルxpは、3本のアームの手先の中心の位置及び姿勢図4のベクトルPに相当である。さらに、ベクトルx2rは、第1アーム401の先端位置x1と、第2アーム402の先端位置x2との相対位置を表している。x3rは、第1アーム401の先端位置x1と、第3アーム403の先端位置x3との相対位置を表している。ベクトルx2r、xr3及びx1pは、図4のベクトルRに相当する。また、図23においては、3本のアームの統一的な座標系作業座標系の原点Oを交わらせて表している。これらのベクトルx1、x2、x3、xp、x1p、x2r及びx3rを用いて、ベクトルxpは、次式61のように表される。図23のように、ベクトルx2rは、次式62のように表され、ベクトルx3rは、次式63のように表される。式61、式62及び式63を用いて、各アームの手先位置ベクトルx1~ベクトルx3は、次式64のように表される。制御部411は、この式64を、式18及び式19の代わりに用い、式64の各ベクトルx1、x2及びx3を算出し、各アームの目標位置及び姿勢を算出することで、各アーム401~403を制御する。図24は、本実施形態に係る制御部411のブロック図である。図24のように、制御部411は、重心運動に対してはたらく力の算出部411-1、重心運動のコンプライアンス成分算出部411-2、第1記憶部411-3、重心運動の設定軌道算出部411-4、重心運動の目標位置算出部411-5、第1アームの目標位置算出部411-20、相対運動に対してはたらく力の算出部411-11、相対運動のコンプライアンス成分算出部411-12、第2記憶部411-13、相対運動の設定軌道算出部411-14、相対運動の目標位置算出部411-15、第2アームの目標位置算出部411-21、及び第3アームの目標位置算出部411-22を備えている。また、制御部411は、不図示の内部タイマーを備えている。なお、本実施形態では、第1記憶部411-3と第2記憶部411-13のように2つ備える例を説明したが、記憶部は1つでもよい。重心運動に対してはたらく力の算出部411-1には、各アーム401~403に取り付けられている第1力センサ61検出部、第2力センサ62検出部及び第3力センサ463検出部から、力成分とトルク成分を含む情報が入力される。重心運動に対してはたらく力の算出部411-1は、第1力センサ61、第2力センサ62及び第3センサ463との出力とに基づき、対象物の重心運動に対してはたらく力を算出する。重心運動に対してはたらく力の算出部411-1は、算出した対象物の重心運動に対してはたらく力を重心運動のコンプライアンス成分算出部411-2に出力する。なお、重心運動に対してはたらく力とは、アーム401の手先、アーム402の手先及びアーム403の手先の間に把持されている対象物430の重心位置に対して働く力である。対象物430の密度が一様であれば、重心位置は対象物430の中心の位置である。重心運動のコンプライアンス成分算出部411-2は、重心運動に対してはたらく力の算出部411-1から出力された対象物の重心運動に対してはたらく力を示す情報に基づき、対象物の重心運動のコンプライアンス成分を算出する。重心運動のコンプライアンス成分算出部11-2は、算出した対象物の重心運動のコンプライアンス成分を重心運動の目標位置算出部411-5に出力する。第1記憶部411-3には、予め対象物に対する重心運動の軌道に関する情報が記憶されている。重心運動の設定軌道算出部411-4は、第1記憶部411-3に記憶されている対象物に対する重心運動の軌道に関する情報を読み出し、読み出した情報に基づき、対象物に対する重心運動の軌道を算出する。重心運動の設定軌道算出部411-4は、算出した対象物の重心運動の軌道を重心運動の目標位置算出部411-5に出力する。重心運動の目標位置算出部411-5には、重心運動のコンプライアンス成分算出部411-2から出力された対象物の重心運動のコンプライアンス成分を示す情報と、重心運動の設定軌道算出部411-4から出力された対象物の重心運動の設定軌道を示す情報とが入力される。重心運動の目標位置算出部411-5は、入力された対象物の重心運動のコンプライアンス成分を示す情報と、対象物の重心運動の設定軌道を示す情報とに基づき、対象物の重心運動の目標値を算出する。重心運動の目標位置算出部411-5は、算出した対象物の重心運動の目標値を第1アームの目標位置算出部411-20、第2アームの目標位置算出部411-21及び第3アームの目標位置算出部411-22に出力する。相対運動に対してはたらく力の算出部411-11には、各アーム401~403に取り付けられている第1力センサ61、第2力センサ62及び第3力センサ463から、力成分とトルク成分を含む情報が入力される。相対運動に対してはたらく力の算出部411-11は、入力された第1力センサ61、第2力センサ62及び第3力センサ463との出力とに基づき、対象物の相対運動に対してはたらく力を算出する。相対運動に対してはたらく力の算出部411-11は、算出した対象物の相対運動に対してはたらく力を相対運動のコンプライアンス成分算出部411-12に出力する。なお、相対運動に対してはたらく力とは、アーム401に対するアーム402、アーム403の相対的にはたらく力である。相対運動のコンプライアンス成分算出部411-12は、相対運動に対してはたらく力の算出部411-11から出力された対象物の相対運動に対してはたらく力を示す情報に基づき、対象物の相対運動のコンプライアンス成分を算出する。相対運動のコンプライアンス成分算出部411-12は、算出した対象物の相対運動のコンプライアンス成分を相対運動の目標位置算出部411-15に出力する。第2記憶部411-13には、予め相対運動の軌道に関する情報が記憶されている。相対運動の設定軌道算出部411-14は、第2記憶部411-13に記憶されている対象物に対する相対運動の軌道に関する情報を読み出し、読み出した情報に基づき、対象物に対する相対運動の軌道を算出する。相対運動の設定軌道算出部411-14は、算出した対象物の相対運動の軌道を相対運動の目標位置算出部411-15に出力する。相対運動の目標位置算出部411-15には、相対運動のコンプライアンス成分算出部411-12から出力された対象物の相対運動のコンプライアンス成分を示す情報と、相対運動の設定軌道算出部411-14から出力された対象物の相対運動の設定軌道を示す情報とが入力される。相対運動の目標位置算出部411-15は、入力された対象物の相対運動のコンプライアンス成分を示す情報と、対象物の相対運動の設定軌道を示す情報とに基づき、対象物の相対運動の目標値を算出する。算出した対象物の相対運動の目標値を第1アームの目標位置算出部411-20、第2アームの目標位置算出部411-21及び第3アームの目標位置算出部411-22に出力する。第1アームの目標位置算出部411-20には、重心運動の目標位置算出部411-5から対象物の重心運動の目標値を示す情報と、相対運動の目標位置算出部411-15から対象物の相対運動の目標値を示す情報とが入力される。第1アームの目標位置算出部411-20は、入力された対象物の重心運動の目標値を示す情報と、対象物の相対運動の目標値を示す情報とに基づき、第1アームの目標値を算出する。第1アームの目標位置算出部411-20は、算出した第1アームの目標値を第1アーム401の制御信号として、第1アーム401に出力する。第2アームの目標位置算出部411-21には、重心運動の目標位置算出部411-5から対象物の重心運動の目標値を示す情報と、相対運動の目標位置算出部411-15から対象物の相対運動の目標値を示す情報とが入力される。第2アームの目標位置算出部411-20は、入力された対象物の重心運動の目標値を示す情報と、対象物の相対運動の目標値を示す情報とに基づき、第2アームの目標値を算出する。第2アームの目標位置算出部411-20は、算出した第2アームの目標値を第2アーム402の制御信号として、第2アーム402に出力する。第3アームの目標位置算出部411-22には、重心運動の目標位置算出部411-5から対象物の重心運動の目標値を示す情報と、相対運動の目標位置算出部411-15から対象物の相対運動の目標値を示す情報とが入力される。第3アームの目標位置算出部411-22は、入力された対象物の重心運動の目標値を示す情報と、対象物の相対運動の目標値を示す情報とに基づき、第3アームの目標値を算出する。第3アームの目標位置算出部411-22は、算出した第3アームの目標値を第3アーム403の制御信号として、第3アーム403に出力する。以上のように、3本のアームを備えるロボットにおいても、各アームの把持部に取り付けられている各力センサの出力に基づき、各アームの目標位置及び姿勢を算出して各アームを制御するようにした。この結果、物体を把持しながら、落下させることなくその位置及び姿勢を変更させることが可能であり、障害物と衝突した際も落とすことなく、障害物に倣うように物体を移動させることが可能となる。また、3本のアームを備えることで、対象物物体を把持する際の1本辺りの負荷が分散されるため、アームが2本である場合に比べて重量物を安定して把持し、搬送及び組み付けを行うことが可能になる。[第5実施形態]本実施形態は、3本のアームを制御する別の実施形態である。図25は、本実施形態に係る3本のアームによる座標系を説明する図である。図25のように、第1アーム401の手先位置及び姿勢をベクトルx1図4のベクトルp1に相当、第2アーム402の手先位置及び姿勢をベクトルx2図4のベクトルp2に相当、第3アーム403の手先位置及び姿勢をベクトルx3として表している。また、図25において、ベクトルxpは、3本のアームの手先の中心の位置及び姿勢図4のベクトルPに相当である。さらに、ベクトルx2rは、第1アーム401の先端位置x1と、第2アーム402の先端位置x2との相対位置を表している。x3rは、第2アーム402の先端位置x2と、第3アーム403の先端位置x3との相対位置を表している。ベクトルx2r、xr3及びx1pは、図4のベクトルRに相当する。また、図25においては、3本のアームの統一的な座標系作業座標系の原点Oを交わらせて表している。これらのベクトルx1、x2、x3、xp、x1p、x2r及びx3rを用いて、ベクトルxpは、第4実施形態と同様に、式61のように表される。また、図25のように、ベクトルx2rは、次式65のように表され、ベクトルx3rは、次式66のように表される。式61、式65及び式66を用いて、各アームの手先位置ベクトルx1~ベクトルx3は、次式67のように表される。制御部411は、この式67を、式18及び式19の代わりに用い、式67の各ベクトルx1、x2及びx3を算出し、各アームの目標位置及び姿勢を算出することで、各アームを制御する。なお、第4実施形態の式64を用いて各アームの目標位置及び姿勢を算出するか、本実施形態の式67を用いて各アームの目標位置及び姿勢を算出するかは、例えば対象物の形状などに応じてこれらを使い分けるようにしてもよい。すなわち、対象物の形状に応じて、力を制御すべき軸が変わるため、それに応じてこれらのパターンを使い分けるようにしてもよい。以上のように、3本のアームを備えるロボットにおいても、各アームの把持部に取り付けられている各力センサの出力に基づき、各アームの目標位置及び姿勢を算出して各アームを制御するようにした。この結果、物体を把持しながら、落下させることなくその位置及び姿勢を変更させることが可能であり、障害物と衝突した際も落とすことなく、障害物に倣うように物体を移動させることが可能となる。また、3本のアームを備えることで、対象物物体を把持する際の1本辺りの負荷が分散されるため、アームが2本の場合に比べて重量物を安定して把持し、搬送及び組み付けを行うことが可能になる。[第6実施形態]本実施形態は、3本のアームを制御する別の実施形態である。図26は、本実施形態に係る3本のアームによる座標系を説明する図である。図26のように、第1アーム401の手先位置及び姿勢をベクトルx1図4のベクトルp1に相当、第2アーム402の手先位置及び姿勢をベクトルx2図4のベクトルp2に相当、第3アーム403の手先位置及び姿勢をベクトルx3として表している。また、図26において、ベクトルxpは、3本のアームの手先の中心の位置及び姿勢図4のベクトルPに相当である。さらに、ベクトルx2rは、第3アーム403の先端位置x3と、第2アーム402の先端位置x2との相対位置を表している。x3rは、第1アーム401の先端位置x1と、第3アーム403の先端位置x3との相対位置を表している。ベクトルx2r、xr3及びx1pは、図4のベクトルRに相当する。また、図26においては、3本のアームの統一的な座標系作業座標系の原点Oを交わらせて表している。これらのベクトルx1、x2、x3、xp、x1p、x2r及びx3rを用いて、ベクトルxpは、第3実施形態と同様に、式61のように表される。また、図26のように、ベクトルx2rは、次式68のように表され、ベクトルx3rは、次式69のように表される。式61、式68及び式69を用いて、各アームの手先位置ベクトルx1~ベクトルx3は、次式70のように表される。制御部411は、この式70を、式18及び式19の代わりに用い、式70の各ベクトルx1、x2及びx3を算出し、各アームの目標位置及び姿勢を算出することで、各アームを制御する。なお、第4実施形態の式64を用いて各アームの目標位置及び姿勢を算出するか、第5実施形態の式67を用いて各アームの目標位置及び姿勢を算出するか、あるいは、本実施形態の式70を用いて各アームの目標位置及び姿勢を算出するかは、例えば対象物の状などに応じてこれらを使い分けるようにしてもよい。すなわち、対象物の形状に応じて、力を制御すべき軸が変わるため、それに応じてこれらのパターンを使い分けるようにしてもよい。以上のように、3本のアームを備えるロボットにおいても、各アームの把持部に取り付けられている各力センサの出力に基づき、各アームの目標位置及び姿勢を算出して各アームを制御するようにした。この結果、物体を把持しながら、落下させることなくその位置及び姿勢を変更させることが可能であり、障害物と衝突した際も落とすことなく、障害物に倣うように物体を移動させることが可能となる。また、3本のアームを備えることで、対象物物体を把持する際の1本辺りの負荷が分散されるため、アームが2本の場合に比べて重量物を安定して把持し、搬送及び組み付けを行うことが可能になる。[第7実施形態]本実施形態では、4本のアームを制御する実施形態について説明する。図27は、本実施形態に係る4本のアームによるロボット制御方法を適用するロボット1のアームの概念図である。図27のように、対象物530物体を、4本のアーム501~504が、各指部505~508を介して把持している。なお、図27では、説明のために、対象物530を二次元的に四箇所、把持している図を示したが、これに限らず、3次元的に四箇所を把持するようにしてもよい。各アームの制御を行う制御部の構成は、図24の構成において、重心運動に対してはたらく力の算出部411-1に、4本のアームに設けられている各々の力センサー第1力センサ~第4力センサの出力が入力される。ここでは、第3のアームの他に、第4のアームが設けられ、この第4のアームに第4力センサが設けられている。同様に、図24の構成において、相対運動に対してはたらく力の算出部411-11に、4本のアームに設けられている各々の力センサー第1力センサ~第4力センサの出力が入力される。また、図24の構成に加え、不図示の第4アームの目標位置算出部を備える。第4アームの目標位置算出部には、重心運動の目標位置算出部411-5から対象物の重心運動の目標値を示す情報と、相対運動の目標位置算出部411-15から対象物の相対運動の目標値を示す情報とが入力される。第4アームの目標位置算出部は、入力された対象物の重心運動の目標値を示す情報と、対象物の相対運動の目標値を示す情報とに基づき、第4アームの目標値を算出する。第4アームの目標位置算出部は、算出した第4アームの目標値を第4アームの制御信号として、第4アームに出力する。図28は、本実施形態に係る4本のアームによる座標系を説明する図である。図28のように、第1アーム501の手先位置及び姿勢をベクトルx1図4のベクトルp1に相当、第2アーム502の手先位置及び姿勢をベクトルx2図4のベクトルp2に相当、第3アーム503の手先位置及び姿勢をベクトルx3、第4アーム504の手先位置及び姿勢をベクトルx4として表している。また、図28において、ベクトルxpは、4本のアームの手先の中心の位置及び姿勢図4のベクトルPに相当である。さらに、ベクトルx2rは、第1アーム501の先端位置x1と、第2アーム502の先端位置x2との相対位置を表している。x3rは、第1アーム501の先端位置x1と、第3アーム503の先端位置x3との相対位置を表している。x4rは、第1アーム501の先端位置x1と、第4アーム504の先端位置x4との相対位置を表している。すなわち、ベクトルx2r~xnrnは、3以上4以下の自然数は、第1アーム501の先端位置x1と、第nアームの先端位置xnとの相対位置を表している。また、ベクトルx2r、xr3、x4r及びx1pは、図4のベクトルRに相当する。また、図28においては、4本のアームの統一的な座標系作業座標系の原点Oを交わらせて表している。これらのベクトルx1、x2、x3、xp、x1p、x2r、x3r及びx4rを用いて、ベクトルxpは、次式71のように表される。図28のように、ベクトルx2rは、次式72のように表され、ベクトルx3rは、次式73のように表され、ベクトルx4rは、次式74のように表される。式71~式74を用いて、各アームの手先位置ベクトルx1~ベクトルx4は、次式75のように表される。制御部411は、この式75を、式18及び式19の代わりに用い、式75の各ベクトルx1、x2及びx3を算出し、各アームの目標位置及び姿勢を算出することで、各アームを制御する。なお、本実施形態では、アームが4本の場合における制御の一例を説明したが、アームが3本の場合と同様に、対象物の形状等に応じて、各ベクトルx1p、x2r、x3r及びx4rの設定を第4実施形態~第6実施形態のように設定してもよい。すなわち、各ベクトルx1p、x2r、x3r及びx4rは、ベクトルx2r~xnrnは、3以上4以下の自然数は、第1アームの先端位置x1と、第nアームの先端位置xnとの相対位置に限らない。例えば、x2rは、第2アームの先端位置x2と、第nアームの先端位置xnとの相対位置であってもよい。以上のように、4本のアームを備えるロボットにおいても、各アームの把持部に取り付けられている各力センサの出力に基づき、各アームの目標位置及び姿勢を算出して各アームを制御するようにした。この結果、物体を把持しながら、落下させることなくその位置及び姿勢を変更させることが可能であり、障害物と衝突した際も落とすことなく、障害物に倣うように物体を移動させることが可能となる。また、4本のアームを備えることで、対象物物体を把持する際の1本辺りの負荷が分散されるため、アームが2本の場合に比べて重量物を安定して把持し、搬送及び組み付けを行うことが可能になる。[第8実施形態]本実施形態では、nnは2以上の自然数本のアームを制御する実施形態について説明する。図29は、本実施形態に係るn本のアームによる座標系を説明する図である。図29のように、第1のアームの手先位置及び姿勢をベクトルx1図4のベクトルp1に相当、第2のアームの手先位置及び姿勢をベクトルx2図4のベクトルp2に相当、第3のアームの手先位置及び姿勢をベクトルx3、第4のアームの手先位置及び姿勢をベクトルx4、第nのアームの手先位置及び姿勢をベクトルxnとして表している。また、図29において、ベクトルxpは、複数のアームの手先の中心の位置及び姿勢図4のベクトルPに相当である。さらに、ベクトルx2rは、第1アームの先端位置x1と、第2アームの先端位置x2との相対位置を表している。x3rは、第1アームの先端位置x1と、第3アームの先端位置x3との相対位置を表している。x4rは、第1アームの先端位置x1と、第4アームの先端位置x4との相対位置を表している。xnrは、第1アームの先端位置x1と、第nアームの先端位置xnとの相対位置を表している。すなわち、ベクトルx2r~xnrは、第1アームの先端位置x1と、第nアームの先端位置xnとの相対位置を表している。また、ベクトルx2r、xr3、x4rxnr及びx1pは、図4のベクトルRに相当する。また、図29においては、n本のアームの統一的な座標系作業座標系の原点Oを交わらせて表している。これらのベクトルx1、x2、x3、xp、x1p、x2r、x3rxnr及びx4rを用いて、ベクトルxpは、次式76のように表される。図29のように、ベクトルx2r、、ベクトルxnrは、次式77のように表される。式76と式77を用いて、各アームの手先位置ベクトルx1~ベクトルxnは、次式78のように表される。制御部411は、この式78を、式18及び式19の代わりに用い、式78の各ベクトルx1~xnを算出し、各アームの目標位置及び姿勢を算出することで、各アームを制御する。各アームの制御を行う制御部411は、図24の構成において、重心運動に対してはたらく力の算出部411-1に、n本のアームに設けられている各々の力センサー第1力センサ~第n力センサの出力が入力される。同様に、図24の構成において、相対運動に対してはたらく力の算出部411-11に、n本のアームに設けられている各々の力センサー第1力センサ~第n力センサの出力が入力される。また、図24の構成に加え、不図示の第4アーム~第nアームの目標位置算出部を備える。第nアームの目標位置算出部には、重心運動の目標位置算出部411-5から対象物の重心運動の目標値を示す情報と、相対運動の目標位置算出部411-15から対象物の相対運動の目標値を示す情報とが入力される。第nアームの目標位置算出部は、入力された対象物の重心運動の目標値を示す情報と、対象物の相対運動の目標値を示す情報とに基づき、第nアームの目標値を算出する。第nアームの目標位置算出部は、算出した第nアームの目標値を第nアームの制御信号として、第nアームに出力する。なお、本実施形態では、アームがn本の場合における制御の一例を説明したが、アームが3本の場合と同様に、対象物の形状等に応じて、各ベクトルx1p、x2r、x3r及びx4rの設定を第4実施形態~第6実施形態のように変えてもよい。以上のように、n本のアームを備えるロボットにおいても、各アームの把持部に取り付けられている各力センサの出力に基づき、各アームの目標位置及び姿勢を算出して各アームを制御するようにした。この結果、物体を把持しながら、落下させることなくその位置及び姿勢を変更させることが可能であり、障害物と衝突した際も落とすことなく、障害物に倣うように物体を移動させることが可能となる。また、4本のアームを備えることで、対象物物体を把持する際の1本辺りの負荷が分散されるため、アームが2本の場合に比べて重量物を安定して把持し、搬送及び組み付けを行うことが可能になる。なお、本実施形態では、各アームが対象物を把持して、搬送あるいはフレームに組み付ける例を説明したが、例えば、アーム部20-1の第5フレーム25には、カメラを設けられるようにしてもよい。カメラは、制御部11または411の制御によって、対象物またはフレームを撮像し、取り付け位置を撮影した画像に基づき認識するようにしてもよい。そして、認識した結果に基づき、対象物をフレームの取り付け位置に移動するように制御部が制御する。この場合においても、フレームの取り付け部分の位置が予め定められている位置からずれていても、対象物とフレームとが接触したりして、対象物やフレームが破損することを防ぐことができる。なお、本実施形態では、各アームに設けられた力センサを用いて、各アームにかかる外力を検出する例を説明したが、本発明はこれに限定されない。例えば、各アームを接続する各関節屈折部、回転部のモータを駆動する駆動電流値から、アーム部20-1及び20-2に作用する外力を検出するようにしてもよい。さらに、力センサを用いず、各関節の角速度から、各アーム部20-1及び20-2に作用する外力を検出するようにしてもよい。なお、本実施形態では、ロボット制御装置1をロボットに適用する例を説明したが、例えば、本実施形態のロボット制御装置1を、組み立て装置や搬送装置などに適用してもよい。また、本実施形態では、対象物を把持して搬送、または組み込む例を説明したが、例えば、物体の分解や検査など所定の動作を行うようにしてもよい。なお、実施形態の図3および図24の制御部の各部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいうコンピュータシステムとは、OSや周辺機器等のハードウェアを含むものとする。また、コンピュータシステムは、WWWシステムを利用している場合であれば、ホームページ提供環境あるいは表示環境も含むものとする。また、コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、ROMReadOnlyMemory、CD-ROM等の可搬媒体、USBUniversalSerialBusI/Fインタフェースを介して接続されるUSBメモリ、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらにコンピュータ読み取り可能な記録媒体とは、サーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。