JP2018001331A - Correction device, correction method, and correction program - Google Patents

Correction device, correction method, and correction program Download PDF

Info

Publication number
JP2018001331A
JP2018001331A JP2016130802A JP2016130802A JP2018001331A JP 2018001331 A JP2018001331 A JP 2018001331A JP 2016130802 A JP2016130802 A JP 2016130802A JP 2016130802 A JP2016130802 A JP 2016130802A JP 2018001331 A JP2018001331 A JP 2018001331A
Authority
JP
Japan
Prior art keywords
arm robot
positional deviation
correction
sensor
series data
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
JP2016130802A
Other languages
Japanese (ja)
Other versions
JP6729084B2 (en
Inventor
村上 亮
Ryo Murakami
亮 村上
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016130802A priority Critical patent/JP6729084B2/en
Publication of JP2018001331A publication Critical patent/JP2018001331A/en
Application granted granted Critical
Publication of JP6729084B2 publication Critical patent/JP6729084B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a correction device, a correction method, and a correction program which can correct positional deviation with simple processing.SOLUTION: A correction device includes: a sensor which detects a prescribed position of an arm robot in a prescribed posture or a prescribed position of an article held by an arm robot in the prescribed position; an estimation section which estimates positional deviation amount in the prescribed posture using time series data of the position detected by the sensor when the arm robot takes the prescribed posture; and a correction section which corrects positional deviation of the arm robot on the basis of the positional deviation amount estimated by the estimation section.SELECTED DRAWING: Figure 1

Description

本件は、補正装置、補正方法および補正プログラムに関する。   This case relates to a correction apparatus, a correction method, and a correction program.

多関節ロボットが工業用ロボットとして用いられている。工業用ロボットは、工具や部品などの物品の先端位置を高精度に決めてから使用される。しかしながら、稼働中に自身の発熱、環境熱などの影響により、リンク部分が熱膨張を起こすことがある。この場合、位置決めした物品先端に位置ずれが生じる。そこで、物品先端の位置ずれを補正する技術が開示されている。   Articulated robots are used as industrial robots. Industrial robots are used after the tip position of an article such as a tool or part is determined with high accuracy. However, the link portion may undergo thermal expansion during operation due to the influence of its own heat generation, environmental heat, and the like. In this case, a positional deviation occurs at the positioned article tip. Therefore, a technique for correcting the positional deviation of the article tip is disclosed.

例えば、温度をセンシングして、補正量を算出する技術が開示されている(例えば、特許文献1参照)。また、位置ずれが生じるたびに較正する技術が開示されている(例えば、特許文献2参照)。   For example, a technique for sensing a temperature and calculating a correction amount is disclosed (for example, see Patent Document 1). Further, a technique for calibrating each time a positional shift occurs is disclosed (for example, see Patent Document 2).

特開昭63−144980号公報JP-A 63-144980 特開平5−261686号公報JP-A-5-261686

しかしながら、工業用ロボットに温度センサを設けようとすると、コストがかかる。また、位置ずれが生じるたびに較正しようとすると、手間がかかる。   However, it is expensive to provide a temperature sensor for an industrial robot. In addition, it is troublesome to try to calibrate each time a positional deviation occurs.

1つの側面では、本発明は、簡易な処理で位置ずれを補正することができる補正装置、補正方法および補正プログラムを提供することを目的とする。   In one aspect, an object of the present invention is to provide a correction device, a correction method, and a correction program that can correct a positional shift with a simple process.

1つの態様では、補正装置は、所定姿勢におけるアームロボットの所定位置、または前記所定姿勢において前記アームロボットが把持する物品の所定位置を検出するセンサと、前記アームロボットが前記所定姿勢をとる場合に前記センサによって検出される位置の時系列データを用いて、前記所定姿勢における位置ずれ量を推定する推定部と、前記推定部が推定した位置ずれ量に基づいて、前記アームロボットの位置ずれを補正する補正部と、を備える。   In one aspect, the correction device includes a sensor that detects a predetermined position of the arm robot in a predetermined posture, or a predetermined position of an article that the arm robot holds in the predetermined posture, and the arm robot takes the predetermined posture. Using the time-series data of the positions detected by the sensors, an estimation unit that estimates the amount of positional deviation in the predetermined posture, and the positional deviation of the arm robot is corrected based on the amount of positional deviation estimated by the estimation unit. And a correction unit.

簡易な処理で位置ずれを補正することができる。   The positional deviation can be corrected with a simple process.

(a)はロボットシステムの全体構成を例示する図であり、(b)は演算部の機能ブロック図であり、(c)はロボットシステムにおける処理の流れを例示する図である。(A) is a figure which illustrates the whole structure of a robot system, (b) is a functional block diagram of a calculating part, (c) is a figure which illustrates the flow of a process in a robot system. アームロボットを例示する図である。It is a figure which illustrates an arm robot. 演算部に格納された時系列データを例示する図である。It is a figure which illustrates the time series data stored in the calculating part. (a)〜(c)はアームロボットの動作を例示する図である。(A)-(c) is a figure which illustrates operation | movement of an arm robot. ロボットシステムが実行する処理を例示するフローチャートである。It is a flowchart which illustrates the process which a robot system performs. (a)は演算部のハードウェア構成を説明するためのブロック図であり、(b)は変形例にかかる作業システムについて例示する図である。(A) is a block diagram for demonstrating the hardware constitutions of a calculating part, (b) is a figure which illustrates about the working system concerning a modification.

以下、図面を参照しつつ、実施例について説明する。   Hereinafter, embodiments will be described with reference to the drawings.

図1(a)は、ロボットシステム100の全体構成を例示する図である。図1(a)で例示するように、ロボットシステム100は、アームロボット10、制御部20、センサ30、演算部40などを備える。図1(b)は、演算部40の機能ブロック図である。図1(b)で例示するように、演算部40は、格納部41、推定部42、および補正値算出部43として機能する。   FIG. 1A is a diagram illustrating an overall configuration of the robot system 100. As illustrated in FIG. 1A, the robot system 100 includes an arm robot 10, a control unit 20, a sensor 30, a calculation unit 40, and the like. FIG. 1B is a functional block diagram of the calculation unit 40. As illustrated in FIG. 1B, the calculation unit 40 functions as a storage unit 41, an estimation unit 42, and a correction value calculation unit 43.

アームロボット10は、少なくとも1本のリンクを備えるロボットである。本実施例においては、一例として、アームロボット10は、1以上の関節によって複数のリンクが接続されたロボットである。制御部20は、アームロボット10の姿勢、動作などを制御する。センサ30は、所定姿勢におけるアームロボット10の所定位置、または当該所定姿勢においてアームロボット10が把持する物品50の所定位置を検出するセンサであり、例えばカメラである。物品50は、工具、部品などである。本実施例においては、一例として、センサ30は、アームロボット10が先端に把持する物品50の先端位置を検出する。演算部40は、アームロボットの位置ずれを補正するための演算を行う。   The arm robot 10 is a robot having at least one link. In this embodiment, as an example, the arm robot 10 is a robot in which a plurality of links are connected by one or more joints. The control unit 20 controls the posture and operation of the arm robot 10. The sensor 30 is a sensor that detects a predetermined position of the arm robot 10 in a predetermined posture or a predetermined position of the article 50 held by the arm robot 10 in the predetermined posture, for example, a camera. The article 50 is a tool, a part, or the like. In the present embodiment, as an example, the sensor 30 detects the tip position of the article 50 that the arm robot 10 grips at the tip. The calculation unit 40 performs a calculation for correcting the positional deviation of the arm robot.

図1(c)は、ロボットシステム100における処理の流れを例示する図である。図1(c)で例示するように、制御部20は、アームロボット10に制御データを送信することで、アームロボット10の動作を制御する。センサ30は、所定姿勢においてアームロボット10が把持する物品50の先端位置をセンサ値として検出する。例えば、Time of Flight法、ステレオビジョン法などを用いることができる。検出されたセンサ値は、演算部40に送信される。   FIG. 1C is a diagram illustrating a process flow in the robot system 100. As illustrated in FIG. 1C, the control unit 20 controls the operation of the arm robot 10 by transmitting control data to the arm robot 10. The sensor 30 detects the tip position of the article 50 held by the arm robot 10 in a predetermined posture as a sensor value. For example, a Time of Flight method, a stereo vision method, or the like can be used. The detected sensor value is transmitted to the calculation unit 40.

格納部41は、受信したセンサ値を格納する。推定部42は、格納したセンサ値に基づいて、アームロボット10の位置ずれ量を推定する。補正値算出部43は、推定された位置ずれ量に基づいて、位置ずれを抑制するための補正値を算出し、制御部20に送信する。制御部20は、受信した補正値に基づいて、アームロボット10の位置ずれを補正するための制御データをアームロボット10に送信する。   The storage unit 41 stores the received sensor value. The estimation unit 42 estimates the positional deviation amount of the arm robot 10 based on the stored sensor value. The correction value calculation unit 43 calculates a correction value for suppressing the positional deviation based on the estimated positional deviation amount, and transmits the correction value to the control unit 20. The control unit 20 transmits control data for correcting the positional deviation of the arm robot 10 to the arm robot 10 based on the received correction value.

図2は、アームロボット10を例示する図である。図2で例示するように、本実施例に係るアームロボット10は、複数のリンク11が、関節12によって接続された構造を有する多関節ロボットである。アームロボット10は、天井、床、壁などの固定箇所(ベース)に固定されている。リンクとは、アームロボット10を構成する非変形部分のことである。ベースに接続されたリンクのリンク長は、ベースから関節までの長さである。関節と関節との間に接続されたリンクのリンク長は、関節から関節までの長さである。先端のリンクのリンク長は、関節から先端までの長さである。先端のリンクが物品50を把持している場合には、先端のリンクのリンク長は、関節から物品50の所定位置(例えば先端)までとしてもよい。   FIG. 2 is a diagram illustrating the arm robot 10. As illustrated in FIG. 2, the arm robot 10 according to the present embodiment is an articulated robot having a structure in which a plurality of links 11 are connected by joints 12. The arm robot 10 is fixed to a fixed portion (base) such as a ceiling, a floor, or a wall. The link is a non-deformable part that constitutes the arm robot 10. The link length of the link connected to the base is the length from the base to the joint. The link length of the link connected between the joints is the length from the joint to the joint. The link length of the tip link is the length from the joint to the tip. When the tip link holds the article 50, the link length of the tip link may be from a joint to a predetermined position (for example, the tip) of the article 50.

図2で例示するように、アームロボット10の先端位置pE,0は、ベースを原点とし、リンクの長さおよびリンクの向きを持ったベクトルpi+1,iの和で表すことができる。本実施例においては、先端位置PE,0は、物品50の先端位置である。iは、ベース側から割り振られたリンクの番号のことである。すなわち、先端位置pE,0は、下記式(1)で表すことができる。

Figure 2018001331
As illustrated in FIG. 2, the tip position p E, 0 of the arm robot 10 can be represented by the sum of vectors p i + 1, i having the base as the origin and the link length and link direction. In the present embodiment, the tip position PE, 0 is the tip position of the article 50. i is the number of the link allocated from the base side. That is, the tip position p E, 0 can be expressed by the following formula (1).
Figure 2018001331

アームロボット10自身の発熱、環境熱などに応じてアームロボット10に温度変化が生じると、リンク長が変化する。例えば、温度変化値をΔTとし、i番目のリンクの線膨張率をαとすると、i番目のリンクのベクトルpi+1,iは、下記式(2)のように変化する。

Figure 2018001331
When a temperature change occurs in the arm robot 10 in accordance with the heat generated by the arm robot 10 itself, environmental heat, or the like, the link length changes. For example, when the temperature change value is ΔT and the linear expansion coefficient of the i-th link is α i , the i-th link vector p i + 1, i changes as shown in the following equation (2).
Figure 2018001331

このように、アームロボット10に温度変化が生じると、先端位置にずれが生じる。この場合、アームロボット10による作業に不具合が生じるおそれがある。したがって、アームロボット10の位置ずれを補正することが好ましい。上記式(2)によれば、伸長率Δa(=αΔT)を推定できれば、位置ずれ量を推定することができる。そこで、本実施例においては、伸長率Δaを推定することで、アームロボット10の位置ずれを補正する。 Thus, when the temperature change occurs in the arm robot 10, the tip position is displaced. In this case, a problem may occur in the work performed by the arm robot 10. Therefore, it is preferable to correct the position shift of the arm robot 10. According to the above formula (2), if the expansion rate Δa i (= α i ΔT i ) can be estimated, the positional deviation amount can be estimated. Therefore, in this embodiment, by estimating the elongation rate .DELTA.a i, to correct the positional displacement of the arm robot 10.

具体的には、センサ30は、ワーク60に対する物品50の勘合前の予め定められた姿勢における、物品50の先端位置を検出する。センサ30は、アームロボット10が当該姿勢をとるたびに、物品50の先端位置を検出する。演算部40は、検出された物品50の先端位置の時系列データを格納する。図3は、演算部40に格納された時系列データを例示する図である。図3で例示するように、時系列データにおいては、物品50の先端位置が時間(t_1,t_2、…)に関連付けられている。   Specifically, the sensor 30 detects the tip position of the article 50 in a predetermined posture before fitting the article 50 to the workpiece 60. The sensor 30 detects the tip position of the article 50 every time the arm robot 10 takes the posture. The calculation unit 40 stores time-series data of the detected tip position of the article 50. FIG. 3 is a diagram illustrating time-series data stored in the calculation unit 40. As illustrated in FIG. 3, in the time series data, the tip position of the article 50 is associated with time (t_1, t_2,...).

次に、演算部40は、格納した時系列データから伸長率Δaを推定し、各リンクのリンク長を推定する。次に、演算部40は、推定したリンク長から物品50の先端位置の補正値を算出する。次に、制御部20は、算出された補正値に基づいて、アームロボット10の動作や姿勢を補正することで、位置ずれを補正する。以下、詳細について説明する。 Next, the computing unit 40 estimates the expansion rate Δa i from the stored time series data and estimates the link length of each link. Next, the calculation unit 40 calculates a correction value for the tip position of the article 50 from the estimated link length. Next, the control unit 20 corrects the positional deviation by correcting the operation and posture of the arm robot 10 based on the calculated correction value. Details will be described below.

図4(a)〜図4(c)は、アームロボット10の動作を例示する図である。図4(a)で例示するように、アームロボット10の先端に設けられた把持部が、物品50を把持する(動作1)。次に、図4(b)で例示するように、アームロボット10は、物品50をセンサ30の前に移動させて所定姿勢をとる(動作2)。センサ30は、アームロボットが当該所定姿勢で停止した後、物品50の先端位置を検出する。次に、図4(c)で例示するように、アームロボット10は、物品50をワーク60に勘合する(動作3)。図4(a)〜図4(c)を繰り返すことにより、物品50の先端位置の時系列データを取得することができる。   FIG. 4A to FIG. 4C are diagrams illustrating the operation of the arm robot 10. As illustrated in FIG. 4A, the gripping portion provided at the tip of the arm robot 10 grips the article 50 (Operation 1). Next, as illustrated in FIG. 4B, the arm robot 10 moves the article 50 in front of the sensor 30 and takes a predetermined posture (operation 2). The sensor 30 detects the tip position of the article 50 after the arm robot stops at the predetermined posture. Next, as illustrated in FIG. 4C, the arm robot 10 engages the article 50 with the workpiece 60 (operation 3). By repeating FIG. 4A to FIG. 4C, time series data of the tip position of the article 50 can be acquired.

ここで、制御部20は、センサ30で物品50の先端位置pE,0を検出する場合に、アームロボット10の姿勢が上記所定姿勢となるように、アームロボット10を制御する。すなわち、センサ30で物品50の先端位置pE,0を検出すると、上記式(1)で表される先端位置pE,0は、変動しないはずである。しかしながら、アームロボット10に温度変化が生じると、先端位置pE,0にずれが生じるようになる。この場合の位置ずれ量ΔpE,0は、下記式(3)で表すことができる。

Figure 2018001331
Here, the control unit 20 controls the arm robot 10 so that the posture of the arm robot 10 becomes the predetermined posture when the tip position p E, 0 of the article 50 is detected by the sensor 30. That is, when detecting the tip position p E, 0 of the article 50 by the sensor 30, tip position p E, 0 represented by the above formula (1) should not change. However, when a temperature change occurs in the arm robot 10, the tip position pE , 0 is shifted. The positional deviation amount Δp E, 0 in this case can be expressed by the following formula (3).
Figure 2018001331

伸長率Δaは、時間t、i番目のリンクにおける熱の発生時刻t、係数A、および熱伝達率τの関数である。すなわち、伸長率Δaは、熱の発生に係るパラメータの関数である。伸長率Δaは、下記式(4)のように表すことができる。時間tは説明変数であるため、推定すべき値は、熱の発生時刻t、係数A、および熱伝達率τである。なお、熱が発生するまでは伸長率Δaに変化が生じないため、t<tではΔaはゼロである。

Figure 2018001331
The expansion rate Δa i is a function of the time t, the heat generation time t i in the i-th link, the coefficient A i , and the heat transfer coefficient τ i . That is, the elongation rate Δa i is a function of a parameter related to heat generation. The elongation rate Δa i can be expressed as the following formula (4). Since time t is an explanatory variable, the values to be estimated are the heat generation time t i , the coefficient A i , and the heat transfer coefficient τ i . Note that since the expansion rate Δa i does not change until heat is generated, Δa i is zero at t <t i .
Figure 2018001331

位置ずれ量ΔpE,0の時系列データに対する残差平方和Eは、下記式(5)のように表すことができる。この残差平方和Eに対する非線形最小二乗法により、熱の発生時刻t、係数A、および熱伝達率τを推定することができる。なお、「n」は、リンク数を表す。「N」は時系列データ数である。

Figure 2018001331
The residual sum of squares E with respect to the time series data of the positional deviation amount Δp E, 0 can be expressed as the following equation (5). The heat generation time t i , the coefficient A i , and the heat transfer coefficient τ i can be estimated by the nonlinear least square method for the residual sum of squares E. “N” represents the number of links. “N” is the number of time series data.
Figure 2018001331

なお、上記の非線形最小二乗法をナイーブに実行すると、熱の発生時刻t、係数A、および熱伝達率τ(i=0,1,2,…,n)を決定するために、十分な時系列データ数が必要となる。十分な時系列データ数が得られる前に位置ずれの補正が必要となる場合もあるため、時系列データ数に応じて熱の発生時刻t、係数A、および熱伝達率τの推定方法を場合分けしてもよい。 When the above nonlinear least squares method is executed in a naive manner, in order to determine the heat generation time t i , coefficient A i , and heat transfer coefficient τ i (i = 0, 1, 2,..., N), A sufficient number of time series data is required. In some cases, it is necessary to correct misalignment before a sufficient number of time-series data is obtained. Therefore, the heat generation time t i , the coefficient A i , and the heat transfer coefficient τ i are estimated according to the number of time-series data. The method may be divided into cases.

例えば、時系列データ数が1〜2の場合、全てのiでAを共通とし、τを無限大としてもよい。具体的には、Δa=Aとしてもよい。この場合、推定値が係数Aのみに限定される。すなわち、推定が必要なパラメータが1つになる。それにより、十分な時系列データ数が得られなくても推定誤差を抑制することができる。 For example, when the number of time-series data is 1 to 2, all i may have A i in common and τ i may be infinite. Specifically, Δa i = A may be set. In this case, the estimated value is limited only to the coefficient A. That is, one parameter needs to be estimated. Thereby, an estimation error can be suppressed even if a sufficient number of time-series data is not obtained.

次に、時系列データ数が3〜5の場合、全てのiで熱の発生時刻t、係数A、および熱伝達率τを共通としてもよい。推定値は3つであるが、各推定値は変動しないことが前提となるため、推定誤差を抑制することができる。 Next, when the number of time-series data is 3 to 5, the heat generation time t i , the coefficient A i , and the heat transfer coefficient τ i may be common to all i . Although there are three estimated values, since it is assumed that each estimated value does not fluctuate, an estimation error can be suppressed.

次に、時系列データ数が6〜8の場合、iの偶奇のそれぞれで、熱の発生時刻t、係数A、および熱伝達率τを共通としてもよい。次に、時系列データ数が9〜11の場合、iを3つのモードに3分割し、各モードで、熱の発生時刻t、係数A、および熱伝達率τを共通としてもよい。以下、同様に、時系列データ数が12〜14なら4分割、3n〜3n+2であればn分割してもよい。時系列データ数が3n+3以上となった場合に、熱の発生時刻t、係数A、および熱伝達率τ(i=0,1,2,…,n)を推定してもよい。 Next, when the number of time-series data is 6 to 8, the heat generation time t i , the coefficient A i , and the heat transfer coefficient τ i may be common for each of the even and odd of i . Next, when the number of time-series data is 9 to 11, i may be divided into three modes, and the heat generation time t i , the coefficient A i , and the heat transfer coefficient τ i may be shared in each mode. . Hereinafter, similarly, if the number of time-series data is 12 to 14, it may be divided into 4 and 3n to 3n + 2 may be divided into n. When the number of time-series data is 3n + 3 or more, the heat generation time t i , the coefficient A i , and the heat transfer coefficient τ i (i = 0, 1, 2,..., N) may be estimated.

このように、時系列データ数が少ないほど推定が必要なパラメータを少なくし、時系列データ数が多いほど推定が必要なパラメータを多くしてもよい。この場合、十分な時系列データが格納されていなくても、パラメータの推定誤差を抑制することができる。   Thus, the smaller the number of time-series data, the fewer parameters that need to be estimated, and the larger the number of time-series data, the more parameters that need to be estimated. In this case, parameter estimation errors can be suppressed even if sufficient time-series data is not stored.

次に、上記時系列データは、センサ30により物品50の先端位置pE,0を確認する度に得られるが、位置ずれの補正が必要なのは位置ずれが発生した場合だけである。そこで、位置ずれを検出することが好ましい。例えば、位置ずれの規定方法として、初期の位置データを基準として、以降の時系列データのうち、基準からの距離が閾値以上(例えば、センサ30の誤差の所定数倍以上)のものを位置ずれデータと規定してもよい。所定数倍としては、例えば2倍などを用いることができる。さらに、位置ずれが当該所定数倍よりも大きい所定の大きさに達したときに位置ずれの補正を実行してもよい。この所定の大きさは、アームロボット10の大きさ、要求精度などによるが、例えば0.1mmなどである。位置ずれが生じた場合の時系列データ数に応じて、上述の推定を実行してもよい。補正後は全ての時系列データを消去し、再び初期の位置データを基準に設定するところからはじめ、以後は繰り返してもよい。 Next, the time-series data is obtained every time the tip position pE , 0 of the article 50 is confirmed by the sensor 30, but the positional deviation needs to be corrected only when the positional deviation occurs. Therefore, it is preferable to detect misalignment. For example, as a method for defining the positional deviation, the initial positional data is used as a reference, and the subsequent time-series data whose positional deviation from the reference is equal to or greater than a threshold (for example, a predetermined number of times greater than the error of the sensor 30). It may be defined as data. As the predetermined multiple, for example, double can be used. Further, the positional deviation may be corrected when the positional deviation reaches a predetermined magnitude larger than the predetermined number of times. The predetermined size depends on the size of the arm robot 10 and the required accuracy, but is, for example, 0.1 mm. The above estimation may be executed according to the number of time-series data when a positional deviation occurs. After the correction, all the time series data may be deleted, and the initial position data may be set again as a reference, and the subsequent steps may be repeated.

次に、センサ30として単眼カメラを用いた場合には、2次元平面に射影した位置データしか得られない。一方、もし位置ずれの方向があらかじめわかっていれば、2次元の位置ずれデータから3元の位置ずれデータを復元することが可能であり、1次元の位置ずれデータからであっても復元することが可能である。そこで、推定計算実行前に、直前の推定から得られる位置ずれの方向を用いて位置ずれデータを3次元に復元してもよい。   Next, when a monocular camera is used as the sensor 30, only position data projected on a two-dimensional plane can be obtained. On the other hand, if the direction of the misalignment is known in advance, the three-dimensional misalignment data can be restored from the two-dimensional misalignment data, and even the one-dimensional misalignment data can be restored. Is possible. Therefore, before the estimation calculation is performed, the misalignment data may be restored to three dimensions using the misalignment direction obtained from the previous estimation.

例えば、位置ずれが生じた場合の時系列データ数が1〜6の場合、時系列データ数が1〜5では、すべてのiでΔaが共通であるため、位置ずれ方向は、下記式(6)で得られるpに平行と規定することができる。なお、「p」は、アームロボット10のベースから先端に延びるベクトルである。直前の推定値Δaが必要ないため、時系列データ数が1であっても適用することができる。

Figure 2018001331
For example, if the time-series data number of 1 to 6 when misalignment occurs, the time series data number 1 to 5, because .DELTA.a i are common to all i, position shift direction, the following formula ( It can be defined as parallel to p obtained in 6). “P” is a vector extending from the base of the arm robot 10 to the tip. Since the immediately preceding estimated value Δa i is not necessary, even if the number of time-series data is 1, it can be applied.
Figure 2018001331

位置ずれが生じた場合の時系列データ数が1〜7の場合、直前の推定で得られたΔaから計算される下記式(7)で得られるΔpE,0に平行と規定することができる。

Figure 2018001331
If the time-series data number of 1 to 7 when misalignment occurs, be defined as parallel to Delta] p E, 0 obtained by the following formula is calculated from .DELTA.a i obtained in the last estimation (7) it can.
Figure 2018001331

