JP5144035B2 - Industrial robot tool position / posture control method and control system - Google Patents
Industrial robot tool position / posture control method and control system Download PDFInfo
- Publication number
- JP5144035B2 JP5144035B2 JP2006152202A JP2006152202A JP5144035B2 JP 5144035 B2 JP5144035 B2 JP 5144035B2 JP 2006152202 A JP2006152202 A JP 2006152202A JP 2006152202 A JP2006152202 A JP 2006152202A JP 5144035 B2 JP5144035 B2 JP 5144035B2
- Authority
- JP
- Japan
- Prior art keywords
- tool
- coordinate system
- start point
- robot
- target
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 30
- 238000013519 translation Methods 0.000 claims description 108
- 239000011159 matrix material Substances 0.000 claims description 64
- 230000001186 cumulative effect Effects 0.000 claims description 38
- 230000007246 mechanism Effects 0.000 claims description 10
- 238000001514 detection method Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 5
- 230000009466 transformation Effects 0.000 description 32
- 230000036544 posture Effects 0.000 description 31
- 238000003466 welding Methods 0.000 description 23
- 239000000872 buffer Substances 0.000 description 17
- 239000012636 effector Substances 0.000 description 9
- 238000005070 sampling Methods 0.000 description 9
- 230000014509 gene expression Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000009434 installation Methods 0.000 description 4
- 230000009897 systematic effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000005498 polishing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Landscapes
- Manipulator (AREA)
Description
本発明は、産業用ロボットのツールの位置・姿勢制御方法及び制御システムに関し、詳しくは、産業用ロボットのツールの位置及び姿勢を直交座標系を用いて手動で制御する方法、及び、当該方法に適する位置・姿勢制御システムに関する。 The present invention relates to an industrial robot tool position / posture control method and control system, and more particularly, to a method for manually controlling the position and posture of an industrial robot tool using an orthogonal coordinate system, and to the method. The present invention relates to a suitable position / posture control system.
一般に産業用ロボットの手動制御は、多関節を用いた手動制御(以下、「関節手動制御」という。)と直交座標系を用いた手動制御(以下、「直角手動制御」という。)の2種に大別される。関節手動制御では、多関節を有する所謂多関節型ロボットに備えられた各関節を個別に回転動作させる。一方、直角手動制御では、産業用ロボットが把持するツール(ロボットの先端に取り付けられ、ワーク(被溶接物等)に作用させる道具)を、予め決められた、手動制御の際に基準とする座標系(以下、「基準座標系」という。)に従って並進・回転動作させる。これらの手動制御は、通常、産業用ロボットにその姿勢や位置での動作を教え込む所謂教示作業の際に使用される。尚、産業用ロボットでアーク溶接作業を行う場合には、前記ツールは、アーク溶接トーチ(以下、単に「トーチ」という。)となる。 Generally, there are two types of manual control of industrial robots: manual control using multiple joints (hereinafter referred to as “joint manual control”) and manual control using an orthogonal coordinate system (hereinafter referred to as “right angle manual control”). It is divided roughly into. In joint manual control, each joint provided in a so-called multi-joint robot having multiple joints is individually rotated. On the other hand, in the right-angle manual control, the coordinates that the tool that the industrial robot grips (the tool that is attached to the tip of the robot and acts on the workpiece (workpiece to be welded), etc.) that is determined in advance during the manual control. Translation and rotation are performed according to a system (hereinafter referred to as “reference coordinate system”). These manual controls are usually used for so-called teaching work in which an industrial robot is instructed to operate in its posture and position. When arc welding work is performed with an industrial robot, the tool is an arc welding torch (hereinafter simply referred to as “torch”).
通常、関節手動制御は、産業用ロボットの姿勢を大きく変化させるときだけ使用され、その他の大多数の教示作業では、トーチ等が教示により移動される教示点へのツールの位置決めやツールの姿勢変更には、直角手動制御が使用される。このように産業用ロボットの手動制御において、直角手動制御が多用されるのは、関節手動制御では、トーチの位置と姿勢とを分離して手動制御することができないが、直角手動制御ではこれが可能であり、産業用ロボットのツールを所望の位置や姿勢とし易いためである。 Normally, manual joint control is used only when the attitude of an industrial robot is greatly changed. In most other teaching operations, the tool is positioned at a teaching point where the torch or the like is moved by teaching or the tool attitude is changed. For this, right-angle manual control is used. In manual control of industrial robots, right-angle manual control is often used. Joint joint control cannot separate torch position and posture manually, but right-angle manual control allows this. This is because the industrial robot tool can be easily set to a desired position and posture.
また、産業用ロボットの直角手動制御では、ツールの位置や姿勢の変化の自由度を増やすべく、通常、基準座標系を、複数の座標系から選択できるようになっている。これら基準座標系には、ベース座標系、ツール座標系、ワーク座標系、ショップフロア座標系、任意座標系等がある。これら基準座標系が変われば、産業ロボットに手動制御の動作内容を教示する手段(手動運転命令手段)であるティーチングペンダント(以下、「TP」と略す。)上で同じキー操作を行っても、ツールの並進動作や回転動作が変わるようになる。 In addition, in the right-angle manual control of industrial robots, the reference coordinate system can usually be selected from a plurality of coordinate systems in order to increase the degree of freedom in changing the position and posture of the tool. These reference coordinate systems include a base coordinate system, a tool coordinate system, a work coordinate system, a shop floor coordinate system, and an arbitrary coordinate system. If these reference coordinate systems are changed, even if the same key operation is performed on a teaching pendant (hereinafter abbreviated as “TP”) which is a means (manual operation command means) for teaching the operation contents of manual control to the industrial robot, The translation and rotation of the tool will change.
ところで、前記直角手動制御では、産業用ロボットに行わせる作業や動作の種類に応じて適切な座標系が存在する。例えば、ワークに沿ってツールの位置を並進動作により変更したいときはワーク座標系を基準とし、ロボットの設置位置を基準としてツールを並進動作させたいときはベース座標系を基準とすると、それぞれの場合にロボットの手動制御が容易化される。また、トーチの姿勢を回転動作により変更したいときは、ツールの取り付け部位に基づくツール座標系を基準とすると、ロボットの手動制御が容易化される。これは、通常、ツール座標系では、ツールの形状やツールに接続されるワイヤの送給方向に一致するように座標系が設定されているためである。 By the way, in the right-angle manual control, there is an appropriate coordinate system according to the type of work and operation to be performed by the industrial robot. For example, if you want to change the tool position along the workpiece by translation, use the workpiece coordinate system as a reference, and if you want to translate the tool based on the robot installation position, use the base coordinate system as a reference. In addition, manual control of the robot is facilitated. Further, when the posture of the torch is desired to be changed by a rotation operation, manual control of the robot is facilitated based on the tool coordinate system based on the attachment site of the tool. This is because, in the tool coordinate system, the coordinate system is usually set to match the shape of the tool and the feeding direction of the wire connected to the tool.
ところが、従来は、直角手動制御において産業用ロボットのツールの位置や姿勢を変えるにあたり、並進動作及び回転動作の各動作には、常に同一の基準座標系が予め設定され、用いられている(例えば、特許文献1参照)。
このため、作業者は、主としてツールの並進動作を手動制御するときと、その回転動作を手動制御するときとで、その都度、各動作に適した基準座標系に切り替えることが必要となり、手動制御が著しく煩雑化することで産業用ロボットの教示作業に長時間を要し、作業効率を大きく低下させていた。 For this reason, it is necessary for the operator to switch to a reference coordinate system suitable for each operation each time when manually controlling the translation operation of the tool and when manually controlling the rotation operation. However, since the work is extremely complicated, it takes a long time to teach the industrial robot, which greatly reduces the work efficiency.
本発明は、上記問題点を解決するためになされたものであって、その目的は、産業用ロボットのツールの位置及び姿勢を直交座標系を用いて手動で制御するにあたり、当該手動制御の最中に、産業用ロボットのツールの並進動作及び回転動作の各動作にそれぞれ適した基準座標系に切り替えるという煩雑な操作を行うことなく、簡易に産業用ロボットのツールを手動制御することができる産業用ロボットのツールの位置・姿勢制御方法及び当該方法を実現する位置・姿勢制御システムを提供することにある。 The present invention has been made to solve the above-described problems, and its object is to manually control the position and posture of an industrial robot tool using an orthogonal coordinate system. Industry that can easily manually control industrial robot tools without performing complicated operations such as switching to a reference coordinate system suitable for each of the translation and rotation operations of industrial robot tools. It is an object to provide a position / posture control method for a robot tool and a position / posture control system for realizing the method.
上記問題点を解決するために、請求項1に記載の発明は、多関節を有する産業用ロボットのツールの位置及び姿勢を直交座標系を用いて手動で制御する方法であって、(1)ロボット作業命令の教示手段に対して手動制御が実行されたことを検知し、当該検知を契機として前記産業用ロボットへの手動運転命令を生成する手動運転命令生成ステップと、(2)前記手動運転命令に基づいて、前記ツールの手動制御の開始点座標を計算する開始点座標計算ステップと、(3)前記手動運転命令及び開始点座標に基づいて、所定の補間周期毎に前記ツールの位置及び姿勢に関するデータを計算するとともに、該位置及び姿勢データを、それぞれ前記開始点座標で表される開始点からツールの目標点に至る全補間周期で累積計算して並進動作及び回転動作の累積移動量を得る累積移動量計算ステップと、(4)前記累積移動量を、前記産業用ロボットの各関節の関節角度に逆変換することで、前記ツールを前記開始点から目標点に到達させる位置指令を生成するツール位置指令生成ステップと、(5)前記指令を前記産業用ロボットの各関節を動かすサーボ機構に与えることで当該サーボ機構を制御し、これにより前記ツールを前記開始点から目標点に到達させるようにするサーボ機構制御ステップと、を備え、前記開始点座標計算ステップ及び累積移動量計算ステップの各ステップにおいて、前記ロボットのツールの並進動作及び回転動作の各動作に対してそれぞれ個別に1つ、前記手動制御前に予め設定した基準座標系に基づき、前記開始点座標、位置及び姿勢データ、又は各動作の累積移動量を計算するようにしたこと、を要旨とする。
In order to solve the above problems, the invention described in
上記請求項1の構成によれば、産業用ロボットのツールの位置及び姿勢を直交座標系を用いて手動で制御する前に、該ツールの並進動作及び回転動作の各動作に対してそれぞれ適した基準座標系を設定することができる。これにより、前記手動制御の最中に、産業用ロボットのツールの並進動作及び回転動作の各動作にそれぞれ適した基準座標系に切り替えるという煩雑な操作を行う必要がなくなり、作業者が簡易に産業用ロボットのツールを手動制御することができるようになる。その結果、産業用ロボットへ作業プログラムを教示するために要する教示時間が低減され、産業用ロボットの教示作業が簡略化されるようになる。 According to the configuration of the first aspect, before manually controlling the position and orientation of the tool of the industrial robot using the orthogonal coordinate system, the tool is suitable for each of the translation operation and the rotation operation of the tool. A reference coordinate system can be set. This eliminates the need for a complicated operation of switching to a reference coordinate system suitable for each of the translation operation and the rotation operation of the tool of the industrial robot during the manual control. The robot tool can be controlled manually. As a result, the teaching time required for teaching the work program to the industrial robot is reduced, and the teaching work of the industrial robot is simplified.
また、上記請求項1の構成によれば、産業用ロボットの位置及び姿勢を直交座標系を用いて手動で制御する方法であって、前記産業用ロボットに備えられたツールの並進動作と回転動作とに用いる基準座標系を各動作ごとにそれぞれ個別に設定した後、各基準座標系に基づいて並進動作及び回転動作の手動制御を行う方法を、簡略的且つ系統だったプロセスで実現することができる。 In addition, according to the configuration of the first aspect , a method for manually controlling the position and orientation of an industrial robot using an orthogonal coordinate system, the translation operation and the rotation operation of a tool provided in the industrial robot. A method for performing manual control of translation and rotation based on each reference coordinate system after setting the reference coordinate system for each operation individually for each operation can be realized by a simple and systematic process. it can.
請求項2に記載の発明は、請求項1に記載のツールの位置・姿勢制御方法において、前記ツール位置指令生成ステップには、(i)前記位置及び姿勢の累積移動量にそれぞれ対応する等価並進行列及び等価回転行列を計算する等価並進・回転行列計算ステップと、(ii)前記開始点座標と、前記等価並進行列及び等価回転行列とに基づいて、前記ツールを前記開始点から目標点に到達させる目標並進行列及び目標回転行列を計算する目標並進・回転行列計算ステップと、(iii)前記目標並進行列及び目標回転行列に基づいて前記産業用ロボットの各関節角度を計算するロボット関節角度計算ステップと、が含まれること、を要旨とする。
The invention according to claim 2, in the position and posture control method tool of
上記請求項2の構成によれば、産業用ロボットのツールの並進動作及び回転動作の累積移動量を各関節の関節角度に逆変換することで、ツールを開始点から目標点に到達させる位置指令を生成する方法を、簡略的且つ系統だったプロセスで実現することができる。 According to the configuration of claim 2 , the position command for causing the tool to reach the target point from the starting point by inversely converting the cumulative movement amount of the translation operation and rotation operation of the tool of the industrial robot into the joint angle of each joint. Can be realized by a simple and systematic process.
請求項3に記載の発明は、産業用ロボットのツールの位置及び姿勢を直交座標系を用いて手動で制御するにあたって使用される制御システムであって、ロボット作業命令の教示手段に対して手動制御が実行されたことを検知し、当該検知を契機として前記産業用ロボットへの手動運転命令を生成する手動運転命令生成手段と、前記手動運転命令に基づいて、前記ツールの手動制御の開始点座標を計算する開始点座標計算手段と、前記手動運転命令及び開始点座標に基づいて、所定の補間周期毎に前記ツールの位置及び姿勢に関するデータを計算するとともに、該位置及び姿勢データを、それぞれ前記開始点座標で表される開始点からツールの目標点に至る全補間周期で累積計算して並進動作及び回転動作の累積移動量を得る累積移動量計算手段と、前記累積移動量を、前記産業用ロボットの各関節の関節角度に逆変換することで、前記ツールを前記開始点から目標点に到達させる位置指令を生成するツール位置指令生成手段と、前記位置指令を前記産業用ロボットの各関節を動かすサーボ機構に送信することで当該サーボ機構を制御し、これにより前記ツールを前記開始点から目標点に到達させるようにするサーボ機構制御手段と、を備え、前記開始点座標計算手段及び累積移動量計算手段の各手段において、前記ロボットのツールの並進動作及び回転動作の各動作に対して、それぞれ個別に1つ、前記手動制御前に予め設定した基準座標系に基づき、前記開始点座標、位置及び姿勢データ、又は各動作の累積移動量を計算するようにしたこと、を要旨とする。
The invention described in
上記請求項3の構成によれば、産業用ロボットの位置及び姿勢を直交座標系を用いて手動で制御する方法であって、前記産業用ロボットに備えられたツールの並進動作と回転動作とに用いる基準座標系を各動作ごとにそれぞれ個別に設定した後、各基準座標系に基づいて並進動作及び回転動作の手動制御を行う方法を、簡略的且つ系統だった制御システムで実現することができる。
According to the configuration of
本発明によれば、産業用ロボットのツールの位置及び姿勢を直交座標系を用いて手動で制御するにあたり、当該手動制御の最中に、産業用ロボットのツールの並進動作及び回転動作の各動作にそれぞれ適した基準座標系に切り替えるという煩雑な操作を行うことなく、簡易に産業用ロボットのツールを手動制御することができる産業用ロボットのツールの位置・姿勢制御方法及び当該方法を実現する位置・姿勢制御システムを提供することができる。 According to the present invention, when manually controlling the position and orientation of the tool of the industrial robot using the orthogonal coordinate system, each of the translation operation and the rotation operation of the tool of the industrial robot is performed during the manual control. Industrial robot tool position / posture control method that can easily control the industrial robot tool manually without performing a complicated operation of switching to a reference coordinate system suitable for each, and a position for realizing the method -An attitude control system can be provided.
以下、本発明の実施形態について図面を参照しながら説明する。
図1に本実施形態で用いる多関節型ロボット装置の制御システムを示す。該制御システムには、多関節型ロボット1、ポジショナ2、前記多関節型ロボット1とポジショナ2とを制御するロボット制御装置3、及び前記多関節型ロボット1とポジショナ2とに駆動電力を供給する溶接電源装置4が設けられている。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 shows a control system for an articulated robot apparatus used in this embodiment. The control system supplies driving power to the articulated
前記多関節型ロボット1は、トーチ(ツール)11と、5個(複数個)のアーム12a,12b,12c,12d,12eと、各アーム間に存在する各関節の関節角度を変えるための6個(複数個)のサーボモータ(駆動モータ)13a,13b,13c,13d,13e、13f(但し、サーボモータ13bとサーボモータ13eとは図示省略)とを備えている(トーチ11側よりロボット1が設置される大地面に向けてアルファベット順で示す。)。これらサーボモータ13a〜13fには、ロボット制御装置3のサーボドライバより回転駆動電力が供給されるともに、ロボット制御装置3から送信される制御信号によって制御される。
The articulated
また、前記多関節型ロボット1は、トーチ11を把持するためのフランジ部(面)(符号省略)を有するエンドエフェクタ14を更に備えており、このトーチ11は、アーム12aを介して前記フランジ部に取り付けられている。この多関節型ロボット1では、トーチ11を用いてワーク(被溶接物)に対してアーク溶接(溶接)が行われる。尚、図1に示すトーチ11の直棒状の先端部11aは、その基準位置において大地面に対して略直交するようにされている。
Further, the articulated
このように、多関節型ロボット1は、複数個のサーボモータ13a〜13fがロボット制御装置3により制御され、回転駆動されることによって、多関節型ロボット1の各関節が回転し、且つアーム12a〜12eが移動する。これにより、エンドエフェクタ14のフランジ部に取り付けられたトーチ11が上下前後左右に移動可能とされ、所望の位置とされるとともに、その姿勢も所望の状態とされる。
As described above, in the
前記多関節型ロボット1のアーム12c近傍には、トーチ11に対して溶接ワイヤ(符号省略)を送給するワイヤ送給装置15が設けられている。該ワイヤ送給装置15は、溶接ワイヤが巻回されたリールと、該リールを回転させる送給モータ(いずれも図示省略)とを備え、この送給モータは、溶接電源装置4からの電力によって所定のタイミングで回転駆動される。前記溶接ワイヤを介して溶接電源装置4からトーチ11に高電圧の溶接電圧が供給されることで溶接ワイヤの先端とワークとの間にアークが発生し、その熱で溶接ワイヤが溶融することで、ワークが溶接される。
Near the
本実施形態の制御システムにおいて、前記ポジショナ2は、多関節型ロボット1のトーチ11と対向し、ワークを回転又は傾斜させて当該ワークをトーチ11による溶接に適する状態とする。詳述すると、このポジショナ2は、溶接時にワークが載置される略円形のワーク載置面21aを有するワーク載置台21と、該ワーク載置台21を所定方向に回転又は傾斜自在に支持する支持台21bとを備えている。そして、前記トーチ11は、その先端部11aがワーク載置面21aに対向するように多関節型ロボット1に設けられている。このようにして、ポジショナ2がワークを自在に回転又は傾斜させるとともに、前述したように複数個のサーボモータ13a〜13fによってアーム12a〜12eを変位させることで、ワークがトーチ11に対して溶接に適する所要の位置及び姿勢関係に設定される。尚、ポジショナ2のワーク載置台21は、支持台21bの側部に設けられたサーボモータ22によって大地面に対して傾斜可能とされている。このサーボモータ22には、その下方位置にて支持台21bに設けられた電源ボックス23を介して溶接電源装置4から回転駆動電力が供給される。
In the control system of the present embodiment, the positioner 2 faces the
また、図1に示すように、本実施形態の制御システムにおいては、多関節型ロボット1の手動制御にあたり、複数の基準座標系が用いられる。これら基準座標系としては、多関節型ロボット1側には、大地を基準に設定され、本制御システムで絶対的な基準となるワールド座標系(O-X0,Y0,Z0)、多関節型ロボット1のアーム12eを基準に設定されたベース座標系(O1-X1,Y1,Z1)、トーチ11が取り付けられるフランジ面(取り付け面)を基準に設定されたエンドエフェクタ座標系(O2-X2,Y2,Z2)、トーチ11を基準に設定されたツール座標系(O3-X3,Y3,Z3)が定義される。また、ポジショナ2側には、ポジショナ2の設置面を基準に設定されたポジショナ座標系(O4-X4,Y4,Z4)、及び、ポジショナ2のワーク載置面21aを基準に設定されたワーク座標系(O5-X5,Y5,Z5)が定義される。本実施形態における多関節型ロボット1の直角手動制御では、このように定義された複数の基準座標系を用いて、トーチ11の位置及び姿勢が表現される。
Further, as shown in FIG. 1, in the control system of the present embodiment, a plurality of reference coordinate systems are used for manual control of the articulated
前記ロボット制御装置3は、図2に示すように、本ロボット制御装置3の制御中枢となるCPU31、多関節型ロボット1の作業や動作を規定する作業プログラムの各バッファとして機能するRAM32、作業プログラムが格納されるROM33、及び所定の定期時刻毎に同期信号をCPU31へ発生するタイマー(TIMER)34を備えている。さらに、該ロボット制御装置3は、多関節型ロボット1に対して手動制御によって教示された教示データが格納されるハードディスク35、及び、手動制御時に使用し、TP36aが接続されるティーチングペンダントI/F(インターフェース)36を備えている。このTP36aは、多関節型ロボット1に前記作業プログラムを教示する教示手段として用いる。さらに、該ロボット制御装置3は、操作ボックスI/F37及びサーボドライバI/F38を備えている。この操作ボックスI/F37には、教示した作業プログラムのタイミングをCPU31に与える操作ボックス37aが接続されている。
As shown in FIG. 2, the
また、サーボドライバI/F38には、多関節型ロボット1の各関節を駆動する前記した複数のサーボドライバ(サーボ機構)38a,…が接続されている。そして、サーボドライバ38a,…には、各サーボドライバ38aによって制御可能な状態で、前記したサーボモータ13a〜13f(図1参照)が接続されている。詳述すると、各サーボドライバ38aの制御は、CPU31からの動作指令信号に基づいて行われ、図2に示す多関節型ロボット1を、6個のサーボモータ13a〜13fによってそれぞれ各アーム12a〜12e間の関節角度θ1,θ2,θ3,θ4,θ5,θ6で回転するようにされている。
The servo driver I /
以上説明したCPU31、RAM32、ROM33、タイマー34、ハードディスク35、TP36a、操作ボックスI/F37、及びサーボドライバI/F38は、バス(BUS)39を介して相互に接続され、上述した各機能を実現すべく必要な信号をやりとりするように構成されている。
The
本実施形態の制御システムを構成する主要部について詳述すると、前記CPU31は、前記作業プログラム、TP36aや操作ボックス37aから送信される操作信号、又は、各サーボモータ13a〜13fに設けられた図示しないエンコーダからの現在位置情報等に基づいて、所定のデータ演算処理を行い、バス39及びサーボドライバI/F38を介して各サーボドライバ38aに動作指令を与える。これにより、サーボモータ13a〜13fが制御され回転駆動され、前述したように、トーチ11がワークに対して溶接に適した所要の位置及び姿勢関係とされる。また、前記ROM33には、前記作業プログラムの他、この作業プログラムの実行条件を示すデータ、及び制御定数を示すデータ等が格納される。
Describing in detail the main parts constituting the control system of the present embodiment, the
また、前記TP36aは、多関節型ロボット1を手動制御するときに作業者によって操作され、所定の操作情報が表示される表示装置36bと所定の情報の入力に用いるキーボード36cとを備えている。該キーボード36cには、手動制御操作用のスイッチ(以下、「軸キー」と呼ぶ。)が12個設けられている(図示省略)。このようにキーボード36cに12個の軸キーが設けられているのは、本実施形態のように多関節型ロボット1を直角手動制御で操作する場合では、位置(3自由度)及び姿勢(3自由度)からなる計6自由度に対して、それぞれ正(+)方向及び負(−)方向の2つの方向に対応する数の軸キーが使用される(6自由度×2つ=12個)ためである。
The
前記キーボード36cには、多関節型ロボット1を直角手動制御で操作するにあたり、作業者がトーチ11の並進動作及び回転動作の各動作に対してそれぞれ個別の基準座標系を設定するための不図示のスイッチ(以下、「座標系スイッチ」という。)が備えられている。本実施形態において、並進動作及び回転動作の各動作の基準座標系としては、前述したワールド座標系、ベース座標系、ワーク座標系、及びツール座標系の4個の座標系が使用でき、それぞれの座標系について、1から4の間の整数で表される座標系番号が識別のために割り当てられる。ここで、並進動作の座標系番号が入力されるパラメータ変数には、CoorParaを使用し、回転動作の座標系番号が入力されるパラメータ変数には、CoorRotを使用する。作業者は、前記した座標系番号から所望の数字を選択し、前記座標系スイッチを使用して、CoorPara及びCoorRotにそれぞれ個別に座標系番号を入力する。
On the
また、前記キーボード36cには、多関節型ロボット1を直角手動制御で操作するにあたり、作業者がトーチ11の並進動作及び回転動作の各動作に対してそれぞれ個別の動作速度を設定するための不図示のスイッチ(以下、「速度スイッチ」という。)も備えられている。本実施形態において、並進動作の速度(単位:[mm/sec])が入力されるパラメータ変数には、ManuParaVelを使用し、回転動作の速度(単位:[rad/sec])が入力されるパラメータ変数には、ManuRotVelを使用する。作業者は、前記速度スイッチを使用して、ManuParaVel及びManuRotVelにそれぞれ個別に速度を入力する。
In addition, the
さらに、前記キーボード36cには、多関節型ロボット1を直角手動制御で操作するにあたり、作業者がトーチ11の並進動作及び回転動作の各動作に対してそれぞれ個別の動作方向を指示するための不図示のスイッチ(以下、「動作方向指示スイッチ」という。)も備えられている。本実施形態において、例えば、X軸方向の並進動作については、正(+)方向への並進動作の指示の有無(0:なし、1:有り)が入力されるパラメータ変数には、AxesKey_Xpulsを使用し、負(−)方向への並進動作の指示の有無(0:なし、1:有り)が入力されるパラメータ変数には、AxesKey_XMinusを使用する。作業者は、前記動作方向指示スイッチを使用して、AxesKey_Xpuls及びAxesKey_XMinus等にそれぞれ個別に動作指示の有無を入力する。
Further, the
下表1に、トーチ11の並進動作及び回転動作に用いる基準座標系のパラメータ変数(CoorPar及びCoorRot)、当該並進動作及び回転動作の各動作の速度のパラメータ変数(ManuParaVel及びManuRotVel)、及び当該並進動作及び回転動作の各動作における2つの動作方向、即ち、正(+)方向及び負(−)方向のパラメータ変数(AxesKey_Xpuls及びAxesKey_XMinus等)、から構成される動作指示の一覧を示す。
前記CPU31は、これらの各種のパラメータ変数で表される操作信号を受け取ることによって所定のデータ処理を行うとともに、TP36aに表示データを送信して前記表示装置36bに操作情報を表示させる。さらに、CPU31は、これら操作信号を、後述する手動運転命令生成部51(図4参照)によって教示データの形で読み出し可能な状態でハードディスク35に格納する。
The
以下、図3を参照しつつ、前記したサーボドライバ38aにおけるサーボモータ13a〜13fのサーボ制御系について簡単に説明する。このサーボ制御系には、位置制御ブロック300、速度制御ブロック301、及び電流制御ブロック302が設けられており、各ブロックによって、後述する多関節型ロボット1の各関節に対する位置指令にサーボモータ13a〜13fの動作を追従させることが可能となるとともに、教示データの再生が実行される。詳述すると、CPU31から送信される前記位置指令は、先ず、位置制御ブロック300に入力され、該位置制御ブロック300からの出力は、速度制御ブロック301に入力される。そして、この速度制御ブロック301からの出力は、電流制御ブロック302に入力され、電流制御ブロック302の出力は、サーボモータ13a〜13fに入力される。サーボモータ13a〜13fからの出力は、ばね等の減速機構304を介して、負荷となるアーム12a〜12eに伝えられる。
Hereinafter, the servo control system of the
各サーボモータ13a〜13fには、それぞれ電流検出ブロック303が接続され、各電流検出ブロック303において各サーボモータ13a〜13fに流れる電流が検出され、該電流値は電流制御ブロック302にフィードバックされる。また、各サーボモータ13a〜13fには、それぞれエンコーダ305が接続され、各エンコーダ305によって現在のアームの移動速度に対応する各サーボモータ13a〜13fの回転速度に関するデータが取得され、該取得された回転速度データは、位置制御ブロック300と速度制御ブロック301とにフィードバックされる。
A
前記位置制御ブロック300では、電流制御ブロック302にフィードバックされた前記回転速度データが積分ブロック306によって積分されることにより位置データに変換されて減算器307に入力され、この減算器307により多関節型ロボット1の各関節に対する位置指令に対する現在の各関節の位置(関節角度)の誤差データが演算される。この誤差データは増幅器308により所定のゲインKpp(以下、「位置FBゲイン」という。)でレベル補正が行なわれた後、加算器309に入力される。
In the
また、位置制御ブロック300では、多関節型ロボット1の各関節に対する位置指令のデータは、微分ブロック310によって微分されることにより速度データに変換され、さらに増幅器311により所定のゲインKff(以下、「速度FFゲイン」という。)でレベル補正が行なわれた後、加算器309に入力される。該加算器309では速度FFゲインKffで出力される速度データと、位置FBゲインKppで出力される誤差データとが加算され、前記した速度制御ブロック301に出力される。
Further, in the
以上のとおり、本実施形態の制御システムでは、多関節型ロボット1の各関節に対する位置指令に対して各サーボモータ13a〜13fの動作をフィードバック(FB)制御することにより、予め教示された教示データの再生が正確に行われるようになっている。
As described above, in the control system of the present embodiment, teaching data previously taught by performing feedback (FB) control of the operation of each
以下、図4を参照しつつ、このプログラムの構成について説明する。このプログラムは、多関節型ロボット1のトーチ11(ツール)の位置及び姿勢を直角手動制御によって制御するためのものである。
The configuration of this program will be described below with reference to FIG. This program is for controlling the position and posture of the torch 11 (tool) of the articulated
前述したROM33(図2参照)には、多関節型ロボット1の動作制御を実行するプログラム、そのプログラムの実行条件、及び制御定数等が格納される。このプログラムは、図4に示すように、手動運転命令生成部51、開始点座標生成部52、補間点生成部53、関節補間点生成部54、及びサーボ出力部55を備えており、本プログラムに従ってCPU31にて演算処理が行われる。また、RAM32は、CPU31のワーキングエリアとして用いられ、図4に示す動作命令バッファ51a、軌道バッファ52a、補間点バッファ53a、及び関節補間点バッファ54aの各機能が実現される。これら各バッファは、FIFO(first-in first-out)バッファとして構成されており、先入れ及び先出しでデータが処理され、上記プログラムの各部51〜55で生成するデータが一時的に格納されるようになっている。
The ROM 33 (see FIG. 2) described above stores a program for executing operation control of the articulated
以下、図5〜図9を参照しつつ、本実施形態の多関節型ロボット装置の制御システムを使用し、産業用ロボットの位置及び姿勢を直角手動制御によって制御する方法について説明する。 Hereinafter, a method of controlling the position and posture of an industrial robot by right-angle manual control using the control system of the articulated robot apparatus of the present embodiment will be described with reference to FIGS.
図5を参照して、先ず、多関節型ロボット1の動作制御を実行するプログラムにおける手動運転命令生成部51(図4参照)が、TP36aからの手動制御のための操作(以下、「手動制御操作」という。)の有無を待機する(ステップS0)。この手動制御操作が実行されない場合は、この待機の状態を継続する。一方、手動制御操作を実行したことが手動運転命令生成部51によって検知されると、当該手動運転命令生成部51において、前記検知を契機として多関節型ロボット1の手動運転命令が生成されるとともに、該手動運転命令が動作命令バッファ51aに格納される(ステップS1)。詳述すると、ステップS0にて、手動運転命令生成部51において、TP36aの12個の軸キーの内の少なくとも1個が操作されたこと、または、操作中の前記軸キーの数や種類が変更されたことが検知されると、ステップS1にて、前記手動運転命令生成部51において、新たな手動運転命令が生成される。この手動運転命令には、表1に示したトーチ11の並進動作及び回転動作の基準座標系のパラメータ変数(CoorPar及びCoorRot)、当該並進動作及び回転動作の各動作の速度[mm/sec,rad/sec]のパラメータ変数(ManuParaVel及びManuRotVel)、及び当該並進動作及び回転動作の各動作における2つの動作方向、即ち、正(+)方向及び負(−)方向のパラメータ変数(AxesKey_Xpuls及びAxesKey_XMinus等)、から構成される動作指示データが含まれる。
Referring to FIG. 5, first, a manual operation command generation unit 51 (see FIG. 4) in a program for executing the operation control of the articulated
本実施形態では、TP36aを用い、パラメータ変数CoorParaに2を入力し(即ち、並進動作の基準座標系をベース座標系とする。)、パラメータ変数CoorRotに4を入力する(即ち、回転動作の基準座標系をツール座標系とする。)。また、パラメータ変数ManuParaVel及びManuRotVelには、ぞれぞれ所定値[mm/sec,rad/sec]を入力するとともに、軸キーを操作し、AxesKey_Xpuls及びAxesKey_XMinus等にも、所要の動作方向に応じた数値が入力されるようにする。 In the present embodiment, TP36a is used, 2 is input to the parameter variable CoorPara (that is, the reference coordinate system of the translation operation is used as the base coordinate system), and 4 is input to the parameter variable CoorRot (that is, the reference of the rotation operation). The coordinate system is the tool coordinate system.) In addition, input predetermined values [mm / sec, rad / sec] to the parameter variables ManuParaVel and ManuRotVel, respectively, operate the axis keys, and AxesKey_Xpuls, AxesKey_XMinus, etc. according to the required operation direction Allow numeric values to be entered.
ここで、並進動作の座標系は、図6(a)に示すように、ベース座標系を基準座標系に用いて表現され(同図では並進動作の移動距離=D[mm]とする。)、回転動作の座標系は、図6(b)に示すように、ツール座標系を基準座標系に用いて表現される(同図では回転動作の回転角度=α[°]とする。)。このように、本実施形態では、並進動作及び回転動作の座標系はそれぞれ個別の基準座標系を用いて表現されるが、後述する同次変換行列を使用すれば、図7に示すように、並進動作及び回転動作の座標系は、まるで同一の基準座標系を用いる場合のように、統一して表現されるようになる。 Here, as shown in FIG. 6A, the coordinate system of the translation operation is expressed using the base coordinate system as the reference coordinate system (in the same figure, the translational movement distance = D [mm]). As shown in FIG. 6B, the coordinate system of the rotation operation is expressed using the tool coordinate system as the reference coordinate system (in the figure, the rotation angle of the rotation operation is α [°]). As described above, in this embodiment, the coordinate systems of the translation operation and the rotation operation are expressed using individual reference coordinate systems, respectively, but if a homogeneous transformation matrix described later is used, as shown in FIG. The coordinate system for the translation operation and the rotation operation is expressed in a unified manner as if the same reference coordinate system is used.
図5に戻り、次に、開始点座標生成部52(図4参照)において、動作命令バッファ51aから手動運転命令が読み出され、この手動運転命令に基づいて、トーチ11の手動制御の開始点座標(開始点の位置及び姿勢に対応する。)が三次元空間の直交座標上で計算(生成)されるとともに該開始点座標及び手動運転命令に関するデータ(以下、「軌道データ」という。)が軌道バッファ52aに格納される(ステップS2)。このステップS2では、多関節型ロボット1のトーチ11の並進動作及び回転動作の各動作に対して、それぞれ個別に基準座標系を用いて開始点座標が計算(生成)される。詳述すると、本実施形態では、前述したように、並進動作(位置に対応)、回転動作(姿勢に対応)の各動作に対して、それぞれベース座標系、ツール座標系を基準座標系に用いるので、トーチ11の並進動作及び回転動作の各動作用にそれぞれ個別に計2個の開始点座標が計算(生成)される。尚、本実施形態では、前記開始点座標の目標座標系(基準座標系によって表現する目標(目的)となる座標系)については、並進動作及び回転動作共に、トーチ11が実際(最終的)に動作する座標系であるツール座標系を用いて表現する。
Returning to FIG. 5, next, in the start point coordinate generation unit 52 (see FIG. 4), the manual operation command is read from the operation command buffer 51 a, and the start point of the manual control of the
このように、本実施形態では、並進動作、回転動作の各動作に対して、それぞれベース座標系、ツール座標系を基準座標系に用いる一方、両動作共にツール座標系を目標座標系に用いてその位置及び姿勢を表現する。このため、前記開始点座標は、トーチ11の並進動作については、ベース座標系から見たツール座標系の位置が表現され、トーチ11の回転動作については、ツール座標系から見たツール座標系の姿勢が表現される。後者のように回転動作の目標座標系及び基準座標系が共にツール座標系の場合は、ツール座標系から見たツール座標系の姿勢を求めることとなって意味をなさないので、ベース座標系を基準座標系とする。以上のようにして、本実施形態では、開始点座標の並進動作及び回転動作は、ベース座標系から見たツール座標系の位置及び姿勢を表す4行4列の同次変換行列として計算される。
As described above, in this embodiment, for each of the translation operation and the rotation operation, the base coordinate system and the tool coordinate system are used as the reference coordinate system, respectively, while the tool coordinate system is used as the target coordinate system for both operations. The position and orientation are expressed. For this reason, the start point coordinates represent the position of the tool coordinate system viewed from the base coordinate system for the translation operation of the
ここで、前記同次変換行列の計算方法について説明する。下表2に、本計算で用いる同次変換行列を一覧して示す。表2に示す同次変換行列は、一の基準座標系から見た隣接する他の座標系(目標座標系)の位置及び姿勢を表現するものであり、多関節型ロボット1及びポジショナ2のアームの寸法、各関節の関節角度、設置(据付)位置姿勢等のリンクパラメータを用いて従来周知の方法で計算される。
Here, a method for calculating the homogeneous transformation matrix will be described. Table 2 below shows a list of homogeneous transformation matrices used in this calculation. The homogeneous transformation matrix shown in Table 2 expresses the position and orientation of another adjacent coordinate system (target coordinate system) viewed from one reference coordinate system, and the arms of the articulated
以下、用いる基準座標系別に、該基準座標系から見た、トーチ11の並進動作及び回転動作の各開始点座標を表す同次変換行列の計算式を示す。ここでは、トーチ11の並進動作の開始点座標を表す同次変換行列をMStartPara、トーチ11の回転動作の開始点座標を表す同次変換行列をMStartRotでそれぞれ表記する。尚、各同次変換行列において、右上の添え字「−1」がある行列は、同表記の添え字のない行列に対する逆行列を示す。
Hereinafter, for each reference coordinate system to be used, a calculation formula of a homogeneous transformation matrix representing each start point coordinate of the translation operation and the rotation operation of the
1)並進動作のパラメータ変数CoorPara=1(ワールド座標系基準)のとき、
MStartPara=XWorld2Base×XBase2End×XEnd2Tool…式(1−1)
2)回転動作のパラメータ変数CoorRot=1(ワールド座標系基準)のとき、
MStartRot=XWorld2Base×XBase2End×XEnd2Tool…式(1−2)
3)並進動作のパラメータ変数CoorPara=2(ベース座標系基準)のとき、
MStartPara=XBase2End×XEnd2Tool…式(1−3)
4)回転動作のパラメータ変数CoorRot=2(ベース座標系基準)のとき、
MStartRot=XBase2End×XEnd2Tool…式(1−4)
5)並進動作のパラメータ変数CoorPara=3(ワーク座標系基準)のとき、
MStartPara=XPo2Work-1×XWorld2Po-1×XWorld2Base×XBase2End×XEnd2Tool…式(1−5)
6)回転動作のパラメータ変数CoorRot=3(ワーク座標系基準)のとき、
MStartRot=XPo2Work-1×XWorld2Po-1×XWorld2Base×XBase2End×XEnd2Tool…式(1−6)
7)並進動作のパラメータ変数CoorPara=4(ツール座標系基準)のとき、
MStartPara =XBase2End×XEnd2Tool…式(1−7)
8)回転動作のパラメータ変数CoorRot=4(ツール座標系基準)のとき、
MStartRot=XBase2End×XEnd2Tool…式(1−8)
1) When the parameter variable CoorPara for translation is = 1 (world coordinate system reference)
MStartPara = XWorld2Base × XBase2End × XEnd2Tool Formula (1-1)
2) When the rotation operation parameter variable CoorRot = 1 (world coordinate system reference),
MStartRot = XWorld2Base x XBase2End x XEnd2Tool ... Formula (1-2)
3) When parameter variable CoorPara = 2 (base coordinate system reference) for translation,
MStartPara = XBase2End × XEnd2Tool Expression (1-3)
4) When the rotation operation parameter variable CoorRot = 2 (base coordinate system reference),
MStartRot = XBase2End × XEnd2Tool (Formula 1-4)
5) When parameter variable CoorPara = 3 (work coordinate system reference) for translation
MStartPara = XPo2Work -1 x XWorld2Po -1 x XWorld2Base x XBase2End x XEnd2Tool ... Formula (1-5)
6) When parameter variable CoorRot = 3 (work coordinate system reference)
MStartRot = XPo2Work -1 x XWorld2Po -1 x XWorld2Base x XBase2End x XEnd2Tool ... Formula (1-6)
7) When parameter variable CoorPara = 4 (tool coordinate system reference) for translation,
MStartPara = XBase2End × XEnd2Tool (formula 1-7)
8) When parameter variable CoorRot = 4 (tool coordinate system reference)
MStartRot = XBase2End × XEnd2Tool (Formula 1-8)
前述したように、本実施形態では、パラメータ変数CoorPara=2、パラメータ変数CoorRot=4であるので、以下の計算プロセスでは、上式(1−3)及び式(1−8)が使用される。 As described above, in the present embodiment, the parameter variable CoorPara = 2 and the parameter variable CoorRot = 4. Therefore, in the following calculation process, the above equations (1-3) and (1-8) are used.
次いで、図5を参照して、補間点生成部53(図4参照)において、軌道バッファ52aから並進動作及び回転動作についての軌道データが各動作について個別に読み出される。そして、この軌道データに基づいて、トーチ11の位置及び姿勢のそれぞれについて、補間周期(以降の計算式で「Sampling」と表記する。単位:[sec])と呼ぶ所定の時間毎にトーチ11が到達すべき位置及び姿勢に関するデータが補間点データとして計算されるとともに、該補間点データは、トーチ11が前記開始点座標で表される開始点から目標点(手動制御の終了点)に至る全補間周期の間で累積計算される。こうして得られた各補間点データ及び累積移動量は、補間点バッファ53aに一時的に格納される(ステップS3)。これら累積計算の内、位置(並進動作)の累積計算について図8を参照して説明すると、開始点P0から目標点Pn間をn等分する各点P1〜Pn−1についてそれぞれサイクリックに補間点データが計算され、各補間点データが開始点P0から目標点Pnまで累積計算される。即ち、本ステップS3では、多関節型ロボット1のトーチ11の並進動作及び回転動作の各動作に対して、それぞれベース座標系及びツール座標系を基準座標系として補間点データ及び累積移動量が計算されることになる。具体的には、これら補間点データ及び累積移動量は、前述した直角手動制御のパラメータ変数を用いて計算される。つまり、軸キーの操作状態(AxesKey_XPuls―AxesKey_Xminus等)に対して、直角手動制御の並進動作又は回転動作の速度(ManuParaVel[mm/sec]又はManuRotVel[rad/sec])に補間周期(Sampling[sec])を乗じた値が、一の補間周期の間で計算される位置データ(SampParaX、並進移動量)又は姿勢データ(SampRotA、回転移動量)となる。具体的には、下に示す計算式で表される。
Next, referring to FIG. 5, in the interpolation point generation unit 53 (see FIG. 4), the trajectory data regarding the translation operation and the rotation operation is individually read out from the
SampParaX=(AxesKey_XPuls―AxesKey_XMinus)×ManuParaVel×Sampling…式(2−1)
SampParaY=(AxesKey_Ypuls―AxesKey_YMinus)×ManuParaVel×Sampling…式(2−2)
SampParaZ=(AxesKey_Zpuls―AxesKey_ZMinus)×ManuParaVel×Sampling…式(2−3)
SampRotA=(AxesKey_Apuls―AxesKey_AMinus)×ManuRotVel×Sampling…式(2−4)
SampRotB=(AxesKey_Bpuls―AxesKey_BMinus)×ManuRotVel×Sampling…式(2−5)
SampRotC=(AxesKey_Cpuls―AxesKey_CMinus)×ManuRotVel×Sampling…式(2−6)
ここで、
SampParaX:一の補間周期の間におけるトーチ11のX軸方向の並進移動量[mm]
SampParaY:一の補間周期の間におけるトーチ11のY軸方向の並進移動量[mm]
SampParaZ:一の補間周期の間におけるトーチ11のZ軸方向の並進移動量[mm]
SampRotA:一の補間周期の間におけるトーチ11のX軸周りの回転移動量[rad]
SampRotB:一の補間周期の間におけるトーチ11のY軸周りの回転移動量[rad]
SampRotC:一の補間周期の間におけるトーチ11のZ軸周りの回転移動量[rad]
SampParaX = (AxesKey_XPuls−AxesKey_XMinus) × ManuParaVel × Sampling (2)
SampParaY = (AxesKey_Ypuls−AxesKey_YMinus) × ManuParaVel × Sampling… Formula (2-2)
SampParaZ = (AxesKey_Zpuls−AxesKey_ZMinus) × ManuParaVel × Sampling… Formula (2-3)
SampRotA = (AxesKey_Apuls−AxesKey_AMinus) × ManuRotVel × Sampling ... Formula (2-4)
SampRotB = (AxesKey_Bpuls−AxesKey_BMinus) × ManuRotVel × Sampling (2-5)
SampRotC = (AxesKey_Cpuls−AxesKey_CMinus) × ManuRotVel × Sampling (Formula 2-6)
here,
SampParaX: Translational amount of
SampParaY: Translational movement amount of the
SampParaZ: Translational amount of the
SampRotA: Amount of rotational movement about the X axis of the
SampRotB: The amount of rotational movement about the Y axis of the
SampRotC: The amount of rotational movement of the
さらに、トーチ11の並進動作の累積移動量(累積並進移動量:TotalParaX等)及びトーチ11の回転動作の累積移動量(累積回転移動量:TotalRotA等)は、下に示す計算式で表される。
TotalParaX=TotalParaX +SampParaX…式(3−1)
TotalParaY=TotalParaY +SampParaY…式(3−2)
TotalParaZ=TotalParaZ +SampParaZ…式(3−3)
TotalRotA=TotalRotA +SampRotA…式(3−4)
TotalRotB=TotalRotB +SampRotB…式(3−5)
TotalRotC=TotalRotC +SampRotC…式(3−6)
ここで、
TotalParaX: 手動制御スタート後の基準座標系のX軸方向の累積並進移動量[mm]
TotalParaY: 手動制御スタート後の基準座標系のY軸方向の累積並進移動量[mm]
TotalParaZ: 手動制御スタート後の基準座標系のZ軸方向の累積並進移動量[mm]
TotalRotA: 手動制御スタート後の基準座標系のX軸周りの累積回転移動量[rad]
TotalRotB: 手動制御スタート後の基準座標系のY軸周りの累積回転移動量[rad]
TotalRotC: 手動制御スタート後の基準座標系のZ軸周りの累積回転移動量[rad]
Further, the cumulative movement amount of the translation operation of the torch 11 (cumulative translation movement amount: TotalParaX, etc.) and the cumulative movement amount of the rotation operation of the torch 11 (cumulative rotation movement amount: TotalRotA, etc.) are expressed by the following calculation formulas. .
TotalParaX = TotalParaX + SampParaX ... Formula (3-1)
TotalParaY = TotalParaY + SampParaY ... Formula (3-2)
TotalParaZ = TotalParaZ + SampParaZ ... Formula (3-3)
TotalRotA = TotalRotA + SampRotA ... Formula (3-4)
TotalRotB = TotalRotB + SampRotB ... Formula (3-5)
TotalRotC = TotalRotC + SampRotC ... Formula (3-6)
here,
TotalParaX: Cumulative translation amount in the X-axis direction of the reference coordinate system after starting manual control [mm]
TotalParaY: Cumulative translation amount in the Y-axis direction of the reference coordinate system after starting manual control [mm]
TotalParaZ: Cumulative translation amount in the Z-axis direction of the reference coordinate system after starting manual control [mm]
TotalRotA: Cumulative rotational movement around the X axis of the reference coordinate system after starting manual control [rad]
TotalRotB: Cumulative rotational movement around the Y axis of the reference coordinate system after manual control starts [rad]
TotalRotC: Cumulative rotational movement around the Z axis of the reference coordinate system after manual control start [rad]
尚、各累積移動量TotalParaX,TotalParaY,TotalParaZ,TotalRotA,TotalRotB,及びTotalRotCは、先ず、手動運転命令生成部51において、作業者がTP36aに対して手動制御操作を実行したことが検知され、さらに開始点座標生成部52において、動作命令バッファ51aから手動運転命令が読み出された後、最初に補間点生成部53において、補間点データが計算される直前にそれぞれ初期の累積移動量0[mm,rad]にリセットされる。
The cumulative movement amounts TotalParaX, TotalParaY, TotalParaZ, TotalRotA, TotalRotB, and TotalRotC are first detected by the manual operation
続いて、図5を参照して、関節補間点生成部54(図4参照)において、上述したように計算され、直交座標系で表現された位置及び姿勢にそれぞれ対応する累積移動量が、多関節型ロボット1の各関節の関節角度に逆変換される。これにより、前記関節補間点生成部54において、トーチ11を開始点座標で表される開始点から目標点に到達させるためのサーボドライバ38a,…への位置指令(多関節型ロボット1の各関節に対する位置指令)が計算される。この位置指令は、関節補間点バッファ54aに一時的に格納され、その後、サーボ出力部55によって関節補間点バッファ54aから読み出され、サーボドライバ38a(図2参照)に送信される(ステップS4)。
Subsequently, referring to FIG. 5, the joint interpolation point generation unit 54 (see FIG. 4) calculates the accumulated movement amount corresponding to each of the position and posture calculated as described above and expressed in the orthogonal coordinate system. The joint angle of each joint of the articulated
前記ステップS4について詳述すると、該ステップS4は、3つ(複数)の小ステップS41,S42,及びS43によって構成される。各小ステップS41,S42,及びS43について、図5を参照して説明すると、先ず、関節補間点生成部54において、トーチ11の位置(並進動作)及び姿勢(回転動作)の累積移動量にそれぞれ対応する等価並進行列及び等価回転行列が計算される(小ステップS41)。
The step S4 will be described in detail. The step S4 includes three (plural) small steps S41, S42, and S43. Each small step S41, S42, and S43 will be described with reference to FIG. 5. First, in the joint interpolation
具体的には、上述したように計算した累積並進移動量及び累積回転移動量に基づいて、トーチ11の並進動作と回転動作の各動作について個別に等価並進行列及び等価回転行列を計算する。即ち、先ず、等価並進行列MatXYZについては、累積並進移動量を用いて以下の4次元ベクトルの形で定義する。
また、等価回転行列MatRPYについては、累積回転移動量を用いて以下の4次元ベクトルの形で定義する。尚、剛体の回転動作(姿勢)には多種の表現が提案されているが、ここでは、多関節型ロボットの制御分野において一般的に使用されるロール・ピッチ・ヨー角φ,θ,ψによる表現を使用する。 The equivalent rotation matrix MatRPY is defined in the form of the following four-dimensional vector using the accumulated rotational movement amount. Various expressions have been proposed for the rotational motion (posture) of the rigid body, but here, it is based on roll pitch pitch yaw angles φ, θ, and ψ that are generally used in the art of articulated robot control. Use expressions.
次に、前述したように並進動作及び回転動作について個別に計算された各開始点座標と、上式(4−1)及び(4−4)によってそれぞれ計算された等価並進行列及び等価回転行列とに基づいて、関節補間点生成部54において、各開始点座標で表される開始点からトーチ11の目標点に至る目標並進行列及び目標回転行列がそれぞれ計算される(小ステップS42)。
Next, as described above, the starting point coordinates calculated separately for the translation operation and the rotation operation, and the equivalent translation sequence and the equivalent rotation matrix calculated by the above equations (4-1) and (4-4), respectively, Based on the above, the joint interpolation
具体的には、目標並進行列MTargetParaについては、TP36aに入力されたパラメータ変数(CoorPara)が1(ワールド座標系)、2(ベース座標系)、又は3(ワーク座標系)のいずれかの場合には、式(4−1)で示されるMatXYZを、並進動作の開始点座標を表す同次変換行列MStartParaに対して左からかけることで計算する。このように等価並進行列MatXYZを同次変換行列MStartParaに対して左からかけることは、並進動作をワールド、ベース、ワーク座標系のいずれか一の基準座標系に関して行うことに相当する。本実施形態では、前述したように、パラメータ変数CoorPara=2であって、並進動作の基準座標系はベース座標系であるので、MatXYZはベース座標系の並進動作として計算される。このように計算すると、作業者が直接的に並進動作を認知できるベース座標系において所望の並進動作が実現され、トーチ11の操作が容易化されるため好ましい。この場合、目標並進行列MTargetParaは、関節補間点生成部54において、下式(4−2)によって計算される。
MTargetPara=MatXYZ×MStartPara…式(4−2)
Specifically, for the target parallel progression MTargetPara, when the parameter variable (CoorPara) input to the
MTargetPara = MatXYZ × MStartPara (Formula 4-2)
これに対して、TP36aに入力されたパラメータ変数(CoorPar)が4(ツール座標系)の場合には、式(4−1)で示されるMatXYZを、並進動作の開始点座標を表す同次変換行列MStartParaに対して右からかけることで目標並進行列MTargetParaを計算する。このように等価並進行列MatXYZを同次変換行列MStartParaに対して右からかけることは、並進動作を目標座標系に関して行うことに相当する。即ち、この場合は、目標並進行列MTargetParaは、関節補間点生成部54において、下式(4−3)によって計算される。
MTargetPara=MStartPara×MatXYZ…式(4−3)
On the other hand, when the parameter variable (CoorPar) input to the
MTargetPara = MStartPara × MatXYZ Formula (4-3)
一方、目標回転行列MTargetRotについては、TP36aに入力されたパラメータ変数(CoorRot)が1(ワールド座標系)、2(ベース座標系)、又は3(ワーク座標系)のいずれかの場合には、式(4−4)で示されるMatRPYを、回転動作の開始点座標を表す同次変換行列MStartRotに対して左からかけることで計算する。このように等価回転行列MatRPYを同次変換行列MStartRotに対して左からかけることは、回転動作をワールド、ベース、ワーク座標系のいずれか一の基準座標系に関して行うことに相当する。即ち、この場合、目標回転行列MTargetRotは、関節補間点生成部54において、下式(4−5)によって計算される。
MTargetRot=MatRPY×MStartRot…式(4−5)
On the other hand, for the target rotation matrix MTargetRot, if the parameter variable (CoorRot) input to the
MTargetRot = MatRPY × MStartRot ... (4-5)
これに対して、TP36aに入力されたパラメータ変数(CoorRot)が4(ツール座標系)の場合には、式(4−4)で示されるMatRPYを、回転動作の開始点座標を表す同次変換行列MStartRotに対して右からかけることで目標回転行列MTargetRotを計算する。このように等価回転行列MatRPYを同次変換行列MStartRotに対して右からかけることは、回転動作を目標座標系に関して行うことに相当する。本実施形態では、前述したように、回転動作の目標座標系はツール座標系であるので、MatRPYはツール座標系の回転動作として計算される。このように計算すると、作業者が直接的に回転動作を認知できるツール座標系において所望の回転動作が実現され、トーチ11の操作が容易化されるため好ましい。即ち、この場合は、目標回転行列MTargetRotは、関節補間点生成部54において、下式(4−6)によって計算される。
MTargetRot=MStartRot×MatRPY…式(4−6)
On the other hand, when the parameter variable (CoorRot) input to the
MTargetRot = MStartRot × MatRPY ... Formula (4-6)
次いで、以上のようにして計算された目標並進行列及び目標回転行列に基づいて、関節補間点生成部54において、多関節型ロボット1の各関節の関節角度が計算され、関節補間点バッファ54aに一時的に格納される(小ステップS43)。
Next, based on the target parallel progression and target rotation matrix calculated as described above, the joint interpolation
一般に、トーチ11の位置及び姿勢を前記した目標並進行列及び目標回転行列で示される座標に一致させるには、多関節型ロボットの各関節を操作することが必要になる。本実施形態では、多関節型ロボット1の各関節の関節角度を決定するために、多関節型ロボット1のベース座標系から見たエンドエフェクタ座標系の位置及び姿勢をそれぞれ表す同次変換行列TargetParaXBase2End及びTargetRotXBase2Endを、それぞれ表2に示す同次変換行列を用いて目標並進行列MTargetPara及び目標回転行列MTargetRotから抽出する方法を用いる。この方法を実行する計算式について、以下、並進動作及び回転動作の各動作について基準座標系別に示す。尚、各同次変換行列において、右上の添え字「−1」がある行列は、同表記の添え字のない行列に対する逆行列を示す。
Generally, in order to make the position and orientation of the
1)並進動作のパラメータ変数CoorPar=1(ワールド座標系基準)のとき、
TargetParaXBase2End=XWorld2Base-1×MTargetPara×XEnd2Tool-1…式(5−1)
2)回転動作のパラメータ変数CoorRot=1(ワールド座標系基準)のとき、
TargetRotXBase2End=XWorld2Base-1×MTargetRot×XEnd2Tool-1…式(5−2)
3)並進動作のパラメータ変数CoorPar=2(ベース座標系基準)のとき、
TargetParaXBase2End=MTargetPara×XEnd2Tool―1…式(5−3)
4)回転動作のパラメータ変数CoorRot=2(ベース座標系基準)のとき、
TargetRotXBase2End=MTargetRot×XEnd2Tool-1…式(5−4)
5)並進動作のパラメータ変数CoorPar=3(ワーク座標系基準)のとき、
TargetParaXBase2End=XWorld2Base-1×XWorld2Po×XPo2Work×MTargetPara×XEnd2Tool-1・・・式(5−5)
6)回転動作のパラメータ変数CoorRot=3(ワーク座標系基準)のとき、
TargetRotXBase2End=XWorld2Base-1×XWorld2Po×XPo2Work×MTargetRot×XEnd2Tool-1・・・式(5−6)
7)並進動作のパラメータ変数CoorPar=4(ツール座標系基準)のとき、
TargetParaXBase2End=MTargetPara×XEnd2Tool-1…式(5−7)
8)回転動作のパラメータ変数CoorRot=4(ツール座標系基準)のとき、
TargetRotXBase2End=MTargetRot×XEnd2Tool-1…式(5−8)
1) When the translation operation parameter variable CoorPar = 1 (world coordinate system reference),
TargetParaXBase2End = XWorld2Base −1 × MTargetPara × XEnd2Tool −1 Equation (5-1)
2) When the rotation operation parameter variable CoorRot = 1 (world coordinate system reference),
TargetRotXBase2End = XWorld2Base -1 x MTargetRot x XEnd2Tool -1 ... Formula (5-2)
3) When parameter variable CoorPar = 2 (base coordinate system reference) for translation operation,
TargetParaXBase2End = MTargetPara x XEnd2Tool- 1 ... Formula (5-3)
4) When the rotation operation parameter variable CoorRot = 2 (base coordinate system reference),
TargetRotXBase2End = MTargetRot x XEnd2Tool -1 ... Formula (5-4)
5) When parameter variable CoorPar = 3 (work coordinate system reference) for translation operation,
TargetParaXBase2End = XWorld2Base -1 x XWorld2Po x XPo2Work x MTargetPara x XEnd2Tool -1 Formula (5-5)
6) When parameter variable CoorRot = 3 (work coordinate system reference)
TargetRotXBase2End = XWorld2Base -1 x XWorld2Po x XPo2Work x MTargetRot x XEnd2Tool -1 Formula (5-6)
7) When parameter variable CoorPar = 4 (tool coordinate system reference) for translation,
TargetParaXBase2End = MTargetPara × XEnd2Tool −1 ... Formula (5-7)
8) When parameter variable CoorRot = 4 (tool coordinate system reference)
TargetRotXBase2End = MTargetRot x XEnd2Tool -1 ... Formula (5-8)
並進動作及び回転動作の各動作について、それぞれ個別の座標系を用いて上記のように計算されたTargetParaXBase2End及びTargetRotXBase2Endは、それぞれ、多関節型ロボットのベース座標系から見たエンドエフェクタ座標系の位置及び姿勢を表す同次変換行列である。したがって、同次変換行列TargetParaXBase2Endから位置成分を、同次変換行列TargetRotXBase2Endから姿勢成分を取り出して合成して得られる同次変換行列TargetMixXBase2Endが、トーチ11の位置及び姿勢を共に所望の状態(目標点の状態)とする同次変換行列となる。ここで、上述したように計算されたTargetParaXBase2End及びTargetRotXBase2Endの各同次変換行列は、それぞれ下式(7−1)及び式(7−2)で表される。
For each of the translation operation and the rotation operation, TargetParaXBase2End and TargetRotXBase2End calculated as described above using the respective coordinate systems are respectively the position of the end effector coordinate system viewed from the base coordinate system of the articulated robot, and It is a homogeneous transformation matrix representing an attitude. Therefore, the homogeneous transformation matrix TargetMixXBase2End obtained by synthesizing the position component from the homogeneous transformation matrix TargetParaXBase2End and the posture component from the homogeneous transformation matrix TargetRotXBase2End combines the position and orientation of the
この場合、同次変換行列TargetMixXBase2Endは、並進成分と回転成分とをそれぞれ上式(7−1)及び式(7−2)から分離し、再結合する従来周知の方法によって、下式(7−3)で表される。
上式(7−3)によって、多関節型ロボット1のベース座標系から見たエンドエフェクタ座標系の位置及び姿勢を表す同次変換行列が得られる。この変換プロセスについて、図9を参照して説明すると、前述したように、本実施形態では、開始点座標は、並進動作については、ベース座標系を基準とし、回転動作については、ツール座標系を基準とする。また、開始点P0から目標点Pnまでの並進移動(距離D[mm]の移動)及び回転移動(角度α[°]の移動)は、ベース座標系を基準としたエンドエフェクタ座標系の同次変換行列で表現する。即ち、並進動作については、TargetParaXBase2Endと表現し、回転動作については、TargetRotXBase2Endと表現する。さらに、目標点Pnは、両同次変換行列を合成して得られる同次変換行列TargetMixXBase2Endによって、ベース座標系を基準として統一的に扱われる。
By the above equation (7-3), a homogeneous transformation matrix representing the position and orientation of the end effector coordinate system viewed from the base coordinate system of the articulated
以上のように計算された同次変換行列を、関節補間点生成部54において、従来周知の方法で逆変換して多関節型ロボット1の各関節角度を算出することにより、当該多関節型ロボット1のトーチ11が開始点から目標点(手動制御の終了点)に至る全補間周期で到達する関節角度が求められる。
The joint interpolation
その後、図5を参照して、サーボ出力部55(図4参照)によって、関節補間点バッファ54aから多関節型ロボット1の各関節角度が読み出され、該各関節角度に基づいて、サーボドライバ38a(図2参照)に多関節型ロボット1の各関節及びトーチ11の位置及び姿勢を目標の状態とさせる指令(多関節型ロボット1の各関節に対する位置指令)が生成される。その後、サーボ出力部55から、前記位置指令をサーボドライバI/F38を介して各サーボドライバ38aに送信することでサーボモータ13a〜13fを制御し、これによりトーチ11を開始点から目標点に到達させるようにする。尚、前記位置指令は、タイマー34(図2参照)で発生する同期信号に同期して各サーボドライバ38aへ送信される(ステップS5)。
Thereafter, referring to FIG. 5, the servo output unit 55 (see FIG. 4) reads out the joint angles of the articulated
以上説明したように、本実施形態によれば、下記する作用・効果が奏される。
(1)本実施形態では、多関節型ロボット1の位置及び姿勢を直交座標系を用いて手動で制御するにあたり、当該多関節型ロボット1に備えられたツールの並進動作と回転動作とに用いる基準座標系を各動作ごとにそれぞれ個別に設定した後、各基準座標系に基づいて並進動作及び回転動作の手動制御を行うようにしている。このため、多関節型ロボット1のトーチ11の位置及び姿勢を直交座標系を用いて手動で制御する前に、該トーチ11の並進動作及び回転動作の各動作に対してそれぞれ適した基準座標系を設定しておくことができる。これにより、前記手動制御の最中に、多関節型ロボット1のトーチ11の並進動作及び回転動作の各動作にそれぞれ適した基準座標系に切り替えるという煩雑な操作を行う必要がなくなり、作業者が簡易に多関節型ロボット1のトーチ11を手動制御することができるようになる。その結果、多関節型ロボット1へ作業プログラムを教示するために要する教示時間が低減され、多関節型ロボット1の教示作業が簡略化されるようになる。
As described above, according to the present embodiment, the following operations and effects are achieved.
(1) In this embodiment, when manually controlling the position and orientation of the articulated
(2)本実施形態では、トーチ11の並進動作の基準座標系としてベース座標系を用いるとともに、トーチ11の回転動作の基準座標系としてツール座標系を用いている。このため、トーチ11の並進動作については、作業者が直接的にその動作を認知できるベース座標系において所望の並進動作が実現される一方、トーチ11の回転動作についても、作業者が直接的にその動作を認知できるツール座標系において所望の回転動作が実現されるようになり、トーチ11の手動制御が容易化されるようになる。
(2) In this embodiment, the base coordinate system is used as the reference coordinate system for the translation operation of the
(3)本実施形態では、トーチ11の並進動作の基準座標系を手動制御の状態に応じて変更したときでも、トーチ11の回転動作の基準座標系は、トーチ11の姿勢が変更された方向が作業者によって容易に認知できるツール座標系に固定されている。したがって、作業者に多関節型ロボット1の手動制御にあたっての混乱を生じさせることがなく、多関節型ロボット1の手動制御による教示時間を低減させることができる。
(3) In this embodiment, even when the reference coordinate system of the translation operation of the
尚、上記実施形態は以下のように変形してもよい。
・上記実施形態では、多関節型ロボット1のトーチ11の並進動作及び回転動作の基準座標系として、それぞれワールド座標系、ベース座標系、ワーク座標系、又はツール座標系のいずれか一の座標系を選択可能なようにしたが、トーチ11の並進動作及び回転動作に対して個別に基準座標系を設定し得るようにする限り、これらの座標系に限るものではなく、多関節型ロボット1で一般に用いられるその他の座標系、例えば、エンドエフェクタ座標系やポジショナ座標系、ショップフロア座標系、又は、その他の任意座標系を選択可能としてもよい。
The above embodiment may be modified as follows.
In the above embodiment, the coordinate system of any one of the world coordinate system, the base coordinate system, the work coordinate system, and the tool coordinate system is used as the reference coordinate system for the translation operation and the rotation operation of the
・また、上記実施形態では、多関節型ロボット1のトーチ11の並進動作の基準座標系にベース座標系を用い、回転動作の基準座標系にツール座標系を用いるようにした。しかし、これに限らず、例えば、並進動作の基準座標系にワールド座標系を用い、回転動作の基準座標系にツール座標系を用いるようにしてもよい。
In the above embodiment, the base coordinate system is used as the reference coordinate system for the translation operation of the
・また、上記実施形態では、直交座標系で表現された姿勢に対応する累積回転移動量を多関節型ロボット1の各関節の関節角度に逆変換するにあたり、該累積回転移動量を用いて等価回転行列を定義するためにロール・ピッチ・ヨー角による表現を用いたが、オイラー角による表現を用いることも可能である。
In the above embodiment, when the cumulative rotational movement amount corresponding to the posture expressed in the Cartesian coordinate system is inversely converted to the joint angle of each joint of the articulated
・また、上記実施形態の多関節型ロボット装置の制御システムにおいては、6軸の多関節型ロボット1及び2軸のポジショナ2を備えた構成としたが、当該制御システムにおいては、ロボットによる溶接作業が容易且つ確実に行える限り、ポジショナ2は必ずしも必要ではない。また、ポジショナ2の代わりに6軸の第二の多関節型ロボットを用いることもできる。このようにポジショナ2に代えて6軸の第二の多関節型ロボットを用いる場合には、ポジショナ2に設定したワーク座標系とポジショナ座標系の代わりに、該第二の多関節型ロボットに設定したロボットワールド座標系、ベース座標系、又はツール座標系のいずれかの座標系を基準座標系又は目標座標系に用いることができる。
In the control system for the articulated robot apparatus of the above embodiment, the 6-axis articulated
・また、上記実施形態では、多関節型ロボット1(産業用ロボット)を自動車等の溶接に用いる溶接ロボット、即ち、ツールとしてトーチ11(溶接トーチ)を備える溶接ロボットとしたが、本発明の技術的思想は、その他の産業用ロボット、例えば、組立ロボット、塗装ロボット、検査ロボット、研摩ロボット、洗浄ロボット等にも適用することができる。 In the above embodiment, the articulated robot 1 (industrial robot) is a welding robot that is used for welding of an automobile or the like, that is, a welding robot including a torch 11 (welding torch) as a tool. The technical idea can also be applied to other industrial robots such as assembly robots, painting robots, inspection robots, polishing robots, and cleaning robots.
さらに、前記した実施形態および変形例より把握できる技術的思想について以下に記載する。 Further, technical ideas that can be grasped from the above-described embodiments and modifications will be described below.
・産業用ロボットのツールの位置及び姿勢を直交座標系を用いて手動で制御するにあたって使用される制御システムであって、請求項4又は請求項5に記載の各ステップを実行することを特徴とする産業用ロボットのツールの位置・姿勢制御システム。このように構成した場合、産業用ロボットの位置及び姿勢を直交座標系を用いて手動で制御する方法であって、前記産業用ロボットに備えられたツールの並進動作と回転動作とに用いる基準座標系を各動作ごとにそれぞれ個別に設定した後、各基準座標系に基づいて並進動作及び回転動作の手動制御を行う方法を、系統だった制御システムで実現することができる。
A control system used for manually controlling the position and orientation of a tool of an industrial robot using an orthogonal coordinate system, wherein each step according to
1…多関節型ロボット,2…ポジショナ,3…ロボット制御装置,4…溶接制御装置,11…トーチ。
DESCRIPTION OF
Claims (3)
(1)ロボット作業命令の教示手段に対して手動制御が実行されたことを検知し、当該検知を契機として前記産業用ロボットへの手動運転命令を生成する手動運転命令生成ステップと、
(2)前記手動運転命令に基づいて、前記ツールの手動制御の開始点座標を計算する開始点座標計算ステップと、
(3)前記手動運転命令及び開始点座標に基づいて、所定の補間周期毎に前記ツールの位置及び姿勢に関するデータを計算するとともに、該位置及び姿勢データを、それぞれ前記開始点座標で表される開始点からツールの目標点に至る全補間周期で累積計算して並進動作及び回転動作の累積移動量を得る累積移動量計算ステップと、
(4)前記累積移動量を、前記産業用ロボットの各関節の関節角度に逆変換することで、前記ツールを前記開始点から目標点に到達させる位置指令を生成するツール位置指令生成ステップと、
(5)前記指令を前記産業用ロボットの各関節を動かすサーボ機構に与えることで当該サーボ機構を制御し、これにより前記ツールを前記開始点から目標点に到達させるようにするサーボ機構制御ステップと、を備え、
前記開始点座標計算ステップ及び累積移動量計算ステップの各ステップにおいて、前記ロボットのツールの並進動作及び回転動作の各動作に対してそれぞれ個別に1つ、前記手動制御前に予め設定した基準座標系に基づき、前記開始点座標、位置及び姿勢データ、又は各動作の累積移動量を計算するようにしたことを特徴とする産業用ロボットのツールの位置・姿勢制御方法。 A method of manually controlling the position and orientation of a tool of an industrial robot having multiple joints using an orthogonal coordinate system,
(1) a manual operation command generation step of detecting that manual control is performed on the robot work command teaching means, and generating a manual operation command to the industrial robot in response to the detection;
(2) a start point coordinate calculating step of calculating a start point coordinate of manual control of the tool based on the manual operation command;
(3) Based on the manual operation command and start point coordinates, data on the position and orientation of the tool is calculated for each predetermined interpolation period, and the position and orientation data are represented by the start point coordinates, respectively. A cumulative movement amount calculating step for accumulating and calculating a cumulative movement amount of translational motion and rotational motion by accumulating all interpolation cycles from the start point to the target point of the tool;
(4) A tool position command generation step for generating a position command for causing the tool to reach a target point from the start point by inversely converting the cumulative movement amount into a joint angle of each joint of the industrial robot;
(5) a servomechanism control step for controlling the servomechanism by giving the command to a servomechanism that moves each joint of the industrial robot, thereby causing the tool to reach the target point from the start point; With
In each of the start point coordinate calculation step and the cumulative movement amount calculation step, one individually for each of the translation operation and the rotation operation of the tool of the robot, a reference coordinate system set in advance before the manual control The position / posture control method of the industrial robot tool, wherein the start point coordinates, position and posture data, or cumulative movement amount of each operation is calculated based on the above.
(i)前記位置及び姿勢の累積移動量にそれぞれ対応する等価並進行列及び等価回転行列を計算する等価並進・回転行列計算ステップと、
(ii)前記開始点座標と、前記等価並進行列及び等価回転行列とに基づいて、前記ツールを前記開始点から目標点に到達させる目標並進行列及び目標回転行列を計算する目標並進・回転行列計算ステップと、
(iii)前記目標並進行列及び目標回転行列に基づいて前記産業用ロボットの各関節角
度を計算するロボット関節角度計算ステップと、
が含まれる産業用ロボットのツールの位置・姿勢制御方法。 The tool position / posture control method according to claim 1, wherein the tool position command generation step includes:
(I) an equivalent translation / rotation matrix calculation step for calculating an equivalent translation sequence and an equivalent rotation matrix respectively corresponding to the accumulated movement amounts of the position and orientation;
(Ii) Target translation / rotation matrix calculation for calculating a target translation sequence and target rotation matrix for causing the tool to reach a target point from the start point based on the start point coordinates and the equivalent translation sequence and equivalent rotation matrix Steps,
(Iii) a robot joint angle calculation step of calculating each joint angle of the industrial robot based on the target parallel progression and target rotation matrix;
Tool position / posture control method for industrial robots.
ロボット作業命令の教示手段に対して手動制御が実行されたことを検知し、当該検知を契機として前記産業用ロボットへの手動運転命令を生成する手動運転命令生成手段と、
前記手動運転命令に基づいて、前記ツールの手動制御の開始点座標を計算する開始点座標計算手段と、
前記手動運転命令及び開始点座標に基づいて、所定の補間周期毎に前記ツールの位置及び姿勢に関するデータを計算するとともに、該位置及び姿勢データを、それぞれ前記開始点座標で表される開始点からツールの目標点に至る全補間周期で累積計算して並進動作及び回転動作の累積移動量を得る累積移動量計算手段と、
前記累積移動量を、前記産業用ロボットの各関節の関節角度に逆変換することで、前記ツールを前記開始点から目標点に到達させる位置指令を生成するツール位置指令生成手段と、
前記位置指令を前記産業用ロボットの各関節を動かすサーボ機構に送信することで当該サーボ機構を制御し、これにより前記ツールを前記開始点から目標点に到達させるようにするサーボ機構制御手段と、を備え、
前記開始点座標計算手段及び累積移動量計算手段の各手段において、前記ロボットのツールの並進動作及び回転動作の各動作に対して、それぞれ個別に1つ、前記手動制御前に予め設定した基準座標系に基づき、前記開始点座標、位置及び姿勢データ、又は各動作の累積移動量を計算するようにしたことを特徴とする産業用ロボットのツールの位置・姿勢制御システム。 A control system used to manually control the position and posture of an industrial robot tool using an orthogonal coordinate system,
Manual operation instruction generating means for detecting that manual control has been executed on the robot work instruction teaching means, and generating a manual operation instruction to the industrial robot in response to the detection;
Starting point coordinate calculating means for calculating a starting point coordinate of manual control of the tool based on the manual operation command;
Based on the manual operation command and the start point coordinates, data on the position and orientation of the tool is calculated for each predetermined interpolation cycle, and the position and orientation data are respectively calculated from the start point represented by the start point coordinates. Cumulative movement amount calculation means for obtaining cumulative movement amounts of translational motion and rotational motion by cumulatively calculating in all interpolation cycles to the target point of the tool;
A tool position command generating means for generating a position command for causing the tool to reach a target point from the start point by inversely converting the cumulative movement amount into a joint angle of each joint of the industrial robot;
Servo mechanism control means for controlling the servo mechanism by transmitting the position command to a servo mechanism for moving each joint of the industrial robot, thereby causing the tool to reach the target point from the start point; With
In each of the starting point coordinate calculating means and the cumulative movement amount calculating means, one individually for each of the translational operation and the rotational operation of the tool of the robot, and the reference coordinates set in advance before the manual control An industrial robot tool position / posture control system, wherein the start point coordinates, position and posture data, or cumulative movement amount of each operation is calculated based on a system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006152202A JP5144035B2 (en) | 2006-05-31 | 2006-05-31 | Industrial robot tool position / posture control method and control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006152202A JP5144035B2 (en) | 2006-05-31 | 2006-05-31 | Industrial robot tool position / posture control method and control system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007319970A JP2007319970A (en) | 2007-12-13 |
JP5144035B2 true JP5144035B2 (en) | 2013-02-13 |
Family
ID=38853186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006152202A Active JP5144035B2 (en) | 2006-05-31 | 2006-05-31 | Industrial robot tool position / posture control method and control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5144035B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110497391A (en) * | 2019-09-04 | 2019-11-26 | 湖南三一快而居住宅工业有限公司 | Mechanical arm teaching method and mechanical arm teaching apparatus |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012106321A (en) * | 2010-11-19 | 2012-06-07 | Daihen Corp | Method and device for controlling robot |
JP5848535B2 (en) * | 2011-07-05 | 2016-01-27 | 川崎重工業株式会社 | Stretch forming device |
JP5971842B2 (en) * | 2012-03-26 | 2016-08-17 | 株式会社ダイヘン | Robot controller |
JP5972027B2 (en) * | 2012-04-27 | 2016-08-17 | 株式会社ダイヘン | Robot controller |
JP2016101650A (en) * | 2014-11-29 | 2016-06-02 | ライフロボティクス株式会社 | Robot device and robot control device |
EP3348360A4 (en) * | 2015-09-11 | 2019-09-25 | Life Robotics Inc. | Robot apparatus |
DE102019211270B3 (en) * | 2019-07-30 | 2020-11-26 | Kuka Deutschland Gmbh | Controlling a Robot |
CN110977991A (en) * | 2019-12-31 | 2020-04-10 | 芜湖哈特机器人产业技术研究院有限公司 | Motion control method for airplane cleaning mechanical arm |
CN112475897B (en) * | 2020-11-23 | 2022-03-29 | 陕西固德电子技术有限公司 | Welding robot |
CN115008468B (en) * | 2022-07-04 | 2024-09-03 | 中国科学院沈阳自动化研究所 | Mechanical arm attitude speed planning control method |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06155236A (en) * | 1992-11-11 | 1994-06-03 | Yokogawa Electric Corp | Robot control device |
JPH08161025A (en) * | 1994-12-08 | 1996-06-21 | Kobe Steel Ltd | Teaching device |
JP4221464B2 (en) * | 2002-04-19 | 2009-02-12 | 川崎重工業株式会社 | Robot system teaching method and teaching apparatus |
-
2006
- 2006-05-31 JP JP2006152202A patent/JP5144035B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110497391A (en) * | 2019-09-04 | 2019-11-26 | 湖南三一快而居住宅工业有限公司 | Mechanical arm teaching method and mechanical arm teaching apparatus |
CN110497391B (en) * | 2019-09-04 | 2020-11-03 | 湖南三一快而居住宅工业有限公司 | Mechanical arm demonstration method and mechanical arm demonstration device |
Also Published As
Publication number | Publication date |
---|---|
JP2007319970A (en) | 2007-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5144035B2 (en) | Industrial robot tool position / posture control method and control system | |
KR100765671B1 (en) | Robot locus control method and apparatus, and computer-readable recording medium storing program of robot locus control method | |
JP6167770B2 (en) | Multi-axis robot trajectory generation method and multi-axis robot controller | |
JP6268819B2 (en) | Trajectory generation method for multi-axis robot | |
JP6379874B2 (en) | Teaching system, robot system, and teaching method | |
JP6238628B2 (en) | Robot device, robot control method, robot control program, and part manufacturing method using robot device | |
JPH079606B2 (en) | Robot controller | |
JP2017094440A (en) | Direct teaching method of robot | |
WO2018212239A1 (en) | Remote operation robot system | |
US10946514B2 (en) | Controller, work control unit, multi-axis motion control unit, and drive control unit | |
US20210260750A1 (en) | Method to Modify a Program for Robotic Welding | |
JP4396553B2 (en) | Robot controller, computer program | |
JP2017196722A (en) | Robot control apparatus for displaying operation program including state of additional axis | |
JP4498061B2 (en) | Welding robot controller | |
JP2013223895A (en) | Robot control method and robot control device | |
JP4528577B2 (en) | Industrial robot | |
JP2013220501A (en) | Robot control method and robot control device | |
JP6429977B2 (en) | Robot apparatus and robot control method | |
JP4221464B2 (en) | Robot system teaching method and teaching apparatus | |
JP5513207B2 (en) | Welding robot controller | |
JP2009148894A (en) | Multi-articulated robot | |
JP7502439B2 (en) | Robot Control Device | |
JP2013223896A (en) | Robot control method and robot control device | |
JP2014159066A (en) | Robot control device and robot control method | |
JPH08323665A (en) | Instruction controller of robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20090304 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090309 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20090304 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110913 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120403 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120530 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121113 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121122 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151130 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5144035 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |