【事件の表示】
　特許第２７１８６８７号「多自由度作業機械の位置と力の制御装置」の請求項１ないし５に係る特許に対する特許異議の申立てについて、次のとおり決定する。
【結論】
　訂正を認める。
　特許第２７１８６８７号の請求項５に係る特許を取り消す。
　同請求項１ないし４に係る特許を維持する。
【理由】
（１）手続の経緯
　特許第２７１８６８７号の請求項１乃至４に係る発明は、昭和６３年３月１日に特許出願され、平成９年１１月１４日にその特許の設定登録がなされ、その後、ファナック株式会社より特許異議の申立てがなされ、取消理由通知がなされ、その指定期間内である平成１１年１月２６日に訂正請求がなされたものである。
（２）訂正の適否についての判断
ア．訂正の内容
　特許権者の求めている訂正の内容は、以下のａ〜ｊとおりである。
　ａ．特許明細書中の特許請求の範囲の請求項１において、
　「少なくとも２以上の位置の自由度を持つロボットや工作機械等の多自由度作業機械の位置と力の制御装置において、…」を、「作業用ツールをワーク表面に対して相対的に移動して曲面倣い動作を行う、少なくとも２以上の位置の自由度を持つロボットや工作機械等の多自由度作業機械の位置と力の制御装置において、…」とし、
　「…位置及び姿勢の偏差を、作業用ツールの先端を原点とし作業内容に応じて座標軸の方向を変化させる任意座標系の値に変換する第２の演算手段と、…」を「…位置及び姿勢の偏差を任意座標系の値に変換する第２の演算手段と、…」とし、
　「…変換する第６の演算手段とからなることを特徴とする多自由度作業機械の位置と力の制御装置。」を「…変換する第６の演算手段とからなり、前記任意座標系を、作業用ツールの先端を原点とし、ワーク表面の法線及び接線を座標軸とするワーク表面座標系としたことを特徴とする多自由度作業機械の位置と力の制御装置。」とし、以下のとおりに訂正する。
　【請求項１】
　作業用ツールをワーク表面に対して相対的に移動して曲面倣い動作を行う、少なくとも２以上の位置の自由度を持つロボットや工作機械等の多自由度作業機械の位置と力の制御装置において、
　作業用ツールの目標位置及び姿勢を設定する位置設定手段と、
　作業用ツールの現在の装置及び姿勢を検出する位置検出手段と、
　作業用ツールに加わるべき目標力及びモーメントを設定する力設定手段と、作業用ツールに加わる現在の力及びモーメントを検出する力設定手段と、装置設定手段で設定された目標位置及び姿勢と位置検出手段で検出された現在の装置及び姿勢との偏差を求める第１の演算手段と、
　第１の演算手段で求められた位置及び姿勢の偏差を任意座標系の値に変換する第２の演算手段と、
　力検出手段で検出された力及びモーメントを前記任意座標系の値に変換する第３の演算手段と、
　第３の演算手段で変換された任意座標系での力及びモーメントと力設定手段で設定された目標力及びモーメントとの偏差を求める第４の演算手段と、
　第２の演算手段で変換された任意座標系での位置及び姿勢の偏差と第４の演算手段で求められた任意座標系での目標力及びモーメントの偏差を用いて位置と力の制御演算を行い、作業機械の制御量を求める第５の演算手段と、
　第５の演算手段で求められた制御量を作業機械の駆動系の動作指令値に変換する第６の演算手段とからなり、
　前記任意座標系を、作業用ツールの先端を原点とし、ワーク表面の法線及び接線を座標軸とするワーク表面座標系としたことを特徴とする多自由度作業機械の装置と力の制御装置。
　ｂ．特許明細書中の特許請求の範囲の請求項２を削除し、旧請求項３、４、５をそれぞれ請求項２、３、４として、以下のとおりに訂正する。
　【請求項２】
　前記第５の演算手段が、別記第２の演算手段で求められた位置及び姿勢の偏差
　　　△ｘ
　に前記任意座標の各座標軸ごとに設定したばね定数からなるばね定数行列ｋを乗じる手段と、
　前記第４の演算手段で求められた力及びモーメントの偏差
　　　△ｆ
に前記任意座標の各座標軸ごとに設定した不感帯の演算を行う手段と、
　この手段の演算値
　　　△ｆ’から乗算手段の乗算値ｋ△ｘを減算する手段と、
　この手段の減算値
　　　△ｆ’−ｋ△ｘ
に所定の特性補償演算を行って前記制御量として速度指令値
　　　ｖ
を求める特性補償演算手段とからなることを特徴とする請求項１記載の多自由度作業機械の位置と力の制御装置。
　【請求項３】
　前記特性補償演算手段が、仮想質量行列Ｍと仮想粘性係数行列Ｃとによって
　　　Ｍｖ＋Ｃｘ＝Δｆ’−ｋΔｘ　の式から仮想コンプライアンス制御の演算を行い速度指令値
　　　ｖ
を演算することを特徴とする請求項３記載の多自由度作業機械の位置と力の制御装置。
　【請求項４】
　前記位置検出手段で検出された現在の位置及び姿勢を、第１の演算手段で目標位置及び姿勢との偏差を求める前にベース座標系の値に変換する第７の演算手段と、
　力検出手段で検出された力及びモーメントを、第３の演算手段で任意座標系の値に変換する前にベース座標系の値に変換する第８の演算手段と、
　第５の演算手段で求められた制御量を、第６の演算手段で作業機械の駆動系の動作指令値に変換する前にベース座標系の値に変換する第９の演算手段とを有し、
　第２、第３及び第９の演算装置は、それぞれベース座標系から任意座標系への変換及び任意座標系からベース座標系への変換を、ベース座標系と任意座標系との姿勢の変換行列で与えることを特徴とする請求項１記載の多自由度作業機械の位置と力の制御装置。」
　ｃ．特許明細書第４頁第１６行の「、その他の動作」を削除する。
　ｄ．特許明細書第９頁第９行〜１１行の「本発明の目的は、座標系を任意に与えられるようにして上述した従来の問題点を解決し、適切かつ効率的な作業を確保することのできる多自由度作業機械の位置と力の制御装置を提供することにある。」を「本発明の目的は、座標系を適切に与えることにより曲面倣い動作における上述した従来の問題点を解決し、適切かつ効率的な作業を確保することのできる多自由度作業機械の位置と力の制御装置を提供することにある。」と訂正する。
　ｅ．特許明細書第９頁第１５行〜第１１頁第１行の記載を下記の通り訂正する。
「上記目的は、作業用ツールをワーク表面に対して相対的に移動して曲面倣い動作を行う、少なくとも２以上の位置の自由度を持つロボットや工作機械等の多自由度作業機械の位置と力の制御装置において、作業用ツールの目標位置及び姿勢を設定する位置設定手段と、作業用ツールの現在の位置及び姿勢を検出する位置検出手段と、作業用ツールに加わるべき目標力及びモーメントを設定する力設定手段と、作業用ツ」ルに加わる力及びモーメントを検出する力検出手段と、位置設定手段で設定された目標位置及び姿勢と位置検出手段で検出された現在の位置及び姿勢との偏差を求める第１の演算手段と、第１の演算手段で求められた位置及び姿勢の偏差を、任意座標系の値に変換する第２の演算手段と、力検出手段で検出された力及びモーメントを同任意座標系の値に変換する第１の演算手段と、第１の演算手段で変換された任意座標系での力及びモーメントと力設定手段で設定された任意座標系での目標力及びモーメントとの偏差を求める第４の演算手段と、第２の演算手段で変換された任意座標系での位置及び姿勢の偏差と第４の演算手段で求められた任意座標系での目標力及びモーメントの偏差を用いて位置と力の制御演算を行い、作業機械の制御量を求める第５の演算手段と、第５の演算手段で求められた制御量を作業機械の駆動系の動作指令値に変換する第６の演算手段とからなり、前記任意座標系を、作業用ツールの先端を原点とし、ワーク表面の法線及び接線を座標軸とするワーク表面座標系としたことを特徴とする多自由度作業機械の位置と力の制御装置によって達成される。」
　ｆ．特許明細書第１１頁第２〜５行の「曲面倣い動作を行う場合には、前記任意座標系は、工具の先端を原点としワーク表面の法線及び接線を座標軸とするワーク表面座標系とすると有利である。」を削除する
　ｇ．特許明細書第１２頁第１８行〜第１４頁第２行の記載を下記の通り訂正する。
「第５の演算手段で、任意座標系での位置及び姿勢の偏差と目標力及びモーメントの偏差を用いて位置と力の制御演算を行い作業機械の制御量を求めるようにしたので、作業機械の動作はその任意座標系での制御量に基づいて制御される。そしてその任意座標系として、作業用ツールの先端を原点としワーク表面の法線及び接線を座標軸とするワーク表面座標系を設定することにより、曲面倣い動作を行わせる場合には、法線方向を常にｚ軸、移動しようとする接線方向を常にｘ軸方向にとることができ、適切かつ効率的な動作を行なわせることが可能となる。
　そこで第５の演算手段で仮想コンプライアンス制御を採用し、ｘ軸方向に位置制御、ｚ軸方向に力制御を行わせた場合には、曲面の勾配は座標設定等の誤差によるもののみとなり、ｚ軸方向の力の偏差は小さく、ｘ軸方向の移動速度即ち送り速度ｖｘを大きくすることができる（第２図参照）。またそのわずかの誤差をも吸収すべく仮想バネを入れた場合には、ｘ軸が接線方向であることからこの方向に拘束されないので、ｘ軸方向には仮想バネを入れる必要がなく、通常の位置制御で送ることができ、送り方向の位置偏差が増大することによる不都合が生じない（第１図参照）。」
　ｈ．特許明細書第２０頁第１６〜１７行の「この方向は例えばワークの法線及び接線を座標軸にとるようにするので」を「そして本発明では、ワーク表面座標系として後述するように、この方向はワークの法線及び接線を座標軸にとるようにするので」に訂正する。
　ｉ．特許明細書第１１頁第１〜９行の「なお以上の実施例は、任意座標系としてワーク表面座標系をとった場合につき説明したが、任意座標系はワーク表面座標系に限らず、作業内容において適宜最適の座標系を設定できるものである。例えば１次元クランク回しなどの作業においては、作業用ツールの拘束による反力の方向及び移動方向により拘束座標系を定め、この拘束座標系を任意座標系にすればよく、これにより適切かつ効率的なクランク回し作業を行うことができる。」を削除する。
　ｊ．特許明細書第１１行〜第１２頁第１０行の記載を下記の通り訂正する。
「（１）任意座標系をワークの表面座標系にとり、その座標軸方向に位置と力の制御を行うので、曲面倣い動作の場合、ワークの法線方向に押し付けたり、この方向に仮想バネを設定したりすることが出来、接線方向にはこれと独立して送ることが出来、適切かつ効率的な作業ができる。
（２）任意座標系への変換行列を基準座標系からの姿勢の変換行列で与えることにより、その変換行列を任意座標系の座標軸の単位ベクトルで記述することができ、取扱が容易となる。」
イ．訂正の目的の適否、新規事項の有無及び拡張・変更の存否
　訂正事項ａは、「作業用ツールをワーク表面に対して相対的に移動して曲面倣い動作を行う」という事項を加入し、「作業用ツールの先端を原点とし作業内容に応じて座標軸の方向を変化させる任意座標系」を「任意座標系」とし、この「任意座標系」を「作業用ツールの先端を原点とし、ワーク表面の法線及び接線を座標軸とするワーク表面座標系」であるとしたものであって、特許明細書に記載された事項の範囲内において限定したものといえるから、特許請求の範囲の減縮に該当するものであり、新規事項の追加の該当しない。
　訂正事項ｂは、特許請求の範囲第２項の削除に伴い、項番号を繰上げるものであるから、明りょうでない記載の釈明の該当する。
　訂正事項ｃ〜ｊは、上記訂正事項ａの特許請求の範囲の訂正に伴うものであるから、明りょうでない記載の釈明に該当し、新規事項の追加に該当しない。
　そして、上記いずれも訂正も実質上特許請求の範囲を拡張し、又は変更するものではない。
ウ．独立特許要件
　訂正明細書の請求項１乃至４に係る発明（以下、「本件請求項１に係る発明」、「本件請求項２乃至４に係る発明」という。）に対して、当審が通知した取消理由で引用した刊行物（特開昭６１−７９０５号公報）には、
　▲１▼制御対象とされるロボットが６自由度を持つ多関節ロボットであること（第３頁右上欄第２行〜第１０行）、ロボット１０の手首部１４には、ハンド１５と力センサー６が取付けられていること（第３頁右上欄第１１行〜第１３行及び図１）、ロボット１０の各軸のモータＭには、エンコーダＰＥとタコジェネレータＴＧが連結されいること（第３頁右上欄第１４行〜第１８行）、制御装置１７は、エンコーダＰＥとタコジェネレータＴＧの出力から位置信号ａと力信号Ｆｖを取り込み、予め入力された信号基準値ｘｒ、力基準値Ｆｃとからロボットの調節角度θドット算出してサ−ボアンプ１８に対して出力し、ロボット１０を作動させること（第３頁右上欄第１９行〜左下欄第５行）が、
　▲２▼第３頁左下欄第６行〜右下欄第８行では、第２図を参照して制御装置とロボットの駆動部の各構成要素の説明がなされ、
　▲３▼第３頁右下欄第９行〜第４頁右上欄第９行では、第３図を参照して制御装置１７の処理動作の概要が説明され、制御装置１７は、各エンコーダＰＥからの信号θを利用して、ハンド１４の位置、姿勢を算出すること。その際、ハンド１４の装置、姿勢はハンド系の直交座標に変換して求められること（第３頁右下欄第１３行〜第１８行）、力及び位置の基準値Ｆｃ、Ｘｒが予め入力されること（第４頁左上欄第１５行〜第１６行）が、
　▲４▼第４頁右上欄第１０行〜第６頁右上欄第７行では、制御主要部６０の処理につき、一次元の自由度のケースを例にとり、原理的な説明がなされ、ここで説明されているのは仮想コンプライアンス制御であり、一般に、柔軟性を有するツールの動きは、慣性力、バネによる復元力ダンパによる粘性力と加えられる力によって関係づけられる（第４頁右上欄第１４行〜第１６行）ことが、
　▲５▼第６頁右上欄第８行〜右下欄第８行では、多自由度の場合の原理的な説明がなされており、仮想コンプライアンス制御の基本方程式として（９）式が示され、その中で、ｘは直交座標系上の位置と姿勢を表わし、ｆは力センサが検出する力で回転力が含まれていること（第６頁右上欄最終行〜左下欄第１行）、同式（９）の符号説明で、「Ｍ」が仮想質量行列、「Ｃ」は仮想粘性行列、「ｋ」は仮想バネ係数行列であること（第６頁左下欄第４行〜第９行）が、
　▲６▼第６頁右下欄第９行〜第７頁左下欄第９行では、速度を計算するために必要な位置情報や速度情報を得る方法について説明され、
　▲７▼第７頁左下欄第１０行〜第９頁右下欄第１１行では、ロボットの各軸の角速度の算出過程が諸座標系を設定した６自由度のロボットを例にとって説明されており、ロボットに設定されている諸座標系に
　Ｂ系＝ベース座標系で、据え付け場所に固定、Ｈ系＝ハンド座標系で、先端に取り付けられたハンドに固定、Ｓ系＝センサ座標系で、先端に取り付けられたセンサに固定、Ａ系＝動作条件を設定したり、指令速度を算出したりする補助座標系で、原点は、運動の回転モーメントの基準点、ＲＨ系＝バネの平衡点位置、姿勢で定まり、Ｈ系に対応するレファレンス座標系、ＲＡ系＝バネの平衡点位置、姿勢で定まり、Ａ系に対応するレファレンス座標系が含まれること（第７頁右下欄第１行〜第１４行）、重力分を除いた真にハンドに加わった力Ｆは、Ｈ系からＡ系の値に変換されること（第８頁左下欄第９行〜第１７行）、モータＭに連結されたエンコーダＰＥの装置情報から位置信号θを得て、Ｂ系におけるハンドの位置、姿勢ｐ（ｆ、ｇ、ｈ）が算出されること（第８頁右下欄第６行〜第１２行）、第８頁右下欄第６行以下に記載された処理過程を経て、Ｂ系におけるハンドの位置、姿勢の偏差Δｘ＝ｘ−ｘｒが求められること（第９頁右上欄第３行〜第６行）、算出された偏差Δｘは、座標系変換部４５においてＢ系から速度算出の行なわれるＡ系に変換されること（第９頁右上欄第９行〜第１１行）、指令速度演算部６２は、力Ｆ、偏差Δｘ、力基準値Ｆｃ、仮想質量行列「Ｍ」、仮想粘性行列「Ｃ」、仮想バネ係数行列ｋをパラメータとして、Ａ系におけるハンドの指令速度ｖを（１９）式によって算出すること（第９頁左下欄第３行〜第１０行）、実際にロボットは、各関節の角速度で駆動・制御されるため、指令速度ｖは、各関節の角速度θドットに変換されること（第９頁右下欄第３行〜第８行）が、
　▲８▼第１１頁右上欄第１２行〜第１２頁右上欄第１行では、引例発明の第３の応用例として、ハンドに動作条件を設定したいつかの例について説明され、Ａ系の原点ＯＡとして、ハンド１５が持つシャフト８０の先端を選ぶこと（第１１頁右上欄最終行〜左下欄第１行）、Ａ系をＨ系とした条件で、Ｈ系（即ち、Ａ系）のｘ軸、ｙ軸、ｚ軸のバネの強さについて、ｘ軸、ｙ軸を弱く、ｚ軸を強く選ぶこと（第１１頁右下欄第１７行〜最終行）が、
それぞれ記載されている。
（対比・判断）
　本件請求項１に係る発明と刊行物に記載された発明とを対比すると、刊行物には、本件請求項１に係る発明を特定するための事項である、「作業用ツールをワーク表面に対して相対的に移動して曲面倣い動作を行う、少なくとも２以上の位置の自由度を持つロボットや工作機械等の多自由度作業機械の位置と力の制御装置」及び「任意座標系を、作業用ツールの先端を原点とし、ワーク表面の法線及び接線を座標軸とするワーク表面座標系とした」点が記載されているものとは認められない。そして、当該事項により、本件請求項１に係る発明の特許は、「任意座標系をワークの表面座標系にとり、その座標軸方向に位置と力の制御を行うので、曲面倣い動作の場合、ワークの法線方向に押し付けたり、この方向に仮想バネを設定したりすることが出来、接線方向にはこれと独立して送ることが出来、適切かつ効率的な作業ができる。」、「任意座標系への変換行列を基準座標系からの姿勢の変換行列で与えることにより、その変換行列を任意座標系の座標軸の単位ベクトルで記述することができ、取扱が容易となる。」という顕著な効果を奏するものであるから、本件請求項１に係る発明は、上記刊行物記載のものから当業者が容易に発明をすることができたものではない。
　本件請求項２乃至４に係る発明は、本件請求項１に係る発明を更に限定したものであるから、上記請求項１に係る発明についての判断と同様の理由により、上記刊行物に記載の発明から当業者が容易に発明をすることができたものではない。
（エ）むすび
　以上のとおりであるから、上記訂正請求は、特許法第１２０条の４第２項及び同条第３項で準用する第１２６条第２−４項の規定に適合するので、当該訂正を認める。
（３）特許異議の申立てについて
ア．本件発明
　本件請求項１乃至４に係る発明は、その特許請求の範囲の請求項１乃至４に記載された事項により特定されるとおりのものである。
イ．申立ての理由の概要
　特許異議申立人ファナック株式会社は、請求項１乃至４に係る発明は、甲第１号証（特開昭６１−７９０５号公報）をもとに容易に発明をすることができたものであり、特許法第２９条第２項の規定により、特許を受けることができないものであるから、特許を取消すべきであると主張している。
ウ．判断
　本件請求項１乃至４に係る発明は、上記（２）ウで示したように、取消理由通知で示した刊行物に記載された発明から容易に発明をすることができたものとすることはできない。
エ．むすび
　以上のとおりであるから、特許異議申立ての理由及び証拠によっては、本件請求項１乃至４に係る発明の特許を取消すことはできない。
　また、他に本件請求項１乃至４に係る発明の特許を取消すべき理由を発見しない。。
　よって、結論のとおり決定する。
【異議決定日】
平成１１年４月１２日（１９９９．４．１２）
【訂正の要旨】
］
　ａ．特許明細書中の特許請求の範囲の請求項１において、
　「少なくとも２以上の位置の自由度を持つロボットや工作機械等の多自由度作業機械の位置と力の制御装置において、…」を、「作業用ツールをワーク表面に対して相対的に移動して曲面倣い動作を行う、少なくとも２以上の位置の自由度を持つロボットや工作機械等の多自由度作業機械の位置と力の制御装置において、…」とし、
　「…位置及び姿勢の偏差を、作業用ツールの先端を原点とし作業内容に応じて座標軸の方向を変化させる任意座標系の値に変換する第２の演算手段と、…」を「…位置及び姿勢の偏差を任意座標系の値に変換する第２の演算手段と、…」とし、
　「…変換する第６の演算手段とからなることを特徴とする多自由度作業機械の位置と力の制御装置。」を「…変換する第６の演算手段とからなり、前記任意座標系を、作業用ツールの先端を原点とし、ワーク表面の法線及び接線を座標軸とするワーク表面座標系としたことを特徴とする多自由度作業機械の位置と力の制御装置。」とし、以下のとおりに訂正する。
　【請求項１】
　作業用ツールをワーク表面に対して相対的に移動して曲面倣い動作を行う、少なくとも２以上の位置の自由度を持つロボットや工作機械等の多自由度作業機械の位置と力の制御装置において、
　作業用ツールの目標位置及び姿勢を設定する位置設定手段と、
　作業用ツールの現在の装置及び姿勢を検出する位置検出手段と、
　作業用ツールに加わるべき目標力及びモーメントを設定する力設定手段と、作業用ツールに加わる現在の力及びモーメントを検出する力設定手段と、装置設定手段で設定された目標位置及び姿勢と位置検出手段で検出された現在の装置及び姿勢との偏差を求める第１の演算手段と、
　第１の演算手段で求められた位置及び姿勢の偏差を任意座標系の値に変換する第２の演算手段と、
　力検出手段で検出された力及びモーメントを前記任意座標系の値に変換する第３の演算手段と、
　第３の演算手段で変換された任意座標系での力及びモーメントと力設定手段で設定された目標力及びモーメントとの偏差を求める第４の演算手段と、
　第２の演算手段で変換された任意座標系での位置及び姿勢の偏差と第４の演算手段で求められた任意座標系での目標力及びモーメントの偏差を用いて位置と力の制御演算を行い、作業機械の制御量を求める第５の演算手段と、
　第５の演算手段で求められた制御量を作業機械の駆動系の動作指令値に変換する第６の演算手段とからなり、
　前記任意座標系を、作業用ツールの先端を原点とし、ワーク表面の法線及び接線を座標軸とするワーク表面座標系としたことを特徴とする多自由度作業機械の装置と力の制御装置。
　ｂ．特許明細書中の特許請求の範囲の請求項２を削除し、旧請求項３、４、５をそれぞれ請求項２、３、４として、以下のとおりに訂正する。
　【請求項２】
　前記第５の演算手段が、別記第２の演算手段で求められた位置及び姿勢の偏差
　　　△ｘ
　に前記任意座標の各座標軸ごとに設定したばね定数からなるばね定数行列ｋを乗じる手段と、
　前記第４の演算手段で求められた力及びモーメントの偏差
　　　△ｆ
に前記任意座標の各座標軸ごとに設定した不感帯の演算を行う手段と、
　この手段の演算値
　　　△ｆ’から乗算手段の乗算値ｋΔｘを減算する手段と、
　この手段の減算値
　　　△ｆ’−ｋ△ｘ
に所定の特性補償演算を行って前記制御量として速度指令値
　　　ｖ
を求める特性補償演算手段とからなることを特徴とする請求項１記載の多自由度作業機械の位置と力の制御装置。
　【請求項３】
　前記特性補償演算手段が、仮想質量行列Ｍと仮想粘性係数行列Ｃとによって
　　　Ｍｖ＋Ｃｘ＝Δｆ’−ｋΔｘの式から仮想コンプライアンス制御の演算を行い
速度指令値
　　　ｖ
を演算することを特徴とする請求項３記載の多自由度作業機械の位置と力の制御装置。
　【請求項４】
　前記位置検出手段で検出された現在の位置及び姿勢を、第１の演算手段で目標位置及び姿勢との偏差を求める前にベース座標系の値に変換する第７の演算手段と、
　力検出手段で検出された力及びモーメントを、第３の演算手段で任意座標系の値に変換する前にベース座標系の値に変換する第８の演算手段と、
　第５の演算手段で求められた制御量を、第６の演算手段で作業機械の駆動系の動作指令値に変換する前にベース座標系の値に変換する第９の演算手段とを有し、
　第２、第３及び第９の演算装置は、それぞれベース座標系から任意座標系への変換及び任意座標系からベース座標系への変換を、ベース座標系と任意座標系との姿勢の変換行列で与えることを特徴とする請求項１記載の多自由度作業機械の位置と力の制御装置。」
　ｃ．特許明細書第４頁第１６行の「、その他の動作」を削除する。
　ｄ．特許明細書第９頁第９行〜１１行の「本発明の目的は、座標系を任意に与えられるようにして上述した従来の問題点を解決し、適切かつ効率的な作業を確保することのできる多自由度作業機械の位置と力の制御装置を提供することにある。」を「本発明の目的は、座標系を適切に与えることにより曲面倣い動作における上述した従来の問題点を解決し、適切かつ効率的な作業を確保することのできる多自由度作業機械の位置と力の制御装置を提供することにある。」と訂正する。
　ｅ．特許明細書第９頁第１５行〜第１１頁第１行の記載を下記の通り訂正する。
「上記目的は、作業用ツールをワーク表面に対して相対的に移動して曲面倣い動作を行う、少なくとも２以上の位置の自由度を持つロボットや工作機械等の多自由度作業機械の位置と力の制御装置において、作業用ツールの目標位置及び姿勢を設定する位置設定手段と、作業用ツールの現在の位置及び姿勢を検出する位置検出手段と、作業用ツールに加わるべき目標力及びモーメントを設定する力設定手段と、作業用ツ」ルに加わる力及びモーメントを検出する力検出手段と、位置設定手段で設定された目標位置及び姿勢と位置検出手段で検出された現在の位置及び姿勢との偏差を求める第１の演算手段と、第１の演算手段で求められた位置及び姿勢の偏差を、任意座標系の値に変換する第２の演算手段と、力検出手段で検出された力及びモーメントを同任意座標系の値に変換する第１の演算手段と、第１の演算手段で変換された任意座標系での力及びモーメントと力設定手段で設定された任意座標系での目標力及びモーメントとの偏差を求める第４の演算手段と、第２の演算手段で変換された任意座標系での位置及び姿勢の偏差と第４の演算手段で求められた任意座標系での目標力及びモーメントの偏差を用いて位置と力の制御演算を行い、作業機械の制御量を求める第５の演算手段と、第５の演算手段で求められた制御量を作業機械の駆動系の動作指令値に変換する第６の演算手段とからなり、前記任意座標系を、作業用ツールの先端を原点とし、ワーク表面の法線及び接線を座標軸とするワーク表面座標系としたことを特徴とする多自由度作業機械の位置と力の制御装置によって達成される。」
　ｆ．特許明細書第１１頁第２〜５行の「曲面倣い動作を行う場合には、前記任意座標系は、工具の先端を原点としワーク表面の法線及び接線を座標軸とするワーク表面座標系とすると有利である。」を削除する
　ｇ．特許明細書第１２頁第１８行〜第１４頁第２行の記載を下記の通り訂正する。
「第５の演算手段で、任意座標系での位置及び姿勢の偏差と目標力及びモーメントの偏差を用いて位置と力の制御演算を行い作業機械の制御量を求めるようにしたので、作業機械の動作はその任意座標系での制御量に基づいて制御される。そしてその任意座標系として、作業用ツールの先端を原点としワーク表面の法線及び接線を座標軸とするワーク表面座標系を設定することにより、曲面倣い動作を行わせる場合には、法線方向を常にｚ軸、移動しようとする接線方向を常にｘ軸方向にとることができ、適切かつ効率的な動作を行なわせることが可能となる。
　そこで第５の演算手段で仮想コンプライアンス制御を採用し、ｘ軸方向に位置制御、ｚ軸方向に力制御を行わせた場合には、曲面の勾配は座標設定等の誤差によるもののみとなり、ｚ軸方向の力の偏差は小さく、ｘ軸方向の移動速度即ち送り速度ｖｘを大きくすることができる（第２図参照）。またそのわずかの誤差をも吸収すべく仮想バネを入れた場合には、ｘ軸が接線方向であることからこの方向に拘束されないので、ｘ軸方向には仮想バネを入れる必要がなく、通常の位置制御で送ることができ、送り方向の位置偏差が増大することによる不都合が生じない（第１図参照）。」
　ｈ．特許明細書第２０頁第１６〜１７行の「この方向は例えばワークの法線及び接線を座標軸にとるようにするので」を「そして本発明では、ワーク表面座標系として後述するように、この方向はワークの法線及び接線を座標軸にとるようにするので」に訂正する。
　ｉ．特許明細書第１１頁第１〜９行の「なお以上の実施例は、任意座標系としてワーク表面座標系をとった場合につき説明したが、任意座標系はワーク表面座標系に限らず、作業内容において適宜最適の座標系を設定できるものである。例えば１次元クランク回しなどの作業においては、作業用ツールの拘束による反力の方向及び移動方向により拘束座標系を定め、この拘束座標系を任意座標系にすればよく、これにより適切かつ効率的なクランク回し作業を行うことができる。」を削除する。
　ｊ．特許明細書第１１行〜第１２頁第１０行の記載を下記の通り訂正する。
「（１）任意座標系をワークの表面座標系にとり、その座標軸方向に位置と力の制御を行うので、曲面倣い動作の場合、ワークの法線方向に押し付けたり、この方向に仮想バネを設定したりすることが出来、接線方向にはこれと独立して送ることが出来、適切かつ効率的な作業ができる。
（２）任意座標系への変換行列を基準座標系からの姿勢の変換行列で与えることにより、その変換行列を任意座標系の座標軸の単位ベクトルで記述することができ、取扱が容易となる。」
（５４）【発明の名称】
多自由度作業機械の位置と力の制御装置
（５７）【特許請求の範囲】
（１）　
作業用ツールをワーク表面に対して相対的に移動して曲面倣い動作を行う、
　作業用ツールの目標位置及び姿勢を設定する位置設定手段と、作業用ツールの現在の位置及び姿勢を検出する位置検出手段と、作業用ツールに加わるべき目標力及びモーメントを設定する力設定手段と、作業用ツールに加わる現在の力及びモーメントを検出する力検出手段と、位置設定手段で設定された目標位置及び姿勢と位置検出手段で検出された現在の位置及び姿勢との偏差を求める第１の演算手段と、第１の演算手段で求められた位置及び姿勢の偏差を
任意座標系
り、前記任意座標系を、作業用ツールの先端を原点とし、ワーク表面の法線及び接線を座標軸とするワーク表面座標系とした
（２）
（３）
の式から仮想コンプライアンス制御の演算を行い速度指令値ｖを演算することを特徴とする
請求項２
（４）
【発明の詳細な説明】
〔産業上の利用分野〕
　本発明は少なくとも２以上の位置の自由度を持つロボットや工作機械等の多自由度作業機械の位置と力の制御装置に係わり、特にバリ取り、曲面研磨等、曲面の倣い動作を行うロボットや工作機械等の多自由度作業機械の位置と力の制御装置に関する。
〔従来の技術〕
　現在の産業用ロボットや自動工作機械のほとんどは、位置情報をもとに位置の制御で動作している。しかしながら、はめ合い作業や研磨作業に代表されるような作業では力加減を制御する必要が生じてきている。力加減を制御するには位置と力の両方をうまく制御する必要があり、このために種々の研究がなされている。その代表的なものに、位置制御と力制御を座標軸ごとに切換えて制御するハイブリット制御や、位置と力の間をバネで関係ずけるコンプライアンス制御がある。
　また近年、「計測自動制御学界論文集」ｖｏｌ　２２，Ｎｏ３（１９８６），３４３〜３５０頁、特開昭６０−３０１０号及び特開昭６１−７９０５号に記載のように仮想コンプライアンス制御と呼ばれているものがある。これは、バネ・マス・ダンパーを有する力学系モデルを仮想的に実現しようとするもので、力学系の式
のｍ，ｃ，ｋの値を任意に与えて、その動作をソフトウェア上で模擬して、その動きを実現するように制御を行うものである。これを多自由度系で行うために、座標系の各軸毎にｍ，ｃ，ｋの値を変えられるようになっており、この値を適当に選べば各軸毎に特性を変えることが出来る。またｋ＝０にすれば、位置のフィードバックがなくなり力制御モードになり、ｋ，ｃの値を大きくして力フィードバックをなくすようにすれば、位置制御モードとなり、いわゆるハイブリッド制御を行うこともできる。このように仮想コンプライアンス制御は、ハイブリッド制御とコンプライアンス制御を包含した制御方式ということができる。
〔発明が解決しようとする課題〕
　しかしながら、従来の仮想コンプライアンス制御を応用した制御装置においては、制御演算の座標系の与え方について配慮がされておらず、作業内容によっては適切かつ効率的な作業ができないという問題があった。
　例えば、位置と力の制御によりロボットが行う作業の１つにワーク表面を倣って表面研磨やバリ取り等を行なわせる曲面倣い動作がある。第５図はこのような曲面倣い動作を模式的に示すもので、ロボット５０の手先効果器５１がワーク表面５２を倣って動くように制御される。手先効果器５１に加わる力及びモーメントは力センサ５３により検出される。この曲面倣い動作を仮想コンプライアンス制御を応用して行う場合、一例として第６図に示すように行われる。第６図は簡単のためｘ−ｚ平面で説明するものであり、この例ではｘ軸方向にはｋ，ｃの値を大きくしてかたくし、手先効果器５１を位置制御によって速度ｖｘで送り、ｚ軸方向にはｋ＝０とし位置の拘束を解除し、手先効果器５１を力制御により目標力ｆｒで押し付けている。このとき、力センサー５３により検出される力をｆとすると、手先効果器５１はｚ軸方向には
の式を模擬して動いているので、速度変化のない定常状態ではｃｖｚ＝ｆ−ｆｒとなり、曲面を倣う速度ｖｚを発生するには、それに応じた力偏差Δｆ＝ｆ−ｆｒがなければならないことが分かる。ここでｘ方向の送り速度ｖｘを一定とすると、ｖｚは曲面の勾配に比例する。従って力偏差Δｆは曲面の勾配に比例した値となり、押付力−ｆは曲面の勾配によって変化する。今、倣い動作で許容される力偏差をΔｆｏとすれば、定常状態で追従できる勾配は
となる。
　ここで１／ｃを大きくすれば、追従できる勾配も大きくなるが、１／ｃは力に対する速度のゲイン（ｖ＝１／ｃ・ｆ）になるので、これを大きくするとハンチングを起こしてしまう。そのため１／ｃは小さくせねばならず、大きな勾配に対しては送り速度ｖｘを小さくして対応するしかなく、効率的でなく実用性に乏しくなる。
　このように、第６図に示すように任意曲面を倣わせるには限界があるので、曲面の目標値を記述し、その記述（教示）誤差や工具摩耗やワークのバラつき誤差を仮想バネで吸収するようにｋ，ｃの値を設定したのが第７図である。この例では、曲面での上記誤差を吸収するためにｚ軸方向だけでなくｘ軸方向にも仮想バネを入れる必要がある。従ってこの場合、送り方向にバネの影響が入るので目標位置と実際の位置と間の位置の偏差が増大してしまい、適切な作業ができなくなるなどの不都合を生じる。特に曲面の変化の大きい所では、位置の偏差の大きいまま送り方向が変わることにより、削り過ぎ等の悪影響が出る。
　本発明の目的は、
座標系を適切に与えることにより曲面倣い動作における
〔課題を解決するための手段〕
　上記目的は、
作業用ツールをワーク表面に対して相対的に移動して曲面倣い動作を行う、
任意座標系
り、前記任意座標系を、作業用ツールの先端を原点とし、ワーク表面の法線及び接線を座標軸とするワーク表面座標系とした
　前記第５の演算手段は、好ましくは、第２の演算手段で求められた位置及び姿勢の偏差Δｘに前記任意座標の各座標軸ごとに設定したばね定数からなるばね定数行列Ｋを乗じる手段と、前記第４の演算手段で求められた力及びモーメントの偏差Δｆに前記任意座標の各座標軸ごとに設定した不感帯の演算を行う手段と、不感帯手段の演算値Δｆ´から乗算手段の乗算値ＫΔｘを減算する手段と、減算手段の減算値Δｆ´−ＫΔｘに所定の特性補償演算を行って前記制御量として速度指令値ｖを求める特性補償演算手段とで構成されている。この場合、特性補償演算手段は、仮想質量行列Ｍと仮想粘性係数行列Ｃとによって
の式から仮想コンプライアンス制御の演算を行い、速度指令値ｖを演算するようにしてもよい。
　制御装置は、好ましくはさらに、位置検出手段で検出された現在の位置及び姿勢を、第１の演算手段で目標位置及び姿勢との偏差を求める前にベース座標系の値に変換する第７の演算手段と、力検出手段で検出された力及びモーメントを、第３の演算手段で任意座標系の値に変換する前にベース座標系の値に変換する第８の演算手段と、第５の演算手段で求められた制御量を、第６の演算手段で作業機械の駆動系の動作指令値に変換する前にベース座標系の値に変換する第９の演算手段とを有し、第２、第３及び第９の演算装置は、それぞれベース座標系から任意座標系への変換及び任意座標系からベース座標系への変換を、ベース座標系と任意座標系との姿勢の変換行列で与えるようにする。
〔作用〕
　第５の演算手段で、
任意座標系
　
そして
曲面倣い動作を行わせる場合には、
、適切かつ効率的な動作を行なわせることが可能となる。
　そこで
〔実施例〕
　以下、本発明の好適実施例を図面を参照して説明する。
　第１図は本発明の一実施例による位置と力の制御装置の全体構成を示すもので、符号１は関節型ロボットである。ロボット１は手部２を有し、手部２にカセンサー３が取り付けられ、力センサー３の先に、工具や把持具でワークに対して仕事を行う手先効果器４が取り付けられている。力センサー３は手先効果器４に加わる力及びモーメントを検出する。ロボット１はまた、各関節廻りの駆動を行う図示しない駆動モータを有し、手先効果器４の位置及び姿勢はこの駆動モータを駆動することにより制御される。各駆動モータには符号５で例示される角度計、例えばエンコーダが取り付けられ、このエンコーダ５により駆動モータの駆動量従って各関節の軸角度データを検出する。
　ロボット１の制御装置は全体的に符号６で示され、力センサー３及び角度計５はこの制御装置６の一部を構成する。制御装置６はまた、手先効果器４に加わる力及びモーメントの目標値ｆｒを設定する力目標値設定部７と、手先効果器４の位置及び姿勢の目標値を設定する位置目標値設定部８とを有する。力目標値設定部７は力及びモーメントの目標値を後述する任意座標系の値として設定し、位置目標値設定部８は位置及び姿勢の目標値を後述するベース座標系の値として設定する。力目標値設定部７は例えば教示データをを使用することができ、位置目標値設定部８は例えば教示データを補間した値を用いることができる。
　力センサー３で検出された力及びモーメントは力演算部９に送られ、ここで後述するセンサ座標系から手先座標系への変換を行うと共に、手先効果幽４の重力分を差し引いて重力補償を行う。
　手先座標系で表わされた力及びモーメントは座標変換部１０でベース座標系を利用した後述する基準座標系に変換する。この基準座標系への変換は、後述するように方向のみの変換（回転変換）である。
　基準座標系で表した力及びモーメントは、さらに座標変換部１１で任意座標系に変換する。この座標変換された力及びモーメントをｆとする。この変換も方向のみの変換（回転変換）である。
　座標変換部１１で座標変換された力及びモーメントｆは、力目標値設定部７で設定された力及びモーメントの目標値ｆｒと力偏差演算部１２で比較され、偏差Δｆが求められる。即ち、Δｆ＝ｆ−ｆｒを演算する。
　一方、ロボット１のモータに取付けたエンコーダ５からの軸角度データは角度演算部１３に送られ、ここで関節角θを算出する。この関節角θは位置演算部１４に送られ、関節角θからベース座標系での手先の位置及び姿勢ｘ´が求められる。
　位置演算部１４で演算された位置及び姿勢ｘ´は位置偏差演算部１５で位置目標値設定部８で設定された位置及び姿勢の目標値ｘ´ｒと比較され、偏差Δｘ´が求められる。このベース座標系で表した位置及び姿勢の偏差Δｘ′は座標変換部１６で任意座標系に変換され、Δｘを算出する。この変換は座標変換部１１での座標変換と同じ変換行列を用いた方向のみの変換（回転変換）である。
　力偏差演算部１２で演算した任意座標系での力及びモーメントの偏差Δｆと座標変換部１６で任意座標系に変換した位置及び姿勢の偏差Δｘは位置と力の制御演算部１７に送られる。この位置と力の制御演算部１７では、偏差Δｆと偏差Δｘから、任意座標系での位置と力の制御演算を行い、この座標系での指令速度ｖを演算する。本実施例では、この演算部に仮想コンプライアンス制御による制御演算を使用する。
　位置と力の制御演算部１７は、具体的には不感帯演算部１８と、バネ定数乗算部１９と、減算部２０と、特性補償演算部２１とからなっている。不感帯演算部１８は、力偏差演算部１２で演算した力偏差Δｆに不感帯を持たせ、Δｆ´を算出すもので、ノイズや外乱などの微小力に反応しないように設定することができる。この不感帯幅は各座標軸毎に自由に設定することが出来、不感帯をなくすことも出来るし、不感帯幅を大きくとることによってこの出力を常に０にし、力フィードバックをなくして、位置制御のみを行うことも出来る。バネ定数乗算部１９は各座標軸毎に設定した仮想バネ定数行列Ｋを位置偏差Δｘに乗じてＫΔｘを演算する。Ｋは対角行列で、成分ｋｉは各座標軸毎の仮想バネ定数で、任意に設定出来る。特にｋｉ＝０にすれば位置のフィードバックをなくして、力制御のみを行うことも出来る。
　減算部２０は、力の偏差Δｆに不感帯演算を行った値Δｆ´から位置の偏差Δｘに仮想バネ定数行列Ｋを乗じた値ＫΔｘを減算する。
　特性補償演算部２１は、減算部の出力Δｆ´−ＫΔｘに制御上の特性補償演算を行って速度指令値ｖを出力するもので、仮想コンプライアンス制御では、仮想質量行列Ｍと仮想粘性係数行列Ｃによって、
を模擬して動くように速度指令値を演算する。
　位置と力の制御演算部１７で演算された速度指令値ｖは任意座標系での値なので、これを座標変換部２２でベース座標系での速度ｖ´に変換する。このベース座標系での速度指令値ｖ´は角速度演算部２３で各関節の角速度指令値ｗに演算され、この角速度指令値ｗからモータ速度演算部２４で各駆動モータの速度指令値を演算する。モータ速度演算部２４で演算された速度指令値はサーボアンプ２５に送られ、各駆動モータの速度指令値によってロボット１のモータを駆動する。この中にはモータに取り付けたタコジェネレータからの速度フィードバックも含まれる。
　次にこのように構成された制御装置の動作の詳細を、ロボット１に６自由度の多関節型ロボットを使用した場合を例にとり説明する。
　ロボット１にワーク表面を倣って表面研磨やバリ取り等を行なわせる曲面倣い動作をさせた場合、ロボット１に取り付けられた手先効果器４には押付力の反力としての力及びモーメントが加わり、この力及びモーメントは、力センサー３で検出される。この検出された力及びモーメントはセンサーに固定された、センサーの変形中心を原点とするセンサー座標系の値になっているので、これを力演算部９で手先効果器の適当な場所を原点とし、手先効果器に固定されて手先と共に移動する手先座標系に変換する。この原点は普通、力の加わる着力点付近にとり、センサー座標系からの変換行列は定数行列になる。さらにこの力演算部９では、手先効果器４の重力分を差し引いて重力補償を行い、手先の姿勢によって変化する手先効果器４の重力の影響を取り除く。
　このように手先座標系に変換された力及びモーメントは、座標変換部１０，１１によって任意座標系に変換される。この任意座標系の原点は手先座標系の原点と同一にとり、その方向を任意にとるものとする。
そして本発明では、ワーク表面座標系として後述するように、
はワ
　このようにして得られた任意座標系での力ｆは、力目標値設定部７で設定された任意座標系上の目標力ｆｒと比較され、力偏差演算部１２によって力偏差出Δｆが演算される。
　一方、位置及び姿勢に関しては、ロボット１のモータに取り付けたエンコーダの値から角度演算部１３によって関節角θを演算する。さらにこの関節角θから位置演算部１４によって、ベース座標系における手先の位置及び姿勢ｘ´を演算する。この手先の位置及び姿勢は手先座標系の原点の位置及び座標軸の方向で見る。第１図では、図を理解しやすいようにベース座標系でのこの位置及び姿勢を６次元ベクトルｘ´で表わしており、この場合、６次元ベクトルｘ´中の姿勢を表す３次元ベクトルは、ベース座標系に対する手先座標系の回転角度を表すベクトル（方向が回転軸方向で大きさが回転角となるベクトル）のとなる。
　実際の演算では、この姿勢は上記のように表記せず、手先座標系の各座標軸方向の単位ベクトルをベース座標系で表したｉｈ，ｊｈ，ｋｈからなる３×３行列（ｉｈ，ｊｈ，ｋｈ）で表す。
　このように位置演算部１４で演算された位置及び姿勢ｘ´は、位置目標値設定部８で設定された目標位置及び姿勢ｘ´ｒと比較され、位置偏差演算部１５で位置及び姿勢の偏差Δｘ´が計算される。このうち姿勢の偏差は、目標姿勢と実際の姿勢との間の回転角を表すベクトルで表わせ、目標手先座標系の姿勢を表す行列を（ｉｈｒ，ｊｈｒ，ｋｈｒ）とすれば姿勢の偏差はΨｅで表せる。ここでｅは回転軸の単位ベクトルであり、Ψは軸廻りの回転角であり、それぞれ以下のように表わされる。
　このようにして求められた位置及び姿勢の偏差Δｘ´はベース座標系で表わされているので、これを座標変換１６によってワーク表面座標系に変換する。この変換は、座標変換部１１の変換と同じであり、回転変換として与えられる。
　このようにして得られた任意座標系での力の偏差Δｆと位置偏差Δｘを用いて、位置と力の制御演算部１７で制御演算を行う。本実施例では、この演算の具体例として、前述したように要素１８〜２１による仮想コンプライアンス制御演算を行う。
　即ち、不感帯演算部１８では力偏差Δｆの各座標軸毎に不感帯演算をしてΔｆ´を算出し、バネ定数乗算部１９では各座標軸毎に設定した仮想バネ定数行列Ｋを位置偏差Δｘに乗じてＫΔｘを演算し、減算部２０では不感帯演算を行った力の偏差Δｆ´からＫΔｘを減算する。特性補償演算部２１では、減算部の出力Δｆ´−ＫΔｘに制御上の特性補償演算を行って速度指令値ｖを出力し、仮想コンプライアンス制御では、仮想質行列Ｍと仮想粘性係数行列Ｃによって前述した（１）式を模擬して動くように速度指令値を演算する。この演算は、実際は例えば
（１）式を離散系で変形した
　　　ｖｎ＝ΔｔＭ−１（Δｆ´−ＫΔｘ）
　　　　　　＋（Ｉ−ΔｔＭ−１Ｃ）ｖｎ−１　…（２）
の形で行う。ここでΔｔはサンプリング周期であり、ｖｎはｎ回目のサンプリングを表す。またｖは並進速度及び回転速度を表わす６次元ベクトル、Δｆ´は力及びモーメントの偏差を表わす６次元ベクトル、Δｘは位置及び姿勢の偏差を表す６次元ベクトル、Ｍ，Ｃ，Ｋは６×６の行列で、特に対角行列を用いる。
　ここで各要素のパラメータＫ，Ｍ，Ｃや不感帯幅は当該任意座標系上で与えられており、上記位置と力の制御演算をこの任意座標系上で行う。
　位置と力の制御演算部１７で演算された速度指令値ｖはロボット１を動かすための指令値である。この速度指令値ｖは任意座標系での値なので、これを座標変換部２２で一旦ベース座標系の値ｖ´に変換し、これから角速度演算部２３によってロボットの各関節の角速度ｗに変換し、さらにモータ速度演算部２４で、モータの回転速度に変換した後、サーボアンプ２５によってこの速度で動くようにロボット１を制御する。
　ここで座標変換部１１，１６，２２で行われる回転変換につきさらに詳しく説明する。
　ベース座標系から見た任意座標系の座標軸の単位ベクトルをｉａ，ｊａ，ｋａとすると、３次元ベクトルｕの任意座標系での表現ｕａは、
　　ｕａ＝（ｉａ，　ｊａ，　ｋａ）Ｔｕ・
となる。ここでＴは転置行列を表す。即ち、座標変換行列は、原点が動かずに回転のみ行う場合は、（ｉａ，ｊａ，ｋａ）Ｔで表せる。座標変換部１１，１６で使用する行列は６×６行列であるが、これは並進と回転、それぞれにこの変換を行えばよく、その変換行列は
となる。一方、座標変換部２２は任意座標系からベース座標系への変換であり、上記式を変形して
　　ｕ＝［（ｉａ，ｊａ，ｋａ）Ｔ］−１ｕａ
となり、［（ｉａ，ｊａ，ｋａ）Ｔ］−１＝（ｉａ，ｊａ，ｋａ）となるので、この座標変換部２２の変換行列は
で表せる。このように座標変換部１１．１６．２２での座標変換は任意座標系の座標軸の単位ベクトルｉａ，ｊａ，ｋａで与えることが出来る。
　ロボット１にワーク表面を倣って表面研磨やバリ取り等を行なわせる曲面倣い動作をさせる場合には、任意座標系として作業用ツールの先端を原点としワーク表面の法線及び接線を座標軸とするワーク表面座標系を与える。この場合、ワーク表面座標系への座標変換（座標変換部１１，１６）又はワーク表面座標系からの座標変換（座標変換部２２）の変換行列には、ワーク表面の法線及び接線の単位ベクトルを用いる。これは例えば、手先が移動しようとする曲面に沿って順次その値を記憶しておくことにより与えることができる。
　このようにすれば、第６図の従来例に対応して第２図に示すように、ワーク表面の法線方向を常にｚ軸、移動しようとする接線方向を常にｘ軸方向にとることができる。これにより、位置と力の制御演算部１７でｘ軸方向に位置制御、ｚ軸方向に力制御を行わせた場合には、曲面の勾配は座標設定等の誤差によるもののみとなり、ｚ軸方向の倣い速度ｖｚは第６図の従来例のようには大きくならず、力の偏差は小さくなる。従って、曲面の勾配に制約されることなく、ｘ軸方向の移動速度即ち送り速度ｖｘを大きくすることができる。
　また第７図の従来例に対応して第３図に示すように、誤差をも吸収すべく仮想バネを入れた場合には、ｘ軸が接線方向であることからこの方向に拘束されることがなく、ｘ軸方向には仮想バネを入れて柔らかくする必要がない。従ってｘ軸方向には通常の位置制御で送ることができ、送り方向の位置偏差が増大することによる不都合が生じることはない。
　以上の実施例は本発明を６自由度のロボットの制御に適用した例であるが、本発明は基本的には２以上の自由度を持つものであれば、それ以外の多自由度作業機械に適用できるものである。第４図は本発明を３軸の工作機械に適用した例である。図中第１図に示す部材と同等の部材には同じ符号を付している。
　第４図において、符号３０は工作機械本体であり、工作機械本体３０にはｘｙテーブル３１とｚ軸駆動機構３２とが取り付けられている。ｘｙテーブル３１は、ｘ，ｙの直交方向に動くテーブルであり、この上に加工すべきワークを置く。ｚ軸駆動機構３２は、ｚ方向（上下方向）に動き、この先に手先加工器４を取り付ける。ｚ軸駆動機構３２はｘｙテーブル３１の運動によっては動かない。
　このような構成の工作機械に対する位置と力の制御装置において、第１の実施例と異なるのは、力演算部３３、位置演算部３４及びモータ速度演算部３５の演算内容が異なり、それに関連して第１図の実施例の座標変換部１０、角度演算部１３及び角速度演算部２３が不要な点である。即ち、力演算部３３は力センサー４から検出された力をセンサー座標系から手先座標系へ変換し、手先部に加わる力を算出する。このとき、工作機械が３次元構成のためにモーメントの演算は行わず、また手先効果器４の姿勢変化がないため、重力補償は一定のバイアスを差し引くだけでよい。力演算部３３以下のベクトルも全て３次元で並進ベクトルのみとなる。また基準座標系は移動するｘｙテーブル３１上にとれるので、手先座標系と基準座標系はその方向に関して同じとなり、力演算部３３で手先座標系に変換された力は基準座標系のものとなっている。
　位置演算部３４は、エンコーダまたはリニアスケールの値を用いて手先の位置を演算する。これは、ｘｙテーブル３１上に固定した基準座標系においての手先の位置になっている。
　モータ速度演算部３５は、基準座標系での速度指令値から各駆動モータの速度指令値を直接演算する。
　このようにこの実施例では、第１図に示す実施例の場合のように関節角を用いず、直接ｘｙｚ座標系を算出でき、姿勢変化がないため、姿勢及びモーメントに関する演算がない。従って図中のベクトルｘ，ｆ，ｖ等は３次元ベクトルとなり、Ｋ，Ｍ，Ｃや座標変換行列は３×３行列になり、演算は第１図の実施例に比べて簡単なものになる。
　本実施例においても、その動作は姿勢の自由度がない点を除き第１図と実質的に同じであり、第２図及び第３図を参照して説明した曲面倣い動作を同様に行うことができるものである。
〔発明の効果〕
　本発明は、以上のように構成したので以下に列挙する効果を奏することができる。
（１）
り、その座標軸方向に位置と力の制御を行うので、曲面倣い動作の場合、
（２）
【図面の簡単な説明】
　第１図は本発明の一実施例による位置と力の制御装置を示すブロック図であり、第２図はその制御装置を用いて一定押付力制御で曲面を倣う例を示す説明図であり、第３図は同制御装置を用いて仮想バネによって曲面を倣う例を示す説明図であり、第４図は本発明の他に実施例による位置と力の制御装置を示すブロック図であり、第５図はロボットによって曲面を倣う動作を示す概略図であり、第６図は従来の制御方法を用いて一定押付力制御により曲面を倣う例を示す説明図であり、第７図は従来の制御方法を用いて仮想バネによって曲面を倣う例を示す説明図である。
　符号の説明
１…ロボット　　　　　３…力センサー
４…手先効果器（作業用ツール）
５…エンコーダ（位置検出手段）
６…制御装置　　　　　７…力設定装置
８…位置設定装置
１０…座標変換部（第８の演算手段）
１１…座標変換部（第３の演算手段）
１２…力偏差演算部（第４の演算手段）
１４…位置演算部（第７の演算手段）
１５…位置偏差演算部（第１の演算手段）
１６…座標変換部（第２の演算手段）
１７…位置と力の制御演算部（第５の演算手段）
１８…不感帯演算部　　１９…バネ定数演算部
２０…減算部　　　　　２１…特性補償演算部
２２…座標変換部（第９の演算手段）
２３…角速度演算部（第６の演算手段）