図5は、ロボットシステム100が実行する処理を例示するフローチャートである。図5で例示するように、制御部20は、図4(a)の動作1を行うように、アームロボット10を制御する(ステップS1)。次に、制御部20は、図4(b)の動作2を行うように、アームロボット10を制御する(ステップS2)。次に、演算部40は、センサ30の検出結果を用いて、上記式(1)に従って、先端位置pE,0を取得する(ステップS3)。 FIG. 5 is a flowchart illustrating a process executed by the robot system 100. As illustrated in FIG. 5, the control unit 20 controls the arm robot 10 so as to perform the operation 1 in FIG. 4A (step S1). Next, the control unit 20 controls the arm robot 10 to perform the operation 2 in FIG. 4B (step S2). Next, the calculating part 40 acquires the front-end | tip position pE , 0 according to said Formula (1) using the detection result of the sensor 30 (step S3).

次に、演算部40は、先端位置pE,0の取得が初回であるか否かを判定する(ステップS4)。ステップS4で「Yes」と判定された場合、演算部40は、当該先端位置pE,0を基準値に設定する(ステップS5)。次に、制御部20は、図4(c)の動作3を行うように、アームロボット10を制御する(ステップS6)。次に、制御部20は、所定数がループしたか否かを判定する(ステップS7)。ステップS7で「No」と判定された場合、ステップS1から再度実行される。ステップS7で「Yes」と判定された場合、フローチャートの実行が終了する。 Next, the computing unit 40 determines whether or not the acquisition of the tip position pE , 0 is the first time (step S4). When it is determined as “Yes” in Step S4, the calculation unit 40 sets the tip position pE , 0 as a reference value (Step S5). Next, the control unit 20 controls the arm robot 10 to perform the operation 3 in FIG. 4C (step S6). Next, the control unit 20 determines whether or not the predetermined number has looped (step S7). If “No” is determined in step S7, the process is executed again from step S1. If it is determined as “Yes” in step S <b> 7, the execution of the flowchart ends.

ステップS4で「No」と判定された場合、演算部40は、センサ30が単眼カメラであるか否かを判定する(ステップS8)。ステップS8で「Yes」と判定された場合、演算部40は、取得された時系列データ数に応じて3次元化を行う(ステップS9)。ステップS9の実行後またはステップS8で「No」と判定された場合、演算部40は、ステップS3で取得された先端位置の基準値からの距離ΔpE,0を算出する(ステップS10)。 When it determines with "No" at step S4, the calculating part 40 determines whether the sensor 30 is a monocular camera (step S8). When it is determined as “Yes” in Step S8, the calculation unit 40 performs three-dimensionalization according to the acquired time-series data number (Step S9). After execution of step S9 or when it is determined “No” in step S8, the calculation unit 40 calculates the distance Δp E, 0 from the reference value of the tip position acquired in step S3 (step S10).

次に、演算部40は、ステップS10で算出された距離ΔpE,0がセンサ30の測定誤差の所定数倍(例えば2倍)よりも大きいか否かを判定する(ステップS11)。ステップS11で「No」と判定された場合、ステップS6が実行される。ステップS11で「Yes」と判定された場合、ステップS10で算出された距離ΔpE,0が、当該所定数倍よりも大きい所定の大きさ以上であるか否かを判定する(ステップS12)。ステップS12で「No」と判定された場合、演算部40は、ステップS10で算出された距離ΔpE,0を格納する(ステップS13)。その後、ステップS6が実行される。ステップS12で「Yes」と判定された場合、演算部40は、格納されている時系列データ数に応じた補正値の算出を行う。制御部20は、当該補正値に応じて、アームロボット10の位置ずれを補正する(ステップS14)。なお、ステップS14の実行後、演算部40は、格納されている時系列データを消去することで初期化を行う。その後、フローチャートの実行が終了する。 Next, the calculation unit 40 determines whether or not the distance Δp E, 0 calculated in step S10 is larger than a predetermined number of times (for example, twice) the measurement error of the sensor 30 (step S11). If it is determined “No” in step S11, step S6 is executed. If “Yes” is determined in step S11, it is determined whether or not the distance Δp E, 0 calculated in step S10 is greater than or equal to a predetermined size larger than the predetermined number of times (step S12). When it is determined as “No” in Step S12, the calculation unit 40 stores the distance Δp E, 0 calculated in Step S10 (Step S13). Thereafter, step S6 is executed. When it is determined as “Yes” in step S <b> 12, the calculation unit 40 calculates a correction value according to the number of stored time-series data. The control unit 20 corrects the positional deviation of the arm robot 10 according to the correction value (step S14). Note that after the execution of step S14, the calculation unit 40 performs initialization by deleting the stored time-series data. Thereafter, the execution of the flowchart ends.

本実施例によれば、所定姿勢をとる場合にセンサによって検出されるアームロボットの所定位置または把持されている物品の所定位置の時系列データを用いて、所定姿勢における位置ずれ量を推定するため、簡易な処理で位置ずれを補正することができる。温度センサを用いなくてもよいため、コストを低減することができる。また、位置ずれが生じるたびにキャリブレーションを行う必要もないため、手間がかからない。また、通常は、把持された工具の位置確認のために、カメラなどで物品位置の確認がされている。位置ずれ量の推定に、この場合のセンサ値を用いることができるため、本実施例の適用のために新たにセンサ値を取得しなくてもよい。   According to the present embodiment, in order to estimate the amount of positional deviation in a predetermined posture using time-series data of a predetermined position of an arm robot detected by a sensor or a predetermined position of a grasped article when a predetermined posture is taken. The positional deviation can be corrected by a simple process. Since it is not necessary to use a temperature sensor, cost can be reduced. Further, since it is not necessary to perform calibration every time a positional deviation occurs, it is not time-consuming. Usually, the position of the article is confirmed by a camera or the like in order to confirm the position of the gripped tool. Since the sensor value in this case can be used for the estimation of the positional deviation amount, it is not necessary to newly acquire a sensor value for application of the present embodiment.

また、時系列データ数に応じて、推定が必要なパラメータ数を変更してもよい。例えば、時系列データ数が少ないほど推定が必要なパラメータを少なくし、時系列データ数が多いほど推定が必要なパラメータを多くしてもよい。この場合、十分な時系列データが格納されていなくても、パラメータの推定誤差を抑制することができる。   Further, the number of parameters that need to be estimated may be changed according to the number of time-series data. For example, the number of parameters that need to be estimated may be reduced as the number of time series data is smaller, and the number of parameters that need to be estimated may be increased as the number of time series data is larger. In this case, parameter estimation errors can be suppressed even if sufficient time-series data is not stored.

