JP2019055456A - Robot controller - Google Patents

Robot controller Download PDF

Info

Publication number
JP2019055456A
JP2019055456A JP2017181389A JP2017181389A JP2019055456A JP 2019055456 A JP2019055456 A JP 2019055456A JP 2017181389 A JP2017181389 A JP 2017181389A JP 2017181389 A JP2017181389 A JP 2017181389A JP 2019055456 A JP2019055456 A JP 2019055456A
Authority
JP
Japan
Prior art keywords
axis
command value
spring constant
arm
hand
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017181389A
Other languages
Japanese (ja)
Other versions
JP6915470B2 (en
Inventor
健司 長松
Kenji Nagamatsu
健司 長松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Wave Inc filed Critical Denso Wave Inc
Priority to JP2017181389A priority Critical patent/JP6915470B2/en
Publication of JP2019055456A publication Critical patent/JP2019055456A/en
Application granted granted Critical
Publication of JP6915470B2 publication Critical patent/JP6915470B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To provide a robot controller capable of suppressing vibration of a robot without using an acceleration sensor.SOLUTION: A trajectory generation section 21 generates a speed pattern for moving a hand of an arm to a final target position when the final target position of the hand moved is given, and calculates an angle command value θn given to a servo mechanism 23 so that the hand is moved to the target position for each sampling period. A command value correction part 22 calculates a spring constant K of the arm according to a current position of the hand, calculates inertia I for a workpiece held by the arm and the hand, and calculates an acceleration ω (dot) when a command value changes for each of the sampling periods. When calculating a correction amount {Iω(dot)/K} of the command value from these values, the command value correction part corrects the command value θn based on the correction amount and outputs the corrected command value to the servo mechanism 23.SELECTED DRAWING: Figure 1

Description

本発明は、ロボットの動作を制御する装置に関する。   The present invention relates to an apparatus for controlling the operation of a robot.

従来、ロボットのアームの先端近傍に加速度量を検出する加速度センサを取り付け、加速度センサにより検出された加速度量に基づいて、アームの先端に生じた振動を抑制するように各関節部の駆動部を制御する指令値を補償するものがある(特許文献1参照)。   Conventionally, an acceleration sensor that detects the acceleration amount is attached near the tip of the arm of the robot, and based on the acceleration amount detected by the acceleration sensor, the drive unit of each joint unit is controlled so as to suppress vibration generated at the tip of the arm. There is one that compensates a command value to be controlled (see Patent Document 1).

特開平10−100085号公報Japanese Patent Laid-Open No. 10-100085

ところで、このように加速度センサにより検出された加速度量を用いる手法では、実際に振動が発生するアームの先端近傍に加速度センサを取り付ける必要がある。しかしながら、現実のロボットに適用する場合には、アームの先端近傍に加速度センサを取り付けるスペースや、加速度センサまでの配線の取り回し等が問題となり、実現が困難である。   By the way, in the method using the acceleration amount detected by the acceleration sensor in this way, it is necessary to attach the acceleration sensor in the vicinity of the tip of the arm that actually generates vibration. However, when applied to an actual robot, the space for mounting the acceleration sensor in the vicinity of the tip of the arm, the wiring of the wiring to the acceleration sensor, and the like are problematic and difficult to realize.

本発明は、上記事情に鑑みてなされたものであり、その目的は、加速度センサを用いることなくロボットの振動を抑制できるロボットの制御装置を提供することにある。   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 apparatus that can suppress vibration of the robot without using an acceleration sensor.

請求項1記載のロボットの制御装置によれば、設置面に対し垂直となる第1軸と、この第1軸に対して垂直となる第2軸と、この第2軸以降に連結される複数の軸のうち、少なくとも1つが第2軸に対して平行となる軸を備える4軸以上のアームを有するロボットを制御対象とする。速度パターン生成部は、アームの手先を移動させる最終目標位置が与えられると、その手先を最終目標位置に移動させる速度パターンを生成する。指令値算出部は、手先を制御周期毎の通過目標位置に移動させるように、サーボ機構に与える指令値を算出する。   According to the robot control apparatus of the first aspect, the first axis that is perpendicular to the installation surface, the second axis that is perpendicular to the first axis, and a plurality of parts that are coupled to the second axis and thereafter. Of these axes, a robot having four or more axes including at least one axis parallel to the second axis is a control target. When a final target position for moving the hand of the arm is given, the speed pattern generation unit generates a speed pattern for moving the hand to the final target position. The command value calculation unit calculates a command value to be given to the servo mechanism so as to move the hand to the passing target position for each control cycle.

上記構成のアームを有するロボットについては、アーム全体を1つのバネと見做し、
「アームのイナーシャ」−「アームバネ」−「ワークのイナーシャ」が連結したモデルを想定することができる。この場合、「アームのイナーシャ」と「アームバネ」とは、手先の位置に応じて変化することになる。そして、アームが手先に保持したワークを移動させるため加速する際には、慣性力によってアームの先端側の移動が遅れ、減速する際には、逆に先端側の移動が先に進む。これにより、振動が発生する。
For a robot having an arm configured as described above, the entire arm is regarded as one spring,
A model in which “arm inertia” − “arm spring” − “work inertia” is connected can be assumed. In this case, “arm inertia” and “arm spring” change according to the position of the hand. When the arm is accelerated to move the work held by the hand, the movement of the tip side of the arm is delayed by inertial force, and when the arm is decelerated, the movement of the tip side is advanced. Thereby, vibration is generated.

そこで、バネ定数演算部は、手先の現在位置に応じてアームのバネ定数を演算し、イナーシャ演算は、同じく手先の現在位置に応じて、アームと手先に保持されるワークとについてのイナーシャを演算する。そして、加速度算出部が、指令値が制御周期毎に変化する際の加速度を算出する。補正量演算部は、バネ定数,イナーシャ及び加速度から指令値の補正量を演算すると、指令値補正部は、指令値を補正量に基づき補正してサーボ機構に出力する。   Therefore, the spring constant calculation unit calculates the spring constant of the arm according to the current position of the hand, and the inertia calculation also calculates the inertia for the arm and the work held by the hand according to the current position of the hand. To do. And an acceleration calculation part calculates the acceleration at the time of a command value changing for every control period. When the correction amount calculation unit calculates the correction amount of the command value from the spring constant, inertia, and acceleration, the command value correction unit corrects the command value based on the correction amount and outputs it to the servo mechanism.

これにより、アームの加速時には、先端側が遅れる分だけアームの基部側が先に進むように指令値が補正され、アームの減速時には、先端側が進む分だけアームの基部側が遅れるように指令値が補正されて、振動が抑制される。したがって、アームの先端部に加速度センサ等を取り付けずとも、アームが手先に保持したワークを移動させる際に発生する振動を抑制することができる。   As a result, when the arm is accelerated, the command value is corrected so that the base side of the arm moves forward by the amount delayed, and when the arm is decelerated, the command value is corrected so that the base side of the arm is delayed by the amount advanced. Vibration is suppressed. Therefore, even if an acceleration sensor or the like is not attached to the tip of the arm, it is possible to suppress vibrations that occur when the work held by the arm is moved.

請求項2記載のロボットの制御装置によれば、バネ定数演算部は、アーム全体のバネ定数を演算し、イナーシャ演算部は、アーム全体及びワークを含むイナーシャを演算する。これにより、演算量を減らして補正処理を高速に実行できる。   According to the robot control device of the second aspect, the spring constant calculation unit calculates the spring constant of the entire arm, and the inertia calculation unit calculates the inertia including the entire arm and the workpiece. Thereby, the amount of calculation can be reduced and correction processing can be executed at high speed.

請求項3記載のロボットの制御装置によれば、バネ定数演算部は、第3軸から手先までの距離をL,第1軸から手先までの距離をL,第1軸を基準とする第3軸までのバネ定数をK12,第3軸を基準とする手先までのバネ定数をKとすると、補正量を求めるために使用するバネ定数Kを、次式
1/K={1/K12+L /(K )}
で求める。これにより、アームを一体的にバネとして捉えた際のバネ定数Kを迅速に求めることができる。
According to the robot control apparatus of the third aspect, the spring constant calculation unit uses the distance from the third axis to the hand as L 3 , the distance from the first axis to the hand as L f , and the first axis as a reference. Assuming that the spring constant up to the third axis is K 12 and the spring constant up to the hand with respect to the third axis is K 3 , the spring constant K used for obtaining the correction amount is expressed by the following equation 1 / K = {1 / K 12 + L 3 2 / (K 3 L f 2 )}
Ask for. As a result, the spring constant K when the arm is integrally regarded as a spring can be quickly obtained.

請求項4記載のロボットの制御装置によれば、バネ定数演算部は、アームの各軸を基準とするバネ定数を演算し、イナーシャ演算部は、各軸を基準とするイナーシャを演算する。そして、補正量演算部は、各軸に対応するイナーシャを各軸に対応するバネ定数で除して各軸に対応する補正係数を求め、それらの補正係数のうち最大値を示したものを用いて各軸に適用する補正量を決定する。すなわち、アームの各軸の物理特性は、それぞれの回転方向位置によって異なる。しかし、各軸に対応する補正係数を個別に適用すると、各軸の遅れ量が大きく異なって、当初に予定した手先の移動軌跡が維持できなくなる可能性が有る。そこで、補正量演算部が、補正係数のうち最大値を示したものを用いて各軸に適用する補正量を決定することにより、移動軌跡を維持できる範囲で振動を抑制できる。   According to the robot control apparatus of the fourth aspect, the spring constant calculation unit calculates a spring constant based on each axis of the arm, and the inertia calculation unit calculates inertia based on each axis. Then, the correction amount calculation unit obtains a correction coefficient corresponding to each axis by dividing the inertia corresponding to each axis by the spring constant corresponding to each axis, and uses the one that indicates the maximum value among the correction coefficients. To determine the amount of correction applied to each axis. That is, the physical characteristics of each axis of the arm vary depending on the position in the rotational direction. However, if the correction coefficient corresponding to each axis is applied individually, the delay amount of each axis is greatly different, and there is a possibility that the initially planned movement trajectory of the hand cannot be maintained. Therefore, the correction amount calculation unit determines the correction amount to be applied to each axis using the correction coefficient that indicates the maximum value, thereby suppressing vibration within a range in which the movement locus can be maintained.

請求項5記載のロボットの制御装置によれば、補正量演算部は、バネ定数を1次近似式により演算する。例えば、請求項3のようにし演算して得られるバネ定数Kは、距離Lの2乗に対して曲線を描く。その曲線に対して値域を複数に区切った区間については、誤差を大きくすることなく1次近似を行うことができる。したがって、補正に使用するバネ定数Kをより簡単に得ることができる。 According to the robot control apparatus of the fifth aspect, the correction amount calculation unit calculates the spring constant by a linear approximation formula. For example, the spring constant K obtained by calculating as claimed in claim 3, a curve with respect to the square of the distance L f. A first-order approximation can be performed without increasing the error for the section in which the range of values is divided into a plurality of ranges for the curve. Therefore, the spring constant K used for correction can be obtained more easily.

請求項6記載のロボットの制御装置によれば、指令値補正部は、補正した指令値に対しローパスフィルタ処理を行う。補正値には加速度がパラメータとして含まれているため、加速度に広域のノイズ成分が重畳されたり、立上りが急峻になるとトルクが飽和する場合がある。そこで、補正した指令値についてローパスフィルタ処理を行うことにより、トルクが飽和することを防止できる。   According to the robot control apparatus of the sixth aspect, the command value correction unit performs a low-pass filter process on the corrected command value. Since the correction value includes acceleration as a parameter, there may be a case where a wide-range noise component is superimposed on the acceleration or the torque is saturated when the rise is steep. Therefore, it is possible to prevent the torque from being saturated by performing low-pass filter processing on the corrected command value.

請求項7記載のロボットの制御装置によれば、指令値補正部は、イナーシャをバネ定数で除した補正係数に応じて、ローパスフィルタの遮断周波数を可変設定する。これにより、イナーシャ及びバネ定数も考慮して遮断周波数を適切に設定できる。   According to the robot control apparatus of the seventh aspect, the command value correction unit variably sets the cutoff frequency of the low-pass filter in accordance with a correction coefficient obtained by dividing the inertia by the spring constant. Thereby, the cutoff frequency can be appropriately set in consideration of the inertia and the spring constant.

第1実施形態であり、ロボットシステムにおけるコントローラの構成を中心に示す機能ブロック図Functional block diagram showing the configuration of the controller in the robot system according to the first embodiment ロボットシステムの構成を示す図Diagram showing the configuration of the robot system 制振制御に用いるロボットのモデルを説明する図Diagram explaining robot model used for vibration suppression control 本実施形態を適用対象とするロボットの構成を説明する図(その1)The figure explaining the structure of the robot which applies this embodiment (the 1) 本実施形態を適用対象とするロボットの構成を説明する図(その2)The figure explaining the structure of the robot which applies this embodiment (the 2) 本実施形態を適用対象とするロボットの構成を説明する図(その3)The figure explaining the structure of the robot which applies this embodiment (the 3) 制振制御の原理を説明する図Diagram explaining the principle of vibration suppression control バネ定数Kを求める式の導出を説明する図The figure explaining derivation | leading-out of the formula which calculates | requires the spring constant K 制振制御の内容を示すフローチャートFlow chart showing details of vibration suppression control 比較例及び本実施形態の制振制御を適用した角速度パターンを示すタイムチャートTime chart showing an angular velocity pattern to which the vibration damping control of the comparative example and this embodiment is applied 比較例及び本実施形態における目標位置と実際の手先位置との誤差を示すタイムチャートTime chart showing an error between the target position and the actual hand position in the comparative example and this embodiment 第2実施形態であり、制振制御の内容を示すフローチャートThe flowchart which is 2nd Embodiment and shows the content of damping control 第3実施形態であり、バネ定数Kを(7)式で求めた曲線を示す図The figure which is 3rd Embodiment and shows the curve which calculated | required the spring constant K by (7) Formula 図13に示すバネ定数Kを一次近似した一例を示す図The figure which shows an example which carried out the primary approximation of the spring constant K shown in FIG.

(第1実施形態)
以下、第1実施形態について図1から図11を参照しながら説明する。図2に示すように、ロボットシステム1は、垂直多関節型のロボット2、ロボット2を制御するコントローラ3、コントローラ3に接続されたペンダント4を備えている。このロボットシステム1は、一般的な産業用に用いられている。
(First embodiment)
Hereinafter, the first embodiment will be described with reference to FIGS. 1 to 11. As shown in FIG. 2, the robot system 1 includes a vertical articulated robot 2, a controller 3 that controls the robot 2, and a pendant 4 that is connected to the controller 3. The robot system 1 is used for general industrial purposes.

ロボット2は、いわゆる6軸の垂直多関節型ロボットとして周知の構成を備えており、ベース5上に、Z方向の軸心を持つ第1軸(J1)を介してショルダ6が水平方向に回転可能に連結されている。ショルダ6には、Y方向の軸心を持つ第2軸(J2)を介して上方に延びる下アーム7の下端部が垂直方向に回転可能に連結されている。下アーム7の先端部には、Y方向の軸心を持つ第3軸(J3)を介して第一上アーム8が垂直方向に回転可能に連結されている。   The robot 2 has a well-known configuration as a so-called 6-axis vertical articulated robot, and the shoulder 6 rotates on the base 5 in the horizontal direction via a first axis (J1) having an axis in the Z direction. Connected as possible. A lower end portion of a lower arm 7 extending upward is connected to the shoulder 6 via a second shaft (J2) having an axis in the Y direction so as to be rotatable in the vertical direction. A first upper arm 8 is connected to the tip of the lower arm 7 via a third axis (J3) having an axis in the Y direction so as to be rotatable in the vertical direction.

第一上アーム8の先端部には、X方向の軸心を持つ第4軸(J4)を介して第二上アーム9が捻り回転可能に連結されている。第二上アーム9の先端部には、Y方向の軸心を持つ第5軸(J5)を介して手首10が垂直方向に回転可能に連結されている。手首10には、X方向の軸心を持つ第6軸(J6)を介してフランジ11が捻り回転可能に連結されている。   The second upper arm 9 is connected to the tip of the first upper arm 8 via a fourth axis (J4) having an X-axis axis so as to be able to rotate. A wrist 10 is connected to the tip of the second upper arm 9 via a fifth axis (J5) having an axis in the Y direction so as to be rotatable in the vertical direction. A flange 11 is connected to the wrist 10 via a sixth shaft (J6) having an X-direction axis so as to be able to rotate.

ベース5、ショルダ6、下アーム7、第一上アーム8、第二上アーム9、手首10およびフランジ11は、ロボット2のアームとして機能し、アームの先端となるフランジ11には、図1に示すようにワーク13を保持するための図示しないツールが取り付けられる。ロボット2に設けられている各軸(J1〜J6)には、それぞれに対応して駆動源となる図示しないモータが設けられている。   The base 5, shoulder 6, lower arm 7, first upper arm 8, second upper arm 9, wrist 10 and flange 11 function as the arm of the robot 2. As shown, a tool (not shown) for holding the workpiece 13 is attached. Each axis (J1 to J6) provided in the robot 2 is provided with a motor (not shown) serving as a drive source corresponding to each axis.

コントローラ3は、ロボット2の制御装置であり、図示しないCPU、ROMおよびRAM等で構成されたコンピュータからなる制御手段においてコンピュータプログラムを実行することで、ロボット2を制御している。具体的には、コントローラ3は、インバータ回路等から構成された駆動部を備えており、各モータに対応して設けられているエンコーダで検知したモータの回転位置に基づいて例えばフィードバック制御によりそれぞれのモータを駆動する。   The controller 3 is a control device for the robot 2 and controls the robot 2 by executing a computer program in a control means including a computer (not shown) including a CPU, ROM, RAM, and the like. Specifically, the controller 3 includes a drive unit configured by an inverter circuit or the like, and based on the rotational position of the motor detected by an encoder provided corresponding to each motor, for example, by feedback control. Drive the motor.

コントローラ3は、CPU、ROM、RAM、駆動回路、及び位置検出回路等を備えている。ROMは、ロボット2のシステムプログラムや動作プログラム等を記憶している。RAMは、これらのプログラムを実行する際にパラメータの値等を記憶する。位置検出回路には、ロボット2の各関節に設けられた図示しない各エンコーダの検出信号がそれぞれ入力される。位置検出回路は、各エンコーダの検出信号に基づいて、各関節に設けられたモータの回転角度位置を検出する。図1に示すように、こうしたコントローラ3において、軌道生成部21、指令値補正部22及びサーボ機構23が構成されている。   The controller 3 includes a CPU, a ROM, a RAM, a drive circuit, a position detection circuit, and the like. The ROM stores system programs and operation programs for the robot 2. The RAM stores parameter values and the like when executing these programs. Detection signals from encoders (not shown) provided at the joints of the robot 2 are input to the position detection circuit. The position detection circuit detects the rotation angle position of the motor provided at each joint based on the detection signal of each encoder. As shown in FIG. 1, the controller 3 includes a trajectory generation unit 21, a command value correction unit 22, and a servo mechanism 23.

コントローラ3は、ロボット2の動作プログラム等に基づいて、第6軸の先端部である手先の目標停止位置を算出する。そして、コントローラ3は、目標停止位置に基づいて、各軸の目標停止角度位置を算出する。軌道生成部21は、各軸の目標停止角度位置に基づいて、各軸の角度位置を目標停止角度位置まで変更する際の各軸の角速度パターンを生成する。軌道生成部21は、各軸の角速度パターンに基づいて、各軸の直近の目標角度位置である指令値θnを算出する。駆動制御部に相当するサーボ機構23は、各エンコーダにより検出された各軸の角度θenと指令値θnとに基づいて、各軸の角度を指令値θnとするように、各モータを各駆動トルクTnで制御する。指令値補正部22は、指令値θnに補正を加えた指令値θn’をサーボ機構23に出力する。その補正の詳細については後述する。   The controller 3 calculates the target stop position of the hand, which is the tip of the sixth axis, based on the operation program of the robot 2 and the like. Then, the controller 3 calculates the target stop angle position of each axis based on the target stop position. The trajectory generation unit 21 generates an angular velocity pattern of each axis when changing the angular position of each axis to the target stop angle position based on the target stop angle position of each axis. The trajectory generation unit 21 calculates a command value θn that is the nearest target angular position of each axis based on the angular velocity pattern of each axis. The servo mechanism 23 corresponding to the drive control unit sets each motor to each drive torque so that the angle of each axis is set to the command value θn based on the angle θen of each axis detected by each encoder and the command value θn. Control by Tn. The command value correction unit 22 outputs a command value θn ′ obtained by correcting the command value θn to the servo mechanism 23. Details of the correction will be described later.

本実施形態では、コントローラ3は、ロボット2を図3に示す動作モデルとして捉え、手先の振動を抑制する制振制御を実行する。同図に示すように、6軸のロボット2は、基部にある第1軸のモータに対して6軸のアームが連結されており、そのアームの先端にワーク13が保持されている。この場合、6軸のアームを1つのバネとして見ると、そのバネにアームのイナーシャと、ワーク13である負荷のイナーシャとが連結されたモデルとして見ることができる。   In the present embodiment, the controller 3 regards the robot 2 as an operation model shown in FIG. 3 and executes vibration suppression control that suppresses hand vibration. As shown in the figure, a 6-axis robot 2 has a 6-axis arm connected to a first-axis motor at the base, and a work 13 is held at the tip of the arm. In this case, when the six-axis arm is viewed as one spring, it can be viewed as a model in which the inertia of the arm and the load inertia which is the work 13 are connected to the spring.

次に、このモデルが適用可能なロボットのアーム構造について図4から図6を参照して説明する。図4は、図2に示す垂直6軸ロボットに対応したもので、設置面に対し垂直となる第1軸と、この第1軸に対して垂直となる第2軸と、この第2軸以降に連結される複数の軸のうち、少なくとも1つが第2軸に対して平行となる第3軸を備える4軸以上のアームを有するロボットである。図5は、図4に示す構成の第5軸を除いて、第6軸に相当するものを第5軸とした垂直5軸ロボットである。また、図6は、図4に示す構成の第2軸と第3軸との間に、第2軸に直行する第7軸を加えた垂直7軸ロボットである。これらに対して、図2に示すモデルが同様に適用できる。   Next, a robot arm structure to which this model can be applied will be described with reference to FIGS. FIG. 4 corresponds to the vertical 6-axis robot shown in FIG. 2, and includes a first axis perpendicular to the installation surface, a second axis perpendicular to the first axis, and the second and subsequent axes. Among the plurality of axes connected to each other, at least one of the axes is a robot having four or more axes including a third axis that is parallel to the second axis. FIG. 5 shows a vertical five-axis robot having a fifth axis corresponding to the sixth axis except for the fifth axis having the configuration shown in FIG. FIG. 6 shows a vertical seven-axis robot in which a seventh axis orthogonal to the second axis is added between the second axis and the third axis configured as shown in FIG. For these, the model shown in FIG. 2 can be similarly applied.

図7は、本実施形態の制振制御の原理を説明するもので、本実施形態における制御と比較例とを示す。図中における上方のポイントがアームの基部側,第1軸のモータ側に、下方のポイントが先端側,負荷側に相当し、アームを1つのリンクのみに単純化している。このモデルにより、基部側が図中右方向にリニアに移動する場合について説明する。上段の図が、基部側を単に移動させる場合の比較例であり、下段の図が本実施形態の制御原理を適用した場合である。   FIG. 7 illustrates the principle of vibration suppression control according to the present embodiment, and shows control according to the present embodiment and a comparative example. In the drawing, the upper point corresponds to the base side of the arm and the motor side of the first shaft, and the lower point corresponds to the tip side and the load side, and the arm is simplified to only one link. The case where the base side moves linearly in the right direction in the figure by this model will be described. The upper diagram is a comparative example when the base side is simply moved, and the lower diagram is a case where the control principle of the present embodiment is applied.

比較例では、基部が停止状態から移動を開始して右方向に加速すると、先端部には慣性力が作用するため、その分だけ移動が遅れる。逆に、基部が移動状態から停止させるために減速すると、先端部には慣性力が作用する分だけ移動位置が進む。そして、基部が停止すると、先端部の位置は、先に進んだ位置から左方向に戻る。このような動きが、アームに振動を発生させている。   In the comparative example, when the base portion starts moving from the stopped state and accelerates in the right direction, an inertial force acts on the tip portion, and thus the movement is delayed by that amount. Conversely, when the base portion decelerates to stop from the moving state, the moving position advances by the amount of inertial force acting on the tip portion. And when a base part stops, the position of a front-end | tip part will return to the left direction from the position which advanced previously. Such movement causes vibrations in the arm.

この比較例の動きに対して本実施形態の制御原理を適用すると、基部が加速する際には、先端部の移動が遅れる分だけ基部を先行させるように加速させる。また、基部が減速する際には、先端部の位置が進んでいる分だけ基部を遅らせるように減速させる。そして、基部を停止させる際には、先端部が左方向に戻ろうとする復元力に合せて基部を移動させる。このように制御することで、アームの振動を抑制する。   When the control principle of this embodiment is applied to the movement of this comparative example, when the base portion accelerates, the base portion is accelerated so that the movement of the tip portion is delayed. Further, when the base is decelerated, the base is decelerated so as to be delayed by the amount of advancement of the position of the tip. And when stopping a base, a base is moved according to the restoring force which a front-end | tip part tends to return to the left direction. By controlling in this way, the vibration of the arm is suppressed.

次に、実際の制御に使用するバネ定数Kの求め方について、図8を参照して説明する。図中右側のポイントが、6軸ロボット2の第1軸及び第2軸(J1,J2)の位置を示し、図中左側のポイントが手先の位置を示し、それらの間にあるポイントが第3軸(J3)の位置を示す。   Next, a method of obtaining the spring constant K used for actual control will be described with reference to FIG. The right point in the figure indicates the positions of the first axis and the second axis (J1, J2) of the 6-axis robot 2, the left point in the figure indicates the position of the hand, and the point between them is the third point. The position of the axis (J3) is shown.

アームを横から見た状態のXZ平面内において、第1軸及び第2軸から第3軸までの距離をL,第3軸から手先までの距離をL,第1軸及び第2軸から手先までの距離をLとする。また、アームを上から見た状態のXY平面内において、X軸を基準とする第3軸のY軸方向への角度偏差をΔθ12とし、X軸を基準とする手先のY軸方向への角度偏差をΔθとする。 In the XZ plane when the arm is viewed from the side, the distance from the first axis and the second axis to the third axis is L 1 , the distance from the third axis to the hand is L 3 , the first axis and the second axis Let L f be the distance from the hand to the hand. Further, in the XY plane of a state seen from above the arm, the angular deviation of the Y-axis direction of the third axis relative to the X-axis and [Delta] [theta] 12, of the hand relative to the X axis in the Y-axis direction the angle deviation and Δθ 3.

手先に対し、質量M,加速度aによる慣性力F(=M・a)が作用した際に、第1軸及び第2軸作用するトルクτ12,第3軸に作用するトルクτは、それぞれ
τ12=L×F,τ=L×F …(1)
となる。
When inertial force F (= M · a) due to mass M and acceleration a acts on the hand, torque τ 12 acting on the first axis and second axis, and torque τ 3 acting on the third axis are respectively τ 12 = L f × F, τ 3 = L 3 × F (1)
It becomes.

第1軸及び第2軸を基準とする手先のバネ係数をK12とし、第3軸を基準とする手先のバネ係数をKとすると、角度偏差Δθ12,Δθは、
Δθ12=τ12/K12,Δθ=τ/K …(2)
となり、Y軸方向への位置変位ΔY12,ΔYは、
ΔY12=L×τ12/K12=L ×F/K12
ΔY=L×τ/K=L ×F/K …(3)
となる。
Assuming that the spring coefficient of the hand with respect to the first axis and the second axis is K 12 and the spring coefficient of the hand with respect to the third axis is K 3 , the angle deviations Δθ 12 and Δθ 3 are
Δθ 12 = τ 12 / K 12 , Δθ 3 = τ 3 / K 3 (2)
The positional displacements ΔY 12 and ΔY 3 in the Y-axis direction are
ΔY 12 = L f × τ 12 / K 12 = L f 2 × F / K 12
ΔY 3 = L 3 × τ 3 / K 3 = L 3 2 × F / K 3 (3)
It becomes.

位置変位の合計ΔYは、
ΔY=ΔY12+ΔY=L ×F/K12+L ×F/K
=(L /K12+L /K)F …(4)
である。また(1)式より、F=τ12/Lであるから、
ΔY=(L /K12+L /K)τ12/L …(5)
となる。
The total position displacement ΔY f is
ΔY f = ΔY 12 + ΔY 3 = L f 2 × F / K 12 + L 3 2 × F / K 3
= (L f 2 / K 12 + L 3 2 / K 3 ) F (4)
It is. Further, from the equation (1), F = τ 12 / L f .
ΔY f = (L f 2 / K 12 + L 3 2 / K 3 ) τ 12 / L f (5)
It becomes.

角度偏差の合計Δθは、ここでは、サンプリング周期毎の角度偏差であり、
Δθ≒0であるから、
Δθ≒tanΔθ=ΔY/L
=(L /K12+L /K)τ12/L
=(1/K12+1/K×L /L )τ12 …(6)
となる。そして、(6)式の括弧内部は、バネ定数Kの逆数であるから、
1/K=(1/K12+1/K×L /L ) …(7)
である。このようにバネ定数Kは、各軸の剛性,つまりバネ定数K12,K及び手先距離Lの逆数に依存した関数となる。バネ定数K12,Kについては、第2軸,第3軸に使用されているクロスローラベアリングの剛性値を用いるか、予め実測した値を用いる。本実施形態では、この(7)式で示されるバネ定数Kを制振制御に使用する。
Here, the total angle deviation Δθ f is the angle deviation for each sampling period,
Since Δθ f ≈0,
Δθ f ≒ tanΔθ f = ΔY f / L f
= (L f 2 / K 12 + L 3 2 / K 3 ) τ 12 / L f 2
= (1 / K 12 + 1 / K 3 × L 3 2 / L f 2 ) τ 12 (6)
It becomes. And since the inside of the parenthesis of the equation (6) is the reciprocal of the spring constant K,
1 / K = (1 / K 12 + 1 / K 3 × L 3 2 / L f 2 ) (7)
It is. Thus, the spring constant K becomes a function depending on the rigidity of each axis, that is, the spring constants K 12 and K 3 and the reciprocal of the hand distance L f . For the spring constants K 12 and K 3 , the rigidity values of the cross roller bearings used for the second and third axes are used, or values measured in advance are used. In the present embodiment, the spring constant K expressed by the equation (7) is used for vibration suppression control.

図9は、本実施形態における制振制御の手順を示すフローチャートである。軌道生成部21は、各軸の目標位置である手先の停止時の角度位置を取得すると(S1)、その各軸の目標位置に基づいて各軸の角速度パターンを生成する(S2)。例えば、後述する図10に破線で示す指令角速度のように、台形の角速度パターンを生成する。尚、各図中に示す「速度」は何れも「角速度」である。また、ステップS1における目標位置は、最終目標位置に相当する。   FIG. 9 is a flowchart showing a procedure of vibration suppression control in the present embodiment. When the trajectory generating unit 21 acquires the angular position at the time of stopping the hand, which is the target position of each axis (S1), the trajectory generating unit 21 generates an angular velocity pattern of each axis based on the target position of each axis (S2). For example, a trapezoidal angular velocity pattern is generated like a commanded angular velocity indicated by a broken line in FIG. The “velocity” shown in each figure is an “angular velocity”. Further, the target position in step S1 corresponds to the final target position.

続いて、軌道生成部21は、生成した角速度パターンに基づいて、指令値である各軸の目標角度θ(n=1〜6)を算出する(S3)。ここでの目標角度θnは、今回の制御周期,つまり各軸エンコーダが検出した角度θenをサンプリングする周期における第n軸の目標角度に相当する。また、軌道生成部21は、速度パターン生成部及び指令値生成部に相当する。   Subsequently, the trajectory generation unit 21 calculates a target angle θ (n = 1 to 6) of each axis, which is a command value, based on the generated angular velocity pattern (S3). The target angle θn here corresponds to the target angle of the nth axis in the current control cycle, that is, the cycle of sampling the angle θen detected by each axis encoder. The trajectory generator 21 corresponds to a speed pattern generator and a command value generator.

次に、指令値補正部22は、各軸の目標角度から手先の目標位置Pを求めると(S4)、その目標位置Pに応じたバネ定数Kを(7)式で求めると共に、イナーシャIを求める(S5)。尚、目標位置Pを求める際に、(7)式の演算パラメータである距離L及びLも求められる。イナーシャIは、ワーク13及びアームの質量と距離Lとの積である。目標位置Pは通過目標位置に相当する。続いて、各軸の速度パターンから、各軸がそれぞれ目標角度に至る間の角加速度ω(ドット)を計算する(S6)。 Next, when the command value correction unit 22 obtains the target position P of the hand from the target angle of each axis (S4), it obtains the spring constant K corresponding to the target position P by the equation (7) and calculates the inertia I. Obtain (S5). Incidentally, when obtaining the target position P, is also required distance L 3 and L f is an operation parameter of equation (7). Inertia I is the product of the workpiece 13 and the mass and the distance L 3 of the arm. The target position P corresponds to the passing target position. Subsequently, the angular acceleration ω (dot) during which each axis reaches the target angle is calculated from the velocity pattern of each axis (S6).

次に、指令値補正部22は、角度の補正量{Iω(ドット)/K}を計算する(S7)。すなわち、Δθ=T/K=I・dω/dt/Kである。そして、各軸の角度指令値θnに補正量{Iω(ドット)/K}を加えた修正指令値θn’を計算すると(S8)、その修正指令値θn’にローパスフィルタ処理を行ってから(S9)サーボ機構23に転送する(S10)。それから、ステップS3に戻る。指令値補正部22は、バネ定数演算部,イナーシャ演算部,加速度算出部及び補正量演算部に相当する。   Next, the command value correction unit 22 calculates an angle correction amount {Iω (dot) / K} (S7). That is, Δθ = T / K = I · dω / dt / K. When the correction command value θn ′ obtained by adding the correction amount {Iω (dot) / K} to the angle command value θn of each axis is calculated (S8), the correction command value θn ′ is subjected to low-pass filter processing ( S9) Transfer to the servo mechanism 23 (S10). Then, the process returns to step S3. The command value correction unit 22 corresponds to a spring constant calculation unit, an inertia calculation unit, an acceleration calculation unit, and a correction amount calculation unit.

尚、ステップS9においてローパスフィルタ処理を行うのは、以下の理由による。補正量に角加速度ω(ドット)がパラメータとして含まれているため、角加速度に広域のノイズ成分が重畳されたり、立上りが急峻になるとトルクが飽和する場合がある。そこで、補正した指令値についてローパスフィルタ処理を行うことにより、トルクが飽和することを防止する。その遮断周波数は、例えば数Hz〜10数Hz程度である。   The reason why the low pass filter process is performed in step S9 is as follows. Since the angular acceleration ω (dot) is included as a parameter in the correction amount, the torque may be saturated when a wide-range noise component is superimposed on the angular acceleration or when the rise is steep. Therefore, the torque is prevented from being saturated by performing low-pass filter processing on the corrected command value. The cutoff frequency is, for example, about several Hz to several tens Hz.

図10は、比較例である通常制御及び本実施形態による角速度パターンを示すタイムチャートである。破線は、ステップS2において生成された角速度パターンに相当し、指令角速度を示している。一点鎖線は、生成された角速度パターンに基づきステップS3で算出した指令値θを、そのままサーボ機構23に転送した場合の角速度を示している。実線は、本実施形態の制振制御を実行した場合の角速度を示している。   FIG. 10 is a time chart showing normal control as a comparative example and an angular velocity pattern according to the present embodiment. The broken line corresponds to the angular velocity pattern generated in step S2, and indicates the command angular velocity. The alternate long and short dash line indicates the angular velocity when the command value θ calculated in step S3 based on the generated angular velocity pattern is transferred to the servo mechanism 23 as it is. A solid line indicates an angular velocity when the vibration suppression control of the present embodiment is executed.

同図に示すように、停止状態からの加速開始時に、本実施形態の制御では比較例よりも角速度が上昇するタイミングが早くなっている。これは、図7に示す(2)加速時の動きに対応する。またこのとき、ステップS9において修正指令値θ’がローパスフィルタ処理されているため、修正指令値θ’の急激な変化が抑制されている。これにより、修正指令値θ’に基づいて各軸モータが制御された際に、各軸の角速度が急激に変化することが抑制されている。   As shown in the figure, at the time of starting acceleration from the stop state, the control of the present embodiment has an earlier timing for increasing the angular velocity than in the comparative example. This corresponds to (2) movement during acceleration shown in FIG. At this time, since the correction command value θ ′ is low-pass filtered in step S9, a rapid change in the correction command value θ ′ is suppressed. As a result, when the motors of the respective axes are controlled based on the correction command value θ ′, it is possible to prevent the angular velocity of the respective axes from changing suddenly.

また、加速時から等速時への移行時に、本実施形態の制御では比較例よりも角速度が一定になるタイミングが遅くなっている。これは、図7に示す(3)減速時の動きに対応する。   Further, at the time of transition from acceleration to constant speed, the timing at which the angular velocity becomes constant in the control of this embodiment is slower than in the comparative example. This corresponds to (3) movement during deceleration shown in FIG.

次の等速時から減速時への移行時においても、本実施形態の制御では比較例よりも角速度の低下するタイミングが早くなり、次の減速時から移動終了時への移行時においても、本実施形態制御では比較例よりも角速度が低下するタイミングが遅くなっている。これは、図7に示す(3)減速時及び(4)停止時の動きに対応する。   Even at the time of transition from the next constant speed to deceleration, the control of the present embodiment allows the angular velocity to be lowered earlier than the comparative example, and even at the time of transition from the next deceleration to the end of movement. In the embodiment control, the timing at which the angular velocity decreases is slower than in the comparative example. This corresponds to the movement at (3) deceleration and (4) stop shown in FIG.

図11は、上記の移動終了時における比較例及び本実施形態における目標位置と実際の手先位置との誤差をシミュレーションしたタイムチャートである。同図に一点鎖線で示すように、比較例では、目標位置との誤差が負側と正側とに交互に変化しており、アームの手先が振動している。これに対して、実線で示すように、本実施形態の制御では、目標位置に対する誤差が0に近くなっている。すなわち、手先の振動が抑制されている。   FIG. 11 is a time chart simulating an error between the target position and the actual hand position in the comparative example and the present embodiment at the end of the movement. As indicated by the alternate long and short dash line in the figure, in the comparative example, the error from the target position is alternately changed between the negative side and the positive side, and the hand of the arm vibrates. On the other hand, as indicated by a solid line, in the control of this embodiment, the error with respect to the target position is close to zero. That is, the vibration of the hand is suppressed.

以上のように本実施形態によれば、軌道生成部21は、アームの手先を移動させる最終目標位置が与えられると、その手先を最終目標位置に移動させる速度パターンを生成し、手先をサンプリング周期毎の目標位置に移動させるように、サーボ機構23に与える角度指令値θnを算出する。指令値補正部22は、手先の現在位置に応じてアームのバネ定数Kを演算し、アームと手先に保持されるワークとについてのイナーシャIを演算し、指令値がサンプリング周期毎に変化する際の加速度ω(ドット)を算出する。そして、これらの値から指令値の補正量{Iω(ドット)/K}を演算すると、指令値θnを前記補正量に基づき補正してサーボ機構23に出力する。   As described above, according to the present embodiment, when the final target position for moving the hand of the arm is given, the trajectory generating unit 21 generates a speed pattern for moving the hand to the final target position, and the hand is sampled in the sampling period. An angle command value θn to be given to the servo mechanism 23 is calculated so as to move to each target position. The command value correction unit 22 calculates the spring constant K of the arm according to the current position of the hand, calculates the inertia I for the arm and the work held by the hand, and the command value changes every sampling cycle. The acceleration ω (dot) is calculated. When the command value correction amount {Iω (dot) / K} is calculated from these values, the command value θn is corrected based on the correction amount and output to the servo mechanism 23.

これにより、アームの加速時には、先端側が遅れる分だけアームの基部側が先に進むように指令値が補正され、アームの減速時には、先端側が進む分だけアームの基部側が遅れるように指令値が補正されて、振動が抑制される。したがって、アームの先端部に加速度センサ等を取り付けずとも、アームが手先に保持したワーク13を移動させる際に発生する振動を抑制することができる。   As a result, when the arm is accelerated, the command value is corrected so that the base side of the arm moves forward by the amount delayed, and when the arm is decelerated, the command value is corrected so that the base side of the arm is delayed by the amount advanced. Vibration is suppressed. Therefore, it is possible to suppress vibration generated when the work 13 held by the arm is moved without attaching an acceleration sensor or the like to the tip of the arm.

また、指令値補正部22は、アーム全体のバネ定数Kを演算し、アーム全体及びワーク13を含むイナーシャIを演算するので、演算量を減らして補正処理を高速に実行できる。具体的には、バネ定数Kを(7)式で求めるので、アームを一体的にバネとして捉えた際のバネ定数Kを迅速に求めることができる。これにより、ロボット2を高速で動作させることができる。   Further, since the command value correction unit 22 calculates the spring constant K of the entire arm and calculates the inertia I including the entire arm and the workpiece 13, the correction amount can be reduced and the correction process can be executed at high speed. Specifically, since the spring constant K is obtained by the equation (7), the spring constant K when the arm is integrally regarded as a spring can be quickly obtained. Thereby, the robot 2 can be operated at high speed.

また、指令値補正部22は、補正した指令値θn’に対しローパスフィルタ処理を行う。これにより、加速度に広域のノイズ成分が重畳されたり、立上りが急峻になる場合でも、トルクが飽和することを防止できる。   Further, the command value correction unit 22 performs a low-pass filter process on the corrected command value θn ′. As a result, it is possible to prevent the torque from being saturated even when a wide-range noise component is superimposed on the acceleration or the rise is steep.

(第2実施形態)
以下、第1実施形態と同一部分には同一符号を付して説明を省略し、異なる部分について説明する。図12に示す第2実施形態の制御では、ステップS4を実行すると、指令値補正部22は、目標位置Pから、各軸のバネ定数K1〜K6と、イナーシャI1〜I6とを求める(S11)。バネ定数K1〜K6については、各軸に(7)式を適用することで計算する。更に、それらに基づき、各軸の補正係数I1/K1〜I6/K6を求めると(S12)、それらのうち値が最大となる補正係数max(I/K)をMaxAとして選択する(S13)。続いて、ステップS6を実行すると、補正係数MaxAを用いて補正量Adj{=MaxA・ω(ドット)}を計算し(S14)、指令値θに補正量Adjを加えて修正する(S15)。
(Second Embodiment)
Hereinafter, the same parts as those in the first embodiment are denoted by the same reference numerals, description thereof will be omitted, and different parts will be described. In the control of the second embodiment shown in FIG. 12, when step S4 is executed, the command value correction unit 22 obtains spring constants K1 to K6 and inertias I1 to I6 for each axis from the target position P (S11). . The spring constants K1 to K6 are calculated by applying equation (7) to each axis. Further, when the correction coefficients I1 / K1 to I6 / K6 of each axis are obtained based on them (S12), the correction coefficient max (I / K) having the maximum value is selected as MaxA (S13). Subsequently, when step S6 is executed, the correction amount Adj {= MaxA · ω (dot)} is calculated using the correction coefficient MaxA (S14), and the correction is performed by adding the correction amount Adj to the command value θ (S15).

すなわち、アームの各軸の物理特性は、それぞれの回転方向位置によって異なる。しかし、各軸に対応する補正係数を個別に適用すると各軸の遅れ量が大きく異なり、当初に予定した手先の移動軌跡が維持できなくなる可能性が有る。そこで、補正係数の最大値MaxAを用いて各軸に適用する補正量Adjを決定することで、移動軌跡を維持できる範囲で振動を抑制する。続いて、ステップS9と同様に修正指令値θ’に対してローパスフィルタ処理を行うが、ここでのフィルタの帯域,遮断周波数は、補正係数MaxAの逆数の平方根で設定する(S16)。それから、ステップS10に移行する。   That is, the physical characteristics of each axis of the arm vary depending on the position in the rotational direction. However, if the correction coefficient corresponding to each axis is individually applied, the delay amount of each axis is greatly different, and there is a possibility that the initially planned movement trajectory of the hand cannot be maintained. Therefore, by determining the correction amount Adj to be applied to each axis using the maximum value MaxA of the correction coefficient, vibration is suppressed within a range in which the movement locus can be maintained. Subsequently, the low-pass filter process is performed on the correction command value θ ′ in the same manner as in step S9, but the band and cutoff frequency of the filter here are set as the square root of the reciprocal of the correction coefficient MaxA (S16). Then, the process proceeds to step S10.

以上のように第2実施形態によれば、指令値補正部22は、アームの各軸についてバネ定数K1〜K6を演算すると共に、アームの各軸についてイナーシャI1〜I6を演算する。そして、補正係数I/Kが最大となるものとMaxAとして選択し、その最大補正係数に基づく補正量Adjにより各軸の指令値θnを修正するようにした。このような制御による場合も、第1実施形態と同様に手先の振動を抑制できる。また、イナーシャIをバネ定数Kで除した補正係数に応じてローパスフィルタの遮断周波数を可変設定するので、それらの値を考慮して遮断周波数を適切に設定できる。   As described above, according to the second embodiment, the command value correction unit 22 calculates the spring constants K1 to K6 for each axis of the arm and calculates the inertias I1 to I6 for each axis of the arm. Then, the maximum correction coefficient I / K is selected as MaxA, and the command value θn of each axis is corrected by the correction amount Adj based on the maximum correction coefficient. Also by such control, the vibration of the hand can be suppressed as in the first embodiment. Further, since the cutoff frequency of the low-pass filter is variably set according to the correction coefficient obtained by dividing the inertia I by the spring constant K, the cutoff frequency can be appropriately set in consideration of these values.

(第3実施形態)
第3実施形態では、バネ定数Kを(7)式により求めることに替えて、1次近似式を用いて求める。図13は、バネ定数Kを(7)式で求めた場合の一例であり、横軸に距離Lの2乗を取ると、曲線を描く。図13は、距離Lの値域は300mm〜1500mmであるが、図14に示すように、手先の振動が顕著になる900mm以上の領域とそれ未満の領域とを分けてそれぞれの領域に1次近似を適用すると、少ない誤差で近似できる。
(Third embodiment)
In the third embodiment, the spring constant K is obtained by using a first-order approximate expression instead of obtaining by the expression (7). Figure 13 is an example of a case of obtaining the spring constant K in equation (7), taking the square of the distance L f in the horizontal axis, a curve. In FIG. 13, the range of the distance L f is 300 mm to 1500 mm. As shown in FIG. 14, the region of 900 mm or more where the vibration of the hand becomes remarkable and the region of less than that are divided into primary regions. If approximation is applied, it can be approximated with few errors.

そして、1次近似で求めた2つのバネ定数K1,K2による連立方程式を解くことで、2つの直線の交点が求められる。その交点で、2つのバネ定数K1,K2の適用を切り替えるようにすれば良い。図14に示す例では、交点はL=767mmとなっている。
以上のように第3実施形態によれば、指令値補正部22は、バネ定数Kを1次近似式により演算するので、指令値の補正に使用するバネ定数Kをより簡単に得ることができる。
Then, by solving the simultaneous equations with the two spring constants K1 and K2 obtained by the primary approximation, the intersection of the two straight lines can be obtained. The application of the two spring constants K1 and K2 may be switched at the intersection. In the example shown in FIG. 14, the intersection is L f = 767 mm.
As described above, according to the third embodiment, the command value correction unit 22 calculates the spring constant K using a first-order approximation formula, so that the spring constant K used for correcting the command value can be obtained more easily. .

本発明は上記した、又は図面に記載した実施形態にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
ステップS9,S16におけるローパスフィルタ処理は、必要に応じて行えば良い。
第1実施形態におけるバネ定数Kは、(7)式以外の式によって求めても良い。
第3実施形態における一次近似は、3以上の領域に分けて近似を行っても良い。
The present invention is not limited to the embodiments described above or shown in the drawings, and the following modifications or expansions are possible.
The low-pass filter processing in steps S9 and S16 may be performed as necessary.
The spring constant K in the first embodiment may be obtained by an expression other than the expression (7).
The primary approximation in the third embodiment may be performed by dividing into three or more regions.

図面中、1はロボットシステム、2はロボット、3はコントローラ、13はワーク、21は軌道生成部、22は指令値補正部を示す。   In the drawings, 1 is a robot system, 2 is a robot, 3 is a controller, 13 is a workpiece, 21 is a trajectory generator, and 22 is a command value corrector.

Claims (7)

設置面に対し垂直となる第1軸と、この第1軸に対して垂直となる第2軸と、この第2軸以降に連結される複数の軸のうち、少なくとも1つが前記第2軸に対して平行となる軸を備える4軸以上のアームと、
このアームをサーボ機構を介して駆動制御するロボットの制御装置であって、
前記アームの手先を移動させる最終目標位置が与えられると、前記手先を前記最終目標位置に移動させる速度パターンを生成する速度パターン生成部と、
前記手先を、制御周期毎の通過目標位置に移動させるように、前記サーボ機構に与える指令値を算出する指令値算出部と、
前記手先の現在位置に応じて、前記アームのバネ定数を演算するバネ定数演算部と、
前記手先の現在位置に応じて、前記アームと前記手先に保持されるワークとについてのイナーシャを演算するイナーシャ演算部と、
前記指令値が前記制御周期毎に変化する際の加速度を算出する加速度算出部と、
前記バネ定数、前記イナーシャ及び前記加速度から、前記指令値の補正量を演算する補正量演算部と、
前記指令値を、前記補正量に基づき補正して前記サーボ機構に出力する指令値補正部とを備えるロボットの制御装置。
At least one of the first axis that is perpendicular to the installation surface, the second axis that is perpendicular to the first axis, and the plurality of axes that are connected after the second axis is the second axis. Four or more arms with axes parallel to each other;
A control device for a robot that drives and controls the arm via a servo mechanism,
Given a final target position for moving the hand of the arm, a speed pattern generation unit that generates a speed pattern for moving the hand to the final target position;
A command value calculation unit that calculates a command value to be given to the servo mechanism so as to move the hand to a passing target position for each control cycle;
A spring constant calculator for calculating a spring constant of the arm according to the current position of the hand;
An inertia calculation unit for calculating an inertia of the arm and a work held by the hand according to a current position of the hand;
An acceleration calculator that calculates an acceleration when the command value changes for each control cycle;
A correction amount calculation unit that calculates a correction amount of the command value from the spring constant, the inertia, and the acceleration;
A robot control apparatus comprising: a command value correction unit that corrects the command value based on the correction amount and outputs the corrected command value to the servo mechanism.
前記バネ定数演算部は、前記アーム全体のバネ定数を演算し、
前記イナーシャ演算部は、前記アーム全体及び前記ワークを含むイナーシャを演算する請求項1記載のロボットの制御装置。
The spring constant calculation unit calculates a spring constant of the entire arm,
The robot control apparatus according to claim 1, wherein the inertia calculation unit calculates an inertia including the entire arm and the workpiece.
前記バネ定数演算部は、前記第3軸から前記手先までの距離をL
前記第1軸から前記手先までの距離をL
前記第1軸を基準とする前記第3軸までのバネ定数をK12
前記第3軸を基準とする前記手先までのバネ定数をKとすると、
前記補正量を求めるために使用するバネ定数Kを、次式
1/K={1/K12+L /(K )}
で求める請求項2記載のロボットの制御装置。
The spring constant calculation unit calculates a distance from the third axis to the hand as L 3 ,
The distance from the first axis to the hand is expressed as L f ,
The spring constant up to the third axis with respect to the first axis is expressed as K 12 ,
When the spring constant up to the hand with respect to the third axis is K 3 ,
The spring constant K used for obtaining the correction amount is expressed by the following equation: 1 / K = {1 / K 12 + L 3 2 / (K 3 L f 2 )}
The robot control device according to claim 2, which is obtained by:
前記バネ定数演算部は、前記アームの各軸を基準とするバネ定数を演算し、
前記イナーシャ演算部は、前記アームの各軸を基準とするイナーシャを演算し、
前記補正量演算部は、各軸に対応するイナーシャを各軸に対応するバネ定数で除すことで、各軸に対応する補正係数を求め、前記補正係数のうち最大値を示したものを用いて各軸に適用する補正量を決定する請求項1記載のロボットの制御装置。
The spring constant calculation unit calculates a spring constant based on each axis of the arm,
The inertia calculation unit calculates an inertia based on each axis of the arm,
The correction amount calculation unit obtains a correction coefficient corresponding to each axis by dividing the inertia corresponding to each axis by the spring constant corresponding to each axis, and uses a value indicating the maximum value among the correction coefficients. The robot control apparatus according to claim 1, wherein a correction amount applied to each axis is determined.
前記補正量演算部は、前記バネ定数を1次近似式により演算する請求項1から4の何れか一項に記載のロボットの制御装置。   5. The robot control apparatus according to claim 1, wherein the correction amount calculation unit calculates the spring constant using a first-order approximation formula. 前記指令値補正部は、補正した指令値に対しローパスフィルタ処理を行う請求項1から5の何れか一項に記載のロボットの制御装置。   The robot control device according to claim 1, wherein the command value correction unit performs low-pass filter processing on the corrected command value. 前記指令値補正部は、前記イナーシャを前記バネ定数で除した補正係数に応じて、前記ローパスフィルタの遮断周波数を可変設定する請求項6記載のロボットの制御装置。   The robot control device according to claim 6, wherein the command value correction unit variably sets a cutoff frequency of the low-pass filter according to a correction coefficient obtained by dividing the inertia by the spring constant.
JP2017181389A 2017-09-21 2017-09-21 Robot control device Active JP6915470B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017181389A JP6915470B2 (en) 2017-09-21 2017-09-21 Robot control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017181389A JP6915470B2 (en) 2017-09-21 2017-09-21 Robot control device

Publications (2)

Publication Number Publication Date
JP2019055456A true JP2019055456A (en) 2019-04-11
JP6915470B2 JP6915470B2 (en) 2021-08-04

Family

ID=66106833

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017181389A Active JP6915470B2 (en) 2017-09-21 2017-09-21 Robot control device

Country Status (1)

Country Link
JP (1) JP6915470B2 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0760667A (en) * 1993-08-31 1995-03-07 Komatsu Ltd Weaving control device for robot
JPH07261853A (en) * 1994-03-23 1995-10-13 Komatsu Ltd Vibration reduction device for robot
JPH09123075A (en) * 1995-11-02 1997-05-13 Kobe Steel Ltd Control method of machine having link mechanism and its device
JP2004348250A (en) * 2003-05-20 2004-12-09 Yaskawa Electric Corp Robot controller
JP2006272529A (en) * 2005-03-30 2006-10-12 Daihen Corp Industrial robot controlling device
JP2010058256A (en) * 2008-09-08 2010-03-18 Yaskawa Electric Corp Arm position regulating method and apparatus and robot system
US20100109594A1 (en) * 2008-10-31 2010-05-06 Okuma Corporation Position control apparatus for numerically controlled machine
US20100198405A1 (en) * 2007-05-24 2010-08-05 Jens Hacker Movement controller for elastic robot structures

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0760667A (en) * 1993-08-31 1995-03-07 Komatsu Ltd Weaving control device for robot
JPH07261853A (en) * 1994-03-23 1995-10-13 Komatsu Ltd Vibration reduction device for robot
JPH09123075A (en) * 1995-11-02 1997-05-13 Kobe Steel Ltd Control method of machine having link mechanism and its device
JP2004348250A (en) * 2003-05-20 2004-12-09 Yaskawa Electric Corp Robot controller
JP2006272529A (en) * 2005-03-30 2006-10-12 Daihen Corp Industrial robot controlling device
US20100198405A1 (en) * 2007-05-24 2010-08-05 Jens Hacker Movement controller for elastic robot structures
JP2010058256A (en) * 2008-09-08 2010-03-18 Yaskawa Electric Corp Arm position regulating method and apparatus and robot system
US20100109594A1 (en) * 2008-10-31 2010-05-06 Okuma Corporation Position control apparatus for numerically controlled machine
JP2010108399A (en) * 2008-10-31 2010-05-13 Okuma Corp Position control apparatus for numerically controlled machine

Also Published As

Publication number Publication date
JP6915470B2 (en) 2021-08-04

Similar Documents

Publication Publication Date Title
JP5327722B2 (en) Robot load estimation apparatus and load estimation method
US10399222B2 (en) Robot
JP5897644B2 (en) Robot control device
US20170008171A1 (en) Robot controller for robot which sets two objects in combined state
JP5916583B2 (en) Weaving control device for articulated robot
JP2014028407A (en) Control unit and control method for robot, and robot
JP2013146827A (en) Method of controlling robot, and robot
JP5919346B2 (en) Motor controller for correcting inter-axis interference
US20150051735A1 (en) Control apparatus of robot, robot, and program thereof
US10350754B2 (en) Control device for robot
JP6661676B2 (en) Robot controller
JP6915470B2 (en) Robot control device
JP6998514B2 (en) Robot control device
JP6926882B2 (en) Robot control device
JP6790668B2 (en) Robot control device
JP5633268B2 (en) Robot control device
JP2017019058A (en) Robot control device, robot, and robot system
JP2020069616A (en) Motor driving device, robot driving system and motor driving program
JP2021003781A (en) Overshoot amount detection method, overshoot amount detection system, robot system and overshoot amount adjustment method
JP6790669B2 (en) Robot control device
JP6252272B2 (en) Position error suppression method for vertical articulated robot
KR102188742B1 (en) Control device of a gantry stage including a fuzzy observer
US20220176557A1 (en) Robot control method and robot control device
Kilian et al. Comparative study on sensorless vibration suppression of fast moving flexible linear robots

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200820

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210420

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210428

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: 20210615

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210628

R150 Certificate of patent or registration of utility model

Ref document number: 6915470

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150