JP2016147321A - Robot control apparatus, and control method - Google Patents

Robot control apparatus, and control method Download PDF

Info

Publication number
JP2016147321A
JP2016147321A JP2015024028A JP2015024028A JP2016147321A JP 2016147321 A JP2016147321 A JP 2016147321A JP 2015024028 A JP2015024028 A JP 2015024028A JP 2015024028 A JP2015024028 A JP 2015024028A JP 2016147321 A JP2016147321 A JP 2016147321A
Authority
JP
Japan
Prior art keywords
servo motor
operation cycle
speed
angle
control point
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.)
Pending
Application number
JP2015024028A
Other languages
Japanese (ja)
Inventor
慧 井手
Satoshi Ide
慧 井手
大介 川瀬
Daisuke Kawase
大介 川瀬
尚哉 香川
Naoya Kagawa
尚哉 香川
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 JP2015024028A priority Critical patent/JP2016147321A/en
Publication of JP2016147321A publication Critical patent/JP2016147321A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a robot control apparatus and a control method capable of suppressing the travel speed of an arm sufficiently.SOLUTION: A controller 30 is applied to a robot 10 having an arm and including: a plurality of rotary parts 13 to 18; articulates for connecting the rotary parts rotatably relative to each other; and servomotors for driving the individual rotary parts. The controller 30 comprises: means for calculating the speed of a monitor, as set at the individual rotary parts; means for calculating the angular variations of the individual servomotors for controlling the present position and attitude of the TCP of the arm to the position and attitude after the operation cycle; means for reducing the angular variations of the individual servomotors so that the speeds of the individual monitoring parts may be at or lower than the reference speed; means for updating the position and attitude of the TCP which are obtained by sequentially converting the angles of the individual servomotors after the operation cycle; and means for driving the individual servomotors so that the present position and attitude of the TCP may be controlled to the updated position and attitude.SELECTED DRAWING: Figure 1

Description

本発明は、ロボットの制御装置及び制御方法に関する。   The present invention relates to a robot control device and a control method.

従来、ロボットの手動操作時に、ロボットの制御点の移動速度が基準速度を超えた際に、移動速度が基準速度以下となるように動作目標位置を修正してロボットを動作させるものがある(特許文献1参照)。   Conventionally, during manual operation of a robot, when the movement speed of the control point of the robot exceeds the reference speed, there is an apparatus that operates the robot by correcting the operation target position so that the movement speed becomes lower than the reference speed (patent) Reference 1).

特許第3994487号公報Japanese Patent No. 3994487

しかしながら、ロボットの制御点として設定されるアームの先端部の移動速度を、基準速度以下となるように制御したとしても、アームの移動速度を十分に抑制することができない場合があることに本願発明者は着目した。   However, even if the movement speed of the tip of the arm set as the control point of the robot is controlled to be equal to or lower than the reference speed, the movement speed of the arm may not be sufficiently suppressed. Paid attention.

本発明は、こうした実情に鑑みてなされたものであり、アームの移動速度を十分に抑制することのできるロボットの制御装置及び制御方法を提供することを主たる目的とするものである。   The present invention has been made in view of such circumstances, and a main object of the present invention is to provide a robot control device and a control method capable of sufficiently suppressing the moving speed of the arm.

第1の手段は、複数の回転部と、前記回転部を互いに回転可能に連結する関節と、前記各回転部を駆動するサーボモータと、を含むアームを備えるロボットに適用され、前記アームの先端部を制御点として設定し、前記制御点を目標位置まで動作させる際に動作軌道を設定するCP制御により前記制御点の位置及び姿勢を制御するロボットの制御装置であって、前記制御点の動作周期後の位置及び姿勢を算出する制御位置算出手段と、前記各回転部に設定された監視部の現在の位置を算出する現在監視位置算出手段と、前記制御位置算出手段により算出された前記制御点の動作周期後の位置及び姿勢に基づいて、前記各監視部の動作周期後の位置を算出する次周期監視位置算出手段と、前記現在監視位置算出手段により算出された前記各監視部の現在の位置と、前記次周期監視位置算出手段により算出された前記各監視部の動作周期後の位置とに基づいて、前記各監視部の速度を算出する速度算出手段と、前記制御点の現在の位置及び姿勢を、前記制御位置算出手段により算出された前記制御点の動作周期後の位置及び姿勢まで制御するための前記各サーボモータの角度変化量を算出する角度変化量算出手段と、前記速度算出手段により算出された前記各監視部の速度のうち最大の速度が基準速度よりも高いことを条件として、前記各監視部の速度が前記基準速度以下となるように、前記角度変化量算出手段により算出された前記各サーボモータの角度変化量を低下させる低下手段と、前記低下手段により低下させられた前記角度変化量と、前記各サーボモータの現在の角度とに基づいて、前記各サーボモータの動作周期後の角度を算出する角度算出手段と、前記角度算出手段により算出された前記各サーボモータの動作周期後の角度を順変換することで得られる前記制御点の位置及び姿勢で、前記制御位置算出手段により算出された前記制御点の動作周期後の位置及び姿勢を更新する更新手段と、前記制御点の現在の位置及び姿勢が、前記更新手段によって更新された前記制御点の位置及び姿勢まで前記動作周期後に制御されるように、前記各サーボモータを駆動させる駆動手段と、を備えることを特徴とする。   The first means is applied to a robot including an arm that includes a plurality of rotating parts, a joint that rotatably connects the rotating parts, and a servo motor that drives the rotating parts, and a tip of the arm A control device for a robot that controls the position and orientation of the control point by CP control that sets a movement path when the control point is set as a control point and moves the control point to a target position. Control position calculation means for calculating the position and orientation after the cycle, current monitoring position calculation means for calculating the current position of the monitoring section set in each rotating section, and the control calculated by the control position calculation means Based on the position and orientation of the point after the operation cycle, the next cycle monitoring position calculation means for calculating the position after the operation cycle of each of the monitoring units, and each of the monitoring calculated by the current monitoring position calculation means Speed calculating means for calculating the speed of each monitoring unit based on the current position of the monitoring unit and the position after the operation cycle of each monitoring unit calculated by the next cycle monitoring position calculating means; and Angle change amount calculating means for calculating the angle change amount of each servo motor for controlling the current position and posture to the position and posture after the operation cycle of the control point calculated by the control position calculating means; The angle change amount is set so that the speed of each of the monitoring units is equal to or lower than the reference speed on condition that the maximum speed among the speeds of the monitoring units calculated by the speed calculation unit is higher than a reference speed. A reduction means for reducing the angle change amount of each servo motor calculated by the calculation means, the angle change amount reduced by the reduction means, and the current angle of each servo motor. An angle calculating means for calculating an angle after the operation cycle of each servo motor, and a control point obtained by forward-converting the angle after the operation cycle of each servo motor calculated by the angle calculation means. The update means for updating the position and orientation after the operation cycle of the control point calculated by the control position calculation means with the position and orientation, and the current position and orientation of the control point are updated by the update means. Drive means for driving the servo motors so as to be controlled after the operation cycle up to the position and orientation of the control point.

上記構成では、ロボットのアームは複数の回転部を含んでおり、回転部は関節により互いに回転可能に連結されている。そして、アームの先端部が制御点として設定され、CP制御により、制御点の現在の位置及び姿勢が制御される。   In the above configuration, the arm of the robot includes a plurality of rotating units, and the rotating units are connected to each other by joints so as to be rotatable. The tip of the arm is set as a control point, and the current position and posture of the control point are controlled by CP control.

ここで、制御点として設定されるアームの先端部の移動速度を、基準速度以下となるように制御したとしても、アーム(ロボット)の姿勢によっては、アームにおける制御点以外の部分の移動速度が基準速度よりも高くなる場合があることに本願発明者は着目した。   Here, even if the movement speed of the tip of the arm set as the control point is controlled to be equal to or lower than the reference speed, depending on the posture of the arm (robot), the movement speed of the part other than the control point in the arm may be The inventor of the present application has paid attention to the fact that the speed may be higher than the reference speed.

そこで上記構成では、各回転部に監視部が設定される。例えば、各回転部を回転させる際に回転中心となる関節から最も離れた部分が、各回転部の監視部として設定される。そして、各監視部の現在の位置、及び各監視部の動作周期後の位置に基づいて、各監視部の速度が算出される。そして、算出された各監視部の速度が基準速度以下となるように、制御点の現在の位置及び姿勢を動作周期後の位置及び姿勢まで制御するための各サーボモータの角度変化量が低下させられる。   Therefore, in the above configuration, a monitoring unit is set for each rotating unit. For example, the portion farthest from the joint that is the center of rotation when rotating each rotating unit is set as the monitoring unit of each rotating unit. Then, the speed of each monitoring unit is calculated based on the current position of each monitoring unit and the position after the operation cycle of each monitoring unit. Then, the angle change amount of each servo motor for controlling the current position and posture of the control point to the position and posture after the operation cycle is reduced so that the calculated speed of each monitoring unit is lower than the reference speed. It is done.

そして、各サーボモータの低下させられた角度変化量と、各サーボモータの現在の角度とに基づいて、各サーボモータの動作周期後の角度が算出される。そして、算出された各サーボモータの動作周期後の角度を順変換することで得られる制御点の位置及び姿勢で、制御位置算出手段により算出された制御点の動作周期後の位置及び姿勢が更新される。そして、制御点の現在の位置及び姿勢が更新された位置及び姿勢まで動作周期後に制御されるように、各サーボモータが駆動される。このため、各サーボモータの動作周期あたりに駆動される角度が小さくなり、各サーボモータの駆動される角速度が低下させられる。これにより、ロボットの制御点のみならず、各回転部に設定された監視部の速度を基準速度以下にすることができ、アームの移動速度を十分に抑制することができる。   Then, the angle after the operation cycle of each servo motor is calculated based on the reduced angle change amount of each servo motor and the current angle of each servo motor. Then, the position and orientation of the control point after the operation cycle calculated by the control position calculation means are updated with the position and orientation of the control point obtained by forward conversion of the calculated angle after the operation cycle of each servo motor. Is done. Then, each servo motor is driven so that the current position and orientation of the control point are controlled after the operation cycle up to the updated position and orientation. For this reason, the angle driven per operation cycle of each servo motor is reduced, and the angular velocity at which each servo motor is driven is reduced. Thereby, not only the control point of the robot but also the speed of the monitoring unit set in each rotating unit can be made lower than the reference speed, and the moving speed of the arm can be sufficiently suppressed.

また上記構成では、各サーボモータの角度変化量が算出され、各監視部の速度が基準速度以下となるように各サーボモータの角度変化量が低下させられる。このため、全てのサーボモータの角速度を的確に低下させることができ、アームの移動速度の抑制効果を高めることができる。   Further, in the above configuration, the angle change amount of each servo motor is calculated, and the angle change amount of each servo motor is reduced so that the speed of each monitoring unit is equal to or lower than the reference speed. For this reason, the angular velocities of all the servomotors can be accurately reduced, and the effect of suppressing the movement speed of the arm can be enhanced.

さらに、上記角度変化量とアームの移動速度(具体的には、各監視部の速度)とは、高い相関関係にある。このため、角度変化量を低下させると、角度変化量の低下分に応じて確実にアームの移動速度が低下する。したがって、アームの移動速度を低下させるつもりでサーボモータの角度変化量を低下させたにもかかわらず、アームの移動速度が意図した程度まで低下しておらず、上記角度変化量を再度低下させることになるといったことが抑制される。   Furthermore, the angle change amount and the moving speed of the arm (specifically, the speed of each monitoring unit) are highly correlated. For this reason, when the amount of angle change is reduced, the moving speed of the arm is surely reduced according to the amount of decrease in the angle change amount. Therefore, despite the fact that the angle change amount of the servo motor is reduced in order to reduce the arm movement speed, the arm movement speed is not reduced to the intended level, and the angle change amount is reduced again. Is suppressed.

なお、速度算出手段としては、具体的には、第5の手段のように、前記各監視部の現在の位置と前記各監視部の動作周期後の位置との距離を前記動作周期で割ることにより前記各監視部の速度を算出するといった構成を採用することができる。   As the speed calculation means, specifically, as in the fifth means, the distance between the current position of each monitoring unit and the position after the operation cycle of each monitoring unit is divided by the operation cycle. Therefore, it is possible to employ a configuration in which the speed of each monitoring unit is calculated.

また、次周期監視位置算出手段としては、具体的には、第6の手段のように、前記制御点の動作周期後の位置及び姿勢を逆変換することで得られる前記各サーボモータの動作周期後の角度と、前記各回転部の大きさとに基づいて、前記各監視部の動作周期後の位置を算出するといった構成を採用することができる。   Further, as the next cycle monitoring position calculation means, specifically, as in the sixth means, the operation cycle of each servo motor obtained by inversely converting the position and orientation of the control point after the operation cycle. A configuration in which the position of each monitoring unit after the operation cycle is calculated based on the later angle and the size of each rotating unit can be employed.

さらに、角度変化量算出手段としては、具体的には、第7の手段のように、前記制御点の動作周期後の位置及び姿勢を逆変換することで得られる前記各サーボモータの動作周期後の角度と、前記各サーボモータの現在の角度との差分を前記角度変化量として算出するといった構成を採用することができる。   Further, as the angle change amount calculation means, specifically, as in the seventh means, after the operation cycle of each servo motor obtained by inversely converting the position and orientation of the control point after the operation cycle. And a difference between the current angle of each servo motor and the current angle of each servo motor can be calculated as the amount of change in angle.

第2の手段では、前記低下手段は、前記最大の速度と前記基準速度との比の値に基づいて、前記各サーボモータの角度変化量を低下させる。   In the second means, the lowering means lowers the angle change amount of each servo motor based on the value of the ratio between the maximum speed and the reference speed.

上記構成では、算出された各監視部の速度のうち最大の速度と基準速度との比の値に基づいて、各サーボモータの角度変化量が低下させられる。上記比の値を用いることにより、基準速度に対する最大の速度の超過分を反映して角度変化量を低下させることができる。なお、最大の速度と基準速度との比の値とは、最大の速度を基準速度で割った値である(比の値=最大の速度/基準速度)。   In the above configuration, the angle change amount of each servo motor is reduced based on the value of the ratio between the maximum speed and the reference speed among the calculated speeds of the respective monitoring units. By using the value of the above ratio, it is possible to reduce the amount of angle change reflecting the excess of the maximum speed with respect to the reference speed. The value of the ratio between the maximum speed and the reference speed is a value obtained by dividing the maximum speed by the reference speed (ratio value = maximum speed / reference speed).

第3の手段では、前記低下手段は、前記各サーボモータの角度変化量を前記比の値で割ることにより、前記各サーボモータの角度変化量を低下させる。   In a third means, the reduction means reduces the angle change amount of each servo motor by dividing the angle change amount of each servo motor by the value of the ratio.

上記構成によれば、CP制御の動作軌道が直線であるか曲線であるかにかかわらず、制御点を動作軌道に維持できるように角度変化量を低下させることができる。また、上記構成によれば、上記角度変化量を上記比の値で割るといった簡単な演算を用いるため、角度変化量を容易に低下させることができる。さらに上記構成によれば、角度変化量を上記比の値で割るといった演算を用いるため、角度変化量を一定の法則から定まる比率で低下させることができ、角度変化量の低下分をオペレータが予測しやすくなる。   According to the above configuration, regardless of whether the operation path of CP control is a straight line or a curve, the amount of change in angle can be reduced so that the control point can be maintained on the operation path. Further, according to the above configuration, since the simple calculation of dividing the angle change amount by the ratio value is used, the angle change amount can be easily reduced. Further, according to the above configuration, since the calculation of dividing the angle change amount by the value of the ratio is used, the angle change amount can be reduced at a ratio determined from a certain law, and the operator can predict the decrease in the angle change amount. It becomes easy to do.

第4の手段では、前記各回転部を回転させる際に回転中心となる前記関節から最も離れた部分を、前記各回転部の前記監視部として設定する。   In the fourth means, the portion farthest from the joint that becomes the center of rotation when rotating each rotating unit is set as the monitoring unit of each rotating unit.

上記構成では、各回転部を回転させる際に回転中心となる関節から最も離れた部分が、各回転部の監視部として設定される。このため、各回転部において、最も速度が高くなる可能性の高い部分を監視部に設定することができ、アームの移動速度を十分に抑制することができる。   In the above configuration, the portion farthest from the joint serving as the center of rotation when rotating each rotating unit is set as the monitoring unit of each rotating unit. For this reason, in each rotation part, the part with the highest possibility that speed becomes the highest can be set to a monitoring part, and the moving speed of an arm can fully be suppressed.

第8の手段は、複数の回転部と、前記回転部を互いに回転可能に連結する関節と、前記各回転部を駆動するサーボモータと、を含むアームを備えるロボットに適用され、前記アームの先端部を制御点として設定し、前記制御点を目標位置まで動作させる際に動作軌道を設定するCP制御により前記制御点の位置及び姿勢を制御するロボットの制御方法であって、前記制御点の動作周期後の位置及び姿勢を算出する制御位置算出工程と、前記各回転部に設定された監視部の現在の位置を算出する現在監視位置算出工程と、前記制御位置算出工程により算出された前記制御点の動作周期後の位置及び姿勢に基づいて、前記各監視部の動作周期後の位置を算出する次周期監視位置算出工程と、前記現在監視位置算出工程により算出された前記各監視部の現在の位置と、前記次周期監視位置算出工程により算出された前記各監視部の動作周期後の位置とに基づいて、前記各監視部の速度を算出する速度算出工程と、前記制御点の現在の位置及び姿勢を、前記制御位置算出工程により算出された前記制御点の動作周期後の位置及び姿勢まで制御するための前記各サーボモータの角度変化量を算出する角度変化量算出工程と、前記速度算出工程により算出された前記各監視部の速度のうち最大の速度が基準速度よりも高いことを条件として、前記各監視部の速度が前記基準速度以下となるように、前記角度変化量算出工程により算出された前記各サーボモータの角度変化量を低下させる低下工程と、前記低下工程により低下させられた前記角度変化量と、前記各サーボモータの現在の角度とに基づいて、前記各サーボモータの動作周期後の角度を算出する角度算出工程と、前記角度算出工程により算出された前記各サーボモータの動作周期後の角度を順変換することで得られる前記制御点の位置及び姿勢で、前記制御位置算出工程により算出された前記制御点の動作周期後の位置及び姿勢を更新する更新工程と、前記制御点の現在の位置及び姿勢が、前記更新工程によって更新された前記制御点の位置及び姿勢まで前記動作周期後に制御されるように、前記各サーボモータを駆動させる駆動工程と、を備えることを特徴とする。   The eighth means is applied to a robot including an arm that includes a plurality of rotating parts, a joint that rotatably connects the rotating parts, and a servo motor that drives the rotating parts. A control method for a robot that controls the position and orientation of the control point by CP control that sets a motion trajectory when setting a control point as a control point and moving the control point to a target position, A control position calculating step for calculating a position and orientation after a cycle; a current monitoring position calculating step for calculating a current position of a monitoring unit set in each of the rotating units; and the control calculated by the control position calculating step. Based on the position and orientation after the operation cycle of the point, the next cycle monitoring position calculation step for calculating the position after the operation cycle of each monitoring unit, and the respective monitoring calculated by the current monitoring position calculation step A speed calculation step of calculating the speed of each monitoring unit based on the current position of the monitoring unit and the position after the operation cycle of each monitoring unit calculated by the next cycle monitoring position calculation step; An angle change amount calculating step for calculating an angle change amount of each servo motor for controlling the current position and posture to the position and posture after the operation cycle of the control point calculated by the control position calculating step; The angle change amount is set so that the speed of each monitoring unit is equal to or less than the reference speed on condition that the maximum speed among the speeds of each monitoring unit calculated by the speed calculation step is higher than a reference speed. Based on the reduction step of reducing the angle change amount of each servo motor calculated by the calculation step, the angle change amount reduced by the reduction step, and the current angle of each servo motor. An angle calculation step of calculating an angle after the operation cycle of each servo motor, and the control point obtained by forward-converting the angle after the operation cycle of each servo motor calculated by the angle calculation step. An update step for updating the position and posture after the operation cycle of the control point calculated by the control position calculation step with the position and posture, and the current position and posture of the control point are updated by the update step. And a driving step of driving each servo motor so that the control point is controlled to the position and orientation after the operation cycle.

上記工程によれば、第1の手段と同様の作用効果を奏することができる。   According to the said process, there can exist an effect similar to a 1st means.

ロボット、コントローラ、及びティーチングペンダントの概要を示す図。The figure which shows the outline | summary of a robot, a controller, and a teaching pendant. ロボットの特定姿勢を示す正面図。The front view which shows the specific attitude | position of a robot. アームの速度抑制制御の処理手順を示すフローチャート。The flowchart which shows the process sequence of the speed suppression control of an arm.

以下、垂直多関節型ロボットの制御装置に具体化した一実施形態について、図面を参照しつつ説明する。本実施形態のロボットは、例えば産業用ロボットとして機械組立工場などの組立システムにて用いられる。   Hereinafter, an embodiment embodied in a control device for a vertical articulated robot will be described with reference to the drawings. The robot of this embodiment is used in an assembly system such as a machine assembly factory as an industrial robot, for example.

はじめに、ロボット10の概要を図1に基づいて説明する。   First, an outline of the robot 10 will be described with reference to FIG.

同図に示すように、ロボット10は、回転部を互いに連結する各関節の回転中心軸線として、第1軸線J1、第2軸線J2、第3軸線J3、第4軸線J4、第5軸線J5、及び第6軸線J6を有する6軸ロボットである。これら各軸線における各部の動作角度は、それぞれサーボモータ等からなる駆動源の駆動、及び減速機等による減速を通じて調整される。サーボモータは、いずれも正逆両方向の回転が可能であり、サーボモータの駆動により原点位置を基準として各回転部が動作(駆動)する。各サーボモータには、その出力軸を制動する電磁ブレーキと、出力軸の回転角度に応じたパルス信号を出力するエンコーダとがそれぞれ設けられている。   As shown in the figure, the robot 10 includes a first axis J1, a second axis J2, a third axis J3, a fourth axis J4, a fifth axis J5 as rotation center axes of the joints that connect the rotating units to each other. And a six-axis robot having a sixth axis J6. The operating angle of each part in each axis is adjusted through driving of a driving source composed of a servo motor or the like and deceleration by a speed reducer or the like. Both servomotors can be rotated in both forward and reverse directions, and each rotating unit operates (drives) based on the origin position by driving the servomotor. Each servo motor is provided with an electromagnetic brake that brakes its output shaft and an encoder that outputs a pulse signal corresponding to the rotation angle of the output shaft.

ロボット10は、床に設置されており、第1軸線J1が鉛直方向へ延びている。ロボット10において、基台11は、床等に固定される固定部12と、その固定部12の上方に設けられる回転部13(第1回転部)とを有しており、回転部13が第1軸線J1を回転中心として水平方向に回転可能になっている。すなわち、回転部13は、第1軸線J1の方向に延びるとともに、固定部12により第1軸線J1を中心として回転可能に支持されている。   The robot 10 is installed on the floor, and the first axis J1 extends in the vertical direction. In the robot 10, the base 11 has a fixed portion 12 fixed to the floor or the like, and a rotating portion 13 (first rotating portion) provided above the fixed portion 12. It can be rotated in the horizontal direction around the one axis line J1. That is, the rotating portion 13 extends in the direction of the first axis J1 and is supported by the fixed portion 12 so as to be rotatable about the first axis J1.

下アーム15(第2回転部)が、水平方向に延びる第2軸線J2を回転中心として、時計回り方向又は反時計回り方向に回転可能に連結されている。すなわち、下アーム15は、第1軸線J1に直交する平面に含まれる第2軸線J2から離れる方向へ延びるとともに、回転部13により第2軸線J2を中心として回転可能に支持されている。下アーム15は、基本姿勢として鉛直方向に延びる向きに設けられている。   The lower arm 15 (second rotating portion) is coupled to be rotatable in a clockwise direction or a counterclockwise direction about a second axis J2 extending in the horizontal direction as a rotation center. That is, the lower arm 15 extends in a direction away from the second axis J2 included in the plane orthogonal to the first axis J1, and is supported by the rotating unit 13 so as to be rotatable about the second axis J2. The lower arm 15 is provided in a direction extending in the vertical direction as a basic posture.

下アーム15の上端部には、上アーム16が、水平方向に延びる第3軸線J3を回転中心として、時計回り方向又は反時計回り方向に回転可能に連結されている。すなわち、上アーム16は、第2軸線J2に平行な第3軸線J3から離れる方向へ延びるとともに、下アーム15により第3軸線J3を中心として回転可能に支持されている。上アーム16は、基本姿勢として水平方向に延びる向きに設けられている。   The upper arm 16 is coupled to the upper end portion of the lower arm 15 so as to be rotatable clockwise or counterclockwise about a third axis J3 extending in the horizontal direction. That is, the upper arm 16 extends in a direction away from the third axis J3 parallel to the second axis J2, and is supported by the lower arm 15 so as to be rotatable about the third axis J3. The upper arm 16 is provided in a direction extending in the horizontal direction as a basic posture.

上アーム16は、基端側(回転の際に第3軸線J3を回転中心とする関節側)と先端側とで2つのアーム部に分割されて構成されており、基端側は第1上アーム16A(第3回転部)、先端側は第2上アーム16B(第4回転部)となっている。第2上アーム16Bは、上アーム16の長手方向に延びる第4軸線J4を回転中心として、第1上アーム16Aに対してねじり方向に回転可能になっている。すなわち、第2上アーム16Bは、第3軸線J3に直交する平面に含まれる第4軸線J4の方向に延びるとともに、第1上アーム16Aにより第4軸線J4を中心として回転可能に支持されている。   The upper arm 16 is configured to be divided into two arm portions on the base end side (joint side with the third axis J3 as the rotation center during rotation) and the tip end side, and the base end side is the first upper side. The arm 16A (third rotating part), the tip side is a second upper arm 16B (fourth rotating part). The second upper arm 16B is rotatable in the torsional direction with respect to the first upper arm 16A with a fourth axis J4 extending in the longitudinal direction of the upper arm 16 as a rotation center. That is, the second upper arm 16B extends in the direction of the fourth axis J4 included in the plane orthogonal to the third axis J3, and is supported by the first upper arm 16A so as to be rotatable about the fourth axis J4. .

上アーム16(詳しくは第2上アーム16B)の先端部には、手首部17(第5回転部)が設けられている。手首部17は、水平方向に延びる第5軸線J5を回転中心として、第2上アーム16Bに対して回転可能になっている。すなわち、手首部17は、第4軸線J4に直交する第5軸線J5から離れる方向へ延びるとともに、第2上アーム16Bにより第5軸線J5を中心として回転可能に支持されている。   A wrist portion 17 (fifth rotating portion) is provided at the distal end portion of the upper arm 16 (specifically, the second upper arm 16B). The wrist portion 17 is rotatable with respect to the second upper arm 16B with the fifth axis J5 extending in the horizontal direction as the center of rotation. That is, the wrist 17 extends in a direction away from the fifth axis J5 orthogonal to the fourth axis J4, and is supported by the second upper arm 16B so as to be rotatable about the fifth axis J5.

手首部17の先端部には、ワークやツール等を取り付けるためのハンド部18(第6回転部)が設けられている。ハンド部18は、その中心線である第6軸線J6を回転中心として、ねじり方向に回転可能になっている。すなわち、ハンド部18は、第5軸線J5に直交する第6軸線J6の方向に延びるとともに、手首部17により第6軸線J6を中心として回転可能に支持されている。以上のように、回転部13、下アーム15、上アーム16、手首部17、及びハンド部18によって、ロボット10のアームが構成されている。   A hand portion 18 (sixth rotating portion) for attaching a work, a tool, or the like is provided at the distal end portion of the wrist portion 17. The hand portion 18 is rotatable in the torsional direction around the sixth axis J6 that is the center line thereof. That is, the hand portion 18 extends in the direction of the sixth axis J6 orthogonal to the fifth axis J5, and is supported by the wrist portion 17 so as to be rotatable about the sixth axis J6. As described above, the arm of the robot 10 is configured by the rotating unit 13, the lower arm 15, the upper arm 16, the wrist unit 17, and the hand unit 18.

コントローラ30(制御装置)は、CPU、ROM、RAM、駆動回路、及び位置検出回路等を備えている。ROMは、ロボット10のシステムプログラムや動作プログラム等を記憶している。RAMは、これらのプログラムを実行する際にパラメータの値等を記憶する。位置検出回路には、各エンコーダの検出信号がそれぞれ入力される。位置検出回路は、各エンコーダの検出信号に基づいて、各関節に設けられたサーボモータの回転角度を検出する。   The controller 30 (control device) includes a CPU, a ROM, a RAM, a drive circuit, a position detection circuit, and the like. The ROM stores system programs and operation programs for the robot 10. The RAM stores parameter values and the like when executing these programs. Detection signals from the encoders are input to the position detection circuit. The position detection circuit detects the rotation angle of the servo motor provided at each joint based on the detection signal of each encoder.

CPUは、予め設定された動作プログラム(プログラム)を実行することにより、位置検出回路から入力される位置情報に基づいて、CP(Continuous Path)制御を行う。CP制御では、アーム先端部の制御点を目標位置まで動作させる際に制御点の動作軌道(位置及び姿勢)が時間関数として設定される。CPUは、CP制御により、制御点の位置及び姿勢が動作軌道に沿うように、アームにおける各関節の回転角度(アームの姿勢)を制御する。本実施形態では、制御点として、アームのハンド部18の中心点18aであるTCP(Tool Center Point)が設定されている。また、CPUは、TCPの位置及び姿勢に基づいて、この位置及び姿勢を実現するための各関節の角度を逆変換によって算出する機能と、各関節の角度に基づいて、TCPの位置及び姿勢を順変換によって算出する機能とを有する。   The CPU performs CP (Continuous Path) control based on the position information input from the position detection circuit by executing a preset operation program (program). In CP control, when the control point of the arm tip is moved to the target position, the motion trajectory (position and orientation) of the control point is set as a time function. The CPU controls the rotation angle (arm posture) of each joint in the arm by CP control so that the position and posture of the control point follow the motion trajectory. In the present embodiment, a TCP (Tool Center Point) that is the center point 18a of the arm hand portion 18 is set as the control point. Further, the CPU calculates the angle and angle of each joint for realizing the position and posture based on the TCP position and posture, and the position and posture of the TCP based on the angle of each joint. And a function to calculate by forward conversion.

本実施形態では、コントローラ30は、ロボット10のティーチング時(手動操作時)において、ロボット10のアームの移動速度を基準速度以下に抑制する速度抑制制御を実行する。基準速度は、JISやISO等の規格により、例えば250mm/sに規定されている。   In the present embodiment, the controller 30 executes speed suppression control that suppresses the moving speed of the arm of the robot 10 to a reference speed or less during teaching of the robot 10 (during manual operation). The reference speed is defined as, for example, 250 mm / s according to standards such as JIS and ISO.

ティーチングペンダント40(操作機)は、CPU、ROM、及びRAMを含むマイクロコンピュータ、各種の手動操作キー、並びにディスプレイ42等を備えている。ペンダント40は、コントローラ30に接続されており、コントローラ30と通信可能となっている。オペレータ(使用者)は、このペンダント40を手動操作して、ロボット10の動作プログラムの作成、修正、登録、各種パラメータの設定を行うことができる。動作プログラムの修正等を行うティーチングでは、作業において制御点であるTCPが通過する教示点を教示する。そして、オペレータは、コントローラ30を通じて、ティーチングされた動作プログラムに基づきロボット10を動作させることができる。換言すれば、コントローラ30は、予め設定された動作プログラム及びペンダント40の操作に基づいて、ロボット10のアームの動作を制御する。   The teaching pendant 40 (operation device) includes a microcomputer including a CPU, ROM, and RAM, various manual operation keys, a display 42, and the like. The pendant 40 is connected to the controller 30 and can communicate with the controller 30. An operator (user) can manually operate the pendant 40 to create, modify, register, and set various parameters of the operation program of the robot 10. In teaching for correcting an operation program or the like, a teaching point through which a TCP as a control point passes in the work is taught. The operator can operate the robot 10 through the controller 30 based on the teaching operation program. In other words, the controller 30 controls the operation of the arm of the robot 10 based on the preset operation program and the operation of the pendant 40.

ここで、ロボット10のティーチング時(手動操作時)において、TCPの移動速度を基準速度以下となるように制御したとしても、ロボット10の姿勢によっては、アームにおけるTCP以外の部分の移動速度が基準速度よりも高くなる場合があることに本願発明者は着目した。例えば、ロボット10が図2に示す姿勢である場合、回転部13を回転させると、ハンド部18の中心点18a(点C5)であるTCPの移動速度は基準速度よりも十分に小さくなる。しかしながら、下アーム15の先端部(点C2)及び上アーム16の一方の端部(点C3)の移動速度が、基準速度よりも高くなる場合がある。   Here, even when the robot 10 is controlled so that the movement speed of the TCP is equal to or less than the reference speed during teaching (manual operation), the movement speed of the part other than the TCP in the arm is the reference depending on the posture of the robot 10. The inventor of the present application has paid attention to the fact that the speed may be higher. For example, when the robot 10 is in the posture shown in FIG. 2, when the rotating unit 13 is rotated, the moving speed of the TCP that is the center point 18a (point C5) of the hand unit 18 is sufficiently smaller than the reference speed. However, the moving speed of the tip end portion (point C2) of the lower arm 15 and one end portion (point C3) of the upper arm 16 may be higher than the reference speed.

そこで、各回転部を回転させる際に回転中心となる関節(各回転部の回転中心軸線)から最も離れた部分を、各回転部の監視部(点C1〜C5)として設定する。例えば、下アーム15を回転させる際に回転中心となる関節(回転部13と下アーム15との連結部)から最も離れた点C2を、下アーム15の監視部として設定する。同様にして、上アーム16を回転させる際に回転中心となる関節(下アーム15と上アーム16との連結部)から最も離れた点C3,C4を、上アーム16の監視部として設定する等を行う。なお、上アーム16等の回転部に他の部品(パーツ)が取り付けられている場合には、その部品の先端部等を監視部として設定してもよい。そして、全ての監視部の移動速度が基準速度以下となるように、各サーボモータの角速度を抑制する。   Therefore, the portion farthest from the joint (rotation center axis of each rotation unit) when rotating each rotation unit is set as a monitoring unit (points C1 to C5) of each rotation unit. For example, the point C2 farthest from the joint (the connecting portion between the rotating unit 13 and the lower arm 15) that becomes the center of rotation when the lower arm 15 is rotated is set as the monitoring unit of the lower arm 15. Similarly, the points C3 and C4 that are farthest from the joint (the connecting portion between the lower arm 15 and the upper arm 16) that becomes the center of rotation when the upper arm 16 is rotated are set as monitoring units for the upper arm 16, and so on. I do. When other parts (parts) are attached to the rotating part such as the upper arm 16, the tip part of the part may be set as the monitoring part. Then, the angular speed of each servo motor is suppressed so that the moving speeds of all the monitoring units are equal to or lower than the reference speed.

図3は、ロボット10のアームの移動速度を基準速度以下に抑制する速度抑制制御の処理手順を示すフローチャートである。この一連の処理は、コントローラ30によって、アームを動作させる動作周期Tr毎に繰り返し実行される。動作周期Tr(制御周期)は、例えば8msである。   FIG. 3 is a flowchart illustrating a processing procedure of speed suppression control that suppresses the moving speed of the arm of the robot 10 to a reference speed or less. This series of processing is repeatedly executed by the controller 30 every operation cycle Tr for operating the arm. The operation cycle Tr (control cycle) is, for example, 8 ms.

この一連の処理では、まず、アームの制御点であるTCPの現在の位置及び姿勢P1を検出する(S11)。ティーチングした動作軌道に沿ってTCPを移動させるCP制御においては、現在の位置及び姿勢P1が算出されている。   In this series of processing, first, the current position and posture P1 of the TCP that is the control point of the arm is detected (S11). In the CP control for moving the TCP along the teaching motion trajectory, the current position and orientation P1 are calculated.

続いて、各サーボモータの現在の角度θk1を検出する(S12)。詳しくは、各サーボモータに設けられたエンコーダの検出信号に基づいて、位置検出回路により各サーボモータの現在の角度θk1を検出する。なお、kは、第1軸線J1〜第6軸線J6にそれぞれ対応する1〜6の数字である。   Subsequently, the current angle θk1 of each servo motor is detected (S12). Specifically, the current angle θk1 of each servo motor is detected by the position detection circuit based on the detection signal of the encoder provided in each servo motor. Note that k is a number from 1 to 6 corresponding to the first axis J1 to the sixth axis J6, respectively.

続いて、TCPの動作周期Tr後の位置及び姿勢P2を算出する(S13)。詳しくは、まず、TCPの動作周期Trあたりの位置及び姿勢の変化量ΔPを算出する。変化量ΔPは、具体的には、ティーチング時において教示された動作軌道に基づいて算出すればよい。そして、P2=P1+ΔPの式により、TCPの動作周期Tr後の位置及び姿勢P2を算出する。   Subsequently, the position and orientation P2 after the TCP operation cycle Tr are calculated (S13). Specifically, first, a change amount ΔP in position and orientation per TCP operation cycle Tr is calculated. Specifically, the change amount ΔP may be calculated based on the motion trajectory taught during teaching. Then, the position and orientation P2 after the TCP operation cycle Tr are calculated by the equation P2 = P1 + ΔP.

続いて、各サーボモータの現在の角度θk1及び各回転部の大きさに基づいて、各監視部の現在の位置Pi1を算出する(S14)。iは、点C1〜C5にそれぞれ対応する1〜5の数字である。現在の位置Pi1の算出手法について詳しく説明すると、まず、各回転部の大きさと各監視部の設定された位置とに基づいて、各回転部の回転中心から監視部までの距離を算出する。そして、各サーボモータの現在の角度θk1、各回転部の大きさ、及び上記距離を組み合わせることにより、点C1〜C5の位置を算出する。   Subsequently, the current position Pi1 of each monitoring unit is calculated based on the current angle θk1 of each servomotor and the size of each rotating unit (S14). i is a number from 1 to 5 corresponding to points C1 to C5, respectively. The calculation method of the current position Pi1 will be described in detail. First, the distance from the rotation center of each rotating unit to the monitoring unit is calculated based on the size of each rotating unit and the set position of each monitoring unit. Then, the positions of the points C1 to C5 are calculated by combining the current angle θk1 of each servo motor, the size of each rotating unit, and the distance.

続いて、TCPの動作周期Tr後の位置及び姿勢P2を逆変換することにより、各サーボモータの動作周期Tr後の角度θk2を算出する(S15)。そして、各監視部の動作周期Tr後の位置Pi2を算出する(S16)。詳しくは、各サーボモータの動作周期Tr後の角度θk2と、各回転部の大きさとに基づいて、各監視部の動作周期Tr後の位置Pi2を算出する。   Subsequently, the angle θk2 after the operation cycle Tr of each servo motor is calculated by inversely converting the position and orientation P2 after the TCP operation cycle Tr (S15). Then, the position Pi2 after the operation cycle Tr of each monitoring unit is calculated (S16). Specifically, the position Pi2 after the operation cycle Tr of each monitoring unit is calculated based on the angle θk2 after the operation cycle Tr of each servo motor and the size of each rotation unit.

続いて、各監視部の速度Viを算出する(S17)。詳しくは、各監視部の現在の位置Pi1と動作周期Tr後の位置Pi2との距離を動作周期Trで割ることにより、速度Viを算出する。なお、iは、点C1〜C5にそれぞれ対応する1〜5の数字である。   Subsequently, the speed Vi of each monitoring unit is calculated (S17). Specifically, the speed Vi is calculated by dividing the distance between the current position Pi1 of each monitoring unit and the position Pi2 after the operation cycle Tr by the operation cycle Tr. Note that i is a number from 1 to 5 corresponding to the points C1 to C5, respectively.

続いて、各監視部の速度Viのうち最大の速度である最大速度Vmxを算出し(S18)、最大速度Vmxが基準速度Vlmよりも高いか否か判定する(S19)。この判定において、最大速度Vmxが基準速度Vlmよりも高いと判定した場合(S19:YES)、最大速度Vmxと基準速度Vlmとの比の値αを算出する(S20)。すなわち、α=Vmx/Vlmの式により、比の値αを算出する(α>1)。   Subsequently, the maximum speed Vmx, which is the maximum speed among the speed Vi of each monitoring unit, is calculated (S18), and it is determined whether or not the maximum speed Vmx is higher than the reference speed Vlm (S19). In this determination, when it is determined that the maximum speed Vmx is higher than the reference speed Vlm (S19: YES), a value α of the ratio between the maximum speed Vmx and the reference speed Vlm is calculated (S20). That is, the ratio value α is calculated according to the equation α = Vmx / Vlm (α> 1).

続いて、各サーボモータの動作周期Tr後の角度θk2と現在の角度θk1との差分を各サーボモータの角度変化量Δθkとして算出する(S21)。なお、kは、第1軸線J1〜第6軸線J6にそれぞれ対応する1〜6の数字である。そして、各サーボモータの角度変化量Δθkを比の値αで割ることにより、角度変化量Δθkを更新する(S22)。   Subsequently, the difference between the angle θk2 after the operation cycle Tr of each servo motor and the current angle θk1 is calculated as the angle change amount Δθk of each servo motor (S21). Note that k is a number from 1 to 6 corresponding to the first axis J1 to the sixth axis J6, respectively. Then, the angle change amount Δθk is updated by dividing the angle change amount Δθk of each servo motor by the ratio value α (S22).

続いて、TCPの動作周期Tr後の位置及び姿勢P2を更新する(S23)。詳しくは、まず、各サーボモータの現在の角度θk1と、各サーボモータの更新された角度変化量Δθkとの加算値で、各サーボモータの動作周期Tr後の角度θk2を更新する。そして、更新した角度θk2を順変換することで得られる位置及び姿勢で、TCPの動作周期Tr後の位置及び姿勢P2を更新する。そして、更新された位置及び姿勢P2を用いて、S15の処理から再度実行する。   Subsequently, the position and orientation P2 after the TCP operation cycle Tr are updated (S23). Specifically, first, the angle θk2 after the operation cycle Tr of each servomotor is updated with the addition value of the current angle θk1 of each servomotor and the updated angle change amount Δθk of each servomotor. Then, the position and orientation P2 after the TCP operation cycle Tr are updated with the position and orientation obtained by forward-converting the updated angle θk2. And it performs again from the process of S15 using the updated position and attitude | position P2.

一方、S19の判定において、最大速度Vmxが基準速度Vlm以下であると判定した場合(S19:NO)、各サーボモータの駆動により、TCPの位置及び姿勢を、目標とする位置及び姿勢P2に制御する(S24)。ここでは、S23の処理を経由している場合、TCPの位置及び姿勢を、S23の処理で更新された位置及び姿勢P2に制御する。そして、この一連の処理を一旦終了する(END)。   On the other hand, if it is determined in S19 that the maximum speed Vmx is equal to or lower than the reference speed Vlm (S19: NO), the position and posture of the TCP are controlled to the target position and posture P2 by driving each servo motor. (S24). Here, when the process of S23 is performed, the TCP position and attitude are controlled to the position and attitude P2 updated in the process of S23. Then, this series of processing is temporarily ended (END).

なお、S13の処理が制御位置算出手段としての処理(制御位置算出工程)に相当し、S14の処理が現在監視位置算出手段としての処理(現在監視位置算出工程)に相当し、S15の処理が角度算出手段としての処理(角度算出工程)に相当し、S16の処理が次周期監視位置算出手段としての処理(次周期監視位置算出工程)に相当し、S17の処理が速度算出手段としての処理(速度算出工程)に相当する。また、S21の処理が角度変化量算出手段としての処理(角度変化量算出工程)に相当し、S22の処理が低下手段としての処理(低下工程)に相当し、S23の処理が更新手段としての処理(更新工程)に相当し、S24の処理が駆動手段としての処理(駆動工程)に相当する。   Note that the process of S13 corresponds to the process as the control position calculation means (control position calculation process), the process of S14 corresponds to the process as the current monitoring position calculation means (current monitoring position calculation process), and the process of S15. The processing as the angle calculation means (angle calculation process) corresponds to the processing of S16, the processing as the next cycle monitoring position calculation means (next cycle monitoring position calculation step), and the processing of S17 as the speed calculation means. This corresponds to (speed calculation step). Further, the process of S21 corresponds to the process as the angle change amount calculation means (angle change amount calculation process), the process of S22 corresponds to the process as the decrease means (decrease process), and the process of S23 serves as the update means. The process corresponds to a process (update process), and the process of S24 corresponds to a process (drive process) as a drive unit.

以上詳述した本実施形態は、以下の利点を有する。   The embodiment described in detail above has the following advantages.

・各回転部に設定された監視部(点C1〜C5)の現在の位置Pi1、及び各監視部の動作周期Tr後の位置Pi2に基づいて、各監視部の速度Viが算出される。そして、算出された各監視部の速度Viが基準速度Vlm以下となるように、TCPの現在の位置及び姿勢P1を動作周期Tr後の位置及び姿勢まで制御するための各サーボモータの角度変化量Δθkが低下させられる。そして、各サーボモータの低下させられた角度変化量Δθkと、各サーボモータの現在の角度θk1とに基づいて、各サーボモータの動作周期Tr後の角度θk2が算出される。そして、算出された角度θk2を順変換することで得られるTCPの位置及び姿勢で、TCPの動作周期Tr後の位置及び姿勢P2が更新される。そして、TCPの現在の位置及び姿勢P1が更新された位置及び姿勢P2まで動作周期Tr後に制御されるように、各サーボモータが駆動される。これにより、各サーボモータを駆動させる角速度を低下させることができ、制御点であるTCPのみならず、各監視部の速度を基準速度Vlm以下にすることができる。したがって、アームの移動速度を十分に抑制することができる。   The speed Vi of each monitoring unit is calculated based on the current position Pi1 of the monitoring unit (points C1 to C5) set in each rotating unit and the position Pi2 after the operation cycle Tr of each monitoring unit. The angle change amount of each servo motor for controlling the current position and posture P1 of TCP to the position and posture after the operation cycle Tr so that the calculated speed Vi of each monitoring unit is equal to or less than the reference speed Vlm. Δθk is lowered. Then, the angle θk2 after the operation period Tr of each servo motor is calculated based on the reduced angle change amount Δθk of each servo motor and the current angle θk1 of each servo motor. Then, the position and orientation P2 after the TCP operation cycle Tr are updated with the TCP position and orientation obtained by forward-converting the calculated angle θk2. Then, each servo motor is driven so that the current position and orientation P1 of TCP is controlled after the operation cycle Tr to the updated position and orientation P2. As a result, the angular speed at which each servo motor is driven can be reduced, and not only the TCP that is the control point, but also the speed of each monitoring unit can be reduced to the reference speed Vlm or less. Therefore, the moving speed of the arm can be sufficiently suppressed.

また、各サーボモータの角度変化量Δθkが算出され、各監視部の速度Viが基準速度Vlm以下となるように各サーボモータの角度変化量Δθkが低下させられる。このため、全てのサーボモータの角速度を的確に低下させることができ、アームの移動速度の抑制効果を高めることができる。これにより、ロボットの安全性をより高めることができる。   Further, the angle change amount Δθk of each servo motor is calculated, and the angle change amount Δθk of each servo motor is reduced so that the speed Vi of each monitoring unit is equal to or less than the reference speed Vlm. For this reason, the angular velocities of all the servomotors can be accurately reduced, and the effect of suppressing the movement speed of the arm can be enhanced. Thereby, the safety | security of a robot can be improved more.

さらに、角度変化量Δθkとアームの移動速度(具体的には、各監視部の速度)とは、高い相関関係にある。このため、角度変化量Δθkを低下させると、角度変化量Δθkの低下分に比例した分だけ確実にアームの移動速度が低下する。したがって、アームの移動速度を低下させるつもりで角度変化量Δθkを低下させたにもかかわらず、アームの移動速度が意図した程度まで低下しておらず、角度変化量Δθkを再度低下させることになるといったことが抑制される。これにより、角度変化量Δθkを低下させる処理の繰り返しが抑制されたり、アームの移動速度の減速確認処理が簡易になったりする等、アームの移動速度を抑制するためのプログラムを簡易にすることができる。   Further, the angle change amount Δθk and the moving speed of the arm (specifically, the speed of each monitoring unit) are highly correlated. Therefore, when the angle change amount Δθk is reduced, the moving speed of the arm is surely reduced by an amount proportional to the decrease amount of the angle change amount Δθk. Therefore, even though the angle change amount Δθk is reduced to reduce the arm movement speed, the arm movement speed is not reduced to the intended level, and the angle change amount Δθk is reduced again. Is suppressed. As a result, it is possible to simplify the program for suppressing the arm movement speed, such as suppressing the repetition of the process of reducing the angle change amount Δθk, or simplifying the arm movement speed deceleration confirmation process. it can.

