(57)【要約】【課題】接触検出と力制御を一つの力検知部で行う。【解決手段】ロボットシステムは、基台と、前記基台に支持されているアームと、前記基台に設けられ前記アームに加えられる力を検出する力検出部と、を備えるロボットと、前記ロボットの動作を制御する制御部と、を備える。前記制御部は、前記力検出部の出力に基づいて、前記アームの力制御と、前記ロボットと他の構成との接触に応じた前記アームの減速と、を行う。【選択図】図１
2020015110.tif 000002
【特許請求の範囲】
【請求項１】
基台と、前記基台に支持されているアームと、前記基台に設けられ前記アームに加えられる力を検出する力検出部と、を有するロボットと、
前記アームの力制御と、前記ロボットと物体との接触検出と、を前記力検出部の出力に基づいて行う制御部を有する制御装置と、を備える、
ロボットシステム。
【請求項２】
請求項１に記載のロボットシステムであって、
前記制御部は、前記力の第１方向の力成分の大きさが第１力閾値を超えた場合と、前記力の第２方向の力成分の大きさが前記第１力閾値よりも小さい第２力閾値を超えた場合に前記接触検出に基づいて前記アームの減速を実行する、ロボットシステム。
【請求項３】
請求項２に記載のロボットシステムであって、
前記制御部は、前記力検出部に加えられた前記力から、前記アームに働く重力に起因する力、および前記アームの動作に起因する慣性力、を差し引いた力に基づいて、前記力制御および前記接触検出を行う、ロボットシステム。
【請求項４】
請求項２または３に記載のロボットシステムであって、
前記第１方向は、前記制御部が受け取った前記力制御の目標力の方向である、ロボットシステム。
【請求項５】
請求項２に記載のロボットシステムであって、
前記制御部は、前記力検出部に加えられたトルクの第１回転方向のトルク成分の大きさが第１トルク閾値を超えた場合と、前記力の第２回転方向のトルク成分の大きさが第１トルク閾値よりも大きい第２トルク閾値を超えた場合に前記アームの前記減速を実行する、ロボットシステム。
【請求項６】
請求項５に記載のロボットシステムであって、
前記制御部は、前記力検出部に加えられた前記トルクから、前記アームに働く重力に起因するトルク、および前記アームの動作よって発生する慣性力に起因するトルク、を差し引いたトルクに基づいて、前記力制御および前記接触検出を行う、ロボットシステム。
【請求項７】
請求項１から６のいずれか１項に記載のロボットシステムであって、
前記ロボットは水平多関節ロボットである、ロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、力制御を行うロボットに関する。
【背景技術】
【０００２】
従来、他の構成に加える力を制御する力制御を行うロボットが存在する。特許文献１の技術においては、ロボットシステムは、第１の力センサーおよび第２の力センサーを備える。第１の力センサーは、固定プレートとロボットベースとの間に介挿されている。第２の力センサーは、操作部とアダプターとの間に介挿されている。
【０００３】
特許文献１の技術においては、第１の力センサーによって、ロボットの任意の部位に掛かる作用力が検出される。第２の力センサーによって、作業員が把持する操作部に加えられた操作力が検出される。第１の力センサーによって検出された作用力から、操作力の成分を除去することにより、ロボットの任意の部位が外部の物体と接触したときに物体からロボットに掛かる接触力が算出される。
【０００４】
操作力の大きさが閾値以上である場合、ハンドガイド動作が実行される。具体的には、操作力に応じて、ロボットを動作させるための速度指令が生成される。接触力が閾値以上である場合、緊急停止スキームが実行される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−１７７２９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１の技術においては、力制御を実現するために、接触検出のための力センサーに加えて、ロボットの手先に二つ目の力センサーを用意する必要がある。その結果、ロボットの手先に力センサーを備えない態様に比べて、ロボットの手先の質量が大きく、同程度のモーターの出力で実現できるロボットの手先の移動速度が低い。
【課題を解決するための手段】
【０００７】
本発明の一形態によれば、ロボットシステムが提供される。このロボットシステムは、基台と、前記基台に支持されているアームと、前記基台に設けられ前記アームに加えられる力を検出する力検出部と、を備えるロボットと、前記ロボットの動作を制御する制御部と、を備える。前記制御部は、前記力検出部の出力に基づいて、前記アームの力制御と、前記ロボットと他の構成との接触に応じた前記アームの減速と、を行う。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態のロボットシステム１を模式的に示す説明図である。
【図２】力制御を実行する際のロボット１００と、動作制御装置３０と、教示装置５０との機能を示す図である。
【図３】動作制御装置３０における重力の補償および慣性力の補償の処理を示すブロック図である。
【図４】教示装置５０の出力装置５８に表示されるユーザーインターフェイスＵＩ１２を示す。
【図５】ロボット１００を動作させている際に、動作制御装置３０において接触検出と力制御を実現する処理を示すフローチャートである。
【図６】作用力ｆＳのＸ軸方向の力成分Ｆｘ、Ｙ軸方向の力成分Ｆｙ、およびＺ軸方向の力成分Ｆｚで規定される仮想空間において非接触が推定される領域Ｔｈｆを示す図である。
【図７】作用力ｆＳのＵ軸方向のトルク成分Ｔｕ、Ｖ軸方向のトルク成分Ｔｖ、およびＷ軸方向のトルク成分Ｔｗで規定される仮想空間において非接触が推定される領域Ｔｈｔを示す図である。
【図８】複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。
【図９】複数のプロセッサーによってロボットの制御装置が構成される他の例を示す概念図である。
【発明を実施するための形態】
【０００９】
Ａ．第１実施形態：
Ａ１．ロボットシステムの構成：
図１は、第１実施形態のロボットシステム１を模式的に示す説明図である。図１において、技術の理解を容易にするために、ロボット座標系ＲＣを示す。ロボット座標系ＲＣは、水平面上において互いに直交するＸ軸とＹ軸と、鉛直上向きを正方向とするＺ軸とによって規定される３次元の直交座標系である。本実施形態のロボットシステム１は、ロボット１００と、エンドエフェクター２００と、車両７００と、ロボット制御装置２５と、を備える。
【００１０】
ロボット１００は、スカラロボットである。本明細書において、「スカラロボット」とは、アームを構成するアーム要素であって、互いに平行な方向を回転軸として回転する複数のアーム要素を備え、それら複数のアーム要素の回転軸と垂直な方向を回転軸とするアーム要素を備えないロボット、いわゆる水平多関節ロボットである。
【００１１】
ロボット１００は、４個の関節Ｊ１１〜Ｊ１４を備えたアーム１１０を有する４軸ロボットである。アーム１１０は、関節Ｊ１１を介して、基台１８０に支持されている。ロボット１００は、４個の関節Ｊ１１〜Ｊ１４をそれぞれサーボモーターで回転または直進させることにより、アーム１１０の先端部に取りつけられたエンドエフェクター２００を、３次元空間中の指定された位置に指定された姿勢で配することができる。なお、３次元空間におけるエンドエフェクター２００の位置を代表する地点を、ＴＣＰ（Tool Center Point）とも呼ぶ。
【００１２】
アーム１１０において、関節Ｊ１１，Ｊ１２，Ｊ１４は、ロボット座標系ＲＣのＺ軸方向に平行な方向を回転軸とする回転関節である。図１において、関節Ｊ１１，Ｊ１２，Ｊ１４における回転方向を、それぞれＤｊ１，Ｄｊ２，Ｄｊ４として示す。関節Ｊ１３は、Ｚ軸方向に平行な方向に動作する直動関節である。アーム１１０を構成する複数の関節のうち互いに隣接する関節と関節の間の構成要素を、本明細書において「アーム要素」と呼ぶ。図１において、関節Ｊ１１と関節Ｊ１２の間のアーム要素１１０ａ、関節Ｊ１２と関節Ｊ１３の間のアーム要素１１０ｂ、およびアーム１１０の先端を構成し関節Ｊ１３，Ｊ１４によって動かされるアーム要素１１０ｃを、符号を付して示す。アーム要素１１０ａは、関節Ｊ１１を介して、基台１８０に接続されている。
【００１３】
ロボット１００は、関節Ｊ１１〜Ｊ１４に、それぞれサーボモーター４１０と、エンコーダー４２０と、減速機５１０と、を備える。サーボモーター４１０は、動作制御装置３０に制御されて、その出力軸を回転させる。減速機５１０は、サーボモーター４１０の出力軸の回転を減速させてアーム要素に伝達する。エンコーダー４２０は、サーボモーター４１０の出力軸の回転角度を検出する。
【００１４】
図１においては、関節Ｊ１１を駆動するサーボモーター４１０ａとエンコーダー４２０ａと減速機５１０ａ、関節Ｊ１３を駆動するサーボモーター４１０ｃとエンコーダー４２０ｃと減速機５１０ｃ、関節Ｊ１４を駆動するサーボモーター４１０ｄとエンコーダー４２０ｄと減速機５１０ｄを、符号を付して示す。本明細書において、サーボモーター４１０ａ〜４１０ｄについて、相互に区別せずに言及する場合には、サーボモーター４１０と表記する。エンコーダー４２０ａ〜４２０ｄについて、相互に区別せずに言及する場合には、エンコーダー４２０と表記する。減速機５１０ａ〜５１０ｄについて、相互に区別せずに言及する場合には、減速機５１０と表記する。
【００１５】
関節Ｊ１１を介して回転されるアーム要素１１０ａと、関節Ｊ１２を介して回転されるアーム要素１１０ｂと、関節Ｊ１４を介して回転されるアーム要素１１０ｃとは、それぞれ水平方向に回転される。
【００１６】
アーム要素１１０ｃの一部の外表面には、雄ネジが形成されている。アーム要素１１０ｃの当該部分は、ボールネジとして機能する。サーボモーター４１０ｄによって、ボールネジとしてのアーム要素１１０ｃは、アーム要素１１０ｂに対して矢印Ｊ１３で示す方向に沿って、移動される。
【００１７】
基台１８０は、アーム１１０を支持している。基台１８０の下部には、力検出部１９０が設けられている。力検出部１９０は、アーム１１０に加えられる力を検出することができる。より具体的には、力検出部１９０は、外部、すなわち、力検出部１９０以外の構成から加えられる、Ｘ軸、Ｙ軸、Ｚ軸の３軸方向の力と、回転軸としてのＵ軸、Ｖ軸、Ｗ軸まわりのトルクを検出することができる。その結果、力検出部１９０は、力検出部１９０以外の構成であるアーム１１０に作用するＸ軸、Ｙ軸、Ｚ軸の３軸方向の力と、Ｕ軸、Ｖ軸、Ｗ軸まわりのトルクを測定することができる。力検出部１９０の出力は、動作制御装置３０に送信され、ロボット１００の制御に使用される。
【００１８】
車両７００は、力検出部１９０を介して、基台１８０を支持している。車両７００は、ロボット１００を床面上の任意の位置に移動させることができる。車両７００は、２組の車輪Ｗ１，Ｗ２と、サーボモーター４１０ｖ１，４１０ｖ２と、エンコーダー４２０ｖ１，４２０ｖ２と、減速機５１０ｖ１，５１０ｖ２と、を備える。なお、本明細書において、サーボモーター４１０ｖ１，４１０ｖ２について、相互に区別せずに言及する場合には、サーボモーター４１０ｖと表記する。エンコーダー４２０ｖ１，４２０ｖ２について、相互に区別せずに言及する場合には、エンコーダー４２０ｖと表記する。減速機５１０ｖ１，５１０ｖ２について、相互に区別せずに言及する場合には、減速機５１０ｖと表記する。
【００１９】
サーボモーター４１０ｖ１，４１０ｖ２は、動作制御装置３０に制御されて、その出力軸を回転させる。減速機５１０ｖ１，５１０ｖ２は、サーボモーター４１０ｖ１，４１０ｖ２の各出力軸の回転を減速させてそれぞれ車輪Ｗ１，Ｗ２に伝達する。エンコーダー４２０ｖ１，４２０ｖ２は、それぞれサーボモーター４１０ｖ１，４１０ｖ２の出力軸の回転角度を検出する。
【００２０】
エンドエフェクター２００は、アーム１１０の先端に取りつけられている。エンドエフェクター２００は、動作制御装置３０に制御されて、作業の対象物であるワークピースをつかむことができ、また、つかんでいるワークピースを離すことができる。その結果、たとえば、エンドエフェクター２００とロボット１００と車両７００とは、動作制御装置３０に制御されて、ワークピースをつかんで移動させることができる。なお、図１においては、技術の理解を容易にするため、エンドエフェクター２００を単純な四角形で示している。
【００２１】
ロボット制御装置２５は、ロボット１００を制御する。ロボット制御装置２５は、動作制御装置３０と、教示装置５０とによって構成される。
【００２２】
動作制御装置３０は、ロボット１００の動作を制御する制御装置である。動作制御装置３０は、ロボット１００に接続されている。動作制御装置３０は、プロセッサーであるＣＰＵ（Central Processing Unit）３０１、ＲＡＭ（Random Access Memory）３０２、ＲＯＭ（Read-Only Memory）３０３を備える。動作制御装置３０には、ロボット１００を制御するための制御プログラムがインストールされている。動作制御装置３０においては、ハードウェア資源としてのＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３と、制御プログラムとが協働する。具体的には、ＣＰＵ３０１が、ＲＯＭ３０３に記憶されたコンピュータープログラムをＲＡＭ３０２にロードして実行することによって、様々な機能を実現する。
【００２３】
教示装置５０は、動作制御装置３０に目標位置Ｓｔと目標力ｆＳｔとを教示するための装置である。なお、目標力ｆＳｔは、成分として、直線的に作用する力と、トルクと、を含みうる。教示装置５０は、プロセッサーであるＣＰＵ５０１、ＲＡＭ５０２、ＲＯＭ５０３を備える。教示装置５０には、動作制御装置３０に目標位置Ｓｔと目標力ｆＳｔとを教示するための制御プログラムがインストールされている。教示装置５０においては、ハードウェア資源としてのＣＰＵ５０１、ＲＡＭ５０２、ＲＯＭ５０３と、制御プログラムとが協働する。具体的には、ＣＰＵ５０１が、ＲＯＭ５０３に記憶されたコンピュータープログラムをＲＡＭ５０２にロードして実行することによって、様々な機能を実現する。
【００２４】
教示装置５０は、さらに、入力装置５７と、出力装置５８を備える。入力装置５７は、ユーザーからの指示を受け付ける。入力装置５７は、例えば、マウス、キーボード、タッチパネル等である。出力装置５８は、ユーザーに各種の情報を出力する。出力装置５８は、例えば、ディスプレイやスピーカー等である。
【００２５】
Ａ２．動作制御装置３０による力制御の処理：
図２は、力制御を実行する際のロボット１００と、動作制御装置３０と、教示装置５０との機能を示す図である。図２に示す「Ｓ」は、ロボット座標系ＲＣを規定する軸の方向、すなわち、Ｘ軸方向、Ｙ軸方向、およびＺ軸方向、ならびに回転軸方向としてのＵ軸方向、Ｖ軸方向、Ｗ軸方向のうちのいずれか１つの方向を表す。なお、Ｕ軸方向は、Ｘ軸方向を回転軸とする回転方向である。Ｖ軸方向は、Ｙ軸方向を回転軸とする回転方向である。Ｗ軸方向は、Ｚ軸方向を回転軸とする回転方向である。例えば、Ｓが表わす方向がＸ軸方向の場合、ロボット座標系ＲＣにおいて設定された目標位置のＸ軸方向成分がＳｔ＝Ｘｔと表記され、目標力のＸ軸方向成分がｆＳｔ＝ｆＸｔと表記される。また、Ｓは、Ｓが表わす方向の軸に沿った位置も表す。
【００２６】
動作制御装置３０は、ロボット１００のサーボモーター４１０ａ〜４１０ｄの回転角度の組み合わせと、ロボット座標系ＲＣにおけるＴＣＰの位置との対応関係Ｕを、ＲＡＭ内に記憶している（図２の中段右側参照）。動作制御装置３０は、ロボット１００が行う作業の工程ごとに、目標位置Ｓｔと目標力ｆＳｔとを対応付けて、ＲＡＭ内に記憶している。目標位置Ｓｔと目標力ｆＳｔは、教示装置５０を使用した教示作業によって設定される。
【００２７】
動作制御装置３０は、エンコーダー４２０ａ〜４２０ｄからサーボモーター４１０ａ〜４１０ｄの回転角度Ｄａを取得すると、対応関係Ｕに基づいて、回転角度Ｄａをロボット座標系ＲＣにおけるＴＣＰの位置Ｓに変換する（図２の右側中段参照）。より具体的には、回転角度Ｄａは、ＴＣＰの位置を表す位置ＤＸ、位置ＤＹ、位置ＤＺ、回転角度ＲＸ、回転角度ＲＹ、および回転角度ＲＺの組み合わせに変換される。
【００２８】
力検出部１９０は、独自の座標系において力検出部１９０に加えられた力ｆｍを検出する（図２の右上部参照）。力検出部１９０に加えられた力ｆｍは、成分として、直線的に作用する力と、トルクと、を含みうる。力検出部１９０の座標系とロボット座標系ＲＣの関係が、既知のデータとしてあらかじめ動作制御装置３０のＲＡＭ３０２に記憶されている。このため、動作制御装置３０は、力検出部１９０の出力に基づいて、ロボット座標系ＲＣにおける力ｆｍを特定できる。なお、技術の理解を容易にするために、力検出部１９０の座標系とロボット座標系ＲＣの関係は、図２において省略する。
【００２９】
動作制御装置３０は、ロボット座標系ＲＣに変換した後の力ｆｍに対して重力および慣性力の補償を行う（図２の右下部参照）。「重力の補償」とは、力検出部１９０が測定した力ｆｍから重力に起因する成分を除去する処理である。「慣性力の補償」とは、力検出部１９０が測定した力ｆｍから慣性力の成分を除去する処理である。力検出部１９０が検出した力のうち重力に起因する力および慣性力以外の力を、以下では「作用力ｆＳ」とも呼ぶ。本明細書において、作用力は、成分として、直線的に作用する力と、トルクと、を含みうる。
【００３０】
作用力ｆＳは、（ｉ）力制御において、エンドエフェクター２００が想定された作業対象物から受ける力と、（ｉｉ）エンドエフェクター２００、ロボット１００または車両７００が作業において想定された作業対象物以外の構成と接触した結果、その構成から受ける力と、を含みうる。通常は、作用力ｆＳは、（ｉ）力制御において、エンドエフェクター２００が想定された作業対象物から受ける力である。
【００３１】
動作制御装置３０は、目標力ｆＳｔと作用力ｆＳとをコンプライアントモーション制御の運動方程式に代入することにより、力由来補正量ΔＳを特定する（図２の左側中段参照）。本実施形態では、コンプライアントモーション制御として、インピーダンス制御を採用する。「インピーダンス制御」とは、仮想の機械的インピーダンスをサーボモーター４１０ａ〜４１０ｄによって実現する制御である。以下に示した式（１）は、インピーダンス制御の運動方程式である。
【００３２】
【数１】
2020015110.tif 000003
【００３３】
式（１）において、ｍは、質量パラメーターである。質量パラメーターは、慣性パラメーターとも呼ばれる。ｄは、粘性パラメーターである。ｋは、弾性パラメーターである。各パラメーターｍ、ｄ、ｋは、教示装置５０から取得される。各パラメーターｍ、ｄ、ｋは、方向ごとに異なる値に設定される構成であってもよく、方向にかかわらず共通の値に設定されてもよい。
【００３４】
式（１）において、ΔｆＳ（ｔ）は、目標力ｆＳｔに対する作用力ｆＳの偏差である。ΔｆＳ（ｔ）中のｔは、時間を表す。目標力ｆＳｔは、ロボット１００が行う工程において、一定値として設定されてもよく、時間に依存する関数によって設定されてもよい。式（１）における微分とは、時間による微分を意味する。
【００３５】
式（１）から得られる力由来補正量ΔＳとは、ＴＣＰが機械的インピーダンスによる作用力ｆＳを受けた場合に、目標力ｆＳｔと作用力ｆＳとの力偏差ΔｆＳ（ｔ）を解消して目標力ｆＳｔを達成するために、ＴＣＰが移動すべき変位を意味する。ここで、「変位」は、直線距離および／または回転角で表される。
【００３６】
動作制御装置３０は、目標位置Ｓｔに、力由来補正量ΔＳを加算することにより、インピーダンス制御を考慮した補正目標位置（Ｓｔ＋ΔＳ）を特定する（図２の中段右側参照）。
【００３７】
動作制御装置３０は、対応関係Ｕに基づいて、ロボット座標系ＲＣにおける６つの方向、すなわち、Ｘ軸方向、Ｙ軸方向、Ｚ軸方向、Ｕ軸方向、Ｖ軸方向、およびＷ軸方向のそれぞれについての補正目標位置（Ｓｔ＋ΔＳ）を、サーボモーター４１０ａ〜４１０ｄそれぞれの目標の駆動位置である目標角度Ｄｔに変換する（図２の中段右側参照）。
【００３８】
動作制御装置３０は、エンコーダー４２０ａ〜４２０ｄの出力が示すサーボモーター４１０ａ〜４１０ｄの回転角度Ｄａと、制御目標である目標角度Ｄｔと、を一致させるフィードバック制御を実行する。より具体的には、動作制御装置３０は、回転角度Ｄａと目標角度Ｄｔとの偏差Ｄｅ、その偏差Ｄｅの積分、およびその偏差Ｄｅの微分を使用して、位置についてのＰＩＤ制御を実行する。図２において、比例ゲインＫｐｐ、積分ゲインＫｐｉ、微分ゲインＫｐｄを示す（図２の中央部参照）。
【００３９】
動作制御装置３０は、上記Ｋｐｐ，Ｋｐｉ，Ｋｐｄを使用した位置についてのＰＩＤ制御の出力と、回転角度Ｄａの微分との偏差、その偏差の積分、その偏差の微分を使用して、速度についてのＰＩＤ制御を実行する。図２において、比例ゲインＫｖｐ、積分ゲインＫｖｉ、微分ゲインＫｖｄを示す（図２の中段左側参照）。
【００４０】
以上の処理の結果、サーボモーター４１０ａ〜４１０ｄの制御量Ｄｃが決定される。動作制御装置３０は、各サーボモーター４１０ａ〜４１０ｄの制御量Ｄｃで、各サーボモーター４１０ａ〜４１０ｄを制御する。
【００４１】
以上のような処理により、教示装置５０によって設定される目標位置Ｓｔと目標力ｆＳｔ（図２の下段参照）とに基づいて、動作制御装置３０は、アーム１１０を制御することができる。
【００４２】
図３は、動作制御装置３０における重力の補償および慣性力の補償の処理を示すブロック図である。前述のように、動作制御装置３０は、力検出部１９０に加えられた力ｆｍと、アーム１１０に働く重力と、アーム１１０の動作に起因する慣性力に基づいて、補償を行い、作用力ｆＳを決定する（図２の右下参照）。
【００４３】
動作制御装置３０は、力検出部１９０から力ｆｍの情報を受け取る。動作制御装置３０は、ロボット１００のエンコーダー４２０から、ロボット１００のサーボモーター４１０の回転角度Ｄａの情報を受け取る。動作制御装置３０は、車両７００のエンコーダー４２０ｖから、車両７００のサーボモーター４１０ｖの回転角度Ｄｖの情報を受け取る。
【００４４】
動作制御装置３０は、力検出部１９０が測定した力およびトルクのうち、アーム１１０などにかかる重力に起因する力およびトルクを、以下のように計算する。なお、図３において、アーム１１０などにかかる重力に起因する直線的な力およびトルクを、まとめて重力に起因する力ｆｇと表記する。
【００４５】
動作制御装置３０は、（ｉ）作業においてエンドエフェクター２００に保持されるワークピース、エンドエフェクター２００、基台１８０およびアーム１１０で構成される構造の重心と、（ｉｉ）その重心と力検出部１９０の位置との相対位置と、を計算する。この計算は、（ａ）ワークピース、エンドエフェクター２００、アーム要素１１０ａ〜１１０ｄならびに基台１８０のそれぞれの長さ、重心位置および重量、ならびに（ｂ）回転角度Ｄａから特定されるそのときのアーム１１０の姿勢に基づいて、実行される。
【００４６】
そして、動作制御装置３０は、その相対位置と、上記構造の重量と、に基づいて、力検出部１９０にかかる、基台１８０およびアーム１１０にかかる重力に起因するトルクを計算する（図３のｆｇ参照）。また、上記構造の重量が、力検出部１９０にかかる、基台１８０およびアーム１１０にかかる重力に起因する力である（図３のｆｇ参照）。
【００４７】
動作制御装置３０は、力検出部１９０が測定した力およびトルクのうち、アーム１１０の動きによって発生する慣性力に起因する力およびトルクを、以下のように計算する。なお、図３において、アーム１１０の動きによって発生する慣性力に起因する直線的な力およびトルクを、まとめて慣性力に起因する力ｆｉ１と表記する。
【００４８】
動作制御装置３０は、ワークピース、エンドエフェクター２００、基台１８０およびアーム１１０で構成される構造の重心と、力検出部１９０の位置との相対位置の変化を計算する。そして、動作制御装置３０は、その相対位置の変化を微分して得られる加速度ベクトルと、上記構造の重量と、に基づいて、力検出部１９０にかかる、基台１８０およびアーム１１０にかかる慣性力に起因する力ｆｉ１を計算する。
【００４９】
動作制御装置３０は、力検出部１９０が検出する力およびトルクのうち、車両７００の動きによって発生する慣性力に起因する力およびトルクを、以下のように計算する。なお、図３において、車両７００の動きによって発生する慣性力に起因する直線的な力およびトルクを、まとめて慣性力に起因する力ｆｉ２と表記する。
【００５０】
動作制御装置３０は、（ｉ）ワークピース、エンドエフェクター２００、基台１８０およびアーム１１０で構成される構造の重心と、力検出部１９０の位置との相対位置と、（ｉｉ）上記構造の質量と、（ｉｉｉ）回転角度Ｄｖの変化から特定されるそのときの車両７００の加速度ベクトルと、に基づいて、力検出部１９０にかかる、車両７００の動きによって発生する慣性力に起因する力ｆｉ２を、計算する。
【００５１】
動作制御装置３０は、力検出部１９０が検出した力ｆｍから、それらの力ｆｇ，ｆｉ１，ｆｉ２を減算することにより、作用力ｆＳを算出する（図２の右下部も参照）。
【００５２】
このような処理を行うことにより、ロボット１００に作用した作用力ｆＳのうち直線的に作用する力およびトルクを正確に決定して、アーム１１０の力制御やアーム１１０の動作の停止を実行することができる。
【００５３】
Ａ３．教示装置５０における力制御のパラメーターの入力処理：
図４は、教示装置５０の出力装置５８に表示されるユーザーインターフェイスＵＩ１２を示す。ユーザーインターフェイスＵＩ１２には、教示装置５０の入力装置５７を介して情報が入力される。ユーザーインターフェイスＵＩ１２は、入力窓Ｗ１１〜Ｗ１６、ならびにボタンＢ０１，Ｂ０２を備える。
【００５４】
入力窓Ｗ１１は、力制御における目標力の向きを入力するためのインターフェイスである。図４の例においては、Ｚ軸方向のマイナス側の向きが指定されている。入力窓Ｗ１２は、力情報の一部としての、力制御における目標力の大きさを入力するためのインターフェイスである。図４の例においては、１０Ｎが指定されている。
【００５５】
入力窓Ｗ１３は、エンドエフェクター２００の重量の情報の入力するためのインターフェイスである。図４の例においては、１ｋｇが指定されている。
【００５６】
入力窓Ｗ１４〜Ｗ１６は、エンドエフェクター情報の一部としての、アーム１１０の先端の位置と、アーム１１０に取りつけられたエンドエフェクター２００の重心位置と、の相対位置関係の情報の入力するためのインターフェイスである。図４の例においては、相対位置関係の情報として、Ｘ軸方向０、Ｙ軸方向０、およびＺ軸方向のプラス側５０ｍｍの相対位置が指定されている。
【００５７】
ボタンＢ０１は、入力窓Ｗ１１〜Ｗ１６への入力を終えたユーザーが、教示装置５０に次の処理を行わせるためのボタンである。ボタンＢ０２は、ユーザーインターフェイスＵＩ１２を介した情報の入力の前の処理に戻るためのボタンである。
【００５８】
このようなユーザーインターフェイスＵＩ１２を介して、力制御における目標力ｆＳｔの方向および大きさが、教示装置５０および動作制御装置３０に入力される（図２の下段参照）。動作の目標位置Ｓｔについても、同様のインターフェイスを介して、教示装置５０の入力装置５７から入力される。教示装置５０において、目標力ｆＳｔの方向および大きさの入力を受け付け、動作の目標位置Ｓｔの入力を受け付ける機能部を、図２において、「受付部５３」として示す。
【００５９】
Ａ４．接触検出と力制御：
図５は、ロボット１００を動作させる際に、動作制御装置３０において接触検出と力制御を実現する処理を示すフローチャートである。動作制御装置３０は、力検出部１９０の出力に基づいて、アーム１１０の力制御と、ロボット１００と他の構成との接触に応じたアーム１１０の停止と、を行う。図５の処理は、具体的には、動作制御装置３０のＣＰＵ３０１によって実現される。なお、力制御における目標力ｆＳｔと目標位置Ｓｔとは、図５の処理に先立って、あらかじめ入力されているものとする（図４参照）。
【００６０】
ステップＳ１１０において、動作制御装置３０は、力検出部１９０によって、力検出部１９０にかかる力ｆｍを検出する（図２の右上部参照）。ステップＳ１２０において、動作制御装置３０は、検出力ｆｍから、重力に起因する力ｆｇ、慣性力に起因する力ｆｉ１，ｆｉ２を除いて、作用力ｆＳを決定する（図２の右下部および図３参照）。
【００６１】
ステップＳ１３０において、動作制御装置３０は、作用力ｆＳのＸ軸方向、Ｙ軸方向、Ｚ軸方向についての各方向成分が、それぞれ力閾値Ｔｈｆｘ，Ｔｈｆｙ，Ｔｈｆｚより小さく、かつ、作用力ｆＳのＵ軸方向、Ｖ軸方向、Ｗ軸方向についての各方向成分がトルク閾値Ｔｈｔｕ，Ｔｈｔｖ，Ｔｈｔｗより小さいか否かを判定する。力閾値Ｔｈｆｘ，Ｔｈｆｙ，Ｔｈｆｚ、ならびにトルク閾値Ｔｈｔｕ，Ｔｈｔｖ，Ｔｈｔｗは、ロボット１００によって実現すべき力制御の動作に応じて、あらかじめ定められている。
【００６２】
たとえば、力検出部１９０によって検出された作用力ｆＳのＺ軸方向の力成分Ｆｚの大きさが、力閾値Ｔｈｆｚを超えた場合、作用力ｆＳのＸ軸方向の力成分Ｆｘの大きさが、力閾値Ｔｈｆｘを超えた場合、または作用力ｆＳのＹ軸方向の力成分Ｆｙの大きさが、力閾値Ｔｈｆｙを超えた場合に、ステップＳ１３０における判定はＮｏとなる。
【００６３】
また、たとえば、力検出部１９０によって検出された作用力ｆＳのＷ軸方向のトルク成分Ｔｗの大きさが、トルク閾値Ｔｈｔｗを超えた場合、作用力ｆＳのＵ軸方向のトルク成分Ｔｕの大きさが、トルク閾値Ｔｈｔｕを超えた場合、または作用力ｆＳのＶ軸方向のトルク成分Ｔｖの大きさが、トルク閾値Ｔｈｔｖを超えた場合に、ステップＳ１３０における判定はＮｏとなる。
【００６４】
ステップＳ１３０における判定結果がＮｏの場合、処理は、ステップＳ１４０に進む。判定結果がＹｅｓの場合、処理は、ステップＳ１５０に進む。ステップＳ１３０において行われる作用力の大きさに関する判定を、「接触検出」とも呼ぶ。
【００６５】
ステップＳ１４０において、動作制御装置３０は、アーム１１０を停止させる。力の各方向成分のいずれかが、閾値を超えた場合、または、トルクの各方向成分のいずれかが閾値を超えた場合は、エンドエフェクター２００、ロボット１００または車両７００が意図せずに物体と接触したと推定できる。そのため、動作制御装置３０によるアーム１１０の動作を中止し、アーム１１０は停止される。その結果、アーム１１０によって他の構成が損傷する可能性を低減できる。なお、「物体」は、広くロボット１００に接触し得るものである。「物体」には、作業者や、ロボット１００以外のロボット、ロボット１００の週反に配されている装置などが含まれる。
【００６６】
ステップＳ１５０において、動作制御装置３０は、目標力ｆＳｔを実現する力制御を実行する（図２参照）。ステップＳ１６０において、動作制御装置３０は、ＴＣＰが目標位置Ｓｔに到達したか否かを判定する。判定結果がＹｅｓである場合、処理は終了する。判定結果がＮｏである場合、処理はステップＳ１１０に戻る。
【００６７】
このような処理を行うことにより、動作制御装置３０は、基台１８０に設けられた力検出部１９０に基づいて、アーム１１０の力制御と、ロボット１００と作業対象物以外の構成との接触に応じたアーム１１０の減速と、を実現することができる。
【００６８】
図６は、作用力ｆＳのＸ軸方向の力成分Ｆｘ、Ｙ軸方向の力成分Ｆｙ、およびＺ軸方向の力成分Ｆｚで規定される仮想空間において作業対象物以外の構成と非接触が推定される領域Ｔｈｆを示す図である。作用力ｆＳのＸ軸方向の力成分Ｆｘ、Ｙ軸方向の力成分Ｆｙ、およびＺ軸方向の力成分Ｆｚを各軸とする仮想空間内において、領域Ｔｈｆは、エンドエフェクター２００、ロボット１００または車両７００が他の構成と意図しない接触をしていないと推定できる領域である（図５のＳ１３０参照）。図６は、Ｚ軸方向に力を加える力制御が行われる場合（図４のＷ１１参照）の非接触が推定される領域Ｔｈｆを示す。
【００６９】
エンドエフェクター２００、ロボット１００または車両７００が他の構成と接触したと推定する際の作用力ｆＳの力成分の大きさの閾値を、作用力ｆＳの力成分の方向によらず一定値とした場合に、非接触が推定される領域を、図６において、領域Ｔｈｆｃとして示す。領域Ｔｈｆｃは、Ｆｘ軸、Ｆｙ軸、およびＦｚ軸で規定される空間において、球形である。
【００７０】
これに対して、本実施形態において、非接触が推定される領域Ｔｈｆは、Ｆｚ軸方向を中心軸とする円柱形状である。領域Ｔｈｆは、Ｆｘ−Ｆｙ平面において球形領域Ｔｈｆｃの外縁に接しており、Ｆｚ軸方向において、球形領域Ｔｈｆｃよりも原点Ｏから遠い位置にまで及ぶ円柱である。領域ＴｈｆのＦｚ軸方向のプラス側の外縁およびＦｚ軸方向のマイナス側の外縁は、Ｆｚ軸に垂直な平面である。すなわち、領域Ｔｈｆは、底面の円の半径よりも、軸方向に沿った長さの方が大きい円柱である。領域Ｔｈｆの外縁上の点の座標を（Ｔｈｆｘ，Ｔｈｆｙ，Ｔｈｆｚ）としたとき、領域Ｔｈｆの外縁は、以下の式（２）で規定される。
【００７１】
Ｔｈｆｘ２＋Ｔｈｆｙ２ ＝ Ｃｆ１２  かつ  Ｔｈｆｚ ＝ ±Ｃｆ２  ・・・  （２）
ここで、０＜Ｃｆ１＜Ｃｆ２。
【００７２】
その結果、Ｆｚ軸方向の非接触の力閾値の大きさ｜Ｔｈｆｚ｜は、Ｆｘ軸方向の非接触の力閾値の大きさ｜Ｔｈｆｘ｜およびＦｙ軸方向の非接触の力閾値の大きさ，｜Ｔｈｆｙ｜よりも大きい。
【００７３】
基台１８０に設けられた力検出部１９０によって検出された作用力ｆＳに基づいて、力制御を行いつつ（図５のＳ１５０参照）、接触に応じたアーム１１０の停止を行う場合（図５のＳ１４０参照）、各方向について等しい力閾値を設定すると、次のような問題が生じ得る。すなわち、ロボット１００の動作によって力検出部１９０に力がかかりやすい方向（本実施形態においてＺ軸方向）については、検出された力成分の大きさが頻繁に力閾値Ｔｈｆｚを超え、アーム１１０の停止が頻繁に行われることとなる。しかし、本実施形態において、ロボット１００の動作によって力検出部１９０に力がかかりやすい方向（本実施形態においてＺ軸方向）を、力閾値が他より大きく設定される方向に設定することにより、適切に接触に応じたアーム１１０の停止を行うことができる。
【００７４】
より具体的には、本実施形態においては、力閾値が他より大きく設定される方向は、動作制御装置３０が受け取った力制御の目標力ｆＳｔの方向である（図４のＷ１１および図６参照）。このため、ロボット１００の力制御に起因してアーム１１０の停止が実行されてしまう可能性を低減することができる。一方、他の方向については、他の構成要素と接触を、敏感に検知することができる。
【００７５】
また、本実施形態において、力閾値が他より大きく設定される方向は、アーム要素１１０ａ，１１０ｂの関節Ｊ１１，Ｊ１２の回転軸と平行な方向である（図１および図６参照）。このため、アーム要素１１０ａ，１１０ｂが回転移動しない方向についての力閾値Ｔｈｆｚが、他の方向についての力閾値Ｔｈｆｘ，Ｔｈｆｙよりも大きく設定される。すなわち、アーム要素１１０ａ，１１０ｂの移動によって他の構成要素と接触する可能性が低い回転軸の方向については、力閾値が大きく設定される。このため、アーム要素１１０ａ，１１０ｂの移動によって他の構成要素と接触する可能性が低い回転軸の方向については、ロボット１００の力制御に起因してアーム１１０の停止が実行されてしまう可能性を低減することができる。一方、他のＸ軸方向、Ｙ軸方向については、アーム要素１１０ａ，１１０ｂの移動による他の構成要素と接触を、敏感に検知することができる。
【００７６】
図７は、作用力ｆＳのＵ軸方向のトルク成分Ｔｕ、Ｖ軸方向のトルク成分Ｔｖ、およびＷ軸方向のトルク成分Ｔｗで規定される仮想空間において非接触が推定される領域Ｔｈｔを示す図である。作用力ｆＳのＵ軸方向のトルク成分Ｔｕ、Ｖ軸方向のトルク成分Ｔｖ、およびＷ軸方向のトルク成分Ｔｗを各軸とする仮想空間内において、領域Ｔｈｔは、エンドエフェクター２００、ロボット１００または車両７００が作業対象物以外の構成と意図しない接触をしていないと推定できる領域である（図５のＳ１３０参照）。図７は、Ｚ軸方向に平行なアーム要素の回転軸を有するスカラロボット（図１参照）の非接触が推定される領域Ｔｈｔを示す。
【００７７】
エンドエフェクター２００、ロボット１００または車両７００が他の構成と接触したと推定する際の作用力ｆＳのトルク成分の大きさの閾値を、作用力ｆＳのトルク成分の回転軸方向によらず一定値とした場合に、非接触が推定される領域を、図７において、領域Ｔｈｔｃとして示す。領域Ｔｈｔｃは、Ｔｕ軸、Ｔｖ軸、およびＴｗ軸で規定される空間において、球形である。
【００７８】
これに対して、本実施形態において、非接触が推定される領域Ｔｈｔは、Ｔｗ軸方向を中心軸とする円柱形状である。領域Ｔｈｔは、円柱の両端面の中心点においてそれぞれ球形領域Ｔｈｔｃの外縁に接しており、Ｔｕ−Ｔｗ平面において、球形領域Ｔｈｔｃの外縁よりも原点Ｏから遠い位置にまで及ぶ円柱である。領域ＴｈｔのＴｗ軸方向のプラス側の外縁およびＦｚ軸方向のマイナス側の外縁は、Ｔｗ軸に垂直な平面である。領域Ｔｈｔの外縁上の点の座標を（Ｔｈｔｕ，Ｔｈｔｖ，Ｔｈｔｗ）としたとき、領域Ｔｈｔの外縁は、以下の式（３）で規定される。
【００７９】
Ｔｈｔｕ２＋Ｔｈｔｖ２ ＝ Ｃｔ１２  かつ  Ｔｈｔｗ ＝ ±Ｃｔ２  ・・・  （３）
ここで、０＜Ｃｔ２＜Ｃｔ１。
【００８０】
その結果、Ｔｗ軸方向の非接触のトルク閾値の大きさ｜Ｔｈｆｚ｜は、Ｔｕ軸方向の非接触のトルク閾値の大きさ｜Ｔｈｆｘ｜およびＴｖ軸方向の非接触のトルク閾値の大きさ｜Ｔｈｆｙ｜の最大値よりも小さい。
【００８１】
基台１８０に設けられた力検出部１９０によって検出された作用力ｆＳに基づいて、力制御を行いつつ（図５のＳ１５０参照）、接触に応じたアーム１１０の停止を行う場合（図５のＳ１４０参照）、各回転方向について等しいトルク閾値を設定すると、以下のような問題が生じ得る。すなわち、ロボット１００の動作によって他の構成要素と接触する可能性が高い回転方向（本実施形態においてＷ軸方向）に合わせてトルク閾値が設定され、その結果、他の回転方向については、力制御に起因して検出されたトルク成分の大きさが不必要に頻繁にトルク閾値を超え、アーム１１０の減速が頻繁に行われることとなる。しかし、上記の態様において、ロボット１００の動作によって他の構成要素と接触する可能性が高い回転方向（本実施形態においてＷ軸方向）を、トルク閾値が他より小さく設定される方向に設定することにより、適切に接触に応じたアーム１１０の停止を行うことができる。
【００８２】
より具体的には、本実施形態において、トルク閾値が他の方向のトルク閾値の最大値より小さく設定される方向は、アーム要素１１０ａ，１１０ｂの関節Ｊ１１，Ｊ１２の回転軸と平行な方向である。すなわち、アーム要素１１０ａ，１１０ｂの移動によって他の構成要素と接触する可能性が高いＷ軸方向については、トルク閾値Ｔｈｔｗが、他の方向についてのトルク閾値Ｔｈｔｕ，Ｔｈｔｖよりも小さく設定される。このため、アーム要素１１０ａ，１１０ｂの移動によって他の構成要素と接触する可能性が高いＷ軸方向については、アーム要素１１０ａ，１１０ｂの移動による他の構成要素と接触を、敏感に検知することができる。一方、他のＵ軸方向、Ｖ軸方向については、ロボット１００の力制御に起因してアーム１１０の停止が実行されてしまう可能性を低減することができる。
【００８３】
以上で説明した第１実施形態のロボットシステム１によれば、基台１８０に設けられた力検出部１９０に基づいて、アーム１１０の力制御（図５のＳ１５０参照）と、ロボット１００と他の構成とが接触した場合の停止（図５のＳ１４０参照）とを、実現することができる。
【００８４】
第１実施形態のロボットシステム１は、アーム１１０の先端に力制御のための二つ目の力検出部を備えない。その結果、アームの先端に力検出部を備える態様に比べて、アーム１１０の先端の質量が小さい。このため、アームの先端に力検出部を備える態様に比べて、同じモーターの出力で実現できるアーム１１０の先端の移動速度が高い。また、同程度に高速にアーム１１０の先端を移動させるために必要とされるモーターの出力をより小さくすることができる。さらに、力制御のための力検出部をアームの先端に備える態様に比べて、製造コストを低減できる。
【００８５】
本実施形態におけるロボット制御装置２５を、「制御部」とも呼ぶ。ロボット座標系ＲＣにおけるＺ軸方向を、「第１方向」とも呼ぶ。ロボット座標系ＲＣにおけるＸ軸方向およびＹ軸方向を、「第２方向」とも呼ぶ。力閾値Ｔｈｆｚを、「第１力閾値」とも呼ぶ。力閾値Ｔｈｆｘ，Ｔｈｆｙを、「第２力閾値」とも呼ぶ。
【００８６】
本実施形態におけるロボット座標系ＲＣにおけるＷ軸方向を、「第１回転方向」とも呼ぶ。ロボット座標系ＲＣにおけるＵ軸方向およびＶ軸方向を、「第２回転方向」とも呼ぶ。トルク閾値Ｔｈｔｗを、「第１トルク閾値」とも呼ぶ。トルク閾値Ｔｈｔｕ，Ｔｈｔｖを、「第２トルク閾値」とも呼ぶ。
【００８７】
Ｂ．第２実施形態：
上記第１実施形態においては、ロボットシステム１が作業を行っているときの力制御と接触検出の例を説明した。しかし、図５の力制御と接触検出は、ロボットシステム１による作業に先だって、ロボット１００に動作の教示を行う際にも適用できる。以下では、ロボット１００に動作の教示を行う際の力制御と接触検出について説明する。第２実施形態においては、図５の処理をロボット１００への教示の際に実行する点、ならびに動作制御装置３０が実行する図５の処理のうち、ステップＳ１５０とステップＳ１６０の処理内容が異なる。第２実施形態においては、他の点は、第１実施形態と同じである。
【００８８】
ロボット１００への動作の教示は、いわゆるダイレクトティーチの処理を含む。ダイレクトティーチにおいては、アーム要素１１０ｃ（図１参照）の先端をユーザーが所望の位置に移動させて、その位置がロボットシステム１に教示される。位置を記憶すべき旨の指示は、教示装置５０の入力装置５７を介して行われる。ロボットシステム１への目標位置Ｓｔ（図２の下段参照）の入力は、このような態様で行うこともできる。このような機能を奏する教示装置５０の機能部は、受付部５３である。
【００８９】
動作制御装置３０は、ダイレクトティーチにおいて、図５の処理を実行する。ダイレクトティーチにおいて、ユーザーがアーム要素１１０ｃの先端に力を加えていない間は、動作制御装置３０は、アーム１１０を動かさず、アーム１１０の姿勢を維持する。ダイレクトティーチにおいて、ユーザーがアーム要素１１０ｃの先端に力を加えている間は、動作制御装置３０は、力検出部１９０より検出された力に応じてアーム１１０の先端を移動および回転させる。
【００９０】
動作制御装置３０は、図５のステップＳ１５０において、力検出部１９０より検出された力およびトルクが基準値より大きくならないように、アーム１１０の先端を移動および回転させる。これらの力の基準値およびトルクの基準値は、各軸方向について定められる。これらの力の基準値およびトルクの基準値は、それぞれステップＳ１３０における力閾値Ｔｈｆｘ，Ｔｈｆｙ，Ｔｈｆｚ、ならびにトルク閾値Ｔｈｔｕ，Ｔｈｔｖ，Ｔｈｔｗより小さい。
【００９１】
また、動作制御装置３０は、ステップＳ１５０において、力検出部１９０より作用力が検出されない場合、すなわち、ユーザーがアーム要素１１０ｃの先端に力を加えていない場合は、動作制御装置３０は、アーム１１０を動かさず、アーム１１０の姿勢を維持する。
【００９２】
ステップＳ１６０においては、ユーザーが、アーム１１０の先端がロボット１００に教示すべき目標位置Ｓｔに到達したか否かを判定する。判定結果がＮｏである場合、処理はステップＳ１１０に戻り、ユーザーは、アーム要素１１０ｃの先端を引き続き移動させる。判定結果がＹｅｓである場合、図５の処理は終了し、ユーザーは、そのときのアーム要素１１０ｃの先端の位置を、教示装置５０の入力装置５７を介してロボットシステム１に記憶させる。
【００９３】
第２実施形態においては、ダイレクトティーチが行われている際に、アーム１１０が他の構成に接触した場合には、ステップＳ１３０の判定を経て、ステップＳ１４０において、アーム１１０の動作が停止される。このため、ダイレクトティーチの際に、ユーザーが誤って他の構成を損傷させる可能性を低減することができる。
【００９４】
第２実施形態においては、ロボットシステム１への動作の教示において、基台１８０に設けられた力検出部１９０に基づいて、アーム１１０の力制御（図５のＳ１５０参照）と、ロボットと他の構成とが接触した場合の停止（図５のＳ１４０参照）とを、行うことができる。
【００９５】
Ｃ．第３実施形態：
図８は、複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。この例では、ロボット１００およびその動作制御装置３０の他に、パーソナルコンピューター４００，４００ｂと、ＬＡＮなどのネットワーク環境を介して提供されるクラウドサービス５００とが描かれている。パーソナルコンピューター４００，４００ｂは、それぞれプロセッサーとメモリーとを含んでいる。また、クラウドサービス５００においてもプロセッサーとメモリーを利用可能である。プロセッサーは、コンピューター実行可能な命令を実行する。これらの複数のプロセッサーの一部または全部を利用して、動作制御装置３０および教示装置５０を含むロボット制御装置２５を実現することが可能である。また、各種の情報を記憶する記憶部も、これらの複数のメモリーの一部または全部を利用して、実現することが可能である。
【００９６】
Ｄ．第４実施形態：
図９は、複数のプロセッサーによってロボットの制御装置が構成される他の例を示す概念図である。この例では、ロボット１００の動作制御装置３０が、ロボット１００の中に格納されている点が図８と異なる。この例においても、複数のプロセッサーの一部または全部を利用して、ロボット１００の制御装置を実現することが可能である。また、各種の情報を記憶する記憶部も、複数のメモリーの一部または全部を利用して、実現することが可能である。
【００９７】
Ｅ．他の実施形態：
Ｅ１．他の実施形態１：
（１）上記実施形態においては、動作制御装置３０は、エンコーダー４２０ｖ１，４２０ｖ２からサーボモーター４１０ｖ１，４１０ｖ２の出力軸の回転角度を取得し、その回転角度の変化に基づいて、車両７００の動きによって発生する慣性力に起因する力ｆｉ２を計算する。しかし、車両７００が慣性計測装置（ＩＭＵ：Inertial Measurement Unit）を備える態様においては、動作制御装置３０は、慣性計測装置から車両７００のＸ軸方向、Ｙ軸方向、Ｚ軸方向の加速度、ならびにＵ軸方向、Ｖ軸方向、Ｗ軸方向の角速度の情報を取得することができる。そして、動作制御装置３０は、それらの加速度、および角速度から得られる角加速度に基づいて、車両７００の動きによって発生する慣性力に起因する力ｆｉ２を計算することができる。図１において、慣性計測装置をＩＭＵ７１０として示す。
なお、慣性計測装置は、ロボット１００など、車両７００以外の場所に設けられていてもよい。例えば、ロボット１００の基台１８０が慣性計測装置を備えている態様であってもよい。慣性計測装置は、ロボットにおいて、基台以外の場所に設けることもできる。ただし、慣性計測装置は、ロボットにおいて、基台に対して移動することができる構成要素よりも基台側の部位に設けられていることが好ましい。
【００９８】
（２）上記実施形態においては、ロボット１００は、車両７００に支持されている（図１参照）。しかし、ロボット１００の基台１８０が移動しない態様とすることもできる。そのような態様においては、車両７００の動きによって発生する慣性力に起因する力ｆｉ２を、力検出部１９０が測定した力ｆｍから除去する処理（図３の下段参照）を行う必要はない。
【００９９】
（３）上記実施形態においては、動作制御装置３０は、目標力ｆＳｔを実現する力制御を実行する（図２および図５のＳ１５０参照）。そして、目標力ｆＳｔは、成分として、直線的に作用する力と、トルクと、を含みうる。すなわち、力制御は、直線的に作用する力と、トルクと、について行われる。しかし、力制御は、直線的に作用する力のみに関して行われることもできる。そのような態様においては、力検出部１９０は、トルクの検知を行わない態様とすることができる。また、そのような態様においては、トルクに関する閾値との比較（図５のＳ１３０参照）も行う必要はない。たとえば、スカラロボットにおいて力制御を行う場合には、直線的に作用する力のみに関して力制御を行っても、十分な精度で力制御を行うことができる。ただし、さらにトルクも考慮して力制御を行うこととすれば、より高精度に力制御および接触検出を行うことができる。
【０１００】
（４）上記実施形態においては、一つのアーム１１０を備えるスカラロボット１００を例に本開示の技術を説明した。しかし、本開示の技術は、二つの腕を備えるロボットなど、複数の腕を備えるロボットに適用することもできる。
【０１０１】
（５）上記実施形態においては、作用力ｆＳのＸ軸方向、Ｙ軸方向、Ｚ軸方向についての各方向成分のいずれかが、力閾値より大きいか、または、作用力ｆＳのＵ軸方向、Ｖ軸方向、Ｗ軸方向についての各方向成分がトルク閾値より大きい場合には、動作制御装置３０は、アーム１１０を停止させる。しかし、そのような場合に、動作制御装置３０が、アームの動作速度を低下させつつ、アームを動作させ続ける態様とすることもできる。本明細書においては、最終的に動作速度が０になるか否かによらず、アームの動作速度を低下させることを、「アームの減速」と呼ぶ。
【０１０２】
また、作用力ｆＳのＸ軸方向、Ｙ軸方向、Ｚ軸方向についての各方向成分のいずれかが、力閾値より大きいか、または、作用力ｆＳのＵ軸方向、Ｖ軸方向、Ｗ軸方向についての各方向成分がトルク閾値より大きい場合（図５のＳ１３０参照）、すなわち、接触検出において物体との接触があった旨の判定がされた場合に、行われる処理は、アームの減速である。しかし、接触検出の肯定判定がされた場合に、行われる処理は、画像、音声、またはランプの点灯などの処理による警告の出力であってもよい。
【０１０３】
（６）上記実施形態においては、アーム要素１１０ａ，１１０ｂの関節Ｊ１１，Ｊ１２の回転軸の方向は、重力方向と平行である。しかし、スカラロボットにおける複数のアーム要素の関節の回転軸の方向は、重力方向とは異なる方向とすることもできる。また、無重力環境下で使用されるロボットに、本開示の技術を適用することもできる。
【０１０４】
Ｅ２．他の実施形態２：
（１）上記実施形態においては、Ｚ軸方向の非接触の力閾値の大きさ｜Ｔｈｆｚ｜は、Ｘ軸方向の非接触の力閾値の大きさ｜Ｔｈｆｘ｜およびＹ軸方向の非接触の力閾値の大きさ｜Ｔｈｆｙ｜よりも大きい（図６参照）。しかし、各方向の力閾値の大きさは、互いに等しくてもよい（図６のＴｈｆｃ参照）。そのような態様としても、基台に設けられた力検出部に基づいて、アームの力制御と、ロボットと他の構成とが接触した場合の減速とを、行うことができる。
【０１０５】
（２）上記実施形態においては、力閾値は、ロボット座標系ＲＣのＸ軸方向、Ｙ軸方向、Ｚ軸方向についての各方向成分に対して、設定されている。しかし、力閾値は、ロボット座標系ＲＣとは異なる座標系の各軸方向について設定されることもできる。そのような態様においては、作用力ｆＳが、力閾値が設定される座標系に基づく力ベクトルに座標変換された後、閾値との比較が実行される（図５のＳ１３０参照）。
【０１０６】
Ｅ３．他の実施形態３：
上記実施形態においては、動作制御装置３０は、力検出部１９０が検出した力ｆｍから、重力に起因する力ｆｇ、ならびに慣性力に起因するｆｉ１，ｆｉ２を減算することにより、作用力ｆＳを算出する（図３および図２の右下部参照）。しかし、重力に起因する力および慣性力による補償を行わない態様とすることもできる。そのような態様においては、重力に起因する力およびロボットや車両の動作に起因する慣性力をあらかじめ考慮して、各方向の力閾値およびトルク閾値を定めることが好ましい。また、重力に起因する力による補償と、慣性力による補償とのいずれか一方のみを行う態様とすることもできる。
【０１０７】
Ｅ４．他の実施形態４：
（１）上記実施形態においては、力閾値が他より大きく設定される方向は、アーム要素１１０ａ，１１０ｂの関節Ｊ１１，Ｊ１２の回転軸と平行な方向である（図１および図６参照）。しかし、力閾値が他より大きく設定される方向は、アーム要素の関節の回転軸と平行ではない方向であってもよい。
【０１０８】
（２）上記実施形態においては、ロボット１００は、スカラロボットである（図１参照）。しかし、本開示の技術を適用する対象は、垂直多関節ロボットなど、他のロボットでもよい。
【０１０９】
Ｅ５．他の実施形態５：
上記実施形態においては、力閾値が他より大きく設定される方向は、動作制御装置３０が受け取った力制御の目標力ｆＳｔの方向である（図４のＷ１１および図６参照）。しかし、力閾値が他より大きく設定される方向は、力制御の目標力の方向とは異なる方向であってもよい。力閾値が他より大きく設定される方向は、ロボットの回転軸の方向や、重力方向など、さまざまな方向に基づいて定めることができる。
【０１１０】
Ｅ６．他の実施形態６：
（１）上記実施形態においては、Ｗ軸方向の非接触のトルク閾値の大きさ｜Ｔｈｔｗ｜は、Ｕ軸方向の非接触のトルク閾値の大きさ｜Ｔｈｔｕ｜およびＶ軸方向の非接触のトルク閾値の大きさ｜Ｔｈｔｖ｜よりも小さい（図７参照）。しかし、各方向のトルク閾値の大きさは、互いに等しくてもよい（図７のＴｈｔｃ参照）。そのような態様としても、基台に設けられた力検出部に基づいて、アームの力制御と、ロボットと他の構成とが接触した場合の減速とを、行うことができる。
【０１１１】
（２）上記実施形態においては、トルク閾値は、ロボット座標系ＲＣのＸ軸方向、Ｙ軸方向、Ｚ軸方向、より具体的には、Ｕ軸方向、Ｖ軸方向、Ｗ軸方向についての各方向成分に対して、設定されている。しかし、トルク閾値は、ロボット座標系ＲＣとは異なる座標系の各軸方向について設定されることもできる。そのような態様においては、作用力ｆＳが、トルク閾値が設定される座標系に基づくトルクベクトルに座標変換された後、閾値との比較が実行される（図５のＳ１３０参照）。
【０１１２】
Ｅ７．他の実施形態７：
上記実施形態においては、動作制御装置３０は、力検出部１９０が検出した力ｆｍから、重力に起因する力ｆｇ、ならびに慣性力に起因するｆｉ１，ｆｉ２を減算することにより、作用力ｆＳを算出する（図３および図２の右下部参照）。しかし、重力に起因する力および慣性力による補償を、直線的な力とトルクとの一方のみについて、行う態様とすることもできる。
【０１１３】
重力に起因する力および慣性力による補償を、トルクについて行わない態様においては、重力に起因する力およびロボットや車両の動作に起因する慣性力をあらかじめ考慮して、各方向のトルク閾値を定めることが好ましい。重力に起因する力および慣性力による補償を、直線的な力について行わない態様においては、重力に起因する力およびロボットや車両の動作に起因する慣性力をあらかじめ考慮して、各方向の力閾値を定めることが好ましい。
【０１１４】
Ｅ８．他の実施形態８：
上記実施形態においては、トルク閾値が他より小さく設定される回転軸方向は、アーム要素１１０ａ，１１０ｂの関節Ｊ１１，Ｊ１２の回転軸と平行な回転軸方向である（図１および図６参照）。しかし、トルク閾値が他より小さく設定される回転軸方向は、アーム要素の関節の回転軸と平行ではない回転軸方向であってもよい。
【０１１５】
Ｆ．さらに他の形態：
本発明は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本発明は、以下の形態によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本発明の課題の一部又は全部を解決するために、あるいは、本発明の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【０１１６】
（１）本発明の一形態によれ55ば、ロボットシステムが提供される。このロボットシステムは、基台と、前記基台に支持されているアームと、前記基台に設けられ前記アームに加えられる力を検出する力検出部と、を有するロボットと、前記アームの力制御と、前記ロボットと物体との接触検出と、を前記力検出部の出力に基づいて行う制御部を有する制御装置と、を備える。
このような態様とすれば、基台に設けられた力検出部に基づいて、アームの力制御と、ロボットと物体との接触検出とを、行うことができる。その結果、力制御のための力検出部をアームの先端に備える態様に比べて、同じ出力で実現できるアームの先端の移動速度が高い。
なお、本明細書においては、狭義の力は、直線的に作用する力を意味する。一方、広義の力は、直線的に作用する力と、トルクと、を含む。
【０１１７】
本発明の一形態によれば、ロボットシステムが提供される。このロボットシステムは、基台と、前記基台に支持されているアームと、前記基台に設けられ前記アームに加えられる力を検出する力検出部と、を備えるロボットと、前記ロボットの動作を制御する制御部と、を備える。前記制御部は、前記力検出部の出力に基づいて、前記アームの力制御と、前記ロボットと他の構成との接触に応じた前記アームの減速と、を行う。
このような態様とすれば、基台に設けられた力検出部に基づいて、アームの力制御と、ロボットと他の構成とが接触した場合の減速とを、行うことができる。その結果、力制御のための力検出部をアームの先端に備える態様に比べて、同じ出力で実現できるアームの先端の移動速度が高い。また、同程度に高速にアームの先端を移動させるために必要とされる出力が小さい。さらに、力制御のための力検出部をアームの先端に備える態様に比べて、製造コストを低減できる。
【０１１８】
（２）上記形態のロボットシステムにおいて、前記制御部は、前記力の第１方向の力成分の大きさが第１力閾値を超えた場合と、前記力の第２方向の力成分の大きさが前記第１力閾値よりも小さい第２力閾値を超えた場合に前記接触検出に基づいて前記アームの減速を実行する、態様とすることもできる。
基台に設けられた力検出部によって検出された力に基づいて、力制御を行いつつ、接触検出を行う場合、各方向について等しい力閾値を設定すると、以下のような問題が生じ得る。すなわち、ロボットの動作によって力検出部に力がかかりやすい方向については、検出された力成分の大きさが頻繁に力閾値を超え、接触検出が頻繁に行われる可能性がある。しかし、上記の態様において、ロボットの動作によって力検出部に力がかかりやすい方向に応じて第１方向を設定することにより、ロボットの動作によって力検出部に力がかかりやすい方向についても、適切に接触検出を行うことができる。
【０１１９】
上記形態のロボットシステムにおいて、前記力検出部は、前記力検出部に加えられた力の互いに異なる３方向の力成分を検出することができ、前記制御部は、前記力検出部によって検出された作用力の第１方向の力成分の大きさが、第１力閾値を超えた場合、または前記作用力の第２方向の力成分の大きさが、第２力閾値を超えた場合に、前記アームの前記減速を実行し、前記第２方向は、前記第１方向とは異なる方向であり、前記第１力閾値は、前記第２力閾値よりも大きい、態様とすることもできる。
基台に設けられた力検出部によって検出された作用力に基づいて、力制御を行いつつ、接触に応じたアームの減速を行う場合、各方向について等しい力閾値を設定すると、以下のような問題が生じ得る。すなわち、ロボットの動作によって力検出部に力がかかりやすい方向については、検出された力成分の大きさが頻繁に力閾値を超え、アームの減速が頻繁に行われる可能性がある。しかし、上記の態様において、ロボットの動作によって力検出部に力がかかりやすい方向に応じて第１方向を設定することにより、ロボットの動作によって力検出部に力がかかりやすい方向についても、適切に接触に応じたアームの減速を行うことができる。
なお、本明細書において、方向Ａと方向Ｂとが「異なる」とは、同一および平行を含まない関係を、方向Ａと方向Ｂとが有することを意味する。
【０１２０】
（３）上記形態のロボットシステムにおいて、前記制御部は、前記力検出部に加えられた前記力から、前記アームに働く重力に起因する力、および前記アームの動作に起因する慣性力、を差し引いた力に基づいて、前記力制御および前記接触検出を行う、態様とすることもできる。
このような態様とすれば、ロボットに作用した力を正確に決定して、接触検出を実行することができる。
【０１２１】
上記形態のロボットシステムにおいて、前記制御部は、前記力検出部に加えられた前記力と、前記アームにはたらく重力に起因する力と、前記アームの動作に起因する慣性力と、に基づいて、前記作用力を決定する、態様とすることもできる。
【０１２２】
上記形態のロボットシステムにおいて、前記アームは、互いに平行な方向を回転軸として回転する複数のアーム要素を備え、前記複数のアーム要素の回転軸と垂直な方向を回転軸とするアーム要素を備えず、前記第１方向は、前記複数のアーム要素の回転軸と平行な方向である、態様とすることもできる。
このような態様において、アーム要素が回転移動しない方向についての第１力閾値が、他の方向についての第２力閾値よりも大きく設定される。すなわち、アーム要素の移動によって他の構成要素と接触する可能性が低い方向については、第１力閾値が大きく設定される。このため、アーム要素の移動によって他の構成要素と接触する可能性が低い方向については、ロボットの力制御に起因してアームの減速が実行されてしまう可能性を低減することができる。一方、他の方向については、アーム要素の移動による他の構成要素と接触を、敏感に検知することができる。
【０１２３】
（４）上記形態のロボットシステムにおいて、前記第１方向は、前記制御部が受け取った前記力制御の目標力の方向である、態様とすることもできる。
このような態様において、目標力の方向についての第１力閾値が、他の方向についての第２力閾値よりも大きく設定される。このため、ロボットの力制御に起因してアームの減速が実行されてしまう可能性を低減することができる。一方、他の方向については、他の構成要素と接触を、敏感に検知することができる。
【０１２４】
（５）上記形態のロボットシステムにおいて、前記制御部は、前記力検出部に加えられたトルクの第１回転方向のトルク成分の大きさが第１トルク閾値を超えた場合と、前記力の第２回転方向のトルク成分の大きさが第１トルク閾値よりも大きい第２トルク閾値を超えた場合に前記アームの前記減速を実行する、態様とすることもできる。
基台に設けられた力検出部によって検出された力に基づいて、力制御を行いつつ、接触検出を行う場合、各回転方向について等しいトルク閾値を設定すると、以下のような問題が生じ得る。すなわち、ロボットの動作によって物体と接触する可能性が高い回転方向に合わせてトルク閾値が設定され、その結果、他の回転方向については、力制御に起因して検出されたトルク成分の大きさが不必要に頻繁にトルク閾値を超え、接触検出が頻繁に行われる可能性がある。しかし、上記の態様において、ロボットの動作によって物体と接触する可能性が高い回転方向に応じて第１回転方向を設定することにより、他の方向についても、適切に接触検出を行うことができる。
【０１２５】
上記形態のロボットシステムにおいて、前記力検出部は、さらに、前記力検出部に加えられたトルクの互いに異なる３個の回転方向のトルク成分を検出することができ、前記制御部は、前記作用力の第１回転方向のトルク成分の大きさが、第１トルク閾値を超えた場合、または前記作用力の第２回転方向のトルク成分の大きさが、第２トルク閾値を超えた場合に、前記アームの前記減速を実行し、前記第２回転方向は、前記第１回転方向とは異なる回転方向であり、前記第１トルク閾値は、前記第２トルク閾値の最大値よりも小さい、態様とすることもできる。
基台に設けられた力検出部によって検出された作用力に基づいて、力制御を行いつつ、接触に応じたアームの減速を行う場合、各回転方向について等しいトルク閾値を設定すると、以下のような問題が生じ得る。すなわち、ロボットの動作によって他の構成要素と接触する可能性が高い回転方向に合わせてトルク閾値が設定され、その結果、他の回転方向については、力制御に起因して検出されたトルク成分の大きさが不必要に頻繁にトルク閾値を超え、アームの減速が頻繁に行われる可能性がある。しかし、上記の態様において、ロボットの動作によって他の構成要素と接触する可能性が高い回転方向に応じて第１回転方向を設定することにより、他の方向についても、適切に接触に応じたアームの減速を行うことができる。
なお、本明細書において、回転方向Ｐと回転方向Ｑとが「異なる」とは、同一および平行を含まない関係を、回転方向Ｐと回転方向Ｑとが有することを意味する。
【０１２６】
（６）上記形態のロボットシステムにおいて、前記制御部は、前記力検出部に加えられた前記トルクから、前記アームに働く重力に起因するトルク、および前記アームの動作よって発生する慣性力に起因するトルク、を差し引いたトルクに基づいて、前記力制御および前記接触検出を行う、態様とすることもできる。
このような態様とすれば、ロボットに作用したトルクを正確に決定して、アームの減速を実行することができる。
【０１２７】
上記形態のロボットシステムにおいて、前記制御部は、前記力検出部に加えられた前記トルクと、前記アームにはたらく重力に起因する力と、前記アームの動作に起因する慣性力と、に基づいて、前記作用力を決定する、態様とすることもできる。
このような態様とすれば、ロボットに作用した作用力のうちのトルクを正確に決定して、アームの減速を実行することができる。
【０１２８】
（７）上記形態のロボットシステムにおいて、前記ロボットは水平多関節ロボットである、態様とすることもできる。
このような態様において、物体と接触する可能性が高い方向については、物体と接触を、敏感に検知するように設定することができる。一方、他の方向については、ロボットの力制御に起因して接触検出が行われてしまう可能性を低減することができる。
【０１２９】
上記形態のロボットシステムにおいて、前記アームは、互いに平行な方向を回転軸として回転する複数のアーム要素を備え、前記複数のアーム要素の回転軸と垂直な方向を回転軸とするアーム要素を備えず、前記第１回転方向は、前記複数のアーム要素の回転軸と平行な方向である、態様とすることもできる。
このような態様において、アーム要素が移動する回転方向についての第１力閾値が、他の方向についての第２力閾値よりも小さく設定される。すなわち、アーム要素の移動によって他の構成要素と接触する可能性が高い方向については、第１トルク閾値が小さく設定される。このため、アーム要素の移動によって他の構成要素と接触する可能性が高い方向については、アーム要素の移動による他の構成要素と接触を、敏感に検知することができる。一方、他の方向については、ロボットの力制御に起因してアームの減速が実行されてしまう可能性を低減することができる。
【０１３０】
上述した本発明の各形態の有する複数の構成要素はすべてが必須のものではなく、上述の課題の一部又は全部を解決するため、あるいは、本明細書に記載された効果の一部又は全部を達成するために、適宜、前記複数の構成要素の一部の構成要素について、その変更、削除、新たな他の構成要素との差し替え、限定内容の一部削除を行うことが可能である。また、上述の課題の一部又は全部を解決するため、あるいは、本明細書に記載された効果の一部又は全部を達成するために、上述した本発明の一形態に含まれる技術的特徴の一部又は全部を上述した本発明の他の形態に含まれる技術的特徴の一部又は全部と組み合わせて、本発明の独立した一形態とすることも可能である。
【符号の説明】
【０１３１】
１…ロボットシステム、２５…ロボット制御装置、３０…動作制御装置、５０…教示装置、５３…受付部、５７…入力装置、５８…出力装置、１００…ロボット、１１０…アーム、１１０ａ〜１１０ｃ…アーム要素、１８０…基台、１９０…力検出部、２００…エンドエフェクター、３０１…ＣＰＵ、３０２…ＲＡＭ、３０３…ＲＯＭ、４００，４００ｂ…パーソナルコンピューター、４１０ａ〜４１０ｄ…サーボモーター、４１０ｖ１，４１０ｖ２…サーボモーター、４２０，４２０ａ〜４２０ｄ…エンコーダー、４２０ｖ，４２０ｖ１，４２０ｖ２…エンコーダー、５００…クラウドサービス、５０１…ＣＰＵ、５０２…ＲＡＭ、５０３…ＲＯＭ、５１０ａ〜５１０ｄ…減速機、５１０ｖ１，５１０ｖ２…減速機、７００…車両、７１０…慣性計測装置（ＩＭＵ）、Ｂ０１，Ｂ０２…ボタン、Ｃｆ１，Ｃｆ２…力閾値の値、Ｃｔ１，Ｃｔ２…トルク閾値の値、Ｄａ…サーボモーター４１０ａ〜４１０ｄの回転角度、Ｄｃ…制御量、Ｄｅ…回転角度Ｄａと目標角度Ｄｔとの偏差、Ｄｊ１，Ｄｊ２，Ｄｊ４…関節Ｊ１１，Ｊ１２，Ｊ１４の回転方向、Ｄｔ…目標角度、Ｄｖ…サーボモーター４１０ｖ１，４１０ｖ２の回転角度、Ｆｘ…作用力ｆＳのＸ軸方向の力成分、Ｆｙ…作用力ｆＳのＹ軸方向の力成分、Ｆｚ…作用力ｆＳのＺ軸方向の力成分、Ｊ１１〜Ｊ１４…関節、Ｋｐｄ…微分ゲイン、Ｋｐｉ…積分ゲイン、Ｋｐｐ…比例ゲイン、Ｋｖｄ…微分ゲイン、Ｋｖｉ…積分ゲイン、Ｋｖｐ…比例ゲイン、Ｏ…原点、ＲＣ…ロボット座標系、Ｓ…位置、Ｓｔ…目標位置、Ｔｈｆ…非接触が推定される領域、Ｔｈｆｃ…比較例において非接触が推定される領域、Ｔｈｔ…非接触が推定される領域、Ｔｈｔｃ…比較例において非接触が推定される領域、Ｔｕ…作用力ｆＳのＵ軸方向のトルク成分、Ｔｖ…作用力ｆＳのＶ軸方向のトルク成分、Ｔｗ…作用力ｆＳのＷ軸方向のトルク成分、Ｕ…モーターＭ１〜Ｍ６の角度位置の組み合わせとロボット座標系ＲＣにおけるＴＣＰの位置との対応関係、ＵＩ１２…ユーザーインターフェイス、Ｗ１，Ｗ２…車輪、Ｗ１１〜Ｗ１６…入力窓、ｆｇ…重力に起因する力およびトルク、ｆｉ１…アームの動きによる慣性力に起因する力、ｆｉ２…車両の動きによる慣性力に起因する力、ｆｍ…力検出部１９０によって検出される力、ｆＳ…作用力、ｆＳｔ…目標力、ｋ，ｄ，ｍ…インピーダンス制御のパラメーター、ΔｆＳ（ｔ）…力偏差、ΔＳ…力由来補正量
【図１】
2020015110.tif 000004
【図２】
2020015110.tif 000005
【図３】
2020015110.tif 000006
【図４】
2020015110.tif 000007
【図５】
2020015110.tif 000008
【図６】
2020015110.tif 000009
【図７】
2020015110.tif 000010
【図８】
2020015110.tif 000011
【図９】
2020015110.tif 000012