JP3350687B2 - Robot control method and robot control device - Google Patents

Robot control method and robot control device

Info

Publication number
JP3350687B2
JP3350687B2 JP18733393A JP18733393A JP3350687B2 JP 3350687 B2 JP3350687 B2 JP 3350687B2 JP 18733393 A JP18733393 A JP 18733393A JP 18733393 A JP18733393 A JP 18733393A JP 3350687 B2 JP3350687 B2 JP 3350687B2
Authority
JP
Japan
Prior art keywords
coordinate system
work
robot
unit
force
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.)
Expired - Fee Related
Application number
JP18733393A
Other languages
Japanese (ja)
Other versions
JPH0780787A (en
Inventor
榑沼  透
邦雄 柏木
一徳 山田
信一 猿楽
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.)
Hitachi Construction Machinery Co Ltd
Original Assignee
Hitachi Construction Machinery Co 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 Hitachi Construction Machinery Co Ltd filed Critical Hitachi Construction Machinery Co Ltd
Priority to JP18733393A priority Critical patent/JP3350687B2/en
Publication of JPH0780787A publication Critical patent/JPH0780787A/en
Application granted granted Critical
Publication of JP3350687B2 publication Critical patent/JP3350687B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明はロボット制御方法および
ロボット制御装置に関し、少なくとも2以上の自由度を
有するロボットや工作機械等の多自由度工作機械の位置
と力の制御を実行するものであって、バリ取り、曲面研
磨、曲面の倣い動作等の力を伴う作業動作を機構本体部
に行わせるロボット制御方法およびロボット制御装置に
関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a robot control method and a robot control apparatus for controlling the position and force of a multi-degree-of-freedom machine tool such as a robot or a machine tool having at least two degrees of freedom. Further, the present invention relates to a robot control method and a robot control device for causing a mechanism main body to perform a work operation involving a force such as deburring, curved surface polishing, and curved surface copying operation.

【0002】[0002]

【従来の技術】従来、力制御を利用してグラインダがけ
作業を行う多自由度作業機械(一般的には産業用ロボッ
トまたは作業用ロボットであり、以下「ロボット」とい
う)では、例えば特開平1−222311号、特開平1
−222315号、特開平1−222316号、特開平
3−262009号に記載されるように、力制御に基づ
いて力を伴う作業を行うにあたり、作業工具でワークに
対し力をかける方向と当該作業工具を移動させる方向と
を直交座標系で指定すると共に、ワークの形状に合わせ
て座標軸方向を回転して変更し、もって力作業を行うよ
うに構成されていた。これらのロボットでは、力制御に
基づきワークに力をかけながら作業工具を移動させると
き、力をかける方向をワーク各部の法線方向に向けるこ
とによって力制御の精度と性能の向上を図っている。力
制御を利用してワークに対し作業工具で力をかけながら
当該作業工具をワークに沿って移動させて力作業を行う
ロボットでは、力をかける方向を定める被加工部分にお
ける法線方向の設定の仕方が、作業を円滑に行う面で重
要となる。
2. Description of the Related Art Conventionally, a multi-degree-of-freedom work machine (generally an industrial robot or a work robot, hereinafter referred to as a "robot") that performs a grinder work using force control is disclosed in, for example, Japanese Patent Application Laid-Open No. Hei.
As described in JP-A-222315, JP-A-1-222316, and JP-A-3-262009, when performing a work involving a force based on force control, the direction in which a work tool applies a force to the work and the work The direction in which the tool is moved is specified in a rectangular coordinate system, and the direction of the coordinate axis is rotated and changed in accordance with the shape of the workpiece, thereby performing a force work. In these robots, when moving the work tool while applying a force to the work based on the force control, the direction in which the force is applied is directed to the normal direction of each part of the work to improve the accuracy and performance of the force control. In a robot that performs force work by moving the work tool along the work while applying force to the work with the work tool using force control, the setting of the normal direction in the part to be processed that determines the direction to apply the force The manner is important for smooth work.

【0003】例えば特開平1−222315号の多自由
度作業機械では、予めワークの各被加工部分での法線方
向を求めておき、制御装置に設けられた記憶装置に、求
めた法線方向を記憶している。特開平1−222311
号や特開平1−222316号の多自由度作業機械で
は、ワークの接触点おける反力に基づいて各接触点に関
する法線方向を求めている。また特開平3−26200
9号の多自由度ロボットでは、作業工具の移動に関する
軌道データに基づいてフレネの式により法線方向を求め
るようにしている。
For example, in the multi-degree-of-freedom working machine disclosed in Japanese Patent Application Laid-Open No. 1-222315, the normal direction of each workpiece to be processed is determined in advance, and the determined normal direction is stored in a storage device provided in a control device. I remember. JP-A 1-222211
In the multi-degree-of-freedom work machine disclosed in Japanese Patent Application Laid-Open No. HEI 1-222316, the normal direction of each contact point is obtained based on the reaction force at the contact point of the work. Japanese Patent Application Laid-Open No. 3-26200
In the multi-degree-of-freedom robot No. 9, the normal direction is obtained by the Fresne equation based on the trajectory data relating to the movement of the work tool.

【0004】[0004]

【発明が解決しようとする課題】上記の従来技術による
法線方向の設定の仕方は、それぞれ、次のような問題点
を有する。
The method of setting the normal direction according to the above-mentioned prior art has the following problems, respectively.

【0005】特開平1−222315号の設定の仕方に
よれば、マイクロコンピュータによるシステムを想定す
ると、莫大な記憶容量の記憶装置を必要とし、システム
の効率に問題がある。また作業を行わせるためのデータ
を予め制御装置の記憶装置に事前に格納するための試し
作業を考えると、ワークの形状に合わせて座標系を設定
して記憶させることは非常に面倒な作業となる。特開平
1−222311号や特開平1−222316号の設定
の仕方によれば、ワークにおける作業工具の接触点での
反力を測定することは実際上誤差が大きく、このため、
位置が変化するたびに座標の方向が大きく変化してしま
い、安定性が悪くなり、制御上好ましくないという問題
がある。
According to the setting method of Japanese Patent Application Laid-Open No. 1-222315, assuming a system using a microcomputer, a storage device having an enormous storage capacity is required, and there is a problem in the efficiency of the system. Also, considering a trial work for storing data for performing work in advance in the storage device of the control device in advance, it is extremely troublesome work to set and store a coordinate system according to the shape of the work. Become. According to the setting method of JP-A-1-222311 and JP-A-1-222316, measuring the reaction force at the contact point of the work tool on the work has a large error in practice, and therefore,
Each time the position changes, the direction of the coordinates changes greatly, resulting in poor stability and poor control.

【0006】特開平3−262009号によるフレネの
式に基づく方法は、軌道の設定の仕方によっては、座標
軸が逆転し、力がかかる方向が力を必要とする方向と逆
になり、作業が行えない場合が発生する。この状況を図
11および図12を参照して説明する。
In the method based on the Fresne's formula disclosed in Japanese Patent Application Laid-Open No. 3-262009, depending on how the trajectory is set, the coordinate axes are reversed, and the direction in which the force is applied is opposite to the direction in which the force is required. There is no case. This situation will be described with reference to FIGS.

【0007】図11において、ワーク101における作
業工具102の移動に関する目標軌道103がP001〜P0
11の点列が与えられていると仮定する。このとき計算で
求められる座標系の各軸方向を、例えばP002とP007に着
目して説明する。まずP002ではx軸方向は(数1)とな
る。
In FIG. 11, target trajectories 103 for movement of a work tool 102 on a work 101 are represented by P001 to P0.
Assume that a sequence of 11 points is given. At this time, each axis direction of the coordinate system obtained by the calculation will be described focusing on, for example, P002 and P007. First, in P002, the x-axis direction is (Equation 1).

【0008】[0008]

【数1】 (Equation 1)

【0009】これにより、x軸方向の単位ベクトルを
〈n〉とすれば、次式となる。
Thus, if the unit vector in the x-axis direction is <n>, the following equation is obtained.

【0010】[0010]

【数2】 (Equation 2)

【0011】ここで記号「〈 〉」はベクトルを表すも
のとする。またy軸方向は、次式で与えられる。
Here, the symbol "<>" represents a vector. The y-axis direction is given by the following equation.

【0012】[0012]

【数3】 (Equation 3)

【0013】y軸方向の単位ベクトルを〈o〉とすれ
ば、次式で与えられる。
If the unit vector in the y-axis direction is <o>, it is given by the following equation.

【0014】[0014]

【数4】 (Equation 4)

【0015】これを図示すると、軌道の曲率半径の方向
に向かうベクトルとなる。z軸方向については単位ベク
トルを〈a〉とすると、次式で与えられる。
If this is illustrated, it becomes a vector directed in the direction of the radius of curvature of the trajectory. Assuming that the unit vector is <a> in the z-axis direction, it is given by the following equation.

【0016】[0016]

【数5】 (Equation 5)

【0017】上記計算で求められたP002での座標系を示
すと図12(A)となる。
FIG. 12A shows a coordinate system at P002 obtained by the above calculation.

【0018】次に、P007に関して同様に計算を行ったも
のを図12(B)に示す。P007の場合にはy軸方向は曲
率半径に向うためP002の場合と反対方向になり、これに
よってz軸方向も反対になる。従って、力制御において
力目標値や動作に関するゲインを座標系の軸方向を基準
に設定している場合には大きな問題を提起する。具体的
に説明すると、図12(A)に示すように、例えばP002
においてy軸方向に−1.0Kgf の力(y軸の負方向)
をかけながら、ロボット機構のリスト部に装着した作業
工具102をワーク101に押し付けてバリ取り作業を
行うように設定すると、図12(B)に示すようにP007
ではy軸の向きが逆になり、そのために力をかける向き
も逆になり、作業工具102をワーク101に押し付け
ることができなくなる。
Next, FIG. 12B shows the result of the same calculation for P007. In the case of P007, the y-axis direction is directed to the radius of curvature, so that the direction is opposite to that of the case of P002, whereby the z-axis direction is also reversed. Therefore, a large problem is posed in the force control when the force target value and the gain relating to the operation are set with reference to the axial direction of the coordinate system. More specifically, for example, as shown in FIG.
At -1.0 Kgf force in the y-axis direction (negative direction of y-axis)
When the setting is made such that the work tool 102 mounted on the wrist of the robot mechanism is pressed against the work 101 to perform the deburring work, as shown in FIG.
In this case, the direction of the y-axis is reversed, and the direction in which the force is applied is also reversed, so that the work tool 102 cannot be pressed against the work 101.

【0019】加えて、上記の特開平3−262009号
による方法では、位置の2階微分を計算しなければなら
ないので、演算を行うには最低3つの位置データが必要
となるという問題も有している。
In addition, the method disclosed in Japanese Patent Application Laid-Open No. Hei 3-262009 has a problem that at least three position data are required to perform the operation because the second derivative of the position must be calculated. ing.

【0020】本発明の目的は、制御上の安定性および精
度に問題を生じることなく、ユーザが座標系を簡単に設
定できるロボット制御方法およびロボット制御装置を提
供することにある。
An object of the present invention is to provide a robot control method and a robot control device that allow a user to easily set a coordinate system without causing a problem in control stability and accuracy.

【0021】[0021]

【課題を解決するための手段】本発明に係るロボット制
御方法は、多自由度を有する作業用ロボットの先端の作
業工具を制御する位置と力のロボット制御方法であり、
作業工具をワークの被加工部に押し付ける押付け方向が
大体の方向として設定され、大体の方向として任意に決
定された押付け方向をワーク座標系の仮の1つの軸方向
し、作業工具の被加工部に対する目標軌道を生成する
ための位置パラメータから演算した方向をワーク座標系
の主たる他の軸方向とし、仮の1つの軸方向を主たる他
の軸方向に直交するように修正することにより、ワーク
座標系の各軸方向へのベクトルを演算し、この各軸方向
のベクトルを用いて作業工具の位置と力の制御を行う方
法である。
A robot control method according to the present invention is a robot control method for controlling a position and a force of a work tool at a tip end of a working robot having multiple degrees of freedom,
The pressing direction that presses the work tool against the workpiece
Is set as general direction, optionally the determined pressing direction and one axial <br/> tentative workpiece coordinate system as general direction, for generating a target trajectory with respect to the processing unit of the power tool The direction calculated from the position parameter is the work coordinate system
The other main axis direction is assumed to be the temporary one axis direction.
In this method, the vector in each axis direction of the workpiece coordinate system is calculated by correcting the work tool so as to be orthogonal to the axis direction, and the position and force of the power tool are controlled using the vectors in each axis direction.

【0022】前記の方法において、好ましくは、1つの
軸方向のベクトルは、作業用ロボットの設置空間に固定
された座標系の内から1軸方向に関して指定される。
In the above method, preferably, the vector in one axial direction is specified in one axial direction from a coordinate system fixed in the installation space of the working robot.

【0023】前記の方法において、好ましくは、1つの
軸方向のベクトルは、ロボット機構の動作に従って制御
手段で演算され生成される座標系の内から1軸方向に関
して指定される。
In the above method, preferably, the vector in one axis direction is specified in one axis direction from a coordinate system calculated and generated by the control means in accordance with the operation of the robot mechanism .

【0024】前記の方法において、好ましくは、位置パ
ラメータは、作業用ロボットに対するユーザの教示によ
って記憶手段に格納された位置データである。
In the above method, preferably, the position parameter is position data stored in the storage means according to a user's teaching to the work robot.

【0025】前記の方法において、好ましくは、位置パ
ラメータは、作業用ロボットに対するユーザの教示によ
って記憶手段に格納された位置データに基づいて演算処
理で作成されたデータである。
In the above method, preferably, the position parameter is data created by an arithmetic process based on the position data stored in the storage means in accordance with a user's teaching to the work robot.

【0026】前記の方法において、好ましくは、前記演
算処理は補間演算である。
In the above method, preferably, the calculation processing is an interpolation calculation.

【0027】本発明に係るロボット制御装置は、多自由
度を有する作業用ロボットを制御する位置と力のロボッ
ト制御装置であって、前段に位置パラメータ、ユーザプ
ログラム、各種の力制御パラメータのそれぞれを格納す
る複数の格納部を含む教示・設定部を備えかつ後段に力
制御演算部を含む制御実行部を備え、制御実行部のユー
ザプログラム解析部で教示・設定部に設定されたユーザ
プログラムを読出して解析し、その命令内容に従って位
置パラメータおよび力制御パラメータを各格納部から制
御実行部の各入力部に転送するロボット制御装置におい
て、教示・設定部は、座標系に関するパラメータを格納
する座標系パラメータ格納部と、上記の座標系のうちか
らワーク座標系に関し大体の方向として任意に決定され
たワーク座標系に関し指定された押付け方向を仮の1つ
の軸方向として格納するワーク座標系軸方向格納部とを
含み、制御実行部は、目標軌道を形成する各位置につい
て、位置パラメータ格納部と座標系パラメータ格納部と
ワーク座標系軸方向格納部の各出力を入力し、位置パラ
メータと座標系に関するパラメータとワーク座標系に関
し大体の方向として任意に決定された1つの軸方向とを
用いてワーク座標系における各軸方向ベクトルを演算
し、このベクトルを制御指令値として出力するワーク座
標系演算部を含むことを特徴とする。
A robot control device according to the present invention is a position and force robot control device for controlling a working robot having multiple degrees of freedom, and includes a position parameter, a user program, and various force control parameters in a preceding stage. A teaching / setting unit including a plurality of storage units for storing and a control execution unit including a force control calculation unit at a subsequent stage are provided, and a user program analysis unit of the control execution unit reads a user program set in the teaching / setting unit. In the robot controller that transfers the position parameters and the force control parameters from the respective storage units to the respective input units of the control execution unit in accordance with the contents of the instructions, the teaching / setting unit includes a coordinate system parameter for storing parameters related to the coordinate system. A storage unit and a work coordinate system arbitrarily determined as a general direction with respect to the work coordinate system from the above coordinate systems. And a work coordinate system axis storing section, the control execution unit, for each position to form a target track, the coordinate system parameter storage position parameter storage unit for which stores the specified pressing direction as one axial direction of the provisional And input each output of the work coordinate system axis direction storage unit, and use each position parameter, a parameter related to the coordinate system, and one axis direction arbitrarily determined as a rough direction with respect to the work coordinate system, to use each of the outputs in the work coordinate system It is characterized by including a work coordinate system calculation unit that calculates an axial vector and outputs this vector as a control command value.

【0028】前記の構成において、好ましくは、ワーク
座標系演算部は、ユーザプログラム解析部から出力され
る指令に従って演算を行うように構成される。
In the above configuration, preferably, the work coordinate system calculation unit is configured to perform a calculation according to a command output from the user program analysis unit.

【0029】前記の構成において、好ましくは、位置パ
ラメータ格納部からの位置パラメータを用いる代わり
に、位置パラメータに所定の演算を施して得られる位置
に関するデータを用いることを特徴とする。
In the above configuration, preferably, instead of using the position parameter from the position parameter storage unit, data on a position obtained by performing a predetermined operation on the position parameter is used.

【0030】[0030]

【作用】本発明によれば、ワークが与えられ、当該ワー
クの被加工部に対して研磨等の力作業を行うことを指示
された場合において、その被加工部に対してグラインダ
および砥石からなる作業工具を押し付けて移動させるた
めの目標軌道が、被加工部に関して複数の位置データか
らなる点列で与えられるとき、ワークの被加工部に関し
て作業工具を押し付けるのに必要な大体の方向(押付け
方向)をユーザ自身が決定し、これを1つの軸方向のベ
クトルとして教示・設定部に設定し、目標軌道を形成す
る各位置について、位置データから移動方向を求めてこ
れを1軸方向の単位ベクトルとし、次に教示・設定部に
設定された1つの軸方向のベクトルを用いて所定の演算
に従って直交する他の2軸に関しての単位ベクトルを求
め、こうして座標系が生成される。
According to the present invention, when a work is given and it is instructed to perform a force operation such as polishing on a work portion of the work, the work portion is formed of a grinder and a grindstone. When a target trajectory for pressing and moving the work tool is given as a point sequence including a plurality of pieces of position data with respect to the workpiece, a general direction (pressing) required to press the work tool with respect to the workpiece of the workpiece
Direction) is determined by the user himself, set as a vector in one axial direction in the teaching / setting unit, and for each position forming the target trajectory, the moving direction is obtained from the position data, and is calculated in the unit of one axial direction. Then, a unit vector for the other two orthogonal axes is obtained in accordance with a predetermined calculation using a vector in one axis direction set in the teaching / setting unit, and a coordinate system is thus generated.

【0031】目標軌道を形成する各位置の座標系を、ユ
ーザがワークの被加工部を観察することにより作業工具
が被加工部を押し付ける大体の方向を設定するために、
被加工部の条件が大幅に変化しても作業工具による力の
作用方向は逆にならず、押付け方向も常に望ましい状態
に保持され、作業工具がワークから離れることがない。
また座標系を設定するための計算も簡単であり、計算に
必要なデータも少なく計算時間が少なくて済む。
The coordinate system of each position forming the target trajectory is set in order to set the approximate direction in which the work tool presses the workpiece by observing the workpiece by the user.
Even if the condition of the portion to be machined changes significantly, the direction of the force exerted by the power tool does not reverse, the pressing direction is always maintained in a desired state, and the power tool does not separate from the workpiece.
Also, the calculation for setting the coordinate system is simple, the data required for the calculation is small, and the calculation time is short.

【0032】[0032]

【実施例】以下に、本発明の実施例を添付図面に基づい
て説明する。
Embodiments of the present invention will be described below with reference to the accompanying drawings.

【0033】図1はソフトウェアで実現される本発明に
係るロボット制御装置の構成を概念的に表すブロック図
で、この図には機械的構成部分およびセンサ部等のハー
ド構成を併せて示している。図2は力制御演算部の具体
的構成の一例を示すブロック図、図3はロボット制御装
置を実現するコンピュータシステムの構成を示すブロッ
ク図である。
FIG. 1 is a block diagram conceptually showing the configuration of a robot control device according to the present invention which is realized by software. FIG. 1 also shows mechanical components and hardware components such as a sensor unit. . FIG. 2 is a block diagram illustrating an example of a specific configuration of the force control calculation unit, and FIG. 3 is a block diagram illustrating a configuration of a computer system for realizing the robot control device.

【0034】図1において、ロボット機構1はロボット
本体であり、機械的機構部と、この機械的機構部の各可
動部(関節部)に配置される駆動装置と、当該機械的機
構部のアーム先部に取り付けられた作業工具(一般的に
手先効果器)とから構成される。ロボット機構1は、可
動部に配置された各駆動装置が力制御演算部20から与
えられるロボット機構1の姿勢および動作を決定するた
めの各種制御信号をサーボ回路2を通して受取ることに
より、全体として制御信号に従って動作し作業工具で図
示しないワークに対し必要な作業を行う。ロボット機構
1と作業工具による作業動作の中には力制御による力作
業動作が含まれる。従って作業工具がワークに対して研
磨等の力作業を行うとき、作業工具は当該ワークから反
作用としての力を受ける。作業工具は、その取付け構造
上力センサ3に固定されるので、作業工具に加わる力
(モーメントを含む)は力センサ3によって検出され
る。力センサ3で検出された力に関するデータは力制御
演算部20に送給され、その後の力制御において制御状
況に関する力データとして使用される。また同様にして
ロボット機構1の各可動部には動作量を検出するための
センサを備えており、対応する駆動装置により可動部が
動作したとき、各センサはその動作量を測定し、サーボ
回路2を介して力制御演算部20に動作量データとして
送給する。これらの動作量データは、現実の位置データ
としてその後の力制御および位置制御に使用される。
In FIG. 1, a robot mechanism 1 is a robot main body, and includes a mechanical mechanism, a driving device disposed at each movable part (joint) of the mechanical mechanism, and an arm of the mechanical mechanism. And a work tool (generally a hand effector) attached to the front end. The robot mechanism 1 is controlled as a whole by each driving device arranged in the movable part receiving various control signals for determining the attitude and the operation of the robot mechanism 1 given from the force control calculating section 20 through the servo circuit 2. It operates according to the signal and performs necessary work on a work (not shown) with a work tool. The work operation by the robot mechanism 1 and the work tool includes a force work operation by force control. Therefore, when the work tool performs a force work such as polishing on the work, the work tool receives a reaction force from the work. Since the power tool is fixed to the force sensor 3 due to its mounting structure, a force (including a moment) applied to the power tool is detected by the force sensor 3. Data relating to the force detected by the force sensor 3 is sent to the force control calculation unit 20, and is used as force data relating to the control situation in subsequent force control. Similarly, each movable part of the robot mechanism 1 is provided with a sensor for detecting the amount of movement, and when the movable part is operated by the corresponding driving device, each sensor measures the amount of movement, and a servo circuit is provided. 2 to the force control calculation unit 20 as operation amount data. These motion amount data are used as actual position data for subsequent force control and position control.

【0035】一点鎖線で示されたブロック5はロボット
制御装置の部分である。本発明に係るロボット制御装置
が適用されるロボットシステムではティーチングプレイ
バック(教示再生)方式が採用されている。従って図1
のロボット制御装置5は、複数の制御パラメータの教示
および設定に関係する部分(教示・設定部)と、設定さ
れた複数の制御パラメータを取り出して制御を実行する
部分(制御実行部)とから構成される。ロボット制御装
置5において、教示されたプログラムおよびデータ等の
転送ルートに関して、図中左側の前段部に教示・設定部
が位置し、右側の後段部に制御実行部が位置する。すな
わち、教示・設定部は、力制御パラメータ格納14、ユ
ーザプログラム格納部13、位置パラメータ格納部1
0、座標系パラメータ格納部11、ワーク座標系軸方向
格納部12からなる。他方、制御実行部は、ユーザプロ
グラム解析部16、力制御パラメータ転送部17、位置
パラメータ転送部15、ワーク座標系演算部18、力制
御演算前処理部19、前述の力制御演算部20からな
る。
A block 5 indicated by a dashed line is a part of the robot controller. In a robot system to which the robot control device according to the present invention is applied, a teaching playback (teaching playback) method is employed. Therefore, FIG.
Is composed of a part (teaching / setting unit) relating to teaching and setting of a plurality of control parameters, and a part (control executing unit) for taking out the plurality of set control parameters and executing control. Is done. In the robot control device 5, regarding the transfer route of the taught program and data, the teaching / setting unit is located at the front stage on the left side of the figure, and the control execution unit is located at the rear stage on the right side. That is, the teaching / setting unit includes the force control parameter storage 14, the user program storage 13, and the position parameter storage 1.
0, a coordinate system parameter storage unit 11, and a work coordinate system axis direction storage unit 12. On the other hand, the control execution unit includes a user program analysis unit 16, a force control parameter transfer unit 17, a position parameter transfer unit 15, a work coordinate system calculation unit 18, a force control calculation preprocessing unit 19, and the above-described force control calculation unit 20. .

【0036】力制御パラメータ格納部14、ユーザプロ
グラム格納部13、位置パラメータ格納部10、座標系
パラメータ格納部11、ワーク座標系軸方向格納部12
のそれぞれには、ユーザにおけるオペレータが、ロボッ
ト制御装置5を備えるロボット機構1に対して所要作業
(作業工具の動作に関し位置制御と力制御が必要な作
業)を行わせようとする場合に、事前に教示操作を行う
ことにより、当該作業の制御に必要な力制御および位置
制御の各制御パラメータに関するデータおよび必要なユ
ーザプログラムが格納される。オペレータによる教示操
作では、例えばハンディタイプの教示操作器4が使用さ
れる。この教示操作器4は、プログラム言語を用いて制
御指令と複数のデータを入力するための入力機能部4a
と、所定の表示面積を有しかつオペレータが入力された
制御指令等の内容を視覚で確認するための表示機能部4
bを有している。この教示操作器4を用いることにより
実際の作業の前に当該作業を倣うごとくロボット機構1
に試し動作を行わせ、複数の制御パラメータに関し作業
中のそれぞれの区間で必要とされるデータを、前記の力
制御パラメータ格納部14、ユーザプログラム格納部1
3、位置パラメータ格納部10、座標系パラメータ格納
部11、ワーク座標系軸方向格納部12のそれぞれに与
えることができる。
Force control parameter storage unit 14, user program storage unit 13, position parameter storage unit 10, coordinate system parameter storage unit 11, work coordinate system axis direction storage unit 12.
In each of the cases, when an operator of the user wants the robot mechanism 1 including the robot control device 5 to perform required work (work that requires position control and force control with respect to the operation of a work tool), By performing the teaching operation, data relating to each control parameter of force control and position control necessary for controlling the work and a necessary user program are stored. In the teaching operation by the operator, for example, a handy type teaching operation device 4 is used. The teaching operation device 4 includes an input function unit 4a for inputting a control command and a plurality of data using a program language.
A display function unit 4 having a predetermined display area and visually confirming the contents of control commands and the like input by the operator.
b. By using the teaching operation device 4, the robot mechanism 1 can imitate the work before the actual work.
Performs a trial operation, and stores data required for each section during the operation regarding a plurality of control parameters in the force control parameter storage unit 14 and the user program storage unit 1.
3, can be given to the position parameter storage unit 10, the coordinate system parameter storage unit 11, and the work coordinate system axis direction storage unit 12, respectively.

【0037】また位置パラメータ転送部15、力制御パ
ラメータ転送部17、ワーク座標系を計算するワーク座
標系演算部18、力制御演算前処理部19、力制御演算
部20は、制御を実行する時に、ユーザプログラム格納
部13からユーザプログラムを取り出してこれを解析す
るユーザプログラム解析部16で得られたユーザプログ
ラムに基づいて起動される。
The position parameter transfer unit 15, the force control parameter transfer unit 17, the work coordinate system calculation unit 18 for calculating the work coordinate system, the force control calculation pre-processing unit 19, and the force control calculation unit 20 are used when executing control. The program is started based on the user program obtained by the user program analysis unit 16 which takes out the user program from the user program storage unit 13 and analyzes it.

【0038】次に教示・設定部の各部の構成および作用
について詳述する。
Next, the configuration and operation of each section of the teaching / setting section will be described in detail.

【0039】力制御パラメータ格納部14に格納される
パラメータには、例えば図4に示すように複数の各種制
御パラメータの設定値が含まれる。これらの制御パラメ
ータは、力制御座標系指定、送り速度、力目標値、仮想
ばね定数、仮想粘性係数、力の不感帯である。送り速
度、力目標値、仮想ばね定数、仮想粘性係数、力の不感
帯には、それぞれ設定値a,b,c,d,eが与えられ
ている。これらの制御パラメータは、力制御方式として
例えば特開昭61−7905号に記載された仮想コンプ
ライアンス制御を使用した場合の例を示している。送り
速度、力目標値、仮想ばね定数、仮想粘性係数の各制御
パラメータと制御状態のイメージとの関係を図に示す
と、図5のようになる。図5において21は作業工具、
22はロボット機構1のアーム先端部であるロボット手
首、23はワークである。
The parameters stored in the force control parameter storage section 14 include, for example, set values of a plurality of various control parameters as shown in FIG. These control parameters are a force control coordinate system designation, a feed rate, a force target value, a virtual spring constant, a virtual viscosity coefficient, and a force dead zone. Set values a, b, c, d, and e are given to the feed speed, the target force value, the virtual spring constant, the virtual viscosity coefficient, and the dead zone of the force, respectively. These control parameters show an example where virtual compliance control described in, for example, JP-A-61-7905 is used as a force control method. FIG. 5 shows the relationship between the control parameters of the feed speed, the target force value, the virtual spring constant, and the virtual viscosity coefficient and the image of the control state. In FIG. 5, 21 is a work tool,
Reference numeral 22 denotes a robot wrist, which is an arm tip of the robot mechanism 1, and reference numeral 23 denotes a work.

【0040】次に各力制御パラメータについて説明す
る。「力制御座標系指定」とは、力制御を行う基準座標
系を指定するものである。送り速度、力目標値、仮想ば
ね定数、仮想粘性係数、力の不感帯の各制御パラメータ
は、基準座標系の各軸方向ごとに設定される。力制御座
標系としては、ロボット機構1の本体部を設置するベー
スに設定されるベース座標系、作業工具(作業ツールと
もいう)に設定されるツール座標系、予め任意の箇所に
対応して設定することができる任意座標系、および本発
明によるワーク座標系のうちいずれかが適宜に選択され
る。「送り速度」は作業工具21を予め教示した方向に
移動させるための速度である。この場合「教示した方
向」は位置パラメータ格納部10に格納された位置デー
タによって決定される移動方向である。「力目標値」は
作業工具21をワーク23に押し付けるための目標値で
ある。また、「仮想ばね定数」と「仮想粘性係数」は、
仮想コンプライアンス制御における特徴的なパラメータ
であり、図5に示されるごとくそれぞれソフトウェアで
実現されるばねおよびダンパである。「力の不感帯」
は、動作の安定性を確保するために力センサ3からの力
データに対して不感帯を設定するためのものである。
Next, each force control parameter will be described. “Force control coordinate system designation” designates a reference coordinate system for performing force control. Each control parameter of the feed speed, the target force value, the virtual spring constant, the virtual viscosity coefficient, and the dead zone of the force is set for each axis direction of the reference coordinate system. As the force control coordinate system, a base coordinate system set on a base on which the main body of the robot mechanism 1 is installed, a tool coordinate system set on a work tool (also referred to as a work tool), set in advance corresponding to an arbitrary position Any one of the arbitrary coordinate system that can be performed and the work coordinate system according to the present invention is appropriately selected. “Feed speed” is a speed for moving the power tool 21 in the direction taught in advance. In this case, the “taught direction” is a moving direction determined by the position data stored in the position parameter storage unit 10. The “force target value” is a target value for pressing the power tool 21 against the work 23. The “virtual spring constant” and “virtual viscosity coefficient” are
These are characteristic parameters in virtual compliance control, and are a spring and a damper realized by software, respectively, as shown in FIG. "The dead zone of power"
Is for setting a dead zone for the force data from the force sensor 3 in order to secure the stability of the operation.

【0041】座標系パラメータ格納部11では、ロボッ
ト機構1の動作に必要な数種類の座標系のデータが格納
されている。座標系のデータには、前述の通り、ロボッ
ト機構1のベースに固定されたベース座標系、ロボット
機構1のアーム先部(リスト部)に装着された作業工具
に固定されロボット機構1の動作に伴って位置と向きが
変化するツール座標系、ユーザが任意に設定できる任意
座標系など、が含まれる。
The coordinate system parameter storage section 11 stores data of several types of coordinate systems necessary for the operation of the robot mechanism 1. As described above, the coordinate system data includes the base coordinate system fixed to the base of the robot mechanism 1 and the work tool fixed to the arm tip (list section) of the robot mechanism 1 for controlling the operation of the robot mechanism 1. A tool coordinate system in which the position and orientation change accordingly, an arbitrary coordinate system that can be arbitrarily set by the user, and the like are included.

【0042】またワーク座標系軸方向格納部12は、図
6に示すようにワーク座標系の各座標軸x,y,zの中
の1つの軸方向の大体の向きをベクトル〈k〉として格
納する。この〈k〉はユーザによって任意に設定され
る。図6の例では、ワーク座標系のz軸の大体の方向を
〈k〉としている。すなわち、図6のようにワーク座標
系のz軸の方向はワークに沿って変化するが、この大体
の方向を〈k〉で与える。〈k〉はユーザにより任意に
設定されるが、教示作業をさらに簡単にするために、本
実施例では座標系パラメータ格納部11に格納された座
標軸方向ベクトルの1つを用いている。ワーク座標系軸
方向格納部12は、ワーク座標系を演算する上での便宜
を考慮して〈k〉を出力する。このように、ワーク座標
系軸方向格納部12では、ワーク座標系のx,y,zの
各軸のうち1軸の指定情報と〈k〉とを指定するため
に、座標系パラメータ格納部11に格納された座標系の
内のどの座標系のどの軸を〈k〉として指定するかを設
定する。以後の説明ではこれらの設定値を説明する便宜
上、ワーク座標系のz軸の方向を計算するための〈k〉
ベクトルを、ベース座標系のz軸方向ベクトルで与える
と仮定する。
As shown in FIG. 6, the work coordinate system axis direction storage unit 12 stores the general direction of one of the coordinate axes x, y, and z of the work coordinate system as a vector <k>. . This <k> is arbitrarily set by the user. In the example of FIG. 6, the approximate direction of the z-axis of the work coordinate system is <k>. That is, as shown in FIG.
Although the direction of the z-axis of the system changes along the workpiece, this
Is given by <k>. <K> can be arbitrarily set by the user.
It is set, but to make teaching work even easier,
In the embodiment, the coordinates stored in the coordinate system parameter storage unit 11 are set.
One of the reference axis direction vectors is used. The work coordinate system axis direction storage unit 12 outputs <k> in consideration of convenience in calculating the work coordinate system. As described above, the work coordinate system axis direction storage unit 12 specifies the coordinate information of one of the x, y, and z axes of the work coordinate system and <k> in order to specify the coordinate system parameter storage unit 11. And which axis of which coordinate system among the coordinate systems stored in is designated as <k>. In the following description, for convenience of describing these set values, <k> for calculating the direction of the z-axis of the workpiece coordinate system will be described.
Assume that the vector is given by a vector in the z-axis direction of the base coordinate system.

【0043】位置パラメータ格納部10は、作業中にお
いてロボット機構1の動作に必要とされる当該機構部分
の各部および作業工具の位置または姿勢等のデータを格
納する部分である。位置パラメータ格納部10は、従来
の位置制御ロボットで備えられた教示位置データの格納
部分と同じ構成を有するものであり、既知のものであ
る。本発明に係るロボット制御装置は、力制御に基づき
作業を行うロボットシステムに適用されるものである
が、力制御と併せて位置制御も必要であるため、この位
置パラメータ格納部10を当然のことながら備えてい
る。
The position parameter storage section 10 is a section for storing data such as the position or posture of each part of the mechanical part and the work tool required for the operation of the robot mechanism 1 during work. The position parameter storage unit 10 has the same configuration as the storage unit of the teaching position data provided in the conventional position control robot, and is known. The robot control device according to the present invention is applied to a robot system that performs work based on force control. However, since position control is required in addition to force control, the position parameter storage unit While preparing.

【0044】次いで、制御実行部の各部の構成および作
用について説明する。この制御実行部は、教示・設定部
を利用して教示されかつ格納された作業に関するプログ
ラムおよび力等の設定値を用いて再生動作を行い、作業
を実際に実施する機能を有するものである。
Next, the configuration and operation of each unit of the control execution unit will be described. The control execution unit has a function of performing a reproducing operation using a set value such as force and a program relating to the work taught and stored using the teaching / setting unit, and actually performing the work.

【0045】ユーザプログラム解析部16は、ユーザプ
ログラム格納部13に格納されたユーザプログラムを読
取り、これを解読して必要な処理を起動する。例えば、
解読したユーザプログラムに位置に関する記述が含まれ
ているときには、位置パラメータ転送部15を起動し、
必要な位置データを位置パラメータ格納部10から取り
出し、力制御演算前処理部19に転送する。また解読し
たユーザプログラムに力制御パラメータに関する記述が
含まれているときには、力制御パラメータ転送部17を
起動し、必要な力制御パラメータを力制御演算前処理部
19に送給する。この場合に力制御パラメータの力制御
座標系指定においてワーク座標系が指定されているとき
には、ワーク座標系演算部18を起動する。
The user program analysis section 16 reads the user program stored in the user program storage section 13, decodes the user program, and starts necessary processing. For example,
When the decrypted user program includes a description about the position, the position parameter transfer unit 15 is started,
Necessary position data is extracted from the position parameter storage unit 10 and transferred to the force control calculation preprocessing unit 19. When the decoded user program includes a description related to the force control parameter, the control unit 17 activates the force control parameter transfer unit 17 and sends the necessary force control parameter to the force control calculation preprocessing unit 19. In this case, when the work coordinate system is designated in the force control coordinate system designation of the force control parameter, the work coordinate system calculation unit 18 is started.

【0046】次にワーク座標系演算部18における処理
の流れを、図8のフローチャートを参照して説明する。
Next, the flow of processing in the work coordinate system calculation unit 18 will be described with reference to the flowchart of FIG.

【0047】処理が開始されると、まずワーク座標系軸
方向格納部12を参照する(ステップS1)。ここで設
定値が、ワーク座標系のz軸方向をベース座標系のz軸
方向とするように指示されていたと仮定する。この内容
に基づいて、座標系パラメータ格納部11からベース座
標系のz軸方向ベクトルを取得し、これを〈k〉とする
(ステップS2)。次に位置パラメータ格納部10から
ロボット機構1の動作に関する位置目標値を位置パラメ
ータ転送部15を通して取得し、これをPn とする(ス
テップS3)。位置パラメータとしては、位置と姿勢の
目標値が存在するが、この場合には位置目標値のみを取
得すればよい。さらに、ここで前回取得した位置パラメ
ータをPn-1 と仮定する(ステップS3)。このとき、
ワーク座標系演算部18を起動した直後の段階では、P
n-1 を定義できないので、Pn-1を現在位置としてもよ
い。次にPn ,Pn-1 を用いてワーク座標系のx軸方向
の単位ベクトル〈n〉を次式により計算する(ステップ
S4)。
When the process is started, first, the work coordinate system axis direction storage unit 12 is referred to (step S1). Here, it is assumed that the set value has been instructed to set the z-axis direction of the work coordinate system to the z-axis direction of the base coordinate system. Based on the contents, a z-axis direction vector of the base coordinate system is acquired from the coordinate system parameter storage unit 11, and is set as <k> (step S2). Next, a position target value relating to the operation of the robot mechanism 1 is acquired from the position parameter storage unit 10 through the position parameter transfer unit 15, and is set as Pn (step S3). As the position parameters, there are target values of the position and the posture. In this case, only the position target values need to be acquired. Further, it is assumed here that the previously acquired position parameter is Pn-1 (step S3). At this time,
Immediately after the work coordinate system operation unit 18 is started, P
Since n-1 cannot be defined, Pn-1 may be used as the current position. Next, a unit vector <n> in the x-axis direction of the work coordinate system is calculated by the following equation using Pn and Pn-1 (step S4).

【0048】[0048]

【数6】 (Equation 6)

【0049】次に、y軸方向の単位ベクトル〈o〉を計
算する。このとき、〈n〉ベクトルが〈k〉ベクトルと
平行であるとすると、計算ができないので、まず平行で
あるか否かを次式によって判定する(ステップS5)。
Next, a unit vector <o> in the y-axis direction is calculated. At this time, if it is assumed that the <n> vector is parallel to the <k> vector, the calculation cannot be performed. Therefore, first, whether or not the vector is parallel is determined by the following equation (step S5).

【0050】[0050]

【数7】〈n〉・〈k〉<α ただし、ここで記号「・」は内積を意味し、かつ|α|<
1である。
<N> · <k><α where the symbol “•” means an inner product and | α | <
It is one.

【0051】上記の条件が満足されたときには、〈o〉
とz軸方向の単位ベクトル〈a〉を次式によって演算す
る(ステップS6,S7)。
When the above condition is satisfied, <o>
And the unit vector <a> in the z-axis direction are calculated by the following equations (steps S6 and S7).

【0052】[0052]

【数8】 〈o〉=〈k〉×〈n〉 〈a〉=〈n〉×〈o〉 ただし、記号「×」は外積を意味する。この演算の結果
を説明すると、ワーク座標系の各軸方向は次のようにな
る。まずPn−1からPnへの移動方向がx軸となり、
z軸の大体の方向として与えられた〈k〉とx軸方向ベ
クトル〈n〉とが張る平面内でx軸に垂直な方向がz軸
となり、これらx,zの両軸に垂直な方向がy軸とな
る。
[Expression 8] <o> = <k> × <n><a> = <n> × <o> Here, the symbol “x” means an outer product. The result of this operation
To explain, each axis direction of the workpiece coordinate system is as follows.
You. First, the moving direction from Pn-1 to Pn is the x-axis,
<k> given as the approximate direction of the z-axis and the x-axis direction
The direction perpendicular to the x-axis in the plane where the vector <n> extends is the z-axis
And the direction perpendicular to these x and z axes is the y axis.
You.

【0053】上記(数7)の条件を満足しないときに
は、例外処理が行われる(ステップS8)。例外処理の
内容としては、ロボット全体の動作を停止させ、ユーザ
に設定が不適切であることを知らせたり、前回算出した
〈n〉,〈o〉,〈a〉の各単位ベクトルを使う方法
や、ワーク座標系軸方向格納部12で指定された座標系
(この例ではベース座標系)のx,y,zの各方向の単
位ベクトルを使用する方法等が考えられ、適宜に使い分
けることができる。演算が終了し、その結果求められた
〈n〉,〈o〉,〈a〉の各ベクトルは、ワーク座標系
の座標データとして力制御演算前処理部19に転送され
る(ステップS9)。
When the condition of the above (Equation 7) is not satisfied, an exception process is performed (step S8). Examples of exception processing include stopping the operation of the entire robot, notifying the user that the setting is inappropriate, and using the previously calculated <n>, <o>, and <a> unit vectors. A method using unit vectors in the x, y, and z directions of the coordinate system (the base coordinate system in this example) designated by the work coordinate system axis direction storage unit 12 can be used, and can be appropriately used. . The calculation is completed, and the resulting <n>, <o>, and <a> vectors are transferred to the force control calculation preprocessing unit 19 as coordinate data of the work coordinate system (step S9).

【0054】上記の例では位置パラメータとして、位置
パラメータ格納部10に格納された教示データをそのま
ま使用したが、位置パラメータ格納部10に格納された
位置データに基づいて演算処理で作成されたデータ、あ
るいは補間処理を行ったデータ、ロボット制御装置5の
外からワークステーション等により通信で送られてくる
データを使用することが可能である。上記の処理は、起
動後、一定サンプリング周期ごとに実行され、終了命令
が来るまで繰り返される。
In the above example, the teaching data stored in the position parameter storage unit 10 is used as it is as the position parameter. However, the data created by the arithmetic processing based on the position data stored in the position parameter storage unit 10, Alternatively, it is possible to use data that has been subjected to interpolation processing, and data that is sent by communication from a workstation or the like from outside the robot control device 5. The above process is executed at regular sampling intervals after startup, and is repeated until an end command is received.

【0055】図6に示された形状を有するワーク23に
おいて、符号24で示す軌道に沿って業工具21が移
動しながら例えば研磨作業を行う場合に、位置P001〜P0
10のそれぞれで、各位置の位置パラメータを利用して前
述の計算(図8のフローチャート)を実行し、〈n〉,
〈o〉,〈a〉を求める。図7の(A),(B)で明ら
かなように、前記実施例のロボット制御方法によれば、
例えば位置P002の座標系とP007の座標系のそれぞれで同
じ向きを向いており、常に力がワーク23に向って作用
する。
[0055] In the work 23 having a shape shown in FIG. 6, when the working tool 21 along a trajectory indicated by reference numeral 24 is performing, for example, grinding work while moving, the position P001~P0
In each of 10, the above-described calculation (the flowchart of FIG. 8) is executed using the position parameter of each position, and <n>,
<O> and <a> are obtained. As apparent from FIGS. 7A and 7B, according to the robot control method of the above embodiment,
For example, the coordinate system of the position P002 and the coordinate system of P007 face the same direction, and a force always acts on the work 23.

