[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2022025060A1 - ロボット制御装置 - Google Patents

ロボット制御装置 Download PDF

Info

Publication number
WO2022025060A1
WO2022025060A1 PCT/JP2021/027744 JP2021027744W WO2022025060A1 WO 2022025060 A1 WO2022025060 A1 WO 2022025060A1 JP 2021027744 W JP2021027744 W JP 2021027744W WO 2022025060 A1 WO2022025060 A1 WO 2022025060A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
unit
reference point
parameter
error
Prior art date
Application number
PCT/JP2021/027744
Other languages
English (en)
French (fr)
Inventor
邦彦 原田
Original Assignee
ファナック株式会社
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 ファナック株式会社 filed Critical ファナック株式会社
Priority to US18/001,448 priority Critical patent/US20230234225A1/en
Priority to JP2022539497A priority patent/JP7436675B2/ja
Priority to CN202180060326.1A priority patent/CN116133797A/zh
Priority to DE112021003153.8T priority patent/DE112021003153T5/de
Publication of WO2022025060A1 publication Critical patent/WO2022025060A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control

Definitions

  • the present invention relates to a robot control device.
  • the position of the reference point at the end of the robot is calculated based on the distance between the drive axes (link length) and the angular position of the drive axes.
  • an error may occur between the position of the reference point calculated from the angle command value of the drive shaft and the position where the reference point is actually positioned due to various factors. Therefore, it is being studied to compensate for the error between the theoretical position of the reference point and the actual position with respect to the command value to the robot by using a plurality of error parameters.
  • the suitability of the preset parameter group greatly affects the accuracy of the calculated error parameter.
  • the error parameters with large contributions change. Therefore, it is not easy to determine in advance a group of parameters to be corrected with priority. Therefore, a technique that can improve the positioning accuracy of the robot more easily is desired.
  • the robot control device includes a position information acquisition unit that acquires position information indicating the actual position of a reference point at the end of a robot having a plurality of drive axes, and the reference point from a command value for the robot.
  • a parameter storage unit that stores a plurality of error parameters used to calculate the accurate position of, and a sensitivity that represents the magnitude of the change in the calculated position of the reference point with respect to the change for each error parameter.
  • the sensitivity calculation unit that calculates the value, the target selection unit that selects the error parameter to be corrected by the parameter correction unit based on the sensitivity value, and the error parameter other than the correction target are the positions of the reference points.
  • a parameter correction unit that corrects the error parameter to be corrected based on the command value for the robot and the position information is provided so as not to affect the above.
  • the positioning accuracy of the robot can be improved relatively easily.
  • FIG. 1 is a diagram showing a configuration of a robot system S including the robot control device 1 of the present disclosure.
  • the robot system S processes the work W by the robot 2 that operates according to the robot control device 1.
  • the robot system S includes a robot control device 1, a robot 2 controlled by the robot control device 1, and a three-dimensional measuring device 3 for measuring a three-dimensional position of a reference point at the end of the robot 2.
  • the robot 2 has a plurality of drive shafts.
  • a processing head 21 for holding the tool T is arranged at the end of the robot 2.
  • the robot control device 1 includes a parameter storage unit 11, a command value generation unit 12, a position information acquisition unit 13, a sensitivity calculation unit 14, a target selection unit 15, a parameter correction unit 16, an evaluation unit 17, and a weight.
  • a determination unit 18 and a program generation unit 19 are provided.
  • the robot control device 1 can be realized by introducing an appropriate control program into a computer device having a CPU, a memory, and the like.
  • Each of the above components categorizes the functions of the robot control device 1, and may not be clearly distinguishable in the functions and the program structure.
  • the parameter storage unit 11 stores a plurality of error parameters used for calculating the accurate position of the reference point of the robot 2 from the command value indicating the position or speed of each drive axis of the robot 2.
  • the error parameters are the theoretical position (theoretical position) of the reference point calculated by the angle of each drive axis of the robot 2 and the distance between the drive axes, and the actual position of the reference point caused by the mechanical error of the robot 2. It is set to compensate for the difference from the position (actual position).
  • the theoretical position of the reference point is calculated by the forward kinematics of the robot. It is well known to calculate using the Denavit-Hartenberg parameter (DH parameter) to represent the relative relationship between adjacent joint axes.
  • DH parameter Denavit-Hartenberg parameter
  • Rotation angle from x i-1 axis to x i axis (around z i-1 axis)
  • d Distance from the origin of the i-1 coordinate system to the intersection of the z i-1 axis and the x i-1 axis
  • a From the intersection of the z i-1 axis and the x n axis to the origin of the i coordinate system
  • Distance ⁇ Rotation angle from z i-1 axis to z i axis (around x i axis)
  • Rotation angle from z i-1 axis to z i axis (around y i axis)
  • is the amount of rotation with respect to the encoder output that drives each axis, and its reference position is the correction factor.
  • 6-axis ⁇ 5 30 error parameters are required to correct the DH parameter.
  • each axis has three spring constants as error parameters, and the gravity torque ⁇ spring constant is the above ⁇ , ⁇ . , ⁇ is added as a correction amount.
  • the command value generation unit 12 generates a command value instructing the position or speed of each drive shaft of the robot 2 so as to move the tool T along a predetermined locus to machine the work W according to the program. That is, the command value generation unit 12 generates a command value so that the position calculated by using the error parameter stored in the parameter storage unit 11 is the position required in the program.
  • the position information acquisition unit 13 acquires position information indicating a position (measurement position) measured as an actual position of a reference point at the end of the robot 2.
  • the position information can be obtained from the three-dimensional measuring device 3.
  • the position information may be acquired by calculating from the instruction operation of the correct position by the operator. Specifically, the position information acquisition unit 13 moves the reference point from the command value to the calculated position (calculation position) of the reference point calculated by using the error parameter and the position where the operator positions the reference point according to the command value.
  • the measurement position of the reference point may be calculated based on the amount of the mixture.
  • the sensitivity calculation unit 14 calculates a sensitivity value indicating the magnitude (sensitivity) of the amount of change in the calculated position of the reference point with respect to the amount of change for each error parameter.
  • the sensitivity value may be an independent evaluation point, a ranking, or a rank value obtained by grouping the sensitivities.
  • the vector ⁇ p indicating the amount of deviation between the command position and the measurement position of the robot tip can be approximated by the sum of the linear combinations of the minute fluctuations of each error parameter.
  • Each element of D represents the amount of deviation of the tip position when the error parameter is slightly changed in the nth measurement.
  • the column vector of D is the sensitivity vector corresponding to each error parameter.
  • the maximum value of the absolute value of the element of this sensitivity vector, the maximum value-the minimum value, or the magnitude of the vector can be used as an index of sensitivity. For example, if the spring around the Z-axis of the J1 axis is the error parameter in the first row, and if the change in the Z-axis torque of the J1 axis is very small in each measurement posture, the maximum value of the absolute value in the first row. , Maximum-minimum, or vector magnitude is very small compared to other columns. In such a case, it is excluded from the error parameter group.
  • T [D] is an M ⁇ M matrix.
  • This column vector may be defined as a sensitivity vector and indexed.
  • the degree of dependence between the error parameters can be determined. For example, if the spring around the Z axis of the J1 axis is the first error parameter and the second is the error parameter related to the ratio of the encoder value of the J1 axis to the rotation angle, the change in the encoder value and J1 in each measurement posture. When the changes in torque around the Z axis of the axis are in a proportional relationship, the inner product of the vectors in the first and second columns is 1. In this case as well, it is better to exclude it from the error parameter group.
  • an error parameter having a small eigenvalue until the ratio of the maximum eigenvalue to the minimum eigenvalue of [D] T [D] reaches a certain constant value may be excluded from the error parameter group.
  • Jacobian D can be calculated before the position information is obtained by measurement, it is possible to know which error parameter is calculated in advance before the start of measurement. For example, if the error parameters that can be calculated are very small, the expected realization accuracy is considered to be low, and in that case, it is possible to carry out a study to increase the number of postures to be measured in advance.
  • the target selection unit 15 selects an error parameter to be calculated by the parameter correction unit 16 based on the sensitivity value calculated by the sensitivity calculation unit 14.
  • the target selection unit 15 may select a constant error parameter having a higher sensitivity value, or may select an error parameter having a sensitivity higher than a certain level, for example, the number of position information obtained based on a machining program or the like.
  • the number of error parameters to be selected may be increased or decreased according to the above.
  • the target selection unit 15 may select an error parameter to be calculated based on the weight set for each error parameter and the sensitivity value calculated by the sensitivity calculation unit 14. By weighting the sensitivity value calculated by the sensitivity calculation unit 14, the priority of correction is given not only to the error having a large influence in the state where the position information is acquired but also to the error parameter predicted to have a large influence on the structure of the robot 2. You can raise the ranking and get the appropriate error parameters more quickly.
  • the parameter correction unit 16 corrects the error parameter based on the command value for the robot 2 output by the command value generation unit 12 and the position information acquired by the position information acquisition unit 13. At this time, the parameter correction unit 16 corrects only the error parameter to be corrected, assuming that the error parameters other than the correction target selected by the target selection unit 15 do not affect the position of the reference point of the robot 2.
  • the actual robot 2 Since the actual robot 2 has a very complicated mechanism, it is necessary to use an extremely large number of error parameters in order to reflect all the error factors. Further, since it affects the positioning error caused by various factors such as the configuration of the machining head 21 and the operation pattern of the robot 2, the appropriate error parameter value depends on the machining mode, the configuration of the program for machining, and the like. Can change. Therefore, in order to calculate the accurate values of all the error parameters, it is necessary to perform the positioning operation of the robot 2 with various operation patterns and acquire a large amount of position information. For example, if the robot 2 is a 6-axis articulated robot, the number of combinations of required command values and position information exceeds 100.
  • the parameter correction unit 16 assumes that only some error parameters selected by the target selection unit 15 are unknown variables to be calculated, and the other error parameters are unchanged (constant at the current value).
  • the value of the error parameter selected by the target selection unit 15 so that the position of the actual reference point can be calculated more accurately from the command value by analyzing the relationship between the command value and the actual position (actual position) of the reference point. To correct. This makes it possible to obtain a set of error parameters that can relatively accurately identify the position of the reference point of the robot 2, although it is not necessarily exact, with a relatively small number of position information.
  • the sensitivity calculation unit 14, the target selection unit 15, and the parameter correction unit 16 may perform calculations for each of the position information. That is, every time the position information acquisition unit 13 acquires the position information, the sensitivity calculation unit 14 recalculates the sensitivity value, the target selection unit 15 reselects the correction target, and the parameter correction unit 16 corrects the error parameter. And may be done. As a result, the error parameter can be corrected step by step, and the error parameter can be surely optimized.
  • the deviation between the position of the reference point calculated from the command value for the robot 2 output by the command value generation unit 12 and the position of the reference point indicated by the position information acquired by the position information acquisition unit 13 is within a predetermined range. It is determined whether or not it is.
  • the evaluation unit 17 determines that the deviation between the position of the reference point calculated from the command position of the reference point of the robot 2 and the measured position is within a predetermined range, the iterative process of gradually correcting the error parameter is stopped. This can reduce the time it takes to obtain an effective set of error parameters.
  • the correction of the error parameter may be restarted when a predetermined event such as the operation stop of the robot system S, the change of the machining program, or the emergency stop occurs.
  • the weight determination unit 18 determines the weight according to the content of the maintenance work performed on the robot 2. Therefore, the weight determination unit 18 may be configured to accept input of maintenance work contents by the operator. For example, when a motor is replaced, the error factors associated with the replaced motor may change, and therefore the associated error parameters may need to be significantly modified. In this way, by increasing the weight of the sensitivity value of the error parameter that is likely to need to be corrected by the maintenance work, the positioning error due to the maintenance work can be quickly compensated.
  • the weight of the sensitivity value of the error parameter is held for each measurement data, and the mechanical error parameter of the robot after the maintenance work is calculated using the measurement data before and after the maintenance work by switching the weight before and after the maintenance work. May be.
  • the program generation unit 19 generates a calibration program in which a command for acquiring position information is added by the position information acquisition unit 13 to a processing program given for processing using the robot 2. That is, the robot system S can calculate the error parameter while performing machining according to the calibration program. As a result, since the sensitivity value is determined and the correction target is selected in the actual machining operation, the positioning accuracy and the machining accuracy can be surely improved.
  • the robot 2 is typically a vertical articulated robot, but may be a scalar type robot, a parallel link type robot, a Cartesian coordinate type robot, or the like.
  • the robot 2 may have a marker at the end that can be recognized by the three-dimensional measuring device 3.
  • the machining head 21 of the robot 2 may have a drive mechanism that holds a tool T such as a rotary cutting tool and drives (for example, rotates) the tool T.
  • the processing head 21 may be a laser processing head or the like.
  • the three-dimensional measuring device 3 for example, a device that measures the three-dimensional shape of the surface of an object using a laser or the like can be used.
  • FIG. 3 shows a procedure for correcting an error parameter by the robot control device 1.
  • the error parameters are corrected by a positioning step (step S1), a sensitivity value calculation step (step S4), a correction target selection step (step S5), a position information acquisition step (step S2), and a parameter correction step (step S6). ) And the evaluation step (step S3).
  • the command value generation unit 12 In the positioning step of step S1, the command value generation unit 12 generates a command value for positioning the robot 2 according to the calibration program generated by the program generation unit 19.
  • the sensitivity calculation unit 14 calculates the sensitivity values for all the error parameters based on the command value and the position information.
  • the target selection unit 15 selects an error parameter having a higher sensitivity value as a correction target.
  • the position information acquisition unit 13 acquires the position information of the reference point of the robot 2, that is, measures the three-dimensional position of the reference point.
  • the parameter correction unit 16 corrects the error parameter selected in the correction target selection step so that the calculated position approaches the actual measurement position, that is, the value of the error parameter stored in the parameter storage unit 11. Correct.
  • the evaluation unit 17 determines the calculation position of the reference point of the robot 2 calculated from the command value generated by the command value generation unit 12 using the error parameter currently stored in the parameter storage unit 11. , It is confirmed whether or not the deviation of the reference point indicated by the position information acquired by the position information acquisition unit 13 from the actually measured position is within a predetermined range. If the deviation between the calculated position and the measured position is within a predetermined range, the error parameter stored in the parameter storage unit 11 is considered to be appropriate, and this process is terminated. If the deviation between the calculated position and the measured position is not within a predetermined range, the process returns to step S1 and the above steps are repeated. By returning to step S1 and acquiring new position information and further correcting the error parameter, the error parameter can be corrected to a more appropriate value, and the positioning accuracy of the robot can be gradually improved.
  • the robot control device 1 targets only a small number of error parameters whose sensitivity value is selected by the target selection unit 15, a relatively small number of position information obtains relatively accurate error parameters. be able to. That is, the robot control device 1 can improve the positioning accuracy of the robot 2 relatively easily.
  • the evaluation unit, the weight determination unit, and the program generation unit have arbitrary configurations and may be omitted.
  • the robot control device is not limited to the control of a robot having a machining head, and can be applied to, for example, a robot that handles a workpiece.
  • Robot control device 11 Parameter storage unit 12 Command value generation unit 13 Position information acquisition unit 14 Sensitivity calculation unit 15 Target selection unit 16 Parameter correction unit 17 Evaluation unit 18 Weight determination unit 19 Program generation unit 2 Robot 21 Machining head 3 3D measurement Equipment S Robot system T Tool W Work

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

比較的簡単にロボットの位置決め精度を向上できるロボット制御装置を提供すること。本開示の一態様に係るロボット制御装置は、複数の駆動軸を有するロボットの末端の基準点の実際の位置を示す位置情報を取得する位置情報取得部と、前記ロボットに対する指令値から前記基準点の正確な位置を算出するために用いられる複数の誤差パラメータを記憶するパラメータ記憶部と、前記誤差パラメータごとに、その変化量に対する前記基準点の計算上の位置の変化量の大きさを表す感度値を算出する感度算出部と、前記感度値に基づいて、前記パラメータ補正部が補正対象とする前記誤差パラメータを選定する対象選定部と、前記補正対象以外の前記誤差パラメータが前記基準点の位置に影響しないものとして、前記ロボットに対する指令値及び前記位置情報に基づいて前記補正対象の前記誤差パラメータを補正するパラメータ補正部と、を備える。

Description

ロボット制御装置
 本発明は、ロボット制御装置に関する。
 複数の駆動軸を備える多関節型ロボットでは、駆動軸間の距離(リンクの長さ)と駆動軸の角度位置とに基づいて、ロボットの末端の基準点の位置が算出される。しかしながら、実際のロボットでは、様々な要因により、駆動軸の角度指令値から算出される基準点の位置と、基準点が実際に位置決めされる位置との間に誤差が生じ得る。このため、ロボットへの指令値に対する基準点の理論上の位置と実際の位置との誤差を複数の誤差パラメータを用いて補償することが検討されている。
 多関節ロボットは、多数の誤差要因を有しており、それぞれの誤差要因について誤差パラメータを定めると、相当数の誤差パラメータが必要となる。また、各誤差パラメータは、独立して作用するものではなく、相互に関連して最終的な位置決め誤差に影響する。このような多数の誤差パラメータを全て未知変数とすると、極めて多くのロボットの姿勢について位置決め誤差を実測しなければ、誤差パラメータの値を算出することができない。そこで、多数の誤差パラメータの中から、予め設定された複数のパラメータ群の中から一群の誤差パラメータを選定することにより比較的少ない情報に基づいて誤差パラメータを算出し、算出した誤差パラメータが適切かどうかを実際の位置決め誤差に基づいて評価する処理を繰り返し行うことも提案されている(例えば、特許文献1参照)。
特開2020-40165号公報
 特許文献1の方法では、予め設定されるパラメータ群の適否が、算出される誤差パラメータの精度に大きく影響する。ロボットの使用態様により基準点の位置を正確に算出するために、寄与が大きい誤差パラメータは変化する。そのため、優先的に補正すべきパラメータ群を予め定めることは容易ではない。このため、より簡単にロボットの位置決め精度を向上できる技術が望まれる。
 本開示の一態様に係るロボット制御装置は、複数の駆動軸を有するロボットの末端の基準点の実際の位置を示す位置情報を取得する位置情報取得部と、前記ロボットに対する指令値から前記基準点の正確な位置を算出するために用いられる複数の誤差パラメータを記憶するパラメータ記憶部と、前記誤差パラメータごとに、その変化量に対する前記基準点の計算上の位置の変化量の大きさを表す感度値を算出する感度算出部と、前記感度値に基づいて、前記パラメータ補正部が補正対象とする前記誤差パラメータを選定する対象選定部と、前記補正対象以外の前記誤差パラメータが前記基準点の位置に影響しないものとして、前記ロボットに対する指令値及び前記位置情報に基づいて前記補正対象の前記誤差パラメータを補正するパラメータ補正部と、を備える。
 本開示に係るロボット制御装置によれば、比較的簡単にロボットの位置決め精度を向上できる。
