JP6834125B2 - Robot control device, robot control method - Google Patents
Robot control device, robot control method Download PDFInfo
- Publication number
- JP6834125B2 JP6834125B2 JP2015228657A JP2015228657A JP6834125B2 JP 6834125 B2 JP6834125 B2 JP 6834125B2 JP 2015228657 A JP2015228657 A JP 2015228657A JP 2015228657 A JP2015228657 A JP 2015228657A JP 6834125 B2 JP6834125 B2 JP 6834125B2
- Authority
- JP
- Japan
- Prior art keywords
- arm
- vibration
- shaft
- sensor
- robot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 73
- 230000001133 acceleration Effects 0.000 claims description 47
- 230000005484 gravity Effects 0.000 claims description 34
- 230000001629 suppression Effects 0.000 claims description 34
- 238000001514 detection method Methods 0.000 claims description 24
- 238000006243 chemical reaction Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 21
- 230000033001 locomotion Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 description 25
- 230000000694 effects Effects 0.000 description 23
- 239000011159 matrix material Substances 0.000 description 14
- 239000013598 vector Substances 0.000 description 14
- 238000004088 simulation Methods 0.000 description 13
- 239000013068 control sample Substances 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 239000003638 chemical reducing agent Substances 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 4
- 230000035945 sensitivity Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 230000000875 corresponding effect Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Landscapes
- Manipulator (AREA)
Description
本発明は、ロボットを制御するロボット制御装置、ロボット制御方法に関する。 The present invention relates to a robot control device for controlling a robot and a robot control method.
ロボット制御の分野では、モデル化したロボットの動作を予めシミュレーションし、所望のシミュレーション結果、例えば所望の振動抑制効果を得られた制御内容を実際のロボットに適用することが一般的に行われている。また、ロボットの振動を抑制する振動抑制制御についても様々な検討がなされており、例えば特許文献1、2では、振動を抑制しながらロボットを動作させることができる制御装置が提案されている。
In the field of robot control, it is common practice to simulate the motion of a modeled robot in advance and apply a desired simulation result, for example, a control content obtained with a desired vibration suppression effect to an actual robot. .. In addition, various studies have been made on vibration suppression control for suppressing vibration of a robot. For example,
しかしながら、シミュレーション上では所望の振動抑制効果が得られた制御内容を実際のロボットに適用した場合、シミュレーション通りの性能を発揮できないことがある。具体的には、シミュレーション上では発生していなかった振動が、実際のロボットにおいて発生していた。
本発明は上記事情に鑑みてなされたものであり、その目的は、シミュレーション上では現れなかった振動を抑制することができるロボット制御装置、ロボット制御方法を提供することにある。
However, in the simulation, when the control content obtained with the desired vibration suppression effect is applied to an actual robot, the performance as in the simulation may not be exhibited. Specifically, vibrations that did not occur in the simulation were generated in the actual robot.
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 and a robot control method capable of suppressing vibrations that do not appear in a simulation.
ロボットの制御分野では、モータとアーム間の減速機に存在するバネ要素による振動モードを考慮したいわゆる2慣性系のシミュレーションが利用されている。この振動モードは、減速機等の動力が伝達していく動力伝達機構における動作方向の剛性に起因する振動である。また、2慣性系のシミュレーションは、広く利用されており、その有効性は認知されていると考えられる。 In the field of robot control, a so-called two-inertial frame simulation considering a vibration mode due to a spring element existing in a speed reducer between a motor and an arm is used. This vibration mode is vibration caused by the rigidity of the operating direction in the power transmission mechanism through which the power of the speed reducer or the like is transmitted. Moreover, the simulation of the bi-inertial system is widely used, and its effectiveness is considered to be recognized.
このとき、アームの剛性等の機械的数値はシミュレーション条件に当然盛り込まれており、実際のロボットは、そのシミュレーション条件を満たすような機械的数値の範囲で設計されている。それにも関わらずロボットに振動が生じるということは、従来の2慣性系で考慮されていた振動モードとは異なる振動モードが存在していると考えられる。 At this time, mechanical values such as arm rigidity are naturally included in the simulation conditions, and the actual robot is designed within the range of mechanical values that satisfy the simulation conditions. The fact that the robot vibrates in spite of this is considered to mean that there is a vibration mode different from the vibration mode considered in the conventional two inertial system.
そして、発明者らは、振動を生じさせる原因の調査を重ねた結果、実際のロボットでは、2慣性系の振動モードにおける動力伝達機構の動作方向の剛性による振動(以下、便宜的に動作方向振動と称する)以外にも、動力伝達機構の動作方向とは異なる振動(上記した非動作方向振動)が存在していることを見いだした。換言すると、動作方向とは異なる向きの非動作方向振動がシミュレーションには現れなかった振動の原因であることが発明者らによって突き止められたとともに、その非動作方向振動によってロボットの可動部側が全体的に動作方向以外にも揺れ、その結果、シャフトの支持部に捩れ振動が発生し、その捩れ振動が手先の振動として現れていたことが明らかになった。 Then, as a result of repeated investigations of the cause of the vibration, the inventors of the actual robot vibrate due to the rigidity of the operation direction of the power transmission mechanism in the vibration mode of the two inertial system (hereinafter, the vibration in the operation direction for convenience). In addition to (referred to as), it was found that there is vibration different from the operating direction of the power transmission mechanism (the above-mentioned non-operating direction vibration). In other words, the inventors have determined that the non-operating direction vibration in a direction different from the operating direction is the cause of the vibration that did not appear in the simulation, and the non-operating direction vibration causes the moving part side of the robot as a whole. As a result, it became clear that torsional vibration was generated in the support part of the shaft, and the torsional vibration appeared as vibration of the hand.
さて、もしも非動作方向振動の存在が今まで認知されていたならば、非動作方向振動に対処するための制御方法が検討されているはずである。しかし、実際には、非動作方向振動の存在を示唆するような考察や非動作方向振動を抑制するための制御方法等は検討されていない。つまり、非動作方向振動は、今まで認知されていなかったと考えられる。そのため、発明者らは、なぜ今まで非動作方向振動が考慮されていなかったのかについて考察した。 Now, if the existence of non-operating directional vibration has been recognized so far, a control method for coping with non-operating directional vibration should be considered. However, in reality, no consideration suggesting the existence of non-operating directional vibration or a control method for suppressing non-operating directional vibration has been studied. In other words, it is considered that the non-operating directional vibration has not been recognized until now. Therefore, the inventors considered why the non-operating directional vibration was not considered so far.
最初期の産業用のロボットは、近年のロボットと比べて、格段にアームやギアあるいは軸受け部材などが相対的に太く且つ頑丈であった反面、アームおよび可動部分の全体の重量が相対的に大きかった。2慣性系の場合、共振周波数は、慣性(つまり重量)の逆数の平方根に比例することから、動作方向振動の共振周波数は低くなる。その一方で、アームを構成する部材等は非常に高剛性に作られており、非動作方向共振が存在していたとしても、その共振周波数は高くなっていたと考えられる。 Compared to recent robots, the earliest industrial robots had significantly thicker and stronger arms, gears, and bearing members, but the overall weight of the arms and moving parts was relatively heavy. It was. In the case of a two-inertial frame, the resonance frequency is proportional to the square root of the reciprocal of inertia (that is, weight), so that the resonance frequency of the vibration in the operating direction becomes low. On the other hand, the members and the like constituting the arm are made to have extremely high rigidity, and it is considered that the resonance frequency is high even if the non-operating directional resonance exists.
一般的に、複数の共振が存在する場合、低い共振周波数を持つ共振による影響が支配的となる場合が多い。つまり、非動作方向共振は、共振周波数が相対的に高かったことから、アームの位置応答や速度応答へ与える影響は無視できるほど小さかったと考えられる。また、発明者らの研究の結果、非動作方向振動の発生原因には例えば遠心力のように非動作方向に加わる力の存在があることが判明したが、最初期のロボットは、近年のロボットに比べて動作速度が相対的に遅かったため、遠心力による影響は無視できるほど小さかったと考えられる。 In general, when a plurality of resonances are present, the influence of the resonance having a low resonance frequency is often dominant. That is, since the resonance frequency of the non-operating direction resonance was relatively high, it is considered that the influence on the position response and the speed response of the arm was negligibly small. In addition, as a result of the research by the inventors, it was found that the cause of the non-operating direction vibration is the existence of a force applied in the non-operating direction such as centrifugal force, but the earliest robots are recent robots. Since the operating speed was relatively slow compared to that of the above, it is considered that the influence of centrifugal force was negligible.
これに対して、近年のロボットでは、アームを太く頑丈にする方向から、細く軽量化する方向へとその設計が変化してきている。つまり、アームが軽量化されてきた反面、アームを構成する部材は、最初期のロボットに比べれば低剛性化している。なお、低剛性化しているとはいっても、柔軟アームと呼ばれるようなアーム自体が捻れてしまうような状態ではなく、例えばクロスローラなどの軸支持部で、その回転軸以外の方向に微少振動が発生しているということである。 On the other hand, in recent years, the design of robots has changed from making the arm thick and sturdy to making it thinner and lighter. In other words, while the weight of the arm has been reduced, the members that make up the arm have lower rigidity than the earliest robots. Although the rigidity is reduced, the arm itself, which is called a flexible arm, is not in a twisted state. For example, a shaft support part such as a cross roller causes a slight vibration in a direction other than the rotation axis. It means that it is occurring.
そのため、複数の共振が存在している状態において支配的な共振が最初期のロボットとは入れ替わってきた、あるいは、両者の共振が近い共振周波数となって互いに影響し合うような状態になってきたと考えられる。さらに、近年のロボットの場合、最初期のロボットと比べてその動作速度が格段に高速化されており、速度の2乗に比例する遠心力の影響がより顕著に現れてきたと考えられる。 Therefore, in the state where multiple resonances exist, the dominant resonance has been replaced with the earliest robot, or the resonances of both have similar resonance frequencies and affect each other. Conceivable. Furthermore, in the case of robots in recent years, the operating speed has been significantly increased as compared with the earliest robots, and it is considered that the influence of centrifugal force proportional to the square of the speed has become more prominent.
例えば4軸の水平多関節型ロボットの場合であれば、シャフトを上下方向(Z方向)へ直動する支持部が、例えばセカンドアームの動きに連動して振動してしまう現象が確認されている。この場合、軸間干渉による振動のようにシャフトの移動方向への振動(動作方向振動に含まれる)とは異なる振動、具体的には、セカンドアームの円周方向(セカンドアームの動作方向)やセカンドアームの直径方向(セカンドアームに加わる遠心力の方向)への振動が発生している。なお、6軸の垂直多関節型ロボット(PUMA(Programmable Universal Manipulation Arm)型ロボット)や、いわゆる7軸ロボット等の他の構成のロボットにおいても、これに類似する現象により、非動作方向振動が発生している。 For example, in the case of a 4-axis horizontal articulated robot, it has been confirmed that the support portion that linearly moves the shaft in the vertical direction (Z direction) vibrates in conjunction with the movement of the second arm, for example. .. In this case, vibration different from vibration in the moving direction of the shaft (included in the operating direction vibration) such as vibration due to inter-axis interference, specifically, the circumferential direction of the second arm (operating direction of the second arm) or Vibration is generated in the radial direction of the second arm (the direction of the centrifugal force applied to the second arm). In addition, even in robots having other configurations such as a 6-axis vertical articulated robot (PUMA (Programmable Universal Manipulation Arm) type robot) and a so-called 7-axis robot, non-operation direction vibration occurs due to a phenomenon similar to this. doing.
そして、産業用のロボットにおいては、複数のアームが連結してロボットを構成することが多いため、ある軸が振動した結果、別の軸が干渉して振動するといった現象が発生する。このため、振動特性自体が単純な2慣性系モデルのようにはっきりとしたものとはならならず、複数の共振振動が周波数特定に現れること、また、周波数特性に現れる共振周波数と実際の振動波形に現れる共振周波数とに僅かな相違があることがある。そのため、非動作方向振動が存在していたとしても、非動作方向振動が原因となっていることを突き止めることが困難であったと考えられる。 In an industrial robot, a plurality of arms are often connected to form a robot, so that a phenomenon occurs in which one axis vibrates and another axis interferes with the vibration. For this reason, the vibration characteristics themselves are not as clear as in a simple two-inertial system model, and multiple resonance vibrations appear in the frequency specification, and the resonance frequency and the actual vibration waveform appearing in the frequency characteristics. There may be a slight difference from the resonance frequency that appears in. Therefore, even if the non-operating direction vibration is present, it is considered that it is difficult to find out that the non-operating direction vibration is the cause.
さらに、動作方向振動と非動作方向振動とでは振動周波数が異なることが多いものの、減速機として例えば波動歯車装置を用いている場合には、その剛性が入力されるトルクに応じて変化することが知られている等、モデル化誤差の原因となる要素が様々であることから、誰も非動作方向振動に想到することがなく、単に誤差として扱われていたものと考えられる。 Further, although the vibration frequency is often different between the operating direction vibration and the non-operating direction vibration, when a wave gear device is used as the speed reducer, for example, its rigidity may change according to the input torque. Since there are various factors that cause modeling errors, such as those known, it is probable that no one came up with vibrations in the non-operating direction and that they were simply treated as errors.
このような事情によって、シミュレーション上で現れた振動のうち最も影響度の大きいものを動作方向振動として扱い、それ以外は他の軸からの干渉などの誤差として扱っていたことから、非動作方向振動についての検討がなされてこなかったものと考えられる。つまり、最初期のロボットでは非動作方向振動がそれほど顕著ではなく、また、近年のロボットでは非動作方向振動が誤差として扱われていたことが、非動作方向振動が認知されていなかった理由であると推測された。 Due to these circumstances, the vibration that has the greatest influence among the vibrations that appear in the simulation is treated as the operating direction vibration, and the others are treated as errors such as interference from other axes. It is probable that no consideration has been given to. In other words, the non-moving direction vibration is not so remarkable in the earliest robots, and the non-moving direction vibration is treated as an error in recent robots, which is the reason why the non-moving direction vibration was not recognized. Was speculated.
そして、このような非動作方向振動の存在は、従来のシミュレーションの前提条件であった2慣性系モデルや干渉を含めた2慣性系モデルを拡張した例えば特許文献1でいう4慣性モデル等の制御モデルでは実際のロボットの振動特性をそもそも表現しきれていなかったことを示しており、極めて重大な技術的意義をもっている。
The existence of such non-operating direction vibration is an extension of the two-inertial frame model and the two-inertial frame model including interference, which are the preconditions of the conventional simulation, for example, the control of the four-inertia model referred to in
さて、非動作方向振動の存在が判明したのであれば、その非動作方向振動に起因して生じる振動を抑制するような制御を行えば、シミュレーションには現れなかった手先に現れる振動を抑制することができると考えられる。
例えば水平多関節型ロボットの場合、回転軸である1軸目および2軸目の動作に連動して、Z軸直動部(シャフト)の支持部(シャフト支持部)で捩れ振動が発生していた。そして、この捩れ振動は、1軸目および2軸目の回転軸とRz軸(後述する図1参照)の回転だけでなく、Rx軸方向およびRy軸方向にも発生する。そのため、その振動を検出すれば、手先に現れる振動を抑制できると考えられる。
Now, if the existence of non-operating directional vibration is found, if control is performed to suppress the vibration caused by the non-operating directional vibration, the vibration that appears in the hand that did not appear in the simulation can be suppressed. Is thought to be possible.
For example, in the case of a horizontal articulated robot, torsional vibration is generated at the support part (shaft support part) of the Z-axis linear motion part (shaft) in conjunction with the movements of the first and second axes, which are the rotation axes. It was. Then, this torsional vibration occurs not only in the rotation of the rotation axis and the Rz axis (see FIG. 1 described later) of the first and second axes, but also in the Rx axis direction and the Ry axis direction. Therefore, if the vibration is detected, it is considered that the vibration appearing at the hand can be suppressed.
しかし、従来のロボットにおいてはRx軸方向およびRy軸方向の振動を検出するセンサが設けられておらず、Rx軸方向およびRy軸方向の振動を検出すること自体ができなかった。そのため、振動の発生を検知してその振動を抑制する制御を行うこともできなかった。
つまり、従来のロボットは、非動作方向振動が考慮されていなかったため、回転方向以外の振動を検出する手段をそもそも備えておらず、また、非動作方向振動の検出自体ができていないことから、その非動作方向振動を収束させる制御を行うこともできなかった。
However, the conventional robot is not provided with a sensor for detecting the vibration in the Rx-axis direction and the Ry-axis direction, and cannot detect the vibration in the Rx-axis direction and the Ry-axis direction itself. Therefore, it was not possible to detect the occurrence of vibration and control the suppression of the vibration.
That is, since the conventional robot does not consider the vibration in the non-operating direction, it does not have a means for detecting the vibration other than the rotation direction in the first place, and the vibration in the non-operating direction itself cannot be detected. It could not even be controlled to converge the inoperative direction vibration.
また、ロボットの手先にセンサを設けることは、一般に想像するよりも困難である。例えば有線式のセンサをロボットの手先に設ける場合には、各アームの回転やシャフトの回転および上下動からケーブルを保護するために、いわゆるケーブルリール等の保護部材が必要となって配線構造が複雑化する。かといって、無線式のセンサを手先に設けると、ロボットの動作中にセンサへ給電あるいは充電することが容易ではないことに加えて、ノイズによって無線通信が断続するおそれがある。 Moreover, it is more difficult than generally imagined to provide a sensor at the hand of a robot. For example, when a wired sensor is installed at the hand of a robot, a protective member such as a so-called cable reel is required to protect the cable from the rotation of each arm, the rotation of the shaft, and the vertical movement, and the wiring structure is complicated. To become. However, if a wireless sensor is provided at hand, it is not easy to supply power or charge the sensor while the robot is operating, and there is a risk that wireless communication will be interrupted due to noise.
そこで、請求項1に係る発明では、ロボット制御装置は、水平多関節型ロボットのファーストアームおよびセカンドアームに設けられている複数のセンサの検出結果から、シャフトを支持するシャフト支持部にかかるトルクを推定し、当該推定したトルクに基づいて、シャフトの先端部の振動に相関するシャフト支持部での捩れ角度を求めている。
Therefore, in the invention according to
つまり、制御装置は、ロボットの手先(シャフトの先端部)ではなく、各アームに設けられているセンサの検出結果から、シャフトに生じる捩れ振動に相関しているとともに、ロボットの手先つまりはシャフトの先端部の振動にも相関しているシャフト支持部での捩れ角度を求めている。 In other words, the control device correlates with the torsional vibration generated in the shaft from the detection results of the sensors provided on each arm, not the robot's hand (the tip of the shaft), and the robot's hand, that is, the shaft. The twist angle at the shaft support, which is also correlated with the vibration of the tip, is calculated.
この場合、具体的な計算方法は、シャフト支持部にかかるトルクをN3、シャフト支持部での捩れ角度をφ3、シャフト支持部の剛性をK3、複数センサの検出値をS1〜SNとすると、次のように数式で記載することができる。
φ3=φ3est(N3)
N3=N3est(S1〜SN)
ただし、φ3estはシャフト支持部にかかるトルクからシャフト支持部での捩れ角度を求める関数であり、N3estは複数センサの検出値からシャフト支持部にかかるトルクを求める関数である。以下でも同様に、末尾にestが付帯された関数は、センサ検出値あるいは別の推定値から、目的とする値を推定する関数である。
In this case, the specific calculation method is as follows, assuming that the torque applied to the shaft support is N3, the twist angle at the shaft support is φ3, the rigidity of the shaft support is K3, and the detection values of the multiple sensors are S1 to SN. It can be described by a mathematical formula as follows.
φ3 = φ3est (N3)
N3 = N3est (S1-SN)
However, φ3est is a function for obtaining the twist angle at the shaft support portion from the torque applied to the shaft support portion, and N3est is a function for obtaining the torque applied to the shaft support portion from the detected values of a plurality of sensors. Similarly in the following, the function with est at the end is a function that estimates the target value from the sensor detection value or another estimated value.
この場合、ファーストアームに関しては、ファーストアームに設けられているセンサの検出結果から、ファーストアーム支持部にかかるトルクを求めることができる。また、ロボットでは各アームがリンクしていることから、セカンドアームに関しては、ファーストアームに設けられているセンサの検出結果とセカンドアームに設けられているセンサの検出結果とから、セカンドアームのみでみた場合の値を求めることができ、求めた値からセカンドアーム支持部にかかるトルクを求めることができる。同様に、シャフトに関しても、それぞれのセンサの検出結果から、シャフト支持部にかかるトルクを求めることができる。 In this case, with respect to the first arm, the torque applied to the first arm support portion can be obtained from the detection result of the sensor provided on the first arm. In addition, since each arm is linked in the robot, the second arm is viewed only with the second arm from the detection result of the sensor provided on the first arm and the detection result of the sensor provided on the second arm. The value of the case can be obtained, and the torque applied to the second arm support portion can be obtained from the obtained value. Similarly, with respect to the shaft, the torque applied to the shaft support portion can be obtained from the detection results of each sensor.
そして、シャフト支持部にかかるトルクが求まれば、シャフトの剛性に基づいてシャフトの捩れ角度を求めることができる。
この場合、具体的な計算方法は、シャフト支持部の剛性をK3とすると、次のように数式で記載することができる。
φ3=φ3est(N3)=N3÷K3
このように、各アームに設けられているセンサからの複数の検出結果を利用することにより、ロボットの手先にセンサを設けなくても、ロボットの手先の振動の要因となるシャフト支持部での捩れ振動を求めることができる。
また、センサは、各アームに設けられているため、手先に設ける場合と比べて、その配線構造を簡略化することができる。
Then, if the torque applied to the shaft support portion is obtained, the twist angle of the shaft can be obtained based on the rigidity of the shaft.
In this case, the specific calculation method can be described by a mathematical formula as follows, assuming that the rigidity of the shaft support portion is K3.
φ3 = φ3est (N3) = N3 ÷ K3
In this way, by utilizing a plurality of detection results from the sensors provided on each arm, even if the sensor is not provided on the robot's hand, the twist at the shaft support portion that causes vibration of the robot's hand Vibration can be calculated.
Further, since the sensor is provided on each arm, the wiring structure thereof can be simplified as compared with the case where the sensor is provided on the hand.
より詳細には、ロボット制御装置は、各アームに設けられているセンサの検出結果から各アームにおける慣性力および慣性トルクを求め、求めた慣性力および慣性トルクからシャフト支持部にかかるトルクを推定し、推定したトルクに基づいてシャフト支持部での捩れ角度を求める。
この場合、具体的な計算方法は、ファーストアームの慣性力をFG1、ファーストアームの慣性トルクをNG1、セカンドアームの慣性力をFG2、セカンドアームの慣性トルクをNG2とすると、次のように数式で記載することができる。
More specifically, the robot controller calculates the inertial forces and inertial torques in each arm from the detection result of the sensor provided on each arm, the obtained inertial force and estimating the torque applied to the shaft supporting portion from the inertial torque Then, the twist angle at the shaft support is obtained based on the estimated torque.
In this case, the specific calculation method is as follows, assuming that the inertial force of the first arm is FG1, the inertial torque of the first arm is NG1, the inertial force of the second arm is FG2, and the inertial torque of the second arm is NG2. Can be described.
FG1=FG1est(S1〜SN)
FG2=FG2est(S1〜SN)
NG1=NG1est(S1〜SN)
NG2=NG2est(S1〜SN)
N3=N3est(FG1,FG2,NG1,NG2)
このような手順および数式により、シャフト支持部にかかるトルクを推定することができる。
FG1 = FG1est (S1-SN)
FG2 = FG2est (S1-SN)
NG1 = NG1est (S1-SN)
NG2 = NG2est (S1-SN)
N3 = N3est (FG1, FG2, NG1, NG2)
The torque applied to the shaft support can be estimated by such a procedure and a mathematical formula.
各アームに設けられているセンサは、具体的には、請求項3に係る発明のように、慣性センサ、回転角度センサおよびシャフトの上下位置を検出する位置センサのうちいずれかの組み合わせで構成されている。例えば、速度と加速度は、いずれか一方を検出すれば演算により他方を求めることができる。ただし、その場合には、演算時間を要することになるが、換言すれば、演算が不要であればその分だけ処理速度を向上させることができる。そして、慣性センサであれば、直接的に慣性力を検出でき、回転角度センサであれば、回転角度を直接的に検出でき、位置センサであればシャフトの上下位置を直接的に検出できる。
このように、シャフト支持部にかかるトルクを推定するために必要となる各種の物理量を直接的に検出できるセンサを用いることにより、処理速度の向上を図ることができる。
Specifically, the sensor provided on each arm is composed of any combination of an inertial sensor, a rotation angle sensor, and a position sensor that detects the vertical position of the shaft, as in the invention of
In this way, the processing speed can be improved by using a sensor that can directly detect various physical quantities required for estimating the torque applied to the shaft support portion.
さらに詳細には、請求項4に係る発明のように、慣性センサとして角速度を検出する角速度センサ、あるいは加速度を検出する加速度センサを用いることで、各アーム支持部でのトルクを求める際の演算を省略あるいは簡略化することができる。
角速度センサは、請求項5に係る発明のように、複数方向への角速度を検出する角速度センサを用いることができる。
加速度センサは、請求項6に係る発明のように、複数方向への加速度を検出する加速度センサを用いることができる。
More specifically, as in the invention of
As the angular velocity sensor, as in the invention of
As the acceleration sensor, as in the invention according to
回転角度センサは、請求項7に係る発明のように、ファーストアームをベースに対して回転駆動するモータに設けられているモータエンコーダを用いることができる。
また、回転角度センサは、請求項8に係る発明のように、セカンドアームをファーストアームに対して回転駆動するモータに設けられているモータエンコーダを用いることができる。
また、回転角度センサは、請求項9に係る発明のように、シャフトをセカンドアームに対して回転駆動するモータに設けられているモータエンコーダを用いることができる。
また、位置センサは、請求項10に係る発明のように、シャフトを上下駆動するモータに設けられているモータエンコーダを用いることができる。
このようにアームやシャフトを駆動するモータに一般的に設けられているモータエンコーダを用いることで、追加部材を必要とすること無く、回転角度やシャフトの上下位置を取得することができる。
As the rotation angle sensor, as in the invention of
Further, as the rotation angle sensor, as in the invention of
Further, as the rotation angle sensor, as in the invention of claim 9, a motor encoder provided in a motor that rotationally drives the shaft with respect to the second arm can be used.
Further, as the position sensor, a motor encoder provided in a motor that drives the shaft up and down can be used as in the invention of
By using a motor encoder generally provided for a motor that drives an arm or a shaft in this way, it is possible to acquire a rotation angle and a vertical position of the shaft without requiring an additional member.
また、上記した請求項1では、モータへの制御位置指令値を補正する際、負荷重心位置を示す固定の直交座標系に変換し、変換した直交座標系において共振振動を抑制する振動抑制処理を適用し、当該振動抑制処理を適用した直交座標系から補正後の制御位置指令値を求める処理を実行してもよい。
上記したように、非動作方向振動は、回転方向とは異なる向きに発生する。そのため、非動作方向振動は、回転に伴って加わる遠心力によって生じていると考えられる。この場合、負荷重心位置とは異なる位置で座標変換すると、負荷重心位置からフランジ先端までの距離に比例した遠心力が発生してしまうため、遠心力による影響が無視できなくなり、振動抑制処理例えばフィルタ処理の効果を設計通りに得られなくなると考えられる。
Further, in
As described above, the non-operating direction vibration occurs in a direction different from the rotation direction. Therefore, it is considered that the non-operating directional vibration is caused by the centrifugal force applied with the rotation. In this case, if the coordinates are converted at a position different from the position of the center of gravity of the load, a centrifugal force proportional to the distance from the position of the center of gravity of the load to the tip of the flange is generated. Therefore, the influence of the centrifugal force cannot be ignored, and vibration suppression processing such as a filter It is considered that the effect of the processing cannot be obtained as designed.
そこで、負荷重心位置を直交座標系に変換する。これにより、各軸単位で考えた場合には演算に現れることになる遠心力などの項が直交座標系への座標変換時に内包されることになり、直交座標系に変換した後においては、遠心力を考慮しなくてもよくなる。なお、負荷重心位置とは、シャフトやツール、ワーク、および、例えば水平多関節のロボットの場合にはシャフトのボールねじ部のような捩れの生じる部材に接続される機構要素等を含んだ質量の重心位置を意味している。
そして、変換した直交座標系において振動抑制処理を施すことにより、遠心力の影響による振動つまりは非動作方向への振動が抑制された補正後の制御位置指令値をえることができる。つまり、非動作方向への振動が抑制された軌跡でロボットを動作させることができる。
Therefore, the position of the center of gravity of the load is converted into the Cartesian coordinate system. As a result, terms such as centrifugal force that appear in the calculation when considered in units of each axis are included in the coordinate conversion to the Cartesian coordinate system, and after conversion to the Cartesian coordinate system, the centrifugal force is centrifugal. You don't have to consider force. The position of the center of gravity of the load is the mass including the shaft, the tool, the work, and the mechanical element connected to the twisting member such as the ball screw portion of the shaft in the case of a horizontal articulated robot. It means the position of the center of gravity.
Then, by performing the vibration suppression process in the converted Cartesian coordinate system, it is possible to obtain the corrected control position command value in which the vibration due to the influence of the centrifugal force, that is, the vibration in the non-operating direction is suppressed. That is, the robot can be operated on a trajectory in which vibration in the non-operating direction is suppressed.
また、請求項11に係る発明のように、モータへの制御位置指令値を補正する際、負荷重心位置を示す固定の直交座標系に変換し、変換した直交座標系において共振振動を抑制する振動抑制処理を適用し、当該振動抑制処理を適用した直交座標系から補正後の制御位置指令値を求めるロボット制御方法によっても、請求項1に記載したロボット制御装置と同様の効果を得ることができる。
Further, as in the invention of
また、請求項12に係る発明では、制御器が扱う状態量のうち、内部状態量についてはロボットの動作に応じて変化する座標系への座標変換を行う一方、外部状態量についてはロボットの動作に応じて変化する座標系への座標変換を行わない。
例えば、2軸目(セカンドアーム)を固定して1軸目(ファーストアーム)を180°回転させた場合、移動開始時での1軸目の回転によってシャフト支持部に加わる力の方向と、移動完了時での1軸目の回転によってシャフト支持部に加わる力の方向は、固定座標系でみた場合には逆方向になる。そのため、固定された向きに対して振動を抑制する処理を施しても、設計通りに振動抑制の効果を発揮することができないと考えられる。
Further, in the invention according to
For example, when the second axis (second arm) is fixed and the first axis (first arm) is rotated 180 °, the direction of the force applied to the shaft support portion by the rotation of the first axis at the start of movement and the movement. The direction of the force applied to the shaft support portion by the rotation of the first axis at the time of completion is the opposite direction when viewed in the fixed coordinate system. Therefore, it is considered that the vibration suppression effect cannot be exhibited as designed even if the vibration suppression process is applied to the fixed direction.
さて、モータ制御やインバータ制御の分野においては、入出力の状態量の座標系と制御状態量の座標系を変換するいわゆるベクトル制御が広く知られている。また、ロボットの動力学計算方法であるニュートン・オイラー法においては、前後のリンク間の相互作用を考える際に、順次座標変換をしながら計算している。また、機能モデル間の状態量を適切に座標変換して伝搬する技術も提案されている。
このような制御状態量を座標変換することで計算を簡単にする従来技術をそのまま適用すると、1軸目の回転量が演算上、消去されてしまう。このため、その座標系で振動抑制処理を行っても、1軸目に起因する振動については抑制できないことになる。
By the way, in the fields of motor control and inverter control, so-called vector control that converts the coordinate system of the input / output state quantity and the coordinate system of the control state quantity is widely known. Further, in the Newton-Euler method, which is a method for calculating the dynamics of a robot, when considering the interaction between the front and rear links, the calculation is performed while sequentially converting the coordinates. In addition, a technique has been proposed in which state quantities between functional models are appropriately transformed in coordinates and propagated.
If the conventional technique that simplifies the calculation by converting the coordinates of such a controlled state quantity is applied as it is, the rotation amount of the first axis is erased in calculation. Therefore, even if the vibration suppression process is performed in the coordinate system, the vibration caused by the first axis cannot be suppressed.
そこで、制御器が扱う状態量のうち、内部状態量についてはロボットの動作に応じて変化する座標系への座標変換を行う一方、入出力の状態量を示す外部状態量については、ロボットの動作に応じて変化する座標系への座標変換を行わない。つまり、外部状態量については、上記したように負荷重心位置を示す固定の直交座標系に座標変換する。
これにより、従来技術では外部状態量も回転させていたことから座標系の回転による影響つまりは遠心力を正しく扱うことができなかったのに対して、内部状態量を回転させることにより、遠心力を内包した入出力を扱うこと、つまりは、遠心力を正しく扱うことができる。したがって、遠心力の影響による振動つまりは非動作方向への振動を抑制することができる。
Therefore, of the state quantities handled by the controller, the internal state quantity is coordinate-converted to a coordinate system that changes according to the robot's operation, while the external state quantity, which indicates the input / output state quantity, is the robot's operation. Do not perform coordinate conversion to a coordinate system that changes according to. That is, the external state quantity is coordinate-converted to a fixed Cartesian coordinate system indicating the position of the load center of gravity as described above.
As a result, in the prior art, the external state quantity was also rotated, so the effect of the rotation of the coordinate system, that is, the centrifugal force could not be handled correctly, but by rotating the internal state quantity, the centrifugal force could not be handled correctly. It is possible to handle the input / output that includes the above, that is, to handle the centrifugal force correctly. Therefore, vibration due to the influence of centrifugal force, that is, vibration in the non-operating direction can be suppressed.
以下、本発明の複数の実施形態について、図面を参照しながら説明する。なお、各実施形態において実質的に共通する部位には同一の符号を付し、その詳細な説明は省略する。
(第1実施形態)
本発明の第1実施形態について図1から図3を参照しながら説明する。
Hereinafter, a plurality of embodiments of the present invention will be described with reference to the drawings. The parts that are substantially common in each embodiment are designated by the same reference numerals, and detailed description thereof will be omitted.
(First Embodiment)
The first embodiment of the present invention will be described with reference to FIGS. 1 to 3.
図1に示すように、ロボットシステム1は、ロボット2と、ロボット2を制御する制御装置3(ロボット制御装置に相当する)とを備えている。制御装置3は、制御部3aを備えており、ロボット2を制御する。この制御部3aは、詳細は後述するが、センサ8、9、10(図3参照)の検出結果にもとづいてシャフト7を支持するシャフト支持部6a(図3参照)にかかるトルクを推定し、推定したトルクに基づいて当該シャフト支持部6aでの捩れ角度を求めることを含む実施形態で説明する種々の処理を実行する。このシャフト支持部6aでの捩れ角度は、捩れ振動に相関しているとともに、ロボット2の手先つまりはシャフト7の先端部7aの振動にも相関している。
As shown in FIG. 1, the
本実施形態のロボット2は、ベース4と、ベース4に取り付けられ(ベース4に支持され)、当該ベース4に対して第1軸(J1)を中心として回転するファーストアーム5と、ファーストアーム5に取り付けられ(ファーストアーム5に支持され)、当該ファーストアーム5に対して第2軸(J2)を中心として回転するセカンドアーム6と、セカンドアーム6に取り付けられ(セカンドアーム6に支持され)、当該セカンドアーム6に対して上下移動および回転するシャフト7と、を有する水平多関節型ロボットを想定している。
The
シャフト7は、本実施形態では、ボールねじスプラインを想定している。この場合、ロボット2の手先とは、シャフト7の下端側、つまり、セカンドアーム6に対して上下方向に相対的に移動するとともに、セカンドアーム6に対して相対的に回転する部分に相当する。なお、シャフト7は、非常に剛性が高く設計されており、シャフト7そのものが撓んだり変形したりすることは考えにくい。ただし、シャフト7の剛性が低く、シャフト7そのものが撓んだり変形したりしている場合であっても、その撓みや変形がシャフト支持部6aで起きているものとして等価変換することにより、同様の効果を得ることが出来る。
In this embodiment, the
以下、図1に示すように、シャフト支持部6aを原点とし、シャフト7と同軸となる天地方向をZ軸(Z方向)、Z軸に直交し、セカンドアーム6に沿った方向をX軸(X方向)、これらZ軸およびX軸に直交する方向をY軸(Y方向)として説明する。また、図1に示すZ軸回りの回転をRz回転と称し、X軸回りの回転をRx回転と称し、Y軸回りの回転をRy回転と称する。
Hereinafter, as shown in FIG. 1, the
この場合、Rx回転とは、図1に示す状態においてシャフト支持部6aを中心としてセカンドアーム6がX軸回りに回転する状態、より平易に言えば、セカンドアーム6が捩れた状態に相当する。また、Ry回転とは、セカンドアーム6を例にすると、図1に示す状態においてシャフト支持部6aを中心としてセカンドアーム6がY軸回りに回転する状態、より平易に言えば、セカンドアーム6の先端側がZ方向に揺れる状態に相当する。
In this case, the Rx rotation corresponds to a state in which the
このロボット2は、図3に示すように、複数のセンサ8、9、10を備えている。このうち、センサ8、9は、ファーストアーム5およびセカンドアーム6に設けられ、各アームの慣性を検出する慣性センサであり、センサ10は、セカンドアーム6に設けられ、シャフト7の上下位置を検出する位置センサである。各センサ8、9の配置は、基本的には任意に設定することができる。
As shown in FIG. 3, the
より具体的には、本実施形態では、センサ8は、ファーストアーム5に設けられており、ファーストアーム5が動作した際のRx回転の角速度およびRy回転の角速度を検出する2軸角速度センサで構成されており、図2に示すファーストアーム5における動作方向とは異なる向き(非動作方向)に生じる角速度を検出する。また、センサ9は、セカンドアーム6に設けられ、当該セカンドアーム6が動作した際のRx回転の角速度およびRy回転の角速度を検出する2軸角速度センサで構成されており、セカンドアーム6における動作方向とは異なる向き(非動作方向)に生じる角速度を検出する。
More specifically, in the present embodiment, the
また、センサ10は、セカンドアーム6内のシャフト支持部6aに設けられており、シャフト7を上下駆動するモータの回転角度を検出するモータエンコーダである。なお、図示は省略するが、これら各センサ8、9、10は、ケーブルにて接続されている有線式のものを使用している。なお、図示は省略するが、ファーストアーム5を駆動するモータおよびセカンドアーム6を回転駆動するモータにも、モータエンコーダが設けられている。
Further, the
次に、上記した構成の作用について説明する。
問題となっているシャフト支持部6aでの捩れ振動の振動周波数は、減速機構での回転方向の共振振動の振動周波数よりも十分に低い場合が多い。一例としては、例えばシャフト7直動部の支持部での捩れ振動の振動周波数が10Hz程度以下であるのに対し、減速機構での回転方向の共振振動の振動周波数は、50Hz程度である。なお、シャフト7がボールねじスプラインの場合などでは、その共振振動周波数は100Hzを超えることもある。
Next, the operation of the above configuration will be described.
The vibration frequency of the torsional vibration at the
このように振動周波数の差が大きい場合には、モータエンコーダの値をアームのRz軸回転角度あるいはZ軸位置(シャフト位置)として問題ない。なお、回転方向の共振振動が問題になる場合には、減速機の出力側にエンコーダ(シャフト7の場合にはリニアエンコーダ等)を設けたり、角速度センサや加速度センサを追加したり、状態オブザーバにより共振振動を推定したりすることで、共振振動の影響を除外することができる。 When the difference in vibration frequency is large as described above, there is no problem in using the value of the motor encoder as the Rz axis rotation angle of the arm or the Z axis position (shaft position). If resonance vibration in the rotation direction becomes a problem, an encoder (linear encoder, etc. in the case of shaft 7) may be provided on the output side of the speed reducer, an angular velocity sensor or acceleration sensor may be added, or a state observer may be used. By estimating the resonance vibration, the influence of the resonance vibration can be excluded.
そこで、まず、各アームにおける各種のパラメータや変数を、以下のように定義する。なお、以下では、各種のパラメータや変数を総称してパラメータとしている。また、使用可能文字の関係上、明細書中では、例えばファーストアーム支持部捩れ角度などについては、「φ」と示すものとする。
<<アームに関するパラメータ>>
Therefore, first, various parameters and variables in each arm are defined as follows. In the following, various parameters and variables are collectively referred to as parameters. Further, due to the characters that can be used, for example, the twist angle of the first arm support portion is indicated as "φ" in the specification.
<< Parameters related to the arm >>
<<アームに関するパラメータ>> << Parameters related to the arm >>
<<シャフト7に関するパラメータ>>
<< Parameters related to
これらのパラメータのうち、以下のパラメータは、各センサ8〜10によって検出された値、あるいは、検出された値を演算することにより求めることができる。
Of these parameters, the following parameters can be obtained by calculating the values detected by the
なお、ファーストアーム5およびセカンドアーム6の重心位置での角速度は、ファーストアーム5およびセカンドアーム6内のどの点の角速度を測定しても、重心位置での角速度と同じ値が検出される。
また、各パラメータは、以下の関係を持っている。
The angular velocity of the
In addition, each parameter has the following relationship.
さて、トルクの推定手法について述べる前に、後述する演算の簡略化について説明する。
回転振動について、その回転軸を単位ベクトルv、その回転量をφとする。ただし、単位ベクトルvは、以下の(3)式である。このとき、回転行列Rは、ロドリゲスの回転公(Rodrigues' Rotation Formula)を用いると、以下の(4)式で表される。この、回転行列R中の行列Vは、単位ベクトルvにより、以下の(5)式のように定義される。そして、単位ベクトルvおよび回転量φは、以下の(6)式および(7)式のように求まる。
By the way, before describing the torque estimation method, the simplification of the calculation described later will be described.
For rotational vibration, let the axis of rotation be the unit vector v and the amount of rotation be φ. However, the unit vector v is the following equation (3). At this time, the rotation matrix R is represented by the following equation (4) using Rodrigues' Rotation Formula. The matrix V in the rotation matrix R is defined by the unit vector v as shown in the following equation (5). Then, the unit vector v and the rotation amount φ can be obtained as in the following equations (6) and (7).
ここで、例えばファーストアーム5とセカンドアーム6のアーム長の合計が1000mmであったとし、手先に現れる振動がおよそ1mm程度であったとすると、回転量φは0.001(rad)となる。このとき、φ<<1であることから、sinφ=φ、cosφ=1と近似すると、回転行列Rは、以下の(8)式のように表すことができる。
Here, for example, assuming that the total arm length of the
ここで、vが単位ベクトルであることから、回転行列Rの非対角成分の絶対値は、φ以下となることが分かる。このことは、ある軸の値に対して、別の軸の値が最大でφだけ誤差として重畳してしまうことを示している。
さて、計測対象の軸に対して直交する別の軸からの影響度を一般的に他軸感度と呼ぶが、上記のように近似した値を用いることで回転行列をRz回転に限定したことによる他軸感度への影響は、0.1%となる。
Here, since v is a unit vector, it can be seen that the absolute value of the off-diagonal component of the rotation matrix R is φ or less. This indicates that the value of another axis is superimposed as an error by φ at the maximum with respect to the value of one axis.
By the way, the degree of influence from another axis orthogonal to the axis to be measured is generally called the other axis sensitivity, but it is because the rotation matrix is limited to Rz rotation by using the values approximated as described above. The effect on the sensitivity of the other axis is 0.1%.
これに対して、センサ8、9等の慣性センサ自体の他軸感度は、一般的に、数%程度(例えば4%程度)である。このため、回転行列をRz回転に限定することによる誤差は、慣性センサ自体の持つ他軸感度による誤差と比べて一桁以上小さくなっている。このため、Rz軸方向の回転のみを考慮し、捩れ角度の影響は無視しても、実用上つまりは実際にロボット2を制御する上では、大きな問題となることはない。そのため、本実施形態では、以下のように、シャフト支持部6aにかかるトルクを求める際には、回転行列についてはRz軸方向の回転のみを考慮し、捩れ角度の影響は無視することで、演算を簡略化することができるようになる。
さて、このように演算を簡略化した場合には、各回転行列は、以下の(9)式から(11)式のように表すことができる。
On the other hand, the other axis sensitivity of the inertial sensors such as the
By the way, when the calculation is simplified in this way, each rotation matrix can be expressed as the following equations (9) to (11).
勿論、簡略化せずに、それぞれの支持部における捩れ角度の影響を含めて、Rx回転およびRy回転を考慮した回転行列を用いる場合にも、以下の手法によりトルクを推定することは可能である。
さて、ファーストアーム5およびセカンドアーム6の重心位置の加速度、慣性力、慣性トルクは、以下の(12)式から(17)式のようになる。
Of course, without simplification, it is possible to estimate the torque by the following method even when using a rotation matrix that takes into account Rx rotation and Ry rotation , including the effect of the twist angle at each support. ..
The acceleration, inertial force, and inertial torque at the center of gravity of the
これらより、ファーストアーム支持部およびセカンドアーム支持部の力およびトルクは、以下の(18)式から(21)式のようになる。 From these, the forces and torques of the first arm support portion and the second arm support portion are as shown in the following equations (18) to (21).
また、ファーストアーム支持部およびセカンドアーム支持部のトルクは、支持部の剛性を用いて、以下の(22)式および(23)式のように求まる。ただし、Rz軸方向のトルクについては、厳密に捩れ剛性を用いて求めなくても、モータトルクをギア比により各アーム支持部のRz軸方向のトルクに換算して用いても良い。 Further, the torques of the first arm support portion and the second arm support portion can be obtained by using the rigidity of the support portion as in the following equations (22) and (23). However, the torque in the Rz axis direction may not be obtained strictly by using the torsional rigidity, but the motor torque may be converted into the torque in the Rz axis direction of each arm support portion by the gear ratio and used.
そして、ファーストアーム支持部のトルクから、セカンドアーム支持部の力を求める。ただし、ここで求まるセカンドアーム支持部の力は、この時点では一意に求まることはなく、例えば(25)式のλL1や(26)式のλR2L1のように、ファーストアーム5のリンク長ベクトル方向に水平な未知の項を含んだ状態で求まる。そして、求めたセカンドアーム支持部の力より、シャフト支持部6aの力を以下の(27)式のように求める。なお、以下の式のNF21、F20は、式を置き換えるために定義したものである。
Then, the force of the second arm support portion is obtained from the torque of the first arm support portion. However, the force of the second arm support portion obtained here is not uniquely obtained at this point, and is in the direction of the link length vector of the
続いて、セカンドアーム支持部のトルクから、以下の(28)式および(29)式のように、シャフト支持部6aの力を消去する。
Subsequently, the force of the
この(28)式から、未知項は、ファーストアームリンク長を、セカンドアーム回転角度だけRz回転させたベクトルとセカンドアーム6のリンク長の外積で表されることが明らかになった。これらリンク長ベクトルは、X軸方向にのみ大きな値であるものの、Y軸方向あるいはZ軸方向には小さい値となっている。
このため、セカンドアーム回転角度が0°の場合、未知項は、非常に小さな値となるため、無視しても問題ないレベルとなる。また、セカンドアーム回転角度が90°の場合、未知項は、ほぼRz軸方向のベクトルとなり、Rx軸方向あるいはRy軸方向については、その影響をほぼ無視しても問題ないレベルとなっている。
From this equation (28), it was clarified that the unknown term is represented by the outer product of the vector obtained by rotating the first arm link length by Rz by the second arm rotation angle and the link length of the
Therefore, when the rotation angle of the second arm is 0 °, the unknown term becomes a very small value, so that it can be ignored. Further, when the rotation angle of the second arm is 90 °, the unknown term becomes a vector in the Rz axis direction, and the influence in the Rx axis direction or the Ry axis direction can be ignored.
すなわち、上記した式には未知項が含まれているものの、その影響は、Rz軸方向へは大きく作用する場合があるものの、Rx軸方向あるいはRy軸方向ではその影響を無視できる。これを式として表すならば、リンク長ベクトルがX軸成分のみに値を持つとすれば、未知項は、Rz軸方向へのみ影響を表すことから、次の(30)式から(32)式のように示すことができる。ただし、(32)式における「×」は、外積を示す。 That is, although the above equation contains an unknown term, its influence may have a large effect in the Rz axis direction, but its influence can be ignored in the Rx axis direction or the Ry axis direction. If this is expressed as an equation, if the link length vector has a value only in the X-axis component, the unknown term expresses the influence only in the Rz-axis direction. Therefore, the following equations (30) to (32) Can be shown as However, "x" in the equation (32) indicates the outer product.
次に、セカンドアーム支持部のトルクからシャフト支持部6aのトルクを、以下の(33)式から(35)式のようにして求める。そして、このシャフト支持部6aのトルクと剛性とより、シャフト支持部捩れ角が、以下の(36)式のように求まる。ただし、シャフト支持部6aのトルクにも上記したRz軸方向へは未知項が影響しており、この未知項の影響により、シャフト支持部捩れ角は、Rx軸方向およびRy軸方向の捩れ角のみが有効なものとして導出されている。
Next, the torque of the
なお、シャフト支持部捩れ角は、ファーストアーム支持部あるいはセカンドアーム支持部の場合と同様に、4軸目モータトルクをギア比により変換することでRz軸方向トルクを求め、そのRz軸方向トルクからシャフト支持部捩れ角を求めてもよい。
このように、本実施形態の制御装置3は、手先では無く、各アームに設けた複数のセンサの検出結果に基づいてシャフト支持部6aのトルクを推定し、推定したシャフト支持部6aのトルクに基づいて、シャフト支持部捩れ角、つまりは、手先の振動の要因となるシャフト支持部6aでの捩れ振動を求めている。
As for the twist angle of the shaft support portion, the torque in the Rz axis direction is obtained by converting the motor torque of the fourth axis by the gear ratio, as in the case of the first arm support portion or the second arm support portion, and the torque in the Rz axis direction is used to obtain the torque in the Rz axis direction. The twist angle of the shaft support may be obtained.
As described above, the
以上説明した実施形態によれば、次のような効果を得ることができる。
ロボット制御装置(制御装置3)は、水平多関節型のロボット2のファーストアーム5およびセカンドアーム6に設けられている複数のセンサ8、9、10の検出結果から、シャフト7を支持するシャフト支持部6aにかかるトルク(N3)を推定し、当該推定したトルク(N3)とシャフト7の剛性とに基づいて、シャフト7の先端部7aの振動に相関するシャフト支持部6aでの捩れ角度を求めている。
According to the embodiment described above, the following effects can be obtained.
The robot control device (control device 3) supports the
つまり、制御装置3は、ロボット2の手先(シャフト7の先端部7a)ではなく、各アームに設けられているセンサ8、9、10の検出結果から、シャフト7に生じる捩れ振動に相関しているとともに、ロボット2の手先つまりはシャフト7の先端部7aの振動にも相関しているシャフト支持部6aでの捩れ角度を求めている。
That is, the
ファーストアーム5に設けられているセンサ8の検出結果から、ファーストアーム支持部にかかるトルクを求めることができる。また、ロボット2は各アームがリンクしていることから、ファーストアーム5に設けられているセンサ8の検出結果と、そのファーストアーム5に対して相対的に動作可能なセカンドアーム6に設けられているセンサ9の検出結果とから、セカンドアーム6のみでみた場合の値を求めることができ、求めた値からセカンドアーム支持部にかかるトルクを求めることができる。同様に、センサ8〜10の検出結果から、シャフト支持部6aにかかるトルクを求めることができる。
そして、シャフト支持部6aにかかるトルクが求まれば、シャフト7の剛性に基づいて、シャフト7の捩れ角度を求めることができる。
これにより、ロボット2の手先にセンサを設けなくても、ロボット2の手先の振動の要因となるシャフト支持部6aでの捩れ振動を求めることができる。
From the detection result of the
Then, if the torque applied to the
As a result, the torsional vibration at the
このとき、センサ8、9、10は、各アームに設けられているため、手先に設ける場合と比べて、その配線構造を簡略化することができる。また、有線式であることから、電源供給等の問題が生じず、また、無線式のようにノイズにより通信が途切れることもないため、信頼性を向上させることができる。
At this time, since the
より詳細には、制御装置3は、各アームに設けられているセンサ8、9、10の検出結果から各アームにおける慣性力を求め、求めた慣性力から各アームを支持するそれぞれのアーム支持部でのトルクを求める。そして、制御装置3は、求めた各アーム支持部でのトルクからシャフト支持部6aにかかるトルクを推定し、推定したトルクに基づいてシャフト支持部6aでの捩れ角度を求めている。
複数のセンサ8、9、10は、慣性センサ、回転角度センサおよびシャフト7の上下位置を検出する位置センサのうちいずれかの組み合わせで構成されている。
More specifically, the
The plurality of
例えば、速度と加速度は、いずれか一方を検出すれば演算により他方を求めることができる。ただし、その場合には、演算時間を要することになるが、換言すれば、演算が不要であればその分だけ処理速度を向上させることができる。そして、慣性センサであれば、直接的に慣性力を検出でき、回転角度センサであれば、回転角度を直接的に検出でき、位置センサであればシャフト7の上下位置を直接的に検出できる。
For example, the velocity and acceleration can be obtained by calculation if either one is detected. However, in that case, the calculation time is required. In other words, if the calculation is unnecessary, the processing speed can be improved by that amount. Then, the inertial sensor can directly detect the inertial force, the rotation angle sensor can directly detect the rotation angle, and the position sensor can directly detect the vertical position of the
このように、シャフト支持部6aにかかるトルクを推定するために必要となる各種の物理量を直接的に検出できるセンサを用いることにより、処理速度の向上を図ることができる。
より詳細には、慣性センサとして角速度を検出する角速度センサを用いることで、各アーム支持部でのトルクを求める際の演算を省略あるいは簡略化することができる。また、位置センサとしてシャフト7を駆動するモータに一般的に設けられているモータエンコーダを用いることで、追加部材を必要とすること無く、シャフト7の上下位置を取得することができる。
また、各センサ8、9の配置は基本的には任意に設定することができるため、配線が過度に複雑化することを抑制できる。
As described above, the processing speed can be improved by using the sensor capable of directly detecting various physical quantities required for estimating the torque applied to the
More specifically, by using an angular velocity sensor that detects the angular velocity as the inertial sensor, it is possible to omit or simplify the calculation when obtaining the torque at each arm support portion. Further, by using a motor encoder generally provided in a motor for driving the
Further, since the arrangement of the
また、本実施形態の場合、常に振動を検出することが可能となるので、振動特性が外気温度(昼夜や季節による温度変動)や経年劣化あるいは暖機運転の状態(平常時と長期連休直後の相違)などにより変動することを考慮すると、例えば試験運転時にのみセンサを利用し、実稼働時にはセンサを利用しないような構成とは異なり、期待通りの振動抑制効果を発揮することができる。
また、ファーストアーム5およびセカンドアーム6に設けられている複数のセンサの検出結果からシャフト7を支持するシャフト支持部6aにかかるトルクを推定し、当該推定したトルクに基づいて、シャフト7の先端部7aの振動に相関するシャフト支持部6aでの捩れ角度を求める制御方法によっても、同様の効果を得ることができる。
Further, in the case of the present embodiment, since vibration can be detected at all times, the vibration characteristics are the outside air temperature (temperature fluctuation due to day / night and season), aging deterioration, or warm-up operation state (normal time and immediately after long holidays). Considering that it fluctuates due to (difference) and the like, it is possible to exhibit the expected vibration suppression effect, unlike a configuration in which the sensor is used only during test operation and the sensor is not used during actual operation.
Further, the torque applied to the
(第2実施形態)
以下、第2実施形態について説明する。第2実施形態の場合、センサの設置態様が第1実施形態と異なっている。
図4に示すように、本実施形態の場合、ファーストアーム5には、第1実施形態のセンサ8(角速度センサ)の代わりに、2軸の加速度センサであるセンサ11、12を設けている。なお、図示は省略するが、セカンドアーム6にも2軸の加速度センサが2つ設けられている。また、センサ11、12も含めて、各センサの配置は基本的には任意に設定することができる。
(Second Embodiment)
Hereinafter, the second embodiment will be described. In the case of the second embodiment, the installation mode of the sensor is different from that of the first embodiment.
As shown in FIG. 4, in the case of the present embodiment, the
まずファーストアーム5について説明する。1軸回転中心(J1軸上の点C1)と2軸回転中心(J2軸上の点)とを通る仮想的な直線をCL1とし、CL1に沿った1軸回転中心(J1軸上の点C1)と2つのセンサ11、12のそれぞれの測定位置との間の距離をそれぞれLS11X、LS12Xとする。また、CL1からY方向への距離をそれぞれLS11Y、LS12Yとし、CL1からZ軸方向への距離をそれぞれLS11Z、LS12Zとする。また、各センサ11、12の測定軸は、Y軸とZ軸であるものとする。
このとき、各センサ11、12によって検出される加速度は、センサの数をnとすると、以下の(37)式のように表される。
First, the
At this time, the acceleration detected by the
そして、Y軸加速度から、Rx軸角加速度とRz軸角加速度は、以下の(38)式から(41)式のように導出される。 Then, from the Y-axis acceleration, the Rx- axis angular acceleration and the Rz-axis angular acceleration are derived from the following equations (38) as equations (41).
同様に、Z軸加速度から、Rx軸角加速度とRy軸角加速度が、以下の(42)式から(45)式のように導出される。 Similarly, from the Z-axis acceleration, the Rx-axis angular acceleration and the Ry-axis angular acceleration are derived from the following equations (42) as in equation (45).
そして、求めたそれぞれの角加速度を積分することにより、角速度をそれぞれ求めることができる。なお、Rx軸角加速度はいずれの加速度からも求めることができるが、例えば平均値を利用したり、角速度および角加速度の誤差が小さくなるように補正したり、分母が大きい方の値を利用するなどにより、精度を向上させることができる。 Then, the angular velocities can be obtained by integrating the obtained angular accelerations. The Rx-axis angular acceleration can be obtained from any acceleration, but for example, the average value is used, the error of the angular velocity and the angular acceleration is corrected so as to be small, or the value having the larger denominator is used. The accuracy can be improved by such means.
次に、セカンドアーム6の場合を考える。セカンドアーム6の場合、2軸回転中心(J2軸上の点)の加速度をセンサの検出結果から差し引くことで、上記したファーストアーム5の場合と同様の演算にてX軸、Y軸、Z軸の角速度をそれぞれ求めることができる。この場合、2軸回転中心の加速度は、ファーストアーム5の角速度あるは角加速度から求めることができる。
そして、各アームにおける角速度が求まれば、(1)式に代入し、第1実施形態と同様に演算することで、シャフト支持部捩れ角、つまりは、手先が振動した場合の手先位置を取得することができる等、第1実施形態と同様の効果を得ることができる。
Next, consider the case of the
Then, if the angular velocity in each arm is obtained, it is substituted into the equation (1) and calculated in the same manner as in the first embodiment to obtain the twist angle of the shaft support portion, that is, the hand position when the hand vibrates. It is possible to obtain the same effect as that of the first embodiment.
このとき、センサ位置は基本的には任意であるが、センサ位置を工夫することにより、効率的に演算を行うことができる。例えば、ファーストアーム5であれば、LS11X=LS12X、LS11Y=LS12Y、LS11Z=LS12Zのように配置するとよい。また、LS11Z=LS12Z=0とするとなおよい。セカンドアーム6も考慮すると、これらの関係は、以下の(46)式から(48)式のように表すことができる。
At this time, the sensor position is basically arbitrary, but by devising the sensor position, the calculation can be performed efficiently. For example, in the case of the
LSm1X=LSmnX ・・・(46)
LSm1Y=LSmnY ・・・(47)
LSm1Z=LSmnZ(=0) ・・・(48)
なお、nはセンサの数であり、m=1の場合がファーストアーム5、m=2の場合がセカンドアーム6になる。つまり、n=1、m=1であれば、例えばLS11Xがセンサ11の配置(第1軸(J1)からの距離)を表し、n=2、m=1であれば、例えばLS12Yがセンサ12の配置(直線(CL1)からの距離)を表している。
LSm 1 X = LSmnX ... (46)
LSm 1 Y = L SmnY ... (47)
LSm 1 Z = LSmnZ (= 0) ... (48)
Note that n is the number of sensors, where m = 1 is the
(第3実施形態)
以下、第3実施形態について説明する。第3実施形態では、上記した第1実施形態および第2実施形態で示したロボット制御装置において、手先に現れる振動を抑制するための手法について説明する。なお、構成については第1実施形態と共通する。また、図1から図4も参照しながら説明する。
(Third Embodiment)
Hereinafter, the third embodiment will be described. In the third embodiment, in the robot control device shown in the first embodiment and the second embodiment described above, a method for suppressing the vibration appearing at the hand will be described. The configuration is the same as that of the first embodiment . Further, it will be described with reference to FIGS. 1 to 4.
まず、上記した第1実施形態で説明した通り、水平多関節ロボットであるロボット2では、回転軸である1軸(J1)目および2軸(J2)目の動作に連動して、シャフト7を支持するシャフト支持部6aにおいて捩れ振動が発生している。そして、この捩れ振動は、1軸目および2軸目の回転軸とRz軸の回転だけでなく、Rx軸方向およびRy軸方向にも発生している。
First, as described in the first embodiment described above, in the
しかし、従来の一般的なロボットの場合には、Rz軸方向に関してはシャフト7の回転軸となる4軸目に角度センサとしてモータエンコーダが取り付けられているものの、Rx軸方向およびRy軸方向にはその動作を検出できるセンサが設けられていなかった。そのため、Rx軸方向およびRy軸方向の振動に関しては、捩れ振動そのもののを観測できないため、捩れ振動の発生を検知してその捩れ振動を抑制することが困難であった。
However, in the case of a conventional general robot, although a motor encoder is attached as an angle sensor to the fourth axis which is the rotation axis of the
また、ある回転軸で動作方向に受ける他の軸からの干渉力による捩れをその軸のモータへの制御位置指令値の補正で抑制する手法等も提案されているが、上記したように、一般的な考え方では各軸において回転可能なのはRz軸方向のみであり、Rx軸方向あるいはRy軸方向には回転できないため、Rx軸方向およびRy軸方向の捻れを補償することはできなかった。また、それ以外にも他の軸からの影響を補正する様々な方法が提案されているが、動作方向ではない非動作方向について検討されているものはなかった。 In addition, a method of suppressing the twist due to the interference force from another shaft received in the operation direction on a certain rotating shaft by correcting the control position command value to the motor of that shaft has been proposed, but as described above, it is general. In the conventional way of thinking, only the Rz axis direction can be rotated in each axis, and the rotation cannot be performed in the Rx axis direction or the Ry axis direction. Therefore, the twist in the Rx axis direction and the Ry axis direction cannot be compensated. In addition, various methods for compensating for the influence from other axes have been proposed, but none have been examined for the non-operating direction other than the operating direction.
また、非動作方向も含めた各関節部の弾性を考慮して制御位置指令値を修正する方法も提案されていたものの、共振特性については何ら考慮されておらず、共振振動(非動作方向共振)の抑制には効果がなかった。また、手先先端の位置に関してはそのような方法で精度が向上すること自体は見込めるものの、Rx軸方向あるいはRy軸方向の慣性、弾性および剛性(バネ定数)から成る共振特性によって共振振動を励起してしまい、手先先端の姿勢、特にRx軸方向あるいはRy軸方向に対する姿勢が振動的になってしまうおそれがあった。この場合、一見すれば逆相に動かすことで振動抑制に効果が見込めそうに思われたものの、動作中には手先加速度による慣性力が非動作方向に直接作用し、動作終了後には手先加速度がゼロとなり慣性力を発生させなくなることから、共振振動の発生を抑制する効果も共振振動を減衰させる効果も得ることはできなかった。 In addition, although a method of correcting the control position command value in consideration of the elasticity of each joint including the non-operating direction has been proposed, no consideration is given to the resonance characteristics, and the resonance vibration (non-operating direction resonance). ) Was not effective. In addition, although it is expected that the accuracy of the position of the tip of the hand will be improved by such a method, the resonance vibration is excited by the resonance characteristic consisting of inertia, elasticity and rigidity (spring constant) in the Rx axis direction or the Ry axis direction. Therefore, there is a possibility that the posture of the tip of the hand, particularly the posture with respect to the Rx axis direction or the Ry axis direction, becomes vibrating. In this case, at first glance, it seemed that moving in the opposite phase would be effective in suppressing vibration, but the inertial force due to the hand acceleration acts directly in the non-moving direction during operation, and the hand acceleration increases after the operation ends. Since it becomes zero and no inertial force is generated, neither the effect of suppressing the generation of resonance vibration nor the effect of dampening the resonance vibration can be obtained.
さて、シャフト7の先端部7a(以下、フランジ先端とも称する)に加わる力は、ファーストアーム支持部、セカンドアーム支持部、およびシャフト支持部6aにおける非動作方向の回転力となることが、発明者らによって明らかにされた。具体的には、例えば図5(a)に示すようにフランジ先端に外向きの力(Fx)が加わった場合、その力は、シャフト支持部6aに対してRy軸を中心としたRy回転を生じさせる力、つまりは、非動作方向への回転力となる。また、例えば図5(b)に示すようにフランジ先端に横向きの力(Fy)が加わった場合、その力は、シャフト支持部6aに対して、Rx軸を中心としたRx回転を生じさせる力、つまりは、非動作方向への回転力となる。
Now, the
また、図5(a)に示すような外向きの力(Fx)は、図6(a)に示すように、セカンドアーム支持部に対しても、セカンドアーム支持部とフランジ先端とを通る仮想線Lcを通るRy軸回りのRy回転を生じさせる力となるとともに、図7(a)に示すように、ファースト支持部に対しても、ファーストアーム支持部とフランジ先端とを通る仮想線Lcを通るRy軸回りのRy回転を生じさせる力となる。同様に、図5(b)に示すような横向きの力(Fy)は、図6(b)に示すようにセカンドアーム支持部に対してもRx回転を生じさせる力となるとともに、図7(b)に示すようにファーストアーム支持部に対してもRx回転を生じさせる力となる。また、図8(a)、(b)に示すように、フランジ先端に上向きの力(Fz)が加わった場合、その力は、セカンドアーム支持部およびファースト支持部に対して、Ry回転を生じさせる力となる。
そのため、フランジ先端に加わる力を非動作方向の振動周波数を含まないように制御することができれば、非動作方向の振動を抑制することができると考えられる。
Further, as shown in FIG. 6A, the outward force (Fx) as shown in FIG. 5A also passes through the second arm support portion and the flange tip with respect to the second arm support portion. It is a force that causes Ry rotation around the Ry axis passing through the line Lc, and as shown in FIG. 7A, a virtual line Lc passing through the first arm support portion and the flange tip is also provided to the first support portion. It is a force that causes Ry rotation around the passing Ry axis. Similarly, the lateral force (Fy) as shown in FIG. 5 (b) becomes a force that causes Rx rotation also with respect to the second arm support portion as shown in FIG. 6 (b), and is also a force that causes Rx rotation, and is also shown in FIG. 7 (b). As shown in b), it is a force that causes Rx rotation also with respect to the first arm support portion. Further, as shown in FIGS. 8A and 8B, when an upward force (Fz) is applied to the flange tip, the force causes Ry rotation with respect to the second arm support portion and the first support portion. It will be a force to make you.
Therefore, if the force applied to the tip of the flange can be controlled so as not to include the vibration frequency in the non-operating direction, it is considered that the vibration in the non-operating direction can be suppressed.
まず、フランジ先端に加わる力について検討する。フランジに取り付けられるツール内で発生される駆動力は、チャックの開閉などのための駆動力であり、それほど大きなものではない。そのため、ツール内で発生される駆動力については、振動への影響がそれほど大きくないと考えられるため、考慮しないこととする。
ツール内で発生される駆動力以外にはフランジ先端以降で発生する駆動力はないものの、フランジ先端とツールが1軸目や2軸目などのモータにより動かされた結果、その加速度に応じた慣性力が表れることになる。そして、その慣性力を抑制すれば、非動作方向の振動を抑制できると考えられる。つまり、フランジ先端の加速度に対して、非動作方向の振動周波数を含まないように制御することが、非動作方向の振動を低減させることに繋がると考えられる。この場合、アームの回転に伴う移動動作によってフランジ先端の方向が変化するものの、制御系における制御器の内部状態量を適切に回転させることにより、フランジ先端の方向の変化に追従させることができると考えられる。
First, the force applied to the tip of the flange will be examined. The driving force generated in the tool attached to the flange is the driving force for opening and closing the chuck, and is not so large. Therefore, the driving force generated in the tool is not considered to have a large effect on vibration.
Although there is no driving force generated after the flange tip other than the driving force generated in the tool, the flange tip and the tool are moved by motors such as the 1st and 2nd axes, and as a result, the inertia according to the acceleration. Power will appear. Then, if the inertial force is suppressed, it is considered that the vibration in the non-operating direction can be suppressed. That is, it is considered that controlling the acceleration at the tip of the flange so as not to include the vibration frequency in the non-operating direction leads to reducing the vibration in the non-operating direction. In this case, although the direction of the flange tip changes due to the movement operation accompanying the rotation of the arm, it is possible to follow the change in the direction of the flange tip by appropriately rotating the internal state quantity of the controller in the control system. Conceivable.
さて、本実施形態の制御手法を説明する前に、まずは、従来技術により上記したRx軸方向あるいはRy軸方向への振動を抑制できるかどうかについて検討してみる。
従来から行われているように、各軸単位でフィルタ処理を行うケースを検討してみる。従来技術の一例として、軸を同期させて動かす場合の各軸のノッチフィルタの位相差を問題とし、ノッチフィルタを各軸の制御系に追加する手法が提案されている。この場合、回転座標系で考えると、速度の2乗に比例して遠心力が発生する。ただし、提案されているフィルタ処理は、制御系が線形であることを前提としており、2乗に比例する項に対しては正しく作用しない。
Before explaining the control method of the present embodiment, first, it will be examined whether or not the above-mentioned vibration in the Rx-axis direction or the Ry-axis direction can be suppressed by the prior art.
Let us consider a case where filtering is performed for each axis as has been done in the past. As an example of the prior art, a method of adding a notch filter to the control system of each axis has been proposed, considering the phase difference of the notch filter of each axis when the axes are moved synchronously. In this case, considering the rotating coordinate system, centrifugal force is generated in proportion to the square of the velocity. However, the proposed filtering presupposes that the control system is linear and does not work correctly for terms proportional to the square.
具体例で説明すると、例えば10Hzで振動が発生する場合、当然であるが10Hzの成分が抑制されることになる。しかし、この時に、抑制対象となっていない20Hzと30Hzの周波数成分が存在していたとすると、抑制したはずの10Hzの成分が、2乗することによって、以下の(49)式および(50)式に示すように表れてしまう。 Explaining with a specific example, for example, when vibration occurs at 10 Hz, the component at 10 Hz is naturally suppressed. However, at this time, if there are frequency components of 20 Hz and 30 Hz that are not suppressed, the 10 Hz components that should have been suppressed are squared, and the following equations (49) and (50) are obtained. It appears as shown in.
つまり、従来行われていた各軸単位でのフィルタ処理では、非動作方向に加わる力、例えば遠心力が作用する場合にはその効果が十分に発揮されないことになる。
そこで、本実施形態では、以下に説明するように、フランジ先端の加速度に対して、非動作方向の振動周波数を含まないように制御することにより非動作方向の振動を低減させるとともに、制御系における制御器の内部状態量を適切に回転させることによりフランジ先端の方向の変化に追従させた制御ができる制御手法を用いている。
That is, in the conventional filtering process for each axis, the effect is not sufficiently exhibited when a force applied in the non-operating direction, for example, a centrifugal force acts.
Therefore, in the present embodiment, as described below, the acceleration in the non-operating direction is controlled so as not to include the vibration frequency in the non-operating direction with respect to the acceleration at the tip of the flange, thereby reducing the vibration in the non-operating direction and in the control system. A control method is used that allows control to follow changes in the direction of the flange tip by appropriately rotating the internal state quantity of the controller.
まず、ファーストアーム長をL1、セカンドアーム長をL2、1軸目回転角度をθ1(t)、2軸目回転角度をθ2(t)、4軸目回転角度をθ4(t)、フランジ先端から負荷重心までの長さを以下の(51)式で表すとする。このとき、負荷重心位置を順運動学変換により以下の(52)で示す直交座標で表現すると、以下の(53)から(55)式のようになる。ただし、a(t)は、重心位置の姿勢成分、つまりRz軸方向回転角度を表している。なお、負荷重心位置とは、シャフト7と負荷との重心位置、具体的には、ツールが取り付けられている場合にはシャフト7とツールの重量を含んだ状態における重心位置を意味し、そのツールがワークを把持している場合にはシャフト7、ツールおよびワークの重量を含んだ状態における重心位置を意味する。
First, the first arm length is L 1 , the second arm length is L 2 , the first axis rotation angle is θ 1 (t), the second axis rotation angle is θ 2 (t), and the fourth axis rotation angle is θ 4 (t). ), The length from the tip of the flange to the center of gravity of the load is expressed by the following equation (51). At this time, if the position of the center of gravity of the load is expressed by the Cartesian coordinates shown in (52) below by forward kinematics transformation, the following equations (53) to (55) are obtained. However, a (t) represents the posture component at the center of gravity, that is, the rotation angle in the Rz axis direction. The position of the center of gravity of the load means the position of the center of gravity of the
ここで、(52)式を以下の(56)式のようにラプラス変換すると、以下の(57)式となる。 Here, when the equation (52) is Laplace transformed as the following equation (56), the following equation (57) is obtained.
そして、初期値を0として2回微分することで加速度および角加速度を以下の(58)式のように求めると、以下の(59)式となる。 Then, when the acceleration and the angular acceleration are obtained by the following equation (58) by differentiating twice with the initial value as 0, the following equation (59) is obtained.
ここで、非動作方向の振動周波数を抑制するノッチフィルタ(帯域除去フィルタ、バンドエリミネーションフィルタなどとも呼ばれる)をF(s)とすると、以下の(60)式で示されるフィルタ通過後の加速度は、(61)式および(62)式のようになる。 Here, assuming that the notch filter (also called a band elimination filter, band elimination filter, etc.) that suppresses the vibration frequency in the non-operating direction is F (s), the acceleration after passing through the filter represented by the following equation (60) is , (61) and (62).
これらの式から、(52)式に示す位置あるいは姿勢軌道に対してノッチフィルタをかけて以下の(63)式のように修正位置あるいは修正姿勢軌道を求めることは、(60)式に示す加速度あるいは角加速度軌道に対してノッチフィルタをかけた後に、二回積分により以下の(64)式のように修正位置あるいは修正軌道を求めることと等価であることが分かる。 From these equations, applying a notch filter to the position or attitude trajectory shown in Eq. (52) to obtain the corrected position or attitude trajectory as in Eq. (63) below is the acceleration shown in Eq. (60). Alternatively, after applying a notch filter to the angular acceleration trajectory, it can be seen that it is equivalent to obtaining the correction position or the correction trajectory as shown in the following equation (64) by double integration.
そして、上記した修正位置あるいは修正姿勢軌道より、以下の(65)式で示す修正角度軌道は、逆運動学変換によって以下の(66)式から(69)式のように求まる。 Then, from the above-mentioned corrected position or corrected posture trajectory, the corrected angle trajectory represented by the following equation (65) can be obtained from the following equations (66) to (69) by inverse kinematics conversion.
なお、正負の複合は、アームが右手系をとるか左手系を取るかによって定まる。すなわち、(70)式に示す角度軌道が右手系であれば修正角度軌道も右手系になるようにすればよく、角度軌道が左手系であれば修正角度軌道も左手系になるようにすればよい。
さて、アームの負荷質量をMとすると、修正軌道に追従した際の慣性力は、以下の(71)のようになる。
The combination of positive and negative is determined by whether the arm takes the right-handed system or the left-handed system. That is, if the angular orbit shown in Eq. (70) is a right-handed system, the modified angular orbit may be the right-handed system, and if the angular orbit is the left-handed system, the modified angular orbit may also be the left-handed system. Good.
Assuming that the load mass of the arm is M, the inertial force when following the corrected trajectory is as shown in (71) below.
そして、慣性力は加速度に比例することから、加速度軌道に対してノッチフィルタをかけることは、慣性力に対してノッチフィルタをかけることと等価であることが分かる。なお、加速度軌道に対してノッチフィルタをかけることは、上記したように位置軌道に対してノッチフィルタをかけることで実現できる。
このとき、各軸単位で考えた場合に現れていた遠心力などの項は、負荷重心位置への座標変換時に含まれる。そのため直交座標系に変換した後は考慮しなくてもよい。
なお、従来技術のように例えばフランジ先端のような負荷重心位置以外の位置で考えた場合には、負荷重心位置とフランジ先端の距離に比例した遠心力が発生してしまうことから遠心力による影響が無視できなくなる。その結果、振動抑制フィルタの効果が設計通りに作用しなくなる。なお、ここでは単に負荷質量および負荷重心と称して説明しているが、それらには、負荷を捩れの生じる部材に接続する機構要素、例えば水平多関節ロボットの場合にはシャフト7のボールねじ部分の質量も含まれている。
Since the inertial force is proportional to the acceleration, it can be seen that applying a notch filter to the acceleration trajectory is equivalent to applying a notch filter to the inertial force. It should be noted that applying a notch filter to the acceleration trajectory can be realized by applying a notch filter to the position trajectory as described above.
At this time, terms such as centrifugal force that appear when considered in units of each axis are included in the coordinate conversion to the position of the center of gravity of the load. Therefore, it is not necessary to consider it after converting to the Cartesian coordinate system.
In addition, when considering a position other than the load center of gravity position such as the flange tip as in the prior art, a centrifugal force proportional to the distance between the load center of gravity position and the flange tip is generated, so that the influence of the centrifugal force is exerted. Cannot be ignored. As a result, the effect of the vibration suppression filter does not work as designed. Although the description is simply referred to as the load mass and the load center of gravity here, they include mechanical elements that connect the load to the twisting member, for example, the ball screw portion of the
さて、従来技術の例として、順変換した後に指令値とセンサ検出値の差分をとり、逆変換して関節角度の制御に用いるという手法がある。しかし、その手法は、制御したい状態量の座標空間と実際に動かすロボットの角度空間とが違っており、その違いを吸収するために相互に変換するのみであり、本実施形態のように順変換後に共振振動抑制手法(振動抑制処理に相当する)を適用することで遠心力などを考慮する必要がなくなるという点に関しては、何の考察も行われていなかった。
また、順変換で直交座標系に変換した後、マトリクスフィルタにより振動抑制軌道を導出し、逆変換により再度各軸座標系に戻す手法や、各軸座標系からハンド部の位置を直交座標系に変換した後、所定の入力整形を行い、再度各軸座標系に戻す手法があるが、そのような手法においても、本実施形態のように負荷重心位置で直交座標系に変換することにより遠心力などの影響を考慮する必要がなくなるという点に関しては、何の考察も行われていなかった。
By the way, as an example of the prior art, there is a method in which the difference between the command value and the sensor detection value is taken after the forward conversion, and the reverse conversion is performed and used for controlling the joint angle. However, in that method, the coordinate space of the state quantity to be controlled and the angular space of the robot that actually moves are different, and only conversion is performed to absorb the difference, and forward conversion is performed as in the present embodiment. No consideration was given to the fact that it is not necessary to consider centrifugal force or the like by applying the resonance vibration suppression method (corresponding to the vibration suppression process) later.
In addition, after converting to the Cartesian coordinate system by forward conversion, the vibration suppression trajectory is derived by the matrix filter and returned to each axis coordinate system by the inverse conversion, or the position of the hand part is changed from each axis coordinate system to the Cartesian coordinate system. After conversion, there is a method of performing predetermined input shaping and returning to each axis coordinate system again. Even in such a method, centrifugal force is obtained by converting to a Cartesian coordinate system at the load center of gravity position as in the present embodiment. No consideration was given to the fact that it is no longer necessary to consider the effects of such factors.
ところで、上記した直交座標系はグローバル座標系、つまり、ベース4を原点とした絶対座標系であり、各支持部の捩れ方向に対応した座標系ではない。例えば、2軸目を固定して1軸目を180°回転させることを考える。この時、移動開始時での1軸目の回転によってシャフト支持部6aに加わる力の方向と、移動完了時での1軸目の回転によってシャフト支持部6aに加わる力の方向とは、座標系で言えば逆方向になる。このため、従来技術では、振動抑制の効果が設計通りに発揮されていなかったと考えられる。
By the way, the above-mentioned orthogonal coordinate system is a global coordinate system, that is, an absolute coordinate system with the
例えば、従来技術には、モータ制御やインバータ制御の分野においては、入出力の状態量の座標系と制御状態量の座標系を変換する制御方法(ベクトル制御)が広く一般的に知られている。また、ロボットの動力学計算方法であるニュートン・オイラー法においては、前後のリンク間の相互作用を考える際に、順次座標変換をしながら計算している。そして、機能モデル間の状態量を適切に座標変換して伝搬する技術も提案されている。このように、制御状態量を適切に座標変換することで、計算を簡単にする方法は従来から様々なものが提案されている。 For example, in the prior art, in the fields of motor control and inverter control, a control method (vector control) for converting a coordinate system of an input / output state quantity and a coordinate system of a control state quantity is widely and generally known. .. Further, in the Newton-Euler method, which is a method for calculating the dynamics of a robot, when considering the interaction between the front and rear links, the calculation is performed while sequentially converting the coordinates. Then, a technique has been proposed in which the state quantities between the functional models are appropriately transformed in coordinates and propagated. In this way, various methods have been conventionally proposed to simplify the calculation by appropriately transforming the coordinates of the controlled state quantity.
そこで、この従来技術の考え方を、そのまま適用した場合を検討してみる。直交座標系をシャフト支持部6aでの座標系に合わせて座標変換すると、以下の(72)式のようになる。
Therefore, let us consider a case where the concept of this conventional technique is applied as it is. When the orthogonal coordinate system is coordinate-converted according to the coordinate system of the
この(72)式では、1軸目の回転量が消去されてしまっている。このため、この座標系で振動抑制を行おうとしても、1軸目が原因となる振動については対処できないことになる。つまり、従来技術の考え方をそのまま適用したとしても、振動抑制の効果を十分に発揮させることはできないことが明らかである。 In this equation (72), the amount of rotation of the first axis has been erased. Therefore, even if vibration suppression is performed in this coordinate system, vibration caused by the first axis cannot be dealt with. That is, it is clear that even if the concept of the prior art is applied as it is, the effect of suppressing vibration cannot be fully exerted.
そこで、本実施形態では、モータへの制御位置指令値を補正することにより、Rx軸方向あるいはRy軸方向への振動が発生し難くする制御を行っている。このときの基本的な考え方は、制御器の内部状態量のみをロボット動作に応じて変化する座標系に座標変換し、外部状態量(入出力状態量)については、ロボット動作に応じて変化する座標系に座標変換を行わずに負荷重心位置を示す固定の直交座標系に座標変換するというものである。以下、具体的に説明する。 Therefore, in the present embodiment, by correcting the control position command value to the motor, control is performed so that vibration in the Rx-axis direction or the Ry-axis direction is less likely to occur. The basic idea at this time is to convert only the internal state amount of the controller into a coordinate system that changes according to the robot operation, and the external state amount (input / output state amount) changes according to the robot operation. The coordinates are converted to a fixed Cartesian coordinate system that indicates the position of the load center of gravity without performing coordinate conversion to the coordinate system. Hereinafter, a specific description will be given.
まず、振動抑制のためのノッチフィルタF(s)を離散化し、離散時間状態空間モデルとして以下の(73)式および(74)式のように表す。なお、状態量をどのようにとるかについては設計自由度があるものの、位置の差分値などの定常的にはゼロとなる値とすることが好ましい。これは、定常的にゼロでない値の場合には、そのオフセット分が状態量の回転の影響を受けてしまうためである。 First, the notch filter F (s) for suppressing vibration is discretized and expressed as a discrete time state space model as the following equations (73) and (74). Although there is a degree of freedom in designing how to take the state quantity, it is preferable to set it to a value that is constantly zero, such as a position difference value. This is because, in the case of a value that is not constantly zero, the offset amount is affected by the rotation of the state quantity.
さて、制御サンプル周期i−1から制御サンプル周期iまでの期間つまりはサンプル時間Tsの間に、シャフト支持部6aの座標系は、以下の(75)式に示す分だけ回転する。
By the way, during the period from the control sample cycle i-1 to the control sample cycle i, that is, the sample time Ts, the coordinate system of the
そのため、回転行列RΔ[i]を、以下の(76)式のように定義する。ただし、X軸方向およびY軸方向の状態量の数をNとし、そのうちの回転させる状態量の数をNR、回転させない状態量の数をNCとする。また、IRをNR次の単位行列とし、ICをNC次の単位行列とする。 Therefore, the rotation matrix RΔ [i] is defined as the following equation (76). However, the number of X-axis and Y-axis directions of the state quantity is N, the number of state quantities rotating of which N R, the number of state variables is not rotated with N C. Further, the I R and N R order unit matrix, the IC and N C following matrix.
このとき、状態量も同じように回転していることから、フィルタを以下の(77)式および(78)式のように構築する。なお、制御サンプル周期i+1の座標空間で考えると、制御サンプル周期iの座標空間はRΔ[i]だけ回転していることになる。また、このとき、状態量については、回転させるものと回転させないものとを、以下の(79)式および(80)式のように分離する。 At this time, since the state quantity is also rotating in the same manner, the filter is constructed as the following equations (77) and (78). Considering the coordinate space of the control sample period i + 1, the coordinate space of the control sample period i is rotated by RΔ [i]. Further, at this time, regarding the state quantity, the one to be rotated and the one not to be rotated are separated as in the following equations (79) and (80).
このように、本実施形態の手法では、モータへの制御位置指令値を補正する際、単に直交座標系に変換してから位置信号を修正するのではなく、負荷重心位置を示す直交座標系で位置信号を修正している。 As described above, in the method of the present embodiment, when correcting the control position command value to the motor, instead of simply converting to the Cartesian coordinate system and then correcting the position signal, the Cartesian coordinate system indicating the position of the center of gravity of the load is used. The position signal is being corrected.
以上説明した実施形態によれば、次のような効果を得ることができる。
本実施形態のロボット制御方法では、モータへの制御位置指令値を補正する際、負荷重心位置を示す固定の直交座標系に変換し、変換した直交座標系において共振振動を抑制する振動抑制処理を適用し、当該振動抑制処理を適用した直交座標系から補正後の制御位置指令値を求める処理を含んでいる。
According to the embodiment described above, the following effects can be obtained.
In the robot control method of the present embodiment, when correcting the control position command value to the motor, it is converted into a fixed Cartesian coordinate system indicating the position of the load center of gravity, and vibration suppression processing for suppressing resonance vibration in the converted Cartesian coordinate system is performed. It includes a process of obtaining the corrected control position command value from the Cartesian coordinate system to which the vibration suppression process is applied.
上記したように、非動作方向振動は、回転方向とは異なる向きに発生する。そのため、非動作方向振動は、回転に伴って加わる遠心力によって生じていると考えられる。この場合、負荷重心位置とは異なる位置で座標変換すると、負荷重心位置からフランジ先端までの距離に比例した遠心力が発生してしまうため、遠心力による影響が無視できなくなり、振動抑制処理例えばフィルタ処理の効果を設計通りに得られなくなると考えられる。 As described above, the non-operating direction vibration occurs in a direction different from the rotation direction. Therefore, it is considered that the non-operating directional vibration is caused by the centrifugal force applied with the rotation. In this case, if the coordinates are converted at a position different from the position of the center of gravity of the load, a centrifugal force proportional to the distance from the position of the center of gravity of the load to the tip of the flange is generated. Therefore, the influence of the centrifugal force cannot be ignored, and vibration suppression processing such as a filter It is considered that the effect of the processing cannot be obtained as designed.
そこで、負荷重心位置を直交座標系に変換する。これにより、各軸単位で考えた場合には演算に現れることになる遠心力などの項が直交座標系への座標変換時に内包されることになり、直交座標系に変換した後においては、遠心力を考慮しなくてもよくなる。なお、負荷重心位置とは、シャフトやツール、ワーク、および、例えば水平多関節のロボットの場合にはシャフトのボールねじ部のような捩れの生じる部材に接続される機構要素等を含んだ質量の重心位置を意味している。 Therefore, the position of the center of gravity of the load is converted into the Cartesian coordinate system. As a result, terms such as centrifugal force that appear in the calculation when considered in units of each axis are included in the coordinate conversion to the Cartesian coordinate system, and after conversion to the Cartesian coordinate system, the centrifugal force is centrifugal. You don't have to consider force. The position of the center of gravity of the load is the mass including the shaft, the tool, the work, and the mechanical element connected to the twisting member such as the ball screw portion of the shaft in the case of a horizontal articulated robot. It means the position of the center of gravity.
そして、変換した直交座標系において振動抑制処理を施すことにより、遠心力の影響による振動つまりは非動作方向への振動が抑制された補正後の制御位置指令値をえることができる。つまり、非動作方向への振動が抑制された軌跡でロボットを動作させることができる。
また、上記したように、制御状態量を座標変換することで計算を簡単にする従来技術をそのまま適用すると、ある軸の回転量が、演算上、消去されてしまう。このため、その座標系で振動抑制処理を行っても、その軸に起因する振動については抑制できないことになる。
Then, by performing the vibration suppression process in the converted Cartesian coordinate system, it is possible to obtain the corrected control position command value in which the vibration due to the influence of the centrifugal force, that is, the vibration in the non-operating direction is suppressed. That is, the robot can be operated on a trajectory in which vibration in the non-operating direction is suppressed.
Further, as described above, if the conventional technique for simplifying the calculation by converting the control state quantity into coordinates is applied as it is, the rotation amount of a certain axis is erased in calculation. Therefore, even if the vibration suppression process is performed in the coordinate system, the vibration caused by the axis cannot be suppressed.
これに対して、制御器が扱う状態量のうち、内部状態量についてはロボットの動作に応じて変化する座標系への座標変換を行う一方、入出力の状態量を示す外部状態量については、ロボットの動作に応じて変化する座標系への座標変換を行わないことにより、遠心力を内包した入出力を扱うこと、つまりは、遠心力を正しく扱うことができる。したがって、遠心力の影響による振動つまりは非動作方向への振動を抑制することができる。
この場合、実施形態のようにグローバル座標系をそのまま使用してもよいが、例えばグローバル座標系からZ軸を回転中心として90°回転させた座標系や、原点をX方向に1m動かした座標系等としてもよい。いずれにしろ、座標原点から負荷重心位置までの距離に対して本実施形態の振動抑制手法を適用すれば、非動作方向への振動を抑制することができる。
On the other hand, among the state quantities handled by the controller, the internal state quantity is subjected to coordinate conversion to a coordinate system that changes according to the movement of the robot, while the external state quantity indicating the input / output state quantity is performed. By not performing coordinate conversion to a coordinate system that changes according to the movement of the robot, it is possible to handle the input / output including the centrifugal force, that is, to handle the centrifugal force correctly. Therefore, vibration due to the influence of centrifugal force, that is, vibration in the non-operating direction can be suppressed.
In this case, the global coordinate system may be used as it is as in the embodiment, but for example, a coordinate system rotated by 90 ° from the global coordinate system with the Z axis as the rotation center, or a coordinate system in which the origin is moved by 1 m in the X direction. And so on. In any case, if the vibration suppression method of the present embodiment is applied to the distance from the coordinate origin to the position of the center of gravity of the load, vibration in the non-operating direction can be suppressed.
また、外部状態量(入出力状態量)についてはロボット動作に応じて変化する座標系に座標変換を行わない。例えば、電流ベクトル制御においては、外部状態量(入出力状態量)を適切に回転させることで、本来は交流電圧および電流であるはずの外部状態量を直流電圧および電流として扱えるという特徴がある。ただし、そのような考え方に基づいて外部状態量を回転させてシャフト支持部6aの座標系に合わせてしまうと、座標系の回転による影響つまりは遠心力が正しく取り扱えなくなる。そこで、本実施形態のように内部状態量を回転させることにより、遠心力を内包した入出力を取り扱えるという、電流ベクトル制御のような従来の考え方では実現できない効果を得ることができる。
In addition, the external state quantity (input / output state quantity) is not subjected to coordinate conversion into a coordinate system that changes according to the robot operation. For example, the current vector control has a feature that by appropriately rotating the external state quantity (input / output state quantity), the external state quantity that should originally be an AC voltage and a current can be treated as a DC voltage and a current. However, if the external state quantity is rotated to match the coordinate system of the
本実施系では、制御器のモデルとして状態空間モデルを使っているが、これは、説明のために内部状態量を分かり易く示すためである。そのため、状態空間モデルではなく、伝達関数モデルのままでも、本実施形態の手法は問題なく適用することができる。また、伝達関数モデルを用いる場合であっても、本実施形態の手法を実装するにあたって内部状態量を必要とすることは同じである。
また、本実施形態では回転しない状態量を演算に含ませることができる。これにより、例えば速度を1サンプリング前の位置と現在位置との差分から求める場合において、位置の次元では回転させず、速度を求めてから速度を回転させることにより、効果的にフィルタを作用させることができる。なお、回転しない状態量が無い場合であっても、本実施形態の手法を用いることはできる。
In this embodiment, the state space model is used as the model of the controller, in order to show the internal state quantity in an easy-to-understand manner for the sake of explanation. Therefore, the method of the present embodiment can be applied without any problem even if the transfer function model is used as it is instead of the state space model. Further, even when the transfer function model is used, it is the same that an internal state quantity is required to implement the method of the present embodiment.
Further, in the present embodiment, the non-rotating state quantity can be included in the calculation. As a result, for example, when the speed is obtained from the difference between the position one sampling before and the current position, the filter is effectively operated by rotating the speed after obtaining the speed without rotating in the dimension of the position. Can be done. Even when there is no non-rotating state quantity, the method of the present embodiment can be used.
本実施形態では離散時間系の例を示したが、本実施形態の手法は、離散時間系状態空間モデルの制御サンプル時間を0とした極限を考えて連続時間系状態空間モデルに変換することにより、連続時間系においても応用することができる。その場合、制御系を制御装置3内に実装するためには離散時間系で考える必要があることから、式展開の見通しを考えると、内部状態量の回転は、制御系を離散時間系に変換してから行うほうがよい。
本実施形態では振動抑制手段としてノッチフィルタを例示したが、他の振動抑制手段を用いてもよい。例えば、共振振動と逆位相で動かすことにより共振振動を相殺あるいは減衰するような信号を重畳させるような振動抑制手段であっても、内部状態量を回転させるという技術的思想はそのまま利用可能である。
Although an example of a discrete-time system is shown in this embodiment, the method of this embodiment is by converting to a continuous-time system state-space model in consideration of the limit in which the control sample time of the discrete-time system state-space model is set to 0. , Can also be applied in a continuous time system. In that case, since it is necessary to consider a discrete-time system in order to implement the control system in the
In the present embodiment, the notch filter is exemplified as the vibration suppressing means, but other vibration suppressing means may be used. For example, the technical idea of rotating the internal state quantity can be used as it is even if it is a vibration suppressing means for superimposing a signal that cancels or attenuates the resonance vibration by moving it in the opposite phase to the resonance vibration. ..
また、本実施形態の手法を全ての軸に対して適用するのではなく、X軸方向、Y軸方向、Rz軸回転方向で異なる手法を用いてもよい。ただし、水平多関節ロボットの場合、通常は、X軸方向とY軸方向とは同じ剛性となると考えられるため、制御系が複雑になることを避けるために同一の制御系とすることが望ましい。ただし、後述するような3次元空間やいわゆる6軸ロボットのような垂直多関節ロボットに適用する場合においては、各軸方向で剛性が異なることがあるため、各方向で異なる振動抑制手法を使用することが効果的になると考えられる。また、Rz軸回転方向については、回転方向の振動が問題にならない場合や、回転方向のモータエンコーダなどの角度センサで振動が検出されて十分に振動制御ができているような場合には、本実施形態の手法を適用しないようにすることができる。 Further, instead of applying the method of this embodiment to all axes, different methods may be used in the X-axis direction, the Y-axis direction, and the Rz-axis rotation direction. However, in the case of a horizontal articulated robot, it is usually considered that the X-axis direction and the Y-axis direction have the same rigidity, so it is desirable to use the same control system in order to avoid complication of the control system. However, when applied to a three-dimensional space as described later or a vertical articulated robot such as a so-called 6-axis robot, the rigidity may differ in each axial direction, so a different vibration suppression method is used in each direction. Is expected to be effective. In addition, regarding the Rz axis rotation direction, if vibration in the rotation direction does not matter, or if vibration is detected by an angle sensor such as a motor encoder in the rotation direction and vibration control is sufficient, this It is possible to avoid applying the method of the embodiment.
また、実施形態ではXY座標の2次元空間での例を示したが、本実施形態の手法は、XYZ座標の3次元空間であっても、同様の考え方のまま適用することができる。
また、本実施形態の手法は、水平多関節ロボット以外にも、例えば垂直多関節ロボットなどの回転関節軸を含むロボットであれば、そのまま適用することができる。つまり、実施形態の水平多関節のロボット2の場合にはRz軸回転方向の回転軸方向が変化しないため、位置成分の状態量のみを回転させた例を示したが、垂直多関節ロボットなど回転軸方向が変化する場合には、姿勢成分に関しても状態量を回転させるという本実施形態の手法を適用することで、振動抑制などの回転軸方向にかけるフィルタの効果を設計通りに得ることができるようになる。
Further, although the example in the two-dimensional space of the XY coordinates is shown in the embodiment, the method of the present embodiment can be applied to the three-dimensional space of the XYZ coordinates with the same idea.
Further, the method of the present embodiment can be applied as it is to any robot including a rotating joint axis such as a vertical articulated robot other than the horizontal articulated robot. That is, in the case of the horizontal articulated
実施形態では回転中心がシャフト支持部6aなどに存在する、つまり、シャフト支持部6aなどの剛性が相対的に低いものとしたが、例えばシャフト7自体の剛性が相対的に低く、それによる非動作方向の振動の方がより影響度が高い場合も考えられる。そのような場合であっても、シャフト7の剛性を等価的にシャフト支持部6aにあるものと近似することが可能であるため、本実施形態の手法をそのまま適用することができる。
また、実施形態ではフィードフォワード制御として位置軌道を修正する例を示したが、これに限らず、観測した現在位置と指令位置との差分によるフィードバック制御においても、内部状態量を回転させるという本実施形態の手法をそのまま利用することができる。
また、上記した本実施形態のロボット制御方法を実行する制御部3aを備えたロボット制御装置によっても、同様の効果を得ることができる。
In the embodiment, the center of rotation exists in the
Further, in the embodiment, an example of correcting the position trajectory as feedforward control is shown, but the present embodiment is not limited to this, and the internal state quantity is rotated even in the feedback control based on the difference between the observed current position and the command position. The form method can be used as it is.
Further, the same effect can be obtained by a robot control device provided with a
(その他の実施形態)
本発明は、上記し且つ図面に記載した態様に限定されるものではなく、その要旨を逸脱しない範囲で種々の変形や拡張をすることができる。
実施形態で示した数値は一例であり、これに限定されない。
ファーストアーム5とセカンドアーム6のそれぞれに複数方向への角速度を検出可能な2軸角速度センサを設けたが、それ以外のセンサ設置方法でもよく、例えば加速度センサと角速度センサとを組み合わせてもよい。例えば、配線距離が長くなるセカンドアーム6には省配線化のために角速度センサを設け、ファーストアーム5には第2実施形態のように2つの加速度センサを設けることなどが考えられる。
(Other embodiments)
The present invention is not limited to the embodiments described above and shown in the drawings, and various modifications and extensions can be made without departing from the gist thereof.
The numerical values shown in the embodiments are examples, and the present invention is not limited thereto.
Although the
図面中、2はロボット、3は制御装置(ロボット制御装置)、3aは制御部(Z軸高さ取得部、距離取得部、抑制周波数取得部、更新部、演算部)、4はベース、5はファーストアーム、6はセカンドアーム、6aはシャフト支持部、7はシャフト、8、9、10、11、12はセンサ(慣性センサ、角速度センサ、加速度センサ、回転角度センサ、位置センサ)を示す。 In the drawing, 2 is a robot, 3 is a control device (robot control device), 3a is a control unit (Z-axis height acquisition unit, distance acquisition unit, suppression frequency acquisition unit, update unit, calculation unit), 4 is a base, and 5 Is the first arm, 6 is the second arm, 6a is the shaft support, 7 is the shaft, and 8, 9, 10, 11 and 12 are sensors (inertial sensor, angular velocity sensor, acceleration sensor, rotation angle sensor, position sensor).
Claims (12)
前記ファーストアームおよび前記セカンドアームに設けられている複数のセンサの検出結果から各アームにおける慣性力および慣性トルクを求め、求めた慣性力および慣性トルクから前記シャフトを支持するシャフト支持部にかかるトルクを推定し、当該推定したトルクと前記シャフトの剛性とに基づいて、前記シャフトの先端部の振動に相関する前記シャフト支持部での捩れ角度を求める処理を行う制御部を備え、
前記制御部は、モータへの制御位置指令値を補正する際、負荷重心位置を固定の直交座標系に変換し、変換した直交座標系において共振振動を抑制する振動抑制処理を適用し、当該振動抑制処理を適用した直交座標系から補正後の前記制御位置指令値を求める処理を実行するロボット制御装置。 A base, a first arm attached to the base and rotating about the first axis with respect to the base, and a second arm attached to the first arm and rotating about the second axis with respect to the first arm. A robot control device that controls a horizontal articulated robot attached to the second arm and having a shaft that moves up and down and rotates with respect to the second arm.
The inertial force and inertial torque of each arm are obtained from the detection results of a plurality of sensors provided on the first arm and the second arm, and the torque applied to the shaft support portion that supports the shaft is calculated from the obtained inertial force and inertial torque. A control unit is provided that performs a process of estimating and obtaining a twist angle at the shaft support portion that correlates with the vibration of the tip portion of the shaft based on the estimated torque and the rigidity of the shaft .
When correcting the control position command value to the motor, the control unit converts the load center of gravity position into a fixed Cartesian coordinate system, applies vibration suppression processing that suppresses resonance vibration in the converted Cartesian coordinate system, and applies vibration suppression processing to the vibration. A robot control device that executes a process of obtaining the corrected control position command value from a Cartesian coordinate system to which a suppression process is applied.
前記ファーストアームおよび前記セカンドアームに設けられている複数のセンサの検出結果から各アームにおける慣性力および慣性トルクを求め、求めた慣性力および慣性トルクから前記シャフトを支持するシャフト支持部にかかるトルクを推定し、当該推定したトルクと前記シャフトの剛性とに基づいて、前記シャフトの先端部の振動に相関する前記シャフト支持部での捩れ角度を求めるとともに、The inertial force and inertial torque in each arm are obtained from the detection results of a plurality of sensors provided on the first arm and the second arm, and the torque applied to the shaft support portion that supports the shaft is calculated from the obtained inertial force and inertial torque. Estimated, and based on the estimated torque and the rigidity of the shaft, the twist angle at the shaft support portion that correlates with the vibration of the tip portion of the shaft is obtained, and the twist angle is obtained.
前記モータへの制御位置指令値を補正する際、負荷重心位置を固定の直交座標系に変換し、変換した直交座標系において共振振動を抑制する振動抑制処理を適用し、当該振動抑制処理を適用した直交座標系から補正後の前記制御位置指令値を求めるロボット制御方法。When correcting the control position command value to the motor, the load center of gravity position is converted to a fixed Cartesian coordinate system, a vibration suppression process that suppresses resonance vibration is applied in the converted Cartesian coordinate system, and the vibration suppression process is applied. A robot control method for obtaining the corrected control position command value from the Cartesian coordinate system.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015184026 | 2015-09-17 | ||
JP2015184026 | 2015-09-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017056544A JP2017056544A (en) | 2017-03-23 |
JP6834125B2 true JP6834125B2 (en) | 2021-02-24 |
Family
ID=58388829
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015228657A Active JP6834125B2 (en) | 2015-09-17 | 2015-11-24 | Robot control device, robot control method |
JP2015228655A Active JP6834123B2 (en) | 2015-09-17 | 2015-11-24 | Robot control device |
JP2015228656A Active JP6834124B2 (en) | 2015-09-17 | 2015-11-24 | Robot control device |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015228655A Active JP6834123B2 (en) | 2015-09-17 | 2015-11-24 | Robot control device |
JP2015228656A Active JP6834124B2 (en) | 2015-09-17 | 2015-11-24 | Robot control device |
Country Status (1)
Country | Link |
---|---|
JP (3) | JP6834125B2 (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6834125B2 (en) * | 2015-09-17 | 2021-02-24 | 株式会社デンソーウェーブ | Robot control device, robot control method |
JP6661676B2 (en) | 2018-01-18 | 2020-03-11 | ファナック株式会社 | Robot controller |
JP7143633B2 (en) | 2018-05-28 | 2022-09-29 | セイコーエプソン株式会社 | ROBOT SYSTEM, CONTROL DEVICE AND CONTROL METHOD |
JP7147290B2 (en) * | 2018-06-26 | 2022-10-05 | セイコーエプソン株式会社 | Robots and robotic systems |
JP7183601B2 (en) | 2018-07-20 | 2022-12-06 | セイコーエプソン株式会社 | ROBOT SYSTEM AND ROBOT SYSTEM CONTROL METHOD |
JP7358744B2 (en) * | 2019-02-22 | 2023-10-11 | セイコーエプソン株式会社 | Robot system, control device, and control method |
JP7404627B2 (en) * | 2019-03-13 | 2023-12-26 | セイコーエプソン株式会社 | Robot system, control device, and control method |
JP7207094B2 (en) * | 2019-03-29 | 2023-01-18 | セイコーエプソン株式会社 | Horizontal articulated robot |
CN114711760B (en) * | 2022-04-06 | 2023-01-24 | 哈尔滨工业大学 | Joint axis calculation method |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09212203A (en) * | 1995-11-30 | 1997-08-15 | Sony Corp | Robot controller |
GB0702599D0 (en) * | 2006-05-05 | 2007-03-21 | Omnifone Ltd | Data synchronization |
US9001720B2 (en) * | 2011-08-31 | 2015-04-07 | Maarten Menzo Wentink | Power save with data fetch time, with end of data indication, and with more data acknowledgement |
JP6095730B2 (en) * | 2015-06-16 | 2017-03-15 | 日立マクセル株式会社 | Content transmission apparatus and method |
JP6834125B2 (en) * | 2015-09-17 | 2021-02-24 | 株式会社デンソーウェーブ | Robot control device, robot control method |
-
2015
- 2015-11-24 JP JP2015228657A patent/JP6834125B2/en active Active
- 2015-11-24 JP JP2015228655A patent/JP6834123B2/en active Active
- 2015-11-24 JP JP2015228656A patent/JP6834124B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017056544A (en) | 2017-03-23 |
JP6834123B2 (en) | 2021-02-24 |
JP2017056542A (en) | 2017-03-23 |
JP6834124B2 (en) | 2021-02-24 |
JP2017056543A (en) | 2017-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6834125B2 (en) | Robot control device, robot control method | |
JP3883544B2 (en) | Robot control apparatus and robot control method | |
TWI577515B (en) | Control device and control method for robot and the robot | |
JP5417161B2 (en) | Robot vibration control method and robot control apparatus | |
EP3643453A1 (en) | Robot system and method for controlling robot system | |
JP6248544B2 (en) | Robot, control device, robot system | |
JP2016105686A (en) | Control device of motor driving device, control device of biaxial motor driving device, and control method of motor driving device | |
JP6898649B2 (en) | Vibration control device, vibration control method, vibration control system, program and recording medium | |
US20230052996A1 (en) | Method of obtaining vibrational properties of robot arm | |
WO2020211914A1 (en) | Method of controlling a robot arm based on adaptive friction | |
Iwasaki et al. | Vibration suppression for angular transmission errors in harmonic drive gearings and application to industrial robots | |
JP5418491B2 (en) | robot | |
JP6672636B2 (en) | Sensor position determination method, robot | |
JP2009220184A (en) | Output torque limiting circuit of industrial robot | |
JPH09123077A (en) | Rigidity identifying method of robot and its device | |
JP2011220380A (en) | Actuator and robot | |
JP6645083B2 (en) | Control model acquisition method, robot controller | |
JP2017087375A (en) | Robot system and robot control method | |
JP6672637B2 (en) | Sensor position determination method, robot | |
JP6036476B2 (en) | robot | |
Zhu | Precision control of robots with harmonic drives | |
JP5316682B2 (en) | Output torque limiting circuit for industrial robots |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180621 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190529 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190604 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190805 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200121 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20200228 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200512 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201216 |
|
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: 20210105 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210118 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6834125 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |