JP6926882B2 - Robot control device - Google Patents
Robot control device Download PDFInfo
- Publication number
- JP6926882B2 JP6926882B2 JP2017181390A JP2017181390A JP6926882B2 JP 6926882 B2 JP6926882 B2 JP 6926882B2 JP 2017181390 A JP2017181390 A JP 2017181390A JP 2017181390 A JP2017181390 A JP 2017181390A JP 6926882 B2 JP6926882 B2 JP 6926882B2
- Authority
- JP
- Japan
- Prior art keywords
- command value
- axis
- arm
- spring constant
- hand
- 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
- 230000001133 acceleration Effects 0.000 claims description 30
- 238000004364 calculation method Methods 0.000 claims description 17
- 230000007246 mechanism Effects 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000009434 installation Methods 0.000 claims description 3
- 230000000052 comparative effect Effects 0.000 description 13
- 238000013016 damping Methods 0.000 description 9
- 238000000034 method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 230000003111 delayed effect Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 229920006395 saturated elastomer Polymers 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 210000000707 wrist Anatomy 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007562 laser obscuration time method Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Manipulator (AREA)
Description
本発明は、ロボットの動作を制御する装置に関する。 The present invention relates to a device that controls the operation of a robot.
従来、ロボットのアームの先端近傍に加速度量を検出する加速度センサを取り付け、加速度センサにより検出された加速度量に基づいて、アームの先端に生じた振動を抑制するように各関節部の駆動部を制御する指令値を補償するものがある(特許文献1参照)。 Conventionally, an acceleration sensor that detects the amount of acceleration is attached near the tip of the arm of the robot, and based on the amount of acceleration detected by the acceleration sensor, the drive unit of each joint is operated so as to suppress the vibration generated at the tip of the arm. There is one that compensates for the command value to be controlled (see Patent Document 1).
ところで、このように加速度センサにより検出された加速度量を用いる手法では、実際に振動が発生するアームの先端近傍に加速度センサを取り付ける必要がある。しかしながら、現実のロボットに適用する場合には、アームの先端近傍に加速度センサを取り付けるスペースや、加速度センサまでの配線の取り回し等が問題となり、実現が困難である。 By the way, in the method using the acceleration amount detected by the acceleration sensor in this way, it is necessary to attach the acceleration sensor near the tip of the arm where vibration actually occurs. However, when it is applied to an actual robot, it is difficult to realize it because there are problems such as a space for attaching the acceleration sensor near the tip of the arm and wiring arrangement to the acceleration sensor.
本発明は、上記事情に鑑みてなされたものであり、その目的は、加速度センサを用いることなくロボットの振動を抑制できるロボットの制御装置を提供することにある。 The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a robot control device capable of suppressing vibration of a robot without using an acceleration sensor.
請求項1記載のロボットの制御装置によれば、設置面に対し垂直となる第1軸と、この第1軸に対して垂直となる第2軸と、この第2軸以降に連結される複数の軸のうち、少なくとも1つが第2軸に対して平行となる軸を備える4軸以上のアームを有するロボットを制御対象とする。速度パターン生成部は、アームの手先を移動させる最終目標位置が与えられると、その手先を最終目標位置に移動させる速度パターンを生成する。指令値算出部は、手先を制御周期毎の通過目標位置に移動させるように、サーボ機構に与える角度指令値を算出する。指令値変換部は、角度指令値を位置指令値に変換する。 According to the robot control device according to claim 1, a first axis perpendicular to the installation surface, a second axis perpendicular to the first axis, and a plurality of connected axes after the second axis. A robot having four or more axes having an axis in which at least one of the axes is parallel to the second axis is targeted for control. When the final target position for moving the hand of the arm is given, the speed pattern generation unit generates a speed pattern for moving the hand to the final target position. The command value calculation unit calculates the angle command value given to the servo mechanism so as to move the hand to the passing target position for each control cycle. The command value conversion unit converts the angle command value into the position command value.
上記構成のアームを有するロボットについては、アーム全体を1つのバネと見做し、
「アームのイナーシャ」−「アームバネ」−「ワークのイナーシャ」が連結したモデルを想定することができる。この場合、「アームのイナーシャ」と「アームバネ」とは、手先の位置に応じて変化することになる。そして、アームが手先に保持したワークを移動させるため加速する際には、慣性力によってアームの先端側の移動が遅れ、減速する際には、逆に先端側の移動が先に進む。これにより、振動が発生する。
For a robot having an arm with the above configuration, the entire arm is regarded as one spring, and the entire arm is regarded as one spring.
A model in which "arm inertia"-"arm spring"-"work inertia" is connected can be assumed. In this case, the "arm inertia" and the "arm spring" change according to the position of the hand. Then, when the arm accelerates to move the work held by the hand, the movement of the tip side of the arm is delayed due to the inertial force, and when decelerating, the movement of the tip side advances conversely. This causes vibration.
そこで、バネ定数演算部は、位置指令値に応じてアームのバネ定数を演算する。加速度算出部は、位置指令値が制御周期毎に変化する際の加速度を算出する。補正量演算部は、バネ定数,アーム及び手先に保持されるワークの質量並びに加速度から指令値の補正量を演算すると、指令値補正部は、前記補正量に基づきした位置指令値を角度指令値に逆変換してサーボ機構に出力する。 Therefore, the spring constant calculation unit calculates the spring constant of the arm according to the position command value. The acceleration calculation unit calculates the acceleration when the position command value changes for each control cycle. When the correction amount calculation unit calculates the correction amount of the command value from the spring constant, the mass of the work held by the arm and the hand, and the acceleration, the command value correction unit calculates the position command value based on the correction amount as the angle command value. Is converted back to and output to the servo mechanism.
これにより、アームの加速時には、先端側が遅れる分だけアームの基部側が先に進むように指令値が補正され、アームの減速時には、先端側が進む分だけアームの基部側が遅れるように指令値が補正されて、振動が抑制される。したがって、アームの先端部に加速度センサ等を取り付けずとも、アームが手先に保持したワークを移動させる際に発生する振動を抑制することができる。 As a result, when accelerating the arm, the command value is corrected so that the base side of the arm advances by the amount of delay of the tip side, and when decelerating the arm, the command value is corrected so that the base side of the arm is delayed by the amount of advance of the tip side. Therefore, vibration is suppressed. Therefore, it is possible to suppress the vibration generated when the arm moves the work held by the hand without attaching an acceleration sensor or the like to the tip of the arm.
請求項2記載のロボットの制御装置によれば、バネ定数演算部は、アーム全体のバネ定数を演算する。これにより、演算量を減らして補正処理を高速に実行できる。
請求項3記載のロボットの制御装置によれば、バネ定数演算部は、第3軸から手先までの距離をL3,第1軸から手先までの距離をLf,第1軸を基準とする第3軸までのバネ定数をK12,第3軸を基準とする手先までのバネ定数をK3とすると、補正量を求めるために使用するバネ定数Kを、次式
1/K={1/K12+L3 2/(K3Lf 2)}
で求める。これにより、アームを一体的にバネとして捉えた際のバネ定数Kを迅速に求めることができる。
According to the robot control device according to
According to the control device for the robot according to the third aspect, the spring constant calculation unit uses the distance from the third axis to the hand as L 3 , the distance from the first axis to the hand as L f , and the first axis as a reference. Assuming that the spring constant up to the third axis is K 12 and the spring constant up to the hand based on the third axis is K 3 , the spring constant K used to obtain the correction amount is 1 / K = {1. / K 12 + L 3 2 / (K 3 L f 2 )}
Ask for. As a result, the spring constant K when the arm is integrally regarded as a spring can be quickly obtained.
請求項4記載のロボットの制御装置によれば、指令値補正部は、補正した指令値に対しローパスフィルタ処理を行う。補正値には加速度がパラメータとして含まれているため、加速度に広域のノイズ成分が重畳されたり、立上りが急峻になるとトルクが飽和する場合がある。そこで、補正した指令値についてローパスフィルタ処理を行うことにより、トルクが飽和することを防止できる。 According to the robot control device according to claim 4 , the command value correction unit performs low-pass filter processing on the corrected command value. Since the correction value includes the acceleration as a parameter, the torque may be saturated when a wide-area noise component is superimposed on the acceleration or when the rise becomes steep. Therefore, it is possible to prevent the torque from being saturated by performing a low-pass filter process on the corrected command value.
請求項5記載のロボットの制御装置によれば、指令値補正部は、質量をバネ定数で除した補正係数に応じて、ローパスフィルタ処理の遮断周波数を可変設定する。これにより、質量及びバネ定数も考慮して遮断周波数を適切に設定できる。
According to the robot control device according to
(第1実施形態)
以下、第1実施形態について図1から図11を参照しながら説明する。図2に示すように、ロボットシステム1は、垂直多関節型のロボット2、ロボット2を制御するコントローラ3、コントローラ3に接続されたペンダント4を備えている。このロボットシステム1は、一般的な産業用に用いられている。
(First Embodiment)
Hereinafter, the first embodiment will be described with reference to FIGS. 1 to 11. As shown in FIG. 2, the robot system 1 includes a vertically articulated
ロボット2は、いわゆる6軸の垂直多関節型ロボットとして周知の構成を備えており、ベース5上に、Z方向の軸心を持つ第1軸(J1)を介してショルダ6が水平方向に回転可能に連結されている。ショルダ6には、Y方向の軸心を持つ第2軸(J2)を介して上方に延びる下アーム7の下端部が垂直方向に回転可能に連結されている。下アーム7の先端部には、Y方向の軸心を持つ第3軸(J3)を介して第一上アーム8が垂直方向に回転可能に連結されている。
The
第一上アーム8の先端部には、X方向の軸心を持つ第4軸(J4)を介して第二上アーム9が捻り回転可能に連結されている。第二上アーム9の先端部には、Y方向の軸心を持つ第5軸(J5)を介して手首10が垂直方向に回転可能に連結されている。手首10には、X方向の軸心を持つ第6軸(J6)を介してフランジ11が捻り回転可能に連結されている。
A second upper arm 9 is rotatably connected to the tip of the first
ベース5、ショルダ6、下アーム7、第一上アーム8、第二上アーム9、手首10およびフランジ11は、ロボット2のアームとして機能し、アームの先端となるフランジ11には、図1に示すようにワーク13を保持するための図示しないツールが取り付けられるロボット2に設けられている各軸(J1〜J6)には、それぞれに対応して駆動源となる図示しないモータが設けられている。
The
コントローラ3は、ロボット2の制御装置であり、図示しないCPU、ROMおよびRAM等で構成されたコンピュータからなる制御手段においてコンピュータプログラムを実行することで、ロボット2を制御している。具体的には、コントローラ3は、インバータ回路等から構成された駆動部を備えており、各モータに対応して設けられているエンコーダで検知したモータの回転位置に基づいて例えばフィードバック制御によりそれぞれのモータを駆動する。
The
コントローラ3は、CPU、ROM、RAM、駆動回路、及び位置検出回路等を備えている。ROMは、ロボット2のシステムプログラムや動作プログラム等を記憶している。RAMは、これらのプログラムを実行する際にパラメータの値等を記憶する。位置検出回路には、ロボット2の各関節に設けられた図示しない各エンコーダの検出信号がそれぞれ入力される。位置検出回路は、各エンコーダの検出信号に基づいて、各関節に設けられたモータの回転角度位置を検出する。図1に示すように、こうしたコントローラ3において、軌道生成部21、指令値補正部22及びサーボ機構23が構成されている。
The
コントローラ3は、ロボット2の動作プログラム等に基づいて、第6軸の先端部である手先の目標停止位置を算出する。そして、コントローラ3は、目標停止位置に基づいて、各軸の目標停止角度位置を算出する。軌道生成部21は、各軸の目標停止角度位置に基づいて、各軸の角度位置を目標停止角度位置まで変更する際の各軸の角速度パターンを生成する。軌道生成部21は、各軸の角速度パターンに基づいて、各軸の直近の目標角度位置である指令値θnを算出する。駆動制御部に相当するサーボ機構23は、各エンコーダにより検出された各軸の角度θenと指令値θnとに基づいて、各軸の角度を指令値θnとするように、各モータを各駆動トルクTnで制御する。指令値補正部22は、指令値θnに補正を加えた指令値θn’をサーボ機構23に出力する。その補正の詳細については後述する。
The
本実施形態では、コントローラ3は、ロボット2を図3に示す動作モデルとして捉え、手先の振動を抑制する制振制御を実行する。同図に示すように、6軸のロボット2は、基部にある第1軸のモータに対して6軸のアームが連結されており、そのアームの先端にワーク13が保持されている。この場合、6軸のアームを1つのバネとして見ると、そのバネにアームのイナーシャと、ワーク13である負荷のイナーシャとが連結されたモデルとして見ることができる。
In the present embodiment, the
次に、このモデルが適用可能なロボットのアーム構造について図4から図6を参照して説明する。図4は、図2に示す垂直6軸ロボットに対応したもので、設置面に対し垂直となる第1軸と、この第1軸に対して垂直となる第2軸と、この第2軸以降に連結される複数の軸のうち、少なくとも1つが第2軸に対して平行となる第3軸を備える4軸以上のアームを有するロボットである。図5は、図4に示す構成の第5軸を除いて、第6軸に相当するものを第5軸とした垂直5軸ロボットである。また、図6は、図4に示す構成の第2軸と第3軸との間に、第2軸に直行する第7軸を加えた垂直7軸ロボットである。これらに対して、図2に示すモデルが同様に適用できる。 Next, the arm structure of the robot to which this model can be applied will be described with reference to FIGS. 4 to 6. FIG. 4 corresponds to the vertical 6-axis robot shown in FIG. 2, the first axis perpendicular to the installation surface, the second axis perpendicular to the first axis, and the second and subsequent axes. A robot having four or more axes having a third axis whose at least one is parallel to the second axis among a plurality of axes connected to the robot. FIG. 5 is a vertical 5-axis robot having a fifth axis corresponding to the sixth axis, excluding the fifth axis having the configuration shown in FIG. Further, FIG. 6 is a vertical 7-axis robot in which a 7th axis orthogonal to the 2nd axis is added between the 2nd axis and the 3rd axis having the configuration shown in FIG. The model shown in FIG. 2 can be similarly applied to these.
図7は、本実施形態の制振制御の原理を説明するもので、本実施形態における制御と比較例とを示す。図中における上方のポイントがアームの基部側,第1軸のモータ側に、下方のポイントが先端側,負荷側に相当し、アームを1つのリンクのみに単純化している。このモデルが、基部側が図中右方向にリニアに移動する場合について説明する。上段の図が、基部側を単に移動させる場合の比較例であり、下段の図が本実施形態の制御原理を適用した場合である。 FIG. 7 describes the principle of vibration damping control of the present embodiment, and shows the control and the comparative example of the present embodiment. In the figure, the upper point corresponds to the base side of the arm and the motor side of the first axis, and the lower point corresponds to the tip side and the load side, and the arm is simplified to only one link. A case where the base side of this model moves linearly to the right in the figure will be described. The upper figure is a comparative example when the base side is simply moved, and the lower figure is a case where the control principle of the present embodiment is applied.
比較例では、基部が停止状態から移動を開始して右方向に加速すると、先端部には慣性力が作用するため、その分だけ移動が遅れる。逆に、基部が移動状態から停止させるために減速すると、先端部には慣性力が作用する分だけ移動位置が進む。そして、基部が停止すると、先端部の位置は、先に進んだ位置から左方向に戻る。このような動きが、アームに振動を発生させている。 In the comparative example, when the base starts moving from the stopped state and accelerates to the right, an inertial force acts on the tip, so that the movement is delayed by that amount. On the contrary, when the base is decelerated to stop from the moving state, the moving position advances by the amount of inertial force acting on the tip. Then, when the base portion is stopped, the position of the tip portion returns to the left from the position where the tip portion has advanced. Such movement causes the arm to vibrate.
この比較例の動きに対して本実施形態の制御原理を適用すると、基部が加速する際には、先端部の移動が遅れる分だけ基部を先行させるように加速させる。また、基部が減速する際には、先端部の位置が進んでいる分だけ基部を遅らせるように減速させる。そして、基部を停止させる際には、先端部が左方向に戻ろうとする復元力に合せて基部を移動させる。このように制御することで、アームの振動を抑制する。 When the control principle of the present embodiment is applied to the movement of this comparative example, when the base is accelerated, the base is accelerated by the amount of delay in the movement of the tip. Further, when the base portion is decelerated, the base portion is decelerated so as to be delayed by the amount that the position of the tip portion is advanced. Then, when the base portion is stopped, the base portion is moved according to the restoring force that the tip portion tends to return to the left. By controlling in this way, the vibration of the arm is suppressed.
次に、実際の制御に使用するバネ定数Kの求め方について、図8を参照して説明する。図中右側のポイントが、6軸ロボット2の第1軸及び第2軸(J1,J2)の位置を示し、図中左側のポイントが手先の位置を示し、それらの間にあるポイントが第3軸(J3)の位置を示す。
Next, a method of obtaining the spring constant K used for actual control will be described with reference to FIG. The point on the right side of the figure indicates the position of the first axis and the second axis (J1, J2) of the 6-
アームを横から見た状態のXZ平面内において、第1軸及び第2軸から第3軸までの距離をL1,第3軸から手先までの距離をL3,第1軸及び第2軸から手先までの距離をLfとする。また、アームを上から見た状態のXY平面内において、X軸を基準とする第3軸のY軸方向への角度偏差をΔθ12とし、X軸を基準とする手先のY軸方向への角度偏差をΔθ3とする。 In the XZ plane when the arm is viewed from the side, the distance from the 1st axis and the 2nd axis to the 3rd axis is L 1 , the distance from the 3rd axis to the hand is L 3 , the 1st axis and the 2nd axis. Let L f be the distance from the hand to the hand. Further, in the XY plane when the arm is viewed from above, the angular deviation of the third axis with respect to the X axis in the Y-axis direction is Δθ 12 , and the hand is in the Y-axis direction with reference to the X-axis. Let the angular deviation be Δθ 3 .
手先に対し、質量M,加速度aによる慣性力F(=M・a)が作用した際に、第1軸及び第2軸作用するトルクτ12,第3軸に作用するトルクτ3は、それぞれ
τ12=Lf×F,τ3=L3×F …(1)
となる。
When the inertial force F (= M · a) due to the mass M and the acceleration a acts on the hand, the torque τ 12 acting on the first and second axes and the torque τ 3 acting on the third axis are respectively. τ 12 = L f × F, τ 3 = L 3 × F… (1)
Will be.
第1軸及び第2軸を基準とする手先のバネ係数をK12とし、第3軸を基準とする手先のバネ係数をK3とすると、角度偏差Δθ12,Δθ3は、
Δθ12=τ12/K12,Δθ3=τ3/K3 …(2)
となり、Y軸方向への位置変位ΔY12,ΔY3は、
ΔY12=Lf×τ12/K12=Lf 2×F/K12
ΔY3=L3×τ3/K3=L3 2×F/K3 …(3)
となる。
The spring coefficient of the hand to the first axis and the second axis relative to the K 12, when the spring coefficient of the hand relative to the third axis and K 3, the angle deviation [Delta] [theta] 12, [Delta] [theta] 3 is
Δθ 12 = τ 12 / K 12 , Δθ 3 = τ 3 / K 3 … (2)
The position displacements ΔY 12 and ΔY 3 in the Y-axis direction are
ΔY 12 = L f × τ 12 / K 12 = L f 2 × F / K 12
ΔY 3 = L 3 × τ 3 / K 3 = L 3 2 × F / K 3 … (3)
Will be.
位置変位の合計ΔYfは、
ΔYf=ΔY12+ΔY3=Lf 2×F/K12+L3 2×F/K3
=(Lf 2/K12+L3 2/K3)F …(4)
である。そして、(4)式の括弧内部は、バネ定数Kの逆数であるから、
1/K=(1/K12+1/K3×L3 2/Lf 2) …(5)
である。このようにバネ定数Kは、各軸の剛性,つまりバネ定数K12,K3及び手先距離Lfの逆数に依存した関数となる。バネ定数K12,K3については、第2軸,第3軸に使用されているクロスローラベアリングの剛性値を用いるか、予め実測した値を用いる。本実施形態では、この(5)式で示されるバネ定数Kを制振制御に使用する。
The total position displacement ΔY f is
ΔY f = ΔY 12 + ΔY 3 = L f 2 × F / K 12 + L 3 2 × F / K 3
= (L f 2 / K 12 + L 3 2 / K 3 ) F ... (4)
Is. And since the inside of the parentheses in Eq. (4) is the reciprocal of the spring constant K,
1 / K = (1 / K 12 + 1 / K 3 x L 3 2 / L f 2 )… (5)
Is. In this way, the spring constant K is a function that depends on the rigidity of each axis, that is, the reciprocals of the spring constants K 12 and K 3 and the hand distance L f. For the spring constants K 12 and K 3 , the rigidity values of the cross roller bearings used for the 2nd and 3rd axes are used, or the values actually measured in advance are used. In the present embodiment, the spring constant K represented by the equation (5) is used for vibration damping control.
図9は、本実施形態における制振制御の手順を示すフローチャートである。軌道生成部21は、各軸の目標位置である手先の停止時の角度位置を取得すると(S1)、その各軸の目標位置に基づいて各軸の角速度パターンを生成する(S2)。例えば、後述する図10に破線で示す指令角速度のように、台形の角速度パターンを生成する。尚、各図中に示す「速度」は何れも「角速度」である。また、ステップS1における目標位置は、最終目標位置に相当する。 FIG. 9 is a flowchart showing the procedure of vibration damping control in the present embodiment. When the trajectory generation unit 21 acquires the angular position of the hand, which is the target position of each axis, when the hand is stopped (S1), the trajectory generation unit 21 generates an angular velocity pattern of each axis based on the target position of each axis (S2). For example, a trapezoidal angular velocity pattern is generated like the command angular velocity shown by the broken line in FIG. 10 described later. The "velocity" shown in each figure is an "angular velocity". Further, the target position in step S1 corresponds to the final target position.
続いて、軌道生成部21は、生成した角速度パターンに基づいて、指令値である各軸の目標角度θ(n=1〜6)を算出する(S3)。ここでの目標角度θnは、今回の制御周期,つまり各軸エンコーダが検出した角度θenをサンプリングする周期における第n軸の目標角度に相当する。また、軌道生成部21は、速度パターン生成部及び指令値生成部に相当する。 Subsequently, the trajectory generation unit 21 calculates the target angle θ (n = 1 to 6) of each axis, which is a command value, based on the generated angular velocity pattern (S3). The target angle θn here corresponds to the target angle of the nth axis in the current control cycle, that is, the cycle of sampling the angle θen detected by each axis encoder. Further, the trajectory generation unit 21 corresponds to a velocity pattern generation unit and a command value generation unit.
次に、指令値補正部22は、各軸の目標角度から手先の目標位置Pを求めると(S4)、その目標位置Pに応じたバネ定数Kを(4)式で求める。また、アームを含むワーク13の質量Mを予め記憶しておいたメモリから取得する(S5)。尚、目標位置Pを求める際に、(4)式の演算パラメータである距離L3及びLfも求められる。目標位置Pは通過目標位置に相当する。続いて、各軸の速度パターンから、各軸がそれぞれ目標角度に至る間の角加速度aを計算する(S6)。
Next, when the command
次に、指令値補正部22は、位置の補正量(Ma/K)を計算する(S7)。そして、手先の位置指令値Pに補正量(Ma/K)を加えた修正指令値P’を計算すると(S8)、その修正指令値P’に対してローパスフィルタ処理を行う(S9)。修正指令値P’から角度に対応する指令値θ’を各軸について計算すると(10)、指令値θ’をサーボ機構23に転送する(S11)。それから、ステップS3に戻る。指令値補正部22は、指令値変換部,バネ定数演算部,加速度算出部及び補正量演算部に相当する。
Next, the command
尚、ステップS9においてローパスフィルタ処理を行うのは、以下の理由による。補正量に角加速度aがパラメータとして含まれているため、角加速度に広域のノイズ成分が重畳されたり、立上りが急峻になるとトルクが飽和する場合がある。そこで、補正した指令値についてローパスフィルタ処理を行うことにより、トルクが飽和することを防止する。その遮断周波数は、例えば数Hz〜10数Hz程度である。 The low-pass filter processing is performed in step S9 for the following reasons. Since the angular acceleration a is included as a parameter in the correction amount, the torque may be saturated when a wide-area noise component is superimposed on the angular acceleration or when the rising edge becomes steep. Therefore, it is possible to prevent the torque from being saturated by performing a low-pass filter process on the corrected command value. The cutoff frequency is, for example, about several Hz to several several Hz.
図10は、比較例である通常制御及び本実施形態による角速度パターンを示すタイムチャートである。破線は、ステップS2において生成された角速度パターンに相当し、指令角速度を示している。一点鎖線は、生成された角速度パターンに基づきステップS3で算出した指令値θを、そのままサーボ機構23に転送した場合の角速度を示している。実線は、本実施形態の制振制御を実行した場合の角速度を示している。
FIG. 10 is a time chart showing a comparative example of normal control and an angular velocity pattern according to the present embodiment. The broken line corresponds to the angular velocity pattern generated in step S2 and indicates the commanded angular velocity. The alternate long and short dash line indicates the angular velocity when the command value θ calculated in step S3 based on the generated angular velocity pattern is transferred to the
同図に示すように、停止状態からの加速開始時に、本実施形態の制御では比較例よりも角速度が上昇するタイミングが早くなっている。これは、図7に示す(2)加速時の動きに対応する。またこのとき、ステップS9において修正指令値θ’が逆変換される前にローパスフィルタ処理されているため、修正指令値θ’の急激な変化が抑制されている。これにより、修正指令値θ’に基づいて各軸モータが制御された際に、各軸の角速度が急激に変化することが抑制されている。 As shown in the figure, at the start of acceleration from the stopped state, in the control of the present embodiment, the timing at which the angular velocity increases is earlier than that in the comparative example. This corresponds to (2) the movement during acceleration shown in FIG. Further, at this time, since the low-pass filter processing is performed before the correction command value θ'is inversely transformed in step S9, a sudden change in the correction command value θ'is suppressed. As a result, when the motors of each axis are controlled based on the correction command value θ', the angular velocity of each axis is suppressed from suddenly changing.
また、加速時から等速時への移行時に、本実施形態の制御では比較例よりも角速度が一定になるタイミングが遅くなっている。これは、図7に示す(3)減速時の動きに対応する。 Further, at the time of transition from the acceleration to the constant velocity, the timing at which the angular velocity becomes constant is later than that in the comparative example in the control of the present embodiment. This corresponds to (3) the movement during deceleration shown in FIG.
次の等速時から減速時への移行時においても、本実施形態の制御では比較例よりも角速度の低下するタイミングが早くなり、次の減速時から移動終了時への移行時においても、本実施形態制御では比較例よりも角速度が低下するタイミングが遅くなっている。これは、図7に示す(3)減速時及び(4)停止時の動きに対応する。 Even at the time of transition from the next constant velocity to deceleration, the timing at which the angular velocity decreases is earlier than that of the comparative example in the control of the present embodiment, and even at the transition from the next deceleration to the end of movement, the present In the embodiment control, the timing at which the angular velocity decreases is later than that in the comparative example. This corresponds to the movements shown in FIG. 7 during (3) deceleration and (4) stop.
図11は、上記の移動終了時における比較例及び本実施形態における目標位置と実際の手先位置との誤差をシミュレーションしたタイムチャートである。同図に一点鎖線で示すように、比較例では、目標位置との誤差が負側と正側とに交互に変化しており、アームの手先が振動している。これに対して、実線で示すように、本実施形態の制御では、目標位置に対する誤差が0に近くなっている。すなわち、手先の振動が抑制されている。 FIG. 11 is a time chart simulating the error between the target position and the actual hand position in the comparative example and the present embodiment at the end of the above movement. As shown by the alternate long and short dash line in the figure, in the comparative example, the error from the target position changes alternately between the negative side and the positive side, and the hand of the arm vibrates. On the other hand, as shown by the solid line, in the control of the present embodiment, the error with respect to the target position is close to zero. That is, the vibration of the hand is suppressed.
以上のように本実施形態によれば、軌道生成部21は、アームの手先を移動させる最終目標位置が与えられると、その手先を最終目標位置に移動させる速度パターンを生成し、手先をサンプリング周期毎の目標位置に移動させるように、サーボ機構23に与える角度指令値θnを算出する。指令値補正部22は、角度指令値θnを手先の目標位置,位置指令値Pに変換し、その位置指令値Pに応じてアームのバネ定数Kを演算し、位置指令値Pがサンプリング周期毎に変化する際の加速度aを算出する。そして、これらの値から補正量(Ma/K)を演算すると、位置指令値Pに補正量を加算して修正指令値P’を求め、修正指令値P’を位置指令値指令値θn’に逆変換してサーボ機構23に出力する。
As described above, according to the present embodiment, the trajectory generating unit 21 generates a velocity pattern for moving the hand to the final target position when the final target position for moving the hand of the arm is given, and the hand is sampled. The angle command value θn given to the
これにより、アームの加速時には、先端側が遅れる分だけアームの基部側が先に進むように指令値が補正され、アームの減速時には、先端側が進む分だけアームの基部側が遅れるように指令値が補正されて、振動が抑制される。したがって、アームの先端部に加速度センサ等を取り付けずとも、アームが手先に保持したワーク13を移動させる際に発生する振動を抑制することができる。
As a result, when accelerating the arm, the command value is corrected so that the base side of the arm advances by the amount of delay of the tip side, and when decelerating the arm, the command value is corrected so that the base side of the arm is delayed by the amount of advance of the tip side. Therefore, vibration is suppressed. Therefore, it is possible to suppress the vibration generated when the arm moves the
また、指令値補正部22は、アーム全体のバネ定数Kを演算するので、演算量を減らして補正処理を高速に実行できる。具体的には、バネ定数Kを(5)式で求めるので、アームを一体的にバネとして捉えた際のバネ定数Kを迅速に求めることができる。これにより、ロボット2を高速で動作させることができる。
Further, since the command
また、指令値補正部22は、補正した指令値P’に対しローパスフィルタ処理を行う。これにより、加速度に広域のノイズ成分が重畳されたり、立上りが急峻になる場合でも、トルクが飽和することを防止できる。
Further, the command
本発明は上記した、又は図面に記載した実施形態にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
ステップS9,S17におけるローパスフィルタ処理は、必要に応じて行えば良い。
第1実施形態におけるバネ定数Kは、(5)式以外の式によって求めても良い。
The present invention is not limited to the embodiments described above or in the drawings, and the following modifications or extensions are possible.
The low-pass filter processing in steps S9 and S17 may be performed as needed.
The spring constant K in the first embodiment may be obtained by an equation other than the equation (5).
図面中、1はロボットシステム、2はロボット、3はコントローラ、13はワーク、21は軌道生成部、22は指令値補正部を示す。
In the drawings, 1 is a robot system, 2 is a robot, 3 is a controller, 13 is a work, 21 is a trajectory generating unit, and 22 is a command value correction unit.
Claims (5)
このアームをサーボ機構を介して駆動制御するロボットの制御装置であって、
前記アームの手先を移動させる最終目標位置が与えられると、前記手先を前記最終目標位置に移動させる速度パターンを生成する速度パターン生成部と、
前記手先を、制御周期毎の通過目標位置に移動させるように、前記サーボ機構に与える角度指令値を算出する指令値算出部と、
前記角度指令値を位置指令値に変換する指令値変換部と、
前記位置指令値に応じて、前記アームのバネ定数を演算するバネ定数演算部と、
前記位置指令値が前記制御周期毎に変化する際の加速度を算出する加速度算出部と、
前記バネ定数、前記アーム及び前記手先に保持されるワークの質量並びに前記加速度から、前記位置指令値の補正量を演算する補正量演算部と、
前記位置指令値を前記補正量に基づき補正すると、補正した位置指令値を角度指令値に逆変換して前記サーボ機構に出力する指令値補正部とを備えるロボットの制御装置。 At least one of a first axis perpendicular to the installation surface, a second axis perpendicular to the first axis, and a plurality of axes connected after the second axis is the second axis. An arm with four or more axes that has axes that are parallel to each other,
A robot control device that drives and controls this arm via a servo mechanism.
Given a final target position for moving the hand of the arm, a speed pattern generator that generates a speed pattern for moving the hand to the final target position.
A command value calculation unit that calculates an angle command value given to the servo mechanism so as to move the hand to a passing target position for each control cycle.
A command value conversion unit that converts the angle command value into a position command value,
A spring constant calculation unit that calculates the spring constant of the arm according to the position command value,
An acceleration calculation unit that calculates the acceleration when the position command value changes for each control cycle,
A correction amount calculation unit that calculates a correction amount of the position command value from the spring constant, the mass of the work held by the arm and the hand, and the acceleration.
A robot control device including a command value correction unit that reversely converts the corrected position command value into an angle command value and outputs the corrected position command value to the servo mechanism when the position command value is corrected based on the correction amount.
前記第1軸から前記手先までの距離をLf,
前記第1軸を基準とする前記第3軸までのバネ定数をK12,
前記第3軸を基準とする前記手先までのバネ定数をK3とすると、
前記補正量を求めるために使用するバネ定数Kを、次式
1/K={1/K12+L3 2/(K3Lf 2)}
で求める請求項2記載のロボットの制御装置。 The spring constant computing section, a distance from the third axis to said hand L 3,
The distance from the first axis to the hand is L f ,
K 12 a spring constant of up to the third axis relative to the first axis,
When the spring constant of up to the hand relative to the said third axis and K 3,
The spring constant K used to obtain the correction amount is calculated by the following equation 1 / K = {1 / K 12 + L 3 2 / (K 3 L f 2 )}.
2. The robot control device according to claim 2.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017181390A JP6926882B2 (en) | 2017-09-21 | 2017-09-21 | Robot control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017181390A JP6926882B2 (en) | 2017-09-21 | 2017-09-21 | Robot control device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019055457A JP2019055457A (en) | 2019-04-11 |
JP6926882B2 true JP6926882B2 (en) | 2021-08-25 |
Family
ID=66106836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017181390A Active JP6926882B2 (en) | 2017-09-21 | 2017-09-21 | Robot control device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6926882B2 (en) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07261853A (en) * | 1994-03-23 | 1995-10-13 | Komatsu Ltd | Vibration reduction device for robot |
JP3120028B2 (en) * | 1995-11-02 | 2000-12-25 | 株式会社神戸製鋼所 | Control method for machine having link mechanism |
JP4269150B2 (en) * | 2003-05-20 | 2009-05-27 | 株式会社安川電機 | Robot controller |
JP4575827B2 (en) * | 2005-03-30 | 2010-11-04 | 株式会社ダイヘン | Industrial robot controller |
DE102007024143A1 (en) * | 2007-05-24 | 2008-11-27 | Dürr Systems GmbH | Motion control for elastic robot structures |
JP2010058256A (en) * | 2008-09-08 | 2010-03-18 | Yaskawa Electric Corp | Arm position regulating method and apparatus and robot system |
JP5512954B2 (en) * | 2008-10-31 | 2014-06-04 | オークマ株式会社 | Position control device for numerical control machine |
-
2017
- 2017-09-21 JP JP2017181390A patent/JP6926882B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019055457A (en) | 2019-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10300600B2 (en) | Control system having learning control function and control method | |
JP5897644B2 (en) | Robot control device | |
JP5916583B2 (en) | Weaving control device for articulated robot | |
JP4148189B2 (en) | Control device for flexible joint robot arm | |
JP6705851B2 (en) | Vibration analysis device and vibration analysis method | |
CN106393098A (en) | Robot, control apparatus, and robot system | |
JP2016190292A (en) | Robot control apparatus, robot system, and robot control method | |
JP4192780B2 (en) | Robot control device | |
JP6998514B2 (en) | Robot control device | |
JP4639417B2 (en) | Robot control device | |
JP6790668B2 (en) | Robot control device | |
US10350754B2 (en) | Control device for robot | |
JP6926882B2 (en) | Robot control device | |
JP6661676B2 (en) | Robot controller | |
JP6915470B2 (en) | Robot control device | |
JP6088601B2 (en) | Robot controller that suppresses tool tip deflection in robot with traveling axis | |
JP2020157459A (en) | Control method and robot system | |
JP2016005296A (en) | Control method of motor drive device, motor drive device and robot device | |
JP5633268B2 (en) | Robot control device | |
JP6790669B2 (en) | Robot control device | |
JP2017030068A (en) | Robot control device, robot and robot system | |
JP2020069616A (en) | Motor driving device, robot driving system and motor driving program | |
US20220176557A1 (en) | Robot control method and robot control device | |
JPWO2019215980A1 (en) | Robot control device | |
JPH03104576A (en) | force controlled robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200820 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210414 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210420 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210510 |
|
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: 20210706 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210719 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6926882 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |