JP5803173B2 - Robot control apparatus and calibration method - Google Patents

Robot control apparatus and calibration method Download PDF

Info

Publication number
JP5803173B2
JP5803173B2 JP2011058943A JP2011058943A JP5803173B2 JP 5803173 B2 JP5803173 B2 JP 5803173B2 JP 2011058943 A JP2011058943 A JP 2011058943A JP 2011058943 A JP2011058943 A JP 2011058943A JP 5803173 B2 JP5803173 B2 JP 5803173B2
Authority
JP
Japan
Prior art keywords
position information
rotation
calibration
robot
correction value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011058943A
Other languages
Japanese (ja)
Other versions
JP2012192498A (en
Inventor
義之 岡野
義之 岡野
健司 菊池
健司 菊池
慎二 飯田
慎二 飯田
昇吾 壁谷
昇吾 壁谷
由信 大橋
由信 大橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Wave Inc filed Critical Denso Wave Inc
Priority to JP2011058943A priority Critical patent/JP5803173B2/en
Publication of JP2012192498A publication Critical patent/JP2012192498A/en
Application granted granted Critical
Publication of JP5803173B2 publication Critical patent/JP5803173B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ロボットをキャリブレーションする技術に関する。   The present invention relates to a technique for calibrating a robot.

ロボットをキャリブレーション(校正)する技術に関し、例えば、特許文献1に記載の技術では、目的点に対し対称な第一位置および第二位置からそれぞれ目的点に対してエンドエフェクタを移動させることで、正方向データおよび負方向データを取得し、これらのデータに基づいてキャリブレーションデータを作成している。この技術では、こうして作成したキャリブレーションデータによってエンドエフェクタの位置を補正することで、ロボットの各部に存在するヒステリシスの影響を抑制している。   Regarding the technology for calibrating the robot (calibration), for example, in the technology described in Patent Document 1, by moving the end effector with respect to the target point from the first position and the second position symmetrical with respect to the target point, Positive direction data and negative direction data are acquired, and calibration data is created based on these data. In this technique, the effect of hysteresis existing in each part of the robot is suppressed by correcting the position of the end effector based on the calibration data thus created.

しかし、ロボットが一旦設備内に組み込まれると、設備の小型化などの要因により、限られた空間の中でキャリブレーションを行う必要がある場合がある。このような場合には、例えば、前述の第一位置や第二位置が関節軸の動作限界位置(メカ端)に相当する位置であると、その位置までエンドエフェクタを移動させることができず、キャリブレーションを実質的に行うことができないという状況が生じるおそれがある。このような問題は、エンドエフェクタに限らず、ロボットの各関節軸をキャリブレーションする際に共通した問題である。   However, once the robot is installed in the equipment, it may be necessary to perform calibration in a limited space due to factors such as downsizing of the equipment. In such a case, for example, if the first position or the second position described above is a position corresponding to the operation limit position (mechanical end) of the joint shaft, the end effector cannot be moved to that position. There may be a situation in which the calibration cannot be substantially performed. Such a problem is not limited to the end effector, but is a problem common when calibrating each joint axis of the robot.

特開2009−142904号公報JP 2009-142904 A

前述の問題を考慮し、本発明が解決しようとする課題は、ロボットの関節軸をその動作限界位置でキャリブレーションできない場合においても、任意の位置で精度良くキャリブレーションすることが可能な技術を提供することである。   In view of the above-mentioned problems, the problem to be solved by the present invention is to provide a technology that can accurately calibrate a robot joint axis at an arbitrary position even when the joint axis of the robot cannot be calibrated at its operation limit position. It is to be.

本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。   SUMMARY An advantage of some aspects of the invention is to solve at least a part of the problems described above, and the invention can be implemented as the following forms or application examples.

[適用例1]関節軸と、該関節軸を駆動するモータと、該モータの回転軸の物理的な位置を表す一回転内位置と多回転位置とを含む位置情報を出力するアブソリュートエンコーダと、を有するロボットを制御するロボット制御装置であって、前記関節軸上の任意のキャリブレーション位置に前記関節軸が移動された場合において、前記アブソリュートエンコーダから位置情報を取得する第1位置情報取得部と、前記第1位置情報取得部が取得した前記位置情報に含まれる一回転内位置が、前記多回転位置のカウントを行う基準となる原点を含まない所定の許容範囲に含まれるか否かを判定する位置範囲判定部と、前記第1位置情報取得部が取得した前記位置情報に含まれる一回転内位置が、前記許容範囲に含まれない場合に、該一回転内位置が前記許容範囲に含まれるまで、前記キャリブレーション位置の移動を要求する移動要求部と、前記第1位置情報取得部が取得した前記位置情報に含まれる一回転内位置が、前記許容範囲に含まれる場合に、前記位置情報と前記関節軸の制御位置とに基づいて、前記関節軸の物理的な位置と制御位置とを補正する補正値を決定する補正値決定部と、を備えるロボット制御装置。 Application Example 1 An absolute encoder that outputs position information including a joint axis, a motor that drives the joint axis, a position within one rotation representing a physical position of the rotation axis of the motor, and a multi-rotation position; A first position information acquisition unit that acquires position information from the absolute encoder when the joint axis is moved to an arbitrary calibration position on the joint axis; And determining whether the position within one rotation included in the position information acquired by the first position information acquisition unit is included in a predetermined allowable range that does not include an origin serving as a reference for counting the multi-rotation positions. The position within one rotation when the position within one rotation included in the position information acquired by the position range determination unit and the first position information acquisition unit is not included in the allowable range. The movement request unit that requests movement of the calibration position and the position within one rotation included in the position information acquired by the first position information acquisition unit are included in the allowable range until they are included in the allowable range. In this case, a robot control apparatus comprising: a correction value determining unit that determines a correction value for correcting the physical position of the joint axis and the control position based on the position information and the control position of the joint axis.

このような構成のロボット制御装置によれば、関節軸の物理的な位置と制御位置とを補正するための補正値を求める際に、アブソリュートエンコーダから出力される一回転内位置が、多回転位置のカウントを行う基準となる原点を含まない所定の許容範囲に含まれるか否かを判定し、一回転内位置が、許容範囲内に含まれない場合には、許容範囲に含まれるまで、キャリブレーション位置の移動を要求する。そのため、補正値を決定するための関節軸の位置(以下、「キャリブレーション位置」ともいう)が、アブソリュートエンコーダの原点に近い位置に設定されることが抑制される。この結果、2回目以降のキャリブレーション時の関節軸の位置合わせの際に、アブソリュートエンコーダから出力される多回転位置が不安定になってしまうことが抑制されるので、任意の位置で精度の高いキャリブレーションを行うことが可能になる。また、一旦設定されたキャリブレーション位置への位置合わせにおいて、ロボット各部のヒステリシスや、キャリブレーション位置への位置合わせの際の力加減、位置合わせ時の目分量によるズレが関節軸上に生じたとしても、多くの場合、その影響は、モータの回転軸の一回転内位置の範囲内のズレに収まる。そのため、上記構成のようにキャリブレーション位置を許容範囲内に設定すれば、2回目以降のキャリブレーション時のキャリブレーション位置への位置合わせにおいて前述の種々の要因による位置ズレが生じても、そのズレは一回転内位置の範囲に留まるとともに、多回転位置までがずれてしまうことが抑制される。よって、精度の高いキャリブレーションを実現することが可能になる。   According to the robot control device having such a configuration, when the correction value for correcting the physical position of the joint axis and the control position is obtained, the position within one rotation output from the absolute encoder is the multi-rotation position. If the position within one rotation is not included in the allowable range, the calibration is performed until the position is included in the allowable range. Request movement of the location. Therefore, the position of the joint axis for determining the correction value (hereinafter also referred to as “calibration position”) is suppressed from being set to a position close to the origin of the absolute encoder. As a result, since the multi-rotation position output from the absolute encoder is prevented from becoming unstable during the second and subsequent calibration of the joint axis, high accuracy is obtained at an arbitrary position. Calibration can be performed. Also, in the alignment to the calibration position once set, it is assumed that the hysteresis of each part of the robot, the force at the time of alignment to the calibration position, and the deviation due to the amount of alignment at the time of alignment occurred on the joint axis However, in many cases, the influence falls within the deviation within the range of the position within one rotation of the rotating shaft of the motor. Therefore, if the calibration position is set within the allowable range as in the above configuration, even if the positional deviation due to the various factors described above occurs in the alignment to the calibration position at the second and subsequent calibrations, the deviation is caused. Stays within the range of the position within one rotation and is prevented from shifting to the multi-rotation position. Therefore, it is possible to realize highly accurate calibration.

[適用例2]適用例1に記載のロボット制御装置であって、前記許容範囲は、前記一回転内位置の全範囲から、前記原点を起点として360°(2πrad)を前記モータの回転軸のギア数で除した値だけ遅れた位置から該値まで進んだ位置までを除いた範囲である、ロボット制御装置。 [Application Example 2] The robot control apparatus according to Application Example 1, wherein the allowable range is 360 ° (2π rad) of the rotation axis of the motor from the entire range of the position within one rotation starting from the origin. A robot controller that is a range excluding a position delayed by a value divided by the number of gears and a position advanced to the value.

キャリブレーション位置への関節軸の位置合わせは、モータの回転軸に設けられたギアの分解能に拘束される。そのため、上記構成のように、原点から1つのギア分だけ位置を前後させた範囲を除く範囲を許容範囲とすれば、キャリブレーション位置を設定可能な範囲を大きくすることができ、キャリブレーション位置の設定の自由度を高めることができる。   The alignment of the joint shaft to the calibration position is restricted by the resolution of the gear provided on the rotation shaft of the motor. Therefore, if the range excluding the range where the position is moved back and forth by one gear from the origin is set as the allowable range as in the above configuration, the range in which the calibration position can be set can be increased. The degree of freedom of setting can be increased.

[適用例3]適用例1または適用例2に記載のロボット制御装置であって、更に、前記補正値が決定された際における前記位置情報のうちの少なくとも前記一回転内位置と前記関節軸の制御位置とを記憶する制御装置側記憶部と、前記補正値が決定された後に、前記関節軸が、再度、前記キャリブレーション位置に移動された場合において、前記アブソリュートエンコーダから位置情報を取得する第2位置情報取得部と、前記第2位置情報取得部が取得した前記位置情報内の一回転内位置を、前記制御装置側記憶部に記憶されている一回転内位置に変更し、該変更後の位置情報と前記制御装置側記憶部に記憶されている前記関節軸の制御位置とに基づいて、前記補正値を更新する補正値更新部と、を備えるロボット制御装置。 [Application Example 3] The robot control apparatus according to Application Example 1 or Application Example 2, and further, at least the position within one rotation and the position of the joint axis in the position information when the correction value is determined. A controller-side storage unit that stores a control position; and a position information is acquired from the absolute encoder when the joint axis is moved to the calibration position again after the correction value is determined. 2 position information acquisition unit and the position within one rotation in the position information acquired by the second position information acquisition unit is changed to the position within one rotation stored in the control device side storage unit, and after the change And a correction value update unit that updates the correction value based on the position information of the joint axis and the control position of the joint axis stored in the control device side storage unit.

このような構成のロボット制御装置であれば、制御装置側記憶部に予め記憶しておいた一回転内位置を用いて2回目以降のキャリブレーション(補正値の更新)を行うことができる。そのため、2回目以降のキャリブレーションにおいて、ロボット各部のヒステリシスや、キャリブレーション位置への位置合わせの際の力加減、位置合わせ時の目分量によるズレなどの影響があったとしても、最初のキャリブレーション時において記憶しておいた一回転内位置を用いることで精度良く再キャリブレーションを行うことができる。予め記憶しておいた一回転内位置をそのまま用いることできるのは、上述のように、種々の要因によってキャリブレーション位置への位置合わせにズレが生じたとしても、そのズレは、一回転内位置の範囲内に収まるためである。   With the robot control device having such a configuration, the second and subsequent calibrations (update of correction values) can be performed using the position within one rotation stored in advance in the control device-side storage unit. Therefore, in the second and subsequent calibrations, even if there are effects such as hysteresis of each part of the robot, force adjustment at the time of alignment to the calibration position, and deviation due to the amount of distance at the time of alignment, the first calibration By using the position within one rotation memorized at the time, recalibration can be performed with high accuracy. The pre-stored position within one rotation can be used as it is, as described above, even if a misalignment occurs in the alignment with the calibration position due to various factors, This is because it falls within the range.

[適用例4]適用例3に記載のロボット制御装置であって、前記アブソリュートエンコーダは、前記位置情報のうちの多回転位置を保持する揮発性のエンコーダ側記憶部と、前記エンコーダ側記憶部をバッテリバックアップするバッテリと、を備え、前記第2位置情報取得部は、前記補正値決定部によって前記補正値が決定された後で、かつ、前記バッテリが交換されて前記エンコーダ側記憶部から前記多回転位置が失われた後に、前記位置情報の取得を行う、ロボット制御装置。 Application Example 4 In the robot control device according to Application Example 3, the absolute encoder includes a volatile encoder side storage unit that holds a multi-rotation position in the position information, and the encoder side storage unit. A battery for battery backup, and the second position information acquisition unit is configured to store the multiple values from the encoder side storage unit after the correction value is determined by the correction value determination unit and after the battery is replaced. A robot control apparatus that acquires the position information after a rotational position is lost.

本構成においても、上記のように、キャリブレーション位置がアブソリュートエンコーダの原点付近に設定されることが抑制されているため、アブソリュートエンコーダからは正確に多回転位置が出力される。そのため、アブソリュートエンコーダのバッテリの電圧低下によって多回転位置が失われ、再度のキャリブレーションが必要になった場合でも、正確にキャリブレーションを行うことができる。この結果、バッテリ交換に伴って、再度ティーチングなどを行う必要がないため、ロボットを迅速に復帰させることが可能になる。   Also in this configuration, as described above, since the calibration position is suppressed from being set near the origin of the absolute encoder, a multi-rotation position is accurately output from the absolute encoder. Therefore, even when the multi-rotation position is lost due to the voltage drop of the battery of the absolute encoder and calibration is necessary again, the calibration can be performed accurately. As a result, it is not necessary to perform teaching or the like again with battery replacement, so that the robot can be returned quickly.

本発明は、上述したロボット制御装置としての構成のほか、ロボットのキャリブレーション方法や、ロボットのキャリブレーションを行うためのコンピュータプログラムとしても構成することができる。コンピュータプログラムは、コンピュータが読取可能な記録媒体に記録されていてもよい。また、上述した各適用例の構成要素は、適宜、組み合わせたり、省略したりすることが可能である。   In addition to the configuration as the robot control device described above, the present invention can also be configured as a robot calibration method and a computer program for performing robot calibration. The computer program may be recorded on a computer-readable recording medium. In addition, the components of each application example described above can be combined or omitted as appropriate.

ロボット制御装置を含むロボットシステムの概略構成を示す説明図である。It is explanatory drawing which shows schematic structure of the robot system containing a robot control apparatus. ロボット本体およびロボット制御装置の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of a robot main body and a robot control apparatus. 初期キャリブレーション処理のフローチャートである。It is a flowchart of an initial calibration process. 一回転内位置の許容範囲を示す説明図である。It is explanatory drawing which shows the tolerance | permissible_range of the position within 1 rotation. 再キャリブレーション処理のフローチャートである。It is a flowchart of a recalibration process.

A.システム構成:
図1は、本発明の一実施例としてのロボット制御装置200を含むロボットシステム10の概略構成を示す説明図である。ロボットシステム10は、多関節型の産業用ロボットとして構成されたロボット本体100と、ロボット本体100の動作を制御するロボット制御装置200と、ロボット制御装置200に接続され、ロボット本体100の動作を教示するためのロボット教示装置300とを有している。ロボット本体100とロボット制御装置200、および、ロボット制御装置200とロボット教示装置300は、所定の接続ケーブルを介してそれぞれ接続されている。
A. System configuration:
FIG. 1 is an explanatory diagram showing a schematic configuration of a robot system 10 including a robot control apparatus 200 as an embodiment of the present invention. The robot system 10 is connected to the robot main body 100 configured as an articulated industrial robot, a robot control device 200 that controls the operation of the robot main body 100, and the robot control device 200, and teaches the operation of the robot main body 100. And a robot teaching device 300 for performing the above. The robot body 100 and the robot control device 200, and the robot control device 200 and the robot teaching device 300 are connected to each other via a predetermined connection cable.

ロボット本体100は、例えば、工場内の設備に固定されるベース部101と、水平方向に旋回可能な関節軸によってベース部101に支持されたショルダ部102と、鉛直方向に旋回可能な関節軸によってショルダ部102に下端が支持された下アーム103と、鉛直方向に旋回可能な関節軸によって下アーム103の先端に略中央部が支持された上アーム104と、鉛直方向に旋回可能な関節軸によって上アーム104の先端に支持された手首105とを備えている。手首105の先端には、手首105の円周方向に回転可能な軸を有するフランジ部106が備えられている。フランジ部106には、ワークを把持するエンドエフェクタ107が取り付けられている。   The robot body 100 includes, for example, a base portion 101 fixed to equipment in a factory, a shoulder portion 102 supported by the base portion 101 by a joint shaft that can turn in a horizontal direction, and a joint shaft that can turn in a vertical direction. A lower arm 103 whose lower end is supported by the shoulder portion 102, an upper arm 104 whose substantially central portion is supported at the tip of the lower arm 103 by a joint shaft that can pivot in the vertical direction, and a joint shaft that can pivot in the vertical direction A wrist 105 supported at the tip of the upper arm 104. A flange portion 106 having a shaft that can rotate in the circumferential direction of the wrist 105 is provided at the tip of the wrist 105. An end effector 107 that grips a workpiece is attached to the flange portion 106.

ロボット制御装置200は、CPUやメモリを備えるコンピュータとして構成されている。ロボット制御装置200は、ロボット教示装置300によって教示された教示データに基づいて、ロボット本体100の各関節軸に備えられたサーボモータを駆動し、ロボット本体100の自動制御を行う。また、ロボット制御装置200は、ロボット教示装置300から手動による操作指令があった場合には、その指令に応じてロボット本体100の各関節軸を駆動する。   The robot control device 200 is configured as a computer including a CPU and a memory. Based on the teaching data taught by the robot teaching device 300, the robot control device 200 drives a servo motor provided on each joint axis of the robot main body 100 to automatically control the robot main body 100. When there is a manual operation command from the robot teaching device 300, the robot control device 200 drives each joint axis of the robot main body 100 in accordance with the command.

図2は、ロボット本体100およびロボット制御装置200の内部構成を示すブロック図である。説明の簡単のため、図2には、図1に示した複数の関節軸のうち、1つの関節軸について示している。ロボット本体100は、三相交流式のブラシレスDCモータとして構成されたサーボモータ110と、サーボモータ110の回転軸に接続されたアブソリュートエンコーダ160と、サーボモータ110の回転を減速させる減速機170と、減速機170を介してサーボモータ110によって駆動される関節軸180と、を備えている。   FIG. 2 is a block diagram showing the internal configuration of the robot body 100 and the robot control device 200. For simplicity of explanation, FIG. 2 shows one joint axis among the plurality of joint axes shown in FIG. The robot body 100 includes a servo motor 110 configured as a three-phase AC brushless DC motor, an absolute encoder 160 connected to the rotation shaft of the servo motor 110, a speed reducer 170 that decelerates rotation of the servo motor 110, And a joint shaft 180 driven by a servo motor 110 via a speed reducer 170.

アブソリュートエンコーダ160は、サーボモータ110の回転軸の物理的な絶対位置を検出する検出器である。絶対位置は、一回転内位置情報と多回転位置情報とを含むエンコーダ位置情報によって表される。一回転内位置情報とは、アブソリュートエンコーダ160の原点から1回転内におけるサーボモータ110の回転軸の絶対位置(絶対角度)を示す情報であり、例えば、16ビットの値で表される。また、多回転位置情報とは、その原点を基準としてカウントしたサーボモータ110の回転軸の累積回転数(累積角度)を示す情報であり、例えば、16ビットの値で表される。   The absolute encoder 160 is a detector that detects the physical absolute position of the rotation shaft of the servo motor 110. The absolute position is represented by encoder position information including position information in one rotation and position information in multiple rotations. The position information within one rotation is information indicating the absolute position (absolute angle) of the rotating shaft of the servo motor 110 within one rotation from the origin of the absolute encoder 160, and is represented by a 16-bit value, for example. Further, the multi-rotation position information is information indicating the cumulative number of rotations (cumulative angle) of the rotation shaft of the servo motor 110 counted with reference to the origin, and is represented by a 16-bit value, for example.

アブソリュートエンコーダ160は、前述したエンコーダ位置情報のうち、多回転位置情報を記憶するための多回転位置情報記憶部162を備えている。この多回転位置情報記憶部は揮発性のメモリであり、バッテリ164によってバックアップされている。そのため、バッテリ164の電圧が低下すると、多回転位置情報記憶部162に記憶された多回転位置情報は失われることになる。なお、一回転内位置情報は、バッテリ164の電圧が低下してもその情報が失われることはない。これは、アブソリュートエンコーダ160内に備えられた回転板によって一回転内の絶対位置はいつでも取得可能だからである。   The absolute encoder 160 includes a multi-rotation position information storage unit 162 for storing multi-rotation position information among the encoder position information described above. This multi-rotation position information storage unit is a volatile memory, and is backed up by a battery 164. For this reason, when the voltage of the battery 164 decreases, the multi-rotation position information stored in the multi-rotation position information storage unit 162 is lost. In addition, even if the voltage of the battery 164 falls, the information within one rotation is not lost. This is because the absolute position within one rotation can always be obtained by the rotating plate provided in the absolute encoder 160.

ロボット制御装置200は、ロボット本体100のサーボモータ110に三相交流電力を供給するインバータ210と、インバータ210のスイッチング制御を行う駆動回路220と、ロボット教示装置300が接続されるインタフェース230と、CPU240と、記憶部250とを備えている。CPU240は、記憶部250に記憶された所定の制御プログラム251を実行することで、駆動制御部260、第1キャリブレーション処理部270、第2キャリブレーション処理部280、として機能する。   The robot control device 200 includes an inverter 210 that supplies three-phase AC power to the servo motor 110 of the robot body 100, a drive circuit 220 that performs switching control of the inverter 210, an interface 230 to which the robot teaching device 300 is connected, and a CPU 240. And a storage unit 250. The CPU 240 functions as a drive control unit 260, a first calibration processing unit 270, and a second calibration processing unit 280 by executing a predetermined control program 251 stored in the storage unit 250.

第1キャリブレーション処理部270は、例えば、ロボット本体100が工場内の設備等に設置されたタイミングで最初にキャリブレーションを行うための機能を有する。キャリブレーションとは、関節軸180の制御上の軸位置とアブソリュートエンコーダ160から出力される物理的位置とを一致させるための補正値を求めることをいう。以下では、この第1キャリブレーション処理部270によって実行されるキャリブレーションのことを、「初期キャリブレーション処理」という。図2に示すように、第1キャリブレーション処理部270は、第1位置情報取得部271と、位置範囲判定部272と、補正値決定部273と、位置記録部274と、移動要求部275と、を含んでいる。   For example, the first calibration processing unit 270 has a function for performing calibration first at the timing when the robot body 100 is installed in equipment in a factory. Calibration refers to obtaining a correction value for matching the axial position on the control of the joint axis 180 with the physical position output from the absolute encoder 160. Hereinafter, the calibration executed by the first calibration processing unit 270 is referred to as “initial calibration processing”. As shown in FIG. 2, the first calibration processing unit 270 includes a first position information acquisition unit 271, a position range determination unit 272, a correction value determination unit 273, a position recording unit 274, and a movement request unit 275. , Including.

第1位置情報取得部271は、初期キャリブレーション処理を行う際に、アブソリュートエンコーダ160からエンコーダ位置情報を取得する機能を有する。位置範囲判定部272は、第1位置情報取得部271によって取得されたエンコーダ位置情報のうちの一回転内位置情報が表す位置が、予め定められた許容範囲に含まれるか否かを判定する機能を有する。この許容範囲についての詳細は後述する。補正値決定部273は、第1位置情報取得部271によって取得されたエンコーダ位置情報等に基づいて上述した補正値を算出し、記憶部250に不揮発的に記憶させる。補正値の具体的な算出方法については後述する。位置記録部274は、補正値が決定された際の関節軸の制御上の軸位置を表す情報(以下、関節軸位置情報という)と第1位置情報取得部271によって取得されたエンコーダ位置情報と、を記憶部250に不揮発的に記憶させる。移動要求部275は、第1位置情報取得部271によって取得されたエンコーダ位置情報のうちの一回転内位置情報が表す位置が、前述の許容範囲に含まれない場合に、キャリブレーション位置の変更をユーザに要求する機能を有する。   The first position information acquisition unit 271 has a function of acquiring encoder position information from the absolute encoder 160 when performing an initial calibration process. The position range determination unit 272 determines whether or not the position represented by the position information in one rotation of the encoder position information acquired by the first position information acquisition unit 271 is included in a predetermined allowable range. Have Details of the allowable range will be described later. The correction value determination unit 273 calculates the correction value described above based on the encoder position information acquired by the first position information acquisition unit 271 and stores the correction value in the storage unit 250 in a nonvolatile manner. A specific method for calculating the correction value will be described later. The position recording unit 274 includes information (hereinafter, referred to as joint axis position information) indicating the position of the joint axis when the correction value is determined, and encoder position information acquired by the first position information acquisition unit 271. Are stored in the storage unit 250 in a nonvolatile manner. The movement request unit 275 changes the calibration position when the position represented by the position information within one rotation of the encoder position information acquired by the first position information acquisition unit 271 is not included in the above-described allowable range. It has a function requested to the user.

第2キャリブレーション処理部280は、初期キャリブレーション処理後の任意のタイミングで、再度、キャリブレーションを行うための機能を有する。以下では、第2キャリブレーション処理部280によって行われるキャリブレーションのことを、「再キャリブレーション処理」という。再キャリブレーション処理は、例えば、アブソリュートエンコーダ160が備えるバッテリ164の電圧が低下して多回転位置情報が失われた際に、バッテリ164が新たなバッテリに交換された後にユーザの指示に応じて実行される。第2キャリブレーション処理部280は、第2位置情報取得部281と、補正値更新部282と、含んでいる。   The second calibration processing unit 280 has a function for performing calibration again at an arbitrary timing after the initial calibration processing. Hereinafter, the calibration performed by the second calibration processing unit 280 is referred to as “recalibration processing”. For example, when the voltage of the battery 164 included in the absolute encoder 160 decreases and the multi-rotation position information is lost, the recalibration process is executed according to a user instruction after the battery 164 is replaced with a new battery. Is done. The second calibration processing unit 280 includes a second position information acquisition unit 281 and a correction value update unit 282.

第2位置情報取得部281は、アブソリュートエンコーダ160からエンコーダ位置情報を取得する機能を有する。補正値更新部282は、記憶部250に記憶されているエンコーダ位置情報と、関節軸位置情報と、第2位置情報取得部281によって取得されたエンコーダ位置情報と、に基づいて、補正値を再決定して記憶部250に記録する機能を有する。   The second position information acquisition unit 281 has a function of acquiring encoder position information from the absolute encoder 160. The correction value update unit 282 regenerates the correction value based on the encoder position information stored in the storage unit 250, the joint axis position information, and the encoder position information acquired by the second position information acquisition unit 281. It has a function of determining and recording in the storage unit 250.

駆動制御部260は、記憶部250に予め記憶された教示データ252に基づいて、サーボモータ110を駆動するための信号を駆動回路220に出力する。このとき、駆動制御部260は、ロボット本体100のアブソリュートエンコーダ160からエンコーダ位置情報を取得し、このエンコーダ位置情報と記憶部250に記憶されている補正値とに基づいて、サーボモータ110の駆動をフィードバック制御する。   The drive control unit 260 outputs a signal for driving the servo motor 110 to the drive circuit 220 based on the teaching data 252 stored in advance in the storage unit 250. At this time, the drive control unit 260 acquires the encoder position information from the absolute encoder 160 of the robot body 100, and drives the servo motor 110 based on the encoder position information and the correction value stored in the storage unit 250. Feedback control.

駆動制御部260は、関節軸の位置を以下の式(1)によって算出してフィードバック制御を行う。具体的には、アブソリュートエンコーダ160から出力された絶対位置に、第1キャリブレーション処理部270や第2キャリブレーション処理部280で決定された補正値を加算し、その合計値を減速機170のギア比で除した値が関節軸180の制御上の位置となる。なお、減速機170のギア比は、関節軸180の種類に応じて50〜120程度の値をとり、例えば、80とすることができる。   The drive control unit 260 performs feedback control by calculating the position of the joint axis by the following equation (1). Specifically, the correction value determined by the first calibration processing unit 270 or the second calibration processing unit 280 is added to the absolute position output from the absolute encoder 160, and the total value is added to the gear of the speed reducer 170. The value divided by the ratio is the control position of the joint shaft 180. The gear ratio of the speed reducer 170 takes a value of about 50 to 120 according to the type of the joint shaft 180 and can be set to 80, for example.

関節軸位置=(エンコーダ出力位置+補正値)/ギア比 ・・・(1)   Joint axis position = (encoder output position + correction value) / gear ratio (1)

第1キャリブレーション処理部270は、上記式(1)中の補正値を、下記式(2)に基づいて算出する。具体的には、キャリブレーションを行う際の関節軸の制御位置にギア比を積算し、その積算値からアブソリュートエンコーダ160が出力した絶対位置(一回転内位置+多回転位置)を差し引くことで求めることができる。なお、第2キャリブレーション処理部280による補正値の再決定方法については後述する。   The first calibration processing unit 270 calculates the correction value in the above formula (1) based on the following formula (2). Specifically, the gear ratio is added to the control position of the joint axis at the time of calibration, and is obtained by subtracting the absolute position (position within one rotation + multi-turn position) output from the integrated value. be able to. Note that the correction value re-determination method performed by the second calibration processing unit 280 will be described later.

補正値=関節軸位置*ギア比−エンコーダ出力位置 ・・・(2)   Correction value = Joint axis position * Gear ratio-Encoder output position (2)

B.初期キャリブレーション処理:
図3は、第1キャリブレーション処理部270によって実行される初期キャリブレーション処理のフローチャートである。この初期キャリブレーション処理は、例えば、ロボット本体100が工場内の設備等に組み付けられた際に、ユーザからロボット教示装置300を通じて初期キャリブレーションの実行を指令された場合に実行される。
B. Initial calibration process:
FIG. 3 is a flowchart of the initial calibration process executed by the first calibration processing unit 270. This initial calibration process is executed, for example, when the execution of initial calibration is instructed by the user through the robot teaching device 300 when the robot main body 100 is assembled in equipment or the like in the factory.

初期キャリブレーション処理が実行されると、まず、ユーザによって、ロボット本体100の関節軸180が任意の位置に移動され、キャリブレーション位置が指定される(ステップS100)。ユーザは、ロボット教示装置300を用いて関節軸180を移動させることができ、また、ロボット本体100のアームを掴んで関節軸180を移動させることもできる。   When the initial calibration process is executed, first, the user moves the joint axis 180 of the robot main body 100 to an arbitrary position and designates the calibration position (step S100). The user can move the joint axis 180 by using the robot teaching device 300, and can also move the joint axis 180 by grasping the arm of the robot main body 100.

キャリブレーション位置が指定されると、第1キャリブレーション処理部270は、第1位置情報取得部271により、アブソリュートエンコーダ160からエンコーダ位置情報を取得する(ステップS105)。第1位置情報取得部271は、更に、そのエンコーダ位置情報の中から、一回転内位置情報を取得する(ステップS110)。   When the calibration position is designated, the first calibration processing unit 270 acquires encoder position information from the absolute encoder 160 by the first position information acquisition unit 271 (step S105). The first position information acquisition unit 271 further acquires position information within one rotation from the encoder position information (step S110).

一回転内位置情報が取得されると、位置範囲判定部272により、その一回転内位置情報によって表される一回転内位置が、アブソリュートエンコーダ160の原点を含まない所定の許容範囲内にあるか否かが判定される(ステップS115)。   When the position information within one rotation is acquired, the position range determination unit 272 determines whether the position within one rotation represented by the position information within one rotation is within a predetermined allowable range that does not include the origin of the absolute encoder 160. It is determined whether or not (step S115).

図4は、本実施例における一回転内位置の許容範囲を示す説明図である。本実施例では、図4に示すように、位置範囲判定部272は、原点から±45°の範囲を除いた範囲、すなわち、原点に対して+45°から+315°までの範囲を許容範囲とし、一回転内位置が、この許容範囲内にあるか否かを判定する。この判定の結果、一回転内位置が許容範囲内になければ、移動要求部275が、ロボット教示装置300を通じてユーザに関節軸180の微小な移動を要求し(ステップS120)、処理をステップS100に戻す。関節軸180の移動が行われると、移動後の一回転内位置が、前述の許容範囲内となるまで、上記ステップS100〜S115の処理が繰り返される。なお、上記ステップS120では、ロボット制御装置200は、例えば、ユーザによる関節軸180の移動が許容範囲に収まるようになるまで、ロボット教示装置300を通じて、ユーザに、警告表示を行わせることとしてもよい。   FIG. 4 is an explanatory diagram showing an allowable range of the position within one rotation in the present embodiment. In the present embodiment, as shown in FIG. 4, the position range determination unit 272 defines a range excluding a range of ± 45 ° from the origin, that is, a range from + 45 ° to + 315 ° with respect to the origin, It is determined whether the position within one rotation is within this allowable range. As a result of this determination, if the position within one rotation is not within the allowable range, the movement request unit 275 requests the user to move the joint shaft 180 through the robot teaching device 300 (step S120), and the process proceeds to step S100. return. When the joint shaft 180 is moved, the processes in steps S100 to S115 are repeated until the position within one rotation after the movement is within the allowable range described above. In step S120, the robot control device 200 may cause the user to display a warning through the robot teaching device 300 until, for example, the movement of the joint axis 180 by the user is within an allowable range. .

上記ステップS115において、一回転内位置が許容範囲内であると判定されると、上記式(2)に従い、補正値決定部273により補正値が算出される(ステップS125)。補正値決定部273により補正値が算出されると、算出された補正値は、記憶部250に保存される(ステップS130)。補正値が記憶部250に保存されると、位置記録部274により、上記ステップS105で最後に取得したエンコーダ位置情報と、そのエンコーダ位置情報が取得された時点における関節軸の制御位置を表す関節軸位置情報と、が記憶部250に保存される(ステップS135,S140)。なお、本実施例では、ステップS135において、記憶部250に、エンコーダ位置情報全体を保存することとするが、エンコーダ位置情報のうち、一回転内位置情報だけを保存することとしてもよい。   If it is determined in step S115 that the position within one rotation is within the allowable range, a correction value is calculated by the correction value determination unit 273 according to the equation (2) (step S125). When the correction value is calculated by the correction value determination unit 273, the calculated correction value is stored in the storage unit 250 (step S130). When the correction value is stored in the storage unit 250, the position recording unit 274 stores the encoder position information last acquired in step S105 and the joint axis indicating the control position of the joint axis at the time when the encoder position information is acquired. The position information is stored in the storage unit 250 (steps S135 and S140). In the present embodiment, in step S135, the entire encoder position information is stored in the storage unit 250, but only the position information within one rotation may be stored in the encoder position information.

以上で説明した一連の処理により、初期キャリブレーション処理は終了する。初期キャリブレーション処理の終了後、ユーザは、関節軸180上の、上記ステップS100で指定したキャリブレーション位置、あるいは、上記ステップS120で移動させたキャリブレーション位置に、マーキングを施すことが好ましい。こうすることで、後述する再キャリブレーション処理において、容易にキャリブレーション位置への関節軸180の位置合わせを行うことができる。   The initial calibration process is completed by the series of processes described above. After completion of the initial calibration process, the user preferably performs marking on the calibration position designated in step S100 on the joint shaft 180 or the calibration position moved in step S120. By doing so, it is possible to easily align the joint axis 180 to the calibration position in the recalibration process described later.

C.再キャリブレーション処理:
図5は、第2キャリブレーション処理部280によって実行される再キャリブレーション処理のフローチャートである。この再キャリブレーション処理は、アブソリュートエンコーダ160が備えるバッテリ164の交換が行われ、ユーザからロボット教示装置300を通じて再キャリブレーション処理の実行を指令された場合に実行される。
C. Recalibration process:
FIG. 5 is a flowchart of the recalibration process executed by the second calibration processing unit 280. This recalibration process is executed when the battery 164 included in the absolute encoder 160 is replaced and the execution of the recalibration process is instructed through the robot teaching apparatus 300 by the user.

再キャリブレーション処理が実行されると、まず、ユーザによって、ロボット本体100の関節軸180が、初期キャリブレーション処理において指定されたキャリブレーション位置に移動される(ステップS200)。初期キャリブレーション処理の際と同様に、ユーザは、ロボット教示装置300を用いて関節軸180を移動させることができ、また、ロボット本体100のアームを掴んで関節軸180を移動させることもできる。   When the recalibration process is executed, first, the user moves the joint axis 180 of the robot body 100 to the calibration position designated in the initial calibration process (step S200). As in the initial calibration process, the user can move the joint axis 180 by using the robot teaching apparatus 300, and can also move the joint axis 180 by grasping the arm of the robot body 100.

キャリブレーション位置に関節軸180が移動されると、第2位置情報取得部281によって、アブソリュートエンコーダ160からエンコーダ位置情報が取得される(ステップS205)。エンコーダ位置情報の取得後、第2キャリブレーション処理部280は、初期キャリブレーション処理において保存されたエンコーダ位置情報を記憶部250から読み出す(ステップS210)。そして、アブソリュートエンコーダ160から取得したエンコーダ位置情報のうちの一回転内位置情報を、記憶部250から読み出したエンコーダ位置情報内の一回転内位置情報に置き換える(ステップS215)。   When the joint shaft 180 is moved to the calibration position, the encoder position information is acquired from the absolute encoder 160 by the second position information acquisition unit 281 (step S205). After acquiring the encoder position information, the second calibration processing unit 280 reads out the encoder position information stored in the initial calibration process from the storage unit 250 (step S210). Then, the position information within one rotation of the encoder position information acquired from the absolute encoder 160 is replaced with position information within one rotation within the encoder position information read from the storage unit 250 (step S215).

一回転内位置情報の置き換え後、補正値更新部282は、初期キャリブレーション処理において記憶部250に保存された関節軸位置情報を読み出し(ステップS220)、この関節軸位置情報と、ステップS215において一回転内位置情報が置き換えられたエンコーダ位置情報とを用いて、上記式(2)に基づき補正値を算出する(ステップS225)。そして、算出された補正値によって、記憶部250にすでに記憶されている補正値を更新する(ステップS230)。なお、初期キャリブレーション処理によって記憶部250に保存されたエンコーダ位置情報と関節軸位置情報とは、更新せずにそのまま保存しておく。   After the replacement of the position information within one rotation, the correction value update unit 282 reads the joint axis position information stored in the storage unit 250 in the initial calibration process (step S220), and the joint axis position information and one in step S215. Using the encoder position information in which the in-rotation position information is replaced, a correction value is calculated based on the above equation (2) (step S225). Then, the correction value already stored in the storage unit 250 is updated with the calculated correction value (step S230). Note that the encoder position information and the joint axis position information saved in the storage unit 250 by the initial calibration process are saved as they are without being updated.

以上で説明した本実施例のロボット制御装置200によれば、上述した初期キャリブレーション処理において、アブソリュートエンコーダ160の原点位置からある程度離れた一回転内位置において関節軸180のキャリブレーション位置が設定される。そのため、再キャリブレーション時において、関節軸180をキャリブレーション位置に位置合わせする際に、多回転位置が不安定になること(より詳しくは、多回転位置が±1回転の範囲で変動してしまうこと)を抑制することができる。そのため、ロボット本体100が設備内に固定されてしまい関節軸180をメカ端のように位置合わせの容易な位置でキャリブレーションできないような状況においても、任意の位置に再現性の高いキャリブレーション位置を設定することが可能になる。   According to the robot control apparatus 200 of the present embodiment described above, in the initial calibration process described above, the calibration position of the joint shaft 180 is set at a position within one rotation that is somewhat distant from the origin position of the absolute encoder 160. . Therefore, at the time of recalibration, when the joint shaft 180 is aligned with the calibration position, the multi-rotation position becomes unstable (more specifically, the multi-rotation position varies within a range of ± 1 rotation). Can be suppressed. Therefore, even in a situation where the robot body 100 is fixed in the facility and the joint shaft 180 cannot be calibrated at a position where positioning is easy, such as a mechanical end, a highly reproducible calibration position is provided at any position. It becomes possible to set.

また、本実施例では、上記のようにキャリブレーション位置の設定がなされる結果、再キャリブレーション時においてアブソリュートエンコーダ160から正確に多回転位置情報が出力されることになる。そのため、アブソリュートエンコーダ160のバッテリ164の電圧低下によって多回転位置情報が失われ、再キャリブレーションが必要になった場合でも、正確にキャリブレーションを行うことができる。この結果、バッテリ交換に伴って、再度ティーチングを行う必要がないため、ロボットを迅速に復帰させることが可能になる。   In the present embodiment, as a result of setting the calibration position as described above, the multi-rotation position information is accurately output from the absolute encoder 160 at the time of recalibration. Therefore, even when the multi-rotation position information is lost due to the voltage drop of the battery 164 of the absolute encoder 160 and recalibration is necessary, the calibration can be performed accurately. As a result, it is not necessary to perform teaching again with battery replacement, and thus the robot can be returned quickly.

更に、上述した再キャリブレーション処理によれば、初期キャリブレーション処理において保存しておいたエンコーダ位置情報内の一回転内位置を用いて補正値を算出する。そのため、再キャリブレーション処理時の位置合わせの際に、減速機170のヒステリシスや、位置合わせの際の力加減、あるいは、目分量による位置ズレなどの要因が存在しても、それらの影響を受けることなく、初期キャリブレーション時と同等の精度で正確にキャリブレーションを行うことができる。   Furthermore, according to the recalibration process described above, the correction value is calculated using the position within one rotation in the encoder position information stored in the initial calibration process. For this reason, even if there are factors such as hysteresis of the speed reducer 170, force adjustment at the time of alignment, or positional deviation due to the amount of division during alignment at the time of recalibration processing, it is affected by them. Therefore, the calibration can be performed accurately with the same accuracy as the initial calibration.

ここで、初期キャリブレーション処理によって記憶部250に保存しておいたエンコーダ位置情報内の一回転内位置を用いて再キャリブレーション時に補正値を算出可能な理由について説明する。まず、ロボット本体100のある関節軸180をメカ端に押しつけ、その押しつけ力を変化させた場合に関節軸180の位置ズレを測定した。すると、そのズレ量は、最大で約0.26°であった、このズレは、例えば、アームの長さが854.88mmの場合には、アームの先端で、3.879mm(=854.88mm×sin0.26°)のズレとなって表れる。しかし、この0.26°という角度は、減速機170のギア比を80とすると、サーボモータ110の回転軸レベルでは、20.8°(=0.26°×80)という角度に過ぎない。また、ギア比を150として計算しても、39.0°程度である。つまり、上述したズレの要因による影響は、多く見積もっても、サーボモータ110の回転軸の1回転内のズレに収まると言える。そのため、本実施例の再キャリブレーション処理では、アブソリュートエンコーダ160から取得した多回転位置情報はそのままに、一回転内位置情報だけを記憶部250に保存しておいた値に入れ替えることで、初期キャリブレーション処理実行時と同様の精度の高いキャリブレーションが実行可能になる。また、再キャリブレーション処理の際には、多回転位置情報は、再キャリブレーションの際に得られた値をそのまま使用するが、本実施例では前述のように、キャリブレーション位置がアブソリュートエンコーダ160の原点付近に設定されることがないため、多回転位置の検出精度が高くなる。よって、本実施例によれば、精度の高い一回転内位置および多回転位置によって、きわめて高精度にキャリブレーションを行うことが可能になる。   Here, the reason why the correction value can be calculated at the time of recalibration using the position within one rotation in the encoder position information stored in the storage unit 250 by the initial calibration processing will be described. First, the joint shaft 180 with the robot main body 100 was pressed against the mechanical end, and the displacement of the joint shaft 180 was measured when the pressing force was changed. Then, the amount of deviation was about 0.26 ° at the maximum. For example, when the length of the arm is 854.88 mm, this deviation is 3.879 mm (= 854.88 mm) at the tip of the arm. Xsin 0.26 °). However, this angle of 0.26 ° is only an angle of 20.8 ° (= 0.26 ° × 80) at the rotating shaft level of the servo motor 110 when the gear ratio of the speed reducer 170 is 80. Further, even if the gear ratio is calculated as 150, it is about 39.0 °. That is, it can be said that the influence of the above-described deviation factor falls within the deviation within one rotation of the rotation shaft of the servo motor 110 even if many estimates are made. Therefore, in the recalibration process of the present embodiment, the initial calibration is performed by replacing only the position information in one rotation with the value stored in the storage unit 250 while maintaining the multi-rotation position information acquired from the absolute encoder 160 as it is. The same highly accurate calibration as when executing the calibration process can be performed. In the recalibration process, the value obtained at the time of recalibration is used as it is for the multi-rotation position information. However, in this embodiment, the calibration position is the absolute encoder 160 as described above. Since it is not set near the origin, the detection accuracy of the multi-rotation position is increased. Therefore, according to the present embodiment, it is possible to perform calibration with extremely high accuracy by the highly accurate position within one rotation and the multiple rotation position.

D.変形例:
以上、本発明の一実施例について説明したが、本発明はこのような実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができる。例えば、以下のような変形が可能である。
D. Variation:
As mentioned above, although one Example of this invention was described, this invention is not limited to such an Example, A various structure can be taken in the range which does not deviate from the meaning. For example, the following modifications are possible.

・変形例1:
上記実施例では、サーボモータ110の回転軸の一回転内位置が、原点から+45°〜+315°の範囲(許容範囲)に入るようキャリブレーション位置の設定を行ったが、この範囲は、多回転数の変動を抑制可能な値であればよく任意に設定可能である。例えば、+30°〜+330°、+60°〜+300°、+90°〜+270°などの範囲を許容範囲とすることができる。また、許容範囲は、原点から+方向と−方向とで非対称となる範囲とすることもできる。
・ Modification 1:
In the above embodiment, the calibration position is set so that the position within one rotation of the rotation axis of the servo motor 110 falls within the range (allowable range) of + 45 ° to + 315 ° from the origin. Any value can be set as long as the fluctuation of the number can be suppressed. For example, ranges of + 30 ° to + 330 °, + 60 ° to + 300 °, + 90 ° to + 270 °, and the like can be set as allowable ranges. Further, the allowable range may be a range in which the plus direction and the minus direction are asymmetric from the origin.

その他、例えば、前述の許容範囲は、下記式(3),(4)に示すように、一回転内位置の全範囲から、原点を起点として360°をサーボモータ110の回転軸のギア数で除した値Aだけ遅れた位置からこの値Aまで進んだ位置までを除いた範囲(換言すれば、一回転内位置の全範囲において、値Aに対応する位置から、360°から値Aを差し引いた値に対応する位置までの範囲)とすることができる。   In addition, for example, as shown in the following formulas (3) and (4), the allowable range described above is 360 degrees from the entire range of the position within one rotation, starting from the origin, with the number of gears of the rotation shaft of the servo motor 110. The range excluding the position delayed by the divided value A to the position advanced to this value A (in other words, the value A is subtracted from 360 ° from the position corresponding to the value A in the entire range of the position within one rotation. Range up to the position corresponding to the measured value).

値A=360°/ギア数 ・・・(3)
値A≦許容範囲≦360°−値A ・・・(4)
Value A = 360 ° / number of gears (3)
Value A ≦ Allowable Range ≦ 360 ° −Value A (4)

キャリブレーション位置への関節軸の位置合わせは、モータの回転軸に設けられたギアの分解能に拘束される。そのため、上記のように、原点から1つのギア分だけ位置を前後させた範囲を除く範囲を許容範囲とすれば、より広い範囲にキャリブレーション位置を設定することが可能になる。なお、モータの回転軸のギア数は、例えば、50〜60程度であり、多くても100程度である。   The alignment of the joint shaft to the calibration position is restricted by the resolution of the gear provided on the rotation shaft of the motor. Therefore, as described above, if the range excluding the range where the position is moved back and forth by one gear from the origin is set as the allowable range, the calibration position can be set in a wider range. Note that the number of gears of the rotating shaft of the motor is, for example, about 50 to 60, and about 100 at most.

・変形例2:
上記実施例では、1つの関節軸180について初期キャリブレーションと再キャリブレーションとを行う例について説明したが、ロボット本体100が備える全ての関節軸に対して、上述した初期キャリブレーションと再キャリブレーションとを適用することができる。
Modification 2
In the above-described embodiment, an example in which initial calibration and recalibration are performed for one joint axis 180 has been described. Can be applied.

・変形例3:
上記実施例では、再キャリブレーション処理は、バッテリ164の交換後に行うこととしたが、バッテリ164の交換の有無にかかわらず、初期キャリブレーション処理が終了した後であれば、どのタイミングで実行してもよい。また、初期キャリブレーション処理および再キャリブレーション処理が実行される回数はそれぞれ特に制限されない。
・ Modification 3:
In the above embodiment, the recalibration process is performed after the battery 164 is replaced. However, at any timing after the initial calibration process is completed regardless of whether the battery 164 is replaced. Also good. Further, the number of times the initial calibration process and the recalibration process are executed is not particularly limited.

・変形例4:
上記実施例では、初期キャリブレーション処理と再キャリブレーション処理とは、ロボット制御装置200が実行することとしたが、ロボット教示装置300が実行することとしてもよい。この場合、ロボット教示装置300が、本願のロボット制御装置に相当する。また、処理内容が、ロボット制御装置200とロボット教示装置300とに分散する場合には、両者をまとめて、本願のロボット制御装置として捉えることも可能である。
-Modification 4:
In the above embodiment, the initial calibration process and the recalibration process are executed by the robot control apparatus 200, but may be executed by the robot teaching apparatus 300. In this case, the robot teaching device 300 corresponds to the robot control device of the present application. Further, when the processing contents are distributed between the robot control device 200 and the robot teaching device 300, it is also possible to collect both of them as the robot control device of the present application.

・変形例5:
上記実施例では、任意の位置で初期キャリブレーションを行うこととしたが、メカ端や所定のマーキング位置など、位置合わせの再現性の高い位置で初期キャリブレーションを行うこととしてもよい。
-Modification 5:
In the above embodiment, the initial calibration is performed at an arbitrary position. However, the initial calibration may be performed at a position with high reproducibility of alignment such as a mechanical end or a predetermined marking position.

・変形例6:
上述したロボット制御装置200の構成において、ソフトウェアによって実現した機能はハードウェアによって実現してもよく、その逆もまた可能である
Modification 6:
In the configuration of the robot control device 200 described above, functions realized by software may be realized by hardware, and vice versa.

10…ロボットシステム
100…ロボット本体
101…ベース部
102…ショルダ部
103…下アーム
104…上アーム
105…手首
106…フランジ部
107…エンドエフェクタ
110…サーボモータ
160…アブソリュートエンコーダ
162…多回転位置情報記憶部
164…バッテリ
170…減速機
180…関節軸
200…ロボット制御装置
210…インバータ
220…駆動回路
222…教示データ
230…インタフェース
240…CPU
250…記憶部
251…制御プログラム
252…教示データ
260…駆動制御部
270…第1キャリブレーション処理部
271…第1位置情報取得部
272…位置範囲判定部
273…補正値決定部
274…位置記録部
280…第2キャリブレーション処理部
281…第2位置情報取得部
282…補正値更新部
300…ロボット教示装置
DESCRIPTION OF SYMBOLS 10 ... Robot system 100 ... Robot main body 101 ... Base part 102 ... Shoulder part 103 ... Lower arm 104 ... Upper arm 105 ... Wrist 106 ... Flange part 107 ... End effector 110 ... Servo motor 160 ... Absolute encoder 162 ... Multi-rotation position information storage Unit 164 ... Battery 170 ... Speed reducer 180 ... Joint axis 200 ... Robot controller 210 ... Inverter 220 ... Drive circuit 222 ... Teaching data 230 ... Interface 240 ... CPU
250: Storage unit 251: Control program 252 ... Teaching data 260 ... Drive control unit 270 ... First calibration processing unit 271 ... First position information acquisition unit 272 ... Position range determination unit 273 ... Correction value determination unit 274 ... Position recording unit 280 ... second calibration processing unit 281 ... second position information acquisition unit 282 ... correction value update unit 300 ... robot teaching device

Claims (5)

関節軸と、該関節軸を駆動するモータと、該モータの回転軸の物理的な位置を表す一回転内位置と多回転位置とを含む位置情報を出力するアブソリュートエンコーダと、を有するロボットを制御するロボット制御装置であって、
前記関節軸上の任意のキャリブレーション位置に前記関節軸が移動された場合において、前記アブソリュートエンコーダから位置情報を取得する第1位置情報取得部と、
前記第1位置情報取得部が取得した前記位置情報に含まれる一回転内位置が、前記多回転位置のカウントを行う基準となる原点を含まない所定の許容範囲に含まれるか否かを判定する位置範囲判定部と、
前記第1位置情報取得部が取得した前記位置情報に含まれる一回転内位置が、前記許容範囲に含まれない場合に、該一回転内位置が前記許容範囲に含まれるまで、前記キャリブレーション位置の移動を要求する移動要求部と、
前記第1位置情報取得部が取得した前記位置情報に含まれる一回転内位置が、前記許容範囲に含まれる場合に、前記位置情報と前記関節軸の制御位置とに基づいて、前記関節軸の物理的な位置と制御位置とを補正する補正値を決定する補正値決定部と、
を備えるロボット制御装置。
Controlling a robot having a joint axis, a motor that drives the joint axis, and an absolute encoder that outputs position information including a position within one rotation representing a physical position of the rotation axis of the motor and a multi-rotation position A robot controller that
A first position information acquisition unit that acquires position information from the absolute encoder when the joint axis is moved to an arbitrary calibration position on the joint axis;
It is determined whether the position within one rotation included in the position information acquired by the first position information acquisition unit is included in a predetermined allowable range that does not include an origin serving as a reference for counting the multiple rotation positions. A position range determination unit;
When the position within one rotation included in the position information acquired by the first position information acquisition unit is not included in the allowable range, the calibration position is included until the position within one rotation is included in the allowable range. A movement requesting unit that requests movement of
When the position within one rotation included in the position information acquired by the first position information acquisition unit is included in the allowable range, based on the position information and the control position of the joint axis, A correction value determination unit for determining a correction value for correcting the physical position and the control position;
A robot control device comprising:
請求項1に記載のロボット制御装置であって、
前記許容範囲は、前記一回転内位置の全範囲から、前記原点を起点として360°を前記モータの回転軸のギア数で除した値だけ遅れた位置から該値まで進んだ位置までを除いた範囲である、ロボット制御装置。
The robot control device according to claim 1,
The allowable range excludes from the entire range of the position within one rotation to a position advanced from the position delayed by a value obtained by dividing 360 ° by the number of gears of the rotation shaft of the motor from the origin. Robot controller that is in range.
請求項1または請求項2に記載のロボット制御装置であって、更に、
前記補正値が決定された際における前記位置情報のうちの少なくとも前記一回転内位置と前記関節軸の制御位置とを記憶する制御装置側記憶部と、
前記補正値が決定された後に、前記関節軸が、再度、前記キャリブレーション位置に移動された場合において、前記アブソリュートエンコーダから位置情報を取得する第2位置情報取得部と、
前記第2位置情報取得部が取得した前記位置情報内の一回転内位置を、前記制御装置側記憶部に記憶されている一回転内位置に変更し、該変更後の位置情報と前記制御装置側記憶部に記憶されている前記関節軸の制御位置とに基づいて、前記補正値を更新する補正値更新部と、を備えるロボット制御装置。
The robot control device according to claim 1 or 2, further comprising:
A control-unit-side storage unit that stores at least the position within one rotation and the control position of the joint axis in the position information when the correction value is determined;
A second position information acquisition unit that acquires position information from the absolute encoder when the joint axis is moved to the calibration position again after the correction value is determined;
The position within one rotation in the position information acquired by the second position information acquisition unit is changed to the position within one rotation stored in the storage unit on the control device side, and the position information after the change and the control device And a correction value updating unit that updates the correction value based on a control position of the joint axis stored in a side storage unit.
請求項3に記載のロボット制御装置であって、
前記アブソリュートエンコーダは、
前記位置情報のうちの多回転位置を保持する揮発性のエンコーダ側記憶部と、
前記エンコーダ側記憶部をバッテリバックアップするバッテリと、を備え、
前記第2位置情報取得部は、前記補正値決定部によって前記補正値が決定された後で、かつ、前記バッテリが交換されて前記エンコーダ側記憶部から前記多回転位置が失われた後に、前記位置情報の取得を行う、ロボット制御装置。
The robot control device according to claim 3 ,
The absolute encoder is
A volatile encoder-side storage unit that holds a multi-rotation position of the position information;
A battery for battery backup of the encoder side storage unit,
The second position information acquisition unit, after the correction value is determined by the correction value determination unit and after the battery is replaced and the multi-rotation position is lost from the encoder-side storage unit, A robot controller that acquires position information.
関節軸と、該関節軸を駆動するモータと、該モータの回転軸の物理的な位置を表す一回転内位置と多回転位置とを含む位置情報を出力するアブソリュートエンコーダと、を有するロボットをロボット制御装置がキャリブレーションするキャリブレーション方法であって、
前記関節軸上の任意のキャリブレーション位置に前記関節軸が移動された場合において、前記アブソリュートエンコーダから位置情報を取得する第1位置情報取得工程と、
前記第1位置情報工程により取得した前記位置情報に含まれる一回転内位置が、前記多回転位置のカウントを行う基準となる原点を含まない所定の許容範囲に含まれるか否かを判定する位置範囲判定工程と、
前記第1位置情報取得部が取得した前記位置情報に含まれる一回転内位置が、前記許容範囲に含まれない場合に、該一回転内位置が前記許容範囲に含まれるまで、前記キャリブレーション位置の移動を要求する移動要求工程と、
前記第1位置情報取得部が取得した前記位置情報に含まれる一回転内位置が、前記許容範囲に含まれる場合に、前記位置情報と前記関節軸の制御位置とに基づいて、前記関節軸の物理的な位置と制御位置とを補正する補正値を決定する補正値決定工程と、
を含むキャリブレーション方法。
A robot having a joint shaft, a motor that drives the joint shaft, and an absolute encoder that outputs position information including a position within one rotation representing a physical position of the rotation shaft of the motor and a multi-rotation position. A calibration method in which a control device calibrates,
A first position information acquisition step of acquiring position information from the absolute encoder when the joint axis is moved to an arbitrary calibration position on the joint axis;
A position for determining whether or not the position within one rotation included in the position information acquired by the first position information step is included in a predetermined allowable range that does not include an origin serving as a reference for counting the multiple rotation positions. A range determination step;
When the position within one rotation included in the position information acquired by the first position information acquisition unit is not included in the allowable range, the calibration position is included until the position within one rotation is included in the allowable range. A movement request process for requesting movement of
When the position within one rotation included in the position information acquired by the first position information acquisition unit is included in the allowable range, based on the position information and the control position of the joint axis, A correction value determining step for determining a correction value for correcting the physical position and the control position;
Calibration method including:
JP2011058943A 2011-03-17 2011-03-17 Robot control apparatus and calibration method Active JP5803173B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011058943A JP5803173B2 (en) 2011-03-17 2011-03-17 Robot control apparatus and calibration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011058943A JP5803173B2 (en) 2011-03-17 2011-03-17 Robot control apparatus and calibration method

Publications (2)

Publication Number Publication Date
JP2012192498A JP2012192498A (en) 2012-10-11
JP5803173B2 true JP5803173B2 (en) 2015-11-04

Family

ID=47084904

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011058943A Active JP5803173B2 (en) 2011-03-17 2011-03-17 Robot control apparatus and calibration method

Country Status (1)

Country Link
JP (1) JP5803173B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6499826B2 (en) * 2014-01-29 2019-04-10 日本電産サンキョー株式会社 Industrial robot
CN107443389B (en) 2016-05-31 2019-12-31 发那科株式会社 Robot control device and robot control method
US11353345B2 (en) * 2019-07-22 2022-06-07 Boston Dynamics, Inc. Magnetic encoder calibration
CN113712672B (en) * 2021-11-04 2022-02-22 极限人工智能(北京)有限公司 Origin position calibration method and device, electronic equipment and storage medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS623306A (en) * 1985-06-28 1987-01-09 Pentel Kk Method for correcting original point position of robot
JPS62175810A (en) * 1986-01-29 1987-08-01 Omron Tateisi Electronics Co Industrial robot controller
JPH01280207A (en) * 1988-05-02 1989-11-10 Hitachi Ltd Position detecting device for moving body and origin position returning method
JPH03119405A (en) * 1989-10-03 1991-05-21 Toshiba Corp Resetting device for original point of robot
JP2993323B2 (en) * 1993-08-03 1999-12-20 株式会社デンソー Robot origin correction method
JPH09265307A (en) * 1996-03-27 1997-10-07 Daihen Corp Correction data storage method for robot coordinate system

Also Published As

Publication number Publication date
JP2012192498A (en) 2012-10-11

Similar Documents

Publication Publication Date Title
US10144132B2 (en) Robot controlling method, robot apparatus, program and recording medium
US9221176B2 (en) Robot system and method for controlling the same
CN107263543B (en) Robot joint calibration method and calculation device
JP6460697B2 (en) Angle detection method, angle detection apparatus, and robot apparatus
CN110340909B (en) Robot system for learning control using motor encoder and sensor
JP5803173B2 (en) Robot control apparatus and calibration method
JP2012024877A (en) Robot control apparatus
JP2015536249A (en) Method and system for determining at least one characteristic of a joint
US20210199539A1 (en) Test device
US10899013B2 (en) Eccentricity error correction method for angle detector and robot system
CN107322599A (en) A kind of method, storage device and the control device of robot Zero calibration
JP2014119853A (en) Servo controller for correcting position error when moving body turns around
JP7173010B2 (en) Calibration device, encoder device, drive device, stage device, robot device, manufacturing method of encoder device, and calibration program
US10744651B2 (en) Mirror replacement device for a segmented mirror telescope and mirror replacement method thereof
JP6485620B2 (en) Robot control system and robot control method
US11141855B2 (en) Robot system, method of controlling robot arm, recording medium, and method of manufacturing an article
JP2008041011A (en) Position correcting method in machine tool
US10422668B2 (en) Method and program for angle calibration of rotary shaft
CN108075703B (en) Method for reducing synchronous ripple of a permanently excited electric motor
CN114734436B (en) Robot encoder calibration method and device and robot
JP5631787B2 (en) Servo motor control device and servo motor control method
CN114833866B (en) Angle transfer error correction method of speed reducer and robot system
JPH0549165B2 (en)
US11548148B2 (en) Robot control device
JP2012139761A (en) Measurement method of external axis of robot, creation method of teaching data of robot, and controller of robot

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150122

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150817

R150 Certificate of patent or registration of utility model

Ref document number: 5803173

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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