JPWO2019163116A1 - Correction function generator, robot control system, and robot system - Google Patents
Correction function generator, robot control system, and robot system Download PDFInfo
- Publication number
- JPWO2019163116A1 JPWO2019163116A1 JP2018554517A JP2018554517A JPWO2019163116A1 JP WO2019163116 A1 JPWO2019163116 A1 JP WO2019163116A1 JP 2018554517 A JP2018554517 A JP 2018554517A JP 2018554517 A JP2018554517 A JP 2018554517A JP WO2019163116 A1 JPWO2019163116 A1 JP WO2019163116A1
- Authority
- JP
- Japan
- Prior art keywords
- correction function
- unit
- robot
- hand
- robot arm
- 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
Links
- 238000012937 correction Methods 0.000 title claims abstract description 395
- 238000005259 measurement Methods 0.000 claims abstract description 122
- 230000006870 function Effects 0.000 claims description 457
- 238000011156 evaluation Methods 0.000 claims description 45
- 238000006073 displacement reaction Methods 0.000 claims description 24
- 238000010586 diagram Methods 0.000 description 64
- 230000007613 environmental effect Effects 0.000 description 12
- 238000000034 method Methods 0.000 description 12
- 238000006243 chemical reaction Methods 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 6
- 230000008602 contraction Effects 0.000 description 4
- 238000009529 body temperature measurement Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/404—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Automatic Control Of Machine Tools (AREA)
- Numerical Control (AREA)
Abstract
位置計測の対象となる点を増加させることなく、ロボットアームの手先の位置を高精度に制御することを可能とする。関節を有するロボットアームの手先の位置を制御するために用いられる補正関数を生成する補正関数生成装置(100a)であって、ロボットアームの所定位置で計測された温度情報、温度情報が計測された時点の関節の角度、及び温度情報が計測された時点の手先の位置を計測して得られる計測位置を取得する情報取得部(110a)と、取得された関節の角度に基づいて、温度情報を取得した時点の手先の位置を推定して推定位置を求める手先位置推定部(120a)と、計測位置と推定位置とを比較した結果に基づいて、温度情報を変数とする関数である前記補正関数を決定する補正関数決定部(130a)とを備える。It is possible to control the position of the hand of the robot arm with high accuracy without increasing the number of points that are the targets of position measurement. A correction function generation device (100a) for generating a correction function used for controlling the position of the hand of a robot arm having a joint, in which temperature information and temperature information measured at a predetermined position of the robot arm are measured. An information acquisition unit (110a) that acquires a measurement position obtained by measuring the position of the hand at the time when the angle of the joint and the temperature information is measured, and temperature information based on the acquired angle of the joint. The correction function, which is a function that uses temperature information as a variable, based on the result of comparing the measurement position and the estimated position with the hand position estimation unit (120a) that estimates the position of the hand at the time of acquisition and obtains the estimated position. And a correction function determination unit (130a) for determining
Description
この発明は、関節を有するロボットアームの手先の位置を制御するために用いられる補正関数を生成する補正関数生成装置、この補正関数生成装置を備えるロボット制御システム及びロボットシステムに関する。 The present invention relates to a correction function generation device that generates a correction function used to control the position of a hand of a robot arm having a joint, a robot control system including the correction function generation device, and a robot system.
工場などにおいて、ロボットアームは、繰り返し作業を精度良く行う用途に使用されている。しかし、ロボットアームを駆動させるためのモータの発熱や周囲の温度変化の影響によって、ロボットアームの温度が変化する現象が発生する。ロボットアームの温度が変化することで、ロボットアームが熱膨張又は熱収縮し、ロボットアームの手先の位置が変化する。この結果、ロボット制御システムがロボットアームの手先の位置を高精度に制御できないという問題が発生する。すなわち、手先の位置決め精度が低下するという問題が発生する。例えば、規定の位置に繰り返しアプローチする作業においては、ロボットアームの温度が上がるにつれてロボットアームが徐々に伸びる。この結果、手先の位置が徐々に変化し、作業精度が著しく損なわれていた。この問題を解決するために、例えば特許文献1では、所望の制御点間の長さを計測し、基準温度時からの長さの変化を求めることで、所望の制御点間の長さを補正する補正係数を求める手法が提案されている。 2. Description of the Related Art In factories and the like, a robot arm is used for a purpose of performing repetitive work with high accuracy. However, a phenomenon occurs in which the temperature of the robot arm changes due to the influence of heat generation of the motor for driving the robot arm and changes in the surrounding temperature. When the temperature of the robot arm changes, the robot arm thermally expands or contracts, and the position of the hand of the robot arm changes. As a result, there arises a problem that the robot control system cannot control the position of the hand of the robot arm with high accuracy. That is, there is a problem that the positioning accuracy of the hand is reduced. For example, in an operation of repeatedly approaching a specified position, the robot arm gradually extends as the temperature of the robot arm increases. As a result, the position of the hand gradually changed, and the working accuracy was significantly impaired. In order to solve this problem, for example, in Patent Document 1, the length between desired control points is corrected by measuring the length between desired control points and calculating the change in length from the reference temperature. A method for obtaining a correction coefficient to be performed has been proposed.
特許文献1において提案されている手法では、温度変化に応じたロボットアームの制御点間の長さの変化を高精度に計測する必要がある。制御点間の長さは、各制御点の位置を計測することで求めることができる。しかし、制御点が増加すると計測対象となる点も増加するという問題があった。この結果、計測時間が増大するか、又は計測機が複雑化するという問題が発生する。 In the method proposed in Patent Document 1, it is necessary to measure a change in length between control points of the robot arm according to a temperature change with high accuracy. The length between control points can be obtained by measuring the position of each control point. However, there is a problem that as the number of control points increases, the number of points to be measured also increases. As a result, there arises a problem that the measuring time increases or the measuring device becomes complicated.
本発明は上記の問題を解決するためになされたものであって、位置計測の対象となる点を増加させることなく、ロボットアームの手先の位置を高精度に推定するための補正関数を生成可能な補正関数生成装置を得ることを目的とする。また、この補正関数生成装置を備えるロボット制御システム及びロボットシステムを得ることを目的とする。 The present invention has been made to solve the above problem, and can generate a correction function for highly accurately estimating the position of the hand of a robot arm without increasing the number of points to be measured. It is an object of the present invention to obtain a simple correction function generation device. It is another object of the present invention to obtain a robot control system and a robot system including the correction function generation device.
この発明における補正関数生成装置は、関節を有するロボットアームの手先の位置を制御するために用いられる補正関数を生成する補正関数生成装置であって、ロボットアームの所定位置で計測された温度情報、温度情報が計測された時点の関節の角度、及び温度情報が計測された時点の手先の位置を計測して得られる計測位置を取得する情報取得部と、関節の角度に基づいて、温度情報を取得した時点の手先の位置を推定して推定位置を求める手先位置推定部と、計測位置と推定位置とを比較した結果に基づいて、温度情報を変数とする関数である補正関数を決定する補正関数決定部とを備えるものである。 The correction function generation device according to the present invention is a correction function generation device that generates a correction function used to control a position of a hand of a robot arm having a joint, and includes temperature information measured at a predetermined position of the robot arm, Based on the angle of the joint at the time when the temperature information was measured, and the measurement position obtained by measuring the position of the hand at the time when the temperature information was measured, and the angle of the joint, the temperature information is obtained. A hand position estimating unit for estimating the hand position at the time of acquisition to obtain an estimated position, and a correction for determining a correction function that is a function using temperature information as a variable based on a result of comparing the measured position and the estimated position. And a function determining unit.
この発明における補正関数生成装置によれば、位置計測の対象となる点を増加させることなく、ロボットアームの手先の位置を高精度に制御するための補正関数を生成可能となる。また、この発明におけるロボット制御システム及びロボットシステムによれば、位置計測の対象となる点を増加させることなく、ロボットアームの手先の位置を高精度に制御することが可能となる。 According to the correction function generation device of the present invention, it is possible to generate a correction function for controlling the position of the hand of the robot arm with high accuracy without increasing the number of points to be measured. Further, according to the robot control system and the robot system of the present invention, it is possible to control the position of the hand of the robot arm with high accuracy without increasing the number of points for position measurement.
実施の形態1.
図1は、本発明の実施の形態1による補正関数生成装置100aを備えるロボットシステム1a及びロボット制御システム2aの構成の一例を示す図である。ロボットシステム1aは、ロボットアーム300aを備えるロボットと、ロボット制御システム2aとを備える。また、ロボット制御システム2aは、補正関数生成装置100a及びロボット制御装置200aを備える。なお、図1においては、ロボットアーム300a以外のロボットの部位の図示は省略している。Embodiment 1 FIG.
FIG. 1 is a diagram illustrating an example of a configuration of a
ロボットシステム1aには、ロボットアーム300aの手先の三次元位置を計測する手先位置計測装置3aが接続される。手先位置計測装置3aとしては、例えば、レーザ距離センサ、ビジョンセンサ等が用いられる。ここで、ロボットアーム300aの手先は、ロボットアーム300aの先端であり、作業対象物に作用する部位を指す。ロボットアーム300aの手先は、ロボットの手先と言い換えることもできる。ロボットシステム1aとしては、産業用ロボットの他、人にサービスを提供するサービスロボット等が考えられる。産業用ロボットが行う作業としては、部品の搬送、組み立て、加工などが考えられる。以降において、ロボットアーム300aの手先は、単に手先と記載されることがある。また、以降において、手先の位置は、手先位置と記載されることがある。ロボットアーム300aは、1つ以上の関節を有している。また、ロボットアーム300aには、ロボットアーム300aの所定位置の温度を検出するセンサ、ロボットアーム300aの関節の角度を検出するセンサ等が搭載される。
A hand
図2は、本発明の実施の形態1によるロボットアーム300aの構成の一例を示す図である。ロボットアーム300aは、第1のリンク311、第2のリンク312、第3のリンク313、及び第4のリンク314が、関節によって接続された構成となっている。関節の角度は、ロボット制御装置200aから出力される動作指令値によって制御される。この結果、関節によって互いに接続されるリンク間の角度が制御される。また、ロボットアーム300aには、第1の温度センサ321、第2の温度センサ322、第3の温度センサ323、第4の温度センサ324、第5の温度センサ325、及び第6の温度センサ326が、それぞれ所定の位置に搭載されている。
FIG. 2 is a diagram illustrating an example of a configuration of the
このように、ロボットアーム300aは、4つのリンクとして、第1のリンク311、第2のリンク312、第3のリンク313、及び第4のリンク314を備える。また、ロボットアーム300aは、6つの温度センサとして、第1の温度センサ321、第2の温度センサ322、第3の温度センサ323、第4の温度センサ324、第5の温度センサ325、及び第6の温度センサ326を備える。4つのリンクのそれぞれは、ロボットアーム300aを分割して得られる部位となる。ここで、ロボットアーム300aを分割して得られる各部位は、ロボットアーム300aを直線状に伸ばした時に、ロボットアーム300aの両端を結ぶ方向に配列されるように設定される。また、ロボットアーム300aを分割して得られる各部位は、関節を跨がないように設定される。言い換えると、ロボットアーム300aを分割して得られる各部位は、各部位の端部に関節が存在することはあっても、各部位の内部に関節を含まないように設定される。
As described above, the
ロボットアーム300aには、温度センサ以外に、関節の角度を検出するセンサ等も搭載されるが、図示を省略している。ロボットアーム300aの関節の角度は、互いに接続されるリンク間の角度を表し、関節を駆動するモータの回転角度等から検出することができる。なお、図3に示すロボットアーム300aの構成は一例であり、リンクの数、温度センサの数、温度センサの配置等は、図2に示すものに限定されない。例えば、温度センサは任意の位置に設置されてもよいし、関節を駆動するサーボモータに物理的に接続されたエンコーダに内蔵された温度センサを活用してもよい。
In addition to the temperature sensor, a sensor or the like for detecting the angle of a joint is mounted on the
ロボットアーム300aにおいて、第1のリンク311の長さはL1となっている。また、第2のリンク312の長さはL2となっている。また、第3のリンク313の長さはL3となっている。また、第4のリンク314の長さはL4となっている。なお、リンクの長さは、ロボットアーム300aを直線状に伸ばした時に、ロボットアーム300aの両端を結ぶ方向の各リンクの長さである。リンクの両端に関節が存在する場合には、リンクの長さは、そのリンクの両端の関節間の距離で表される。関節の位置は、関節の回転軸の位置として定義できる。一方、リンクの一端のみ関節が存在する場合には、リンクの長さは、そのリンクの一端の関節から他端の先までの距離で表される。また、ロボットアーム300aの手先は、第4のリンク314の先端となる。すなわち、ロボットアーム300aの手先は、第4のリンク314において、第3のリンクと接続されていない側の端部となる。
In the
次に、ロボット制御システム2aについて説明する。図3は、本発明の実施の形態1による補正関数生成装置100aを備えるロボット制御システム2aを実現するための具体的なハードウェア構成の一例を示す図である。すなわち、図3は、補正関数生成装置100a及びロボット制御装置200aを実現するための具体的なハードウェア構成の一例を示す図である。ロボット制御システム2aは、メモリ402に記憶されるプログラムをプロセッサ401で実行することで実現される。プロセッサ401とメモリ402とは、データバス403で接続される。メモリ402には、揮発性のメモリ及び非揮発性のメモリが備えられ、一時的な情報は揮発性のメモリに記憶される。なお、ロボット制御システム2aは一体として図3の構成としても良い。もしくは、補正関数生成装置100a及びロボット制御装置200aを別体として、それぞれを図3の構成としても良い。例えば、補正関数生成装置100a及びロボット制御装置200aが、ネットワークなどを介して接続されていても良い。以降の実施の形態においても、ロボット制御システム2aは同様のハードウェア構成で実現できる。
Next, the
図4は、本発明の実施の形態1による補正関数生成装置100aを備えるロボット制御システム2aの動作の流れの一例を示す図である。すなわち、図4は、補正関数生成装置100a及びロボット制御装置200aの動作の流れの一例を示す図である。まず、ステップS001aにおいて、ロボット制御装置200aは、手先位置計測装置3aの計測結果、及びロボットアーム300aに装着されるセンサの検出値を取得する。より具体的には、ステップS001aにおいて、ロボット制御装置200aは、ロボットアーム300aから温度情報を取得する。温度情報は、ロボットアーム300aの所定位置で計測された温度の情報であり、ロボットアーム300aに搭載されている6つの温度センサ321〜326によって計測される。
FIG. 4 is a diagram showing an example of an operation flow of the
また、ステップS001aにおいて、ロボット制御装置200aは、ロボットアーム300aの関節の角度をロボットアーム300aから取得する。ロボットアーム300aの関節の角度は、ロボットアームに搭載されているセンサによって計測される。ロボット制御装置200aは、温度センサ321〜326によって温度情報が計測された時点のロボットアーム300aの関節の角度を取得する。さらに、ステップS001aにおいて、ロボット制御装置200aは、温度情報が計測された時点の計測位置を手先位置計測装置3aから取得する。計測位置は、手先位置計測装置3aによって計測することで得られるロボットアーム300aの手先の位置である。
In step S001a, the
ここで、ロボット制御装置200aは、複数の時刻における温度情報、関節の角度、及び計測位置を取得することが望ましい。複数の時刻における温度情報、関節の角度、及び計測位置を用いて補正関数を生成した方が、より高精度の補正効果が得られる可能性が高い。以下では、ロボット制御装置200aは、複数の時刻における温度情報、関節の角度、及び計測位置を取得するものとする。ロボット制御装置200aは、取得される温度情報、関節の角度及び計測位置が、計測時刻が同期して計測された情報となるように、ロボットアーム300a及び手先位置計測装置3aを制御する。この結果、ロボット制御装置200aは、温度情報が計測された時点の関節の角度、及び温度情報が計測された時点の計測位置を取得することができる。なお、温度情報を計測する時刻、関節の角度を計測する時刻、及び手先の位置を計測する時刻は、厳密に同一である必要はなく、実用上で求められる補正精度に影響のない範囲で異なっていても良い。
Here, it is desirable that the
温度情報、関節の角度、及び計測位置は、任意の時刻に測定されれば良いが、熱に起因するロボットアーム300aの伸びの程度が互いに異なる複数の状態で測定されることが望ましい。このためには、ロボット制御装置200aは、ロボットアーム300aに高負荷を与えるような動作を暖機動作として実行させ、その過程で温度情報、関節の角度、及び計測位置を取得することが望ましい。実際の作業においてロボットアーム300aに実行させる動作が予め1つのパターンに決まっている場合などでは、その動作を暖機動作として実行し、その過程で温度情報を計測すれば良い。その結果、補正関数生成装置は、その動作特有の伸びに最適な補正関数を生成することができる。
The temperature information, the angle of the joint, and the measurement position may be measured at an arbitrary time. However, it is preferable that the measurement is performed in a plurality of states in which the degree of extension of the
また、ロボット制御装置200aは、ロボットアーム300aの計測姿勢も制御する。ここで、計測姿勢とは、温度情報が計測される際のロボットアーム300aの姿勢を意味する。すなわち、ロボット制御装置200aは、温度情報が計測される際のロボットアーム300aの関節の角度も制御する。ロボットアーム300aの計測姿勢は任意である。例えば、ロボットアーム300aの計測姿勢として、手先位置計測装置3aの設置がし易い姿勢を選択することが考えられる。また、ロボットアーム300aの計測姿勢は、予め決定された一定の姿勢であっても良いし、温度情報が計測される毎に異なる姿勢であっても良い。
The
ロボットアーム300aの計測姿勢が一定である場合には、ロボット制御装置200aは、予め記憶された関節の角度となるようにロボットアーム300aを制御する。この場合には、ロボット制御装置200aは、必ずしもロボットアーム300aから関節の角度を取得する必要はなく、ロボット制御装置200aに予め記憶された関節の角度を読み出せば良い。この場合でも、ロボット制御装置200aは内部のメモリから関節の角度を取得している。本実施の形態のロボット制御システム2aは、関節の角度をロボットアーム300aから取得する構成としている。
When the measurement posture of the
また、ロボットアーム300aの計測姿勢が一定である場合には、手先位置の変動は温度変化に起因するものに限られるので、手先の存在範囲が限定される。この場合には、手先位置計測装置3aとして簡易な計測器を使用することができ、例えば基準位置からの位置の変化を測定する変位センサを使用することができる。一方、計測位置が一定ではない場合には、手先位置計測装置3aの計測範囲は広くなるが、ロボットアームに任意の作業をさせている間にも、補正関数の生成が可能となる。本実施の形態のロボットシステム1aにおいては、手先位置計測装置3aは、手先の絶対位置を計測するものとする。以上が、ステップS001aにおけるロボット制御装置200aの動作である。
Further, when the measurement posture of the
次に、ステップS100aにおいて、補正関数生成装置100aは、温度情報、関節の角度、及び計測位置をロボット制御装置200aから取得する。ここで、補正関数生成装置100aは、複数の時刻における温度情報、関節の角度、及び計測位置を取得するものとする。また、ステップS100aにおいて、補正関数生成装置100aは、ロボット制御装置200aから取得した情報に基づいて、手先の位置を制御するために用いられる補正関数を生成する。生成された補正関数は、ロボット制御装置200aに出力される。なお、本実施の形態では、補正関数生成装置100aは、ロボット制御装置200aを介して、温度情報、関節の角度、及び計測位置を取得する構成としているが、この構成に限定されるわけではない。
Next, in step S100a, the correction
次に、ステップS002において、ロボット制御装置200aは、補正関数生成装置100aで生成された補正関数を取得する。次に、ステップS200において、ロボット制御装置200aは、取得された補正関数に基づいて、ロボットアーム300aの動作を制御するための動作指令値を生成する。生成された動作指令値は、ロボットアーム300aに出力される。ロボットアーム300aは、動作指令値に従って動作する。ロボット制御装置200aが補正関数に基づいて動作指令値を生成することによって、ロボット制御装置200aは手先を所定の位置に高精度に移動させることができる。すなわち、ロボット制御装置200aによる手先の位置決め精度が向上する。
Next, in step S002, the
次に、ステップS003において、ロボット制御装置200aは、ロボットアーム300aの動作を終了させるか否かを判定する。ロボット制御装置200aは、予め定められた作業を完了した場合などに動作を終了させる。ステップS003において、動作を終了させると判定されると、ロボット制御システム2aは動作を終了する。一方、ステップS003において、まだ動作を終了させないと判定されると、ロボット制御システム2aの動作はステップS200へと戻り、動作指令値の生成が繰り返される。以上が、ロボット制御システム2aの動作の流れである。以下では、ステップS100a及びステップS200におけるロボット制御システム2aの動作について、更に詳しく述べる。
Next, in step S003, the
まず、ステップS100aにおけるロボット制御システム2aの動作について述べる。前述の通り、ステップS100aでは、補正関数生成装置100aが動作する。図5は、本発明の実施の形態1による補正関数生成装置100aの構成の一例を示す図である。図5では、補正関数生成装置100aの構成が、ロボット制御装置200aとともに示されている。本実施の形態の補正関数生成装置100aは、情報取得部110aと、手先位置推定部120aと、補正関数決定部130aとを備える。また、手先位置推定部120aは、候補関数生成部121aと、手先位置演算部122aとを備える。また、手先位置演算部122aは、リンク長演算部123aと、手先位置変換部124aとを備える。また、補正関数決定部130aは、手先位置比較部131aと、補正関数評価部132aとを備える。
First, the operation of the
また、図6は、本発明の実施の形態1による補正関数生成装置100aの動作の流れの一例を示す図である。図6は、図4のステップS100aにおける補正関数生成装置100aの動作の流れを示している。図5及び図6を用いて、補正関数生成装置100aの動作について述べる。まず、ステップS110aにおいて、情報取得部110aは、温度情報、関節の角度、及び計測位置をロボット制御装置200aから取得する。また、ステップS110aにおいて、情報取得部110aは、基準リンク長をロボット制御装置200aから取得する。基準リンク長は、ロボットアーム300aの4つのリンク311〜314の標準的な長さであり、ロボット制御装置200aに予め記憶される。基準リンク長は、例えば、ロボットアーム300aの設計値とすることや、所定の条件下で予め計測した値とすること等が考えられる。なお、本実施の形態では、情報取得部110aは、ロボット制御装置200aから基準リンク長を取得する構成としているが、この構成に限定されるわけではない。例えば、補正関数生成装置100aが、基準リンク長を予め記憶していても良い。
FIG. 6 is a diagram showing an example of an operation flow of the correction
次に、ステップS120aにおいて、手先位置推定部120aは、情報取得部110aから基準リンク長、温度情報、及び関節の角度を取得し、取得した情報に基づいて、温度情報が計測された時点のロボットアーム300aの手先位置を推定して推定位置を求める。なお、手先位置は、手先の位置を意味する。また、推定位置は、手先位置推定部120aによって推定された手先位置である。ここで、温度情報及び関節の角度は、複数の時刻において計測された情報であるので、推定位置も、温度情報が計測された複数の時刻のそれぞれに対して求められる。例えば、Nを整数として、温度情報及び関節の角度がN回測定されている場合、N個の推定位置が求められる。
Next, in step S120a, the hand
次に、ステップS130aにおいて、補正関数決定部130aは、情報取得部110aから取得した計測位置と、手先位置推定部120aから取得した推定位置とを比較し、比較した結果に基づいて補正関数を決定する。なお、後述するように、計測位置と推測位置との比較結果によっては、処理がステップS120aに戻ることになる。すなわち、計測位置と推測位置との比較結果が所定の条件を満たさない場合には、補正関数決定部130aは、手先の位置の推定を再実施するように手先位置推定部120aに要請する。ここで、計測位置は、温度情報が計測された複数の時刻のそれぞれにおいて計測された情報である。また、推定位置は、温度情報が計測された複数の時刻のそれぞれに対して求められる。例えば、補正関数決定部130aは、温度情報が計測された複数の時刻のそれぞれにおいて、対応する計測位置及び推定位置を比較する。Nを整数として、温度情報がN回測定されている場合、N個の計測位置が取得され、N個の推定位置が求められる。したがって、補正関数決定部130aは、計測位置と推定位置とのN個の組を比較する。
Next, in step S130a, the correction
別の例としては、補正関数決定部130aは、計測位置の平均値と推定位置の平均値とを比較しても良い。補正関数決定部130aで決定される補正関数は、温度情報を変数とする関数である。また、本実施の形態の補正関数生成装置100aにおいて、補正関数は、ロボットアーム300aの4つのリンク311〜314の長さを温度情報によって補正する関数となる。以上が、図4のステップS100aにおける補正関数生成装置100aの動作の流れとなる。
As another example, the correction
次に、手先位置推定部120aが推定位置を求める処理、及び補正関数決定部130aが補正関数を決定する処理について、さらに述べる。図7は、本発明の実施の形態1による補正関数生成装置100aにおける手先位置推定部120a及び補正関数決定部130aの動作の流れの一例を示す図である。図7のステップS121aからステップS124aまでが、図6のステップS120aにおける手先位置推定部120aの動作となる。また、図7のステップS131aからステップS134aまでが、図6のステップS130aにおける補正関数決定部130aの動作となる。
Next, a process in which the hand
まず、ステップS121aにおいて、候補関数生成部121aは、補正関数の候補となる候補関数を生成する。本実施の形態の補正関数生成装置100aにおいて、候補関数は、補正関数と同様に、温度情報を変数とする関数であり、ロボットアーム300aの4つのリンク311〜314の長さを温度情報に基づいて補正する関数となる。候補関数生成部121aで生成される候補関数において、次数等の形式は限定されない。後述する補正関数決定部130aにおける比較結果が所定の条件を満たすまで、候補関数生成部121aは候補関数の生成を繰り返し行う。下記の式(1)は、候補関数生成部121aで生成される候補関数の一例である。
First, in step S121a, the candidate
式(1)において、Lb1nは、時刻nにおける補正後の第1のリンク311の長さである。また、Lb2nは、時刻nにおける補正後の第2のリンク312の長さである。また、Lb3nは、時刻nにおける補正後の第3のリンク313の長さである。また、Lb4nは、時刻nにおける補正後の第4のリンク314の長さである。ここで、時刻nは、温度情報が計測された複数の時刻のいずれかを表す。例えば、Nを整数として、温度情報がN回測定されている場合、時刻nは、温度情報が測定されたN個の時刻のうちのいずれかを表す。また、式(1)において、L1は、第1のリンク311の基準リンク長である。また、L2は、第2のリンク312の基準リンク長である。また、L3は、第3のリンク313の基準リンク長である。また、L4は、第4のリンク314の基準リンク長である。In Expression (1), Lb1 n is the length of the corrected first link 311 at time n. Lb2 n is the length of the corrected
また、式(1)において、T1nは、第1の温度センサ321で計測された時刻nにおける温度情報である。また、T2nは、第2の温度センサ322で計測された時刻nにおける温度情報である。また、T3nは、第3の温度センサ323で計測された時刻nにおける温度情報である。また、T4nは、第4の温度センサ324で計測された時刻nにおける温度情報である。また、T5nは、第5の温度センサ325で計測された時刻nにおける温度情報である。また、T6nは、第6の温度センサ326で計測された時刻nにおける温度情報である。In Expression (1), T1 n is temperature information at time n measured by the
さらに、式(1)において、ki,jは補正のための係数である。ここで、iは1〜4のいずれかであり、jはa〜gのいずれかを表す。また、式(1)に示す候補関数は、下記の式(2)のようにマトリクス形式で表すこともできる。式(2)において、K1は、係数ki,jを要素とする4行7列の行列である。Further, in equation (1), ki , j are coefficients for correction. Here, i is any of 1-4, and j represents any of ag. Further, the candidate function shown in Expression (1) can be expressed in a matrix format as in Expression (2) below. In equation (2), K1 is a 4-by-7 matrix having coefficients ki , j as elements.
候補関数生成部121aは、ステップS121aの処理が行われるたびに、係数ki,jの値を変化させるか、候補関数の形式を変化させる。候補関数の形式は、式(1)又は式(2)に示すものに限定されない。例えば、候補関数は、温度情報に時定数が設けられた式とすることもできる。このような候補関数では、温度情報の変化の履歴も反映した補正が可能となり、補正の精度が向上することが期待できる。下記の式(3)は、温度情報に時定数を設けた候補関数の一例である。式(3)において、時刻n−1は、時刻nより前の時刻を表す。また、式(3)において、K2は、係数を要素とする行列である。さらに、候補関数は、式を一次式以外の形式とすることもできる。下記の式(4)は、二次式の候補関数の例である。式(4)において、K3は、係数を要素とする行列である。候補関数は、更に高次の式としても良い。高次の候補関数とすることで、温度情報に対して非線形なリンク長の変化にも対応でき、補正の精度が向上することが期待できる。The candidate
次に、ステップS123a及びステップS124aにおいて、手先位置演算部122aは、温度情報、関節の角度及び候補関数に基づいて、推定位置を求める。まず、ステップS123aにおいて、リンク長演算部123aは、温度情報及び基準リンク長を候補関数に入力することによって、リンク長を補正して時刻nにおける補正後のリンク長を求める。リンク長は、ロボットアーム300aの4つのリンク311〜314のそれぞれの長さである。次に、ステップS124aにおいて、手先位置変換部124aは、関節の角度と、リンク長演算部123aで求められた補正後のリンク長とに基づいて、時刻nにおける手先位置を推定する。すなわち、ステップS124aにおいて、手先位置変換部124aは、時刻nにおける推定位置Penを求める。推定位置は、補正されたリンク長と、関節の角度とに基づいた幾何学演算によって求めることができる。複数の時刻において温度情報が計測された場合、リンク長の補正及び手先位置の推定は、複数の時刻のそれぞれに対して行われる。Next, in steps S123a and S124a, the hand
このように、本実施の形態の補正関数生成装置100aは、補正関数を用いてロボットアーム300aの4つのリンクの長さを補正し、補正した長さに基づいて手先の位置を推定する。したがって、ロボットアーム300aの4つのリンクのそれぞれは、手先の位置を推定するためのロボットアーム300aの構成単位と考えることができる。この時、補正関数は、手先の位置を推定するためのロボットアーム300aの構成単位の長さを補正する関数であると考えることができる。また、上述の通り、ロボットアーム300aの4つのリンクのそれぞれは、ロボットアーム300aを分割して得られる部位でもある。このように考えると、補正関数は、ロボットアーム300aを分割して得られる部位の長さを補正する関数となる。以上が、ステップS123a及びステップS124aにおける手先位置演算部122aの動作である。
As described above, the correction
次に、ステップS131aにおいて、手先位置比較部131aは、手先位置推定部120aで求められた推定位置と、情報取得部110aで取得された計測位置とを比較する。すなわち、ステップS131aにおいて、手先位置比較部131aは、推定された手先位置と、計測された手先位置とを比較する。例えば本実施の形態の補正関数生成装置100aにおいては、手先位置比較部131aは、計測位置と推定位置との間の距離を算出することによって、計測位置と推定位置とを比較する。時刻nにおける推定位置をPenとし、時刻nにおいて計測された計測位置をPmnとすると、手先位置比較部131aは、推定位置Penと計測位置Pmnとの時刻nにおける距離Dnを求める。計測位置と推定位置との間の距離は、計測位置に対する推定位置の誤差を表す。Next, in step S131a, the hand
複数の時刻において温度情報が計測された場合、手先位置比較部131aは、複数の時刻のそれぞれにおいて、計測位置Pmnと推定位置Penとの間の距離Dnを算出する。この場合、比較結果として、複数の距離が求められる。例えば、Nを整数として、温度情報がN回測定されている場合、N個の計測位置が取得され、N個の推定位置が求められるので、手先位置比較部131aは、N個の距離を算出する。一方、手先位置比較部131aは、計測位置Pmnの平均と推定位置Penの平均との間の距離を算出することもできる。この場合、比較結果として、1つの距離が求められる。If the temperature information is measured at a plurality of times, the hand
次に、ステップS132aにおいて、補正関数評価部132aは、比較結果が所定の条件を満たすか否かを判定する。ステップS132aにおいて、補正関数評価部132aは、例えば、計測位置と推定位置との間の距離が、所定の距離よりも短いか否かを判定する。補正関数評価部132aは、計測位置と推定位置との間の距離が所定の距離よりも短い場合に、比較結果が所定の条件を満たすと判定する。ステップS131aにおいて手先位置比較部131aが複数の距離を求めている場合には、補正関数評価部132aは、最大値が所定の距離よりも短いか否かを判定しても良いし、平均値が所定の距離よりも短いか否かを判定しても良い。
Next, in step S132a, the correction
ステップS132aにおいて、比較結果が所定の条件を満たすと判定された場合には、補正関数評価部132aの動作は、ステップS133へと進む。ステップS133では、補正関数評価部132aは、最新の候補関数を補正関数として決定し、ロボット制御装置200aに出力する。ここで、最新の候補関数は、所定の条件を満たした推定位置を求めるために使用された候補関数となる。すなわち、補正関数評価部132aは、所定の条件を満たした推定位置に対応する補正関数として、最新の候補関数を出力する。一方、ステップS132aにおいて、比較結果が所定の条件を満たさないと判定された場合には、補正関数評価部132aの動作は、ステップS134aへと進む。ステップS134aでは、補正関数評価部132aは、候補関数生成部121aに候補関数の再生成を要請する。その後、補正関数生成装置100aの動作はS121aに戻る。
If it is determined in step S132a that the comparison result satisfies the predetermined condition, the operation of the correction
候補関数の再生成を要請されると、候補関数生成部121aは、ステップS121aにおいて、候補関数の形式または係数を変更し、新たな候補関数を生成する。この際、候補関数生成部121aは、補正関数決定部130aにおける計測位置と推定位置との比較結果に応じて、候補関数の係数を変化させるか、候補関数の形式を変化させるかを決定しても良い。例えば、計測位置と推定位置との間の複数の距離が求められる場合、距離のばらつきが大きい場合には、候補関数の形式を変化させ、距離のばらつきが小さい場合には、候補関数の係数を変化させることが考えられる。
When requested to regenerate the candidate function, the candidate
なお、1回目のステップS121aの動作において、候補関数生成部121aは、任意の形式、任意の係数の候補関数を生成することができる。候補関数生成部121aは、例えば、他の製品等で以前に求められた補正関数を初期の候補関数とすることができる。この場合、計測位置と推定位置との間の距離がより早く収束し、補正関数がより早く求められる可能性がある。ステップS123a以降の動作は前述の通りである。以上が、図4のステップS100aにおけるロボット制御システム2aの動作である。
In the first operation of step S121a, the candidate
次に、図4のステップS200におけるロボット制御システム2aの動作について述べる。前述の通り、ステップS200では、ロボット制御装置200aが動作する。図8は、本発明の実施の形態1によるロボット制御装置200aの構成の一例を示す図である。図8では、ロボット制御装置200aの構成が、補正関数生成装置100a、手先位置計測装置3a、及びロボットアーム300aとともに示されている。本実施の形態のロボット制御装置200aは、計測制御部201aと、記憶部202と、補正関数取得部210と、リンク長補正部220aと、目標位置設定部230と、指令値生成部240aとを備える。
Next, the operation of the
計測制御部201aは、手先位置計測装置3a及びロボットアーム300aを制御し、温度情報、関節の角度、及び計測位置を取得する。この動作は、前述の通り図4のステップS001aで実行される。また、計測制御部201aは、後述するロボット制御装置200aの動作においても、ロボットアーム300aから温度情報を取得する。また、記憶部202は、基準リンク長を記憶している。また、補正関数取得部210は、補正関数生成装置100aで生成された補正関数を取得する。この動作は、前述の通り図4のステップS002で実行される。
The
また、図9は、本発明の実施の形態1によるロボット制御装置200aの動作の流れの一例を示す図である。なお、図9は、図4のステップS200におけるロボット制御装置200aの動作の流れを示している。図4のステップS001a、ステップS002、及びステップS003におけるロボット制御装置200aの動作は前述の通りである。図8及び図9を用いて、ロボット制御装置200aの動作について述べる。まず、ステップS201において、計測制御部201aは、ロボットアーム300aから最新の温度情報を取得する。次に、ステップS220において、リンク長補正部220aは、補正関数取得部210で取得された補正関数に、計測制御部201aで取得された最新の温度情報、及び記憶部202に記憶される基準リンク長を入力して、ロボットアーム300aの4つのリンク311〜314のそれぞれのリンク長を補正し、補正されたリンク長を求める。
FIG. 9 is a diagram showing an example of an operation flow of the
次に、ステップS230において、目標位置設定部230は、ロボットアーム300aの手先を移動させる先となる目標位置を設定する。なお、目標位置には、目標となる手先の向きも含まれる。目標位置設定部230の構成は、様々な構成が考えられる。例えば、目標位置設定部230は、予め記憶された目標位置を読み出す。また、別の例としては、目標位置設定部230は、予め記憶された動作指令値から関節の角度を求め、求められた関節の角度と基準リンク長とに基づいて目標位置を算出する。
Next, in step S230, the target
次に、ステップS240において、指令値生成部240aは、補正されたリンク長に基づいて、手先が目標位置に到達するためのロボットアーム300aの関節の角度を目標角度として算出する。さらに、ステップS240において、指令値生成部240aは、ロボットアーム300aの関節の角度が目標角度となるように動作指令値を生成し、ロボットアーム300aに出力する。以上が、図4のステップS200におけるロボット制御システム2aの動作である。なお、図9に示すロボット制御装置200aの動作の流れは一例であり、一部の動作の順序などを変更することも可能である。
Next, in step S240, the command
ここで、図4に示す動作では、ロボット制御システム2aは、動作指令値の生成を繰り返す間、同一の補正関数を使用し続ける。この場合、ロボットアーム300aに所定の作業を開始させる前に、ロボット制御システム2aは、準備作業として補正関数生成を生成することになる。これに対して、ロボットアーム300aに所定の作業を実施させている間にも、ロボット制御システム2aは補正関数を適宜更新しても良い。図10は、本発明の実施の形態1による補正関数生成装置100aを備えるロボット制御システム2aの動作の流れの別の例を示す図である。図4に示す動作の流れと比較すると、図10に示す動作の流れは、ステップS004を備える点で異なる。以下では、相違点のみを述べる。
Here, in the operation shown in FIG. 4, the
ステップS200の動作が完了すると、ロボット制御システム2aの動作は、ステップS004に進む。ステップS004において、ロボット制御装置200aは、補正関数の更新が必要か否かを判定する。更新が必要であると判定されれば、ロボット制御システム2aの動作は、ステップS001aに戻り、温度情報、関節の角度、及び計測位置が再度取得され、取得された情報に基づいて補正関数が再度生成される。一方、更新は不要であると判定されれば、ロボット制御システム2aの動作は、ステップS003に進む。
When the operation in step S200 is completed, the operation of the
ステップS004において、ロボット制御装置200aは、所定の条件に従って補正関数の更新の要否を判定する。所定の条件としては、所定の時刻に到達した場合、ロボットアーム300aから取得された温度情報が大きく変化した場合、補正関数を更新する指示を外部から受け付けた場合、又はロボットアーム300aが行っている作業に失敗が発生した場合などが考えられる。図10に示す動作の流れによれば、ロボットアーム300aが作業を継続中であっても、ロボット制御システム2aは、必要に応じて補正関数を更新することができる。この結果、ロボット制御システム2aは、更に高精度にリンク長を補正でき、ロボットアーム300aの手先の位置を更に高精度に制御することができる。したがって、ロボット制御システム2aは、更に高精度の作業をロボットアーム300aに実行させることができる。
In step S004, the
本実施の形態の補正関数生成装置100a、ロボット制御システム2a、及びロボットシステム1aは、以上のように動作する。本実施の形態の補正関数生成装置100aは、ロボットアーム300aの手先の位置が計測されれば、補正関数を生成可能である。したがって、本実施の形態の補正関数生成装置100aによれば、位置計測の対象となる点を増加させることなく、ロボットアーム300aの手先の位置を高精度に制御するための補正関数を生成可能となる。また、本実施の形態のロボット制御システム2a及びロボットシステム1aによれば、位置計測の対象となる点を増加させることなく、ロボットアーム300aの手先の位置を高精度に制御することが可能となる。
The correction
実施の形態2.
本実施の形態の補正関数生成装置は、手先の位置の基準位置からの変位を評価して、補正関数を生成するものである。図11は、本発明の実施の形態2による補正関数生成装置100bを備えるロボットシステム1b及びロボット制御システム2bの構成の一例を示す図である。ロボットシステム1bは、ロボットアーム300aを備えるロボットと、ロボット制御システム2bとを備える。また、ロボット制御システム2bは、補正関数生成装置100b及びロボット制御装置200bを備える。ロボットシステム1bには、手先位置計測装置3bが接続される。図11に示されたロボットシステム1bにおいて、ロボット制御システム2bと、手先位置計測装置3bとを除いた他の構成は、図1に示された実施の形態1におけるロボットシステム1aと同様である。以下では、実施の形態1における補正関数生成装置100a、ロボットシステム1a及びロボット制御システム2aとの相違点について述べる。Embodiment 2.
The correction function generation device according to the present embodiment evaluates displacement of a hand position from a reference position to generate a correction function. FIG. 11 is a diagram illustrating an example of a configuration of a
まず、手先位置計測装置3bについて述べる。図1に示された手先位置計測装置3aは、ロボットアーム300aの手先の絶対位置を計測するものとした。一方、図11に示される手先位置計測装置3bは、ロボットアーム300aの手先の位置を基準位置からの変位として計測する。実施の形態1でも述べた通り、手先位置計測装置3bは、手先の絶対位置を計測できる必要はない。手先位置計測装置3bは、所定の基準時間の手先の位置を基準位置として、その基準位置からの変位を計測できればよい。基準位置からの変位は、基準位置からの相対位置と言い換えることができる。したがって、実施の形態1における補正関数生成装置100aは、手先の絶対位置に基づいて補正関数を生成するのに対して、本実施の形態における補正関数生成装置100bは、手先の相対位置に基づいて補正関数を生成する。
First, the hand position measuring device 3b will be described. The hand
手先位置計測装置3bは、例えば、手先に取り付けられたマーカの位置を三方向から計測するレーザ距離センサを用いて実現することができる。マーカは、立方体のブロック形状とし、周囲温度の変化に起因する形状の変化が起こりにくい素材とする。手先位置計測装置3bは、ビジョンセンサや接触式の位置センサを用いて実現しても良い。手先位置計測装置3bは、基準位置からの相対変位を測定することができれば良い。したがって、手先位置計測装置3bにおいては、絶対位置を計測する場合と比較して、計測装置の設置作業が簡易となる。手先の絶対位置を計測するためには、ロボットと計測装置との位置関係を予め取得しておく必要がある。一方、手先の相対位置を計測する場合には、任意に選択された基準時刻における手先位置を計測して基準位置とし、各時点において計測した手先位置を基準位置と比較すれば良いため、ロボットと計測装置との位置関係を取得しておく必要はない。 The hand position measurement device 3b can be realized using, for example, a laser distance sensor that measures the position of a marker attached to the hand from three directions. The marker has a cubic block shape, and is made of a material that does not easily change in shape due to a change in ambient temperature. The hand position measurement device 3b may be realized using a vision sensor or a contact type position sensor. The hand position measurement device 3b only needs to be able to measure the relative displacement from the reference position. Therefore, in the hand position measurement device 3b, the installation work of the measurement device is simplified as compared with the case where the absolute position is measured. In order to measure the absolute position of the hand, it is necessary to obtain the positional relationship between the robot and the measuring device in advance. On the other hand, when measuring the relative position of the hand, the hand position at the arbitrarily selected reference time is measured and set as the reference position, and the hand position measured at each time point may be compared with the reference position. It is not necessary to acquire the positional relationship with the measuring device.
次に、ロボット制御システム2bについて、述べる。図12は、本発明の実施の形態2による補正関数生成装置100bを備えるロボット制御システム2bの動作の流れの一例を示す図である。図12に示された動作の流れは、図4に示されたものと比較して、次の3つの点で異なる。第1に、図12に示された動作の流れは、ステップS005の動作を備える。第2に、図12のステップS001bの動作は、図4のステップS001aの動作と部分的に異なる。第3に、図12のステップS100bの動作は、図4のステップS100aの動作と部分的に異なる。なお、図12に示された動作の流れは、図4に示された動作の流れが変更されたものとして例示されているが、図10に示された動作の流れが変更されても良い。以下、実施の形態1と比べて動作が異なる点を中心に、本実施の形態のロボット制御システム2bの動作の流れを述べる。
Next, the
まず、ステップS005において、ロボット制御装置200bは、基準時刻における温度情報及び関節の角度をロボットアーム300aから取得する。基準時刻は、予め定められた時刻であっても良いし、温度情報が予め定められた温度を示した時刻であっても良い。また、温度情報が示す温度が安定している時間から基準時刻が選択されれば、より高精度に手先位置を推測可能な補正関数を得ることが期待できる。例えば、ロボットアーム300aを恒温状態の環境条件でしばらく放置すれば、温度情報が示す温度は安定すると考えられる。また、ステップS005において、ロボット制御装置200bは、手先位置計測装置3bに、基準時刻における手先の位置を基準位置として記憶させる。なお、ロボット制御装置200bは、基準時刻において、ロボットアーム300aが予め定められた計測姿勢となるように、ロボットアーム300aを制御する。
First, in step S005, the
次に、ステップS001bにおいて、ロボット制御装置200bは、計測時刻における温度情報及び関節の角度をロボットアーム300aから取得する。計測時刻は、基準時刻とは異なる時刻であり、複数の時刻であることが望ましい。また、ステップS001bにおいて、ロボット制御装置200bは、計測位置として、計測時刻における計測変位を手先位置計測装置3bから取得する。計測変位は、手先位置計測装置3bによって計測される手先位置の基準位置からの変位である。なお、ロボット制御装置200bは、計測時刻におけるロボットアーム300aの計測姿勢が、基準時刻における計測姿勢と同じとなるように、ロボットアーム300aを制御する。
Next, in step S001b, the
次に、ステップS100bにおいて、補正関数生成装置100bは、温度情報、関節の角度、及び計測変位をロボット制御装置200bから取得する。また、ステップS100bにおいて、補正関数生成装置100bは、ロボット制御装置200bから取得した情報に基づいて、補正関数を生成する。ステップS002以降のロボット制御システム2bの動作は、実施の形態1におけるロボット制御システム2aの動作と同様である。以上が、ロボット制御システム2bの動作の流れである。以下では、ステップS100bにおけるロボット制御システム2bの動作について、更に詳しく述べる。前述の通り、ステップS100bでは、補正関数生成装置100bが動作する。
Next, in step S100b, the correction
図13は、本発明の実施の形態2による補正関数生成装置100bの構成の一例を示す図である。図13では、補正関数生成装置100bの構成が、ロボット制御装置200bとともに示されている。本実施の形態の補正関数生成装置100bは、情報取得部110bと、手先位置推定部120bと、補正関数決定部130bとを備える。また、手先位置推定部120bは、候補関数生成部121aと、手先位置演算部122bとを備える。また、手先位置演算部122bは、リンク長演算部123bと、手先位置変換部124bとを備える。また、補正関数決定部130bは、手先位置比較部131bと、補正関数評価部132aとを備える。図13において、図5に示されるものと同一のものには同一の符号が付されており、これらについての詳細な説明は省略される。
FIG. 13 is a diagram illustrating an example of a configuration of the correction
また、図14は、本発明の実施の形態2による補正関数生成装置100bの動作の流れの一例を示す図である。図14は、図12のステップS100bにおける補正関数生成装置100bの動作の流れを示している。図13及び図14を用いて、補正関数生成装置100bの動作について述べる。まず、ステップS110bにおいて、情報取得部110bは、温度情報、関節の角度、及び計測位置をロボット制御装置200bから取得する。ここで、情報取得部110bは、基準時刻における情報と、計測時刻のそれぞれにおける情報とを取得する。また、ステップS110bにおいて、情報取得部110bは、基準リンク長をロボット制御装置200bから取得する。
FIG. 14 is a diagram showing an example of an operation flow of the correction
次に、ステップS120bにおいて、手先位置推定部120bは、情報取得部110bから基準リンク長、温度情報、及び関節の角度を取得し、取得した情報に基づいて、温度情報が計測された時点のロボットアーム300aの手先位置を推定して推定位置を求める。なお、手先位置推定部120bは、基準位置からの変位として推定位置を求める。具体的には、手先位置推定部120bは、基準時刻における温度情報と関節の角度とに基づいて、基準時刻における推定位置を求める。また、手先位置推定部120bは、計測時刻における温度情報と関節の角度とに基づいて、計測時刻における推定位置を求める。さらに、手先位置推定部120bは、基準時刻における推定位置と計測時刻における推定位置との間の変位を求めて、最終的な推定位置として出力する。
Next, in step S120b, the hand
次に、ステップS130bにおいて、補正関数決定部130bは、情報取得部110bから取得した計測変位と、手先位置推定部120bにおいて基準位置からの変位として求められた推定位置とを比較し、比較した結果に基づいて補正関数を決定する。なお、図6と同様に、計測変位と推測位置との比較結果によっては、処理がステップS120bに戻ることになる。以上が、図12のステップS100bにおける補正関数生成装置100bの動作の流れとなる。次に、手先位置推定部120bが推定位置を求める処理、及び補正関数決定部130bが補正関数を決定する処理について、さらに述べる。
Next, in step S130b, the correction
図15は、本発明の実施の形態2による補正関数生成装置100bにおける手先位置推定部120b及び補正関数決定部130bの動作の流れの一例を示す図である。図15のステップS121aからステップS124bまでが、図14のステップS120bにおける手先位置推定部120bの動作となる。また、図15のステップS131bからステップS134aまでが、図14のステップS130bにおける補正関数決定部130bの動作となる。
FIG. 15 is a diagram showing an example of an operation flow of the hand
まず、ステップS121aにおいて、候補関数生成部121aは、補正関数の候補となる候補関数を生成する。この動作は、図7のステップS121aにおける動作と同様である。次に、ステップS123bにおいて、リンク長演算部123bは、基準時刻における温度情報及び基準リンク長を候補関数に入力することによって、基準時刻におけるリンク長を求める。また、ステップS123bにおいて、リンク長演算部123bは、計測時刻のそれぞれにおける温度情報及び基準リンク長を候補関数に入力することによって、計測時刻のそれぞれにおけるリンク長を求める。
First, in step S121a, the candidate
次に、ステップS124bにおいて、手先位置変換部124bは、基準時刻における関節の角度と、基準時刻におけるリンク長とに基づいて、基準時刻における手先位置を推定する。また、ステップS124bにおいて、手先位置変換部124bは、計測時刻のそれぞれにおける関節の角度と、計測時刻のそれぞれにおけるリンク長とに基づいて、計測時刻のそれぞれにおける手先位置を推定する。さらに、ステップS124bにおいて、手先位置変換部124bは、基準時刻における手先位置と、計測時刻のそれぞれにおける手先位置との間の変位を求めて、計測時刻のそれぞれにおける最終的な推定位置とする。以上が、ステップS123b及びステップS124bにおける手先位置演算部122bの動作である。
Next, in step S124b, the hand
次に、ステップS131bにおいて、手先位置比較部131bは、手先位置推定部120bで変位として求められた推定位置と、情報取得部110bで取得された計測変位とを比較する。例えば、手先位置比較部131bは、推定位置と計測変位との間の差分を算出することによって、推定位置と計測変位とを比較する。次に、ステップS132aにおいて、補正関数評価部132aは、比較結果が所定の条件を満たすか否かを判定する。ステップS132aにおいて、補正関数評価部132aは、例えば、推定位置と計測変位との間の差分が、所定の値よりも小さいか否かを判定する。補正関数評価部132aは、推定位置と計測変位との間の差分が所定の値よりも小さい場合に、比較結果が所定の条件を満たすと判定する。ステップS133及びステップS134aにおける補正関数評価部132aの動作は、図7のステップS133及びステップS134aにおける動作と同様である。以上が、図12のステップS100bにおけるロボット制御システム2bの動作である。図12のステップS002、ステップS200、及びステップS003の動作は、図4のステップS002、ステップS200、及びステップS003の動作と同様である。
Next, in step S131b, the hand
本実施の形態の補正関数生成装置100b、ロボット制御システム2b、及びロボットシステム1bは、以上のように動作する。本実施の形態の補正関数生成装置100b、ロボット制御システム2b及びロボットシステム1bによれば、簡易に設置可能である手先位置計測装置3bを用いて、ロボットアーム300aの手先の位置を高精度に制御することが可能となる。また、本実施の形態の補正関数生成装置100b、ロボット制御システム2b、及びロボットシステム1bは、実施の形態1で述べた効果も有する。
The correction
実施の形態3.
実施の形態1による補正関数生成装置100a、及び実施の形態2による補正関数生成装置100bは、ロボットアーム300aに搭載された温度センサ321〜326で計測された温度情報に基づいて補正関数を生成する構成であった。これに対して、本実施の形態の補正関数生成装置100cは、ロボットアーム300aの周囲の環境温度も使用して補正関数を生成する。Embodiment 3.
The correction
図16は、本発明の実施の形態3による補正関数生成装置100cを備えるロボットシステム1c及びロボット制御システム2cの構成の一例を示す図である。ロボットシステム1cは、ロボットアーム300aを備えるロボットと、ロボット制御システム2cとを備える。また、ロボット制御システム2cは、補正関数生成装置100c及びロボット制御装置200cを備える。ロボットシステム1cには、手先位置計測装置3a及び環境温度計測装置4が接続される。図16に示されたロボットシステム1cにおいて、ロボット制御システム2cを除いた他の構成は、図1に示された実施の形態1におけるロボットシステム1aと同様である。なお、図16に示されるロボットシステム1cは、実施の形態1におけるロボットシステム1aの構成の一部が変更されたものであるが、他の実施の形態のロボットシステムの構成の一部を変更することもできる。以下では、実施の形態1におけるロボット制御システム2aと、本実施の形態におけるロボット制御システム2cとの相違点について述べる。まず、補正関数生成装置100cについて述べる。
FIG. 16 is a diagram illustrating an example of a configuration of a
図17は、本発明の実施の形態3による補正関数生成装置100cの構成の一例を示す図である。図17では、補正関数生成装置100cの構成が、ロボット制御装置200cとともに示されている。本実施の形態の補正関数生成装置100cは、情報取得部110cと、手先位置推定部120cと、補正関数決定部130aとを備える。また、手先位置推定部120cは、候補関数生成部121cと、手先位置演算部122cとを備える。また、手先位置演算部122cは、リンク長演算部123cと、手先位置変換部124aとを備える。また、補正関数決定部130aは、手先位置比較部131aと、補正関数評価部132aとを備える。図17において、図5に示されるものと同一のものには同一の符号が付されており、これらについての詳細な説明は省略される。
FIG. 17 is a diagram illustrating an example of a configuration of the correction
図17に示される補正関数生成装置100cの構成は、図5に示される補正関数生成装置100aの構成と比較すると、情報取得部110c、候補関数生成部121c及びリンク長演算部123cのみが異なる。まず、情報取得部110cについて述べる。情報取得部110cは、温度情報、関節の角度、計測位置、及び基準リンク長をロボット制御装置200cから取得するとともに、環境温度計測装置4で計測された環境温度もロボット制御装置200cから取得する。取得される環境温度は、温度情報が計測された時点のロボットアーム300aの周囲環境の温度である。
The configuration of the correction
次に、候補関数生成部121cについて述べる。候補関数生成部121cは、候補関数を生成する。本実施の形態の補正関数生成装置100cにおいて生成される候補関数は、温度情報及び環境温度を変数とする関数である。下記の式(5)は、候補関数生成部121cで生成される候補関数の一例である。式(5)において、T0nは、環境温度計測装置4で計測された時刻nにおける環境温度である。また、式(5)において、ki,jは補正のための係数である。ここで、iは1〜4のいずれかであり、jはa〜hのいずれかを表す。さらに、式(5)において、K4は、係数ki,jを要素とする4行8列の行列である。式(5)における他の記号は、式(2)におけるものと同様である。Next, the
次に、リンク長演算部123cについて述べる。リンク長演算部123cは、候補関数生成部121cで生成される候補関数に、温度情報、基準リンク長、及び環境温度を入力することによって、リンク長を補正して時刻nにおけるリンク長を求める。補正関数生成装置100cにおける他のブロックの動作は、実施の形態1におけるものと同様である。
Next, the link
次に、本実施の形態のロボット制御装置200cと、実施の形態1におけるロボット制御装置200aとの相違点について述べる。図18は、本発明の実施の形態3によるロボット制御装置200cの構成の一例を示す図である。図18では、ロボット制御装置200cの構成が、補正関数生成装置100c、手先位置計測装置3a、環境温度計測装置4、及びロボットアーム300aとともに示されている。本実施の形態のロボット制御装置200cは、計測制御部201cと、記憶部202と、補正関数取得部210と、リンク長補正部220cと、目標位置設定部230と、指令値生成部240aとを備える。
Next, differences between the
図18に示されるロボット制御装置200cの構成は、図8に示されるロボット制御装置200aの構成と比較して、計測制御部201c及びリンク長補正部220cのみが異なる。以下では、計測制御部201c及びリンク長補正部220cの動作についてのみ相違点を述べ、他のブロックの動作については説明を省略する。計測制御部201cは、手先位置計測装置3a、ロボットアーム300aに加えて環境温度計測装置4も制御し、温度情報、関節の角度、計測位置、及び環境温度を取得する。また、リンク長補正部220cは、補正関数生成装置で生成された温度情報及び環境温度を変数とする補正関数を用いて、リンク長を補正して、最新の計測値に対応したリンク長を求める。ロボット制御装置200cの他のブロックの動作は、実施の形態1で述べた動作と同様である。
The configuration of the
本実施の形態の補正関数生成装置100c、ロボット制御システム2c、及びロボットシステム1cは、以上のように動作する。本実施の形態の補正関数生成装置100c、ロボット制御システム2c及びロボットシステム1cによれば、ロボットアーム300aの周囲環境の影響も反映され、ロボットアーム300aの手先の位置を更に高精度に制御することが可能となる。ロボットアーム300aの動作が遅い場合など、ロボットアーム300aの負荷が小さい場合には、ロボットアーム300aの動作に起因する温度変化よりも、環境温度に起因する温度変化が支配的となる。本実施の形態の補正関数生成装置100c、ロボット制御システム2c及びロボットシステム1cは、このような場合に特に有効となる。
The correction
さらに、ロボットアーム300aにおいて、モータ等の発熱源が近くに存在しない箇所の温度は、周囲環境の温度の影響を大きく受けると考えられる。周囲環境の温度が計測されていれば、このような箇所には必ずしも温度センサが取り付けられる必要はない。したがって、本実施の形態の補正関数生成装置100c、ロボット制御システム2c及びロボットシステム1cによれば、ロボットアーム300aに取り付けられる温度センサの数を減少させることが可能となる。また、本実施の形態の補正関数生成装置100c、ロボット制御システム2c、及びロボットシステム1cは、実施の形態1又は実施の形態2で述べた効果も有する。
Further, in the
実施の形態4.
実施の形態1による補正関数生成装置100a、実施の形態2による補正関数生成装置100b、及び実施の形態3による補正関数生成装置100cは、リンク311〜314のそれぞれの長さを補正する補正関数を生成するものであった。しかし、リンク311〜314のそれぞれを、更に複数の部位に分割することも考えられる。本実施の形態の補正関数生成装置は、リンク311〜314のそれぞれが更に分割されて得られた部位ごとの長さを補正する補正関数を生成する。
The correction
図19は、本発明の実施の形態4によるロボットシステム1dの構成の一例を示す図である。本実施の形態のロボットシステム1dは、ロボットアーム300dを備えるロボットと、ロボット制御システム2aとを備える。また、本実施の形態のロボットシステム1dは、手先位置計測装置3aと接続される。ロボット制御システム2a及び手先位置計測装置3aの構成は、実施の形態1におけるものと同様であり、ロボット制御システム2aで生成される候補関数及び補正関数のみが異なる。以下では、相違点についてのみ説明する。なお、図19において、ロボットシステム1dは、実施の形態1におけるロボット制御システム2aを備える構成として例示されているが、実施の形態2におけるロボット制御システム2b、又は実施の形態3におけるロボット制御システム2cを備える構成とすることもできる。
FIG. 19 is a diagram illustrating an example of a configuration of a
図20は、本発明の実施の形態4によるロボットシステム1dにおけるロボットアーム300dの構成の一例を示す図である。図20において、図2に示されたと同一のものには同一の符号を付している。図20に示されたロボットアーム300dにおいて、第1のリンク311、第2のリンク312、及び第3のリンク313のそれぞれは、複数の部位に分割される。具体的には、第1のリンク311は、長さがL11である部位3111と、長さがL12である部位3112とに分割される。ここで、第1のリンク311は、部位3111と部位3112とに分割して考えられるが、必ずしも部位3111と部位3112とに物理的に分割されている訳ではない。この点は、他のリンクについても同様である。また、第2のリンク312は、長さがL21である部位3121と、長さがL22である部位3122とに分割される。また、第3のリンク313は、長さがL31である部位3131と、長さがL32である部位3132と、長さがL33である部位3133とに分割される。
FIG. 20 is a diagram illustrating an example of a configuration of a
ロボットアーム300dにおいて、部位3111、部位3112、部位3121、部位3122、部位3131、部位3132、部位3133、及び第4のリンク314が、ロボットアーム300dを分割して得られる部位であり、手先の位置を推定するためのロボットアーム300dの構成単位である。ロボットアーム300dにおいて、各部位は温度センサの設置位置、または関節の位置を区切りとして分割されている。図20で示された各部位の数及び位置は一例であるが、各部位は関節を跨がないように設定される。
In the
補正関数生成装置100aは、上記のように設定された各部位の長さを補正する補正関数を生成する。下記の式(6)は、補正関数生成装置100aで生成される補正関数の一例である。式(6)において、Lb11n、Lb12n、Lb21n、Lb22n、Lb31n、Lb32n、Lb33n、Lb4nは、時刻nにおける補正後の各部位の長さである。また、式(6)において、L11、L12、L21、L22、L31、L32、L33、L4は、各部位の基準となる長さであり、各部位の補正前の長さである。さらに、式(6)において、K5は、係数ki,jを要素とする8行7列の行列である。式(6)における他の記号は、式(2)におけるものと同様である。The correction
本実施の形態のロボットシステム1dの他の動作は、実施の形態1のロボットシステム1aと同様である。本実施の形態の補正関数生成装置100a、ロボット制御システム2a、及びロボットシステム1dによれば、ロボットアーム300dのリンク内を分割した部位を設定し、部位毎の長さを補正する補正関数を生成するので、ロボットアーム300dの手先の位置を更に高精度に制御することが可能となる。本実施の形態の補正関数生成装置100a、ロボット制御システム2a、及びロボットシステム1dは、ロボットアーム300dのリンク内に、温度変化に対する伸縮の度合いが局所的に異なる箇所が存在する場合に特に有効となる。例えば、他の箇所と比べて異なる素材が使用されている箇所や、構造が異なる箇所が、リンク内に存在すると、その箇所の伸縮の度合いは局所的に異なる可能性がある。例えば、ロボットアーム300dは、関節を駆動するモータの取り付け方法や内部の構造によっては、リンク内で局所的に熱膨張の傾向が異なる可能性がある。
Other operations of the
実施の形態5.
実施の形態1による補正関数生成装置100a、実施の形態2による補正関数生成装置100b、及び実施の形態3による補正関数生成装置100cは、まず候補関数を生成し、所定の条件を満たした候補関数を補正関数とするものであった。これに対して、本実施の形態の補正関数生成装置は、まずリンク長の候補を生成し、所定の条件を満たしたリンク長の候補を用いて補正関数を生成するものである。Embodiment 5.
The correction
図21は、本発明の実施の形態5によるロボットシステム1eの構成の一例を示す図である。本実施の形態のロボットシステム1eは、ロボットアーム300aを備えるロボットと、ロボット制御システム2eとを備える。また、ロボット制御システム2eは、補正関数生成装置100eと、ロボット制御装置200aとを備える。また、本実施の形態のロボットシステム1eは、手先位置計測装置3aと接続される。本実施の形態のロボットシステム1eの構成は、補正関数生成装置100eを除いて実施の形態1におけるものと同様である。以下では、相違点である補正関数生成装置100eについてのみ説明する。なお、図21において、ロボットシステム1dは、実施の形態1におけるロボットシステム1aから補正関数生成装置を置き換えた構成として例示されているが、実施の形態2におけるロボットシステム1b、実施の形態3におけるロボットシステム1c、又は実施の形態4におけるロボットシステム1dから補正関数生成装置を置き換えた構成とすることもできる。
FIG. 21 is a diagram illustrating an example of a configuration of a
図22は、本発明の実施の形態5による補正関数生成装置100eの構成の一例を示す図である。図22では、補正関数生成装置100eの構成が、ロボット制御装置200aとともに示されている。本実施の形態の補正関数生成装置100eは、情報取得部110aと、手先位置推定部120eと、補正関数決定部130eとを備える。また、手先位置推定部120eは、候補リンク長生成部125と、手先位置演算部122eとを備える。また、補正関数決定部130eは、手先位置比較部131aと、リンク長評価部135と、補正関数生成部136とを備える。なお、図22において、図5におけるものと同様のブロックには、同一の符号が付されており、詳細な説明は省略される。
FIG. 22 is a diagram illustrating an example of a configuration of the correction
また、図23は、本発明の実施の形態5による補正関数生成装置100eの動作の流れの一例を示す図である。補正関数生成装置100eの動作を除き、ロボット制御システム2eの動作の流れは、図4に示されるロボット制御システム2aの動作の流れと同様である。図23は、図4のステップS100aにおける補正関数生成装置100eの動作の流れを示している。図22及び図23を用いて、補正関数生成装置100eの動作について述べる。まず、ステップS110aにおいて、情報取得部110aは、温度情報、関節の角度、計測位置、及び基準リンク長を取得する。
FIG. 23 is a diagram illustrating an example of an operation flow of the correction
次に、ステップS125において、候補リンク長生成部125は、温度情報が測定された時点におけるリンク長の候補となる候補リンク長を生成する。より具体的には、時刻nに温度情報が計測されたとすると、候補リンク長生成部125は、時刻nに対応する第1のリンク311の候補リンク長La1n、第2のリンク312の候補リンク長La2n、第3のリンク313の候補リンク長La3n、及び第4のリンク314の候補リンク長La4nを生成する。後述する補正関数決定部130eにおける比較結果が所定の条件を満たすまで、候補リンク長生成部125は候補リンク長の生成を繰り返し行う。Next, in step S125, the candidate link
ここで、温度情報が複数の時刻において計測されている場合、候補リンク長も、温度情報が計測された複数の時刻のそれぞれに対して生成される。例えば、Nを整数として、温度情報がN回測定されている場合、N組の候補リンク長が生成される。候補リンク長生成部125は、例えば、候補リンク長の初期値を基準リンク長とし、その後、動作が繰り返されるたびに値を変化させて候補リンク長の生成を行う。候補リンク長生成部125は、ロボットアーム300aを分割して得られる複数の部位のそれぞれの長さを推定する長さ推定部として機能する。
Here, when the temperature information is measured at a plurality of times, the candidate link length is also generated for each of the plurality of times at which the temperature information is measured. For example, if the temperature information is measured N times, where N is an integer, N sets of candidate link lengths are generated. The candidate link
次に、ステップS122eにおいて、手先位置演算部122eは、候補リンク長及び関節の角度に基づいて、推定位置を求める。より詳細には、手先位置演算部122eは、時刻nに対応する候補リンク長、及び時刻nにおいて計測された関節の角度に基づいて、時刻nにおける推定位置Penを求める。前述の通り、推定位置は、推定された手先位置である。推定位置は、候補リンク長と、関節の角度とに基づいた幾何学演算によって求めることができる。複数の時刻において温度情報が計測されている場合、手先位置の推定は、複数の時刻のそれぞれに対して行われる。例えば、Nを整数として、温度情報がN回測定されている場合、N個の推定位置が求められる。Next, in step S122e, the hand
次に、ステップS131aにおいて、手先位置比較部131aは、手先位置推定部120eで求められた推定位置と、情報取得部110aで取得された計測位置とを比較する。例えば、手先位置比較部131aは、時刻nにおける計測位置と、時刻nにおける推定位置との間の距離Dnを算出することによって、計測位置と推定位置とを比較する。複数の時刻において温度情報が計測されている場合、手先位置比較部131aは、複数の時刻のそれぞれにおいて、計測位置と推定位置との間の距離を算出する。この場合、比較結果として、複数の距離が求められる。例えば、Nを整数として、温度情報がN回測定されている場合、N個の計測位置が取得され、N個の推定位置が求められるので、手先位置比較部131aは、N個の距離を算出する。Next, in step S131a, the hand
次に、ステップS135において、リンク長評価部135は、比較結果が所定の条件を満たすか否かを判定する。ステップS135において、リンク長評価部135は、例えば、計測位置と推定位置との間の距離が、所定の距離よりも短いか否かを判定する。リンク長評価部135は、計測位置と推定位置との間の距離が所定の距離よりも短い場合に、比較結果が所定の条件を満たすと判定する。ステップS131aにおいて手先位置比較部131aが複数の距離を求めている場合には、リンク長評価部135は、複数の距離の全てが所定の条件を満たす場合に、比較結果が所定の条件を満たすと判定する。一方、複数の距離のうちの1つでも所定の条件を満たさない場合、リンク長評価部135は、比較結果が所定の条件を満たさないと判定する。
Next, in step S135, the link
ステップS135において、比較結果が所定の条件を満たすと判定された場合には、補正関数決定部130eの動作は、ステップS136へと進む。ステップS136において、リンク長評価部135は、最新の候補リンク長La1n、La2n、La3n、及びLa4nを補正関数生成部136に出力する。ここで、最新の候補リンク長は、所定の条件を満たした推定位置を求めるために使用された候補リンク長となる。また、ステップS136において、補正関数生成部136は、リンク長評価部135から出力された候補リンク長と、情報取得部110aで取得された温度情報及び基準リンク長とに基づいて補正関数を生成し、ロボット制御装置200aに出力する。したがって、補正関数生成部136は、所定の条件を満たした推定位置に対応する補正関数を生成することになる。If it is determined in step S135 that the comparison result satisfies the predetermined condition, the operation of the correction
一方、ステップS135において、比較結果が所定の条件を満たさないと判定された場合には、補正関数決定部130eの動作は、ステップS137へと進む。ステップS137において、リンク長評価部135は、候補リンク長生成部125に候補リンク長の再生成を要請する。その後、補正関数生成装置100eの動作はS125に戻る。複数の時刻において温度情報が計測されている場合、候補リンク長生成部125は、常に全ての時刻に対応する候補リンク長を生成する必要はなく、ステップS135において所定の条件を満たさなかった候補リンク長のみを再生成すれば良い。例えば、Nを整数として、温度情報がN回測定されている場合、N組の候補リンク長が生成される。N組の候補リンク長のうち時刻n1における候補リンク長のみが、ステップS135において所定の条件を満たさなかったのであれば、候補リンク長生成部125は、時刻n1における候補リンク長のみを再生成すれば良い。以上が、補正関数生成装置100eの動作である。
On the other hand, if it is determined in step S135 that the comparison result does not satisfy the predetermined condition, the operation of the correction
次に、図23のステップS136における補正関数生成部136の動作について、更に詳細に述べる。図24は、本発明の実施の形態5による補正関数生成装置100eにおける補正関数生成部136の構成の一例を示す図である。図24では、補正関数生成部136の構成が、情報取得部110a、リンク長評価部135、及びロボット制御装置200aとともに示されている。補正関数生成部136は、候補関数生成部121aと、リンク長演算部123aと、リンク長比較部138と、補正関数評価部132bとを備える。なお、候補関数生成部121a及びリンク長演算部123aは、実施の形態1におけるものと同様のものである。また、図25は、本発明の実施の形態5による補正関数生成装置100eにおける補正関数生成部136の動作の流れの一例を示す図である。図24及び図25を用いて、補正関数生成部136の動作について述べる。
Next, the operation of the
まず、ステップS121aにおいて、候補関数生成部121aは、補正関数の候補となる候補関数を生成する。候補関数生成部121aは、例えば、上述の式(2)、式(3)、又は式(4)で表される候補関数を生成する。後述するリンク長比較部138における比較結果が所定の条件を満たすまで、候補関数生成部121aは候補関数の生成を繰り返し行う。次に、ステップS123aにおいて、リンク長演算部123aは、情報取得部110aによって取得された温度情報及び基準リンク長を候補関数に入力することによって、リンク長を補正して時刻nにおけるリンク長Lb1n、Lb2n、Lb3n、及びLb4nを求める。時刻nは、温度情報が計測された時刻を表す。複数の時刻において温度情報が計測されている場合、リンク長の補正は、複数の時刻のそれぞれに対して行われる。例えば、Nを整数として、温度情報がN回測定されている場合、N組のリンク長が求められる。First, in step S121a, the candidate
次に、ステップS138において、リンク長比較部138は、2種類のリンク長を比較する。ここで、2種類のリンク長の一方は、リンク長演算部123aで候補関数を用いて求められたリンク長Lb1n、Lb2n、Lb3n、及びLb4nである。また、2種類のリンク長の他方は、リンク長評価部135から出力されたリンク長La1n、La2n、La3n、及びLa4nである。例えば、リンク長比較部138は、2種類のリンク長の間の差分を算出する。また、リンク長比較部138は、ロボットアーム300aが備えるリンク毎に、2種類のリンク長を比較する。Next, in step S138, the link
より具体的には、リンク長比較部138は、Lb1nとLa1nとの差分dL1nを、時刻nにおける第1のリンク311に対する差分として算出する。また、リンク長比較部138は、Lb2nとLa2nとの差分dL2nを、時刻nにおける第2のリンク312に対する差分として算出する。また、リンク長比較部138は、Lb3nとLa3nとの差分dL3nを、時刻nにおける第3のリンク313に対する差分として算出する。また、リンク長比較部138は、Lb4nとLa4nとの差分dL4nを、時刻nにおける第4のリンク314に対する差分として算出する。More specifically, the link
複数の時刻において温度情報が計測されている場合、リンク長比較部138は、複数の時刻のそれぞれにおいて、対応する2組のリンク長を比較する。例えば、Nを整数として、温度情報がN回測定されている場合、リンク長比較部138は、差分dL1n、dL2n、dL3n、及びdL4nからなる組をN組算出する。次に、ステップS132bにおいて、補正関数評価部132bは、リンク長比較部138における比較結果が所定の条件を満たすか否かを判定する。ステップS132bにおいて、補正関数評価部132bは、例えば、リンク長比較部138で求められた差分dL1n、dL2n、dL3n、及びdL4nの全てが、所定の値よりも小さいか否かを判定する。補正関数評価部132bは、差分dL1n、dL2n、dL3n、及びdL4nの全てが所定の値よりも小さい場合に、比較結果が所定の条件を満たすと判定する。一方、補正関数評価部132bは、差分dL1n、dL2n、dL3n、及びdL4nの少なくとも1つが所定の値よりも大きい場合に、比較結果が所定の条件を満たさないと判定する。When the temperature information is measured at a plurality of times, the link
ステップS138において、リンク長比較部138がN組の差分を求めている場合には、補正関数評価部132bは、各リンクに対するN個の差分の最大値または平均値を求め、求められた最大値または平均値が所定の値よりも小さい否かを判定すれば良い。この場合、補正関数評価部132bは、求められた平均値または最大値の全てが所定の値よりも小さい場合に、比較結果が所定の条件を満たすと判定する。ステップS132bにおいて、比較結果が所定の条件を満たすと判定された場合には、補正関数評価部132bの動作は、ステップS133へと進む。ステップS133では、補正関数評価部132bは、最新の候補関数を補正関数として決定し、ロボット制御装置200aに出力する。
In step S138, when the link
一方、ステップS132bにおいて、比較結果が所定の条件を満たさないと判定された場合には、補正関数評価部132bの動作は、ステップS134bへと進む。ステップS134bでは、補正関数評価部132bは、候補関数生成部121aに候補関数の再生成を要請する。その後、補正関数生成部136の動作はS121aに戻る。候補関数の再生成を要請されると、候補関数生成部121aは、ステップS121aにおいて、候補関数の形式または係数を変更し、新たな候補関数を生成する。この際、候補関数生成部121aは、所定の値よりも差分が大きいと判定されたリンクに対応する係数のみを変更しても良い。
On the other hand, when it is determined in step S132b that the comparison result does not satisfy the predetermined condition, the operation of the correction
本実施の形態の補正関数生成装置100eは、以上のように動作する。本実施の形態の補正関数生成装置100eによれば、位置計測の対象となる点を増加させることなく、ロボットアーム300aの手先の位置を高精度に制御するための補正関数を生成可能となる。また、本実施の形態のロボット制御システム2e及びロボットシステム1eによれば、位置計測の対象となる点を増加させることなく、ロボットアーム300aの手先の位置を高精度に制御することが可能となる。
The correction
実施の形態6.
温度変化に対するロボットアームの伸縮は、動作条件によって異なる特徴を持つことが考えられる。例えば、動作条件によって、ロボットアームの伸縮する部位が変化したり、伸縮の程度が変化したりすることが考えられる。動作条件としては、ロボットアームの動作経路、動作速度、動作加速度、周囲環境の温度、または設置される台の構造など、様々な条件が考えられる。ロボットアームの動作経路、動作速度、又は動作加速度をロボットアームの動作内容と呼ぶ。本実施の形態のロボット制御システム及びロボットシステムは、ロボット制御装置が、動作条件毎に生成された複数の補正関数を記憶し、ロボットアームに作業を行わせる際の動作条件に応じて補正関数を選択することで、より高精度な作業を実現するものである。Embodiment 6.
The expansion and contraction of the robot arm with respect to the temperature change may have different characteristics depending on the operating conditions. For example, it is conceivable that a portion where the robot arm expands / contracts changes or a degree of expansion / contraction changes depending on operating conditions. As the operation conditions, various conditions such as the operation path of the robot arm, the operation speed, the operation acceleration, the temperature of the surrounding environment, and the structure of the table to be installed can be considered. The operation path, operation speed, or operation acceleration of the robot arm is called the operation content of the robot arm. In the robot control system and the robot system according to the present embodiment, the robot control device stores a plurality of correction functions generated for each operation condition, and generates the correction function according to the operation condition when the robot arm performs a work. By making a selection, more accurate work is realized.
図26は、本発明の実施の形態6によるロボットシステム1fの構成の一例を示す図である。本実施の形態のロボットシステム1fは、ロボットアーム300aを備えるロボットと、ロボット制御システム2fとを備える。また、ロボット制御システム2fは、補正関数生成装置100aと、ロボット制御装置200fとを備える。また、本実施の形態のロボットシステム1fは、手先位置計測装置3aと接続される。本実施の形態のロボットシステム1fの構成は、ロボット制御装置200fを除いて実施の形態1におけるロボットシステム1aと同様である。以下では、相違点であるロボット制御装置200fについてのみ説明する。なお、図26において、ロボットシステム1fは、実施の形態1におけるロボットシステム1aからロボット制御装置を置き換えた構成として例示されているが、実施の形態2におけるロボットシステム1b、実施の形態3におけるロボットシステム1c、実施の形態4におけるロボットシステム1d、又は実施の形態5におけるロボットシステム1eからロボット制御装置を置き換えた構成とすることもできる。
FIG. 26 is a diagram illustrating an example of a configuration of a
図27は、本発明の実施の形態6によるロボット制御装置200fの構成の一例を示す図である。図27では、ロボット制御装置200fの構成が、補正関数生成装置100a、手先位置計測装置3a、及びロボットアーム300aとともに示されている。本実施の形態のロボット制御装置200fは、計測制御部201fと、記憶部202と、補正関数取得部210と、補正関数記憶部250と、補正関数選択部260と、リンク長補正部220aと、目標位置設定部230と、指令値生成部240aとを備える。図27に示されたロボット制御装置200fは、計測制御部201fと、補正関数記憶部250と、補正関数選択部260とを除いて、図8に示されたロボット制御装置200aと同様の構成となる。
FIG. 27 is a diagram illustrating an example of a configuration of a
図28は、本発明の実施の形態6によるロボット制御システム2fの動作の流れの一例を示す図である。図28において、図4に示されたロボット制御システム2aの動作と同様の動作には、同一の符号を付している。以下、図28を用いて、図8に示されたロボット制御装置200aからの相違点を中心に、図27に示されたロボット制御装置200fの動作を述べる。まず、ステップS011において、計測制御部201fは、ロボットアーム300aの複数の動作条件から1つを選択し、選択した動作条件を設定する。例えば、動作条件がロボットアーム300aの動作内容であれば、計測制御部201fは、その動作内容となるようなロボットアーム300aの動作指令値を準備する。また、例えば、動作条件がロボットアーム300aの周囲環境の温度であれば、計測制御部201fは、周囲環境がその温度となるまでロボットアーム300aの動作を待機させる。
FIG. 28 is a diagram showing an example of an operation flow of the
次に、ステップS001aにおいて、計測制御部201fは、ロボットアーム300aの計測姿勢を制御するとともに、複数の時刻における温度情報、関節の角度、及び計測位置を取得する。ステップS001aにおけるロボット制御装置200fの動作は、実施の形態1におけるロボット制御装置200aの動作と同様である。ただし、温度情報が取得される複数の時刻の間には、計測制御部201fは、設定された動作条件に合致した動作をロボットアーム300aにさせる。また、計測制御部201fは、周囲環境が動作条件に合致していることを確認する。
Next, in step S001a, the
次に、ステップS100aにおいて、補正関数生成装置100aは、温度情報、関節の角度、及び計測位置をロボット制御装置200fから取得する。また、ステップS100aにおいて、補正関数生成装置100aは、ロボット制御装置200fから取得した情報に基づいて、補正関数を生成する。生成された補正関数は、ロボット制御装置200fに出力される。ステップS100aにおける補正関数生成装置100aの動作は、実施の形態1における補正関数生成装置100aの動作と同様である。
Next, in step S100a, the correction
次に、ステップS012において、補正関数取得部210は、補正関数生成装置100aから出力された補正関数を取得する。また、ステップS012において、補正関数記憶部250は、取得された補正関数を動作条件と関連付けて記憶する。補正関数記憶部250は、互いに異なる動作条件において生成された複数の補正関数を記憶する。次に、ステップS013において、計測制御部201fは、補正関数の生成が必要な全ての動作条件に対して、補正関数の生成が完了したかを判定する。全ての動作条件に対して補正関数を生成済みであれば、ロボット制御システム2fの動作はステップS014へと進む。一方、補正関数がまだ生成されていない動作条件が存在する場合には、ロボット制御システム2fの動作はステップS011へと戻る。ステップS011からステップS013までが、ロボット制御システム2fが補正関数を生成する動作である。
Next, in step S012, the correction
ステップS014以降の動作は、ロボット制御システム2fが、補正関数に基づいて動作指令値を生成する動作である。ステップS014において、補正関数選択部260は、補正関数記憶部に記憶された複数の補正関数から、ロボットアーム300aに作業をさせる際の動作条件に合った補正関数を選択する。次に、ステップS200において、ロボット制御装置200fは、選択された補正関数に基づいて、ロボットアーム300aの動作を制御するための動作指令値を生成する。生成された動作指令値は、ロボットアーム300aに出力される。ステップS200におけるロボット制御装置200fの動作は、実施の形態1におけるロボット制御装置200aの動作と同様である。
The operation after step S014 is an operation in which the
次に、ステップS003において、ロボット制御装置200fは、ロボットアーム300aの動作を終了させるか否かを判定する。ステップS003において、動作を終了させると判定されると、ロボット制御システム2fは動作を終了する。一方、ステップS003において、まだ動作を終了させないと判定されると、ロボット制御システム2fの動作はステップS200へと戻り、動作指令値の生成が繰り返される。以上が、ロボット制御システム2fの動作の流れである。
Next, in step S003, the
本実施の形態のロボット制御システム2f、及びロボットシステム1fは、以上のように動作する。本実施の形態のロボット制御システム2f、及びロボットシステム1fによれば、複数の動作条件が予め決定されている場合に、ロボットアーム300aの手先の位置を更に高精度に制御することが可能となる。例えば、ロボットアーム300aが予め定められた動作パターンでの連続運転を行う場合や、冷凍倉庫、常温環境などの複数種類の温度条件での連続運転を行う場合などに、本実施の形態のロボット制御システム2f、及びロボットシステム1fは効果的である。
The
実施の形態7.
実施の形態1のロボット制御システム2aにおいて、ロボット制御装置200aは、補正関数を用いて補正されたリンク長に基づいて、ロボットアーム300aの関節の角度の目標値を求める構成であった。さらに、ロボット制御装置200aは、求められた関節の角度の目標値からロボットアーム300aの動作指令値を求める構成であった。しかし、ロボットアーム300aが縮んだ場合には、目標とする位置に手先を届かせるロボットアーム300aの姿勢が存在せず、ロボット制御装置200aが関節の角度の目標値を算出できない場合が起こり得る。すなわち、ロボットアーム300aが縮んだ場合には、目標とする位置がロボットアーム300aの動作範囲外となる可能性がある。Embodiment 7.
In the
また、ロボット制御装置200aにおいて、リンク長補正部220aがリンク長を補正した結果、目標位置設定部230が生成する目標位置が特異点となってしまう可能性がある。なお、特異点とは、手先の位置および向きから関節の角度を一意に決定することのできない、手先の位置および向きをいう。本実施の形態のロボットシステム及びロボット制御システムは、算出された関節の角度を評価する機能を備えたロボット制御装置を備える。
Further, in the
図29は、本発明の実施の形態7によるロボットシステム1gの構成の一例を示す図である。本実施の形態のロボットシステム1gは、ロボットアーム300aを備えるロボットと、ロボット制御システム2gとを備える。また、ロボット制御システム2gは、補正関数生成装置100aと、ロボット制御装置200gとを備える。また、本実施の形態のロボットシステム1gは、手先位置計測装置3aと接続される。本実施の形態のロボットシステム1gの構成は、ロボット制御装置200gを除いて実施の形態1におけるロボットシステム1aと同様である。以下では、相違点であるロボット制御装置200gについてのみ説明する。
FIG. 29 is a diagram illustrating an example of a configuration of a
なお、図29において、ロボットシステム1gは、実施の形態1におけるロボットシステム1aからロボット制御装置を置き換えた構成として例示されているが、実施の形態2におけるロボットシステム1b、実施の形態3におけるロボットシステム1c、実施の形態4におけるロボットシステム1d、又は実施の形態5におけるロボットシステム1eからロボット制御装置を置き換えた構成とすることもできる。また、ロボットシステム1gは、実施の形態6におけるロボットシステム1fと同様に、動作指令値を生成する際に、記憶された複数の補正関数から1つを選択して使用する構成とすることもできる。
In FIG. 29, the
図30は、本発明の実施の形態7によるロボット制御装置200gの構成の一例を示す図である。図30では、ロボット制御装置200gの構成が、補正関数生成装置100a、手先位置計測装置3a、及びロボットアーム300aとともに示されている。本実施の形態のロボット制御装置200gは、計測制御部201aと、記憶部202と、補正関数取得部210と、リンク長補正部220aと、目標位置設定部230と、指令値生成部240gとを備える。図30に示されたロボット制御装置200gは、指令値生成部240gを除いて、図8に示されたロボット制御装置200aと同様の構成となる。
FIG. 30 is a diagram illustrating an example of a configuration of a robot control device 200g according to the seventh embodiment of the present invention. FIG. 30 illustrates the configuration of the robot control device 200g together with the correction
図31は、本発明の実施の形態7によるロボット制御装置200gにおける指令値生成部240gの構成の一例を示す図である。図31では、指令値生成部240gの構成が、記憶部202、リンク長補正部220a、目標位置設定部230、及びロボットアーム300aとともに示されている。指令値生成部240gは、第1の角度算出部241と、第2の角度算出部242と、関節角度評価部243と、第3の角度算出部244と、指令値出力部245とを備える。第1の角度算出部241は、記憶部202に記憶される基準リンク長と、目標位置設定部230から出力される目標位置とに基づいて、手先が目標位置に到達するためのロボットアーム300aの関節の角度を第1の目標角度θ1qとして算出する。なお、目標位置には、目標となる手先の向きも含まれる。第1の目標角度θ1qは、ロボットアーム300aの各リンクの長さが基準リンク長である場合における関節の目標角度である。なお、qは、ロボットアーム300aの関節を識別するための識別子である。FIG. 31 is a diagram illustrating an example of a configuration of the command
第2の角度算出部242は、リンク長補正部220aから出力される補正後のリンク長と、目標位置設定部230から出力される目標位置とに基づいて、手先が目標位置に到達するためのロボットアーム300aの関節の角度を第2の目標角度θ2qとして算出する。第2の目標角度θ2qは、ロボットアーム300aの各リンクの長さが補正後のリンク長である場合における関節の目標角度である。関節角度評価部243は、第2の目標角度θ2qが望ましくない角度に近付いていないかを評価し、補正係数a1を生成する。The second
ここで、望ましくない角度とは、ロボットアーム300aの姿勢が特異点に近付くような関節の角度である。また、多くの関節が伸びきるような関節の角度も、望ましくない角度となる。関節の角度が望ましくない角度となるようなロボットアーム300aの姿勢は、許容されない姿勢となる。望ましくない関節の角度は、許容されない関節の角度と言い換えることもできる。望ましくない関節の角度は、関節の角度に関する制約条件として予め設定される。したがって、関節角度評価部243は、第2の目標角度θ2qと予め設定された制約条件とを比較することで、第2の目標角度θ2qが望ましくない角度に近いか否かを評価する。Here, the undesired angle is a joint angle at which the posture of the
第2の目標角度θ2qで表されるロボットアーム300aの姿勢が、許容されない姿勢に近い場合、関節角度評価部243は補正係数a1を0とする。また、第2の目標角度θ2qで表されるロボットアーム300aの姿勢が、許容されない姿勢から離れるに従って、関節角度評価部243は補正係数a1を徐々に大きくする。そして、第2の目標角度θ2qで表されるロボットアーム300aの姿勢が、許容されない姿勢から十分離れている場合、関節角度評価部243は補正係数a1を1とする。第3の角度算出部244は、第1の目標角度θ1q、第2の目標角度θ2q、補正係数a1を用いた下記の式(7)の演算によって、第3の目標角度θ3qを算出する。Posture of the
指令値出力部245は、ロボットアーム300aの関節の角度が第3の目標角度θ3qとなるように動作指令値を生成し、ロボットアーム300aに出力する。指令値生成部240gは、以上のように動作する。ロボット制御装置200gにおいて、指令値生成部240g以外の動作は実施の形態1におけるロボット制御装置200aの動作と同様である。本実施の形態のロボット制御システム2g及びロボットシステム1gによれば、ロボットアーム300aが許容されない姿勢となることを防止することが可能となる。Command
例えば、ロボットアーム300aの姿勢が特異点に陥ると、動作を継続するためにはロボットアーム300aは姿勢を大幅に変更する必要がある。この結果、ロボットアーム300aは、滑らかな動作を実現することが困難となる。本実施の形態のロボット制御システム2g及びロボットシステム1gによれば、ロボットアーム300aに滑らかな動作を継続させながら、ロボットアーム300aの手先の位置を更に高精度に制御することも可能となる。また、例えば、ロボットアーム300aが縮むことによって、目標とする位置がロボットアーム300aの手先が到達できない位置となると、ロボットアームの動作が停止することが考えられる。本実施の形態のロボット制御システム2g及びロボットシステム1gによれば、ロボットアーム300aの動作を停止させず、安定して動作を継続させながら、ロボットアーム300aの手先の位置を更に高精度に制御することも可能となる。
For example, if the posture of the
1a、1b、1c、1d、1e、1f、1g ロボットシステム、2a、2b、2c、2e、2f、2g ロボット制御システム、3a、3b 手先位置計測装置、100a、100b、100c、100e 補正関数生成装置、110a、110b、110c 情報取得部、120a、120b、120c、120e 手先位置推定部、121a、121c 候補関数生成部、122a、122b、122c、122e 手先位置演算部、123a、123b、123c リンク長演算部、124a、124b 手先位置変換部、125 候補リンク長生成部、130a、130b、130e 補正関数決定部、131a、131b 手先位置比較部、132a、132b 補正関数評価部、135 リンク長評価部、136 補正関数生成部、138 リンク長比較部、200a、200c、200f、200g ロボット制御装置、201a、201c、201f 計測制御部、202 記憶部、210 補正関数取得部、220a、220c リンク長補正部、230 目標位置設定部、240a、240g 指令値生成部、241 第1の角度算出部、242 第2の角度算出部、243 関節角度評価部、244 第3の角度算出部、245 指令値出力部、250 補正関数記憶部、260 補正関数選択部、300a、300d ロボットアーム、311 第1のリンク、312 第2のリンク、313 第3のリンク、314 第4のリンク、321 第1の温度センサ、322 第2の温度センサ、323 第3の温度センサ、324 第4の温度センサ、325 第5の温度センサ、326 第6の温度センサ、4 環境温度計測装置、401 プロセッサ、402メモリ、403 データバス、3111、3112、3121、3122、3131、3132、3133 部位。 1a, 1b, 1c, 1d, 1e, 1f, 1g Robot system, 2a, 2b, 2c, 2e, 2f, 2g Robot control system, 3a, 3b Hand position measurement device, 100a, 100b, 100c, 100e Correction function generation device , 110a, 110b, 110c Information acquisition unit, 120a, 120b, 120c, 120e Hand position estimation unit, 121a, 121c Candidate function generation unit, 122a, 122b, 122c, 122e Hand position calculation unit, 123a, 123b, 123c Link length calculation , 124a, 124b hand position conversion unit, 125 candidate link length generation unit, 130a, 130b, 130e correction function determination unit, 131a, 131b hand position comparison unit, 132a, 132b correction function evaluation unit, 135 link length evaluation unit, 136 Correction function generator 13 Link length comparison unit, 200a, 200c, 200f, 200g Robot control device, 201a, 201c, 201f Measurement control unit, 202 storage unit, 210 correction function acquisition unit, 220a, 220c Link length correction unit, 230 target position setting unit, 240a , 240 g command value generation unit, 241 first angle calculation unit, 242 second angle calculation unit, 243 joint angle evaluation unit, 244 third angle calculation unit, 245 command value output unit, 250 correction function storage unit, 260 Correction function selector, 300a, 300d Robot arm, 311 first link, 312 second link, 313 third link, 314 fourth link, 321 first temperature sensor, 322 second temperature sensor, 323 Third temperature sensor, 324 fourth temperature sensor, 325 fifth temperature sensor, 32 Temperature sensor 6, 4 environmental temperature measuring device, 401 a processor, 402 a memory, 403 a data bus, 3111,3112,3121,3122,3131,3132,3133 site.
この発明における補正関数生成装置は、関節を有するロボットアームの手先の位置を制御するために用いられる補正関数を生成する補正関数生成装置であって、ロボットアームの所定位置で計測された温度情報、温度情報が計測された時点の関節の角度、及び温度情報が計測された時点の手先の位置を計測して得られる計測位置を取得する情報取得部と、関節の角度に基づいて、温度情報を取得した時点の手先の位置を推定して推定位置を求める手先位置推定部と、計測位置と推定位置とを比較した結果に基づいて、温度情報を変数としてロボットアームを分割して得られる複数の部位のそれぞれの長さを補正する関数である補正関数を決定する補正関数決定部とを備え、手先位置推定部は、複数の部位のそれぞれの長さを補正又は推定し、補正又は推定された複数の部位のそれぞれの長さと関節の角度とに基づいて推定位置を求め、補正関数決定部は、計測位置と推定位置とを比較した結果が所定の条件を満たす場合に、推定位置に対応する補正関数を出力するものである。 The correction function generation device according to the present invention is a correction function generation device that generates a correction function used to control a position of a hand of a robot arm having a joint, and includes temperature information measured at a predetermined position of the robot arm, Based on the angle of the joint at the time when the temperature information was measured, and the measurement position obtained by measuring the position of the hand at the time when the temperature information was measured, and the angle of the joint, the temperature information is obtained. and hand position estimation unit for determining the estimated position by estimating the position of the hand of the acquired point, based on a result of comparison between the estimated position and the measured position, obtained by dividing the robot arm to the temperature information as a variable a correction function determination unit for determining a correction function is a function for correcting the length of each of the plurality of sites, the hand position estimation unit corrects or estimate the length of each of the plurality of sites, Obtain the estimated position based on the length of each of the positive or estimated plurality of parts and the angle of the joint, the correction function determination unit, when the result of comparing the measured position and the estimated position satisfies a predetermined condition, A correction function corresponding to the estimated position is output .
Claims (15)
前記ロボットアームの所定位置で計測された温度情報、前記温度情報が計測された時点の前記関節の角度、及び前記温度情報が計測された時点の前記手先の位置を計測して得られる計測位置を取得する情報取得部と、
前記関節の角度に基づいて、前記温度情報を取得した時点の前記手先の位置を推定して推定位置を求める手先位置推定部と、
前記計測位置と前記推定位置とを比較した結果に基づいて、前記温度情報を変数とする関数である前記補正関数を決定する補正関数決定部と
を備える補正関数生成装置。A correction function generation device that generates a correction function used to control the position of the hand of a robot arm having a joint,
Temperature information measured at a predetermined position of the robot arm, the angle of the joint at the time when the temperature information was measured, and the measurement position obtained by measuring the position of the hand at the time when the temperature information was measured An information acquisition unit to be acquired,
Based on the angle of the joint, a hand position estimating unit that estimates the position of the hand at the time of acquiring the temperature information to obtain an estimated position,
A correction function generation device comprising: a correction function determination unit that determines the correction function that is a function using the temperature information as a variable based on a result of comparing the measured position and the estimated position.
前記手先位置推定部は、前記複数の時刻のそれぞれにおける前記推定位置を求め、
前記補正関数決定部は、前記複数の時刻のそれぞれにおける前記計測位置と前記推定位置とを比較した結果に基づいて、前記補正関数を決定する
請求項1に記載の補正関数生成装置。The temperature information, the angle of the joint and the measurement position are obtained at each of a plurality of times,
The hand position estimating unit determines the estimated position at each of the plurality of times,
The correction function generation device according to claim 1, wherein the correction function determination unit determines the correction function based on a result of comparing the measured position and the estimated position at each of the plurality of times.
前記計測位置と前記推定位置とを比較した結果が所定の条件を満たす場合には、前記推定位置に対応する前記補正関数を出力し、
前記計測位置と前記推定位置とを比較した結果が前記所定の条件を満たさない場合には、前記手先の位置の推定を再実施するように前記手先位置推定部に要請する
請求項1から請求項3のいずれか1項に記載の補正関数生成装置。The correction function determination unit,
If the result of comparing the measured position and the estimated position satisfies a predetermined condition, output the correction function corresponding to the estimated position,
The request from the hand position estimating unit to request the hand position estimating unit to re-estimate the hand position when the result of comparing the measured position and the estimated position does not satisfy the predetermined condition. 3. The correction function generation device according to any one of 3.
前記温度情報を変数とする関数である候補関数を前記補正関数の候補として生成する候補関数生成部と、
前記温度情報、前記関節の角度及び前記候補関数に基づいて、前記推定位置を求める手先位置演算部と
を備える請求項4に記載の補正関数生成装置。The hand position estimating unit,
A candidate function generating unit that generates a candidate function that is a function using the temperature information as a variable as a candidate for the correction function,
The correction function generation device according to claim 4, further comprising: a hand position calculation unit that calculates the estimated position based on the temperature information, the joint angle, and the candidate function.
前記手先位置演算部は、前記温度情報及び前記候補関数に基づいて前記複数の部位のそれぞれの長さを補正し、補正された前記複数の部位のそれぞれの長さ及び前記関節の角度に基づいて前記推定位置を求める
請求項5から請求項7のいずれか1項に記載の補正関数生成装置。
The candidate function is a function for correcting the length of each of a plurality of parts obtained by dividing the robot arm using the temperature information as a variable,
The hand position calculation unit corrects the respective lengths of the plurality of parts based on the temperature information and the candidate function, and based on the corrected lengths of the plurality of parts and the angles of the joints. The correction function generator according to claim 5, wherein the estimated position is obtained.
前記ロボットアームを分割して得られる複数の部位のそれぞれの長さを推定する長さ推定部と、
前記関節の角度及び推定された前記複数の部位のそれぞれの長さに基づいて、前記推定位置を求める手先位置演算部と
を備える請求項4に記載の補正関数生成装置。The hand position estimating unit,
A length estimating unit that estimates the length of each of the plurality of parts obtained by dividing the robot arm,
The correction function generation device according to claim 4, further comprising: a hand position calculation unit that calculates the estimated position based on the angle of the joint and the estimated length of each of the plurality of parts.
請求項10に記載の補正関数生成装置。When the result of comparing the measured position and the estimated position satisfies the predetermined condition, the correction function determining unit determines the length of each of the plurality of parts used to determine the estimated position, The correction function generation device according to claim 10, wherein the correction function is generated based on the temperature information.
前記ロボット制御装置は、
前記補正関数生成装置から前記補正関数を取得する補正関数取得部と、
前記補正関数及び前記温度情報を用いて前記複数の部位のそれぞれの長さを補正するリンク長補正部と、
補正された前記複数の部位のそれぞれの長さに基づいて、前記手先が目標位置に到達するように前記ロボットアームを制御するための動作指令値を生成する指令値生成部と
を備えるロボット制御システム。A robot control system comprising the correction function generation device according to any one of claims 8 to 11, and a robot control device,
The robot controller,
A correction function acquisition unit that acquires the correction function from the correction function generation device,
A link length correction unit that corrects the length of each of the plurality of parts using the correction function and the temperature information;
A command value generation unit that generates an operation command value for controlling the robot arm so that the hand reaches a target position based on the corrected lengths of the plurality of parts. .
前記ロボットアームの互いに異なる動作条件のそれぞれにおいて前記補正関数生成装置が生成した複数の前記補正関数を記憶する補正関数記憶部と、
前記ロボットアームの前記動作条件に基づいて、前記補正関数記憶部が記憶する複数の前記補正関数のうちの1つを選択する補正関数選択部と
を備え、
前記リンク長補正部は、前記補正関数選択部が選択した前記補正関数と、前記温度情報とを用いて前記複数の部位のそれぞれの長さを補正する請求項12に記載のロボット制御システム。The robot controller,
A correction function storage unit that stores a plurality of the correction functions generated by the correction function generation device in each of different operating conditions of the robot arm,
A correction function selection unit that selects one of the plurality of correction functions stored in the correction function storage unit based on the operation condition of the robot arm,
13. The robot control system according to claim 12, wherein the link length correction unit corrects the length of each of the plurality of parts using the correction function selected by the correction function selection unit and the temperature information.
基準となる前記各部位の長さに基づいて、前記手先が前記目標位置に到達するための前記関節の角度を第1の目標角度として算出する第1の角度算出部と、
補正された前記各部位の長さに基づいて、前記手先が前記目標位置に到達するための前記関節の角度を第2の目標角度として算出する第2の角度算出部と、
前記第2の目標角度と予め設定された制約条件とを比較して補正係数を生成する関節角度評価部と、
前記第1の目標角度と、前記第2の目標角度と、前記補正係数とに基づいて、第3の目標角度を算出する第3の角度算出部と
を備え、前記第3の目標角度に基づいて前記動作指令値を生成する請求項12又は請求項13に記載のロボット制御システム。The command value generator,
A first angle calculation unit that calculates, as a first target angle, an angle of the joint for the hand to reach the target position, based on a length of each of the reference portions;
A second angle calculation unit that calculates, as a second target angle, an angle of the joint for the hand to reach the target position, based on the corrected length of each of the parts;
A joint angle evaluation unit that generates a correction coefficient by comparing the second target angle with a preset constraint condition;
A third angle calculation unit configured to calculate a third target angle based on the first target angle, the second target angle, and the correction coefficient, based on the third target angle; The robot control system according to claim 12, wherein the operation command value is generated by using the controller.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/006894 WO2019163116A1 (en) | 2018-02-26 | 2018-02-26 | Correction function-generating device, robot control system, and robot system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6528913B1 JP6528913B1 (en) | 2019-06-12 |
JPWO2019163116A1 true JPWO2019163116A1 (en) | 2020-04-09 |
Family
ID=66821526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018554517A Active JP6528913B1 (en) | 2018-02-26 | 2018-02-26 | Correction function generator, robot control system and robot system |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP6528913B1 (en) |
CN (1) | CN111819037B (en) |
DE (1) | DE112018007159B4 (en) |
WO (1) | WO2019163116A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021019071A (en) * | 2019-07-19 | 2021-02-15 | 日本電産サンキョー株式会社 | Industrial robot and control method of the same |
KR102303812B1 (en) * | 2019-11-12 | 2021-09-23 | 현대위아 주식회사 | Measureing and correcting method and system for spindle thermal displacement of machining center |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62169213A (en) | 1986-01-22 | 1987-07-25 | Hitachi Ltd | Positioning device |
JPH06114769A (en) * | 1992-09-29 | 1994-04-26 | Toyoda Mach Works Ltd | Off-line teaching device |
JPH06297362A (en) * | 1993-04-15 | 1994-10-25 | Nachi Fujikoshi Corp | Method and device for correcting robot position |
JPH09319420A (en) * | 1996-05-31 | 1997-12-12 | Ricoh Co Ltd | Assembly robot |
JP4650062B2 (en) * | 2005-03-31 | 2011-03-16 | 株式会社安川電機 | Robot controller and robot positioning accuracy correction method |
JP2014000649A (en) * | 2012-06-20 | 2014-01-09 | Canon Inc | Robot control device, robotic device, robot control method, program, and recording medium |
JP6398204B2 (en) | 2014-01-29 | 2018-10-03 | 株式会社デンソーウェーブ | Positioning accuracy correction method for robot apparatus |
CN106233214B (en) | 2014-04-22 | 2019-04-12 | Abb瑞士股份有限公司 | Compensating Robot movement warp |
JP6754771B2 (en) * | 2014-11-18 | 2020-09-16 | パーシモン テクノロジーズ コーポレイションPersimmon Technologies, Corp. | Robot adaptive placement system that performs end effector position estimation |
JP6710518B2 (en) * | 2015-12-03 | 2020-06-17 | 東京エレクトロン株式会社 | Conveying device and correction method |
JP6114421B1 (en) * | 2016-02-19 | 2017-04-12 | ファナック株式会社 | Machine learning device, industrial machine cell, manufacturing system and machine learning method for learning work sharing of a plurality of industrial machines |
JP6805812B2 (en) | 2016-12-26 | 2020-12-23 | 株式会社デンソーウェーブ | Manipulator operation judgment device |
JP6805811B2 (en) | 2016-12-26 | 2020-12-23 | 株式会社デンソーウェーブ | Manipulator operation judgment device |
JP6542839B2 (en) | 2017-06-07 | 2019-07-10 | ファナック株式会社 | Control device and machine learning device |
-
2018
- 2018-02-26 CN CN201880090017.7A patent/CN111819037B/en active Active
- 2018-02-26 JP JP2018554517A patent/JP6528913B1/en active Active
- 2018-02-26 DE DE112018007159.6T patent/DE112018007159B4/en active Active
- 2018-02-26 WO PCT/JP2018/006894 patent/WO2019163116A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2019163116A1 (en) | 2019-08-29 |
DE112018007159B4 (en) | 2022-10-06 |
CN111819037A (en) | 2020-10-23 |
DE112018007159T5 (en) | 2020-12-17 |
JP6528913B1 (en) | 2019-06-12 |
CN111819037B (en) | 2023-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108789404B (en) | Vision-based serial robot kinematic parameter calibration method | |
JP6766186B2 (en) | How to plan the trajectory of point-to-point movement in robot joint space | |
KR102050895B1 (en) | Calibration and programming of robots | |
CN108297101B (en) | Multi-joint-arm series robot end pose error detection and dynamic compensation method | |
US9221176B2 (en) | Robot system and method for controlling the same | |
US20190176325A1 (en) | An Error Modeling Method For End-Effector Space-Curve Trajectory Of Six Degree-of-Freedom Robots | |
JP5632036B2 (en) | Device for correcting errors in CNC machine tools | |
US9669545B2 (en) | Robot calibrating apparatus and robot calibrating method, and robot apparatus and method of controlling robot apparatus | |
US9889565B2 (en) | Method for calibrating a robot and a robot system | |
TWI601611B (en) | Mechanism parametric calibration method for robotic arm system | |
US9452533B2 (en) | Robot modeling and positioning | |
KR20160010868A (en) | Automated machining head with vision and procedure | |
JP6729773B2 (en) | Robot controller and robot system using the same | |
JP6528913B1 (en) | Correction function generator, robot control system and robot system | |
WO2010047043A1 (en) | Robot control apparatus | |
US10507581B2 (en) | Robot system | |
EP4157589A1 (en) | A robot path planning method with static and dynamic collision avoidance in an uncertain environment | |
JP2019150895A (en) | Manipulator system, control device, control method and program | |
JP2012223871A (en) | Origin correction method and system of robot joint | |
JP6485620B2 (en) | Robot control system and robot control method | |
JP2011036956A (en) | Accuracy adjusting method for robot and robot | |
KR20200057503A (en) | Robot calibration system and calibration method thereof | |
CN112847441B (en) | Six-axis robot coordinate offset detection method and device based on gradient descent method | |
US20230191611A1 (en) | Robot system | |
CN116194252A (en) | Robot system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181016 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181016 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20181016 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20181113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181120 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190110 |
|
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: 20190416 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190429 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6528913 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |