JPH0651838A - 倣い制御装置 - Google Patents

倣い制御装置

Info

Publication number
JPH0651838A
JPH0651838A JP20679192A JP20679192A JPH0651838A JP H0651838 A JPH0651838 A JP H0651838A JP 20679192 A JP20679192 A JP 20679192A JP 20679192 A JP20679192 A JP 20679192A JP H0651838 A JPH0651838 A JP H0651838A
Authority
JP
Japan
Prior art keywords
command
control
control variable
variable
robot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP20679192A
Other languages
English (en)
Inventor
Yasuyuki Nakada
康之 中田
Mitsuru Shiraishi
満 白石
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP20679192A priority Critical patent/JPH0651838A/ja
Publication of JPH0651838A publication Critical patent/JPH0651838A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)
  • Control Of Position Or Direction (AREA)
  • Machine Tool Copy Controls (AREA)

Abstract

(57)【要約】 【目的】 本発明は、部材と接触を保ちながら移動する
ロボットを制御する倣い制御装置に関し、オペレータ
が、より簡便に制御変数設定のためのコマンドの入力を
行うことができることを目的とする。 【構成】 倣い制御装置において、外部より入力される
コマンドの制御変数に基づいて、制御手段4が接触倣い
ロボット5を制御する。コマンド解析装置1は、コマン
ド解釈手段2と制御変数生成手段3とよりなる。コマン
ド解釈手段2は、入力されるコマンドの文字列を解釈す
る。制御変数生成手段3は、コマンド解釈手段2による
コマンド解釈の結果と、ロボット5の現在の状態を示す
信号に基づいて制御変数を生成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は倣い制御装置に係り、特
に、部材と接触を保ちながら移動するロボットを制御す
る倣い制御装置に関する。
【0002】塗布作業、バリ取り作業、レンチによるネ
ジの締結動作、ドアの開閉動作、ラップトップパソコン
の蓋の開閉動作等、ロボットが部材と接触を保ちながら
移動する作業を行うロボットを、接触倣いロボットとい
う。この接触倣いロボットを制御する倣い制御装置にお
いては、動作に必要な制御変数を簡便に設定できること
が必要とされている。
【0003】
【従来の技術】図11は、従来の倣い制御装置の一例の
構成図を示す。図11に示すように、この従来の倣い制
御装置は、ホストコンピュータ51と制御コントローラ
52とからなる。制御コントローラ52は、制御装置の
動作に必要な制御変数を設定しておく制御コントローラ
メモリ53と、制御コントローラメモリ53に設定され
た制御変数に基づいて、ロボットを制御する制御部54
とからなる。
【0004】オペレータは、動作開始コマンドを入力す
る前に、動作に必要な制御変数を設定する必要がある。
この制御変数の設定は、ホストコンピュータ51のモニ
タプログラムのメモリ・ライト命令を用いて、制御コン
トローラメモリ53の、制御変数に対応する番地に適当
な値を書き込むことで行う。
【0005】ロボット55の接触倣い動作では、制御部
54で使用されるフィードバック・ゲイン等、何種類も
の制御変数を設定する必要があり、オペレータは、全て
の制御変数を設定する。
【0006】図12は、従来の倣い制御装置の別の例の
構成図を示す。同図中、図11と同一構成部分には、同
一符号を付し、適宜説明を省略する。図12の倣い制御
装置は、図11の装置に、コマンド列ファイル装置50
を設けている。
【0007】コマンド列ファイル装置50中のコマンド
列ファイルから、コマンド列がホストコンピュータ51
により読み込まれ、このコマンド列中の、動作に必要な
制御変数が制御コントローラメモリ53に自動的に設定
される。コマンド列ファイル装置50には、オペレータ
が、コマンドを予め入力して、倣い制御装置の動作に必
要な制御変数を含むコマンド列ファイルを作成してお
く。
【0008】図13は、コマンド列ファイルの一例を示
す。図13に示すように、各種の制御変数を設定するた
めのコマンドを制御変数ごとに記述する。
【0009】
【発明が解決しようとする課題】しかるに、図11の従
来の倣い制御装置では、動作をさせるために、全ての制
御変数を、対応するメモリの番地に書き込まなければな
らず、オペレータは、制御変数を入力するのに、煩雑な
作業をしなければならないという問題があった。
【0010】また、図12のコマンド列ファイル装置5
0を設けた倣い制御装置では、新たなコマンド列ファイ
ルの作成時、及び、コマンド列ファイルの保守時に、各
種制御変数を設定するためのコマンド列を、各種制御変
数ごとに入力する必要があり、オペレータは、コマンド
列を入力するのに、煩雑な作業をしなければならないと
いう問題があった。
【0011】本発明は、上記の点に鑑みてなされたもの
で、オペレータが、簡便に制御変数設定のためのコマン
ドを入力することができる倣い制御装置を提供すること
を目的とする。
【0012】
【課題を解決するための手段】図1は本発明の原理構成
図を示す。請求項1の発明は、外部より入力されるコマ
ンドの制御変数に基づいて、制御手段4が接触倣いロボ
ット5を制御する倣い制御装置において、入力されるコ
マンドの文字列を解釈するコマンド解釈手段2と、コマ
ンド解釈手段2によるコマンド解釈の結果と、ロボット
5の現在の状態を示す信号に基づいて制御変数を生成す
る制御変数生成手段3とよりなるコマンド解析装置1を
有する構成とする。
【0013】請求項2の発明では、制御変数生成手段3
は、コマンド中で指定される進行方向と軌道平面とから
制御方向に関する制御変数を生成する構成とする。
【0014】請求項3の発明では、制御変数生成手段3
は、前記コマンド中で指定される動作時間から、時間に
関する必要な制御変数を生成する構成とする。
【0015】
【作用】請求項1の発明の、コマンド解析装置1が入力
されるコマンドを解釈して、現在のロボットの状態を示
す信号に基づいて制御変数を生成する構成は、制御変数
を設定するコマンドを、簡潔で平易な形式で記述し、よ
り少ないコマンドの列で、接触倣い動作を記述すること
を可能とする。
【0016】請求項2の発明の、コマンド中で指定され
る進行方向と軌道平面とから制御方向に関する制御変数
を生成する構成は、オペレータが、制御方向に関する制
御変数を設定するコマンドを入力することを不要とす
る。
【0017】請求項3の発明の、コマンド中で指定した
動作時間から、時間に関する必要な制御変数を生成する
構成は、オペレータが、時間に関する制御変数を設定す
るコマンドを入力することを不要とする。
【0018】
【実施例】図2は本発明の一実施例の構成図を示す。図
2に示すように、本実施例の倣い制御装置は、コマンド
列ファイル装置10、コマンド解析装置1、制御手段4
を構成するホストコンピュータ14と制御コントローラ
15とからなる。
【0019】制御コントローラ15は、倣い制御装置の
動作に必要な制御変数を設定しておく、制御変数記憶手
段である制御コントローラメモリ16と、制御コントロ
ーラメモリ16に設定された制御変数に基づいて、ロボ
ットを制御する制御手段である制御部17とからなる。
【0020】オペレータ、或いは、コマンド列ファイル
装置10から、コマンド解析装置1に、動作コマンドの
文字列が入力される。コマンド解析装置1では、与えら
れた動作コマンドの文字列から、制御方向、動作方向、
制御フラグを解釈し、制御変数をホストコンピュータ1
4へ転送する。
【0021】ホストコンピュータ14のモニタプログラ
ムでは、転送された制御変数を、制御コントローラメモ
リ16に設定する。制御コントローラ15の制御部17
は、制御コントローラメモリ16に設定された制御変数
と、ロボット5の位置情報、力情報を参照して、ロボッ
ト5の制御を行う。
【0022】先ず、本実施例における基準座標系と作業
座標系の関係について説明する。作業座標系は、倣い動
作の制御方向を表すために用いられ、ロボット5先端と
部材間の接触点を原点とし、軌道の法線をX軸、接線方
向をZ軸、X軸とZ軸に直交する方向をY軸として定義
される。各軸を制御方向と対応付けると、下記のように
なる。
【0023】X軸 力制御方向 Y軸 相対目標位置ゼロの軌道制御方向 Z軸 ロボットの進行方向 作業座標系のX、Y、Z軸のそれぞれの単位ベクトルを
L 、oL 、aL と置き、単位ベクトルを求めることで
座標系を決定する。作業座標系は、次のようにして算出
される。ロボット5と部材間の接触力ベクトル Oflw
は、下記のように表せる。
【0024】
【数1】
【0025】を用いて法線方向の単位ベクトル OL
求めると、下記のように表せる。
【0026】
【数2】
【0027】単位ベクトル OL は、制御コントローラ
メモリ16に設定されている軌道平面を指定する軌道平
面指定ベクトル OOPを基に算出する。 OL OOP
からベクトル OL を求めると、 OL は、下記のよう
に表せる。
【0028】
【数3】
【0029】このとき、もう一つの軌道制御方向の単位
ベクトル OL には、軌道平面指定ベクトル OOPを用
い、下記のように置く。
【0030】OL OOP 作業座標系で記述されているベクトルを基準座標系での
表現へ変換する変換行列 OL を、算出した OL O
L OL で表すと、下記のように表せる。
【0031】
【数4】
【0032】変換行列 OL は、作業座標系上で算出さ
れた速度指令の基準座標系への変換、基準座標系で表さ
れた位置、力の作業座標系への変換に用いられる。
【0033】次に、制御変数について説明する。制御コ
ントローラメモリ16に設定する制御変数には、軌道平
面指定ベクトル Oop、基準座標系の選択行列 Op
動作時間tind 、一定速度移動開始時刻tst 、一定速
度移動終了時刻ten、制御モードフラグcmdflg、
作業座標系の選択行列 Lf Lp Loa、倣い速
度vflw 、加速度aCL等が有る。これらの制御変数は、
制御コントローラ15の制御部17において、各種演算
のために用いられる。
【0034】軌道平面指定ベクトル Oopは、前記〔基
準座標系と作業座標系〕の項で説明したように、軌道制
御方向(作業座標系のY軸方向)を基準座標系で示した
単位ベクトルである。
【0035】基準座標系の選択行列 Op は、制御コン
トローラ15の制御部17で、各種演算のときに、基準
座標系の各軸成分の抽出に用いる。本実施例では、選択
行列 Op は、基準座標系で、(100)、(01
0)、(001)のいずれかである。
【0036】制御モードフラグcmdflgは、倣い制
御、位置制御、力制御のいずれかを指示するフラグであ
る。作業座標系の選択行列 Lf Lp Loa
は、作業座標系での各軸方向の成分を抽出するのに用い
られる。作業座標系で、 Lf=(100)、 Lp
(010)、 Loa=(001)である。
【0037】動作時間tind 、一定速度移動開始時刻t
st 、一定速度移動終了時刻ten、最大速度vflw 、加
速度aCLは、進行方向(作業座標系のZ軸方向)の速度
関数を定める制御変数である。図4は、この速度関数の
説明図を示す。速度関数 L oaは、図4に示すような台
形状の関数である。ここで、一定速度動作開始時刻t st
と、一定速度動作終了時刻tenは、下記の式で与えられ
る。
【0038】tst=vflw /aCLen=tind −vflw /aCL 図4の速度関数を式で表すと、下記の式となる。
【0039】
【数5】
【0040】次に、コマンド解析装置1、ホストコンピ
ュータ14、制御コントローラメモリ16、及び制御部
17のそれぞれについて、詳細に説明する。 〔コマンド解析装置〕コマンド解析装置1は、図4の構
成図に示すように、コマンド解釈手段2を構成するコマ
ンド読み込み部21と文字列解釈部22、制御変数生成
手段3を構成する制御変数生成部23と制御変数転送部
24とからなる。
【0041】コマンド読み込み部21は、オペレータ、
或いは、コマンド列ファイル装置10から与えられたコ
マンドを読み込み、文字列解釈部22は、コマンドを構
成する文字列から、コマンド名部分と引き数部分を解釈
する。制御変数生成部23は、文字列を解釈した結果を
基に、制御変数を生成し、制御変数転送部24は、ホス
トコンピュータ14のモニタプログラムへ、制御変数生
成部23で生成された制御変数を引き渡す。
【0042】図5は本実施例におけるコマンド列の一例
を示す。コマンド列は、図5に示すように、コマンド名
部分と、引き数部分からなり、一行が一コマンドに対応
している。倣い動作を実行するために必要なコマンド
は、2種類に分けられ、倣い動作開始時に必要な制御変
数を設定するコマンドと、その他の制御変数を設定する
コマンドがある。
【0043】図5の第1群のコマンドは、倣い動作を行
うためのコマンドであり、動作時に必ず実行しなければ
ならない。第2群のコマンドは、倣い動作を行うときに
必ずしも実行する必要はなく、制御変数を変更する必要
が生じたときに、適宜実行すればよい。
【0044】図5の第1群の倣い動作のコマンド“fo
llow x+ xy 10”は、図13の従来装置の
コマンド列ファイル例に対応している。ここで、“fo
llow”は、倣い動作を指示するコマンド名、“x
+”は、進行方向を指定する引き数、“xy”は、軌道
平面を指定する引き数、“10”は、動作時間を指定す
る引き数を意味する。
【0045】従来装置では、多数のコマンドで記述して
いたものを、本実施例では、“follow x+ x
y 10”の一行で記述できる。これから分かるよう
に、本実施例では、制御変数設定のためのコマンドを従
来装置に比べて、極めて簡潔で平易な形で記述できる。
【0046】コマンド読み込み部21では、コマンド列
から一行分のコマンドを読み込み、コマンド文字列を一
時記憶メモリに格納する。コマンドを実行している間
は、次のコマンドの読み込み待ちの状態を保つ。読み込
み待ち状態は、制御コントローラ15の制御部17の動
作シーケンス生成部41でコマンド終了信号が発生する
と解除され、次のコマンドを読み込む。
【0047】図6は、文字列解釈部の処理の例を示すフ
ローチャートである。文字列解釈部22では、コマンド
文字列をコマンド名、第1引き数、第2引き数、・・
・、のように分解し、それぞれ、一時記憶変数に格納し
た後、コマンド名に対応した制御変数生成部を呼び出
す。図6は、倣い動作コマンドfollowに対する処
理を示している。
【0048】ステップ101で受信したコマンドの文字
列“follow x+ xy 10”に対して解釈を
行う。次のステップ102、ステップ103、ステップ
104では、文字列の先頭から順に、文字列の区切りで
ある空白を探している。次のステップ105では、文字
列の先頭から、ステップ103で見つけた空白の前の文
字までをコマンド名と判断して、一時記憶変数cmdに
格納している。この例では、コマンド名“follo
w”が一時記憶変数cmdに格納される。
【0049】次に、ステップ106では、コマンドの文
字列の最後まで、解釈を終えたかどうかを判断してい
る。文字列の最後まで解釈を終えたときは、処理を終了
する。
【0050】次の、ステップ107、ステップ108、
ステップ109では、第1引き数の先頭から順に、文字
列の区切りである空白を探している。次のステップ11
0では、第1引き数の先頭から、ステップ108で見つ
けた空白の前の文字までを第1引き数と判断して、一時
記憶変数pramlに格納している。この例では、進行
方向を指定する第1引き数“x+”が一時記憶変数pr
amlに格納される。
【0051】次に、ステップ106では、コマンドの文
字列の最後まで、解釈を終えたかどうかを判断してい
る。文字列の最後まで解釈を終えたときは、処理を終了
する。
【0052】次の、ステップ111、ステップ112、
ステップ113では、第2引き数の先頭から順に、文字
列の区切りである空白を探している。次のステップ11
5では、第2引き数の先頭から、ステップ113で見つ
けた空白の前の文字までを第2引き数と判断して、一時
記憶変数pram2に格納している。この例では、軌道
平面を指定する第2引き数“xy”が一時記憶変数pr
am2に格納される。
【0053】次に、ステップ116では、コマンドの文
字列の最後まで、解釈を終えたかどうかを判断し、文字
列の最後まで解釈を終えたときは、処理を終了する。
【0054】次の、ステップ117、ステップ118、
ステップ119では、第3引き数の先頭から順に、文字
列の終わりを探している。次のステップ120では、第
3引き数の先頭から、ステップ118で見つけた文字列
の終わりまでを第3引き数と判断して、一時記憶変数p
ram3に格納している。この例では、動作時間を指定
する第3引き数“10”が一時記憶変数pram3に格
納される。
【0055】図7は制御変数生成部23の処理の一例を
示すフローチャートである。制御変数生成部23は、各
コマンド名に対応した制御変数の生成を行う複数の処理
部分からなる。図7は、コマンド“follow x+
xy 10”の場合を示している。
【0056】この倣い動作のコマンドの例では、コマン
ドの引き数として、進行方向“+x”、軌道平面“x
y”、動作時間“10”を指定しているが、この指定し
た引き数から、倣い動作に必要な制御変数を自動的に生
成する。また、制御変数の生成時に、現在のロボット5
の状態を示す法線ベクトルを用いている。
【0057】ステップ201では、一時記憶変数pra
mlを調べ、指定された進行方向に応じて、ベクトル変
数aopを設定する。このコマンドの例では、“+x”が
真なのでベクトル変数aop=(100)となる。
【0058】次にステップ202では、ロボットの現在
の状態を示す法線ベクトルをnC に格納し、ステップ2
03では、aop×nC を計算し、結果をベクトル変数v
bufに格納する。
【0059】次に、ステップ204では、一時記憶変数
pram2を調べ、指定された軌道平面から、選択行列
Op を求める。このコマンドの例では、 “xy”が真なので、 Op =(0 0 1) と
なる。
【0060】次に、ステップ205では、コマンドで指
定した進行方向が適切かどうかを判断する。指定した進
行方向が適切でない場合は、選択行列 Op の要素 O
pi=1で、かつ、これに対応するvbuf の要素の絶対値
|vi |=0となる。このときは、ステップ206でエ
ラー表示を行う。
【0061】次に、ステップ207では、一時記憶変数
pram2を調べ、指定された軌道平面と、ステップ2
03で算出したベクトル変数vbuf とから、軌道平面指
定ベクトル Oopを求める。このコマンドの例では、 “xy”が真なので、 Oop=(0 0 v3 /|v3
|) となる。
【0062】次に、ステップ208では、コマンドで指
定された動作時間から、動作時間に関する制御変数を求
めている。一時記憶変数pram3(指定された動作時
間)の値を動作時間の制御変数tind に設定し、vflw
/aCLの値を一定速度移動開始時刻tstに設定し、t
ind −vflw /aCLの値を一定速度移動終了時刻ten
設定する。
【0063】次に、ステップ206では、コマンドに対
応した制御モードフラグcmdflgを設定する。この
コマンドの例では、倣い動作なので、倣い動作を示すフ
ラグをcmdflgに設定する。
【0064】コマンド解析装置1の、制御変数転送部2
4では、制御変数生成部23で算出した制御変数をホス
トコンピュータ14のモニタプログラムへ転送する。モ
ニタプログラムへは、制御変数名、制御変数値、書き込
み信号を送る。倣い動作を行うコマンド(例えば、前記
の“follow x+ xy 10”)の場合には、
軌道平面指定ベクトル Oop、基準座標系の選択行列 O
p 、動作時間tind、一定速度移動開始時刻tst
一定速度移動終了時刻ten、制御モードフラグcmdf
lg、作業座標系の選択行列 Lf Lp Loa
を転送する。
【0065】上記のように、コマンド解析装置1に入力
するコマンドは、簡潔で平易な形式で記述でき、コマン
ド解析装置1が、倣い制御装置の動作に必要な制御変数
を、入力されたコマンドから生成する。このため、オペ
レータが、簡便に制御変数設定のためのコマンドを入力
することができる。
【0066】なお、コマンドで指定する進行方向、軌道
平面指定ベクトルは、本実施例では、基準座標系のX
軸、Y軸、Z軸方向のいずれかにしているが、他の方向
を指定できる方法も可能である。 〔ホストコンピュータ〕ホストコンピュータ14のモニ
タプログラムでは、コマンド解析装置1が生成した制御
変数を、制御コントローラ15の制御コントローラメモ
リ16へ書き込み、設定する。また、制御コントローラ
メモリ16からの制御変数の読み出しを行う。
【0067】図8はホストコンピュータ14のモニタプ
ログラムの構成を示す。モニタプログラムでは、制御変
数名と書き込み信号が指定されると、書き込みルーチン
が起動して、変数テーブルを参照して、制御コントロー
ラメモリ16の、制御変数に対応する番地に値を書き込
む。
【0068】また、制御変数名と読み出し信号が指定さ
れると、読み出しルーチンが起動して、変数テーブルを
参照して、制御コントローラメモリ16の、制御変数に
対応する番地から値を読みだす。
【0069】コマンド解析装置1で制御変数の値を決定
するときに、以前の制御変数の値が必要な場合、モニタ
プログラムは、読み出した制御変数の値を、コマンド解
析装置1へ転送する。 〔制御コントローラメモリ〕制御コントローラメモリは
図9に示すように、制御コントローラメモリ16の所定
の番地に、各制御変数の値を設定している。ホストコン
ピュータ14のモニタプログラム、及び制御コントロー
ラ15の制御部17から制御変数の読み書きを行うため
に、制御変数名に対応する制御コントローラメモリ16
の番地をアクセスする。
【0070】ホストコンピュータ14のモニタプログラ
ムと制御コントローラの制御部17には、制御変数名と
この番地を結び付ける同一のテーブルが備えられてお
り、対応する制御コントローラメモリ16の番地をアク
セスして、制御変数の読み書きを行う。
【0071】倣い動作を行うための制御変数には、動作
を開始する度に設定される制御変数と、必要なときに適
宜設定される制御変数とがある。
【0072】動作開始時に設定される制御変数には、下
記のものがある。
【0073】 ・選択行列 Op ・軌道平面指定ベクトル Oop ・動作時間 tind ・一定速度移動開始時刻 tst ・一定速度移動終了時刻 ten ・制御モードフラグ cmdflg また、必要なときに適宜設定される制御変数には、下記
のものがある。
【0074】 ・ローパスフィルタ帯域 ・フィードバックゲイン ・倣い速度 vflw ・加速度 aCL 制御変数は、効率、保守性、拡張性を考慮して、制御コ
ントローラメモリ16上に適切に配置する。 〔制御部〕図10は制御コントローラ15の制御部17
の構成図を示す。位置検出部42は、制御対象であるロ
ボット5の関節部のモータの回転角を検出するエンコー
ダ及びカウンタと、回転角から基準座標系への座標を変
換する座標変換部とからなり、基準座標系でのロボット
5の先端位置Xを検出する。
【0075】力検出部43は、ロボットの先端に接続さ
れた力覚センサと、力覚センサで検出された信号から基
準座標系における接触力を算出する力信号算出部とから
なり、基準座標系での接触力を検出する。基準座標系で
の接触力の算出方法は、後述する。
【0076】ロボット5は、操作部47によって駆動さ
れる。操作部47は、サーボモータ、パワーアンプ、D
/Aコンバータ、補償器から構成され、軌道制御部4
4、力制御部45で生成された基準座標系での速度指令
p 、Vf に追従するように、ロボット5の関節部を駆
動する。
【0077】また、軌道制御部44は、位置検出部42
で検出されたロボット5の先端位置Xと動作シーケンス
生成部41から与えられた目標位置XO 、動作時間、及
び軌道制御ゲイン等の軌道制御パラメータに基づいて、
軌道制御方向の速度指令 V p を生成する。力制御部4
5は、力検出部43で検出した力信号と、設定力(力指
令FO )及び力制御パラメータに基づいて、力制御方向
の速度指令Vf を生成する。
【0078】作業座標系算出部46は、倣い動作の軌道
を決定するために、ロボット5と部材間の接触力、指定
された軌道平面から、作業座標系を算出する。作業座標
系では、軌道の法線方向を力制御方向とし、接線方向を
軌道制御方向とする。作業座標系算出部は、ロボット5
の先端と把時部材間の接触力から、軌道の法線方向と、
接線方向をリアルタイムで算出する。
【0079】動作シーケンス生成部41は、力指令FO
の生成、力制御パラメータの転送、位置指令XO の生
成、軌道制御パラメータの転送、倣い制御動作の初期動
作において必要な軌道制御と力制御の切り換え、倣い動
作の軌道を決定するベクトルの設定、コマンド終了信号
の生成を行う。
【0080】なお、倣い動作の軌道を決定するベクトル
の設定は、ベクトル OL OL OL から変換行
OL を算出して、この変換行列 OL を軌道制御部
44と力制御部45に設定することを意味する。動作シ
ーケンス生成部41に設定される動作手順は、オペレー
タ、或いは、コマンド列ファイルによって示される。
【0081】次に、力制御部45について説明する。力
制御部45では、力覚センサで検出した力を作業座標系
のX軸方向の目標力に一致させる速度指令を生成する。
この速度指令の生成のために、先ず、作業座標系上での
目標力と検出力との差を算出する。
【0082】基準座標系記述の接触力ベクトル O
qrを、作業座標系記述に変換する。作業座標系から基準
座標系への変換行列 OL の転置行列 OL T を用いる
と、作業座標系記述の接触ベクトル Lq は、下記のよ
うに表せる。
【0083】Lq OL T Oqr 従って、目標力ベクトル Loqと検出ベクトル Lq
の偏差 LdFは、下記のように表せる。
【0084】L dF= Loq−(− Lq )= Loq Lq 検出ベクトル Lq が負となるのは、接触ベクトル O
flw と法線ベクトル OL の向きが逆であることによ
る。
【0085】次に力補償器による速度指令の生成につい
て説明する。力制御速度指令ベクトル Lf ’は、ゲイ
ンGf を用いて、下記のように表せる。
【0086】Lf ’=Gf LdF 力制御は、作業座標系のX軸で行われ、下記の選択行列
Lf によって力制御方向の速度指令が抽出される。
【0087】Lf =diag(1 0 0 ) 従って、最終的な速度指令ベクトル Lf は、下記のよ
うに表せる。
【0088】Lf Lf Lf ’ なお、力制御速度指令 Lf を基準座標系へ変換する
と、下記のようになる。
【0089】Of OL Lf ゲインGf 、選択行列 Lf は、制御コントローラメモ
リ16に設定されている。
【0090】次に、軌道制御部44について説明する。
軌道制御部44では、作業座標系のY軸方向の移動距離
がゼロとなる軌道制御速度指令をY軸方向へ生成し、ロ
ボット先端を移動する軌道制御速度指令を作業座標系の
Z軸方向に生成する。Y軸方向の速度指令は、位置検出
部42で検出された現在位置と目標位置の差から算出さ
れ、Z軸方向の速度指令は、速度の関数発生器を指令源
とする開ループ系から算出される。
【0091】軌道平面を基準座標系のXY、YZ、ZX
平面に選んだとき、作業座標系のY軸は、それぞれ、基
準座標系のZ軸、X軸、Y軸に一致する。目標位置がゼ
ロのとき、基準座標系のある軸方向の位置偏差ベクトル
OdPは、動作開始時の基準座標系記述の先端の位置ベ
クトル Ocr、現在の位置ベクトル Oar、制御コント
ローラメモリに設定されている選択行列 Op を用い
て、下記のように表せる。
【0092】OdP= Op ・( Ocr Oar) 作業座標系の速度指令は、ゲインGp を用いて下記のよ
うに表せる。
【0093】Lp ’=Gp OL T OdP 作業座標系のY軸方向の速度指令成分を選択行列Lp =diag(0 1 0 ) によって抽出し、基準座標系へ変換すると、最終的な速
度指令ベクトル Op は、下記のように表せる。
【0094】Op OL Lp Lp ’ ゲインGp 、選択行列 Lp は、制御コントローラメモ
リ16に設定されている。
【0095】Z軸方向の速度指令は、制御コントローラ
メモリ16に設定されている、動作時間tind 、最大速
度vflw 、加速度aCLを基に、関数発生器で算出され
る。関数発生器では、速度関数が図4に示すような台形
状の速度指令 Loaを生成する。
【0096】関数発生器で生成された速度 Loaは、作
業座標系のZ軸方向のみに発せられるため、選択行列 L
oa=diag(0 0 1)によって、進行方向の成
分が抽出される。基準座標系記述の速度 Ooaは、下記
の式で表せる。
【0097】Ooa OL Loa Loa 上記のようにして求められた速度 Loaに基づいて、操
作部47が、ロボット5のZ軸方向の速度を制御する。
【0098】
【発明の効果】上述の如く、請求項1の発明によれば、
制御変数を設定するコマンドを、簡潔で平易な形式で記
述でき、より少ないコマンドの列で、接触倣い動作を記
述可能なため、オペレータが、簡便に制御変数設定のた
めのコマンドを入力することができる等の特長を有す
る。
【0099】請求項2の発明によれば、制御方向に関す
る制御変数を設定するコマンドを入力する必要がないた
め、オペレータが、より簡便に制御変数設定のためのコ
マンドを入力することができる。
【0100】請求項3の発明によれば、時間に関する制
御変数を設定するコマンドを入力する必要がないため、
オペレータが、より簡便に制御変数設定のためのコマン
ドを入力することができる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の一実施例の構成図である。
【図3】速度関数の説明図である。
【図4】コマンド解析装置の構成図である。
【図5】コマンド列の一例を示す図である。
【図6】文字列解釈部の処理の例を示すフローチャート
である。
【図7】制御変数生成部の処理の例を示すフローチャー
トである。
【図8】モニタプログラムの構成図である。
【図9】制御コントローラメモリの構成例である。
【図10】制御部の構成図である。
【図11】従来の倣い制御装置の一例の構成図である。
【図12】従来の倣い制御装置の別の例の構成図であ
る。
【図13】従来装置のコマンド列ファイルの例を示す図
である。
【符号の説明】
1 コマンド解析装置 2 コマンド解釈手段 3 制御変数生成手段 4 制御手段 5 ロボット 10 コマンド列ファイル装置 14 ホストコンピュータ 15 制御コントローラ 16 制御コントローラメモリ 17 制御部 21 コマンド読み込み部 22 文字列解釈部 23 制御変数生成部 24 制御変数転送部

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 外部より入力されるコマンドの制御変数
    に基づいて、制御手段(4)が接触倣いロボット(5)
    を制御する倣い制御装置において、 前記入力されるコマンドの文字列を解釈するコマンド解
    釈手段(2)と、 該コマンド解釈手段(2)によるコマンド解釈の結果
    と、前記ロボット(5)の現在の状態を示す信号に基づ
    いて前記制御変数を生成する制御変数生成手段(3)と
    よりなるコマンド解析装置(1)を有する構成としたこ
    とを特徴とする倣い制御装置。
  2. 【請求項2】 前記制御変数生成手段(3)は、前記コ
    マンド中で指定される進行方向と軌道平面とから制御方
    向に関する制御変数を生成する構成としたことを特徴と
    する請求項1記載の倣い制御装置。
  3. 【請求項3】 前記制御変数生成手段(3)は、前記コ
    マンド中で指定される動作時間から、時間に関する必要
    な制御変数を生成する構成としたことを特徴とする請求
    項1記載の倣い制御装置。