・各サーボモータの角度変化量Δθkを、最大速度Vmxと基準速度Vlmとの比の値αで割ることにより、各サーボモータの角度変化量Δθkが低下させられる。このため、CP制御の動作軌道が直線であるか曲線であるかにかかわらず、TCPを動作軌道に維持できるように角度変化量Δθkを低下させることができる。   The angle change amount Δθk of each servo motor is reduced by dividing the angle change amount Δθk of each servo motor by the value α of the ratio between the maximum speed Vmx and the reference speed Vlm. Therefore, regardless of whether the CP control operation trajectory is a straight line or a curve, the angle change amount Δθk can be reduced so that the TCP can be maintained in the operation trajectory.

また、角度変化量Δθkを比の値αで割るといった簡単な演算を用いるため、角度変化量Δθkを容易に低下させることができる。さらに、角度変化量Δθkを比の値αで割るといった演算を用いるため、角度変化量Δθkを一定の法則から定まる比率で低下させることができ、角度変化量Δθkの低下分をオペレータが予測しやすくなる。   Further, since a simple calculation of dividing the angle change amount Δθk by the ratio value α is used, the angle change amount Δθk can be easily reduced. Further, since the calculation of dividing the angle change amount Δθk by the ratio value α is used, the angle change amount Δθk can be reduced at a ratio determined from a certain law, and the decrease in the angle change amount Δθk can be easily predicted by the operator. Become.

・各回転部を回転させる際に回転中心となる関節から最も離れた部分が、各回転部の監視部として設定される。このため、各回転部において、最も速度が高くなる可能性の高い部分を監視部に設定することができ、アームの移動速度を十分に抑制することができる。   The portion that is farthest from the joint that is the center of rotation when rotating each rotating unit is set as the monitoring unit of each rotating unit. For this reason, in each rotation part, the part with the highest possibility that speed becomes the highest can be set to a monitoring part, and the moving speed of an arm can fully be suppressed.

なお、上記実施形態を以下のように変更して実施することもできる。   Note that the above-described embodiment may be modified as follows.

・図3のS19において、最大速度Vmxが基準速度Vlmよりも高いか否か判定したが、最大速度Vmxが、基準速度Vlmよりも若干高く設定した判定速度よりも高いか否か判定してもよい。この場合は、アームの速度抑制制御を迅速に終了することができる。   In S19 of FIG. 3, it is determined whether or not the maximum speed Vmx is higher than the reference speed Vlm. However, even if it is determined whether or not the maximum speed Vmx is higher than a determination speed set slightly higher than the reference speed Vlm. Good. In this case, the arm speed suppression control can be completed quickly.

・図3のS22において、角度変化量Δθkを比の値αで割って角度変化量Δθkを低下させたが、角度変化量Δθkを比の値αよりも若干大きい値で割って角度変化量Δθkを低下させてもよい。この場合も、アームの速度抑制制御を迅速に終了することができる。   In S22 of FIG. 3, the angle change amount Δθk is divided by the ratio value α to reduce the angle change amount Δθk, but the angle change amount Δθk is divided by a value slightly larger than the ratio value α to obtain the angle change amount Δθk. May be reduced. Also in this case, the arm speed suppression control can be completed quickly.

・基準速度Vlmとして、JISやISO等の規格により規定された250mm/sを用いたが、それよりも若干低い速度、例えば230mm/sを基準速度Vlmとして用いてもよい。この場合、アームの移動速度を、確実かつ容易に250mm/sよりも低下させることができる。   -Although 250 mm / s prescribed | regulated by standards, such as JIS and ISO, was used as reference speed Vlm, you may use a slightly lower speed, for example, 230 mm / s as reference speed Vlm. In this case, the moving speed of the arm can be reliably and easily reduced to less than 250 mm / s.

・垂直多関節型のロボット10に代えて、水平多関節型のロボット等を採用することもできる。   A horizontal articulated robot or the like may be employed instead of the vertical articulated robot 10.

10…ロボット、13…回転部、15…下アーム、16…上アーム、16A…第1上アーム、16B…第2上アーム、17…手首部、18…ハンド部、30…コントローラ。   DESCRIPTION OF SYMBOLS 10 ... Robot, 13 ... Rotating part, 15 ... Lower arm, 16 ... Upper arm, 16A ... 1st upper arm, 16B ... 2nd upper arm, 17 ... Wrist part, 18 ... Hand part, 30 ... Controller.

Claims (8)