【0056】力制御演算前処理部19は、与えられた位
置パラメータ、力制御を実行するための力制御パラメー
タ、座標系に関する制御パラメータを、力制御演算部2
0にて使用できるフォーマットに変換するための処理を
実行する。
The force control calculation preprocessing unit 19 converts the given position parameters, force control parameters for executing force control, and control parameters related to the coordinate system into the force control calculation unit 2.
Perform processing to convert to a format that can be used with 0.

【0057】上記の力制御演算部20の構成は、仮想コ
ンプライアンス制御を実行できる制御装置であり、具体
的には、例えば図2に示すような構成を有している。力
制御演算前処理部19で所定のフォーマットに変換され
た各制御パラメータは、力制御演算部20に設けられた
それぞれのパラメータ入力部にセットされる。パラメー
タ入力部としては、図2に示されるように、力制御パラ
メータに対応した力目標値入力部40、力の不感帯入力
部41、仮想粘性係数入力部42、仮想ばね定数入力部
43、座標系入力部44、さらに位置パラメータに対応
する位置目標値入力部45が設けられている。座標系入
力部44にセットされた力制御座標系指定のパラメータ
は、座標変換処理部46,47,48のそれぞれに処理
パラメータとして与えられる。
The configuration of the above-described force control calculation section 20 is a control device capable of executing virtual compliance control, and specifically has a configuration as shown in FIG. 2, for example. Each control parameter converted into a predetermined format by the force control calculation preprocessing unit 19 is set in each parameter input unit provided in the force control calculation unit 20. As shown in FIG. 2, as the parameter input unit, a force target value input unit 40 corresponding to the force control parameter, a force dead zone input unit 41, a virtual viscosity coefficient input unit 42, a virtual spring constant input unit 43, a coordinate system An input unit 44 and a position target value input unit 45 corresponding to the position parameter are provided. The parameter for specifying the force control coordinate system set in the coordinate system input unit 44 is given as a processing parameter to each of the coordinate conversion processing units 46, 47, and 48.

【0058】力制御演算部20の構成と動作を概略的に
説明する。力目標値入力部40の力目標値は減算器49
に与えられ、ここで力センサ3から与えられる実際の力
データとの間で差が求められる。ただし、減算器49に
至る前の段階で、力センサ3で検出された力データは、
力演算部50で重力補償され、座標変換処理部48で力
制御座標系に変換される。減算器49で求められた差信
号は、不感帯入力部41にセットされた不感帯幅に基づ
いて動作条件が設定された不感帯処理部51で処理さ
れ、減算器52に入力される。
The configuration and operation of the force control calculation section 20 will be schematically described. The target force value of the target force input unit 40 is subtracted by a subtractor 49.
Where the difference between the actual force data and the actual force data from the force sensor 3 is determined. However, before reaching the subtractor 49, the force data detected by the force sensor 3 is:
Gravity compensation is performed by the force calculation unit 50, and the coordinate is converted into a force control coordinate system by the coordinate conversion processing unit 48. The difference signal obtained by the subtractor 49 is processed by the dead zone processing unit 51 in which the operating condition is set based on the dead zone width set in the dead zone input unit 41, and is input to the subtracter 52.

【0059】位置目標値入力部45にセットされた位置
パラメータは減算器53に与えられ、ここで位置演算部
54で算出された作業工具の現在位置との差が求められ
る。位置演算部54には、ロボット機構1の各可動部す
なわち各関節部に装着されたエンコーダ55からの信号
をカウンタ62で積算した角度データが位置信号として
与えられ、ここでキネマティックス演算により現在位置
を算出する。減算器53で求められた差のデータは、座
標変換処理部46によって力制御座標系に変換される。
この位置の差のデータに基づき、仮想ばね定数入力部4
3にセットされた仮想ばね定数を用いる仮想ばね力演算
部56で、ばね力が算出される。得られたばね力は、減
算器52に入力される。減算器52で得られた差の出力
は、仮想粘性係数入力部42にセットされた仮想粘性係
数に基づき仮想粘性演算部57で処理される。仮想粘性
演算部57の出力は、座標変換処理部47で基準となる
座標系に変換され、さらにモータ速度演算部58で、各
関節部に配置される駆動装置であるモータ59の回転速
度が演算される。演算されたモータ回転速度の制御指令
値は、サーボアンプ60を介してロボット機構1の各モ
ータ59に与えられ、その回転動作が制御される。以上
のロボット制御装置5の制御実行部の構成は、予め定め
られた仮想コンプライアンス制御を規定する方程式を満
足する解を求めるように構成されている。この構成で得
られた解を、各制御パラメータ入力部にセットされた複
数の制御パラメータで決められた制御条件を満たすため
の制御指令として、ロボット機構1の駆動装置に与え、
ロボット機構1に動作を与える。こうして、ユーザの教
示・設定操作によって指定された複数の制御パラメータ
に基づき、ロボット機構1を動作させることができる。
The position parameter set in the position target value input section 45 is given to a subtractor 53, where the difference from the current position of the work tool calculated by the position calculation section 54 is obtained. The position calculation unit 54 receives, as a position signal, angle data obtained by accumulating a signal from an encoder 55 attached to each movable unit, that is, each joint unit of the robot mechanism 1 by a counter 62, and calculates the current position by kinematics calculation. Calculate the position. The difference data obtained by the subtractor 53 is converted into a force control coordinate system by a coordinate conversion processing unit 46.
Based on the data of the difference between the positions, the virtual spring constant input unit 4
The spring force is calculated by the virtual spring force calculator 56 using the virtual spring constant set to 3. The obtained spring force is input to the subtractor 52. The output of the difference obtained by the subtractor 52 is processed by the virtual viscosity calculation unit 57 based on the virtual viscosity coefficient set in the virtual viscosity coefficient input unit 42. The output of the virtual viscosity calculation unit 57 is converted into a reference coordinate system by a coordinate conversion processing unit 47, and the rotation speed of a motor 59, which is a driving device disposed at each joint, is calculated by a motor speed calculation unit 58. Is done. The calculated control command value of the motor rotation speed is given to each motor 59 of the robot mechanism 1 via the servo amplifier 60, and its rotation operation is controlled. The configuration of the control execution unit of the robot control device 5 described above is configured to obtain a solution that satisfies an equation that defines a predetermined virtual compliance control. The solution obtained by this configuration is given to the drive device of the robot mechanism 1 as a control command for satisfying a control condition determined by a plurality of control parameters set in each control parameter input unit,
An operation is given to the robot mechanism 1. Thus, the robot mechanism 1 can be operated based on the plurality of control parameters specified by the user's teaching / setting operation.

【0060】またワーク座標系軸方向としてのツール座
標系のx,y,zの各軸のどれかが指定されたときに
は、ツール座標系の現在値が必要になるために、図2に
示したツール座標系データ出力部61より、図1に示さ
れるように力制御演算前処理部19を通して座標系パラ
メータ格納部11に対し随時格納データが更新されるよ
うにしている。
When any one of the x, y, and z axes of the tool coordinate system as the workpiece coordinate system axis direction is designated, the current value of the tool coordinate system is required. As shown in FIG. 1, the tool coordinate system data output unit 61 updates the stored data in the coordinate system parameter storage unit 11 through the force control calculation preprocessing unit 19 as needed.

【0061】図2の構成では、前述のごとく、ロボット
機構1の各可動部(関節部)に配置された駆動装置とし
てモータ59、および動作量を検出するエンコーダ55
およびカウンタ62を明示している。
In the configuration shown in FIG. 2, as described above, the motor 59 and the encoder 55 for detecting the amount of operation are provided as driving devices disposed at each movable part (joint part) of the robot mechanism 1.
And the counter 62 are explicitly shown.

【0062】図9および図10を参照して、本発明に係
るロボット制御方法によるワーク座標系の生成例を示
す。両図共にワーク座標系の軸方向としてユーザがベー
ス座標系のz軸を指定したと仮定している。図9の場合
には、ワーク23の被加工部においてP001〜P005で与え
た位置パラメータに基づいてy軸方向がワーク23の内
側を向いたままz軸がワーク23の法線方向に変化して
いるのが分かる。図10の場合には、ワーク23におい
てP001〜P007で与えられた位置パラメータによりy軸方
向はワーク23の側面23aに対して法線方向を向き、
z軸方向はワーク23の斜面12bに対して法線方向を
向いていることが分かる。
Referring to FIGS. 9 and 10, an example of generating a workpiece coordinate system by the robot control method according to the present invention will be described. In both figures, it is assumed that the user has designated the z-axis of the base coordinate system as the axial direction of the work coordinate system. In the case of FIG. 9, the z-axis changes in the normal direction of the work 23 while the y-axis direction faces the inside of the work 23 based on the position parameters given in P001 to P005 in the processed portion of the work 23. You can see that In the case of FIG. 10, the y-axis direction is oriented in the normal direction to the side surface 23a of the work 23 by the position parameters given by P001 to P007 in the work 23,
It can be seen that the z-axis direction is normal to the slope 12b of the work 23.