また、センサ30が検出した先端位置pE,0と基準位置とのずれが閾値未満の時系列データを使用しないことで、容量を低減することができる。また、演算量を低減することができる。センサ30が検出した先端位置pE,0と基準位置とのずれが閾値以上となった場合に、位置ずれを補正することで、演算量を低減することができる。 In addition, the capacity can be reduced by not using time series data in which the deviation between the tip position pE , 0 detected by the sensor 30 and the reference position is less than the threshold value. In addition, the amount of calculation can be reduced. When the deviation between the tip position pE , 0 detected by the sensor 30 and the reference position is equal to or greater than the threshold value, the amount of calculation can be reduced by correcting the positional deviation.

上記例において、センサ30が物品50の先端位置を検出しているが、それに限られない。例えば、物品50の他の位置を検出してもよく、アームロボット10のリンクのいずれかの位置を検出してもよい。ただし、アームロボット10の先端位置や、物品50の先端位置の位置ずれ量が大きくなるため、アームロボット10の先端位置や物品50の先端位置を検出することが好ましい。また、各リンクを一直線に伸ばした状態では、各リンクの伸縮が相殺されることなく加算され、位置ずれが最も大きくなる。そこで、アームロボット10が各リンクを一直線に伸ばした場合の先端位置や物品50の先端位置を検出することがより好ましい。測長論の観点(アッベの原理)からも、各リンクを一直線に伸ばした状態で先端位置や物品50の先端位置を検出することが好ましい。   In the above example, the sensor 30 detects the tip position of the article 50, but is not limited thereto. For example, another position of the article 50 may be detected, or any position of the link of the arm robot 10 may be detected. However, since the amount of displacement of the tip position of the arm robot 10 and the tip position of the article 50 increases, it is preferable to detect the tip position of the arm robot 10 and the tip position of the article 50. Moreover, in the state where each link is extended in a straight line, the expansion and contraction of each link is added without being canceled out, and the positional deviation becomes the largest. Therefore, it is more preferable to detect the tip position when the arm robot 10 extends each link in a straight line and the tip position of the article 50. From the viewpoint of length measurement theory (Abbe's principle), it is preferable to detect the tip position and the tip position of the article 50 in a state where each link is extended in a straight line.

上記例において、センサ30が、所定姿勢におけるアームロボットの所定位置、または所定姿勢においてアームロボットが把持する物品の所定位置を検出するセンサの一例として機能する。推定部42が、アームロボットが所定姿勢をとる場合にセンサによって検出される位置の時系列データを用いて、所定姿勢における位置ずれ量を推定する推定部の一例として機能する。補正値算出部43および制御部20が、推定部が推定した位置ずれ量に基づいて、アームロボットの位置ずれを補正する補正部の一例として機能する。   In the above example, the sensor 30 functions as an example of a sensor that detects a predetermined position of the arm robot in a predetermined posture or a predetermined position of an article held by the arm robot in a predetermined posture. The estimation unit 42 functions as an example of an estimation unit that estimates a positional deviation amount in a predetermined posture using time-series data of positions detected by a sensor when the arm robot takes a predetermined posture. The correction value calculation unit 43 and the control unit 20 function as an example of a correction unit that corrects the positional deviation of the arm robot based on the positional deviation amount estimated by the estimation unit.

図6(a)は、演算部40のハードウェア構成を説明するためのブロック図である。図6(a)を参照して、演算部40は、CPU101、RAM102、記憶装置103、表示装置104等を備える。CPU(Central Processing Unit)101は、中央演算処理装置である。   FIG. 6A is a block diagram for explaining the hardware configuration of the arithmetic unit 40. Referring to FIG. 6A, the calculation unit 40 includes a CPU 101, a RAM 102, a storage device 103, a display device 104, and the like. A CPU (Central Processing Unit) 101 is a central processing unit.

CPU101は、1以上のコアを含む。RAM(Random Access Memory)102は、CPU101が実行するプログラム、CPU101が処理するデータなどを一時的に記憶する揮発性メモリである。記憶装置103は、不揮発性記憶装置である。記憶装置103として、例えば、ROM(Read Only Memory)、フラッシュメモリなどのソリッド・ステート・ドライブ(SSD)、ハードディスクドライブに駆動されるハードディスクなどを用いることができる。記憶装置103は、補正プログラムを記憶している。表示装置104は、液晶ディスプレイ、エレクトロルミネッセンスパネルなどであり、判定結果を表示する。なお、本実施例においては演算部40の各部は、プログラムの実行によって実現されているが、専用の回路などのハードウェアを用いてもよい。   The CPU 101 includes one or more cores. A RAM (Random Access Memory) 102 is a volatile memory that temporarily stores programs executed by the CPU 101, data processed by the CPU 101, and the like. The storage device 103 is a nonvolatile storage device. As the storage device 103, for example, a ROM (Read Only Memory), a solid state drive (SSD) such as a flash memory, a hard disk driven by a hard disk drive, or the like can be used. The storage device 103 stores a correction program. The display device 104 is a liquid crystal display, an electroluminescence panel, or the like, and displays a determination result. In this embodiment, each unit of the calculation unit 40 is realized by executing a program, but hardware such as a dedicated circuit may be used.

(変形例1)
図6(b)は、変形例にかかる作業システムについて例示する図である。上記各例においては、演算部40は、センサ30から時系列データを取得している。これに対して、演算部40の機能を有するサーバ202が、インターネットなどの電気通信回線201を通じてセンサ30からデータを取得してもよい。この場合、演算部40は、算出した補正値を、電気通信回線201を介して制御部20に送信する。
(Modification 1)
FIG. 6B is a diagram illustrating a work system according to a modification. In each of the above examples, the calculation unit 40 acquires time series data from the sensor 30. On the other hand, the server 202 having the function of the calculation unit 40 may acquire data from the sensor 30 through the telecommunication line 201 such as the Internet. In this case, the calculation unit 40 transmits the calculated correction value to the control unit 20 via the telecommunication line 201.

以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   Although the embodiments of the present invention have been described in detail above, the present invention is not limited to such specific embodiments, and various modifications and changes can be made within the scope of the gist of the present invention described in the claims. It can be changed.

10 アームロボット
11 リンク
12 関節
20 制御部
30 センサ
40 演算部
50 物品
60 ワーク
100 ロボットシステム
DESCRIPTION OF SYMBOLS 10 Arm robot 11 Link 12 Joint 20 Control part 30 Sensor 40 Calculation part 50 Article 60 Work 100 Robot system

Claims (8)

所定姿勢におけるアームロボットの所定位置、または前記所定姿勢において前記アームロボットが把持する物品の所定位置を検出するセンサと、
前記アームロボットが前記所定姿勢をとる場合に前記センサによって検出される位置の時系列データを用いて、前記所定姿勢における位置ずれ量を推定する推定部と、
前記推定部が推定した位置ずれ量に基づいて、前記アームロボットの位置ずれを補正する補正部と、を備えることを特徴とする補正装置。
A sensor for detecting a predetermined position of the arm robot in a predetermined posture or a predetermined position of an article held by the arm robot in the predetermined posture;
An estimation unit that estimates a positional deviation amount in the predetermined posture using time-series data of a position detected by the sensor when the arm robot takes the predetermined posture;
A correction device, comprising: a correction unit that corrects a position shift of the arm robot based on a position shift amount estimated by the estimation unit.
前記推定部は、熱の発生に係るパラメータを推定して前記アームロボットの伸長率を推定することで、前記位置ずれ量を推定することを特徴とする請求項1記載の補正装置。   The correction apparatus according to claim 1, wherein the estimation unit estimates the positional deviation amount by estimating a parameter related to heat generation and estimating an extension rate of the arm robot. 前記推定部は、前記時系列データの数に応じて、前記位置ずれ量の推定に用いるパラメータ数を変更することを特徴とする請求項1または2記載の補正装置。   The correction device according to claim 1, wherein the estimation unit changes the number of parameters used for the estimation of the positional deviation amount according to the number of the time series data. 前記推定部は、前記位置ずれ量の推定の際に、基準位置と前記センサが検出する位置とのずれが第1閾値未満の時系列データを使用しないことを特徴とする請求項1〜3のいずれか一項に記載の補正装置。   4. The estimation unit according to claim 1, wherein the estimation unit does not use time-series data in which a deviation between a reference position and a position detected by the sensor is less than a first threshold value when estimating the positional deviation amount. The correction apparatus as described in any one. 前記補正部は、基準位置と前記センサが検出する位置とのずれが第2閾値以上となった場合に、前記アームロボットの位置ずれを補正することを特徴とする請求項1〜4のいずれか一項に記載の補正装置。   The correction unit corrects a position shift of the arm robot when a shift between a reference position and a position detected by the sensor becomes a second threshold value or more. The correction device according to one item. 前記アームロボットは、1以上の関節によって接続される複数のリンクを備えることを特徴とする請求項1〜5のいずれか一項に記載の補正装置。   The correction device according to claim 1, wherein the arm robot includes a plurality of links connected by one or more joints. センサを用いて、所定姿勢におけるアームロボットの所定位置、または前記所定姿勢において前記アームロボットが把持する物品の所定位置を検出し、
推定部が、前記アームロボットが前記所定姿勢をとる場合に前記センサによって検出される位置の時系列データを用いて、前記所定姿勢における位置ずれ量を推定し、
補正部が、前記推定部が推定した位置ずれ量に基づいて、前記アームロボットの位置ずれを補正する、ことを特徴とする補正方法。
Using a sensor, a predetermined position of the arm robot in a predetermined posture, or a predetermined position of an article held by the arm robot in the predetermined posture,
The estimation unit estimates the amount of positional deviation in the predetermined posture using time series data of the position detected by the sensor when the arm robot takes the predetermined posture,
A correction method, wherein the correction unit corrects the positional deviation of the arm robot based on the positional deviation amount estimated by the estimation unit.
コンピュータに、
アームロボットが所定姿勢をとる場合にセンサによって検出される前記アームロボットの所定位置または前記アームロボットが把持する物品の所定位置の時系列データを用いて、前記所定姿勢における位置ずれ量を推定する処理と、
前記推定する処理において推定された位置ずれ量に基づいて、前記アームロボットの位置ずれを補正する処理と、を実行させることを特徴とする補正プログラム。
On the computer,
Processing for estimating the amount of displacement in the predetermined posture using time-series data of the predetermined position of the arm robot detected by a sensor when the arm robot takes a predetermined posture or the predetermined position of an article held by the arm robot When,
And a process of correcting the positional deviation of the arm robot based on the positional deviation amount estimated in the estimating process.
JP2016130802A 2016-06-30 2016-06-30 Correction device, correction method, and correction program Active JP6729084B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016130802A JP6729084B2 (en) 2016-06-30 2016-06-30 Correction device, correction method, and correction program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016130802A JP6729084B2 (en) 2016-06-30 2016-06-30 Correction device, correction method, and correction program

Publications (2)

Publication Number Publication Date
JP2018001331A true JP2018001331A (en) 2018-01-11
JP6729084B2 JP6729084B2 (en) 2020-07-22

Family

ID=60947119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016130802A Active JP6729084B2 (en) 2016-06-30 2016-06-30 Correction device, correction method, and correction program

Country Status (1)

Country Link
JP (1) JP6729084B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0818289A (en) * 1994-06-28 1996-01-19 Yamaha Motor Co Ltd Position correction device of mounting device
JP2006062021A (en) * 2004-08-26 2006-03-09 Nakamura Tome Precision Ind Co Ltd Turret lathe including rotary tool turret
JP2013202741A (en) * 2012-03-28 2013-10-07 Mitsubishi Electric Corp Control device for machine tool and machine tool

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0818289A (en) * 1994-06-28 1996-01-19 Yamaha Motor Co Ltd Position correction device of mounting device
JP2006062021A (en) * 2004-08-26 2006-03-09 Nakamura Tome Precision Ind Co Ltd Turret lathe including rotary tool turret
JP2013202741A (en) * 2012-03-28 2013-10-07 Mitsubishi Electric Corp Control device for machine tool and machine tool

Also Published As

Publication number Publication date
JP6729084B2 (en) 2020-07-22

Similar Documents

Publication Publication Date Title
CN107225569B (en) Positioning device
KR102363857B1 (en) Collision handling by robots
EP3157715B1 (en) Method for calibrating a robot and a robot system
JP5850962B2 (en) Robot system using visual feedback
JP6235664B2 (en) Measuring device used to calibrate mechanism parameters of robot
US20150112487A1 (en) Robot control system, robot system, and sensor information processing apparatus
US20160279800A1 (en) Robot, robot control device, and robotic system
JP6298026B2 (en) Deflection measurement system for measuring the deflection of articulated robots
JP6622765B2 (en) Robot system
JP2008012604A (en) Measuring apparatus and method of its calibration
US20150258684A1 (en) Robot, robot system, and control device
TW201736069A (en) Mechanism parametric calibration method for robotic arm system
JP2012040634A (en) Calibration device and method for power-controlled robot
JP2012223871A (en) Origin correction method and system of robot joint
JPH0538688A (en) Coordinate system calibrating method for industrial robot system
JP5787646B2 (en) Robot system and component manufacturing method
JP2007044865A (en) Orientation/positioning system control method
US11584013B2 (en) System, device and method for determining error in robotic manipulator-to-camera calibration
JP6729084B2 (en) Correction device, correction method, and correction program
CN107263463B (en) Mechanism parameter correction method for robot arm system
KR20160007791A (en) Calibration Method of Robot for Interventional treatment
CN116952273A (en) Time calibration method, electronic equipment and computer readable storage medium
JP3579742B2 (en) Teaching data correction method, correction program and correction device
JP7399714B2 (en) Method and apparatus for generating pulse signals at specific positions of moving elements
CN114728416A (en) Calibration of impedance adjustment of a robotic manipulator

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190311

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200501

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200615

R150 Certificate of patent or registration of utility model

Ref document number: 6729084

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150