複数の回転部と、前記回転部を互いに回転可能に連結する関節と、前記各回転部を駆動するサーボモータと、を含むアームを備えるロボットに適用され、前記アームの先端部を制御点として設定し、前記制御点を目標位置まで動作させる際に動作軌道を設定するCP制御により前記制御点の位置及び姿勢を制御するロボットの制御装置であって、
前記制御点の動作周期後の位置及び姿勢を算出する制御位置算出手段と、
前記各回転部に設定された監視部の現在の位置を算出する現在監視位置算出手段と、
前記制御位置算出手段により算出された前記制御点の動作周期後の位置及び姿勢に基づいて、前記各監視部の動作周期後の位置を算出する次周期監視位置算出手段と、
前記現在監視位置算出手段により算出された前記各監視部の現在の位置と、前記次周期監視位置算出手段により算出された前記各監視部の動作周期後の位置とに基づいて、前記各監視部の速度を算出する速度算出手段と、
前記制御点の現在の位置及び姿勢を、前記制御位置算出手段により算出された前記制御点の動作周期後の位置及び姿勢まで制御するための前記各サーボモータの角度変化量を算出する角度変化量算出手段と、
前記速度算出手段により算出された前記各監視部の速度のうち最大の速度が基準速度よりも高いことを条件として、前記各監視部の速度が前記基準速度以下となるように、前記角度変化量算出手段により算出された前記各サーボモータの角度変化量を低下させる低下手段と、
前記低下手段により低下させられた前記角度変化量と、前記各サーボモータの現在の角度とに基づいて、前記各サーボモータの動作周期後の角度を算出する角度算出手段と、
前記角度算出手段により算出された前記各サーボモータの動作周期後の角度を順変換することで得られる前記制御点の位置及び姿勢で、前記制御位置算出手段により算出された前記制御点の動作周期後の位置及び姿勢を更新する更新手段と、
前記制御点の現在の位置及び姿勢が、前記更新手段によって更新された前記制御点の位置及び姿勢まで前記動作周期後に制御されるように、前記各サーボモータを駆動させる駆動手段と、を備えることを特徴とするロボットの制御装置。
The present invention is applied to a robot including an arm including a plurality of rotating units, a joint that rotatably connects the rotating units to each other, and a servo motor that drives the rotating units, and the tip of the arm is set as a control point. A control device for a robot that controls the position and orientation of the control point by CP control for setting an operation trajectory when the control point is moved to a target position;
Control position calculating means for calculating the position and orientation of the control point after the operation cycle;
Current monitoring position calculating means for calculating the current position of the monitoring unit set in each of the rotating units;
Next cycle monitoring position calculating means for calculating the position after the operation cycle of each monitoring unit based on the position and orientation after the operation cycle of the control point calculated by the control position calculating means;
Based on the current position of each monitoring unit calculated by the current monitoring position calculating unit and the position after the operation cycle of each monitoring unit calculated by the next cycle monitoring position calculating unit, the monitoring units Speed calculating means for calculating the speed of
Angle change amount for calculating the angle change amount of each servo motor for controlling the current position and posture of the control point to the position and posture after the operation cycle of the control point calculated by the control position calculation means A calculation means;
The angle change amount is set so that the speed of each of the monitoring units is equal to or lower than the reference speed on condition that the maximum speed among the speeds of the monitoring units calculated by the speed calculation unit is higher than a reference speed. Reduction means for reducing the angle change amount of each servo motor calculated by the calculation means;
An angle calculation means for calculating an angle after an operation cycle of each servo motor based on the angle change amount reduced by the reduction means and a current angle of each servo motor;
The operation period of the control point calculated by the control position calculation means with the position and orientation of the control point obtained by forward-converting the angle after the operation period of each servo motor calculated by the angle calculation means Updating means for updating the later position and orientation;
Drive means for driving each servo motor so that the current position and orientation of the control point are controlled after the operation cycle to the position and orientation of the control point updated by the update means. A robot control device characterized by the above.
前記低下手段は、前記最大の速度と前記基準速度との比の値に基づいて、前記各サーボモータの角度変化量を低下させる請求項1に記載のロボットの制御装置。   2. The robot control apparatus according to claim 1, wherein the lowering unit lowers an angle change amount of each servo motor based on a value of a ratio between the maximum speed and the reference speed. 前記低下手段は、前記各サーボモータの角度変化量を前記比の値で割ることにより、前記各サーボモータの角度変化量を低下させる請求項2に記載のロボットの制御装置。   The robot control apparatus according to claim 2, wherein the reduction unit reduces the angle change amount of each servo motor by dividing the angle change amount of each servo motor by the value of the ratio. 前記各回転部を回転させる際に回転中心となる前記関節から最も離れた部分を、前記各回転部の前記監視部として設定する請求項1〜3のいずれか1項に記載のロボットの制御装置。   The robot control device according to any one of claims 1 to 3, wherein a portion farthest from the joint, which is a rotation center when rotating each rotating unit, is set as the monitoring unit of each rotating unit. . 前記速度算出手段は、前記各監視部の現在の位置と前記各監視部の動作周期後の位置との距離を前記動作周期で割ることにより前記各監視部の速度を算出する請求項1〜4のいずれか1項に記載のロボットの制御装置。   The speed calculation means calculates the speed of each monitoring unit by dividing the distance between the current position of each monitoring unit and the position after the operation cycle of each monitoring unit by the operation cycle. The robot control device according to any one of the above. 前記次周期監視位置算出手段は、前記制御点の動作周期後の位置及び姿勢を逆変換することで得られる前記各サーボモータの動作周期後の角度と、前記各回転部の大きさとに基づいて、前記各監視部の動作周期後の位置を算出する請求項1〜5のいずれか1項に記載のロボットの制御装置。   The next cycle monitoring position calculation means is based on the angle after the operation cycle of each servo motor obtained by inversely converting the position and posture after the operation cycle of the control point, and the size of each rotation unit. The robot control device according to claim 1, wherein the position of each monitoring unit after the operation cycle is calculated. 前記角度変化量算出手段は、前記制御点の動作周期後の位置及び姿勢を逆変換することで得られる前記各サーボモータの動作周期後の角度と、前記各サーボモータの現在の角度との差分を前記角度変化量として算出する請求項1〜6のいずれか1項に記載のロボットの制御装置。   The angle change amount calculation means is a difference between an angle after the operation cycle of each servo motor obtained by inversely converting a position and posture after the operation cycle of the control point, and a current angle of each servo motor. The robot control apparatus according to claim 1, wherein the angle change amount is calculated as the angle change amount. 複数の回転部と、前記回転部を互いに回転可能に連結する関節と、前記各回転部を駆動するサーボモータと、を含むアームを備えるロボットに適用され、前記アームの先端部を制御点として設定し、前記制御点を目標位置まで動作させる際に動作軌道を設定するCP制御により前記制御点の位置及び姿勢を制御するロボットの制御方法であって、
前記制御点の動作周期後の位置及び姿勢を算出する制御位置算出工程と、
前記各回転部に設定された監視部の現在の位置を算出する現在監視位置算出工程と、
前記制御位置算出工程により算出された前記制御点の動作周期後の位置及び姿勢に基づいて、前記各監視部の動作周期後の位置を算出する次周期監視位置算出工程と、
前記現在監視位置算出工程により算出された前記各監視部の現在の位置と、前記次周期監視位置算出工程により算出された前記各監視部の動作周期後の位置とに基づいて、前記各監視部の速度を算出する速度算出工程と、
前記制御点の現在の位置及び姿勢を、前記制御位置算出工程により算出された前記制御点の動作周期後の位置及び姿勢まで制御するための前記各サーボモータの角度変化量を算出する角度変化量算出工程と、
前記速度算出工程により算出された前記各監視部の速度のうち最大の速度が基準速度よりも高いことを条件として、前記各監視部の速度が前記基準速度以下となるように、前記角度変化量算出工程により算出された前記各サーボモータの角度変化量を低下させる低下工程と、
前記低下工程により低下させられた前記角度変化量と、前記各サーボモータの現在の角度とに基づいて、前記各サーボモータの動作周期後の角度を算出する角度算出工程と、
前記角度算出工程により算出された前記各サーボモータの動作周期後の角度を順変換することで得られる前記制御点の位置及び姿勢で、前記制御位置算出工程により算出された前記制御点の動作周期後の位置及び姿勢を更新する更新工程と、
前記制御点の現在の位置及び姿勢が、前記更新工程によって更新された前記制御点の位置及び姿勢まで前記動作周期後に制御されるように、前記各サーボモータを駆動させる駆動工程と、を備えることを特徴とするロボットの制御方法。
The present invention is applied to a robot including an arm including a plurality of rotating units, a joint that rotatably connects the rotating units to each other, and a servo motor that drives the rotating units, and the tip of the arm is set as a control point. A control method for a robot that controls the position and orientation of the control point by CP control for setting an operation trajectory when the control point is moved to a target position,
A control position calculation step of calculating a position and orientation after an operation cycle of the control point;
A current monitoring position calculating step for calculating a current position of the monitoring unit set in each of the rotating units;
A next cycle monitoring position calculation step of calculating a position after the operation cycle of each monitoring unit based on the position and posture after the operation cycle of the control point calculated by the control position calculation step;
Based on the current position of each monitoring unit calculated by the current monitoring position calculation step and the position after the operation cycle of each monitoring unit calculated by the next cycle monitoring position calculation step, each monitoring unit A speed calculating step for calculating the speed of
Angle change amount for calculating the angle change amount of each servo motor for controlling the current position and posture of the control point to the position and posture after the operation cycle of the control point calculated by the control position calculation step A calculation process;
The angle change amount is set so that the speed of each monitoring unit is equal to or less than the reference speed on condition that the maximum speed among the speeds of each monitoring unit calculated by the speed calculation step is higher than a reference speed. A reduction step of reducing the angle change amount of each servo motor calculated by the calculation step;
An angle calculation step of calculating an angle after an operation cycle of each servo motor based on the amount of change in angle reduced by the reduction step and the current angle of each servo motor;
The operation cycle of the control point calculated by the control position calculation step with the position and orientation of the control point obtained by forward-converting the angle after the operation cycle of each servo motor calculated by the angle calculation step An update process for updating the later position and orientation;
A driving step of driving each servo motor so that the current position and orientation of the control point are controlled after the operation cycle to the position and orientation of the control point updated by the updating step. A method for controlling a robot characterized by the above.
JP2015024028A 2015-02-10 2015-02-10 Robot control apparatus, and control method Pending JP2016147321A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015024028A JP2016147321A (en) 2015-02-10 2015-02-10 Robot control apparatus, and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015024028A JP2016147321A (en) 2015-02-10 2015-02-10 Robot control apparatus, and control method

Publications (1)

Publication Number Publication Date
JP2016147321A true JP2016147321A (en) 2016-08-18

Family

ID=56691013

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015024028A Pending JP2016147321A (en) 2015-02-10 2015-02-10 Robot control apparatus, and control method

Country Status (1)

Country Link
JP (1) JP2016147321A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002066210A1 (en) * 2001-02-22 2002-08-29 Mitsubishi Denki Kabushiki Kaisha Robot control device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002066210A1 (en) * 2001-02-22 2002-08-29 Mitsubishi Denki Kabushiki Kaisha Robot control device

Similar Documents

Publication Publication Date Title
JP6379853B2 (en) Robot control apparatus and control method
US11116593B2 (en) Robot system
KR101660064B1 (en) Method for allowing a manipulator to cover a predetermined trajectory, and control device for carrying out said method
US9481088B2 (en) Robot control device, robot, and robot system
WO2019107454A1 (en) Skill transferring machinery
JP5346217B2 (en) Multi-axis robot and its speed control device
JP2015030078A (en) Robot device and robot control method
JP2016028842A (en) Actuator system
JP2017061022A (en) Controller of robot
JP2018069410A (en) Robot control device having learning control function
CN109414820A (en) Method of operation, computer program and the robot system of robot
JP4498061B2 (en) Welding robot controller
US11878423B2 (en) Robot system
JP2016147322A (en) Robot control apparatus, and control method
JP2016147321A (en) Robot control apparatus, and control method
JP6497102B2 (en) Robot control apparatus and control method
JP5904445B2 (en) Robot controller
JP5978890B2 (en) Robot motion program correction device
JP6497101B2 (en) Robot control apparatus and control method
JP6547319B2 (en) Robot control device and control method
JP5633268B2 (en) Robot control device
CN111699079B (en) Coordination system, operation device and method
JP6547320B2 (en) Robot control device and control method
JP6429977B2 (en) Robot apparatus and robot control method
JP6252272B2 (en) Position error suppression method for vertical articulated robot

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171012

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181030

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190528