【0063】上記のごとくワーク座標系を設定すること
によって力制御を行えば、図9の例の場合にはy軸の正
方向に一定の力目標値を設定し、図10の例の場合には
y軸の負方向に一定の力目標値を設定するだけで、それ
ぞれワークの各被加工部に作業工具を常に押し付けるこ
とができ、簡単な設定で精度の高い力制御を行うことが
できる。
If force control is performed by setting the work coordinate system as described above, a constant force target value is set in the positive direction of the y-axis in the case of FIG. By simply setting a constant force target value in the negative direction of the y-axis, the work tool can always be pressed against each workpiece of the work, and highly accurate force control can be performed with simple settings.

【0064】またワーク座標系の生成精度を高めるに
は、教示によってワークの形状を細かく教えたり、円弧
やスプラインや直線等の補間を教示データ間に施し、こ
の補間後のデータでワーク座標系を生成するようにすれ
ばよい。
In order to improve the accuracy of generating the work coordinate system, the work shape is finely taught by teaching, or an interpolation of a circular arc, a spline, a straight line, or the like is performed between the teaching data. What is necessary is just to generate.

【0065】次に、図3を参照して、ロボット制御装置
5を実現するコンピュータ構成およびその動作を説明す
る。
Next, with reference to FIG. 3, a computer configuration for realizing the robot controller 5 and its operation will be described.

【0066】力センサ3が出力した検出値は力入力装置
70に入力される。力入力装置70は、力センサ3の出
力がアナログ信号であるときにはA/D変換器で構成さ
れ、前記出力がシリアル通信(RS422,RS232
−C等)であるときには通信に適したレシーバで構成さ
れる。力入力装置70に取り込まれたデータは、バス7
1を通してRAM72に蓄えられる。各関節部に対応し
て配置されたエンコーダ55の発生する各軸の角度デー
タは、カウンタ62で積算され、バス71を介してRA
M72に蓄えられる。パラメータ入力装置73は、力制
御に関する制御パラメータを入力する装置であり、入力
された制御パラメータはバス71を通してRAM72に
蓄えられる。また位置パラメータについては、パラメー
タ入力装置73で、指示した時の位置をRAM72に蓄
えるように構成される。こうして、RAM72には、位
置パラメータ格納部10、ユーザプログラム格納部1
3、力制御パラメータ格納部14、座標系パラメータ格
納部11、ワーク座標系軸方向格納部12等が形成さ
れ、さらにCPU74における演算処理に必要とされる
中間パラメータが蓄えられる。CPU74で実行される
各種の処理プログラムは、ROM75に格納される。
The detection value output by the force sensor 3 is input to the force input device 70. The force input device 70 is constituted by an A / D converter when the output of the force sensor 3 is an analog signal, and the output is a serial communication (RS422, RS232).
-C etc.), it is configured with a receiver suitable for communication. The data input to the force input device 70 is transmitted to the bus 7
1 and stored in the RAM 72. The angle data of each axis generated by the encoder 55 arranged corresponding to each joint is integrated by the counter 62,
Stored in M72. The parameter input device 73 is a device for inputting control parameters relating to force control. The input control parameters are stored in the RAM 72 via the bus 71. As for the position parameter, the parameter input device 73 is configured to store the position when instructed in the RAM 72. Thus, the RAM 72 has the position parameter storage unit 10 and the user program storage unit 1
3. A force control parameter storage unit 14, a coordinate system parameter storage unit 11, a work coordinate system axis direction storage unit 12, and the like are formed. Further, intermediate parameters required for arithmetic processing in the CPU 74 are stored. Various processing programs executed by the CPU 74 are stored in the ROM 75.

【0067】教示・設定された複数の制御パラメータを
用いて、力制御による作業をロボット機構1に行わせる
とき、CPU74は、ユーザプログラム、各作業区間に
対応して決められた制御パラメータ、位置制御パラメー
タを読み出して制御実行部にセットし、力センサ4およ
びエンコーダ55の検出信号を取り込み、取り込んだ力
データを補償し、設定された制御目標値と比較しながら
動作指令値を算出する。動作指令値は、動作指令値出力
装置76から出力され、サーボアンプ60を介して、ロ
ボット機構1の関節部に配置された所要のモータ59に
供給される。こうして、CPU74はロボット制御装置
5としての機能を実現する。
When causing the robot mechanism 1 to perform a force control operation using a plurality of taught and set control parameters, the CPU 74 executes a user program, control parameters determined corresponding to each work section, and position control. The parameters are read out and set in the control execution section, the detection signals of the force sensor 4 and the encoder 55 are taken in, the taken-in force data is compensated, and the operation command value is calculated while comparing with the set control target value. The operation command value is output from the operation command value output device 76 and supplied via the servo amplifier 60 to a required motor 59 disposed at a joint of the robot mechanism 1. Thus, the CPU 74 implements the function as the robot control device 5.

【0068】[0068]

【発明の効果】以上の説明で明らかなように本発明によ
れば、ユーザによる簡単な設定に基づいて加工しようと
するワークの形状を表現する座標系を計算で自動的に設
定することができると共に、この計算では必要なデータ
の数や演算量が少ないためにリアルタイムな処理に適し
ており、力制御を必要とする作業において、力をかける
方向等の制御内容に関しワークの形状に即した実際的な
制御および精度の高い制御を可能にするものである。
As apparent from the above description, according to the present invention, a coordinate system expressing the shape of a workpiece to be machined can be automatically set by calculation based on simple settings by a user. In addition, this calculation is suitable for real-time processing because the number of necessary data and the amount of calculation are small, and in the work that requires force control, the actual control according to the shape of the work with respect to the control contents such as the direction of applying force This enables efficient control and highly accurate control.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明に係るロボット制御装置の構成を示すブ
ロック図である。
FIG. 1 is a block diagram illustrating a configuration of a robot control device according to the present invention.

【図2】力制御演算部の内部構成を示すブロック回路図
である。
FIG. 2 is a block circuit diagram showing an internal configuration of a force control calculation unit.

【図3】本発明に係るロボット制御装置をコンピュータ
システムで実現するブロック図である。
FIG. 3 is a block diagram for realizing the robot control device according to the present invention by a computer system.

【図4】複数の力制御パラメータの内容を表で示した図
である。
FIG. 4 is a table showing the contents of a plurality of force control parameters in a table.

【図5】作業のイメージと各制御パラメータとの対応関
係を示す図である。
FIG. 5 is a diagram showing a correspondence relationship between a work image and each control parameter.

【図6】ワークにおける目標軌道と各位置で生成された
座標系を示す図である。
FIG. 6 is a diagram showing a target trajectory on a workpiece and a coordinate system generated at each position.

【図7】目標軌道における2つの位置で生成される座標
系を示す図である。
FIG. 7 is a diagram showing a coordinate system generated at two positions on a target trajectory.

【図8】本発明に係るロボット制御方法を説明するため
のフローチャートである。
FIG. 8 is a flowchart illustrating a robot control method according to the present invention.

【図9】本発明に係る座標系設定方法で生成された座標
系の一例を示す図である。
FIG. 9 is a diagram illustrating an example of a coordinate system generated by the coordinate system setting method according to the present invention.

【図10】本発明に係る座標系設定方法で生成された座
標系の他の例を示す図である。
FIG. 10 is a diagram showing another example of a coordinate system generated by the coordinate system setting method according to the present invention.

【図11】目標軌道において従来の方法で生成された座
標系の例を示す図である。
FIG. 11 is a diagram showing an example of a coordinate system generated by a conventional method on a target trajectory.

【図12】従来の方法に基づき目標軌道における2つの
位置で生成される座標系を示す図である。
FIG. 12 is a diagram showing a coordinate system generated at two positions on a target trajectory based on a conventional method.

【符号の説明】[Explanation of symbols]

1 ロボット機構 3 力センサ 4 教示操作器 5 ロボット制御装置 10 位置パラメータ格納部 11 座標系パラメータ格納部 12 ワーク座標系軸方向格納部 13 ユーザプログラム格納部 14 力制御パラメータ格納部 16 ユーザプログラム解析部 18 ワーク座標系演算部 19 力制御演算前処理部 20 力制御演算部 21 作業工具 23 ワーク DESCRIPTION OF SYMBOLS 1 Robot mechanism 3 Force sensor 4 Teach operating device 5 Robot control device 10 Position parameter storage unit 11 Coordinate system parameter storage unit 12 Work coordinate system axis direction storage unit 13 User program storage unit 14 Force control parameter storage unit 16 User program analysis unit 18 Work coordinate system calculation unit 19 Force control calculation preprocessing unit 20 Force control calculation unit 21 Work tool 23 Work

フロントページの続き (72)発明者 猿楽 信一 千葉県習志野市東習志野7丁目1番1号 日立京葉エンジニアリング株式会社内 (56)参考文献 特開 平3−104579(JP,A) 特開 平1−222315(JP,A) 特開 平3−262009(JP,A) 特開 平5−150837(JP,A) 特開 平3−240105(JP,A) (58)調査した分野(Int.Cl.7,DB名) B25J 13/00 G05B 19/18 G05D 3/12 305 Continuation of the front page (72) Inventor: Shinichi Saruga 7-1-1, Higashi-Narashino, Narashino-shi, Chiba Hitachi Keiyo Engineering Co., Ltd. (56) References JP-A-3-104579 (JP, A) JP-A-1- 222315 (JP, A) JP-A-3-262009 (JP, A) JP-A-5-150837 (JP, A) JP-A-3-240105 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) B25J 13/00 G05B 19/18 G05D 3/12 305