JP20679192A 1992-08-03 1992-08-03 倣い制御装置 Pending JPH0651838A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20679192A JPH0651838A (ja) 1992-08-03 1992-08-03 倣い制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20679192A JPH0651838A (ja) 1992-08-03 1992-08-03 倣い制御装置

Publications (1)

Publication Number Publication Date
JPH0651838A true JPH0651838A (ja) 1994-02-25

Family

ID=16529158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20679192A Pending JPH0651838A (ja) 1992-08-03 1992-08-03 倣い制御装置

Country Status (1)

Country Link
JP (1) JPH0651838A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007515301A (ja) * 2003-12-19 2007-06-14 シュトイブリー・ファベルゲ 多軸ロボットの可動部分の変位を制御するための方法及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007515301A (ja) * 2003-12-19 2007-06-14 シュトイブリー・ファベルゲ 多軸ロボットの可動部分の変位を制御するための方法及び装置

Similar Documents

Publication Publication Date Title
WO2000025185A1 (en) Robotic process planning using templates
US7802193B1 (en) Controlling motion using a human machine interface
CN115351780A (zh) 用于控制机器人设备的方法
Pettinger et al. Reducing the teleoperator’s cognitive burden for complex contact tasks using affordance primitives
JP3168682B2 (ja) 数値制御装置
US20230251630A1 (en) Numerical control system
Bianco et al. A scaling algorithm for the generation of jerk-limited trajectories in the operational space
JPH0651838A (ja) 倣い制御装置
JPS59183408A (ja) ロボツト制御方式
JPH0193805A (ja) ロボットの教示データ作成方法
Chung et al. Collision-free trajectory generation of robotic manipulators using receding horizon strategy
JPH11104982A (ja) ロボットの教示方法
Welle et al. Quest2ros: An app to facilitate teleoperating robots
JPH0991022A (ja) ロボット制御装置
JPH03242703A (ja) モータ制御でのフィードフォアードゲインの学習方法
Dillmann et al. Integration of symbolic and subsymbolic learning to support robot programming by human demonstration
JPH07168616A (ja) ロボットプログラム作成装置
JPH03251376A (ja) 制御装置
JPH0682338A (ja) 開閉試験装置
JPS621005A (ja) ロボツトの教示方法
JPH07205068A (ja) ロボットの座標系設定方法
Putnik et al. Spatial Visual Feedback for Robotic Arc-Welding Enforced by Inductive Machine Learning
JPS638910A (ja) ロボツト位置表示方法
JPS6260006A (ja) ロボツト制御プログラムの干渉チエツク方法
JPH06124112A (ja) 数値制御装置用データ確認方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020108