本開示のロボット制御装置を備えるロボットシステムの構成を示す図である。 ロボットの駆動軸の位置と基準点の姿勢との関係を説明するモデルを示す図である。 図1のロボット制御装置における誤差パラメータの補正の手順を示すフローチャートである。
 以下、本開示の実施形態について図面を参照しながら説明する。図1は、本開示のロボット制御装置1を備えるロボットシステムSの構成を示す図である。
 ロボットシステムSは、ロボット制御装置1に従って動作するロボット2により、ワークWを加工する。ロボットシステムSは、ロボット制御装置1と、ロボット制御装置1に制御されるロボット2と、ロボット2の末端の基準点の3次元位置を測定する3次元計測装置3と、を備える。ロボット2は、複数の駆動軸を有する。ロボット2の末端には、ツールTを保持する加工ヘッド21が配設される。
 ロボット制御装置1は、パラメータ記憶部11と、指令値生成部12と、位置情報取得部13と、感度算出部14と、対象選定部15と、パラメータ補正部16と、評価部17と、重み決定部18と、プログラム生成部19と、を備える。
 ロボット制御装置1は、CPU、メモリ等を有するコンピュータ装置に適切な制御プログラムを導入することによって実現することができる。前記各構成要素は、ロボット制御装置1の機能を類別したものであって、その機能及びプログラム構造において明確に区分できるものでなくてもよい。
 パラメータ記憶部11は、ロボット2の各駆動軸のあるべき位置又は速度を指示する指令値から、ロボット2の基準点の正確な位置を算出するために用いられる複数の誤差パラメータを記憶する。誤差パラメータは、ロボット2の各駆動軸の角度及び駆動軸間の距離等によって算出される基準点の理論上の位置(理論位置)と、ロボット2の機械的な誤差によって生じる基準点の実際の位置(実際位置)との差を補償するために設定される。
 基準点の理論上の位置は、ロボットの順運動学により算出される。隣り合う関節軸間の相対関係を表すためのDenavit-Hartenbergパラメータ(D-Hパラメータ)を用いて計算することが有名である。図2に示す例では、xi-1軸からx軸の位置(x,y,z)を算出するにあたり、まずzi-1軸回りにθ回転し、次にzi-1軸に沿ってd並進し、次に回転後のxi-1軸に沿ってa並進し、次にx軸まわりにα回転し、次にy軸まわりにβ回転することで、x軸の位置を得る。上記θ,d,a,α,βの意味は以下の通りで、各値はロボットの設計値として与えられえる。
  θ: xi-1軸からx軸までの回転角(zi-1軸まわり)
  d: 第i-1座標系原点から、zi-1軸とxi-1軸との交点までの距離
  a: zi-1軸とx軸との交点から、第i座標系原点までの距離
  α: zi-1軸からz軸までの回転角(x軸まわり)
  β: zi-1軸からz軸までの回転角(y軸まわり)
 しかしながら設計値と実際のロボットでは誤差が生じており、上記5つの設計値に対して5つの誤差パラメータを要する。θは、各軸を駆動するエンコーダ出力に対する回転量であるが、その基準位置が補正要素である。結局のところ、6軸多関節ロボットでは、6軸×5=30個の誤差パラメータがDHパラメータの補正に必要である。
 さらに、各軸のx,y,z軸まわりに生じる重力トルクに対する、各軸の撓みを補正する場合、各軸に3つのバネ定数を誤差パラメータとして持ち、重力トルク×バネ定数を上記θ,α,βに補正量として加算する。
 さらに、各軸を駆動するエンコーダ出力に対する回転量は、エンコーダ出力(x)に対する回転量(y)の比(a)を誤差パラメータとして持つ(y=ax)、或いはエンコーダ出力と回転量の関係を角度伝達誤差のモデルとして定式化(y=ax+bcos(x))し、角度伝達に関する複数の誤差パラメータを持ち、上記θ,α,βに加算して補正することも考えられる。
 指令値生成部12は、プログラムに従って、工具Tを所定の軌跡に沿って移動させてワークWを加工するよう、ロボット2の各駆動軸のあるべき位置又は速度を指示する指令値を生成する。つまり、指令値生成部12は、パラメータ記憶部11に記憶されている誤差パラメータを用いて算出される位置が、プログラムにおいて要求される位置となるような指令値を生成する。
 位置情報取得部13は、ロボット2の末端の基準点の実際の位置として測定される位置(測定位置)を示す位置情報を取得する。典型的には、位置情報は、3次元計測装置3から取得され得る。また、位置情報は、オペレータによる正しい位置の教示動作から算出することによって取得されてもよい。具体的には、位置情報取得部13は、指令値から誤差パラメータを用いて算出される基準点の計算上の位置(計算位置)と、オペレータが基準点を指令値によって位置決めされた位置から移動させた量とに基づいて、基準点の測定位置を算出してもよい。
 感度算出部14は、誤差パラメータごとに、その変化量に対する基準点の計算上の位置の変化量の大きさ(感度)を表す感度値を算出する。感度値は、独立した評価点であってもよく、順位であってもよく、感度をグループ分けしたランク値であってもよい。
 前述の誤差パラメータを要素とするベクトルをqとすると、ロボット先端部の三次元位置を示すベクトルpは、前述の誤差モデルを考慮した関数fを用いて次のように表すことができる。
  p=f(q)
  ロボット先端部の指令位置と測定位置のずれ量を示すベクトルΔpは、各誤差パラメータの微小変動の線形結合の和で近似できる。なお、JAはヤコビアンである。
  Δp=(∂p/∂q)・Δq=JA・Δq
 レーザトラッカは3次元の測定であるから、一つの計測姿勢から3つの方程式が成り立つ。これらを複数の計測姿勢に拡張すると、これらに対応したズレ量を示すベクトルΔrとヤコビアンDが得られ、次のように表すことができる。
  Δr=D・Δq
 Δrを最小とする繰り返し推定問題を解くことで、誤差パラメータを同定するのが一般的である。
 方程式の数をN、誤差パラメータの数をM個とすると、上記ヤコビアンDは、以下のように与えられる。
Figure JPOXMLDOC01-appb-M000001
 Dのそれぞれの要素は、n番目の計測において、誤差パラメータを微小変化させた際の、先端位置のずれ量を表している。Dの列ベクトルが各誤差パラメータに対応する感度ベクトルである。この感度ベクトルの要素の絶対値の最大値や、最大値―最小値、或いはベクトルの大きさを感度の指標として用いることができる。例えば、J1軸のZ軸回りのバネが1列目の誤差パラメータであった場合、各計測姿勢においてJ1軸のZ軸トルクの変化が非常に微小な場合、1列目の絶対値の最大値、最大値―最小値、或いはベクトルの大きさは、他の列に比べて非常に小さな値になる。このような場合は、誤差パラメータ群から除外する。
 方程式の数が未知数の数より多い場合、一般的な最小二乗問題は、[D]{p}={q}を[D][D]{p}=[D]{q}と変換し、次の式を得ることによって解くことができる。
Figure JPOXMLDOC01-appb-M000002
 [D][D]はM×Mの行列になる。この列ベクトルを感度ベクトルとして定義し、指標化してもよい。
 さらに、[D][D]の各列ベクトルの内積をとることで、誤差パラメータ間の従属度を判定することができる。例えば、J1軸のZ軸回りのバネが1番目の誤差パラメータで、2番目がJ1軸のエンコーダ値と回転角の比に関する誤差パラメータであった場合、各計測姿勢においてエンコーダ値の変化と、J1軸のZ軸回りのトルクの変化が比例関係にあった場合、1列目と2列目のベクトルの内積は1になる。この場合も誤差パラメータ群から除外する方がよい。
 或いは、[D][D]の、最大固有値と最小固有値の比が、ある一定値になるまで固有値の小さな誤差パラメータを、誤差パラメータ群から除外するとしてもよい。
 ヤコビアンDは、測定により位置情報を得る前に計算することができるので、測定開始前に事前にどの誤差パラメータが計算されるかわかる。例えば計算可能な誤差パラメータが非常に少ない場合、期待できる実現精度は低いと考えられ、その場合は測定する姿勢数を増やす検討を事前に実施することができる。
 対象選定部15は、感度算出部14が算出した感度値に基づいて、パラメータ補正部16が算出対象とする誤差パラメータを選定する。対象選定部15は、感度値が上位の一定数の誤差パラメータを選出してもよく、感度が一定以上であるものを選出してもよく、例えば加工プログラム等に基づいて得られる位置情報の数に応じて選出する誤差パラメータの数を増減してもよい。
 対象選定部15は、誤差パラメータ毎に設定される重みと、感度算出部14が算出した感度値とに基づいて、算出対象の誤差パラメータを選定してもよい。感度算出部14が算出した感度値に重み付けを行うことによって、位置情報を取得した状態での影響が大きい誤差だけでなく、ロボット2の構造上影響が大きいと予測される誤差パラメータについて補正の優先順位を上げ、より迅速に適切な誤差パラメータを得ることができる。
 パラメータ補正部16は、指令値生成部12が出力したロボット2に対する指令値及び位置情報取得部13が取得した位置情報に基づいて、誤差パラメータを補正する。このとき、パラメータ補正部16は、対象選定部15が選定した補正対象以外の誤差パラメータがロボット2の基準点の位置に影響しないものとして、補正対象の誤差パラメータだけを補正する。
 現実のロボット2は、非常に複雑な機構を有するため、全ての誤差要因を反映するためには、極めて多数の誤差パラメータを用いる必要がある。また、加工ヘッド21の構成、ロボット2の動作パターン等、様々な要因が発生する位置決め誤差に影響するため、適切な誤差パラメータの値は、加工の態様、加工のためのプログラムの構成等に応じて変化し得る。このため、全ての誤差パラメータの正確な値を算出するためには、多様な動作パターンでロボット2を位置決め動作させ、数多くの位置情報を取得する必要がある。例えばロボット2が6軸多関節型ロボットであれば、必要な指令値と位置情報との組み合わせの数は100を超える。
 そこで、パラメータ補正部16は、対象選定部15により選択された一部の誤差パラメータだけを算出対象である未知変数とし、それ以外の誤差パラメータが不変(現在の値で一定)であるものとして、指令値と基準点の実際の位置(実際位置)との関係を解析することにより、指令値から実際の基準点の位置をより正確に算出できるよう、対象選定部15が選択した誤差パラメータの値を補正する。これにより、比較的少数の位置情報によって、必ずしも厳密ではないが、ロボット2の基準点の位置を比較的正確に特定できる誤差パラメータのセットを得ることができる。
 ロボット制御装置1では、感度算出部14、対象選定部15及びパラメータ補正部16が、前記位置情報ごとに演算を行ってもよい。つまり、位置情報取得部13が位置情報を取得する度に、感度算出部14による感度値の再計算と、対象選定部15による補正対象の選定し直しと、パラメータ補正部16による誤差パラメータの補正と、を行ってもよい。これにより、段階的に誤差パラメータを補正して、確実に誤差パラメータを適切化できる。
 評価部17は、指令値生成部12が出力したロボット2に対する指令値から算出される基準点の位置と位置情報取得部13が取得した位置情報が示す基準点の位置とのずれが所定範囲内であるか否かを判定する。評価部17がロボット2の基準点の指令位置から算出される基準点の位置と実測位置とのずれが所定範囲内であると判断した場合に、段階的に誤差パラメータを補正する繰り返し処理を停止することで、効果的な誤差パラメータのセットを得るまでにかかる時間を短縮できる。誤差パラメータの補正は、例えばロボットシステムSの運転停止、加工プログラムの変更、非常停止等の所定の事象が発生した場合に再開してもよい。
 重み決定部18は、ロボット2に対して行った保守作業の内容に応じて重みを決定する。このため、重み決定部18は、オペレータによる保守作業の内容の入力を受け付けるよう構成され得る。例えばモータを交換した場合、交換したモータに関する誤差要因が変化し得るので、関連する誤差パラメータを大きく修正する必要が生じ得る。このように、保守作業により修正が必要となる可能性が高い誤差パラメータの感度値の重みを大きくすることによって、保守作業による位置決め誤差を迅速に補償することができる。誤差パラメータの感度値の重みは、各測定データ毎に持ち、保守作業前と後で重みを切り替えることで保守作業前後の計測データを用いて、保守作業後のロボットの機構誤差パラメータを計算する、としてもよい。
 プログラム生成部19は、ロボット2を用いて加工を行うために与えられる加工プログラムに、位置情報取得部13により位置情報を取得するための命令を付加した校正プログラムを生成する。つまり、ロボットシステムSは、校正プログラムに従って、加工を行いながら誤差パラメータの算出を行うことができる。これにより、実際の加工動作の中で感度値を決定して補正対象を選択するので、位置決め精度ひいては加工精度を確実に向上できる。
 ロボット2は、典型的には垂直多関節型ロボットであるが、スカラー型ロボット、パラレルリンク型ロボット、直交座標型ロボット等であってもよい。ロボット2は、末端に、3次元計測装置3が認識できるマーカを有してもよい。
 ロボット2の加工ヘッド21は、例えば回転切削工具等のツールTを保持し、ツールTを駆動(例えば回転)する駆動機構を有しえる。また、加工ヘッド21はレーザ加工ヘッド等であってもよい。
 3次元計測装置3としては、例えばレーザ等を用いて物体の表面の3次元形状を測定する装置を用いることができる。
 図3に、ロボット制御装置1による誤差パラメータの補正の手順を示す。誤差パラメータの補正は、位置決め工程(ステップS1)と、感度値算出工程(ステップS4)と、補正対象選定工程(ステップS5)と、位置情報取得工程(ステップS2)と、パラメータ補正工程(ステップS6)と、評価工程(ステップS3)と、を備える方法によって行われる。
 ステップS1の位置決め工程において、指令値生成部12は、プログラム生成部19が生成した校正プログラムに従ってロボット2を位置決めする指令値を生成する。
 ステップS2の感度値算出工程において、感度算出部14は、指令値及び位置情報に基づいて全ての誤差パラメータについて、それぞれ感度値を算出する。
 ステップS3の補正対象選定工程において、対象選定部15は、感度値が上位の誤差パラメータを補正対象として選定する。
 ステップS4の位置情報取得工程において、位置情報取得部13は、ロボット2の基準点の位置情報を取得、つまり基準点の3次元位置を測定する。
 ステップS5のパラメータ補正工程において、パラメータ補正部16は、計算位置を実測位置に近付けるよう、補正対象選定工程で選定した誤差パラメータを補正、つまりパラメータ記憶部11に記憶されている誤差パラメータの値を修正する。
 ステップS6の評価工程において、評価部17は、現在パラメータ記憶部11に記憶されている誤差パラメータを用いて指令値生成部12が生成した指令値から算出されるロボット2の基準点の計算位置と、位置情報取得部13が取得した位置情報が示す基準点の実測位置とのずれが、所定の範囲内であるかどうかを確認する。計算位置と実測位置とのずれが所定の範囲内であれば、パラメータ記憶部11に記憶されている誤差パラメータが適切であると考えられるので、この処理を終了する。計算位置と実測位置とのずれが所定の範囲内でなければ、ステップS1に戻って上述の工程を繰り返す。ステップS1に戻って、新しい位置情報を取得して誤差パラメータのさらなる補正を行うことで、誤差パラメータをより適切な値に修正し、ロボットの位置決め精度を徐々に向上できる。
 以上のように、ロボット制御装置1は、対象選定部15が選定した感度値が少数の誤差パラメータだけを補正の対象とするため、比較的少ない数の位置情報によって比較的正確な誤差パラメータを得ることができる。つまり、ロボット制御装置1は、比較的簡単にロボット2の位置決め精度を向上できる。
 以上、本開示に係るロボット制御装置の実施形態について説明したが、本開示の範囲は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本開示に係るロボット制御装置から生じる最も好適な効果を列挙したに過ぎず、本開示に係るロボット制御装置による効果は、前述の実施形態に記載されたものに限定されるものではない。
 本開示に係るロボット制御装置において、評価部、重み決定部及びプログラム生成部は任意の構成であって、省略してもよい。
 本開示に係るロボット制御装置は、加工ヘッドを有するロボットの制御に限られず、例えばワークをハンドリングするロボット等にも適用できる。
 1 ロボット制御装置
 11 パラメータ記憶部
 12 指令値生成部
 13 位置情報取得部
 14 感度算出部
 15 対象選定部
 16 パラメータ補正部
 17 評価部
 18 重み決定部
 19 プログラム生成部
 2 ロボット
 21 加工ヘッド
 3 3次元計測装置
 S ロボットシステム
 T ツール
 W ワーク

Claims (7)

  1.  複数の駆動軸を有するロボットの末端の基準点の実際の位置を示す位置情報を取得する位置情報取得部と、
     前記ロボットに対する指令値から前記基準点の正確な位置を算出するために用いられる複数の誤差パラメータを記憶するパラメータ記憶部と、
     前記誤差パラメータごとに、その変化量に対する前記基準点の計算上の位置の変化量の大きさを表す感度値を算出する感度算出部と、
     前記感度値に基づいて、補正対象とする前記誤差パラメータを選定する対象選定部と、
     前記補正対象以外の前記誤差パラメータが前記基準点の位置に影響しないものとして、前記ロボットに対する指令値及び前記位置情報に基づいて前記補正対象の前記誤差パラメータを補正するパラメータ補正部と、
    を備える、ロボット制御装置。
  2.  前記誤差パラメータを用いて計算される前記基準点の位置と前記位置情報が示す前記基準点の位置とのずれが所定範囲内であるか否かを判定する評価部をさらに備え、
     前記感度算出部、前記対象選定部及び前記パラメータ補正部は、前記位置情報ごとに演算を行う、請求項1に記載のロボット制御装置。
  3.  前記指令値から算出される前記基準点の位置と前記位置情報が示す前記基準点の位置とのずれが、所定範囲内であるか否かを判定する評価部を備え、前記感度算出部、前記対象選定部及び前記パラメータ補正部は、前記位置情報ごとに演算を行い、前記評価部により前記ずれが前記所定範囲内であると判定された場合に、処理を停止する、請求項1に記載のロボット制御装置。
  4.  前記位置情報取得部は、前記指令値から算出される前記基準点の位置と、オペレータが前記基準点を前記指令値によって位置決めされた位置から移動させた量と、に基づいて、前記基準点の実際の位置を算出する、請求項1から3のいずれかに記載のロボット制御装置。
  5.  前記ロボットを用いて加工を行うための加工プログラムに、前記位置情報取得部により前記位置情報を取得するための命令を付加した校正プログラムを生成するプログラム生成部をさらに備え、
     前記校正プログラムに従って、前記加工を行いながら前記誤差パラメータの算出を行う、請求項1から4のいずれかに記載のロボット制御装置。
  6.  前記対象選定部は、前記誤差パラメータ毎に設定される重みと、前記感度値とに基づいて、前記誤差パラメータを順位付けする、請求項1から5のいずれかに記載のロボット制御装置。
  7.  前記ロボットに対して行った保守作業の内容に応じて前記重みを決定する重み決定部をさらに備える、請求項6に記載のロボット制御装置。
PCT/JP2021/027744 2020-07-29 2021-07-27 ロボット制御装置 WO2022025060A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US18/001,448 US20230234225A1 (en) 2020-07-29 2021-07-27 Robot controller
JP2022539497A JP7436675B2 (ja) 2020-07-29 2021-07-27 ロボット制御装置
CN202180060326.1A CN116133797A (zh) 2020-07-29 2021-07-27 机器人控制装置
DE112021003153.8T DE112021003153T5 (de) 2020-07-29 2021-07-27 Robotersteuerung

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020127989 2020-07-29
JP2020-127989 2020-07-29

Publications (1)

Publication Number Publication Date
WO2022025060A1 true WO2022025060A1 (ja) 2022-02-03

Family

ID=80036625

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/027744 WO2022025060A1 (ja) 2020-07-29 2021-07-27 ロボット制御装置

Country Status (5)

Country Link
US (1) US20230234225A1 (ja)
JP (1) JP7436675B2 (ja)
CN (1) CN116133797A (ja)
DE (1) DE112021003153T5 (ja)
WO (1) WO2022025060A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111381556A (zh) * 2018-12-29 2020-07-07 鸿富锦精密电子(成都)有限公司 加工设备误差补正方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0631665A (ja) * 1992-07-14 1994-02-08 Nippon Steel Corp ロボット動作誤差の自動矯正方法および装置
JPH08141950A (ja) * 1994-11-15 1996-06-04 Nippon Telegr & Teleph Corp <Ntt> 多関節構造ロボットのキャリブレーション方法
JP2020040165A (ja) * 2018-09-11 2020-03-19 ファナック株式会社 ロボットのキャリブレーションシステムおよびキャリブレーション方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0631665A (ja) * 1992-07-14 1994-02-08 Nippon Steel Corp ロボット動作誤差の自動矯正方法および装置
JPH08141950A (ja) * 1994-11-15 1996-06-04 Nippon Telegr & Teleph Corp <Ntt> 多関節構造ロボットのキャリブレーション方法
JP2020040165A (ja) * 2018-09-11 2020-03-19 ファナック株式会社 ロボットのキャリブレーションシステムおよびキャリブレーション方法

Also Published As

Publication number Publication date
JP7436675B2 (ja) 2024-02-22
JPWO2022025060A1 (ja) 2022-02-03
DE112021003153T5 (de) 2023-04-27
US20230234225A1 (en) 2023-07-27
CN116133797A (zh) 2023-05-16

Similar Documents

Publication Publication Date Title
US10824131B2 (en) Kinematic calibration
JP6295070B2 (ja) 多軸工作機械の幾何誤差同定方法及び多軸工作機械
JP4275632B2 (ja) パラレルメカニズム機構のキャリブレーション方法、キャリブレーションの検証方法、キャリブレーションの検証プログラム、データ採取方法及び空間位置補正における補正データ採取方法
KR100986669B1 (ko) 로봇 캘리브레이션 장치 및 그 방법
KR101200961B1 (ko) 평행 운동학적 기계, 평행 운동학적 기계의 교정 방법, 및교정 프로그램 제품
US6345213B1 (en) Control method for an industrial robot
TWI754888B (zh) 校準方法及校準系統
KR101797122B1 (ko) 이동형 3차원 좌표 측정기(cmm)의 에러 측정 및 보상 방법
JP2012040634A (ja) 力制御ロボットのキャリブレーション装置と方法
US11673275B2 (en) Through-beam auto teaching
US20220105640A1 (en) Method Of Calibrating A Tool Of An Industrial Robot, Control System And Industrial Robot
WO2022025060A1 (ja) ロボット制御装置
JP2003191186A (ja) ロボット教示データの補正方法
JP7401682B2 (ja) ロボットシステム
JP2018511046A (ja) 寸法計測装置の較正
JP5667437B2 (ja) ロボットの外部軸の計測方法、ロボットの教示データ作成方法、およびロボットのコントローラ
CN109968347B (zh) 一种七轴机器人的零位标定方法
Fraczek et al. Calibration of multi-robot system without and under load using electronic theodolites
English et al. Kinematic calibration of six-axis robots
JPH08141950A (ja) 多関節構造ロボットのキャリブレーション方法
JPH08174453A (ja) ロボット装置における位置決め誤差の計測装置および位置決め誤差の補正方法
Lounici et al. Tool Positioning Error Minimization during Robotic Milling Based on the Genetic Algorithm Technique
WO2024023301A1 (en) Coordinate positioning machine
Costa et al. Calibration and precision manufacturing
Gan et al. Robot kinematic calibration

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21850260

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022539497

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 21850260

Country of ref document: EP

Kind code of ref document: A1