(57)【要約】【課題】  ロボット装置の停止状態において、ブレーキ機構による停止状態から、サーボモータによる停止状態に切り換える際、リンクの位置変動をより高い精度で抑制することができるロボット装置を提供する。【解決手段】  リンクを有し、リンクを駆動源により動作させ所定の作業を行うロボット装置であって、トルクを検出するセンサと、ブレーキ機構と、駆動源を制御する制御装置と、を備え、制御装置は、ブレーキ機構によりリンクの位置を保持する第１の状態から、駆動源によりリンクの位置を保持する第２の状態に切り換える際、第２の状態に切り換える前にセンサで検出された値に基づいて駆動源を制御する、ことを特徴とするロボット装置を採用した。【選択図】  図５
2020196054.tif 000002
【特許請求の範囲】
【請求項１】
リンクを有し、前記リンクを駆動源により動作させ所定の作業を行うロボット装置であって、
トルクを検出するセンサと、
ブレーキ機構と、
前記駆動源を制御する制御装置と、を備え、
前記制御装置は、
前記ブレーキ機構により前記リンクの位置を保持する第１の状態から、前記駆動源により前記リンクの位置を保持する第２の状態に切り換える際、前記第２の状態に切り換える前に前記センサで検出された値に基づいて前記駆動源を制御する、
ことを特徴とするロボット装置。
【請求項２】
請求項１に記載のロボット装置において、
前記制御装置は、
前記第１の状態において前記センサで検出された値に基づいて前記駆動源を制御する、
ことを特徴とするロボット装置。
【請求項３】
請求項１または２に記載のロボット装置において、
前記制御装置は、
前記第１の状態において前記センサで検出された値に基づいて、前記駆動源により前記リンクの位置を保持する制御値を算出する、
ことを特徴とするロボット装置。
【請求項４】
請求項３に記載のロボット装置において、
前記制御装置は、
前記第１の状態で、前記制御値を前記駆動源に入力する、
ことを特徴とするロボット装置。
【請求項５】
請求項３または４に記載のロボット装置において、
前記駆動源は電流センサを備えており、
前記制御装置は、
前記制御値を前記駆動源に入力し、前記電流センサにより所定の値を検出したら、前記ブレーキ機構を解除する、
ことを特徴とするロボット装置。
【請求項６】
請求項３または４に記載のロボット装置において、
前記制御装置は、
前記制御値を前記駆動源に入力し、所定の時間が経過したら、前記ブレーキ機構を解除する、
ことを特徴とするロボット装置。
【請求項７】
請求項１から６のいずれか１項に記載のロボット装置において、
前記制御装置は、
前記センサを初期化した際の前記駆動源の電流値を記憶しており、
前記ロボット装置を、前記第１の状態から前記第２の状態に切り換える際、前記電流値と前記センサで検出された値とに基づいて、前記駆動源により前記リンクの位置を保持する制御値を算出する、
ことを特徴とするロボット装置。
【請求項８】
請求項７に記載のロボット装置において、
前記センサはインクリメント式である、
ことを特徴とするロボット装置。
【請求項９】
請求項１から８のいずれか１項に記載のロボット装置において、
前記第１の状態において、前記駆動源と前記センサには電力が供給された状態となっている、
ことを特徴とするロボット装置。
【請求項１０】
請求項１から８のいずれか１項に記載のロボット装置において、
前記第１の状態において、前記駆動源と前記センサには電力が供給されていない状態であり、
前記制御装置は、
前記第１の状態から前記第２の状態に切り換える際、前記駆動源と前記センサに電力を供給し、
前記センサで検出された値を取得し、
取得した当該値に基づいて、前記駆動源により前記リンクの位置を保持する制御値を算出する、
ことを特徴とするロボット装置。
【請求項１１】
請求項１から１０のいずれか１項に記載のロボット装置において、
前記センサは、シール部材により覆われている、
ことを特徴とするロボット装置。
【請求項１２】
請求項１から１１のいずれか１項に記載のロボット装置において、
前記ブレーキ機構は、前記駆動源の回転軸をロックする機構である、
ことを特徴とするロボット装置。
【請求項１３】
請求項１２に記載のロボット装置において、
前記センサは、前記駆動源が動作させるリンクと共に動作するように設けられている、
ことを特徴とするロボット装置。
【請求項１４】
リンクを有し、前記リンクを駆動源により動作させ所定の作業を行うロボット装置の制御方法であって、
前記ロボット装置は、
トルクを検出するセンサと、
ブレーキ機構と、
前記駆動源を制御する制御装置と、を備え、
前記制御装置は、
前記ブレーキ機構により前記リンクの位置を保持する第１の状態から、前記駆動源により前記リンクの位置を保持する第２の状態に切り換える際、
前記第２の状態に切り換える前に前記センサで検出された値を取得し、
検出された前記値に基づいて前記駆動源を制御し、前記駆動源により前記リンクの位置を保持する第２の状態に切り換える、
ことを特徴とする制御方法。
【請求項１５】
請求項１４に記載の制御方法において、
前記駆動源は電流センサを備えており、
前記制御装置は、
前記制御値を前記駆動源に入力し、前記電流センサにより所定の値を検出したら、前記ブレーキ機構を解除する、
ことを特徴とする制御方法。
【請求項１６】
請求項１４または１５に記載の制御方法において、
前記制御装置は、
前記制御値を前記駆動源に入力し、所定の時間が経過したら、前記ブレーキ機構を解除する、
ことを特徴とするロボット装置。
【請求項１７】
請求項１４から１６のいずれか１項に記載の制御方法において、
前記制御装置は、
前記センサを初期化した際の前記駆動源の電流値を記憶しており、
前記電流値と前記センサで検出された値とに基づいて、前記駆動源により前記リンクの位置を保持する制御値を算出する、
ことを特徴とする制御方法。
【請求項１８】
請求項１４から１７のいずれか１項に記載の制御方法において、
前記第１の状態において、前記駆動源と前記センサには電力が供給されていない状態であり、
前記制御装置は、
前記第１の状態から前記第２の状態に切り換える際、前記駆動源と前記センサに電力を供給し、
前記センサで検出された値を取得し、
取得した当該値に基づいて、前記駆動源により前記リンクの位置を保持する制御値を算出する、
ことを特徴とする制御方法。
【請求項１９】
請求項１から１３のいずれか１項に記載のロボット装置を用いて物品の製造を行うことを特徴とする物品の製造方法。
【請求項２０】
リンクを駆動させる駆動装置であって、
駆動源と、
トルクを検出するセンサと、
ブレーキ機構と、
前記駆動源を制御する制御装置と、を備え、
前記制御装置は、
前記ブレーキ機構により前記リンクの位置を保持する第１の状態から、前記駆動源により前記リンクの位置を保持する第２の状態に切り換える際、前記第２の状態に切り換える前に前記センサで検出された値に基づいて前記駆動源を制御する、
ことを特徴とする駆動装置。
【請求項２１】
リンクを駆動させる駆動装置の制御方法であって、
駆動源と、
トルクを検出するセンサと、
ブレーキ機構と、
前記駆動源を制御する制御装置と、を備え、
前記制御装置は、
前記ブレーキ機構により前記リンクの位置を保持する第１の状態から、前記駆動源により前記リンクの位置を保持する第２の状態に切り換える際、
前記第２の状態に切り換える前に前記センサで検出された値を取得し、
検出された前記値に基づいて前記駆動源を制御し、前記駆動源により前記リンクの位置を保持する第２の状態に切り換える、
ことを特徴とする制御方法。
【請求項２２】
請求項１に記載のロボット装置において、
前記制御装置は、
前記ブレーキ機構により前記リンクの位置を保持する第１の状態となる直前の状態において前記センサで検出された値を取得し、
前記第１の状態から、前記駆動源により前記リンクの位置を保持する第２の状態に切り換える際、取得した当該値に基づいて前記駆動源を制御する、
ことを特徴とするロボット装置。
【請求項２３】
請求項２２に記載のロボット装置において、
前記ブレーキ機構は、前記リンクに直接設けられている、
ことを特徴とするロボット装置。
【請求項２４】
請求項２２または２３に記載のロボット装置において、
前記制御装置は、
前記値を記憶部に格納し、
前記第１の状態から前記第２の状態に切り換える際、前記記憶部に格納された前記値に基づいて前記駆動源を制御する、
ことを特徴とするロボット装置。
【請求項２５】
請求項１４に記載の制御方法において、
前記制御装置は、
前記ブレーキ機構により前記リンクの位置を保持する第１の状態となる直前の状態において前記センサで検出された値を取得し、
取得した当該値に基づいて前記駆動源を制御し、前記駆動源により前記リンクの位置を保持する第２の状態に切り換える、
ことを特徴とする制御方法。
【請求項２６】
請求項１４から１８のいずれか１項に記載の制御方法、または請求項１９に記載の物品の製造方法、または請求項２１に記載の制御方法、または請求項２５に記載の制御方法を実行可能な制御プログラム。
【請求項２７】
請求項２６に記載の制御プログラムを記録した、コンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット装置に関する。
【背景技術】
【０００２】
近年、製品を製造する生産ラインにおいて、多関節のロボットアームを備えたロボット装置が用いられている。この種のロボットアームは、エンドエフェクタとして先端に、例えば把持装置としてのロボットハンドや、その他の工具などのツールを設けてワークを操作し、工業製品やその部品などの物品の製造を行う。
【０００３】
このようなロボットアームには、リンクを駆動させるための駆動源としてサーボモータが設けられることが一般的である。その際、ロボット装置を停止させるために、リンクに外力が働いても、リンクが動作しないようにする機構が設けられる。１つ目は、サーボモータにより、リンクが動作する方向とは逆の方向にトルクをかける方法（サーボオン）がある。２つ目は、サーボモータの回転軸に機械的なブレーキ機構を設け、サーボモータの回転軸を回転しないように保持することで、リンクが動作しないようにする方法がある。
【０００４】
従来では、ロボット装置に異常が発生した際に、ロボット装置およびその周辺の安全を確保するべく確実にロボット装置を停止するためにブレーキ機構によりサーボモータの回転軸が回転しないように保持する。そしてロボット装置の異常が取り除かれたら、ブレーキ機構によるサーボモータの回転軸の保持を解除するとほぼ同時に、サーボモータへ電力を供給し、リンクが動作する方向とは逆の方向にトルクをかけ、ロボット装置の停止状態を維持している。
【０００５】
しかしながら上記のようにブレーキ機構による停止状態からサーボモータによる停止状態に切り換える際、停止しているリンクの位置姿勢によっては、リンクが停止している位置姿勢から動作してしまうことがある。これは、リンクの動作によりサーボモータの回転軸に位置の変化が発生しないと、リンクの位置姿勢を維持するためにどの程度トルクを出力すればよいか算出できないためである。一旦、リンクが動作することにより生じるサーボモータの回転軸の位置偏差を検出して初めてサーボモータが出力するべきトルクが算出でき、リンクが停止していた位置姿勢に戻すことができるのである。
【０００６】
よって、このリンクの動作によって、ロボットアームに設けられたエンドエフェクタが周辺物に衝突するなどして周辺物及びエンドエフェクタに傷が付く危険性があった。それ以外にも、ロボット装置の姿勢の状態が変わってしまうことで、ロボット装置と周辺物との位置関係を元に戻す作業が発生するなどし、異常が発生した場合のロボット装置のメンテナンスに時間を要してしまう。
【０００７】
上記に対し、特許文献１のような提案がなされている。特許文献１には、モータのサーボオン時に、ロボット装置のパラメータモデルから、ロボット装置の姿勢を保持するために必要な各関節のトルクを計算で求める手法が記載されている。これにより、サーボモータの回転軸に位置偏差が発生してなくても、ロボット装置の姿勢を保持するために必要なトルクを算出できる。そして算出したトルクに基づいて制御ループのゲインを変更することで、ロボット装置の姿勢を保持するために必要なトルクが出力している状態でブレーキ機構を解除することができる。よってリンクが停止している位置姿勢から動作してしまうことを抑制することができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１３−２２６６１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に記載の方法では以下のような課題がある。ロボット装置の姿勢を保持するために必要なトルクの算出に用いるロボット装置のパラメータモデルは、実機のロボット装置との誤差が生じやすい。例えば、リンク長や重心位置、慣性モーメント、粘性摩擦など種々の原因により、パラメータモデルに誤差が生じ、正確にロボット装置の姿勢を保持するために必要なトルクを算出することが困難となる。
【００１０】
以上の課題を鑑み、本発明では、ロボット装置の停止状態において、ブレーキ機構による停止状態から、サーボモータによる停止状態に切り換える際、リンクの位置変動をより高い精度で抑制することができるロボット装置を提供する。
【課題を解決するための手段】
【００１１】
上記課題を解決するために本発明においては、リンクを有し、前記リンクを駆動源により動作させ所定の作業を行うロボット装置であって、トルクを検出するセンサと、ブレーキ機構と、前記駆動源を制御する制御装置と、を備え、前記制御装置は、前記ブレーキ機構により前記リンクの位置を保持する第１の状態から、前記駆動源により前記リンクの位置を保持する第２の状態に切り換える際、前記第２の状態に切り換える前に前記センサで検出された値に基づいて前記駆動源を制御する、ことを特徴とするロボット装置を採用した。
【発明の効果】
【００１２】
本発明によれば、リンクにかかるトルクを直接測ることで、パラメータモデルで算出するよりもさらに高精度にロボット装置の姿勢を保持するために必要なトルクを取得できる。よってリンクの位置変動をより高い精度で抑制することができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態におけるロボット装置１００の概略構成を示す図である。
【図２】実施形態におけるロボット装置１００の制御ブロック図である。
【図３】実施形態における関節Ｊ２の概略図である。
【図４】実施形態におけるブレーキ機構の概略図である。
【図５】実施形態における制御フローチャートである。
【図６】実施形態における制御フローチャートである。
【図７】実施形態における関節Ｊ２の概略図である。
【図８】実施形態における制御フローチャートである。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す構成はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
【００１５】
（第１の実施形態）
図１は、本実施形態におけるロボット装置１００を、ＸＹＺ座標系のある方向から見た平面図である。なお以下の図面において、図中の矢印Ｘ、Ｙ、Ｚはロボット装置１００全体の座標系を示す。一般に、ロボット装置を用いたロボットシステムでは、ＸＹＺ３次元座標系は、設置環境全体のグローバル座標系の他に、制御の都合などによって、ロボットハンド、指部などに関して適宜ローカル座標系を用いる場合がある。本実施形態ではロボット装置１００全体の座標系をＸＹＺ、ローカル座標系をｘｙｚで表すものとする。
【００１６】
図１に示すように、ロボット装置１００は、多関節のロボットアーム本体２００、ロボットハンド本体３００、ロボットアーム本体２００の動作を制御するロボットアーム制御装置４００を備えている。
【００１７】
また、ロボットアーム制御装置４００に教示データを送信する教示装置としての外部入力装置５００を備えている。外部入力装置５００の一例としてティーチングペンダントが挙げられ、作業者がロボットアーム本体２００やロボットハンド本体３００の位置を指定するのに用いる。
【００１８】
本実施形態では、エンドエフェクタとしてロボットアーム本体２００の先端部に設けられるものが、ロボットハンドである場合について説明するが、これに限定するものではなく、ツール等であってもよい。
【００１９】
ロボットアーム本体２００の基端となるリンク２０１は、基台２１０に設けられている。
【００２０】
ロボットハンド本体３００は、部品やツール等の対象物を把持するものである。本実施形態のロボットハンド本体３００は詳細不図示の駆動機構により２本の指部３０１を開閉し、対象物の把持ないし開放を行う。対象物をロボットアーム本体２００に対して相対的に変位させないように把持できれば良い。
【００２１】
ロボットハンド本体３００はリンク２０６に接続され、リンク２０６が回転することで、ロボットハンド本体３００も回転させることができる。
【００２２】
ロボットアーム本体２００は、複数の関節、例えば６つ関節（６軸）を有している。ロボットアーム本体２００は、各関節Ｊ１〜Ｊ６を各回転軸Ａ１〜Ａ６まわりにそれぞれ回転駆動させる複数（６つ）のサーボモータ２１１〜２１６を有している。
【００２３】
ロボットアーム本体２００は、複数のリンク２０１〜２０６が各関節Ｊ１〜Ｊ６で回転可能に連結されている。ここで、ロボットアーム本体２００の基端側から先端側に向かって、リンク２０１〜２０６が順に直列に連結されている。
【００２４】
ロボットアーム本体２００は、可動範囲の中であれば、任意の３次元位置で任意の３方向の姿勢に、ロボットアーム本体２００のエンドエフェクタ（ロボットハンド本体３００）を向けることができる。
【００２５】
ここで、ロボットアーム本体２００の手先とは、本実施形態では、ロボットハンド本体３００のことである。ロボットハンド本体３００が物体を把持している場合は、ロボットハンド本体３００と把持している物体（例えば部品やツール等）とを含めてロボットアーム本体２００の手先という。
【００２６】
つまり、ロボットハンド本体３００が物体を把持している状態であるか物体を把持していない状態であるかにかかわらず、エンドエフェクタであるロボットハンド本体３００を手先という。
【００２７】
各関節Ｊ１〜Ｊ６は、それぞれモータ２１１〜２１６と、各モータ２１１〜２１６にそれぞれ接続されたセンサ部２２１〜２２６と、ブレーキ機構２３１〜２３６とをそれぞれ有している。各センサ部２２１〜２２６は、関節Ｊ１〜Ｊ６の位置（角度）を検出する位置センサ（角度センサ）と、各関節Ｊ１〜Ｊ６のトルクを検出するトルクセンサ２６１〜２６６（図１では不図示）を備えている。さらに各軸の電磁モータ２１１〜２１６に流れている電流値を検出する電流センサを有する。ブレーキ機構２３１〜２３６、トルクセンサ２６１〜２６６については後述する。
【００２８】
また、各関節Ｊ１〜Ｊ６は、不図示の減速機を有し、直接、又は不図示のベルトやベアリング等の伝達部材を介して各関節で駆動されるリンク２０１〜２０６に接続されている。
【００２９】
基台２１０の内部には、各モータ２１１〜２１６の駆動を制御する駆動制御部としてのアーム用モータドライバ２３０が配置されている。アーム用モータドライバ２３０に電流センサを備えていても構わない。
【００３０】
アーム用モータドライバ２３０は、入力された各関節Ｊ１〜Ｊ６に対応する各トルク指令値に基づき、各関節Ｊ１〜Ｊ６のトルクがトルク指令値に追従するよう、各モータ２１１〜２１６に電流を出力し、各モータ２１１〜２１６の駆動を制御する。
【００３１】
なお、本実施形態では、アーム用モータドライバ２３０が１つの制御装置で構成されているものとして説明しているが、各モータ２１１〜２１６にそれぞれ対応した複数の制御装置の集合体で構成されていてもよい。
【００３２】
また、本実施形態では、アーム用モータドライバ２３０は、基台２１０の内部に配置されているものとして説明するが、ロボットアーム制御装置４００の内部に配置されていてもよい。
【００３３】
以上の構成により、ロボットアーム本体２００によりロボットハンド本体３００を任意の位置に動作させ、所望の作業を行わせることができる。所望の作業とは例えば、対象物同士を組み付け物品の製造を行う等の作業である。
【００３４】
図２は、本実施形態におけるロボット装置１００の構成を示すブロック図である。ロボットアーム制御装置４００は、コンピュータで構成されており、制御装置４００は、コンピュータで構成されており、制御部（処理部）としてのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０１を備えている。
【００３５】
また制御装置４００は、記憶部として、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）４０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４０３、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）４０４を備えている。また、制御装置４００は、記録ディスクドライブ４０５、各種のインタフェース４０６〜４０９を備えている。
【００３６】
ＣＰＵ４０１には、ＲＯＭ４０２、ＲＡＭ４０３、ＨＤＤ４０４、記録ディスクドライブ４０５、各種のインタフェース４０６〜４０９が、バス４１０を介して接続されている。ＲＯＭ４０２には、ＢＩＯＳ等の基本プログラムが格納されている。ＲＡＭ４０３は、ＣＰＵ４０１の演算処理結果等、各種データを一時的に記憶する記憶装置である。
【００３７】
ＨＤＤ４０４は、ＣＰＵ４０１の演算処理結果や外部から取得した各種データ等を記憶する記憶装置であると共に、ＣＰＵ４０１に、演算処理を実行させるためのプログラム４３０を記録するものである。ＣＰＵ４０１は、ＨＤＤ４０４に記録（格納）されたプログラム４３０に基づいてロボット制御方法の各工程を実行する。
【００３８】
記録ディスクドライブ４０５は、記録ディスク４３１に記録された各種データやプログラム等を読み出すことができる。
【００３９】
外部入力装置５００はインタフェース４０６に接続されている。ＣＰＵ４０１はインタフェース４０６及びバス４１０を介して外部入力装置５００からの教示データの入力を受ける。
【００４０】
アーム用モータドライバ２３０は、インタフェース４０９に接続されている。ＣＰＵ４０１は、アーム用モータドライバ２３０、インタフェース４０９及びバス４１０を介して各センサ部２２１〜２２６から検出結果を取得する。また、ＣＰＵ４０１は、各関節のトルク指令値のデータを所定時間間隔でバス４１０及びインタフェース４０９を介してアーム用モータドライバ２３０に出力する。
【００４１】
同様にハンド用モータドライバ３０１も、インタフェース４１１に接続され、バス４１０を介してＣＰＵ４０１と通信可能に設けられている。ＣＰＵ４０１は、ハンド用モータドライバ３０１、バス４１０及びインタフェース４１１を介してセンサ部３２１から検出結果を取得する。また、ＣＰＵ４０１は、ロボットハンド本体３００の各指部の指令値のデータを所定時間間隔でバス４１０及びインタフェース４１１を介してハンド用モータドライバ３０１に出力する。
【００４２】
同様にブレーキ用ドライバ２９０も、インタフェース４１２に接続され、バス４１０を介してＣＰＵ４０１と通信可能に設けられている。ＣＰＵ４０１は、ブレーキ用ドライバ２９０、バス４１０及びインタフェース４１２を介して後述するブレーキ機構２３１〜２３６を制御する。
【００４３】
インタフェース４０７には、モニタ４２１が接続されており、モニタ４２１には、ＣＰＵ４０１の制御の下、各種画像が表示される。インタフェース４０８は、書き換え可能な不揮発性メモリや外付けＨＤＤ等の記憶部である外部記憶装置４２２が接続可能に構成されている。
【００４４】
なお本実施形態では、コンピュータ読み取り可能な記録媒体がＨＤＤ４０４であり、ＨＤＤ４０４にプログラム４３０が格納される場合について説明するが、これに限定するものではない。プログラム４３０は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。
【００４５】
例えば、プログラム４３０を供給するための記録媒体としては、ＲＯＭ４０２、記録ディスク４３１、外部記憶装置４２２等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性メモリ、ＲＯＭ等を用いることができる。
【００４６】
次に図３を用いて各関節Ｊ１〜Ｊ６について詳述する。図３は、例として関節Ｊ２を模式的に表した図であり、リンク２０１に対し、リンク２０２をモータ２１２が駆動する構成となっている。
【００４７】
モータ２１２は電磁モータであり、ブラシレスＤＣモータやＡＣサーボモータが例示できる。モータ２１２はリンク２０１の内部に支持されるよう、モータフランジ７にビスによる締結で取り付けられている。モータ２１２からの回転はモータ回転軸２１２ａが回転し、減速機２４２の減速機入力軸２４２ａに伝達される。
【００４８】
モータ２１２の出力は、減速機２４２とトルクセンサ２６２を介して、リンク２０２に接続されており、軸受２８２は減速機２４２とトルクセンサ２６２の間に位置する。減速機２４２は、減速機入力軸２４２ａからの回転を減速手段２３２ｂで１／Ｎに減速し、減速機出力軸２４２ｃに伝える。例として平歯車列や波動歯車減速機等が挙げられる。本実施形態では波動歯車減速機を用いており、減速機出力軸２４２ｃはフレックススプラインを用いている。
【００４９】
減速後のトルクを出力する減速機出力軸２４２ｃは、接続部材２５２を介して軸受２８２に接続される。また、軸受２８２の他方はリンク２０１に取り付けられている。軸受２８２の例としてクロスローラーベアリングが挙げられる。
【００５０】
接続部材２５２はトルクセンサ２６２を介してリンク２０２に取り付けられている。トルクセンサ２６２は、例えば、自身に加わる関節の回転軸Ａ２周りのトルクを検出、求めるために弾性体の変位を測定するトルクセンサなどから構成される。その場合、トルクセンサ２６２は、例えば内輪部２６２ａ、外輪部２６２ｂと、これらを結合するバネ部２６２ｃで構成される。内輪部２６２ａは接続部材２５２に設け、外輪部２６２ｂはリンク２０２に設けられている。このような構成では、トルクセンサ２６２に回転軸Ａ２周りのトルクＴ２ｎが作用した際、接続部材２５２とリンク２０２とが相対変位することにより、バネ部２６２ｃが変形する。そのため、トルクセンサ２６２はバネ部２６２ｃの変形量に基づいてリンク２０２に作用するトルクを測定できる。
【００５１】
例えば、トルクセンサ２６２の変形量をトルクに換算する感度行列をあらかじめテーブルメモリなどの形式で用意しておき、測定した変形量をトルクの測定量に換算することができる。トルクセンサ２６２の変形量を測定する力センサの変位検出方式には、ひずみゲージ方式、静電容量方式、磁気方式、光学エンコーダ方式などがある。例えば光学エンコーダ方式の場合には、光学ロータリーエンコーダのスケールと光センサ（不図示）を、それぞれ内輪部２６２ａと外輪部２６２ｂに対向して配置する構成が考えられる。リンク２０１とリンク２０２の間には、トルクセンサ２６２の変位量を検出するセンサを防塵するためのシール部材２７２が設けられている。
【００５２】
以上の構造でトルクセンサを実装すると、摩擦の大きな減速機、軸受の先にトルクを検出する検出部があるため、シール材等の残留応力も含めて精度よく検出できる。他の関節でも上記での述べた構造を適宜使用しているものとする。
【００５３】
次にブレーキ機構２３２について詳しく説明する。本実施例ではブレーキ機構として電磁石を用いた例を示す。図４は本実施形態におけるブレーキ機構２３２の概略図である。図４（ａ）はブレーキされた後、図４（ｂ）はブレーキされる前である。
【００５４】
図４（ａ）より、ヨーク１５をモータ２１２の内部に固定して設け、ヨーク１５内にコイル１６を設ける。さらに不図示のベアリングホルダにより、ベアリングを介してモータ回転軸２１２ａをＡ２軸まわりに回転可能に支持する。また、モータ回転軸２１２ａに円盤ばね２０を固定して設ける。さらに円盤ばね２０に強磁性体で製作した反発部材２１を固定して設けている。
【００５５】
ここで、反発部材２１は円盤ばね２０がたわむので矢印２２の方向に移動することができる。また、反発部材２１に固定して摩擦板２３ａを設け、ヨーク１５に固定して摩擦板２３ｂを設ける。これによりヨーク１５、反発部材２１はコイル１６の周りに磁気回路を形成する。ここで反発部材２１は、コイル１６の通電により、コイル１６の周りに磁気回路が形成されると、ヨーク１５に対して反発する構成とする。
【００５６】
そして図４（ｂ）より、コイル１６に通電すると、反発部材２１はヨーク１５に対して反発し、摩擦板２３ａと２３ｂ間の摩擦が解除され、モータ回転軸２１２ａの回転がアンロックされる。逆に、コイル１６への通電を解除すると、図４（ａ）のように円盤ばね２０の付勢により摩擦板２３ａと２３ｂは互いに押し付けられ、摩擦力が発生する。これによりモータ回転軸２１２ａの回転がロックされる。つまり、モータ回転軸２１２ａを介してリンク２０２の回転を、摩擦板２３ａと２３ｂ間の摩擦によってロックし、リンク２０２を所定の位置姿勢に保持する。
【００５７】
さらに上述したブレーキ用ドライバ２９０は、ブレーキオン（ロック）とブレーキオフ（解除）の指令を受けとり、ブレーキ機構２４１を制御する回路を有する。上述したコイル式のメカブレーキの場合は、ブレーキオン（ロック）の指令の際には、コイル１６の流れる電流を止めてモータ回転軸２１２ａの回転をロックし、ブレーキオフ（解除）の場合はコイル１６に所望の電流を流しモータ２１２ａの回転をアンロックする。上述したブレーキ機構２３２は各モータにも設けられているものとする。
【００５８】
次に図５を用いて本実施形態における制御方法について詳述する。図５は、本実施形態における制御方法のフローチャートである。ここでいうサーボオンとは、ブレーキ機構の保持力で各リンクの位置姿勢を保持している状態から、ブレーキ機構の保持力を解除して、各モータから出力されるトルクによって各リンクの位置姿勢を保持する（サーボロック）状態に切り替える処理とする。
【００５９】
図５に示したフローチャートのスタートは、各ブレーキ機構により各リンクの位置姿勢が保持された状態で、各モータと各トルクセンサには電力が供給された状態からスタートする。上記のような状態は、ロボット装置で異常が検出された際にブレーキ機構でロボット装置の各リンクの動作を緊急停止させる際を想定している。また、以下で述べる処理は制御装置４００にＣＰＵ４０１が行うものとする。
【００６０】
まずＳ１０１では、ロボット装置１００を操作する作業者が外部入力装置５００を用いてサーボオンの指令を行うと、制御装置４００のバス４１０を介してＣＰＵ４０１がその信号を受け取る。ＣＰＵ４０１は、サーボオンの処理を開始する信号を受け取ると、Ｓ１０２以降の処理を順次進めていく。
【００６１】
次にＳ１０２では、トルクセンサ２６１〜２６６により、各関節Ｊ１〜Ｊ６のトルクＴｊｎを検出する。各ブレーキ機構により各モータ回転軸を動作しないように保持しているため、ブレーキ機構により発生するトルクが各モータ回転軸２１２ａおよび各減速機２４２を介して各トルクセンサに伝達される。本実施形態では、トルクセンサ２６１〜２６６の変位量の検出値が、インタフェース４０９、バス４１０を介して、ＣＰＵ４０１に入力される。そしてＣＰＵ４０１が上述した変形量をトルクに換算する感度行列を用いてトルクを検出するものとする。なお、トルクセンサ２６１〜２６６にマイコン等のＣＰＵを設け、トルクセンサのマイコンによりトルクに換算したうえで、ＣＰＵ４０１に入力する形式でも構わない。
【００６２】
次にＳ１０３で、検出したトルクＴｊｎから、それに相当するモータトルクを発生させるモータ指令値Ｉｊｎに変換する。モータに流れるモータ電流とモータが発生させるモータトルクは、モータ固有のトルク定数で関係づけられることができ、トルク定数を使って検出したＴｊｎから計算で必要なモータ電流を求める。
【００６３】
最も単純にはＩｊｎ＝ｆ（Ｔｊｎ）＝１／Ｋｊ×Ｔｊｎという式で表せる。Ｋｊは各関節Ｊのモータのトルク定数である。また、制御装置４００の記憶部であるＲＯＭ４０２のハードウェア内にトルク値とモータ電流を変換するテーブルを予め記憶して、テーブルから必要なモータ電流値を参照してもよい。このようなテーブルは実測したモータトルクとモータ電流の関係性のデータを元に作成してもよい。
【００６４】
次にＳ１０４では、Ｓ１０３で求めたモータ電流値Ｉｊｎをそれぞれ各関節のモータ２１１〜２１６に流し、モータ２１１〜２１６にトルクを発生させる。具体的には、通常サーボモータのサーボ制御で使用する位置、速度、電流のＰＩＤ制御の積分器にオフセット値を与え所望のモータ電流値が発生するように設定する。
【００６５】
Ｓ１０５では、Ｓ１０３で計算した所定のモータ電流値が各モータで発生したかどうか、センサ部２２１〜２２６の電流センサによる検出値で確認する。Ｓ１０５：Ｎｏであれば、所定のモータ電流値にするためにＳ１０４の直前まで戻り、再度電流を流す。Ｓ１０５：Ｙｅｓであれば、Ｓ１０６に進む。
【００６６】
Ｓ１０６では、各モータのモータトルクが各リンクの位置姿勢が変化しない程度のモータトルクがすでに発生しているため、ブレーキ機構を通電させ、ブレーキ機構を解除する。以上によりサーボオンの処理が完了する。
【００６７】
以上より本実施形態におけるサーボオンの処理は、トルクセンサにより、シール材などによる回転軸まわりの残留応力を含め、重力加速度、重力以外の外力の影響のほぼ全てをトルクセンサにより検出することができ、モータ指令値として補償することができる。また、各リンクにかかっているトルクを直接求めることができ、従来のようなモデル化の精度に依らず、リンクの位置姿勢を保持するためのモータトルクを求める精度が高い。さらに、フィードフォワード的にモータトルクを発生させた後にブレーキ機構を解除するので、制御系の応答遅れがない。以上により、関節軸に連結された負荷側のリンクの落下を抑制することができる。よってリンクの位置変動をより高い精度で抑制することができる。
【００６８】
また、例えば溶接を行うロボット装置等は、エンドエフェクタとして溶接ガンをロボットアーム本体の先端に具えている。溶接ガンへの電力供給のためのケーブルは、ロボットアーム本体の先端の溶接ガンから、ロボットアーム本体とは別体となる溶接ガンの制御装置まで配線されるのが一般的である。溶接ガンのケーブルは、ロボットアーム本体の動作により、ケーブルがロボットアーム本体自身や対象物に干渉しないように、リンク側面や釣りバネで配線経路が維持されるように設置されている。このようなケーブルからの応力がロボットアーム本体のリンクに加わった場合でも、本実施形態ではトルクセンサによりケーブルからの応力を直接検出できるためモータトルクを高精度に補償できる。
【００６９】
同様に、ロボットアーム本体の内部を通り、制御装置からロボットアーム本体に内蔵されたモータやセンサ部、ブレーキ機構へ接続されるハーネス（ケーブル）が発生する電線のコシ（応力）に関しても補償することができる。
【００７０】
さらに、ロボットアーム本体の内部の防塵のために、可動部のすき間を埋めるシール材が捻じれて発生する残留応力も影響を及ぼす。シール材の残留応力は、サーボオフ直前のロボットアーム本体の動作に関わるモータの回転と逆方向の向きに発生し、その向きによっては、ロボットアーム本体の姿勢を維持するためのモータトルクに１０％〜２０％の割合で影響する。また、サーボオフしてから１分後にサーボオンしたとき、２４時間後にサーボオンしたとき等、経過時間によってシール部材の捻じれが解放して変化することもありモデル化が困難である。しかし本実施形態ではトルクセンサにより直接検出できるので高精度にモータトルクを補償できる。
【００７１】
また本実施形態のＳ１０４では、Ｓ１０３で求めたモータ電流値Ｉｊｎを流すためのＰＩＤ制御ループの積分器の値にオフセットを与えてリンクの位置変動を補償しているが、これに限らない。例えば、計算したモータ電流値Ｉｊｎの大きさに応じて、サーボ制御のＰＩＤのゲインも変更しても良い。例えば、ある程度のリンクの位置変動が発生することを許容した上で、モータ電流値Ｉｊｎに係数を掛け（０．８など）、モータ指令値Ｉｊｎより少ない電流値ＩｊｎＴＨがモータに流れるよう積分器にオフセットを与える。電流値ＩｊｎＴＨが発生したことを、センサ部２２１〜２２６の電流センサで確認し、ブレーキ機構の解除を実行する。その後ブレーキ機構を解除すると、僅かなリンクの位置変動が発生するが、サーボ制御のＰＩＤのゲインを通常より一定時間大きくして、発生する位置変動を素早くフィードバック制御で抑制する。このようにフィードフォワード要素とフィードバック制御を組み合わせて安定性を重視した制御とすることも可能である。
【００７２】
また本実施形態では、ブレーキ機構によりモータの回転軸がロックされている状態でモータ電流値を発生させる制御を行っているがこれに限られない。上記のようにある程度のリンクの位置変動が発生することを許容できるならば、ブレーキ機構を解除するとほぼ同時に、電流値ＩｊｎＴＨを出力させても良い。こうすることで、ブレーキ機構に与えられるダメージを抑制することも可能となる。
【００７３】
またＳ１０５では、所定のモータ電流値が発生したことをセンサ部２２１〜２２６の電流センサの検出値で確認してからブレーキ機構を解除しているが、電流値の判定でなくタイマーで管理しても良い。例えば、電流を流し始めてから確実にモータ電流値が発生したことを保障できる時間、例えば１０ｍｓｅｃ後にブレーキ機構の解除を実行するなどでもよい。
【００７４】
また本実施形態では、ロボット装置の緊急停止といった、モータとトルクセンサに電力が供給されている状態でブレーキ機構を動作させた状態から、サーボオンの状態に切り換える際を例にとり説明したがこれに限られない。例えば、モータとトルクセンサに電力が供給されておらず、ロボット装置の電源がオフにされた状態でブレーキ機構によりリンクの位置が保持されている状態から、サーボオンの状態に切り換える際にも適用できる。その際は、モータとトルクセンサに電力を供給するとほぼ同時に、トルクセンサで検出されている値を取得し、各リンクの位置姿勢が変化しない程度のモータトルクを出力できる電流値を算出する。後の制御は上述した制御と同じ制御を実行する。これにより、ロボット装置の電源がオフにされた状態からサーボオンの状態に切り換える際も、リンクの落下を抑制することができる。
【００７５】
なお、本実施形態の図３で、トルクセンサの構造を示したが、トルクセンサの実装方法や構造はこれに限らない。位置姿勢を保持したいリンクにかかるトルクがトルクセンサにより検出できる構成であればよい。また本実施形態で用いたトルクセンサ２６１〜２６６は、アブソリュート型のトルクセンサでもインクリメント型のトルクセンサでもよい。
【００７６】
アブソリュート型のトルクセンサは、リンクにかかるトルクの絶対値を検出できるセンサである。一方で、インクリメント型のトルクセンサとは、例えば、図３で示したトルクセンサの構造弾性体が変形した際の変位量をインクリメント型の光学エンコーダ方式で測定するタイプのトルクセンサである。インクリメント型のトルクセンサは、トルクセンサを初期化したときのエンコーダの読み値を基準に、検出部に力が加わり弾性体が変形した後のエンコーダ値の変化分から相対的に増減したトルク値ΔＴｊを検出する。
【００７７】
上述したロボット装置１００のサーボオンの手段及び制御フローは、アブソリュート型のトルクセンサとして記載している。インクリメント型のセンサを、本実施形態で使用するためには、各リンクにかかるトルクが既知の状態で、トルクセンサの初期化を実行し、その状態を基準（０点）としてトルクセンサを起動し続けておく必要がある。例えばロボット装置１００に、各リンクにかかるトルクが既知である初期化姿勢を設け、その姿勢、その状態で各リンクにかかるトルクを制御装置４００のＲＯＭ４０２のハードウェア内に記憶しておく。このトルクをＴｊ０とすると、図３における各関節のトルク値  Ｔｊｎ  は以下のようになる。
Ｔｊｎ  ＝Ｔｊ０  ＋  ΔＴｊ
【００７８】
このようにして得られたＴｊｎを用いて、それに相当するモータトルクを発生させるモータ電流値Ｉｊｎに変換することで、インクリメント型のトルクセンサでも、本実施形態を適用することができる。
【００７９】
（第２の実施形態）
上述した第１の実施形態では、インクリメント型のトルクセンサで実現する方法について記載したが、そのためには各リンクにかかるトルクが既知である初期化姿勢を設定する必要があった。また初期化姿勢でトルクセンサを初期化した情報を保持し続けるためにトルクセンサを起動し続けていないといけなかった。本実施形態では、インクリメント式のトルクセンサであっても、初期化姿勢を設定することなく、リンクの位置変動を補償することができる形態につき説明する。
【００８０】
以下では、第１の実施形態とは異なるハードウェアや制御系の構成の部分について図示し説明する。また、第１の実施形態と同様の部分については上記と同様の構成ならびに作用が可能であるものとし、その詳細な説明は省略するものとする。
【００８１】
図６は、本実施形態におけるサーボオンの制御フローチャートである。本実施形態ではトルクセンサとしてインクリメント型のトルクセンサを使用することを前提として説明する。インクリメント型のトルクセンサで実施する場合、サーボオンする前に必ず行うサーボオフの処理からフローがスタートする。図６（ａ）はサーボオフ時のフローチャート、図６（ｂ）はサーボオン時のフローチャートである。
【００８２】
図６（ａ）よりＳ２０１では、ロボット装置１００を操作する作業者が外部入力装置５００からサーボオフの指令を行うと、制御装置４００のバス３１０を介してＣＰＵ４０１がその信号を受け取る。サーボオフの処理を開始する信号を受け取ると、ＣＰＵ４０１はＳ２０２以降の処理を順次進めていく。
【００８３】
Ｓ２０２では、トルクセンサ２６１〜２６６の初期化を行う。そして、その際のモータ電流値Ｉｊ（ｎ−１）を測定して、制御装置４００のＲＯＭ４０２のハードウェアメモリに保存する。
【００８４】
次にＳ２０３で、ＣＰＵ４０１は、各ブレーキ機構２４１〜２４６のブレーキオン（ロック）の信号をバス４１０及びインタフェース４１２を介してブレーキ用ドライバ２９０に出力し、ブレーキ機構によりモータ回転軸をロックする。ここで、モータへの電流をオフにするのと、ブレーキ機構のロックのタイミングは問わないが、サーボオフの際に、リンク位置変動を抑制するには、ブレーキ機構２３１〜２３６でモータ回転軸をロックした後にモータの電流値を０にするのがよい。以上によりサーボオフの処理を終了する。
【００８５】
次に図６（ｂ）を用いて本実施形態におけるサーボオンの処理について説明する。まずＳ２０４では、ロボット装置１００を操作する作業者が外部入力装置５００を用いてサーボオンの指令を行うと、制御装置４００のバス４１０を介してＣＰＵ４０１がその信号を受け取る。ＣＰＵ４０１は、サーボオンの処理を開始する信号を受け取ると、Ｓ２０５以降の処理を順次進めていく。
【００８６】
次にＳ２０５で、各リンクにかかるトルク値の変化ΔＴｊを計測する。その際、基準となるのはＳ２０２で、トルクセンサ２６１〜２６６を初期化した際の状態のトルク値である。そのため、初期化した基準情報を失わないようにＳ２０２で初期化を行った以降は、トルクセンサ２６１〜２６６の電源を入れたままにしておく必要がある。例えば、ロボット装置１００の主電源を入れたままにしておく。
【００８７】
ロボット装置１００の主電源を切るケースが想定される場合は、トルクセンサ２６１〜２６６の電源系統を主電源と別にしてトルクセンサの電源を入れたままにしておけるように装置設計をしておく必要がある。ロボット装置１００の主電源オフの期間のトルクセンサ２６１〜２６６へのバックアップ電源としてバッテリーをロボット装置１００に搭載してもよい。
【００８８】
また、トルクセンサが温度ドリフト特性を持つ場合は、各関節周りの温度を検出できる温度センサをロボット装置１００に搭載し、トルクセンサの計測値を温度補正することで、より正確なΔＴｊを得ることができる。主電源をオフにした状態で長時間ロボットを放置した場合、トルクセンサまわりの環境温度は大きく変化する可能性があるからである。
【００８９】
次にＳ２０６では、リンクにかかるトルク値がΔＴｊ変化してしまった分を、サーボオフ処理の際（Ｓ２０２）に計測したモータ２１１〜２１６のモータ電流値Ｉｊ（ｎ−１）から補正する。モータ電流とモータが発生するトルクの変換式は、Ｓ１０３のフローで記載したように最も単純にはＩｊｎ＝ｆ（Ｔｊｎ）＝１／Ｋｊ×Ｔｊｎという式で表せる。Ｋｊは各関節Ｊのモータのトルク定数である。よってモータ電流値Ｉｊｎは次のように計算できる。
Ｉｊｎ＝Ｉｊ（ｎ−１）＋ｆ（ΔＴ）＝Ｉｊ（ｎ−１）＋  １／Ｋｊ×ΔＴｊ
【００９０】
Ｓ１０３で記載したように、制御装置４００のＲＯＭ４０２のハードウェア内にトルク値とモータ電流値を変換するテーブルを予め記憶して、テーブルから必要なモータ電流値を参照してもよい。このようなテーブルは実測したトルクとモータ電流の関係性のデータを元に作成してもよい。
【００９１】
次にＳ２０７では、Ｓ２０６で求めたモータ電流値Ｉｊｎをそれぞれ各関節のモータ２１１〜２１６に流し、モータ２１１〜２１６にトルクを発生させる。具体的には、通常サーボモータのサーボ制御で使用する位置、速度、電流のＰＩＤ制御の積分器にオフセット値を与え所望のモータ電流値が発生するように設定する。
【００９２】
Ｓ２０８では、Ｓ２０６で計算した所定のモータ電流値が各モータで発生したかどうか、センサ部２２１〜２２６の電流センサによる検出値で確認する。Ｓ２０８：Ｎｏであれば、所定のモータ電流値にするためにＳ２０７の直前まで戻り、再度電流を流す。Ｓ２０８：Ｙｅｓであれば、Ｓ２０９に進む。
【００９３】
Ｓ２０９では、各モータのモータトルクが各リンクの位置姿勢が変化しない程度のモータトルクがすでに発生しているため、ブレーキ機構を通電させ、ブレーキ機構を解除する。以上によりサーボオンの処理が完了する。
【００９４】
以上により、インクリメント形式のトルクセンサを用いる場合でも、ロボット装置の初期化姿勢を設定することなく、リンクの位置変動が少ないサーボオン処理を行わせることができる。
【００９５】
なお本実施形態においてアブソリュート型のトルクセンサを使用する場合は、以下のように実施する。Ｓ２０２でトルクセンサ２６１〜２６６の初期化を実行するかわりに、各リンクにかかるトルクＴｊ（ｎ−１）を検出し、制御装置４００のＲＯＭ４０２のハードウェアメモリに保存する。次にＳ２０５で、各リンクにかかるトルクＴｊ（ｎ）を検出し、各リンクにかかるトルク値の変化ΔＴｊをΔＴｊ＝Ｔｊ（ｎ）−Ｔｊ（ｎ−１）として計算で求めて使用すれば良い。
【００９６】
第１の実施形態では、Ｓ１０３で検出したＴｊｎから、それに相当するモータトルクを発生させるためのモータ電流値Ｉｊｎに変換するが、その際、この変換式、または変換テーブルに変換誤差が含まれることがある。その点、本実施形態の方法では、実測のＩｊ（ｎ−１）をベースに、ΔＴｊに相当する電流値だけ、変換して電流値を補正するため、変換誤差の影響が小さくする効果も付随して得ることができる。
【００９７】
（第３の実施形態）
上述した第１の実施形態、第２の実施形態では、ブレーキ機構がモータに設けられている場合を例にとり説明した。しかしながら本実施形態では、ブレーキ機構がリンクに直接設けられている場合でもリンクの位置変動を補償することができる。以下で詳述する。
【００９８】
以下では、第１の実施形態、第２の実施形態とは異なるハードウェアや制御系の構成の部分について図示し説明する。また、第１の実施形態と同様の部分については上記と同様の構成ならびに作用が可能であるものとし、その詳細な説明は省略するものとする。
【００９９】
図７は本実施形態における関節Ｊ２を表した図である。第１の実施形態、第２の実施形態と異なる点は、ブレーキ機構２３２がリンク２０２に直接設けられている点である。本実施形態におけるブレーキ機構２３２は図４で説明したブレーキ機構と同様の物を使用している。ブレーキ機構２３２には不図示の配線により電力が供給されるものとする。
【０１００】
図８は、本実施形態における制御方法のフローチャートである。図８（ａ）は本実施形態におけるブレーキオンの処理、図８（ｂ）は本実施形態におけるサーボオンの処理である。ここでいうブレーキオンとは、ブレーキ機構２３２によりリンク２０２が保持されている状態のことを指す。図８（ａ）に示したフローチャートのスタートは、各モータにより各リンクの位置姿勢が保持された状態からスタートする。また、以下で述べる処理は制御装置４００のＣＰＵ４０１が行うものとする。
【０１０１】
まずＳ３０１では、ロボット装置１００を操作する作業者が外部入力装置５００を用いてブレーキオンの指令を行うと、制御装置４００のバス４１０を介してＣＰＵ４０１がその信号を受け取る。ＣＰＵ４０１は、ブレーキオンの処理を開始する信号を受け取ると、Ｓ３０２以降の処理を順次進めていく。
【０１０２】
次にＳ３０２では、トルクセンサ２６１〜２６６により、各関節Ｊ１〜Ｊ６のトルクＴｊｎを検出する。各モータにより各リンクが動作しないように保持しているため、モータにより発生するトルクが各モータ回転軸および各減速機を介して各トルクセンサに伝達される。本実施形態では、トルクセンサ２６１〜２６６の変位量の検出値が、インタフェース４０９、バス４１０を介して、ＣＰＵ４０１に入力される。そしてＣＰＵ４０１が上述した変形量をトルクに換算する感度行列を用いてトルクを検出するものとする。なお、トルクセンサ２６１〜２６６にマイコン等のＣＰＵを設け、トルクセンサのマイコンによりトルクに換算したうえで、ＣＰＵ４０１に入力する形式でも構わない。
【０１０３】
次にＳ３０３で、各トルクセンサで検出したトルク値をＲＯＭ４０２等の記憶装置に格納する。そしてＳ３０４によりブレーキ機構を動作させ、リンクが動作しないようにロックする。
【０１０４】
そしてサーボオンの処理は、図８（ｂ）より、Ｓ１０１でサーボオンの指令を受信した後、図５で説明したＳ１０２の処理を飛ばし、Ｓ１０３で、Ｓ３０２で取得したトルク値よりモータ電流値を算出する。後の処理は、図５と同様である。
【０１０５】
以上により、ブレーキ機構を動作させる寸前までにリンクにかかっているトルクを検出することができる。本実施形態におけるブレーキ機構の仕様では、ブレーキ機構により直接リンクの動作をロックしているため、ブレーキオン状態ではリンクにトルクがかからない。
【０１０６】
そこで上述したように、ブレーキ機構が動作する直前にリンクで生じているトルク値を取得し、格納しておく。こうすることで、サーボオンを行う際に、ブレーキ機構がかかる直前のリンクの位置姿勢を保つために必要なモータ電流値を算出することができる。よって、関節軸に連結された負荷側のリンクの落下を抑制することができ、リンクの位置変動を抑制することができる。
【０１０７】
上述した種々の実施形態の処理手順は具体的には制御装置４００により実行されるものとして説明した。しかし、上述した機能を実行可能なソフトウェアの制御プログラムおよびそのプログラムを記録した記録媒体を外部入力装置６に搭載させて実施しても良い。
【０１０８】
従って上述した機能を実行可能なソフトウェアの制御プログラムおよびそのプログラムを記録した記録媒体、通信装置は本発明を構成することになる。
【０１０９】
また、上記実施形態では、コンピュータで読み取り可能な記録媒体がＲＯＭ或いはＲＡＭであり、ＲＯＭ或いはＲＡＭに制御プログラムが格納される場合について説明したが、本発明はこのような形態に限定されるものではない。
【０１１０】
本発明を実施するための制御プログラムは、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、制御プログラムを供給するための記録媒体としては、ＨＤＤ、外部記憶装置、記録ディスク等を用いてもよい。
【０１１１】
（その他の実施形態）
また上述した種々の実施形態では、ロボットアーム本体２００が複数の関節を有する多関節ロボットアームを用いた場合を説明したが、関節の数はこれに限定されるものではない。ロボット装置の形式として、垂直多軸構成を示したが、パラレルリンク型など異なる形式の関節においても上記と同等の構成を実施することができる。
【０１１２】
また上述した種々の実施形態では、ロボットアーム本体２００の構成例を各実施形態の例図により示したが、これに限定されるものではなく、当業者において任意に設計変更が可能である。また、ロボットアーム本体１に設けられる各モータは、上述の構成に限定されるものではなく、各関節を駆動する駆動源は例えば人工筋肉のようなデバイス等であってもよい。
【０１１３】
また上述した種々の実施形態では、ロボットアーム本体に装着されるエンドエフェクタに、制御装置４００から制御値を送信する際、ロボットアーム本体内部に設けられた配線により供給したがこれに限られない。例えば、制御装置４００とエンドエフェクタに、制御値を無線で通信できる無線通信手段をそれぞれ設け、無線によりエンドエフェクタを制御してもかまわない。
【０１１４】
また上述したブレーキ機構は、電磁石により各モータの回転軸の回転をロックするものであったが、これに限られない。例えば、シュークラッチのようなブレーキ機構を用いても構わない。
【０１１５】
また上述した種々の実施形態は、制御装置に設けられる記憶装置の情報に基づき、伸縮、屈伸、上下移動、左右移動もしくは旋回の動作またはこれらの複合動作を自動的に行うことができる機械に適用可能である。
【符号の説明】
【０１１６】
１５  ヨーク
１６  コイル
２０  円盤ばね
２１  反発部材
２３ａ、２３ｂ  摩擦板
１００  ロボット装置
２００  ロボットアーム本体
２０１〜２０６  リンク
２１１〜２１６  モータ
２２１〜２２６  センサ部
２３１〜２３６  ブレーキ機構
２３０  アーム用モータドライバ
２４２  減速機
２５２  接続部材
２６１〜２６６  トルクセンサ
２７２  シール部材
２８２  軸受
２９０  ブレーキ用ドライバ
３００  ロボットハンド本体
４００  制御装置
５００  外部入力措置
【図１】
2020196054.tif 000003
【図２】
2020196054.tif 000004
【図３】
2020196054.tif 000005
【図４】
2020196054.tif 000006
【図５】
2020196054.tif 000007
【図６】
2020196054.tif 000008
【図７】
2020196054.tif 000009
【図８】
2020196054.tif 000010