Claims (9)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 多自由度を有する作業用ロボットの先端
の作業工具を制御する位置と力のロボット制御方法にお
いて、前記作業工具をワークの被加工部に押し付ける押付け方
向が大体の方向として設定され、 大体の方向として任意
に決定された前記押付け方向をワーク座標系の仮の1つ
の軸方向とし、前記作業工具の前記被加工部に対する目
標軌道を生成するための位置パラメータから演算した方
向をワーク座標系の主たる他の軸方向とし、前記仮の1
つの軸方向を前記主たる他の軸方向に直交するように修
正することにより、ワーク座標系の各軸方向へのベクト
ルを演算し、この各軸方向のベクトルを用いて前記作業
工具の位置と力の制御を行うことを特徴とするロボット
制御方法。
1. A method of controlling a position and a force of a work tool at a tip end of a work robot having a plurality of degrees of freedom, wherein the work tool is pressed against a workpiece to be processed.
Countercurrent is set as general direction, the pressing direction is arbitrarily determined as general direction as one axial direction of the temporary workpiece coordinate system, for generating a target trajectory for the processed portion of the work tool Calculated from position parameters
The direction is defined as the main other axis direction of the work coordinate system,
So that one axis direction is orthogonal to the other main axis direction.
A robot control method comprising: calculating a vector in each axis direction of a work coordinate system by correcting the position; and controlling the position and force of the power tool using the vector in each axis direction.
【請求項2】 請求項1記載のロボット制御方法におい
て、前記1つの軸方向のベクトルは、前記作業用ロボッ
トの設置空間に固定された座標系の内から1軸方向に関
して指定されることを特徴とするロボット制御方法。
2. The robot control method according to claim 1, wherein the vector in one axis direction is specified in one axis direction from a coordinate system fixed in a space where the work robot is installed. Robot control method.
【請求項3】 請求項1記載のロボット制御方法におい
て、前記1つの軸方向のベクトルは、ロボット機構の動
作に従って制御手段で演算され生成される座標系の内か
ら1軸方向に関して指定されることを特徴とするロボッ
ト制御方法。
3. The robot control method according to claim 1, wherein the one axis direction vector is designated in one axis direction from a coordinate system calculated and generated by the control means in accordance with the operation of the robot mechanism. A robot control method characterized by the above-mentioned.
【請求項4】 請求項1記載のロボット制御方法におい
て、前記位置パラメータは、前記作業用ロボットに対す
るユーザの教示によって記憶手段に格納された位置デー
タであることを特徴とするロボット制御方法。
4. The robot control method according to claim 1, wherein the position parameter is position data stored in a storage unit in accordance with a user's teaching to the work robot.
【請求項5】 請求項1記載のロボット制御方法におい
て、前記位置パラメータは、前記作業用ロボットに対す
るユーザの教示によって記憶手段に格納された位置デー
タに基づいて演算処理で作成されたデータであることを
特徴とするロボット制御方法。
5. The robot control method according to claim 1, wherein the position parameter is data created by an arithmetic process based on position data stored in a storage unit according to a user's teaching to the work robot. A robot control method characterized by the above-mentioned.
【請求項6】 請求項5記載のロボット制御方法におい
て、前記演算処理は補間演算であることを特徴とするロ
ボット制御方法。
6. The robot control method according to claim 5, wherein the arithmetic processing is an interpolation operation.
【請求項7】 多自由度を有する作業用ロボットを制御
する位置と力のロボット制御装置であって、前段に位置
パラメータ、ユーザプログラム、各種の力制御パラメー
タのそれぞれを格納する複数の格納部を含む教示・設定
部を備えかつ後段に力制御演算部を含む制御実行部を備
え、前記制御実行部のユーザプログラム解析部で前記教
示・設定部に設定された前記ユーザプログラムを読出し
て解析し、その命令内容に従って位置パラメータおよび
力制御パラメータを各格納部から前記制御実行部の各入
力部に転送するロボット制御装置において、 前記教示・設定部は、座標系に関するパラメータを格納
する座標系パラメータ格納部と、前記座標系のうちから
ワーク座標系に関し大体の方向として任意に決定された
押付け方向を仮の1つの軸方向として格納するワーク座
標系軸方向格納部とを含み、 前記制御実行部は、目標軌道を形成する各位置につい
て、前記位置パラメータ格納部と前記座標系パラメータ
格納部と前記ワーク座標系軸方向格納部の各出力を入力
し、前記位置パラメータと前記座標系に関するパラメー
タと前記ワーク座標系に関し大体の方向として任意に決
定された前記1つの軸方向とを用いて、ワーク座標系に
おける各軸方向ベクトルを演算し、このベクトルを制御
指令値として出力するワーク座標系演算部を含むことを
特徴とするロボット制御装置。
7. A position and force robot control device for controlling a working robot having multiple degrees of freedom, comprising a plurality of storage units for storing a position parameter, a user program, and various force control parameters in a preceding stage. A control execution unit including a teaching / setting unit including and a control control unit including a force control calculation unit at a subsequent stage, and reading and analyzing the user program set in the teaching / setting unit by a user program analysis unit of the control execution unit, In a robot controller for transferring a position parameter and a force control parameter from each storage unit to each input unit of the control execution unit according to the contents of the command, the teaching / setting unit stores a parameter related to a coordinate system. Arbitrarily determined as an approximate direction with respect to the work coordinate system from among the coordinate systems.
Pressing and a work coordinate system axis storage unit for storing a direction as one axial direction of the temporary, the control execution unit, for each position to form a target track, the position parameter storing unit and the coordinate system parameter storage unit And input each output of the work coordinate system axis direction storage unit, using the position parameters, the parameters related to the coordinate system, and the one axis direction arbitrarily determined as the approximate direction with respect to the work coordinate system, A robot control device including a work coordinate system calculation unit that calculates each axis direction vector in a work coordinate system and outputs the vector as a control command value.
【請求項8】 請求項7記載のロボット制御装置におい
て、前記ワーク座標系演算部は、前記ユーザプログラム
解析部から出力される指令に従って演算を行うことを特
徴とするロボット制御装置。
8. The robot control device according to claim 7, wherein the work coordinate system operation unit performs an operation in accordance with a command output from the user program analysis unit.
【請求項9】 請求項7記載のロボット制御装置におい
て、前記位置パラメータ格納部からの位置パラメータを
用いる代わりに、前記位置パラメータに所定の演算を施
して得られる位置に関するデータを用いることを特徴と
するロボット制御装置。
9. The robot control device according to claim 7, wherein, instead of using the position parameter from the position parameter storage unit, data on a position obtained by performing a predetermined operation on the position parameter is used. Robot control device.
JP18733393A 1993-06-30 1993-06-30 Robot control method and robot control device Expired - Fee Related JP3350687B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18733393A JP3350687B2 (en) 1993-06-30 1993-06-30 Robot control method and robot control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18733393A JP3350687B2 (en) 1993-06-30 1993-06-30 Robot control method and robot control device

Publications (2)

Publication Number Publication Date
JPH0780787A JPH0780787A (en) 1995-03-28
JP3350687B2 true JP3350687B2 (en) 2002-11-25

Family

ID=16204169

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18733393A Expired - Fee Related JP3350687B2 (en) 1993-06-30 1993-06-30 Robot control method and robot control device

Country Status (1)

Country Link
JP (1) JP3350687B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8364314B2 (en) * 2009-04-30 2013-01-29 GM Global Technology Operations LLC Method and apparatus for automatic control of a humanoid robot
JP6077814B2 (en) * 2012-10-10 2017-02-08 株式会社 ネオ NC data creation device and NC grinder

Also Published As

Publication number Publication date
JPH0780787A (en) 1995-03-28

Similar Documents

Publication Publication Date Title
EP0086950B1 (en) Method of controlling an industrial robot
US4698777A (en) Industrial robot circular arc control method for controlling the angle of a tool
US5020001A (en) Robot controller
JP2512099B2 (en) Robot motion teaching method and control device
JP2001157975A (en) Robot control device
US5646493A (en) Robot profile control method
JP3283650B2 (en) Robot controller
EP0465661B1 (en) Method and apparatus for controlling an articulated robot having redundancy
US4908559A (en) Robot control apparatus
JP3350687B2 (en) Robot control method and robot control device
JP2791030B2 (en) Curved copying controller for multi-degree-of-freedom work machine
JP3577124B2 (en) Method of acquiring mating data using force control robot
JPH05303425A (en) Direct teaching type robot
Muto et al. Teaching and control of robot contour-tracking using contact point detection
Baeten et al. Improving force controlled planar contour following using online eye-in-hand vision based feedforward
JPH07205068A (en) Coordinate system setting method of robot
JP3166981B2 (en) Deburring / polishing path teaching data generation method, deburring / polishing robot control method, and deburring / polishing robot system
JP3023432B2 (en) Robot controller
JP2718687B2 (en) Control device for position and force of multi-degree-of-freedom work machine
JP2691591B2 (en) Control system of force control robot
JP2922617B2 (en) Designation method of pressing force direction in force control robot
JP2682977B2 (en) Robot control method and device
JPH10244481A (en) Method and device for preparing robot operating program
JP3078884B2 (en) Copying control device
JPH05329787A (en) Work position detecting device for force control robot

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees