"b軸線の方向に延びるとともに、前記b軸線を中心として回転可能に支持されたb回転部と、前記b軸線に直交するa軸線から離れる方向へ延びるとともに、前記b回転部により前記a軸線を中心として回転可能に支持されたa回転部と、を備えるロボットに適用され、前記b軸線を中心として前記b回転部を重力により自由回転させ、且つ前記a軸線を中心として前記a回転部を重力により自由回転させた場合に、前記a回転部の先端が指す方向を鉛直方向として検出する鉛直方向検出手段を備えることを特徴とするロボットの制御装置。b軸線の方向に延びるとともに前記b軸線を中心として回転可能に支持されたb回転部と、前記b軸線に直交するa軸線から離れる方向へ延びるとともに、前記b回転部により前記a軸線を中心として回転可能に支持されたa回転部と、を備えるロボットに適用され、前記a回転部の延びる方向が前記b軸線の方向とずれるように、前記a軸線を中心として前記a回転部を回転させる予備動作手段と、前記予備動作手段により前記a軸線を中心として前記a回転部を回転させた後に、前記b軸線を中心として前記b回転部を重力により自由回転させ、その後に前記a軸線を中心として前記a回転部を重力により自由回転させた場合に、前記a回転部の先端が指す方向を鉛直方向として検出する鉛直方向検出手段と、を備えることを特徴とするロボットの制御装置。前記予備動作手段は、前記a軸線を中心として前記a回転部を回転させることが可能な範囲内において、前記a回転部の先端が前記b軸線から最も離れる位置に前記a回転部を回転させることを特徴とする請求項2に記載のロボットの制御装置。前記b軸線を中心として前記b回転部がb範囲よりも回転することを規制するb規制手段を備え、前記鉛直方向検出手段は、前記b軸線を中心として前記b回転部を重力により自由回転させた際に、前記b規制手段により前記b回転部の回転が規制された場合には、前記b軸線を中心として前記b範囲の中央位置まで前記b回転部を回転させた後に再度、前記b軸線を中心として前記b回転部を重力により自由回転させることを特徴とする請求項1~3のいずれか1項に記載のロボットの制御装置。前記a軸線を中心として前記a回転部がa範囲よりも回転することを規制するa規制手段を備え、前記鉛直方向検出手段は、前記a軸線を中心として前記a回転部を重力により自由回転させた際に、前記a規制手段により前記a回転部の回転が規制された場合には、重力により自由回転させられる方向と反対方向へ前記a回転部を回転させるとともに、その位置から前記a軸線を中心として前記a回転部を重力により自由回転させることを繰返して、その自由回転時に前記a回転部が停止状態で維持される位置を検出し、その位置に前記a回転部を停止させた場合に、前記a回転部の先端が指す方向の反対方向を鉛直方向として検出することを特徴とする請求項1~4のいずれか1項に記載のロボットの制御装置。前記b回転部はc軸線を中心として回転可能に支持されており、前記a回転部がa範囲よりも回転することを規制するa規制手段を備え、前記鉛直方向検出手段は、前記a軸線を中心として前記a回転部を重力により自由回転させた際に、前記a規制手段により前記a回転部の回転が規制された場合には、前記c軸線を中心として前記b回転部を回転させ、前記a規制手段による前記a回転部の回転規制が解除された場合に、前記a回転部の先端が指す方向を鉛直方向として検出することを特徴とする請求項1~4のいずれか1項に記載のロボットの制御装置。前記鉛直方向検出手段は、前記a軸線を中心として前記a回転部を重力により自由回転させた時に、前記a回転部が停止状態のまま維持された場合には、前記a軸線を中心として前記a回転部を回転させることが可能な範囲の中央側へ前記a回転部を回転させた後に再度、前記a軸線を中心として前記a回転部を重力により自由回転させた場合に、前記a回転部の先端が指す方向を鉛直方向として検出することを特徴とする請求項1~4のいずれか1項に記載のロボットの制御装置。前記a回転部の先端の中央には、所定質量の錘が取り付けられていることを特徴とする請求項1~7のいずれか1項に記載のロボットの制御装置。前記ロボットは、第1軸線の方向に延びるとともに、前記第1軸線を中心として回転可能に支持された第1回転部と、前記第1軸線に直交する平面に含まれる第2軸線から離れる方向へ延びるとともに、前記第1回転部により前記第2軸線を中心として回転可能に支持された第2回転部と、前記第2軸線に平行な第3軸線から離れる方向へ延びるとともに、前記第2回転部により前記第3軸線を中心として回転可能に支持された第3回転部と、前記第3軸線に直交する平面に含まれる第4軸線の方向に延びるとともに、前記第3回転部により前記第4軸線を中心として回転可能に支持された第4回転部と、前記第4軸線に直交する第5軸線から離れる方向へ延びるとともに、前記第4回転部により前記第5軸線を中心として回転可能に支持された第5回転部と、前記第5軸線に直交する第6軸線の方向に延びるとともに、前記第5回転部により前記第6軸線を中心として回転可能に支持された第6回転部と、を備える6軸ロボットであって、前記b軸線及び前記b回転部は、それぞれ前記第4軸線及び前記第4回転部であり、前記a軸線及び前記a回転部は、それぞれ前記第5軸線及び前記第5回転部であることを特徴とする請求項1~8のいずれか1項に記載のロボットの制御装置。前記鉛直方向検出手段により検出された鉛直方向に基づいて、前記ロボットにおける所定方向を基準方向とするロボット座標系を変換して、前記基準方向を前記鉛直方向に一致させたユーザ座標系を設定するユーザ座標系設定手段を備えることを特徴とする請求項1~9のいずれか1項に記載のロボットの制御装置。前記ロボット座標系及び前記ユーザ座標系は、x軸,y軸,z軸を有する三次元座標系であり、前記ユーザ座標系設定手段は、変換前の前記ロボット座標系のxy平面に投影した前記鉛直方向のベクトルと前記変換前のロボット座標系のy軸方向のベクトルとを平行にするのに必要な角度だけ、前記ロボット座標系においてz軸を中心としてx軸及びy軸を回転させるとともに、変換前の前記ロボット座標系のxy平面上において前記投影された前記鉛直方向のベクトルに垂直なベクトルを中心として、前記鉛直方向のベクトルと前記ロボット座標系のz軸方向のベクトルとを平行にするのに必要な角度だけ、前記ロボット座標系のx軸,y軸,z軸を回転させることにより、前記ユーザ座標系を設定することを特徴とする請求項10に記載のロボットの制御装置。前記ロボット座標系及び前記ユーザ座標系は、x軸,y軸,z軸を有する三次元座標系であり、前記ユーザ座標系設定手段は、前記ロボット座標系のxy平面に投影した前記鉛直方向のベクトルと前記ロボット座標系のy軸方向のベクトルとを平行にするように、前記ロボット座標系においてz軸を中心としてx軸及びy軸を回転させた後、前記鉛直方向のベクトルと前記回転後のロボット座標系のz軸方向のベクトルとを平行にするように、前記回転後のロボット座標系においてx軸を中心としてy軸及びz軸を回転させることにより、前記ユーザ座標系を設定することを特徴とする請求項10に記載のロボットの制御装置。ところで、特許文献1に記載のものでは、直交する3軸で構成された3次元の座標系を設定し、ロボットの関節角度を座標系の位置データに変換している。すなわち、設定された座標系の基準方向とロボットの基準方向との関係に基づいて、各関節に作用する重力トルクを算出している。そして、座標系の基準方向と鉛直方向とが一致する場合において、重力トルクを補償して位置ずれを抑制している。しかしながら、ロボットの基準方向と鉛直方向との関係がずれている場合には、重力トルクの補償を適切に行うことができず、ロボットの制御精度が低下するおそれがある。本発明は、こうした実情に鑑みてなされたものであり、鉛直方向を検出することのできるロボットの制御装置を提供することを主たる目的とするものである。本発明は、上記課題を解決するために、以下の手段を採用した。第1の発明は、b軸線の方向に延びるとともに、前記b軸線を中心として回転可能に支持されたb回転部と、前記b軸線に直交するa軸線から離れる方向へ延びるとともに、前記b回転部により前記a軸線を中心として回転可能に支持されたa回転部と、を備えるロボットに適用され、前記b軸線を中心として前記b回転部を重力により自由回転させ、且つ前記a軸線を中心として前記a回転部を重力により自由回転させた場合に、前記a回転部の先端が指す方向を鉛直方向として検出する鉛直方向検出手段を備えることを特徴とする。上記構成によれば、b軸線の方向に延びるb回転部例えばロボットのアームを、b軸線を中心として回転させることができる。また、b回転部により回転可能に支持されるとともに、b軸線に直交するa軸線から離れる方向へ延びるa回転部例えばロボットの手首部を、a軸線を中心として回転させることができる。ここで、a回転部の延びる方向とb軸線の方向とがずれている場合、すなわちa軸線を中心としてa回転部がb軸線上からずれた位置へ回転させられている場合には、a回転部及びb回転部を併せた重心は、b軸線上からa回転部の先端側へずれることとなる。このため、b軸線を中心としてb回転部が重力により自由回転させられた場合には、a回転部の先端が最下端に位置するようにb回転部が回転させられる。また、a軸線を中心としてa回転部が重力により自由回転させられた場合には、a回転部の先端が最下端に位置するようにa回転部が回転させられる。したがって、これらが共に行われた場合には、a回転部の先端が鉛直方向を指すこととなる。よって、a回転部の先端が指す方向を鉛直方向として検出することができ、ひいてはロボットの基準方向と鉛直方向との関係を補正することができる。なお、b軸線を中心としてb回転部を重力により自由回転させた場合に、その釣合い状態において、b回転部の回転を規制してもよいし、b回転部を回転可能なままの状態としてもよい。同様にして、a軸線を中心としてa回転部を重力により自由回転させた場合に、その釣合い状態において、a回転部の回転を規制してもよいし、a回転部を回転可能なままの状態としてもよい。また、b軸線を中心としてb回転部を重力により自由回転させることと、a軸線を中心としてa回転部を重力により自由回転させることとを、同時に行ってもよいし、いずれか一方を先に行った後に他方を行うようにしてもよい。第2の発明は、b軸線の方向に延びるとともに前記b軸線を中心として回転可能に支持されたb回転部と、前記b軸線に直交するa軸線から離れる方向へ延びるとともに、前記b回転部により前記a軸線を中心として回転可能に支持されたa回転部と、を備えるロボットに適用され、前記a回転部の延びる方向が前記b軸線の方向とずれるように、前記a軸線を中心として前記a回転部を回転させる予備動作手段と、前記予備動作手段により前記a軸線を中心として前記a回転部を回転させた後に、前記b軸線を中心として前記b回転部を重力により自由回転させ、その後に前記a軸線を中心として前記a回転部を重力により自由回転させた場合に、前記a回転部の先端が指す方向を鉛直方向として検出する鉛直方向検出手段と、を備えることを特徴とする。上記構成によれば、鉛直方向を検出する予備動作として、a回転部の延びる方向がb軸線の方向とずれるように、a軸線を中心としてa回転部が回転させられる。このため、a回転部及びb回転部を併せた重心を、b軸線上からa回転部の先端側へ意図的にずらすことができる。その後に、b軸線を中心としてb回転部が重力により自由回転させられるため、a回転部の先端が最下端に位置するようにb回転部が回転させられる。そして、その後にa軸線を中心としてa回転部が重力により自由回転させられた場合には、a回転部の先端が最下端に位置するようにa回転部が回転させられる。したがって、a回転部の先端が鉛直方向を指すこととなり、a回転部の先端が指す方向を鉛直方向として検出することができる。なお、上記の場合も、a軸線,b軸線を中心として、それぞれa回転部,b回転部を重力により自由回転させた場合に、その釣合い状態において、a回転部やb回転部の回転を規制してもよいし、a回転部やb回転部を回転可能なままの状態としてもよい。第3の発明では、前記予備動作手段は、前記a軸線を中心として前記a回転部を回転させることが可能な範囲内において、前記a回転部の先端が前記b軸線から最も離れる位置に前記a回転部を回転させることを特徴とする。上記構成によれば、鉛直方向を検出する予備動作として、回転可能な範囲内において、a回転部の先端がb軸線から最も離れる位置にa回転部が回転させられる。このため、a回転部及びb回転部を併せた重心を、b軸線上からa回転部の先端側へ最大限ずらすことができる。したがって、b軸線を中心としてb回転部を重力により自由回転させた場合に、a回転部の先端をより確実に最下端に位置させることができる。第4の発明では、前記b軸線を中心として前記b回転部がb範囲よりも回転することを規制するb規制手段を備え、前記鉛直方向検出手段は、前記b軸線を中心として前記b回転部を重力により自由回転させた際に、前記b規制手段により前記b回転部の回転が規制された場合には、前記b軸線を中心として前記b範囲の中央位置まで前記b回転部を回転させた後に再度、前記b軸線を中心として前記b回転部を重力により自由回転させることを特徴とする。上記構成によれば、b軸線を中心としてb回転部がb範囲よりも回転することが、b規制手段により規制される。例えば、b軸線の方向に延びるとともに、b軸線を中心として回転させられるb回転部では、b範囲が略360度に設定されることが多い。このため、b軸線を中心としてb回転部を重力により自由回転させた場合に、a回転部の先端が最下端よりも高い位置にある状態で、b回転部の回転がb規制手段により規制されるおそれがある。ここで、b軸線を中心としてb回転部を重力により自由回転させた際に、b規制手段によりb回転部の回転が規制された場合には、b軸線を中心としてb範囲の中央位置までb回転部が回転させられる。このため、b回転部の回転が規制された位置と反対回転側に、a回転部の先端が最下端となる位置が存在する場合には、この中央位置までにa回転部の先端が最上端を越えることとなる。したがって、その後に再度、b軸線を中心としてb回転部を重力により自由回転させた場合には、a回転部の先端が最下端に位置するようにb回転部を回転させることができる。そして、上述したように、a軸線を中心としてa回転部が重力により自由回転させられた場合に、a回転部の先端が指す方向が鉛直方向として検出される。よって、b軸線を中心としてb回転部がb範囲よりも回転することを規制するb規制手段を備える場合であっても、鉛直方向を正確に検出することができる。なお、b軸線を中心としてb範囲の中央位置までb回転部を回転させる際には、少なくともb範囲の中央位置までb回転部を回転させればよく、b範囲の中央位置を越えた位置までb回転部を回転させてもよい。また、b規制手段は、b回転部の回転を、制御的ソフト的に規制するものであってもよいし、物理的機械的に規制するものであってもよい。第5の発明では、前記a軸線を中心として前記a回転部がa範囲よりも回転することを規制するa規制手段を備え、前記鉛直方向検出手段は、前記a軸線を中心として前記a回転部を重力により自由回転させた際に、前記a規制手段により前記a回転部の回転が規制された場合には、重力により自由回転させられる方向と反対方向へ前記a回転部を回転させるとともに、その位置から前記a軸線を中心として前記a回転部を重力により自由回転させることを繰返して、その自由回転時に前記a回転部が停止状態で維持される位置を検出し、その位置に前記a回転部を停止させた場合に、前記a回転部の先端が指す方向の反対方向を鉛直方向として検出することを特徴とする。上記構成によれば、a軸線を中心としてa回転部がa範囲よりも回転することが、a規制手段により規制される。例えば、b軸線に直交するa軸線から離れる方向へ延びるとともに、a軸線を中心として回転させられるa回転部では、a範囲が360度よりも狭く設定されることが多く、詳しくは略180度に設定されることが多い。このため、a軸線を中心としてa回転部を重力により自由回転させた場合に、a回転部の先端が最下端よりも高い位置にある状態で、a回転部の回転がa規制手段により規制されるおそれがある。ここで、a軸線を中心としてa回転部を重力により自由回転させた際に、a規制手段によりa回転部の回転が規制された場合には、重力により自由回転させられる方向と反対方向へa回転部を回転させるとともに、その位置からa軸線を中心としてa回転部を重力により自由回転させることが繰返される。このため、a回転部の先端が徐々に上昇するようにa軸線を中心としてa回転部が回転させられ、その都度a軸線を中心としてa回転部が重力により自由回転させられる。したがって、a回転部の先端が最上端に到達するまでは、a軸線を中心としてa回転部を重力により自由回転させた時に、重力の作用によりa回転部が回転を開始する。そして、a回転部の先端が最上端に到達した状態では、a軸線を中心としてa回転部を重力により自由回転させた時に、a回転部が停止状態で維持される。よって、a回転部が停止状態で維持される位置にa回転部を停止させた場合に、a回転部の先端が指す方向の反対方向を鉛直方向として検出することができる。なお、a規制手段は、a回転部の回転を、制御的ソフト的に規制するものであってもよいし、物理的機械的に規制するものであってもよい。第6の発明では、前記b回転部はc軸線を中心として回転可能に支持されており、前記a回転部がa範囲よりも回転することを規制するa規制手段を備え、前記鉛直方向検出手段は、前記a軸線を中心として前記a回転部を重力により自由回転させた際に、前記a規制手段により前記a回転部の回転が規制された場合には、前記c軸線を中心として前記b回転部を回転させ、前記a規制手段による前記a回転部の回転規制が解除された場合に、前記a回転部の先端が指す方向を鉛直方向として検出することを特徴とする。上記構成によれば、c軸線を中心としてb回転部を回転させることができる。このとき、c軸線を中心としてb回転部を回転させることにより、水平面に対するb回転部の傾きを変更することができる場合がある。そして、a軸線を中心としてa回転部を重力により自由回転させた際に、a規制手段によりa回転部の回転が規制された場合には、a回転部の先端が最下端よりも高い位置にある。この場合には、a回転部側が高くなるように、b回転部が水平面に対して傾いた状態となっている。一方、a軸線を中心としてa回転部を重力により自由回転させた際に、a規制手段によりa回転部の回転が規制されていない場合には、a回転部の先端が最下端に位置している。この場合には、a回転部側が低くなるように、b回転部が水平面に対して傾いた状態となっている。したがって、c軸線を中心としてb回転部を回転させ、a規制手段によるa回転部の回転規制が解除された場合には、a回転部の先端が鉛直方向を指す状態となる。よって、この場合にa回転部の先端が指す方向を、鉛直方向として検出することができる。第7の発明では、前記鉛直方向検出手段は、前記a軸線を中心として前記a回転部を重力により自由回転させた時に、前記a回転部が停止状態のまま維持された場合には、前記a軸線を中心として前記a回転部を回転させることが可能な範囲の中央側へ前記a回転部を回転させた後に再度、前記a軸線を中心として前記a回転部を重力により自由回転させた場合に、前記a回転部の先端が指す方向を鉛直方向として検出することを特徴とする。a軸線を中心としてa回転部を重力により自由回転させた時に、a回転部が停止状態のまま維持された場合には、a回転部の先端が鉛直方向を指す状態、又はa回転部の先端が鉛直方向と反対方向を指す状態にある。この点、上記構成によれば、そのような場合には、a軸線を中心としてa回転部を回転させることが可能な範囲の中央側へa回転部が回転させられる。このため、a回転部の先端が鉛直方向を指す状態、又はa回転部の先端が鉛直方向と反対方向を指す状態から、a回転部の角度がずれることとなる。その後に再度、a軸線を中心としてa回転部が重力により自由回転させられた場合には、a回転部の先端が鉛直方向を指す状態となる。よって、a回転部の先端が指す方向を鉛直方向として検出することができる。a回転部やb回転部の重心が、それぞれの中心線からずれている場合には、a回転部及びb回転部を重力により自由回転させた際に、a回転部の先端が指す方向と鉛直方向とがずれるおそれがある。この点、第8の発明では、前記a回転部の先端の中央には、所定質量の錘が取り付けられているといった構成を採用している。このため、a回転部及び錘を併せた重心を、a回転部の中心線に近付けることができる。また、a回転部とb回転部と錘とを併せた重心を、a軸線に垂直でb軸線を含む平面に近付けることができる。したがって、b軸線を中心としてb回転部を重力により自由回転させた場合に、a回転部の先端がより最下端に近付くようにb回転部を回転させることができる。また、a軸線を中心としてa回転部を重力により自由回転させた場合に、a回転部の先端が指す方向をより鉛直方向に近付けることができる。その結果、鉛直方向の検出精度を向上させることができる。第9の発明では、前記ロボットは、第1軸線の方向に延びるとともに、前記第1軸線を中心として回転可能に支持された第1回転部と、前記第1軸線に直交する平面に含まれる第2軸線から離れる方向へ延びるとともに、前記第1回転部により前記第2軸線を中心として回転可能に支持された第2回転部と、前記第2軸線に平行な第3軸線から離れる方向へ延びるとともに、前記第2回転部により前記第3軸線を中心として回転可能に支持された第3回転部と、前記第3軸線に直交する平面に含まれる第4軸線の方向に延びるとともに、前記第3回転部により前記第4軸線を中心として回転可能に支持された第4回転部と、前記第4軸線に直交する第5軸線から離れる方向へ延びるとともに、前記第4回転部により前記第5軸線を中心として回転可能に支持された第5回転部と、前記第5軸線に直交する第6軸線の方向に延びるとともに、前記第5回転部により前記第6軸線を中心として回転可能に支持された第6回転部と、を備える6軸ロボットであって、前記b軸線及び前記b回転部は、それぞれ前記第4軸線及び前記第4回転部であり、前記a軸線及び前記a回転部は、それぞれ前記第5軸線及び前記第5回転部であることを特徴とする。上記構成によれば、6軸ロボットにおいて、第4軸線を中心として回転する第4回転部と、第5軸線を中心として回転する第5回転部とを用いて、鉛直方向を検出することができる。ここで、第4回転部は第4軸線の方向に延びているため、第4軸線を中心として第4回転部を回転させた場合に、第4回転部は第4軸線上で回転することとなり、第4回転部が周囲に振り回されることがない。また、一般に、第5回転部の長さは、第2回転部や第3回転部の長さよりも短く設定されている。このため、第5軸線から離れる方向へ延びる第5回転部が、第5軸線を中心として回転させられたとしても、第5回転部が周囲に振り回される範囲は比較的狭くなる。したがって、鉛直方向を検出する際に、ロボットが周囲の設備等に接触することを抑制することができる。ところで、一般にティーチング等では、ロボットを基準として設定しているロボット座標系ベース座標系を用いて、ロボットの座標をユーザが入力している。しかしながら、作業効率化や設備の影響を受けて、ロボットが壁や天井、さらには傾いた壁等に配置されることがある。その場合に、ユーザが床面地面を基準としたユーザ座標系ワールド座標系ではなく、ロボットを基準としたロボット座標系を用いてロボットの座標を入力するためには、ユーザ座標系での座標をロボット座標系での座標に変換する必要がある。その結果、意図した座標へロボットを動作させることができなかったり、変換作業に手間がかかったりするおそれがある。この点、第10の発明では、前記鉛直方向検出手段により検出された鉛直方向に基づいて、前記ロボットにおける所定方向を基準方向とするロボット座標系を変換して、前記基準方向を前記鉛直方向に一致させたユーザ座標系を設定するユーザ座標系設定手段を備えている。上記構成によれば、検出された鉛直方向に基づいて、ロボットにおける所定方向を基準方向とするロボット座標系を変換して、その基準方向を鉛直方向に一致させたユーザ座標系が設定される。すなわち、ロボットの基準方向と検出された鉛直方向との関係を用いて、ロボット座標系とユーザ座標系との関係が求められる。このため、ロボットの制御装置は、一方の座標系での座標を他方の座標系での座標に変換することが可能となる。したがって、ユーザはユーザ座標系を用いてロボットの座標を入力することができ、変換作業の手間を減らすことができるとともに、意図した座標へロボットを動作させることが容易となる。具体的には、第11の発明では、前記ロボット座標系及び前記ユーザ座標系は、x軸,y軸,z軸を有する三次元座標系であり、前記ユーザ座標系設定手段は、変換前の前記ロボット座標系のxy平面に投影した前記鉛直方向のベクトルと前記変換前のロボット座標系のy軸方向のベクトルとを平行にするのに必要な角度だけ、前記ロボット座標系においてz軸を中心としてx軸及びy軸を回転させるとともに、変換前の前記ロボット座標系のxy平面上において前記投影された前記鉛直方向のベクトルに垂直なベクトルを中心として、前記鉛直方向のベクトルと前記ロボット座標系のz軸方向のベクトルとを平行にするのに必要な角度だけ、前記ロボット座標系のx軸,y軸,z軸を回転させることにより、前記ユーザ座標系を設定するといった構成を採用している。上記構成によれば、変換前のロボット座標系のxy平面に投影した上記鉛直方向のベクトルと変換前のロボット座標系のy軸方向のベクトルとを平行にするのに必要な角度だけ、ロボット座標系においてz軸を中心としてx軸及びy軸が回転させられる第1制御。これにより、ロボット座標系のx軸及びy軸が、ユーザ座標系のx軸及びy軸に対して、z軸を中心として回転してずれていることを補正することができる。また、変換前のロボット座標系のxy平面上において投影された上記鉛直方向のベクトルに垂直なベクトルを中心として、鉛直方向のベクトルとロボット座標系のz軸方向のベクトルとを平行にするのに必要な角度だけ、ロボット座標系のx軸,y軸,z軸が回転させられる第2制御。これにより、ロボット座標系のz軸が、ユーザ座標系のz軸に対して傾いていることを補正することができる。その結果、ロボット座標系のx軸,y軸,z軸を、それぞれユーザ座標系のx軸,y軸,z軸に変換することができる。なお、上記では、ロボットを固定した面に沿った水平方向を、ユーザ座標系のx軸に設定している。また、上記第1制御及び第2制御は、いずれを先に実行してもよい。より具体的には、第12の発明では、前記ロボット座標系及び前記ユーザ座標系は、x軸,y軸,z軸を有する三次元座標系であり、前記ユーザ座標系設定手段は、前記ロボット座標系のxy平面に投影した前記鉛直方向のベクトルと前記ロボット座標系のy軸方向のベクトルとを平行にするように、前記ロボット座標系においてz軸を中心としてx軸及びy軸を回転させた後、前記鉛直方向のベクトルと前記回転後のロボット座標系のz軸方向のベクトルとを平行にするように、前記回転後のロボット座標系においてx軸を中心としてy軸及びz軸を回転させることにより、前記ユーザ座標系を設定するといった構成を採用している。上記構成によれば、ロボット座標系のxy平面に投影した鉛直方向のベクトルとロボット座標系のy軸方向のベクトルとを平行にするように、ロボット座標系においてz軸を中心としてx軸及びy軸が回転させられる。これにより、ロボット座標系のx軸が、ユーザ座標系のx軸、すなわちロボットを固定した面に沿った水平方向と一致する。その後、鉛直方向のベクトルと回転後のロボット座標系のz軸方向のベクトルとを平行にするように、回転後のロボット座標系においてx軸を中心としてy軸及びz軸が回転させられる。これにより、ロボット座標系のz軸が、ユーザ座標系のz軸に対して傾いていることを補正することができる。その結果、ロボット座標系のx軸,y軸,z軸を、それぞれユーザ座標系のx軸,y軸,z軸に変換することができる。以下、垂直多関節型ロボットに具体化した一実施形態について、図面を参照しつつ説明する。本実施形態のロボットは、例えば産業用ロボットとして機械組立工場などの組立システムにて用いられる。はじめに、ロボット10の概要を図1に基づいて説明する。同図に示すように、ロボット10は、各関節の回転中心軸線として、第1軸線J1、第2軸線J2、第3軸線J3、第4軸線J4、第5軸線J5、第6軸線J6を有する6軸ロボットである。これら各軸線における各部の動作角度は、それぞれサーボモータ等からなる駆動源の駆動、及び減速機等による減速を通じて調整される。サーボモータは、いずれも正逆両方向の回転が可能であり、モータ駆動により原点位置を基準として各部が動作する。なお、各関節には、各軸線を中心として各部を滑らかに回転可能とする軸受け軸受け手段が設けられている。ロボット10の設置箇所としては、主に床、天井、壁の3通りがあり、いずれの場合であっても適用可能である。ここでは、ロボット10が床に設置されており、第1軸線J1が基本的に鉛直方向へ延びている場合を例として説明する。すなわち、図1の下方向が基本的に鉛直方向を示すものとする。ロボット10において、基台11は、床等に固定される固定部12と、その固定部12の上方に設けられる回転部13第1回転部とを有しており、回転部13が第1軸線J1を回転中心として水平方向に回転可能になっている。すなわち、回転部13は、第1軸線J1の方向に延びるとともに、固定部12により第1軸線J1を中心として回転可能に支持されている。下アーム15第2回転部が、水平方向に延びる第2軸線J2を回転中心として、時計回り方向又は反時計回り方向に回転可能に連結されている。すなわち、下アーム15は、第1軸線J1に直交する平面に含まれる第2軸線J2から離れる方向へ延びるとともに、回転部13により第2軸線J2を中心として回転可能に支持されている。このため、下アーム15の重心は、第2軸線J2から離れた位置にある。下アーム15は、基本姿勢として鉛直方向に延びる向きに設けられている。下アーム15の上端部には、上アーム16が、水平方向に延びる第3軸線J3c軸線を回転中心として、時計回り方向又は反時計回り方向に回転可能に連結されている。すなわち、上アーム16は、第2軸線J2に平行な第3軸線J3から離れる方向へ延びるとともに、下アーム15により第3軸線J3を中心として回転可能に支持されている。このため、上アーム16の重心は、第3軸線J3から離れた位置にある。上アーム16は、基本姿勢として水平方向に延びる向きに設けられている。上アーム16は、基端側と先端側とで2つのアーム部に分割されて構成されており、基端側は第1上アーム16A第3回転部、先端側は第2上アーム16B第4回転部、b回転部となっている。第2上アーム16Bは、上アーム16の長手方向に延びる第4軸線J4b軸線を回転中心として、第1上アーム16Aに対してねじり方向に回転可能になっている。すなわち、第2上アーム16Bは、第3軸線J3に直交する平面に含まれる第4軸線J4の方向に延びるとともに、第1上アーム16Aにより第4軸線J4を中心として回転可能に支持されている。上アーム16詳しくは第2上アーム16Bの先端部には、手首部17第5回転部、a回転部が設けられている。手首部17は、水平方向に延びる第5軸線J5a軸線を回転中心として、第2上アーム16Bに対して回転可能になっている。すなわち、手首部17は、第4軸線J4に直交する第5軸線J5から離れる方向へ延びるとともに、第2上アーム16Bにより第5軸線J5を中心として回転可能に支持されている。このため、手首部17の重心は、第5軸線J5から離れた位置にある。手首部17の先端部には、ワークやツール等を取り付けるためのハンド部18第6回転部が設けられている。ハンド部18は、その中心線である第6軸線J6を回転中心として、ねじり方向に回転可能になっている。すなわち、ハンド部18は、第5軸線J5に直交する第6軸線J6の方向に延びるとともに、手首部17により第6軸線J6を中心として回転可能に支持されている。ロボット10の各部は、その延びる方向の中心線に関して略対称に形成されており、略中心線上に重心が位置している。具体的には、回転部13は、その延びる方向の中心線第1軸線J1に関して略対称に形成されており、略第1軸線J1上に重心が位置している。下アーム15は、その延びる方向の中心線基本姿勢では第1軸線J1に関して略対称に形成されており、略その延びる方向の中心線上に重心が位置している。第2上アーム16Bは、その延びる方向の中心線第4軸線J4に関して略対称に形成されており、略第4軸線J4上に重心が位置している。手首部17は、その延びる方向の中心線基本姿勢では第4軸線J4に関して略対称に形成されており、略その延びる方向の中心線上に重心が位置している。ハンド部18は、その延びる方向の中心線第6軸線J6に関して略対称に形成されており、略第6軸線J6上に重心が位置している。図2に、ロボット10の制御装置20及びその周辺構成を示す。制御装置20は、ロボット10の動作を制御するものであり、CPU21鉛直方向検出手段、予備動作手段、ROM22、RAM23、駆動回路25、及び位置検出回路26等を備えている。これらは互いに電気的に接続されている。ROM22は、ロボット10のシステムプログラムや動作プログラム等を記憶している。RAM23は、これらのプログラムを実行する際にパラメータの値等を記憶する。CPU21は、これらのROM22やRAM23の記憶内容に基づいて、各種プログラムを実行することにより、ロボット10の動作を制御する。ロボット10において、各軸線J1~J6を回転中心軸とした各関節には、それぞれ前段部側にサーボモータ31が設けられている。CPU21は、駆動回路25を通じて、各サーボモータ31の駆動を行う。これにより、各関節において、前段部に設けられたサーボモータ31の駆動により、後段部がそれぞれ回転動作する。各サーボモータ31には、その出力軸を制動する非励磁作動型の電磁ブレーキ33と、出力軸の回転位置に応じたパルス信号を出力するエンコーダ32とがそれぞれ設けられている。各電磁ブレーキ33は、ばね等の弾性力に基づきサーボモータ31の出力軸の制動を行い、励磁コイルへの電力供給に基づき出力軸の制動を解除する。CPU21は、駆動回路25を通じて、各電磁ブレーキ33の駆動を行う。CPU21は、各電磁ブレーキ33による出力軸の制動を解除した状態において各サーボモータ31の駆動を行う。各エンコーダ32は、所定パターンに形成された回転子の回転を磁気的又は光学的に検出する検出素子と、その検出素子の信号を処理するICとを有している。位置検出回路26には、各エンコーダ32の検出信号がそれぞれ入力される。位置検出回路26は、各エンコーダ32の検出信号に基づいて、回転部13、下アーム15、第1上アーム16A、第2上アーム16B、手首部17、及びハンド部18の各位置各角度を検出する。具体的には、位置検出回路26は、固定部12に対する回転部13の回転角度、回転部13に対する下アーム15の回転角度、下アーム15に対する第1上アーム16Aの回転角度、第1上アーム16Aに対する第2上アーム16Bの回転角度、第2上アーム16Bに対する手首部17の回転角度、手首部17に対するハンド部18の回転角度をそれぞれ検出し、それら検出した位置情報をCPU21に出力する。位置検出回路26は、上記の各回転角度を0.1°単位で検出可能である。そして、CPU21は、動作プログラムを実行することにより、位置検出回路26から入力される位置情報に基づいて、ロボット10の上記各部の動作をフィードバック制御する。また、CPU21は、後述する鉛直方向検出制御を実行する。ロボット10の各関節では、前段部に対する後段部の動作可能範囲がそれぞれ設定されている。この動作可能範囲a範囲、b範囲は、CPU21a規制手段、b規制手段による制御においてソフト的に各部の回転を規制するソフトリミットと、機械的物理的に各部の回転を規制するメカリミットとによって設定されている。また、各動作可能範囲には、基準位置としての原点位置がそれぞれ設定されている。具体的には、前段部に対する後段部の動作可能範囲は以下の通りである。すなわち、回転部13,第2上アーム16B,ハンド部18では、原点位置0°、ソフトリミット位置-180.5°,180.5°、メカリミット位置-181.0°,181.0°である。下アーム15,第1上アーム16A,手首部17では、原点位置0°、ソフトリミット位置-90.5°,90.5°、メカリミット位置-91.0°,91.0°である。CPU21は、上記各部が上記ソフトリミット位置に到達した場合には、そのソフトリミット位置を越えて回転しないように各部の回転を規制する。なお、上記各部がそれぞれの原点位置に位置している状態を、各部の基本姿勢としている。また、CPU21は、第1軸線J1の一方向を基準方向とした3次元の座標系を設定し、ロボット10の各関節の角度を座標系の位置データに変換する。そして、第1軸線J1と鉛直方向との関係、及び各関節の角度や各部アーム等の質量に基づいて、各関節に作用する重力トルクを算出する。CPU21は、ハンド部18に持った部品を製品に挿入する場合等に、部品を押す力を弱める力制限制御を実行する。このとき、重力に対抗して各部を支持する力が弱くなることから、重力により各部が下がることを抑制するために重力補償制御を実行する。具体的には、上記のように算出した重力トルクと反対向きで大きさの等しいトルクを、ロボット10の各部の駆動トルクに上乗せする。こうした重力補償制御では、ロボット10の基準方向第1軸線J1の一方向と、鉛直方向との関係を正確に把握する必要がある。また、その関係がずれている場合には、その関係を補正する必要がある。例えば、第1軸線J1において回転部13から固定部12へ向かう方向を基準方向とする。ここで、固定部12が床に固定されていれば、基準方向と鉛直方向とが一致することとなるが、固定部12が天井や壁に固定されている場合には、基準方向と鉛直方向とがずれることとなる。このようにロボット10の基準方向と鉛直方向との関係がずれている場合に、基準方向が鉛直方向に一致していると想定して重力補償制御を実行すると、重力トルクを適切に補償することができない。例えば、ロボット10が天井に設置されている場合に、基準方向が鉛直方向に一致している、すなわちロボット10が床に設置されていると想定して重力補償制御を実行すると、重力トルクと同じ向きのトルクを駆動トルクに上乗せすることとなる。なお、ロボット10の固定部12を床や壁に固定する角度がずれている場合や、床や壁そのものが水平や垂直からずれている場合にも、同様の問題は生じ得る。次に、ロボット10の第2上アーム16B及び手首部17を動作させることにより、鉛直方向を検出する制御について説明する。図3は、この鉛直方向検出制御の処理手順を示すフローチャートである。この処理は、工場へのロボット10の設置時に、CPU21によって1回のみ実行される。なお、この処理は、ロボット10の設置箇所が、床、天井、壁のいずれの場合であっても有効であるが、ここではロボット10が床に設置されている場合を例として説明する。まず、この処理が開始される前提として、ロボット10が作動されており、ロボット10の各関節において、各電磁ブレーキ33による各サーボモータ31の出力軸の制動が解除され、各サーボモータ31が駆動状態通電状態となっている。この状態では、各サーボモータ31の駆動トルクにより、各関節の角度が目標角度に維持されている。そして、手首部17の現在の角度が0.0°よりも小さいか否か判定しS11、0.0°よりも小さいと判定された場合にはS11:YES、第5軸線J5を中心として手首部17を-90°.0まで回転させ、0.0°よりも小さくないと判定された場合にはS11:NO、第5軸線J5を中心として手首部17を90.0°まで回転させる。すなわち、手首部17の延びる方向が第4軸線J4の方向とずれるように、詳しくは、手首部17の動作可能範囲内において手首部17の先端が第4軸線J4から最も離れる位置-90.0°、90.0°まで、第5軸線J5を中心として手首部17を回転させる。その際、手首部17の現在の位置に基づいて、手首部17の先端が第4軸線J4から最も離れる2つの位置のうち、近い方の位置へ手首部17を回転させる。なお、S11~S13の処理が、予備動作手段としての処理に相当する。ここで、S11~S13の処理の作用効果を説明する。図1に示すように、手首部17の延びる方向と第4軸線J4の方向とが一致している場合には基本姿勢、ハンド部18、手首部17、及び第2上アーム16Bを併せた重心は、略第4軸線J4上に位置している。したがって、この状態において、第4軸線J4を中心として、第2上アーム16Bを重力により自由回転させたとしても、第2上アーム16Bは回転しない。これに対して、手首部17の延びる方向を第4軸線J4の方向からずらすように、第5軸線J5を中心として手首部17を回転させるため、ハンド部18、手首部17、及び第2上アーム16Bを併せた重心を、第4軸線J4上から手首部17の先端側ハンド部18側へずらすことができる。このとき、手首部17の先端を第4軸線J4から離すほど、第4軸線J4上から手首部17の先端側へ上記重心をずらすことができる。この点、手首部17の動作可能範囲-90.5°~90.5°内において手首部17の先端が第4軸線J4から最も離れる位置-90.0°位置、90.0°位置まで、第5軸線J5を中心として手首部17を回転させるため、第4軸線J4上から手首部17の先端側へ上記重心を最大限ずらすことができる。なお、その際に、手首部17の現在の位置に基づいて、手首部17の先端が第4軸線J4から最も離れる2つの位置のうち、近い方の位置へ手首部17を回転させるため、手首部17の回転に要する時間を短縮することができる。図3に戻り、続いて、第4軸線J4を中心として第2上アーム16Bを重力により自由回転させるS14。具体的には、第4軸線J4を回転中心軸とする関節において、電磁ブレーキ33によるサーボモータ31の出力軸の制動を解除するとともに、サーボモータ31への通電を停止させる、すなわちサーボモータ31の駆動を停止させる。続いて、第2上アーム16Bが所定時間停止状態で維持されたか否か判定するS15。具体的には、位置検出回路26により検出される第2上アーム16Bの角度が、数秒間詳しくは5秒間変化していないか否か判定する。第2上アーム16Bが所定時間停止状態で維持されていないと判定された場合にはS15:NO、第2上アーム16Bが所定時間停止状態で維持されたと判定されるまで待つ。そして、第2上アーム16Bが所定時間停止状態で維持されたと判定された場合にはS15:YES、第2上アーム16Bがソフトリミット位置に到達したか否か判定するS16。具体的には、位置検出回路26により検出される第2上アーム16Bの角度が、-180.5°又は180.5°となったか否か判定する。なお、上述したように、CPU21は、第2上アーム16Bがソフトリミット位置に到達した場合には、そのソフトリミット位置を越えて回転しないように第2上アーム16Bの回転を規制する。上記判定において、第2上アーム16Bがソフトリミット位置に到達していないと判定された場合にはS16:NO、第2上アーム16Bを駆動状態通電状態にして、第1上アーム16Aに対する第2上アーム16Bの現在の角度を維持するS17。なおこのとき、第2上アーム16Bを駆動するサーボモータ31の出力軸は、電磁ブレーキ33による制動が解除された状態となっているが、この出力軸を電磁ブレーキ33により制動した状態にしてもよい。一方、上記判定において、第2上アーム16Bがソフトリミット位置に到達していると判定された場合にはS16:YES、1Aに進み、図4に示すように、第2上アーム16Bを駆動状態通電状態にしてS31、そのソフトリミット位置から、0.0°を越えた位置0.0°±α°まで第2上アーム16Bを回転させるS32。なお、0.0<α<180.0であり、例えばαは2.0~3.0に設定される。すなわち、第4軸線J4を中心として、ソフトリミット位置-180.5°又は180.5°から、動作可能範囲-180.5°~180.5°の少なくとも中央位置0.0°まで第2上アーム16Bを回転させる。その後、1Bに進み、図3に示すように、再度S14の処理から実行する。ここで、S14~S16、及びS31~S32の処理の作用効果を説明する。上述したS11~S13の処理によって、ハンド部18、手首部17、及び第2上アーム16Bを併せた重心は、第4軸線J4上から手首部17の先端側へずらされた状態となっている。この状態において、第4軸線J4を中心として第2上アーム16Bを重力により自由回転させると、第4軸線J4を中心とした周方向において最下端に上記重心が位置するように、第2上アーム16Bが回転しようとする。すなわち、第4軸線J4を中心とした周方向において、その最下端に手首部17の先端が位置するように、第2上アーム16Bが回転しようとする。このとき、ロボット10の設置状態により、第2軸線J2及び第3軸線J3が水平方向から傾いている場合がある。具体的には、例えばロボット10が壁に設置されている場合や、第1軸線J1が鉛直方向から傾いている場合等である。図5は、第2上アーム16B及び手首部17を、第4軸線J4の方向からみた模式図である。同図に示すように、第4軸線J4を中心として第2上アーム16Bを自由回転させる処理の開始時に、第2上アーム16Bの角度θが-180.5°≦θ<-30.0°である場合には、第2上アーム16Bの自由回転により実線で示す状態となる。この場合には、第4軸線J4を中心とした周方向の最下端まで手首部17の先端が移動するよりも前に、ソフトリミットにより第2上アーム16Bの回転が規制されることとなる。そして、ソフトリミットにより第2上アーム16Bの回転が規制された場合には、第2上アーム16Bが所定時間停止状態で維持されたと判定され、第2上アーム16Bがソフトリミット位置に到達していると判定される。このため、そのソフトリミット位置から、二点鎖線で示す0°を越えた位置まで第2上アーム16Bが回転させられる。このとき、第4軸線J4を中心とした周方向の最上端-30.0°位置を手首部17の先端が越える位置まで、第4軸線J4を中心として第2上アーム16Bが回転する。その後、再度第4軸線J4を中心として第2上アーム16Bが重力により自由回転させさられ、破線で示すように、第4軸線J4を中心とした周方向において、その最下端に手首部17の先端が位置するように、第2上アーム16Bが回転する。すなわち、第5軸線J5の方向が水平方向と一致した状態となり、鉛直方向に沿った垂直な平面上で手首部17が回転する状態となる。また、第4軸線J4を中心として第2上アーム16Bを自由回転させる処理の開始時に、第2上アーム16Bの角度θが-30°<θ≦180.5°である場合には、第2上アーム16Bの自由回転により破線で示す状態となる。すなわち、この場合には、ソフトリミットにより第2上アーム16Bの回転が規制されることなく、重力による第2上アーム16Bの自由回転により、鉛直方向に沿った垂直な平面上で手首部17が回転する状態となる。なお、第4軸線J4を中心として第2上アーム16Bが自由回転する際には、上記サーボモータ31や減速機等が回転することとなるため、第2上アーム16Bの回転を抑制するように摩擦力等が生じる。この点、ハンド部18、手首部17、及び第2上アーム16Bを併せた重心が、第4軸線J4上から手首部17の先端側へ最大限ずらされているため、第2上アーム16Bを回転させるように作用する重力トルクを最大にすることができる。したがって、第2上アーム16Bの回転を抑制する摩擦力等が生じたとしても、より確実に、手首部17の先端が最下端に位置するように、すなわち鉛直方向に沿った垂直な平面上で手首部17が回転する状態となるように、第4軸線J4を中心として第2上アーム16Bを回転させることができる。ちなみに、上述したように、第4軸線J4を回転中心軸とした関節には、第4軸線J4を中心として第2上アーム16Bを滑らかに回転可能とする軸受けが設けられている。同様に、第5軸線J5を回転中心軸とした関節には、第5軸線J5を中心として手首部17を滑らかに回転可能とする軸受けが設けられている。図3に戻り、第1上アーム16Aに対する第2上アーム16Bの現在の角度を維持した後S17、第5軸線J5を中心として手首部17を重力により自由回転させるS18。具体的には、第5軸線J5を回転中心軸とする関節において、電磁ブレーキ33によるサーボモータ31の出力軸の制動を解除するとともに、サーボモータ31への通電を停止させる、すなわちサーボモータ31の駆動を停止させる。続いて、手首部17が所定時間停止状態で維持されたか否か判定するS19。具体的には、位置検出回路26により検出される手首部17の角度が、数秒間詳しくは5秒間変化していないか否か判定する。手首部17が所定時間停止状態で維持されていないと判定された場合にはS19:NO、手首部17が所定時間停止状態で維持されたと判定されるまで待つ。そして、手首部17が所定時間停止状態で維持されたと判定された場合にはS19:YES、第5軸線J5を中心として手首部17を重力により自由回転させた際に、手首部17が回転したか否か判定するS20。具体的には、位置検出回路26により検出される手首部17の角度が、-90.0°又は90.0°から変化したか否か判定する。このとき、位置検出回路26は、手首部17の回転角度を0.1°単位で検出可能であり、例えば手首部17の角度が90.0°から90.5°ソフトリミット位置まで変化した場合も、手首部17が回転したと判定する。上記判定において、第5軸線J5を中心として手首部17を重力により自由回転させた際に、手首部17が回転していないと判定された場合にはS20:NO、2Aに進み、図6に示すように、手首部17を駆動状態通電状態にしてS41、現在の角度-90.0°又は90.0°からβ°又は-β°だけ手首部17を回転させるS42。このとき、手首部17の現在の角度が-90.0°であれば、手首部17をβ°回転させ、手首部17の現在の角度が90.0°であれば、手首部17を-β°回転させる。なお、-90.0<β<90.0であり、例えばβは30.0に設定される。すなわち、第5軸線J5を中心として手首部17を重力により自由回転させた時に、手首部17が停止状態のまま維持された場合には、第5軸線J5を中心として手首部17を回転させることが可能な範囲-90.5°~90.5°の中央0.0°側へ、所定角度βだけ手首部17部を回転させる。その後、S18~S19と同様にして、第5軸線J5を中心として手首部17を重力により自由回転させS43、手首部17が所定時間停止状態で維持されたか否か判定するS44。そして、手首部17が所定時間停止状態で維持されたと判定された場合にはS44:YES、2Bへ進み、図3に示すように、その停止状態において手首部17の先端が指す方向を鉛直方向として検出するS22。具体的には、手首部17の現在の角度方向において手首部17の先端側へ向かう方向、すなわち第5軸線J5から手首部17の現在の角度へ向かう方向を鉛直方向として検出する。なおこのとき、手首部17を駆動するサーボモータ31の出力軸は、電磁ブレーキ33による制動が解除された状態となっているが、この出力軸を電磁ブレーキ33により制動した状態にしてもよい。その後、この一連の処理を終了するEND。ここで、S18~S20、S41~S44、及びS22の処理の作用効果を説明する。上述したS14~S17の処理によって、手首部17の先端が最下端に位置するように、すなわち鉛直方向に沿った垂直な平面上で手首部17が回転する状態となるように、第4軸線J4を中心として第2上アーム16Bが回転した状態となっている。この状態において、第5軸線J5を中心として手首部17を重力により自由回転させると、第5軸線J5を中心とした周方向において最下端に手首部17の先端が位置するように、手首部17が回転しようとする。図7は、第2上アーム16B及び手首部17を第5軸線J5の方向からみた模式図である。このとき、同図に実線で示すように、手首部17の先端が鉛直方向の反対方向鉛直上方を指している場合と、破線で示すように、手首部17の先端が鉛直方向鉛直下方を指している場合とのみ、その状態で手首部17に作用する重力が釣合い、手首部17が回転しないこととなる。換言すれば、第5軸線J5を中心として手首部17を重力により自由回転させた際に、手首部17が回転していないと判定された場合には、手首部17の先端は鉛直上方又は鉛直下方のいずれかを指す状態となっている。そして、例えば実線で示すように、90.0°の角度において手首部17の先端が鉛直上方を指している状態から、2点鎖線で示すように第5軸線J5を中心として手首部17が-30.0°回転させられる。その後に、手首部17が重力により自由回転させられ、破線で示すように、手首部17の先端が鉛直下方を指す角度-90.0°まで手首部17が回転する。なお、90.0°の角度において手首部17の先端が鉛直下方を指している場合には、第5軸線J5を中心として手首部17が-30.0°回転させられ、手首部17の先端が上昇する。その後に、手首部17が重力により自由回転させられ、手首部17の先端が下降して、鉛直下方を指す角度90.0°まで手首部17が回転する。したがって、その後に、手首部17が所定時間停止状態で維持されたと判定された場合に、その停止状態において手首部17の先端が指す方向を鉛直方向として検出することができる。図3に戻り、第5軸線J5を中心として手首部17を重力により自由回転させた際に、手首部17が回転したと判定された場合にはS20:YES、手首部17がソフトリミット位置に到達したか否か判定するS21。具体的には、位置検出回路26により検出される手首部17の角度が、-90.5°又は90.5°となったか否か判定する。なお、上述したように、CPU21は、手首部17がソフトリミット位置に到達した場合には、そのソフトリミット位置を越えて回転しないように手首部17の回転を規制する。上記判定において、手首部17がソフトリミット位置に到達していないと判定された場合にはS21:NO、上述したように、その停止状態において手首部17の先端が指す方向を鉛直方向として検出しS22、この一連の処理を終了するEND。ここで、S20~S22の処理の作用効果を説明する。上述したように、第5軸線J5を中心として手首部17を重力により自由回転させると、第5軸線J5を中心とした周方向において最下端に手首部17の先端が位置するように、手首部17が回転しようとする。このため、手首部17が回転したと判定され、且つ手首部17がソフトリミット位置に到達していないと判定された場合には、手首部17の先端が鉛直方向を指す角度まで、手首部17が回転した状態となっている。図8は、第2上アーム16B及び手首部17を、第5軸線J5の方向からみた模式図である。同図に示すように、ロボット10の動作状態や設置状態により、第2上アーム16Bの先端が下方へ傾斜している場合がある。具体的には、第2軸線J2を中心として下アーム15が回転している場合や、第3軸線J3を中心として上アーム16が回転している場合、ロボット10が壁に設置されており、第1軸線J1を中心として回転部13が回転している場合等である。このように、第2上アーム16Bの先端が下方へ傾斜していた場合には、第5軸線J5を中心として手首部17が重力により自由回転させられた際に、手首部17は実線で示す-90.0°の角度から破線で示す角度まで回転することとなる。なお、2点鎖線で示すように90.0°の角度から、手首部17が重力により自由回転させられた場合も、手首部17は破線で示す角度まで回転することとなる。したがって、手首部17の先端が指す方向を鉛直方向として検出することができる。図3に戻り、手首部17がソフトリミット位置に到達したと判定された場合にはS21:YES、3Aに進み、図9に示すように、初期設定としてx=0、y=1とするS51。続いて、手首部17を駆動状態通電状態にしてS51、現在の角度-90.5°又は90.5°からx°まで手首部17を回転させS53、手首部17が所定時間停止状態で維持されたか否か判定するS55。そして、手首部17が所定時間停止状態で維持されていないと判定された場合にはS55:NO、手首部17が正方向へ回転したか否か判定するS56。具体的には、位置検出回路26により検出される第2上アーム16Bの角度が増加したか否か判定する。この判定において、手首部17が正方向へ回転していないと判定された場合にはS56:NO、x=x90/2yとし、手首部17が正方向へ回転したと判定された場合にはS56:YES、x=x-90/2yとする。そして、y=y1とするS59。すなわち、次回S53の処理において、重力により自由回転させられた方向と反対方向へ、手首部17が特定角度回転させられるようにxの値を更新する。その際に、2分探索法を用いて、手首部17を重力により自由回転させる時に、手首部17が停止状態のまま維持される角度手首部17の先端が鉛直上方を指す角度を探索する。そして、手首部17が所定時間停止状態で維持されと判定された場合にはS55:YES、その停止状態において手首部17の先端が指す方向の反対方向を鉛直方向鉛直下方として検出しS22、この一連の処理を終了するEND。ここで、S51~S60の処理の作用効果を説明する。上述したように、第5軸線J5を中心として手首部17を重力により自由回転させると、第5軸線J5を中心とした周方向において最下端に手首部17の先端が位置するように、手首部17が回転しようとする。このとき、上述したように、ロボット10の動作状態や設置状態により、第2上アーム16Bの先端が上方へ傾斜している場合がある。図10は、第2上アーム16B及び手首部17を、第5軸線J5の方向からみた模式図である。例えば、同図に実線で示すように、第2上アーム16Bの先端が上方へ傾斜していた場合には、第5軸線J5を中心として手首部17が重力により自由回転させられた際に、手首部17は実線で示す-90.5°の角度まで回転して、ソフトリミットによりその回転が規制されることとなる。そして、矢印M1で示すように、第5軸線J5を中心として手首部17が、二点差線で示す0.0°まで回転させられる。その後に、矢印M2で示すように、手首部17が重力により自由回転させられ、手首部17が負方向へ回転する。このため、x=090/21に更新され、矢印M3で示す位置まで手首部17が回転させられる。その後に、矢印M4で示すように、手首部17が重力により自由回転させられ、手首部17が負方向へ回転する。したがって、x=4590/22に更新される。このように2分探索法を用いた処理を繰返すことにより、破線で示すように手首部17が垂直な状態となると、手首部17に作用する重力が釣合う状態となる。このため、手首部17を重力により自由回転させた時に、手首部17が回転することなく、停止状態のままで所定時間維持されることとなる。このとき、手首部17の先端が鉛直上方を指す状態となるため、手首部17の先端が指す方向の反対方向を鉛直方向鉛直下方として検出することができる。なお、手首部17が90.5°の角度まで回転して、ソフトリミットによりその回転が規制されていた場合も、同様の処理により鉛直方向を検出することができる。上述したように鉛直方向を検出することにより、第1軸線J1において回転部13から固定部12へ向かう方向基準方向と、手首部17の先端が指す方向鉛直方向との関係を把握することができる。このため、ロボット10の基準方向と鉛直方向との関係がずれている場合には、その関係を補正することができる。したがって、ロボット10の基準方向と鉛直方向との関係、及び各関節の角度や各部アーム等の質量に基づいて、各関節に作用する重力トルクを正確に算出することができ、ひいては重力補償制御を適切に実行することができる。以上詳述した本実施形態は以下の利点を有する。第4軸線J4を中心として第2上アーム16Bが重力により自由回転させられた場合には、手首部17の先端が最下端に位置するように第2上アーム16Bが回転させられる。また、第5軸線J5を中心として手首部17が重力により自由回転させられた場合には、手首部17の先端が最下端に位置するように手首部17が回転させられる。したがって、これらを共に行うことにより、手首部17の先端が鉛直方向を指すようにすることができる。よって、手首部17の先端が指す方向を鉛直方向として検出することができ、ひいてはロボット10の基準方向と鉛直方向との関係を補正することができる。鉛直方向を検出する予備動作として、手首部17の延びる方向が第4軸線J4の方向とずれるように、第5軸線J5を中心として手首部17が回転させられる。このため、ハンド部18、手首部17、及び第2上アーム16Bを併せた重心を、第4軸線J4上から手首部17の先端側へ意図的にずらすことができる。さらに、鉛直方向を検出する予備動作として、手首部17の動作可能範囲-90.5°~90.5°内において、手首部17の先端が第4軸線J4から最も離れる位置-90.0°又は90.0°に手首部17が回転させられる。このため、第4軸線J4上から手首部17の先端側へ、上記重心を最大限ずらすことができる。したがって、第4軸線J4を中心として第2上アーム16Bを重力により自由回転させた場合に、手首部17の先端をより確実に最下端に位置させることができる。第4軸線J4を中心として第2上アーム16Bを重力により自由回転させた際に、ソフトリミットにより第2上アーム16Bの回転が規制された場合には、第4軸線J4を中心として動作可能範囲-180.5°~180.5°の中央位置0.0°を越える位置まで、第2上アーム16Bが回転させられる。このため、第2上アーム16Bの回転が規制された位置と反対回転側に、手首部17の先端が最下端となる位置が存在する場合には、この中央位置までに手首部17の先端が最上端を越えることとなる。したがって、その後に再度、第4軸線J4を中心として第2上アーム16Bを重力により自由回転させた場合には、手首部17の先端が最下端に位置するように第2上アーム16Bを回転させることができる。第5軸線J5を中心として手首部17を重力により自由回転させた際に、ソフトリミットにより手首部17の回転が規制された場合には、重力により自由回転させられる方向と反対方向へ手首部17を回転させるとともに、その位置から第5軸線J5を中心として手首部17を重力により自由回転させることが繰返される。このため、手首部17の先端が徐々に上昇するように第5軸線J5を中心として手首部17が回転させられ、その都度第5軸線J5を中心として手首部17が重力により自由回転させられる。そして、手首部17の先端が最上端に到達した状態では、第5軸線J5を中心として手首部17を重力により自由回転させた時に、手首部17が停止状態のまま維持される。よって、手首部17が停止状態で維持される位置に手首部17を停止させた場合に、手首部17の先端が指す方向の反対方向を鉛直方向として検出することができる。第5軸線J5を中心として手首部17を重力により自由回転させた時に、手首部17が回転することなく、停止状態のまま維持された場合には、手首部17の先端が鉛直方向を指す状態、又は手首部17の先端が鉛直方向と反対方向を指す状態にある。そのような場合には、第5軸線J5を中心として手首部17を回転させることが可能な範囲の中央側へ、所定角度βだけ手首部17が回転させられる。このため、手首部17の先端が鉛直方向を指す状態、又は手首部17の先端が鉛直方向と反対方向を指す状態から、手首部17の角度がずれることとなる。その後に再度、第5軸線J5を中心として手首部17が重力により自由回転させられた場合には、手首部17の先端が鉛直方向を指す状態となる。よって、手首部17の先端が指す方向を鉛直方向として検出することができる。6軸ロボット10において、第4軸線J4を中心として回転する第2上アーム16Bと、第5軸線J5を中心として回転する手首部17とを用いて、鉛直方向を検出している。ここで、第2上アーム16Bは第4軸線J4の方向に延びているため、第4軸線J4を中心として第2上アーム16Bを回転させた場合に、第2上アーム16Bは第4軸線J4上で回転することとなり、第2上アーム16Bが周囲に振り回されることがない。また、手首部17の長さは、下アーム15や上アーム16の長さよりも短く設定されている。このため、第5軸線J5から離れる方向へ延びる手首部17が、第5軸線J5を中心として回転させられたとしても、手首部17が周囲に振り回される範囲は比較的狭くなる。したがって、鉛直方向を検出する際に、ロボット10が周囲の設備等に接触することを抑制することができる。上記実施形態に限定されず、例えば次のように実施することもできる。上記実施形態では、鉛直方向検出制御を、工場へのロボット10の設置時に1回のみ行うようにしたが、この制御を所定の期間毎に行ってもよい。S11~S13において、手首部17の現在の位置に基づいて、手首部17の先端が第4軸線J4から最も離れる2つの位置±90.0°のうち、近い方の位置へ手首部17を回転させるようにしたが、常に一方の位置例えば90.0°へ回転させるようにしてもよい。また、手首部17の先端が第4軸線J4から最も離れる2つの位置±90.0°に限らず、それらの位置よりも手前の位置例えば±80.0°等へ、手首部17を回転させてもよい。ただし、ハンド部18、手首部17、及び第2上アーム16Bを併せた重心を、第4軸線J4上から手首部17のできるだけ先端側へずらすためには、手首部17の先端が第4軸線J4から最も離れる2つの位置へ回転させることが望ましい。図3のS21において、手首部17がソフトリミット位置に到達したと判定された場合に、第3軸線J3c軸線を中心として第2上アーム16B上アーム16を回転させ、ソフトリミットによる手首部17の回転規制が解除された場合に、手首部17の先端が指す方向を鉛直方向として検出することもできる。すなわち、図11に実線で示すように、手首部17を重力により自由回転させた際にソフトリミット位置-90.5°で回転が規制された場合に、第3軸線J3を中心として第2上アーム16Bを回転させることにより、水平面に対する第2上アーム16Bの傾きを変更することができる。ここで、上述したように、第5軸線J5を中心として手首部17を重力により自由回転させた際に、ソフトリミットにより手首部17の回転が規制されていない場合には、手首部17の先端が最下端に位置していることとなる。したがって、第3軸線J3を中心として第2上アーム16Bを回転させ、ソフトリミットによる手首部17の回転規制が解除された場合には、手首部17の先端が鉛直方向を指す状態となる。よって、この場合に手首部17の先端が指す方向を鉛直方向として検出することができる。なお、第3軸線J3を中心として第2上アーム16Bを回転させることに代えて、第2軸線J2を中心として第2上アーム16B下アーム15及び上アーム16を回転させてもよい。手首部17の延びる方向が第4軸線J4の方向とずれるように、第5軸線J5を中心として手首部17が回転させる予備動作S11~S13を省略して、第2上アーム16Bの重力による自由回転と、手首部17の重力による自由回転とを、同時に実行することもできる。こうした構成であっても、第2上アーム16B及び手首部17が、ソフトリミットにより規制されていない場合に、手首部17の先端が指す方向を鉛直方向として検出することができる。上記実施形態及びその変形例では、各関節における各部の動作範囲を、CPU21を通じた制御ソフトリミットにより規制したが、このソフトリミットを停止させて、機械的物理的な規制メカリミットにより規制してもよい。そして、S16において第2上アーム16Bがメカリミット位置に到達したか否か判定するとともに、S21において手首部17がメカリミット位置に到達したか否か判定するようにしてもよい。また、第2上アーム16Bや手首部17の動作可能範囲が規制されていない場合には、これらが規制位置に到達したか否かの判定処理、及び規制位置に到達していると判定された後の処理を省略することができる。手首部17や第2上アーム16Bの重心が、それぞれの中心線からずれている場合には、手首部17及び第2上アーム16Bを重力により自由回転させた際に、手首部17の先端が指す方向と鉛直方向とがずれるおそれがある。この点、図12に示すように、手首部17ハンド部18の先端の中央には、所定質量の円柱状の錘41が取り付けられているといった構成を採用することにより、ハンド部18、手首部17、及び錘41を併せた重心を、手首部17の中心線Cに近付けることができる。また、ハンド部18、手首部17、第2上アーム16B、及び錘41を併せた重心を、第5軸線J5に垂直で第4軸線J4を含む仮想平面Sに近付けることができる。したがって、第4軸線J4を中心として第2上アーム16Bを重力により自由回転させた場合に、手首部17の先端がより最下端に近付くように第2上アーム16Bを回転させることができる。また、第5軸線J5を中心として手首部17を重力により自由回転させた場合に、手首部17の先端が指す方向をより鉛直方向に近付けることができる。その結果、鉛直方向の検出精度を向上させることができる。第1軸線J1b軸線を中心として回転部13b回転部を回転させ、第3軸線J3a軸線を中心として上アーム16a回転部を回転させて、鉛直方向検出制御を実行することもできる。ただし、鉛直方向を検出する際に、ロボット10が周囲の設備等に接触することを抑制するためには、第4軸線J4を中心として回転する第2上アーム16Bと、第5軸線J5を中心として回転する手首部17とを用いることが望ましい。要するに、b軸線の方向に延びるとともに、b軸線を中心として回転可能に支持されたb回転部と、b軸線に直交するa軸線から離れる方向へ延びるとともに、b回転部によりa軸線を中心として回転可能に支持されたa回転部とを備えるロボットであれば、上述した鉛直方向検出制御を適用することができる。そのようなロボットであれば、6軸ロボットに限らず、5軸ロボットや、4軸ロボットを採用することもできる。また、上記実施形態の応用として、ロボット10の基準方向と検出された鉛直方向との関係を用いて、ロボット座標系ワールド座標系とユーザ座標系ベース座標系との関係を求めることができる。そして、ロボットの制御装置20は、一方の座標系での座標を他方の座標系での座標に変換することが可能となる。ここで、一般にティーチング等では、ロボット10を基準として設定しているロボット座標系を用いて、ロボット10のアーム16の座標をユーザが入力している。しかしながら、ロボット10の基台11が壁や天井、さらには傾いた壁等に配置された場合には、ロボット10を基準としたロボット座標系を用いてアーム16の座標を入力することは容易ではない。すなわち、ユーザが床面地面を基準としたユーザ座標系ではなく、ロボット10を基準としたロボット座標系を用いてアーム16の座標を入力するためには、ユーザ座標系での座標をロボット座標系での座標に変換する必要がある。その結果、意図した座標へロボット10のアーム16を動作させることができなかったり、変換作業に手間がかかったりするおそれがある。そこで以下に、検出された鉛直方向に基づいて、ロボット10における所定方向を基準方向とするロボット座標系を変換して、基準方向を鉛直方向に一致させたユーザ座標系を設定する制御の処理手順を説明する。なお、上記基準方向として、第1軸線J1において回転部13から固定部12へ向かう方向を設定しており、この基準方向はロボット座標系におけるz軸の負方向である。図13は、ユーザ座標系を設定する処理の手順を示すフローチャートである。この処理は、鉛直方向が検出された後に、CPU21ユーザ座標系設定手段によって1回のみ実行される。まず、ユーザ座標系を設定する機能が有効であるか否か判定するS71。この機能の有効及び無効は、ロボット10の制御装置20において適宜変更することができる。この判定において、ユーザ座標系を設定する機能が有効でないと判定した場合にはS71:NO、この一連の処理を終了するEND。一方、上記判定において、ユーザ座標系を設定する機能が有効であると判定した場合にはS71:YES、検出された鉛直方向とロボット座標系のz軸とが平行であるか否か判定するS72。すなわち、ロボット10の基台11が、床又は天井に配置されているか否か判定する。この判定において、検出された鉛直方向とロボット座標系のz軸とが平行であると判定した場合にはS72:YES、この一連の処理を終了するEND。すなわち、ロボット座標系とユーザ座標系とが分かり易く対応しているため、ロボット座標系の変換を行わない。一方、上記判定において、検出された鉛直方向とロボット座標系のz軸とが平行でないと判定した場合にはS72:NO、検出された鉛直方向が前回初期の鉛直方向から変化しているか否か判定するS73。この判定において、検出された鉛直方向が前回から変化していないと判定した場合にはS73:NO、この一連の処理を終了するEND。すなわち、ロボット10の配置が変更されていないと判定して、ロボット座標系の変換を行わない。一方、上記判定において、検出された鉛直方向が前回から変化していると判定した場合にはS73:YES、検出された鉛直方向のベクトルをロボット座標系のxy平面に投影するS74。具体的には、鉛直方向のベクトルngにおいてz軸成分を0にした投影ベクトルsgを求める。ここで、図14は、ユーザ座標系を設定する態様を示す模式図である。同図aに示すように、例えばロボット座標系のxy平面が水平に対して傾いており、上記実施形態において鉛直方向のベクトルngが検出されているものとする。なお、xy平面は、ロボット10の基台11が固定される壁面と一致しており、ユーザはこの壁面に沿った水平方向をユーザ座標系のx軸方向と認識している。同図bに示すように、ロボット座標系のx軸方向のベクトルxとユーザ座標系のx軸方向のベクトルxuとは一致しておらず、ロボット座標系のx軸及びy軸が、ユーザ座標系のx軸及びy軸に対して、z軸を中心として回転してずれた状態となっている。このとき、投影ベクトルsgとロボット座標系のy軸方向のベクトルyとのなす角度がθyであるとすると、ロボット座標系のx軸方向のベクトルxとユーザ座標系のx軸方向のベクトルxuとのなす角度もθyとなる。図13に戻り、続いて、上記投影ベクトルsgとロボット座標系のy軸方向のベクトルyとのなす角度θyを算出するS75。具体的には、投影ベクトルsg及びy軸方向のベクトルyに対して三角関数逆関数を適用して角度θyを算出する。続いて、ロボット座標系においてz軸を中心としてx軸及びy軸を角度θy回転させるS76。具体的には、三角関数を用いた変換式に基づいて、回転後のx軸方向のベクトルx、及び回転後のy軸方向のベクトルyを算出する。これにより、図14cに示すように、ロボット座標系のx軸方向のベクトルxが、ユーザ座標系のx軸方向のベクトルxuに重なる。すなわち、同図dに示すように、回転後のx軸は上記壁面に沿った水平方向と一致する。図13に戻り、続いて、鉛直方向のベクトルngとz軸の負方向のベクトル-zとのなす角度θzを算出するS77。具体的には、鉛直方向のベクトルng及びz軸の負方向のベクトル-zに対して三角関数逆関数を適用して角度θzを算出する。図14eに示すように、角度θzは、上記壁面回転後のxy平面の法線ベクトルベクトル-zと鉛直方向のベクトルngとのなす角度となっている。図13に戻り、続いて、上記回転後のロボット座標系においてx軸を中心としてy軸及びz軸を角度θz回転させるS78。具体的には、三角関数を用いた変換式に基づいて、回転後のy軸方向のベクトルy、及び回転後のz軸方向のベクトルzを算出する。これにより、図14f,gに示すように、ロボット座標系のz軸の正方向のベクトルzが、鉛直方向のベクトルngと反対方向真上方向となる。また、回転後のy軸は、x軸と直交する水平方向となる。図13に戻り、続いて、変換されたロボット座標系をユーザ座標系として設定するS79。具体的には、上記のように回転されたロボット座標系のx軸,y軸,z軸を、それぞれユーザ座標系のx軸,y軸,z軸としてユーザ座標系を設定する。その結果、この設定されたユーザ座標系は、ユーザが認識しているユーザ座標系と一致することとなる。そして、この一連の処理を終了するEND。ここで、ロボット10の制御装置20は、ロボット座標系とユーザ座標系との関係を把握することとなるため、一方の座標系での座標を他方の座標系での座標に変換逆変換することが可能となる。したがって、ユーザはユーザ座標系を用いてロボット10のアーム16の座標を入力することができ、変換作業の手間を減らすことができるとともに、意図した座標へロボット10のアーム16を動作させることが容易となる。上述したユーザ座標系設定処理は以下の利点を有する。鉛直方向のベクトルngを変換前のロボット座標系のxy平面に投影した投影ベクトルsgと、変換前のロボット座標系のy軸方向のベクトルyとを平行にするのに必要な角度θyだけ、ロボット座標系においてz軸を中心としてx軸及びy軸が回転させられる第1制御。これにより、ロボット座標系のx軸及びy軸が、ユーザ座標系のx軸及びy軸に対して、z軸を中心として回転してずれていることを補正することができる。また、変換前のロボット座標系のxy平面上において投影ベクトルsgに垂直なベクトル回転後のx軸方向のベクトルxを中心として、鉛直方向のベクトルngとロボット座標系のz軸方向のベクトルzとを平行にするのに必要な角度だけ、ロボット座標系のx軸,y軸,z軸が回転させられる第2制御。これにより、ロボット座標系のz軸が、ユーザ座標系のz軸に対して傾いていることを補正することができる。その結果、ロボット座標系のx軸,y軸,z軸を、それぞれユーザ座標系のx軸,y軸,z軸に変換することができる。なお、上記第1制御及び第2制御は、いずれを先に実行してもよい。鉛直方向のベクトルngをロボット座標系のxy平面に投影した投影ベクトルsgとロボット座標系のy軸方向のベクトルyとを平行にするように、ロボット座標系においてz軸を中心としてx軸及びy軸が回転させられる。これにより、ロボット座標系のx軸が、ユーザ座標系のx軸、すなわちロボット10の基台11を固定した壁面に沿った水平方向と一致する。その後、鉛直方向のベクトルngと回転後のロボット座標系のz軸方向のベクトルzとを平行にするように、回転後のロボット座標系においてx軸を中心としてy軸及びz軸が回転させられる。これにより、ロボット座標系のz軸が、ユーザ座標系のz軸に対して傾いていることを補正することができる。"